{ "consumes": [ "application/json" ], "produces": [ "application/json" ], "schemes": [ "https" ], "swagger": "2.0", "info": { "title": "Webitel API", "contact": { "name": "Webitel", "url": "https://webitel.com", "email": "support@webitel.com" }, "license": { "name": "MIT" }, "version": "24.04.0" }, "host": "dev.webitel.com", "basePath": "/api", "paths": { "/acl/{object.name}/{object.id}": { "get": { "tags": [ "AccessStore" ], "summary": "default: TODO: indicate objclass=default as a default rights repo", "operationId": "ListDefaultAccess", "parameters": [ { "type": "string", "description": "display name", "name": "object.name", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "identifier", "name": "object.id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "--- filters ---\n\n[optional] [FROM] each rule owner is any of role(s) id; user -or- role", "name": "grantor", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "[optional] [TO] subject role(s) id; user -or- role", "name": "grantee", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "[xrwdxrwd] [R]ecord-[b]ased-[A]ccess-[C]ontrol level check(!)", "name": "granted", "in": "query" }, { "type": "string", "description": "[optional] [TO] subject.name ILIKE ?q=; user -or- role", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "----- Select Options -------------------------\n\nattributes list", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "e.g.: \"updated_at\" - ASC; \"!updated_at\" - DESC;", "name": "sort", "in": "query" }, { "type": "integer", "format": "int32", "description": "pagedResultsControl\n\ndefault: 16", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "default: 1", "name": "page", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiListAccessResponseV1" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/acl/{object.name}/{object.id}/grantor/{grantor}": { "patch": { "tags": [ "AccessStore" ], "summary": "Same as UpdateAccess except for DEFAULT access control system", "operationId": "ToggleDefaultAccess", "parameters": [ { "type": "string", "description": "display name", "name": "object.name", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "identifier", "name": "object.id", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "[FOR] creator user/role", "name": "grantor", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/AccessStoreToggleDefaultAccessBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiToggleDefaultAccessResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/agent/chats": { "get": { "tags": [ "AgentChatService" ], "operationId": "AgentChatService_GetAgentChats", "parameters": [ { "type": "integer", "format": "int32", "description": "default", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "boolean", "description": "filter", "name": "only_closed", "in": "query" }, { "type": "boolean", "name": "only_unprocessed", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.chat.GetAgentChatsResponse" } } } } }, "/agent/chats/counter": { "get": { "tags": [ "AgentChatService" ], "operationId": "AgentChatService_GetAgentChatsCounter", "parameters": [ { "type": "boolean", "name": "only_closed", "in": "query" }, { "type": "boolean", "name": "only_unprocessed", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.chat.GetAgentChatsCounterResponse" } } } } }, "/agent/chats/{chat_id}": { "patch": { "tags": [ "AgentChatService" ], "operationId": "AgentChatService_MarkChatProcessed", "parameters": [ { "type": "string", "name": "chat_id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.chat.MarkChatProcessedResponse" } } } } }, "/agents/{agent_id}/exports/archive/screenrecordings": { "get": { "tags": [ "PdfService" ], "summary": "Streams original screen recording videos packed into a ZIP archive.\nThe archive is assembled on the fly without creating a temporary file.", "operationId": "DownloadScreenrecordingArchive", "parameters": [ { "type": "string", "format": "int64", "description": "Unique identifier of the agent.", "name": "agent_id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "Optional IDs of selected recordings.", "name": "file_ids", "in": "query" }, { "type": "string", "format": "int64", "description": "Start of the uploaded_at range (Unix millis).", "name": "from", "in": "query" }, { "type": "string", "format": "int64", "description": "End of the uploaded_at range (Unix millis).", "name": "to", "in": "query" } ], "responses": { "200": { "description": "A successful response.(streaming responses)", "schema": { "type": "object", "title": "Stream result of webitel_media_exporter.DownloadScreenrecordingArchiveResponse", "properties": { "error": { "$ref": "#/definitions/google.rpc.Status" }, "result": { "$ref": "#/definitions/webitel_media_exporter.DownloadScreenrecordingArchiveResponse" } } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/agents/{agent_id}/exports/archive/screenshots": { "get": { "tags": [ "PdfService" ], "summary": "Streams original screenshots packed into a ZIP archive.\nThe archive is assembled on the fly without creating a temporary file.", "operationId": "DownloadScreenshotArchive", "parameters": [ { "type": "string", "format": "int64", "description": "Unique identifier of the agent.", "name": "agent_id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "Optional IDs of selected screenshots.", "name": "file_ids", "in": "query" }, { "type": "string", "format": "int64", "description": "Start of the uploaded_at range (Unix millis).", "name": "from", "in": "query" }, { "type": "string", "format": "int64", "description": "End of the uploaded_at range (Unix millis).", "name": "to", "in": "query" } ], "responses": { "200": { "description": "A successful response.(streaming responses)", "schema": { "type": "object", "title": "Stream result of webitel_media_exporter.DownloadScreenshotArchiveResponse", "properties": { "error": { "$ref": "#/definitions/google.rpc.Status" }, "result": { "$ref": "#/definitions/webitel_media_exporter.DownloadScreenshotArchiveResponse" } } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/agents/{agent_id}/exports/pdf/screenrecordings": { "get": { "tags": [ "PdfService" ], "summary": "Lists the history of PDF exports for a specific agent.", "operationId": "ListScreenrecordingExports", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number (1-based).", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Number of items per page.", "name": "size", "in": "query" }, { "type": "string", "description": "sorting criteria, e.g. \"+created_at\" or \"-name\"", "name": "sort", "in": "query" }, { "type": "string", "format": "int64", "name": "uploaded_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "uploaded_at.to", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel_media_exporter.ListExportsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "PdfService" ], "summary": "Creates a new task to generate a PDF export for an agent's screen recordings.\nThis operation is asynchronous and returns a task metadata.", "operationId": "CreateScreenrecordingExport", "parameters": [ { "type": "string", "format": "int64", "description": "Unique identifier of the agent.", "name": "agent_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel_media_exporter.PdfService.CreateScreenrecordingExportBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel_media_exporter.ExportTask" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calendars": { "get": { "tags": [ "CalendarService" ], "summary": "List of calendar", "operationId": "SearchCalendar", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListCalendar" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "CalendarService" ], "summary": "Create calendar", "operationId": "CreateCalendar", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateCalendarRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Calendar" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calendars/timezones": { "get": { "tags": [ "CalendarService" ], "summary": "List timezones", "operationId": "SearchTimezones", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListTimezoneResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calendars/{id}": { "get": { "tags": [ "CalendarService" ], "summary": "Calendar item", "operationId": "ReadCalendar", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Calendar" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "CalendarService" ], "summary": "Update calendar", "operationId": "UpdateCalendar", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CalendarService.UpdateCalendarBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Calendar" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "CalendarService" ], "summary": "Remove calendar", "operationId": "DeleteCalendar", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Calendar" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/agents": { "get": { "tags": [ "AgentService" ], "summary": "List of Agent", "operationId": "SearchAgent", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "allow_channels", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "supervisor_id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "team_id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "region_id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "auditor_id", "in": "query" }, { "type": "boolean", "name": "is_supervisor", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "skill_id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "queue_id", "in": "query" }, { "type": "boolean", "name": "not_supervisor", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "user_id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "extension", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "not_team_id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "not_skill_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "not_user_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListAgent" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "AgentService" ], "summary": "Create Agent", "operationId": "CreateAgent", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateAgentRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Agent" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/agents/chat_tags": { "get": { "tags": [ "AgentChatTagService" ], "operationId": "SearchAgentChatTag", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListChatTag" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/agents/reports/call": { "get": { "tags": [ "AgentService" ], "operationId": "SearchAgentCallStatistics", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "format": "int64", "name": "time.from", "in": "query" }, { "type": "string", "format": "int64", "name": "time.to", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "agent_id", "in": "query" }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "string", "name": "sort", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AgentCallStatisticsList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/agents/reports/status": { "get": { "tags": [ "AgentService" ], "operationId": "SearchAgentStatusStatistic", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "agent_id", "in": "query" }, { "type": "string", "format": "int64", "name": "time.from", "in": "query" }, { "type": "string", "format": "int64", "name": "time.to", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "status", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "queue_id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "team_id", "in": "query" }, { "type": "string", "format": "int64", "name": "utilization.from", "in": "query" }, { "type": "string", "format": "int64", "name": "utilization.to", "in": "query" }, { "type": "boolean", "name": "has_call", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "skill_id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "region_id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "supervisor_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "auditor_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListAgentStatsStatistic" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/agents/reports/status/{agent_id}": { "get": { "tags": [ "AgentService" ], "operationId": "SearchAgentStatusStatisticItem", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "time.from", "in": "query" }, { "type": "string", "format": "int64", "name": "time.to", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AgentStatusStatisticItem" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/agents/states/history": { "get": { "tags": [ "AgentService" ], "operationId": "SearchAgentStateHistory", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "format": "int64", "name": "joined_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "joined_at.to", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "agent_id", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" }, { "type": "string", "format": "int64", "name": "from_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListAgentStateHistory" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/agents/{agent_id}/pause_causes": { "get": { "tags": [ "AgentService" ], "operationId": "SearchPauseCauseForAgent", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "type": "boolean", "name": "allow_change", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ForAgentPauseCauseList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/agents/{agent_id}/skills": { "get": { "tags": [ "AgentSkillService" ], "summary": "List of AgentSkill", "operationId": "SearchAgentSkill", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "skill_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListAgentSkill" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "AgentSkillService" ], "summary": "Create AgentSkill", "operationId": "CreateAgentSkill", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.AgentSkillService.CreateAgentSkillBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AgentSkill" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "AgentSkillService" ], "operationId": "DeleteAgentSkills", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "skill_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListAgentSkill" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "AgentSkillService" ], "operationId": "PatchAgentSkills", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.AgentSkillService.PatchAgentSkillsBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListAgentSkill" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/agents/{agent_id}/skills/bulk": { "post": { "tags": [ "AgentSkillService" ], "operationId": "CreateAgentSkills", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.AgentSkillService.CreateAgentSkillsBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.CreateAgentSkillsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/agents/{agent_id}/skills/{id}": { "get": { "tags": [ "AgentSkillService" ], "summary": "AgentSkill item", "operationId": "ReadAgentSkill", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AgentSkill" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "AgentSkillService" ], "summary": "Update AgentSkill", "operationId": "UpdateAgentSkill", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.AgentSkillService.UpdateAgentSkillBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AgentSkill" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "AgentSkillService" ], "summary": "Remove AgentSkill", "operationId": "DeleteAgentSkill", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AgentSkill" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "AgentSkillService" ], "operationId": "PatchAgentSkill", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.AgentSkillService.PatchAgentSkillBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AgentSkill" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/agents/{agent_id}/states/history": { "get": { "tags": [ "AgentService" ], "operationId": "AgentStateHistory", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "format": "int64", "name": "time_from", "in": "query" }, { "type": "string", "format": "int64", "name": "time_to", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListAgentStateHistory" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/agents/{agent_id}/states/waiting": { "patch": { "tags": [ "AgentService" ], "operationId": "AgentSetState", "parameters": [ { "type": "integer", "format": "int32", "name": "agent_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.AgentService.AgentSetStateBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AgentSetStateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/agents/{agent_id}/statistics/queues": { "get": { "tags": [ "AgentService" ], "operationId": "SearchAgentInQueueStatistics", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AgentInQueueStatisticsList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/agents/{agent_id}/statistics/today": { "get": { "tags": [ "AgentService" ], "operationId": "AgentTodayStatistics", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AgentTodayStatisticsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/agents/{id}": { "get": { "tags": [ "AgentService" ], "summary": "Agent item", "operationId": "ReadAgent", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Agent" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "AgentService" ], "summary": "Update Agent", "operationId": "UpdateAgent", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.AgentService.UpdateAgentBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Agent" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "AgentService" ], "summary": "Remove Agent", "operationId": "DeleteAgent", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Agent" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "AgentService" ], "summary": "Update Agent", "operationId": "PatchAgent", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.AgentService.PatchAgentBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Agent" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/agents/{id}/queues": { "get": { "tags": [ "AgentService" ], "summary": "Searches queues where the specified agent is assigned.\nSupports pagination, sorting and free-text search.", "operationId": "SearchAgentInQueue", "parameters": [ { "type": "string", "format": "int64", "description": "Unique identifier of the agent.", "name": "id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number (1-based).", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Maximum number of records per page.", "name": "size", "in": "query" }, { "type": "string", "description": "Free-text search query.\nTypically applied to queue name.", "name": "q", "in": "query" }, { "type": "string", "description": "Sorting expression.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of fields to be returned in the response.\nUsed for response projection and payload optimization.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListAgentInQueue" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/agents/{id}/status": { "patch": { "tags": [ "AgentService" ], "summary": "Change agent status", "operationId": "UpdateAgentStatus", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.AgentService.UpdateAgentStatusBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Response" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/agents/{id}/teams": { "get": { "tags": [ "AgentService" ], "summary": "todo deprecated ?", "operationId": "SearchAgentInTeam", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListAgentInTeam" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/attempts/history/mutate": { "patch": { "tags": [ "MemberService" ], "operationId": "MutateHistoryAttemptResult", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.MutateHistoryAttemptResultRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.MutateHistoryAttemptResultResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/attempts/{attempt_id}": { "patch": { "tags": [ "MemberService" ], "operationId": "AttemptCallback", "parameters": [ { "type": "string", "format": "int64", "name": "attempt_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.MemberService.AttemptCallbackBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AttemptResultResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/audit/forms": { "get": { "tags": [ "AuditFormService" ], "operationId": "SearchAuditForm", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "team_id", "in": "query" }, { "type": "boolean", "name": "enabled", "in": "query" }, { "type": "boolean", "description": "bool archive = 9;\n\nbool active = 11; // not archive", "name": "editable", "in": "query" }, { "type": "string", "name": "question", "in": "query" }, { "type": "integer", "format": "int32", "description": "expects userID to filter by user's team", "name": "team_filter", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListAuditForm" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "AuditFormService" ], "operationId": "CreateAuditForm", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateAuditFormRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AuditForm" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/audit/forms/{form_id}/rate": { "get": { "tags": [ "AuditFormService" ], "operationId": "SearchAuditRate", "parameters": [ { "type": "integer", "format": "int32", "name": "form_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "string", "format": "int64", "name": "created_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "created_at.to", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "call_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "rated_user", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "conversation_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListAuditRate" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/audit/forms/{id}": { "get": { "tags": [ "AuditFormService" ], "operationId": "ReadAuditForm", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AuditForm" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "AuditFormService" ], "operationId": "UpdateAuditForm", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.AuditFormService.UpdateAuditFormBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AuditForm" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "AuditFormService" ], "operationId": "DeleteAuditForm", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AuditForm" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "AuditFormService" ], "operationId": "PatchAuditForm", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.AuditFormService.PatchAuditFormBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AuditForm" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/audit/rate": { "post": { "tags": [ "AuditFormService" ], "operationId": "CreateAuditFormRate", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateAuditFormRateRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AuditRate" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/audit/rate/{id}": { "get": { "tags": [ "AuditFormService" ], "operationId": "ReadAuditRate", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AuditRate" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "AuditFormService" ], "operationId": "UpdateAuditRate", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.AuditFormService.UpdateAuditRateBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AuditRate" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "AuditFormService" ], "operationId": "DeleteAuditRate", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AuditRate" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/buckets": { "get": { "tags": [ "BucketService" ], "summary": "List of Bucket", "operationId": "SearchBucket", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListBucket" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "BucketService" ], "summary": "Create Bucket", "operationId": "CreateBucket", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateBucketRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Bucket" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/buckets/{id}": { "get": { "tags": [ "BucketService" ], "summary": "Bucket item", "operationId": "ReadBucket", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Bucket" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "BucketService" ], "summary": "Update Bucket", "operationId": "UpdateBucket", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.BucketService.UpdateBucketBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Bucket" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "BucketService" ], "summary": "Remove Bucket", "operationId": "DeleteBucket", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Bucket" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/communication_type": { "get": { "tags": [ "CommunicationTypeService" ], "summary": "List of CommunicationType", "operationId": "SearchCommunicationType", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "enum": [ "Undefined", "Phone", "Email", "Messaging" ], "type": "string" }, "collectionFormat": "multi", "name": "channel", "in": "query" }, { "type": "boolean", "name": "default", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListCommunicationType" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "CommunicationTypeService" ], "summary": "Create CommunicationType", "operationId": "CreateCommunicationType", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CommunicationTypeRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.CommunicationType" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/communication_type/{id}": { "get": { "tags": [ "CommunicationTypeService" ], "summary": "CommunicationType item", "operationId": "ReadCommunicationType", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.CommunicationType" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "CommunicationTypeService" ], "summary": "Update CommunicationType", "operationId": "UpdateCommunicationType", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CommunicationTypeService.UpdateCommunicationTypeBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.CommunicationType" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "CommunicationTypeService" ], "summary": "Remove CommunicationType", "operationId": "DeleteCommunicationType", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.CommunicationType" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "CommunicationTypeService" ], "operationId": "PatchCommunicationType", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CommunicationTypeService.PatchCommunicationTypeBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.CommunicationType" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/list": { "get": { "tags": [ "ListService" ], "summary": "List of List", "operationId": "SearchList", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListOfList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "ListService" ], "summary": "Create List", "operationId": "CreateList", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateListRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.List" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/list/{id}": { "get": { "tags": [ "ListService" ], "summary": "List item", "operationId": "ReadList", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.List" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "ListService" ], "summary": "Update list", "operationId": "UpdateList", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.ListService.UpdateListBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.List" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "ListService" ], "summary": "Remove list", "operationId": "DeleteList", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.List" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/list/{list_id}/communication": { "get": { "tags": [ "ListService" ], "summary": "List of List", "operationId": "SearchListCommunication", "parameters": [ { "type": "string", "format": "int64", "name": "list_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "string", "format": "int64", "name": "expire_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "expire_at.to", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListOfListCommunication" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "ListService" ], "summary": "Create ListCommunication", "operationId": "CreateListCommunication", "parameters": [ { "type": "string", "format": "int64", "name": "list_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.ListService.CreateListCommunicationBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListCommunication" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/list/{list_id}/communication/{id}": { "get": { "tags": [ "ListService" ], "summary": "List item", "operationId": "ReadListCommunication", "parameters": [ { "type": "string", "format": "int64", "name": "list_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListCommunication" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "ListService" ], "summary": "Update ListCommunication", "operationId": "UpdateListCommunication", "parameters": [ { "type": "string", "format": "int64", "name": "list_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.ListService.UpdateListCommunicationBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListCommunication" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "ListService" ], "summary": "Remove ListCommunication", "operationId": "DeleteListCommunication", "parameters": [ { "type": "string", "format": "int64", "name": "list_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListCommunication" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/lookups/agents/skills/{agent_id}": { "get": { "tags": [ "AgentSkillService" ], "summary": "SearchLookupAgentNotExistsSkill", "operationId": "SearchLookupAgentNotExistsSkill", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListSkill" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/lookups/agents/users": { "get": { "tags": [ "AgentService" ], "summary": "SearchLookupAgentNotExistsUser", "operationId": "SearchLookupUsersAgentNotExists", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListAgentUser" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/members": { "get": { "tags": [ "MemberService" ], "summary": "Search of Member", "operationId": "SearchMembers", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "queue_id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "bucket_id", "in": "query" }, { "type": "string", "name": "destination", "in": "query" }, { "type": "string", "format": "int64", "name": "created_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "created_at.to", "in": "query" }, { "type": "string", "format": "int64", "name": "offering_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "offering_at.to", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "stop_cause", "in": "query" }, { "type": "string", "format": "int64", "name": "priority.from", "in": "query" }, { "type": "string", "format": "int64", "name": "priority.to", "in": "query" }, { "type": "string", "name": "name", "in": "query" }, { "type": "string", "format": "int64", "name": "attempts.from", "in": "query" }, { "type": "string", "format": "int64", "name": "attempts.to", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "agent_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListMember" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/members/{id}": { "patch": { "tags": [ "MemberService" ], "operationId": "PatchMemberOne", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.MemberService.PatchMemberOneBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.MemberInQueue" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/online_skills": { "get": { "description": "Returns online skills matching the specified search criteria.", "tags": [ "Online Skills" ], "summary": "Search online skills", "operationId": "SearchOnlineSkills", "parameters": [ { "type": "integer", "format": "int32", "description": "Page number (1-based).", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Maximum number of items per page.", "name": "size", "in": "query" }, { "type": "string", "description": "Search pattern applied to names.", "name": "q", "in": "query" }, { "type": "string", "description": "Sort expression.\nExample: \"-name\", \"+created_at\".", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of fields to include in the response.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "Filter by online skills identifiers.", "name": "ids", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "Filter by associated skill identifiers.", "name": "skill_ids", "in": "query" }, { "type": "boolean", "description": "Skip the default entry in the search results.", "name": "skip_default", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.SearchOnlineSkillsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "description": "Creates a new online skills entry with the specified name, description, and associated skills.", "tags": [ "Online Skills" ], "summary": "Create online skills", "operationId": "CreateOnlineSkills", "parameters": [ { "description": "Request for creating online skills.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateOnlineSkillsRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.CreateOnlineSkillsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/online_skills/{id}": { "get": { "description": "Returns an online skills entry identified by the specified ID.", "tags": [ "Online Skills" ], "summary": "Get online skills", "operationId": "GetOnlineSkills", "parameters": [ { "type": "string", "format": "int64", "description": "Online skills identifier.", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.GetOnlineSkillsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "description": "Replaces all editable properties of an existing online skills entry.", "tags": [ "Online Skills" ], "summary": "Update online skills", "operationId": "UpdateOnlineSkills", "parameters": [ { "type": "string", "format": "int64", "description": "Online skills identifier.", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.OnlineSkillsService.UpdateOnlineSkillsBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.UpdateOnlineSkillsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "description": "Deletes the specified online skills entries.", "tags": [ "Online Skills" ], "summary": "Delete online skills", "operationId": "DeleteOnlineSkills", "parameters": [ { "type": "string", "format": "int64", "description": "Identifiers of online skills to delete.", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "type": "object" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "description": "Updates one or more fields of an existing online skills entry.", "tags": [ "Online Skills" ], "summary": "Patch online skills", "operationId": "PatchOnlineSkills", "parameters": [ { "type": "string", "format": "int64", "description": "Online skills identifier.", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.OnlineSkillsService.PatchOnlineSkillsBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.PatchOnlineSkillsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/pause_causes": { "get": { "tags": [ "AgentPauseCauseService" ], "operationId": "SearchAgentPauseCause", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListAgentPauseCause" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "AgentPauseCauseService" ], "operationId": "CreateAgentPauseCause", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateAgentPauseCauseRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AgentPauseCause" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/pause_causes/{id}": { "get": { "tags": [ "AgentPauseCauseService" ], "operationId": "ReadAgentPauseCause", "parameters": [ { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AgentPauseCause" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "AgentPauseCauseService" ], "operationId": "UpdateAgentPauseCause", "parameters": [ { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.AgentPauseCauseService.UpdateAgentPauseCauseBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AgentPauseCause" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "AgentPauseCauseService" ], "operationId": "DeleteAgentPauseCause", "parameters": [ { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AgentPauseCause" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "AgentPauseCauseService" ], "operationId": "PatchAgentPauseCause", "parameters": [ { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.AgentPauseCauseService.PatchAgentPauseCauseBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AgentPauseCause" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/preset/query": { "get": { "tags": [ "PresetQueryService" ], "operationId": "SearchPresetQuery", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "section", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListPresetQuery" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "PresetQueryService" ], "operationId": "CreatePresetQuery", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreatePresetQueryRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.PresetQuery" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/preset/query/{id}": { "get": { "tags": [ "PresetQueryService" ], "operationId": "ReadPresetQuery", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.PresetQuery" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "PresetQueryService" ], "operationId": "UpdatePresetQuery", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.PresetQueryService.UpdatePresetQueryBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.PresetQuery" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "PresetQueryService" ], "operationId": "DeletePresetQuery", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.PresetQuery" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "PresetQueryService" ], "operationId": "PatchPresetQuery", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.PresetQueryService.PatchPresetQueryBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.PresetQuery" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues": { "get": { "tags": [ "QueueService" ], "summary": "List of Queue", "operationId": "SearchQueue", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "type", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "team_id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "tags", "in": "query" }, { "type": "boolean", "name": "enabled", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListQueue" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "QueueService" ], "summary": "Create Queue", "operationId": "CreateQueue", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateQueueRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Queue" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/attempts/active": { "get": { "tags": [ "MemberService" ], "summary": "SearchAttempts", "operationId": "SearchAttempts", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "string", "format": "int64", "name": "joined_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "joined_at.to", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "queue_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "bucket_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "member_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "agent_id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "result", "in": "query" }, { "type": "string", "format": "int64", "name": "leaving_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "leaving_at.to", "in": "query" }, { "type": "string", "format": "int64", "name": "offering_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "offering_at.to", "in": "query" }, { "type": "string", "format": "int64", "name": "duration.from", "in": "query" }, { "type": "string", "format": "int64", "name": "duration.to", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "offered_agent_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListAttempt" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/attempts/active/reset": { "put": { "tags": [ "MemberService" ], "operationId": "ResetActiveAttempts", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.ResetActiveAttemptsRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ResetActiveAttemptsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/attempts/history": { "get": { "tags": [ "MemberService" ], "summary": "SearchMemberAttempts", "operationId": "SearchAttemptsHistory", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "string", "format": "int64", "name": "joined_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "joined_at.to", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "queue_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "bucket_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "member_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "agent_id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "result", "in": "query" }, { "type": "string", "format": "int64", "name": "leaving_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "leaving_at.to", "in": "query" }, { "type": "string", "format": "int64", "name": "offering_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "offering_at.to", "in": "query" }, { "type": "string", "format": "int64", "name": "duration.from", "in": "query" }, { "type": "string", "format": "int64", "name": "duration.to", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "offered_agent_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListHistoryAttempt" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/attempts/{attempt_id}/assign": { "patch": { "tags": [ "MemberService" ], "operationId": "AssignAttempt", "parameters": [ { "type": "string", "format": "int64", "name": "attempt_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.MemberService.AssignAttemptBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AssignAttemptResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/attempts/{attempt_id}/renewal": { "patch": { "tags": [ "MemberService" ], "operationId": "AttemptsRenewalResult", "parameters": [ { "type": "string", "format": "int64", "name": "attempt_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.MemberService.AttemptsRenewalResultBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AttemptRenewalResultResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/members": { "delete": { "tags": [ "MemberService" ], "summary": "DeleteAllMembers", "operationId": "DeleteAllMembers", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.DeleteAllMembersRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListMember" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/reports/general": { "get": { "tags": [ "QueueService" ], "operationId": "SearchQueueReportGeneral", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "format": "int64", "name": "joined_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "joined_at.to", "in": "query" }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "queue_id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "team_id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "type", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListReportGeneral" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/state": { "get": { "tags": [ "QueueService" ], "operationId": "GetQueuesGlobalState", "parameters": [ { "type": "string", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "type", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "team_id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "tags", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.GetQueuesGlobalStateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "QueueService" ], "operationId": "SetQueuesGlobalState", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.SetQueuesGlobalStateRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.SetQueuesGlobalStateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/tags": { "get": { "tags": [ "QueueService" ], "summary": "List RoutingSchemaTags", "operationId": "SearchQueueTags", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListTags" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/{id}": { "get": { "tags": [ "QueueService" ], "summary": "Queue item", "operationId": "ReadQueue", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Queue" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "QueueService" ], "summary": "Update Queue", "operationId": "UpdateQueue", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.QueueService.UpdateQueueBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Queue" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "QueueService" ], "summary": "Remove Queue", "operationId": "DeleteQueue", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Queue" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "QueueService" ], "summary": "Patch Queue", "operationId": "PatchQueue", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.QueueService.PatchQueueBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Queue" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/{queue_id}/buckets": { "get": { "tags": [ "QueueBucketService" ], "summary": "SearchQueueRouting", "operationId": "SearchQueueBucket", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListQueueBucket" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "QueueBucketService" ], "summary": "Create QueueBucket", "operationId": "CreateQueueBucket", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.QueueBucketService.CreateQueueBucketBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QueueBucket" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/{queue_id}/buckets/{id}": { "get": { "tags": [ "QueueBucketService" ], "summary": "ReadQueueRouting", "operationId": "ReadQueueBucket", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QueueBucket" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "QueueBucketService" ], "summary": "UpdateQueueBucket", "operationId": "UpdateQueueBucket", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.QueueBucketService.UpdateQueueBucketBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QueueBucket" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "QueueBucketService" ], "summary": "DeleteQueueRouting", "operationId": "DeleteQueueBucket", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QueueBucket" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "QueueBucketService" ], "operationId": "PatchQueueBucket", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.QueueBucketService.PatchQueueBucketBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QueueBucket" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/{queue_id}/hooks": { "get": { "tags": [ "QueueHookService" ], "operationId": "SearchQueueHook", "parameters": [ { "type": "integer", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "schema_id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "event", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListQueueHook" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "QueueHookService" ], "operationId": "CreateQueueHook", "parameters": [ { "type": "integer", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.QueueHookService.CreateQueueHookBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QueueHook" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/{queue_id}/hooks/{id}": { "get": { "tags": [ "QueueHookService" ], "operationId": "ReadQueueHook", "parameters": [ { "type": "integer", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QueueHook" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "QueueHookService" ], "operationId": "UpdateQueueHook", "parameters": [ { "type": "integer", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.QueueHookService.UpdateQueueHookBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QueueHook" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "QueueHookService" ], "operationId": "DeleteQueueHook", "parameters": [ { "type": "integer", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QueueHook" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "QueueHookService" ], "operationId": "PatchQueueHook", "parameters": [ { "type": "integer", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.QueueHookService.PatchQueueHookBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QueueHook" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/{queue_id}/members": { "get": { "tags": [ "MemberService" ], "summary": "List of Member", "operationId": "SearchMemberInQueue", "parameters": [ { "type": "integer", "format": "int32", "name": "queue_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "bucket_id", "in": "query" }, { "type": "string", "name": "destination", "in": "query" }, { "type": "string", "format": "int64", "name": "created_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "created_at.to", "in": "query" }, { "type": "string", "format": "int64", "name": "offering_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "offering_at.to", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "stop_cause", "in": "query" }, { "type": "string", "format": "int64", "name": "priority.from", "in": "query" }, { "type": "string", "format": "int64", "name": "priority.to", "in": "query" }, { "type": "string", "name": "name", "in": "query" }, { "type": "string", "format": "int64", "name": "attempts.from", "in": "query" }, { "type": "string", "format": "int64", "name": "attempts.to", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "agent_id", "in": "query" }, { "type": "string", "description": "This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18", "name": "variables[string]", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListMember" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "MemberService" ], "summary": "Create Member", "operationId": "CreateMember", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.MemberService.CreateMemberBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.MemberInQueue" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "MemberService" ], "summary": "DeleteMembers", "operationId": "DeleteMembers", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.MemberService.DeleteMembersBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListMember" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/{queue_id}/members/bulk": { "post": { "tags": [ "MemberService" ], "summary": "Create Member", "operationId": "CreateMemberBulk", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.MemberService.CreateMemberBulkBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.MemberBulkResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/{queue_id}/members/export": { "get": { "tags": [ "MemberService" ], "summary": "Export Members of a queue as CSV or XLSX, streamed in chunks", "operationId": "ExportMembers", "parameters": [ { "type": "integer", "format": "int32", "name": "queue_id", "in": "path", "required": true }, { "type": "string", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "bucket_id", "in": "query" }, { "type": "string", "name": "destination", "in": "query" }, { "type": "string", "format": "int64", "name": "created_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "created_at.to", "in": "query" }, { "type": "string", "format": "int64", "name": "offering_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "offering_at.to", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "stop_cause", "in": "query" }, { "type": "string", "format": "int64", "name": "priority.from", "in": "query" }, { "type": "string", "format": "int64", "name": "priority.to", "in": "query" }, { "type": "string", "name": "name", "in": "query" }, { "type": "string", "format": "int64", "name": "attempts.from", "in": "query" }, { "type": "string", "format": "int64", "name": "attempts.to", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "agent_id", "in": "query" }, { "type": "string", "description": "This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18", "name": "variables[string]", "in": "query" }, { "type": "string", "description": "Export format: csv or xlsx", "name": "format", "in": "query" }, { "type": "string", "description": "Column separator, used only when format is csv", "name": "separator", "in": "query" } ], "responses": { "200": { "description": "A successful response.(streaming responses)", "schema": { "type": "object", "title": "Stream result of engine.ExportMembersResponse", "properties": { "error": { "$ref": "#/definitions/google.rpc.Status" }, "result": { "$ref": "#/definitions/engine.ExportMembersResponse" } } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/{queue_id}/members/reset": { "patch": { "tags": [ "MemberService" ], "summary": "ResetMembers", "operationId": "ResetMembers", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.MemberService.ResetMembersBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ResetMembersResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/{queue_id}/members/reset/count": { "get": { "tags": [ "MemberService" ], "summary": "Returns the number of queue members that match the specified\nreset criteria without performing the reset operation.\nCan be used to preview the impact of a reset request.", "operationId": "ResetMembersCount", "parameters": [ { "type": "string", "format": "int64", "description": "Identifier of the queue.", "name": "queue_id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "Filter by specific queue member identifiers.", "name": "ids", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "Filter by bucket identifiers.", "name": "bucket_id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Filter by stop causes.", "name": "stop_cause", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "description": "Filter by assigned agent identifiers.", "name": "agent_id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Filter by member phone numbers.", "name": "numbers", "in": "query" }, { "type": "string", "description": "This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18", "name": "variables[string]", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "Filter by related entity identifiers.", "name": "id", "in": "query" }, { "type": "string", "format": "int64", "name": "created_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "created_at.to", "in": "query" }, { "type": "string", "format": "int64", "name": "priority.from", "in": "query" }, { "type": "string", "format": "int64", "name": "priority.to", "in": "query" }, { "type": "string", "description": "Search pattern used to filter queue members.\nThe value is matched against the member name\nand against the member's searchable destination values.", "name": "q", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ResetMembersCountResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/{queue_id}/members/{id}": { "get": { "tags": [ "MemberService" ], "summary": "ReadQueueRouting", "operationId": "ReadMember", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.MemberInQueue" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "MemberService" ], "summary": "UpdateMember", "operationId": "UpdateMember", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.MemberService.UpdateMemberBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.MemberInQueue" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "MemberService" ], "summary": "DeleteMember", "operationId": "DeleteMember", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" }, { "type": "boolean", "name": "force", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.MemberInQueue" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "MemberService" ], "summary": "Patch Member", "operationId": "PatchMember", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.MemberService.PatchMemberBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.MemberInQueue" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/{queue_id}/members/{member_id}/attempts": { "get": { "tags": [ "MemberService" ], "summary": "SearchMemberAttempts", "operationId": "SearchMemberAttempts", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "member_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListMemberAttempt" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "MemberService" ], "summary": "Offline queue", "operationId": "CreateAttempt", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "member_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.MemberService.CreateAttemptBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.CreateAttemptResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/{queue_id}/members/{member_id}/attempts/{attempt_id}": { "patch": { "tags": [ "MemberService" ], "operationId": "AttemptResult", "parameters": [ { "type": "integer", "format": "int32", "name": "queue_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "member_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "attempt_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.MemberService.AttemptResultBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AttemptResultResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/{queue_id}/resource_groups": { "get": { "tags": [ "QueueResourcesService" ], "summary": "SearchQueueResourceGroup", "operationId": "SearchQueueResourceGroup", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListQueueResourceGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "QueueResourcesService" ], "summary": "CreateQueueResourceGroup", "operationId": "CreateQueueResourceGroup", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.QueueResourcesService.CreateQueueResourceGroupBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QueueResourceGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/{queue_id}/resource_groups/{id}": { "get": { "tags": [ "QueueResourcesService" ], "summary": "ReadQueueResourceGroup", "operationId": "ReadQueueResourceGroup", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QueueResourceGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "QueueResourcesService" ], "summary": "UpdateQueueResourceGroup", "operationId": "UpdateQueueResourceGroup", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.QueueResourcesService.UpdateQueueResourceGroupBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QueueResourceGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "QueueResourcesService" ], "summary": "DeleteQueueResourceGroup", "operationId": "DeleteQueueResourceGroup", "parameters": [ { "type": "string", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QueueResourceGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/{queue_id}/skills": { "get": { "tags": [ "QueueSkillService" ], "operationId": "SearchQueueSkill", "parameters": [ { "type": "integer", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "skill_id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "bucket_id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "lvl", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "min_capacity", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "max_capacity", "in": "query" }, { "type": "boolean", "name": "enabled", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListQueueSkill" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "QueueSkillService" ], "operationId": "CreateQueueSkill", "parameters": [ { "type": "integer", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.QueueSkillService.CreateQueueSkillBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QueueSkill" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/queues/{queue_id}/skills/{id}": { "get": { "tags": [ "QueueSkillService" ], "operationId": "ReadQueueSkill", "parameters": [ { "type": "integer", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QueueSkill" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "QueueSkillService" ], "operationId": "UpdateQueueSkill", "parameters": [ { "type": "integer", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.QueueSkillService.UpdateQueueSkillBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QueueSkill" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "QueueSkillService" ], "operationId": "DeleteQueueSkill", "parameters": [ { "type": "integer", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QueueSkill" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "QueueSkillService" ], "operationId": "PatchQueueSkill", "parameters": [ { "type": "integer", "format": "int64", "name": "queue_id", "in": "path", "required": true }, { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.QueueSkillService.PatchQueueSkillBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QueueSkill" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/quick_replies": { "get": { "tags": [ "QuickRepliesService" ], "operationId": "SearchQuickReplies", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "queue", "in": "query" }, { "type": "boolean", "name": "restrict_to_agent", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListQuickReplies" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "QuickRepliesService" ], "operationId": "CreateQuickReply", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateQuickReplyRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QuickReply" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/quick_replies/{id}": { "get": { "tags": [ "QuickRepliesService" ], "operationId": "ReadQuickReply", "parameters": [ { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QuickReply" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "QuickRepliesService" ], "operationId": "UpdateQuickReply", "parameters": [ { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.QuickRepliesService.UpdateQuickReplyBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QuickReply" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "QuickRepliesService" ], "operationId": "DeleteQuickReply", "parameters": [ { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QuickReply" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "QuickRepliesService" ], "operationId": "PatchQuickReply", "parameters": [ { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.QuickRepliesService.PatchQuickReplyBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.QuickReply" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/resource_group": { "get": { "tags": [ "OutboundResourceGroupService" ], "summary": "List of OutboundResourceGroup", "operationId": "SearchOutboundResourceGroup", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListOutboundResourceGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "OutboundResourceGroupService" ], "summary": "Create OutboundResourceGroup", "operationId": "CreateOutboundResourceGroup", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateOutboundResourceGroupRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.OutboundResourceGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/resource_group/{group_id}/resource": { "get": { "tags": [ "OutboundResourceGroupService" ], "summary": "List of OutboundResourceInGroup", "operationId": "SearchOutboundResourceInGroup", "parameters": [ { "type": "string", "format": "int64", "name": "group_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListOutboundResourceInGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "OutboundResourceGroupService" ], "summary": "Create OutboundResourceGroup", "operationId": "CreateOutboundResourceInGroup", "parameters": [ { "type": "string", "format": "int64", "name": "group_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.OutboundResourceGroupService.CreateOutboundResourceInGroupBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.OutboundResourceInGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/resource_group/{group_id}/resource/{id}": { "get": { "tags": [ "OutboundResourceGroupService" ], "summary": "OutboundResourceInGroup item", "operationId": "ReadOutboundResourceInGroup", "parameters": [ { "type": "string", "format": "int64", "name": "group_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.OutboundResourceInGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "OutboundResourceGroupService" ], "summary": "Update OutboundResourceInGroup", "operationId": "UpdateOutboundResourceInGroup", "parameters": [ { "type": "string", "format": "int64", "name": "group_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.OutboundResourceGroupService.UpdateOutboundResourceInGroupBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.OutboundResourceInGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "OutboundResourceGroupService" ], "summary": "Remove OutboundResourceInGroup", "operationId": "DeleteOutboundResourceInGroup", "parameters": [ { "type": "string", "format": "int64", "name": "group_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.OutboundResourceInGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/resource_group/{id}": { "get": { "tags": [ "OutboundResourceGroupService" ], "summary": "OutboundResourceGroup item", "operationId": "ReadOutboundResourceGroup", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.OutboundResourceGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "OutboundResourceGroupService" ], "summary": "Update OutboundResourceGroup", "operationId": "UpdateOutboundResourceGroup", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.OutboundResourceGroupService.UpdateOutboundResourceGroupBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.OutboundResourceGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "OutboundResourceGroupService" ], "summary": "Remove OutboundResourceGroup", "operationId": "DeleteOutboundResourceGroup", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.OutboundResourceGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/resources": { "get": { "tags": [ "OutboundResourceService" ], "summary": "List of OutboundResource", "operationId": "SearchOutboundResource", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListOutboundResource" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "OutboundResourceService" ], "summary": "Create OutboundResource", "operationId": "CreateOutboundResource", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateOutboundResourceRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.OutboundResource" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/resources/{id}": { "get": { "tags": [ "OutboundResourceService" ], "summary": "OutboundResource item", "operationId": "ReadOutboundResource", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.OutboundResource" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "OutboundResourceService" ], "summary": "Update OutboundResource", "operationId": "UpdateOutboundResource", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.OutboundResourceService.UpdateOutboundResourceBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.OutboundResource" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "OutboundResourceService" ], "summary": "Remove OutboundResource", "operationId": "DeleteOutboundResource", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.OutboundResource" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "OutboundResourceService" ], "summary": "Patch OutboundResource", "operationId": "PatchOutboundResource", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.OutboundResourceService.PatchOutboundResourceBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.OutboundResource" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/resources/{resource_id}/display": { "get": { "tags": [ "OutboundResourceService" ], "summary": "List of ResourceDisplay", "operationId": "SearchOutboundResourceDisplay", "parameters": [ { "type": "string", "format": "int64", "name": "resource_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListOutboundResourceDisplay" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "OutboundResourceService" ], "summary": "Create CreateOutboundResourceDisplay", "operationId": "CreateOutboundResourceDisplay", "parameters": [ { "type": "string", "format": "int64", "name": "resource_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.OutboundResourceService.CreateOutboundResourceDisplayBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ResourceDisplay" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "OutboundResourceService" ], "summary": "Remove ResourceDisplays", "operationId": "DeleteOutboundResourceDisplays", "parameters": [ { "type": "string", "format": "int64", "name": "resource_id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "items", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.EmptyResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/resources/{resource_id}/display/bulk": { "post": { "tags": [ "OutboundResourceService" ], "summary": "Create CreateOutboundResourceDisplay", "operationId": "CreateOutboundResourceDisplayBulk", "parameters": [ { "type": "string", "format": "int64", "name": "resource_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.OutboundResourceService.CreateOutboundResourceDisplayBulkBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListResourceDisplay" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/resources/{resource_id}/display/{id}": { "get": { "tags": [ "OutboundResourceService" ], "summary": "ResourceDisplay item", "operationId": "ReadOutboundResourceDisplay", "parameters": [ { "type": "string", "format": "int64", "name": "resource_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ResourceDisplay" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "OutboundResourceService" ], "summary": "Update ResourceDisplay", "operationId": "UpdateOutboundResourceDisplay", "parameters": [ { "type": "string", "format": "int64", "name": "resource_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.OutboundResourceService.UpdateOutboundResourceDisplayBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ResourceDisplay" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "OutboundResourceService" ], "summary": "Remove ResourceDisplay", "operationId": "DeleteOutboundResourceDisplay", "parameters": [ { "type": "string", "format": "int64", "name": "resource_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ResourceDisplay" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/skills": { "get": { "tags": [ "SkillService" ], "summary": "List of Skill", "operationId": "SearchSkill", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListSkill" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "SkillService" ], "summary": "Create Skill", "operationId": "CreateSkill", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateSkillRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Skill" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/skills/{id}": { "get": { "tags": [ "SkillService" ], "summary": "Skill item", "operationId": "ReadSkill", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Skill" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "SkillService" ], "summary": "Update Skill", "operationId": "UpdateSkill", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.SkillService.UpdateSkillBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Skill" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "SkillService" ], "summary": "Remove Skill", "operationId": "DeleteSkill", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Skill" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/skills/{skill_id}/agents": { "get": { "tags": [ "SkillService" ], "summary": "For agents\nSearchSkillAgent", "operationId": "SearchSkillAgent", "parameters": [ { "type": "string", "format": "int64", "name": "skill_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "agent_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListSkillAgent" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "SkillService" ], "operationId": "CreateSkillAgent", "parameters": [ { "type": "string", "format": "int64", "name": "skill_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.SkillService.CreateSkillAgentBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.CreateSkillAgentResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "SkillService" ], "operationId": "DeleteSkillAgent", "parameters": [ { "type": "string", "format": "int64", "name": "skill_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.SkillService.DeleteSkillAgentBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.DeleteSkillAgentResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "SkillService" ], "operationId": "PatchSkillAgent", "parameters": [ { "type": "string", "format": "int64", "name": "skill_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.SkillService.PatchSkillAgentBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.PatchSkillAgentResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/teams": { "get": { "tags": [ "AgentTeamService" ], "summary": "List of AgentTeam", "operationId": "SearchAgentTeam", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "strategy", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "admin_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListAgentTeam" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "AgentTeamService" ], "summary": "Create AgentTeam", "operationId": "CreateAgentTeam", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateAgentTeamRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AgentTeam" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/teams/triggers/agent": { "get": { "tags": [ "TeamTriggerService" ], "operationId": "SearchAgentTrigger", "parameters": [ { "type": "string", "format": "int64", "name": "team_id", "in": "query" }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "boolean", "name": "enabled", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "schema_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListTeamTrigger" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/teams/triggers/{trigger_id}": { "post": { "tags": [ "TeamTriggerService" ], "operationId": "RunTeamTrigger", "parameters": [ { "type": "integer", "format": "int32", "name": "trigger_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.TeamTriggerService.RunTeamTriggerBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.RunTeamTriggerResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/teams/{id}": { "get": { "tags": [ "AgentTeamService" ], "summary": "AgentTeam item", "operationId": "ReadAgentTeam", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AgentTeam" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "AgentTeamService" ], "summary": "Update AgentTeam", "operationId": "UpdateAgentTeam", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.AgentTeamService.UpdateAgentTeamBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AgentTeam" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "AgentTeamService" ], "summary": "Remove AgentTeam", "operationId": "DeleteAgentTeam", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.AgentTeam" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/teams/{team_id}/chat_tags": { "get": { "tags": [ "TeamChatTagService" ], "operationId": "SearchChatTag", "parameters": [ { "type": "string", "format": "int64", "name": "team_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListChatTag" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "TeamChatTagService" ], "operationId": "CreateChatTag", "parameters": [ { "type": "string", "format": "int64", "name": "team_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.TeamChatTagService.CreateChatTagBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ChatTag" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/teams/{team_id}/chat_tags/{id}": { "put": { "tags": [ "TeamChatTagService" ], "operationId": "UpdateChatTag", "parameters": [ { "type": "string", "format": "int64", "name": "team_id", "in": "path", "required": true }, { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.TeamChatTagService.UpdateChatTagBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ChatTag" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "TeamChatTagService" ], "operationId": "DeleteChatTag", "parameters": [ { "type": "string", "format": "int64", "name": "team_id", "in": "path", "required": true }, { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ChatTag" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/teams/{team_id}/hooks": { "get": { "tags": [ "TeamHookService" ], "operationId": "SearchTeamHook", "parameters": [ { "type": "string", "format": "int64", "name": "team_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "schema_id", "in": "query" }, { "type": "array", "items": { "enum": [ "teamHookEventUndefined", "agent_status" ], "type": "string" }, "collectionFormat": "multi", "name": "event", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListTeamHook" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "TeamHookService" ], "operationId": "CreateTeamHook", "parameters": [ { "type": "string", "format": "int64", "name": "team_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.TeamHookService.CreateTeamHookBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.TeamHook" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/teams/{team_id}/hooks/{id}": { "get": { "tags": [ "TeamHookService" ], "operationId": "ReadTeamHook", "parameters": [ { "type": "string", "format": "int64", "name": "team_id", "in": "path", "required": true }, { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.TeamHook" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "TeamHookService" ], "operationId": "UpdateTeamHook", "parameters": [ { "type": "string", "format": "int64", "name": "team_id", "in": "path", "required": true }, { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.TeamHookService.UpdateTeamHookBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.TeamHook" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "TeamHookService" ], "operationId": "DeleteTeamHook", "parameters": [ { "type": "string", "format": "int64", "name": "team_id", "in": "path", "required": true }, { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.TeamHook" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "TeamHookService" ], "operationId": "PatchTeamHook", "parameters": [ { "type": "string", "format": "int64", "name": "team_id", "in": "path", "required": true }, { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.TeamHookService.PatchTeamHookBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.TeamHook" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/teams/{team_id}/triggers": { "get": { "tags": [ "TeamTriggerService" ], "operationId": "SearchTeamTrigger", "parameters": [ { "type": "string", "format": "int64", "name": "team_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "boolean", "name": "enabled", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "schema_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListTeamTrigger" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "TeamTriggerService" ], "operationId": "CreateTeamTrigger", "parameters": [ { "type": "string", "format": "int64", "name": "team_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.TeamTriggerService.CreateTeamTriggerBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.TeamTrigger" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/teams/{team_id}/triggers/{id}": { "get": { "tags": [ "TeamTriggerService" ], "operationId": "ReadTeamTrigger", "parameters": [ { "type": "string", "format": "int64", "name": "team_id", "in": "path", "required": true }, { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.TeamTrigger" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "TeamTriggerService" ], "operationId": "UpdateTeamTrigger", "parameters": [ { "type": "string", "format": "int64", "name": "team_id", "in": "path", "required": true }, { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.TeamTriggerService.UpdateTeamTriggerBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.TeamTrigger" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "TeamTriggerService" ], "operationId": "DeleteTeamTrigger", "parameters": [ { "type": "string", "format": "int64", "name": "team_id", "in": "path", "required": true }, { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.TeamTrigger" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "TeamTriggerService" ], "operationId": "PatchTeamTrigger", "parameters": [ { "type": "string", "format": "int64", "name": "team_id", "in": "path", "required": true }, { "type": "integer", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.TeamTriggerService.PatchTeamTriggerBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.TeamTrigger" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/call_center/users": { "get": { "tags": [ "AgentService" ], "summary": "List of UserStatus", "operationId": "SearchUserStatus", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "not_user_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListUserStatus" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calls": { "post": { "tags": [ "CallService" ], "summary": "CreateCall initiates a new outbound call with specified parameters.", "operationId": "CreateCall", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateCallRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.CreateCallResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calls/active": { "get": { "tags": [ "CallService" ], "summary": "SearchActiveCall returns a list of all calls currently in progress.", "operationId": "SearchActiveCall", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "string", "format": "int64", "name": "created_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "created_at.to", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "user_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "agent_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "queue_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "team_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "member_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "gateway_id", "in": "query" }, { "type": "string", "format": "int64", "name": "duration.from", "in": "query" }, { "type": "string", "format": "int64", "name": "duration.to", "in": "query" }, { "type": "boolean", "name": "skip_parent", "in": "query" }, { "type": "string", "name": "parent_id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "cause", "in": "query" }, { "type": "boolean", "name": "exists_file", "in": "query" }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" }, { "type": "string", "name": "number", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "direction", "in": "query" }, { "type": "string", "format": "int64", "name": "answered_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "answered_at.to", "in": "query" }, { "type": "boolean", "name": "missed", "in": "query" }, { "type": "string", "format": "int64", "name": "stored_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "stored_at.to", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "supervisor_id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "state", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListCall" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calls/active/{id}": { "get": { "tags": [ "CallService" ], "summary": "ReadCall returns detailed real-time information for a specific active call.", "operationId": "ReadCall", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ActiveCall" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "CallService" ], "summary": "HangupCall terminates an active call session.", "operationId": "HangupCall", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CallService.HangupCallBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.HangupCallResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calls/active/{id}/confirm_push": { "patch": { "tags": [ "CallService" ], "summary": "ConfirmPush confirms receipt of a push notification for synchronization.", "operationId": "ConfirmPush", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ConfirmPushResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calls/active/{id}/dtmf": { "patch": { "tags": [ "CallService" ], "summary": "DtmfCall sends DTMF digits to an active call.", "operationId": "DtmfCall", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CallService.DtmfCallBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.DtmfCallResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calls/active/{id}/eavesdrop": { "post": { "tags": [ "CallService" ], "summary": "EavesdropCall allows a supervisor to listen, whisper, or join an active call.", "operationId": "EavesdropCall", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CallService.EavesdropCallBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.CreateCallResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calls/active/{id}/hold": { "patch": { "tags": [ "CallService" ], "summary": "HoldCall puts an active call on hold.", "operationId": "HoldCall", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CallService.HoldCallBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.HoldCallResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calls/active/{id}/transfer": { "patch": { "tags": [ "CallService" ], "summary": "BlindTransferCall redirects an active call to another destination.", "operationId": "BlindTransferCall", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CallService.BlindTransferCallBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.BlindTransferCallResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calls/active/{id}/unhold": { "patch": { "tags": [ "CallService" ], "summary": "UnHoldCall resumes a call from hold state.", "operationId": "UnHoldCall", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CallService.UnHoldCallBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.HoldCallResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calls/active/{id}/variables": { "patch": { "tags": [ "CallService" ], "summary": "SetVariablesCall updates call channel variables in real-time.", "operationId": "SetVariablesCall", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CallService.SetVariablesCallBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.SetVariablesCallResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calls/history": { "get": { "tags": [ "CallService" ], "summary": "SearchHistoryCall retrieves a list of completed calls using filters (GET).\nSupports advanced filtering by participants, duration, causes, and custom variables.", "operationId": "SearchHistoryCall", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "string", "format": "int64", "name": "created_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "created_at.to", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "user_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "agent_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "queue_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "team_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "member_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "gateway_id", "in": "query" }, { "type": "string", "format": "int64", "name": "duration.from", "in": "query" }, { "type": "string", "format": "int64", "name": "duration.to", "in": "query" }, { "type": "boolean", "name": "skip_parent", "in": "query" }, { "type": "string", "name": "parent_id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "cause", "in": "query" }, { "type": "boolean", "name": "has_file", "in": "query" }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" }, { "type": "string", "name": "number", "in": "query" }, { "type": "string", "name": "direction", "in": "query" }, { "type": "string", "format": "int64", "name": "answered_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "answered_at.to", "in": "query" }, { "type": "boolean", "name": "missed", "in": "query" }, { "type": "string", "format": "int64", "name": "stored_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "stored_at.to", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "transfer_from", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "transfer_to", "in": "query" }, { "type": "string", "name": "dependency_id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "tags", "in": "query" }, { "type": "string", "description": "This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18", "name": "variables[string]", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "amd_result", "in": "query" }, { "type": "string", "name": "fts", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "directions", "in": "query" }, { "type": "boolean", "name": "has_transcript", "in": "query" }, { "type": "string", "name": "agent_description", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "owner_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "grantee_id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "amd_ai_result", "in": "query" }, { "type": "string", "format": "int64", "name": "talk.from", "in": "query" }, { "type": "string", "format": "int64", "name": "talk.to", "in": "query" }, { "type": "boolean", "name": "rated", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "rated_by", "in": "query" }, { "type": "string", "format": "int64", "name": "score_required.from", "in": "query" }, { "type": "string", "format": "int64", "name": "score_required.to", "in": "query" }, { "type": "string", "format": "int64", "name": "score_optional.from", "in": "query" }, { "type": "string", "format": "int64", "name": "score_optional.to", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "rated_user", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "contact_id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "schema_id", "in": "query" }, { "type": "boolean", "name": "has_transfer", "in": "query" }, { "type": "boolean", "name": "timeline", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListHistoryCall" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "CallService" ], "summary": "SearchHistoryCallPost retrieves a list of completed calls using a complex filter body (POST).\nIdeal for large filter sets that exceed URL length limits.", "operationId": "SearchHistoryCallPost", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.SearchHistoryCallRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListHistoryCall" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calls/history/aggregate": { "post": { "tags": [ "CallService" ], "summary": "AggregateHistoryCall performs statistical analysis on historical data.\nGroup and aggregate metrics like average duration, call counts, or peak hours.", "operationId": "AggregateHistoryCall", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.AggregateHistoryCallRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListAggregate" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calls/history/{call_id}/annotation": { "post": { "tags": [ "CallService" ], "summary": "CreateCallAnnotation adds a text note to a specific timeframe of a historical call.", "operationId": "CreateCallAnnotation", "parameters": [ { "type": "string", "name": "call_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CallService.CreateCallAnnotationBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.CallAnnotation" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calls/history/{call_id}/annotation/{id}": { "put": { "tags": [ "CallService" ], "summary": "UpdateCallAnnotation modifies an existing call note.", "operationId": "UpdateCallAnnotation", "parameters": [ { "type": "string", "name": "call_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CallService.UpdateCallAnnotationBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.CallAnnotation" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "CallService" ], "summary": "DeleteCallAnnotation removes an annotation from a historical call.", "operationId": "DeleteCallAnnotation", "parameters": [ { "type": "string", "name": "call_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.CallAnnotation" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calls/history/{call_id}/redial": { "post": { "tags": [ "CallService" ], "summary": "RedialCall quickly initiates a new call using data from a previous history record.", "operationId": "RedialCall", "parameters": [ { "type": "string", "name": "call_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CallService.RedialCallBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.CreateCallResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calls/history/{id}": { "patch": { "tags": [ "CallService" ], "summary": "PatchHistoryCall updates metadata for a completed call (e.g., variables or visibility).", "operationId": "PatchHistoryCall", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CallService.PatchHistoryCallBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.HistoryCall" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calls/{call_id}/exports/archive": { "get": { "tags": [ "PdfService" ], "summary": "Streams a ZIP archive bundling the given, already-uploaded call files (e.g. PDFs).\nSynchronous: the archive is assembled on the fly and streamed back chunk by chunk,\nso the caller does not need to poll for completion.", "operationId": "DownloadCallArchive", "parameters": [ { "type": "string", "description": "Unique identifier of the call.", "name": "call_id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "IDs of already-uploaded files (e.g. PDFs) to bundle into one ZIP archive.", "name": "file_ids", "in": "query" } ], "responses": { "200": { "description": "A successful response.(streaming responses)", "schema": { "type": "object", "title": "Stream result of webitel_media_exporter.DownloadCallArchiveResponse", "properties": { "error": { "$ref": "#/definitions/google.rpc.Status" }, "result": { "$ref": "#/definitions/webitel_media_exporter.DownloadCallArchiveResponse" } } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calls/{call_id}/exports/archive/screenrecordings": { "get": { "tags": [ "PdfService" ], "summary": "Streams original screen recording videos associated with a specific call\nas a ZIP archive assembled on the fly.", "operationId": "DownloadCallScreenrecordingArchive", "parameters": [ { "type": "string", "description": "Unique identifier of the call.", "name": "call_id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "Optional IDs of selected screen recordings.", "name": "file_ids", "in": "query" }, { "type": "string", "format": "int64", "description": "Start of the uploaded_at range (Unix millis).", "name": "from", "in": "query" }, { "type": "string", "format": "int64", "description": "End of the uploaded_at range (Unix millis).", "name": "to", "in": "query" } ], "responses": { "200": { "description": "A successful response.(streaming responses)", "schema": { "type": "object", "title": "Stream result of webitel_media_exporter.DownloadCallScreenrecordingArchiveResponse", "properties": { "error": { "$ref": "#/definitions/google.rpc.Status" }, "result": { "$ref": "#/definitions/webitel_media_exporter.DownloadCallScreenrecordingArchiveResponse" } } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calls/{call_id}/exports/pdf": { "get": { "tags": [ "PdfService" ], "summary": "Lists the history of PDF exports for a specific call ID.", "operationId": "ListCallExports", "parameters": [ { "type": "string", "name": "call_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number (1-based).", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Number of items per page.", "name": "size", "in": "query" }, { "type": "string", "description": "sorting criteria, e.g. \"+created_at\" or \"-name\"", "name": "sort", "in": "query" }, { "type": "string", "format": "int64", "name": "uploaded_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "uploaded_at.to", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel_media_exporter.ListExportsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "PdfService" ], "summary": "Creates a new task to generate a PDF export for a specific call.\nUseful for documenting call transcripts or associated media.", "operationId": "CreateCallExport", "parameters": [ { "type": "string", "description": "Unique identifier of the call.", "name": "call_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel_media_exporter.PdfService.CreateCallExportBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel_media_exporter.ExportTask" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/calls/{call_id}/files": { "get": { "tags": [ "FileService" ], "operationId": "SearchFilesByCall", "parameters": [ { "type": "string", "name": "call_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "string", "format": "int64", "name": "uploaded_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "uploaded_at.to", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "reference_id", "in": "query" }, { "type": "string", "format": "int64", "name": "retention_until.from", "in": "query" }, { "type": "string", "format": "int64", "name": "retention_until.to", "in": "query" }, { "type": "array", "items": { "enum": [ "UnknownChannel", "ChatChannel", "MailChannel", "CallChannel", "LogChannel", "MediaChannel", "KnowledgebaseChannel", "CasesChannel", "ScreenRecordingChannel" ], "type": "string" }, "collectionFormat": "multi", "description": " - ScreenRecordingChannel: ScreenshotChannel = 8; // deprecated", "name": "channel", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.ListFile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "FileService" ], "operationId": "DeleteVideocallFiles", "parameters": [ { "type": "string", "name": "call_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.FileService.DeleteVideocallFilesBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.DeleteFilesResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases": { "get": { "tags": [ "Cases" ], "summary": "RPC method for searching cases.", "operationId": "SearchCases", "parameters": [ { "type": "integer", "format": "int32", "description": "Page number for pagination.", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Number of results per page.", "name": "size", "in": "query" }, { "type": "string", "description": "General query string.", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of specific case IDs to retrieve.", "name": "ids", "in": "query" }, { "type": "string", "description": "Sorting criteria (e.g., field:asc).", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of fields to include in the response.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Key-value pairs for additional filtering.", "name": "filters", "in": "query" }, { "type": "string", "description": "Contact ID for filtering cases.", "name": "contact_id", "in": "query" }, { "type": "string", "description": "Specify which fields to apply 'q' to.", "name": "qin", "in": "query" }, { "type": "string", "description": "Updated filters with CEL syntax.", "name": "filters_v1", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CaseList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "Cases" ], "summary": "RPC method for creating a new case.", "operationId": "CreateCase", "parameters": [ { "description": "Input data for creating the case.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputCreateCase" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of fields to include in the response.", "name": "fields", "in": "query" }, { "type": "boolean", "description": "Indicates whether to disable the trigger after the application execution.\nDefault is false (trigger **will** be executed).\nSet to true to explicitly prevent the trigger from running (e.g., when called from another trigger or internal flow).\nто\n[WTEL-7055]", "name": "disableTrigger", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Case" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/catalogs": { "get": { "tags": [ "Catalogs" ], "summary": "Retrieve a list of catalogs or search catalogs", "operationId": "ListCatalogs", "parameters": [ { "type": "integer", "format": "int32", "description": "Page number for pagination", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Number of records per page", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.\nIf the user passes \"-\" as the value for fields,\nit will retrieve all available fields for each catalog.", "name": "fields", "in": "query" }, { "type": "string", "description": "Sorting options by fields", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "List of IDs to filter the catalogs", "name": "id", "in": "query" }, { "type": "string", "description": "Search query string for filtering by name. Supports:\n- Wildcards (*) for substring matching\n- Placeholder (?) for single character substitution\n- Exact match for full names", "name": "query", "in": "query" }, { "type": "boolean", "description": "Filter by state (true for active, false for inactive)", "name": "state", "in": "query" }, { "type": "string", "format": "int64", "description": "Filter by the depth of the hierarchy to retrieve services.\nThe depth indicates how many ancestor levels of services\nwill be included for each catalog.\n- A depth of 0 includes only the direct catalog.\n- A depth of 1 includes the catalog and its immediate services.\n- By default the depth is limited by 3,\n meaning all nested services and sub-services will be included.", "name": "depth", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result for [SUBSERVICES].\nIf the user passes \"-\" as the value for fields,\nit will retrieve all available fields for each catalog subservices.", "name": "sub_fields", "in": "query" }, { "type": "boolean", "description": "Filter catalogs with subservices", "name": "hasSubservices", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CatalogList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "Catalogs" ], "summary": "Create a new catalog", "operationId": "CreateCatalog", "parameters": [ { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputCatalog" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Catalog" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/catalogs/{id}": { "get": { "tags": [ "Catalogs" ], "summary": "Locate a catalog by ID", "operationId": "LocateCatalog", "parameters": [ { "type": "string", "format": "int64", "description": "ID of the catalog to be located", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.\nIf the user passes \"-\" as the value for fields,\nit will retrieve all available fields for each catalog.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result for [SUBSERVICES].\nIf the user passes \"-\" as the value for fields,\nit will retrieve all available fields for each catalog subservices.", "name": "sub_fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.LocateCatalogResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "Catalogs" ], "summary": "Update an existing catalog", "operationId": "UpdateCatalog", "parameters": [ { "type": "string", "format": "int64", "description": "ID of the catalog to be updated", "name": "id", "in": "path", "required": true }, { "description": "Input data for updating the catalog", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputCatalog" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Catalog" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "Catalogs" ], "summary": "Delete a catalog", "operationId": "DeleteCatalog", "parameters": [ { "minItems": 1, "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "csv", "description": "ID of the catalog to be deleted", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CatalogList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "Catalogs" ], "summary": "Update an existing catalog", "operationId": "UpdateCatalog2", "parameters": [ { "type": "string", "format": "int64", "description": "ID of the catalog to be updated", "name": "id", "in": "path", "required": true }, { "description": "Input data for updating the catalog", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputCatalog" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Catalog" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/close_reason_groups": { "get": { "tags": [ "CloseReasonGroups" ], "summary": "Retrieve a list of close reason groups or search close reason groups", "operationId": "ListCloseReasonGroups", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "string", "name": "q", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CloseReasonGroupList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "CloseReasonGroups" ], "summary": "Create a new close reason group", "operationId": "CreateCloseReasonGroup", "parameters": [ { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputCloseReasonGroup" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CloseReasonGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/close_reason_groups/{id}": { "get": { "tags": [ "CloseReasonGroups" ], "summary": "Locate a close reason group by ID", "operationId": "LocateCloseReasonGroup", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.LocateCloseReasonGroupResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "CloseReasonGroups" ], "summary": "Update an existing close reason group", "operationId": "UpdateCloseReasonGroup", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputCloseReasonGroup" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CloseReasonGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "CloseReasonGroups" ], "summary": "Delete a close reason group", "operationId": "DeleteCloseReasonGroup", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CloseReasonGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "CloseReasonGroups" ], "summary": "Update an existing close reason group", "operationId": "UpdateCloseReasonGroup2", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputCloseReasonGroup" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CloseReasonGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/comments/{etag}": { "get": { "tags": [ "CaseComments" ], "summary": "Retrieve a specific comment by its etag", "operationId": "LocateComment", "parameters": [ { "type": "string", "description": "Identifier of the comment to retrieve.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Specific fields to return for the comment.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CaseComment" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "CaseComments" ], "summary": "Delete a specific comment by its etag", "operationId": "DeleteComment", "parameters": [ { "type": "string", "description": "Identifier of the comment to delete.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to return after deletion.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CaseComment" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/comments/{input.etag}": { "put": { "tags": [ "CaseComments" ], "summary": "Update a specific comment by its etag", "operationId": "UpdateComment", "parameters": [ { "type": "string", "description": "Identifier for the comment.", "name": "input.etag", "in": "path", "required": true }, { "description": "Data for the comment to update.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "Data for the comment to update.", "properties": { "text": { "description": "Content of the comment.", "type": "string" }, "userID": { "description": "Optional creator / updater ID. Use this to explicitly set the case creator / updater instead of deriving it from the auth token.", "$ref": "#/definitions/general.Lookup" } }, "example": { "text": "My new comment" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to include in the response.", "name": "fields", "in": "query" }, { "type": "string", "format": "int64", "description": "Optional updating timestamp. If not set, will be set default(current) time.", "name": "updated_at", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CaseComment" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "CaseComments" ], "summary": "Update a specific comment by its etag", "operationId": "UpdateComment2", "parameters": [ { "type": "string", "description": "Identifier for the comment.", "name": "input.etag", "in": "path", "required": true }, { "description": "Data for the comment to update.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "Data for the comment to update.", "properties": { "text": { "description": "Content of the comment.", "type": "string" }, "userID": { "description": "Optional creator / updater ID. Use this to explicitly set the case creator / updater instead of deriving it from the auth token.", "$ref": "#/definitions/general.Lookup" } }, "example": { "text": "My new comment" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to include in the response.", "name": "fields", "in": "query" }, { "type": "string", "format": "int64", "description": "Optional updating timestamp. If not set, will be set default(current) time.", "name": "updated_at", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CaseComment" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/export": { "get": { "tags": [ "Cases" ], "summary": "RPC method for exporting cases to CSV or XLSX format (server-side streaming).", "operationId": "ExportCases", "parameters": [ { "type": "string", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "ids", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "filters", "in": "query" }, { "type": "string", "name": "contact_id", "in": "query" }, { "type": "string", "name": "qin", "in": "query" }, { "type": "string", "name": "filters_v1", "in": "query" }, { "type": "string", "name": "format", "in": "query" }, { "type": "string", "name": "separator", "in": "query" } ], "responses": { "200": { "description": "A successful response.(streaming responses)", "schema": { "type": "object", "title": "Stream result of webitel.cases.ExportCasesResponse", "properties": { "error": { "$ref": "#/definitions/google.rpc.Status" }, "result": { "$ref": "#/definitions/webitel.cases.ExportCasesResponse" } } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/priorities": { "get": { "tags": [ "Priorities" ], "summary": "Retrieve a list of priorities or search priorities", "operationId": "ListPriorities", "parameters": [ { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "type": "string", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "Filter by unique IDs.", "name": "id", "in": "query" }, { "type": "string", "description": "Search query string for filtering by name. Supports:\n- Wildcards (*) for substring matching\n- Placeholder (?) for single character substitution\n- Exact match for full names", "name": "q", "in": "query" }, { "type": "string", "format": "int64", "description": "Filter priorities that are not in filtered SLA", "name": "notInSla", "in": "query" }, { "type": "string", "format": "int64", "description": "Filter priorities that are in filtered SlaCondition and not in current SLA", "name": "inSlaCond", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.PriorityList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "Priorities" ], "summary": "Create a new priority", "operationId": "CreatePriority", "parameters": [ { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputPriority" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Priority" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/priorities/{id}": { "get": { "tags": [ "Priorities" ], "summary": "Locate a priority by ID", "operationId": "LocatePriority", "parameters": [ { "type": "string", "format": "int64", "description": "ID of the priority to be located", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.LocatePriorityResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "Priorities" ], "summary": "Update an existing priority", "operationId": "UpdatePriority", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputPriority" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Priority" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "Priorities" ], "summary": "Delete a priority", "operationId": "DeletePriority", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Priority" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "Priorities" ], "summary": "Update an existing priority", "operationId": "UpdatePriority2", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputPriority" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Priority" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/services": { "get": { "tags": [ "Services" ], "summary": "Retrieve a list of services or search services within a catalog", "operationId": "ListServices", "parameters": [ { "type": "integer", "format": "int32", "description": "Page number for pagination", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Number of records per page", "name": "size", "in": "query" }, { "type": "string", "description": "Sorting options by fields", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "List of IDs to filter the services", "name": "id", "in": "query" }, { "type": "string", "description": "Search query string for filtering by name. Supports:\n- Wildcards (*) for substring matching\n- Placeholder (?) for single character substitution\n- Exact match for full names", "name": "q", "in": "query" }, { "type": "string", "format": "int64", "description": "Filter services by catalog ID (required)", "name": "root_id", "in": "query" }, { "type": "boolean", "description": "Filter by state (true for active, false for inactive)", "name": "state", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.ServiceList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "Services" ], "summary": "Create a new service within a catalog", "operationId": "CreateService", "parameters": [ { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputCreateService" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Service" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/services/{id}": { "get": { "tags": [ "Services" ], "summary": "Locate a service by ID", "operationId": "LocateService", "parameters": [ { "type": "string", "format": "int64", "description": "ID of the service to be located", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.LocateServiceResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "Services" ], "summary": "Update an existing service", "operationId": "UpdateService", "parameters": [ { "type": "string", "format": "int64", "description": "ID of the service to be updated", "name": "id", "in": "path", "required": true }, { "description": "Input data for updating the service", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputService" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Service" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "Services" ], "summary": "Delete a service", "operationId": "DeleteService", "parameters": [ { "minItems": 1, "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "csv", "description": "ID of the service to be deleted", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.ServiceList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "Services" ], "summary": "Update an existing service", "operationId": "UpdateService2", "parameters": [ { "type": "string", "format": "int64", "description": "ID of the service to be updated", "name": "id", "in": "path", "required": true }, { "description": "Input data for updating the service", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputService" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Service" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/slas": { "get": { "tags": [ "SLAs" ], "summary": "Retrieve a list of SLAs or search SLA conditions", "operationId": "ListSLAs", "parameters": [ { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "type": "string", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "Filter by unique IDs.", "name": "id", "in": "query" }, { "type": "string", "description": "Search query string for filtering by name. Supports:\n- Wildcards (*) for substring matching\n- Placeholder (?) for single character substitution\n- Exact match for full names", "name": "q", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.SLAList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "SLAs" ], "summary": "Create a new SLA", "operationId": "CreateSLA", "parameters": [ { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputSLA" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.SLA" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/slas/{id}": { "get": { "tags": [ "SLAs" ], "summary": "Locate an SLA by ID", "operationId": "LocateSLA", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.LocateSLAResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "SLAs" ], "summary": "Update an existing SLA", "operationId": "UpdateSLA", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputSLA" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.SLA" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "SLAs" ], "summary": "Delete an SLA", "operationId": "DeleteSLA", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.SLA" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "SLAs" ], "summary": "Update an existing SLA", "operationId": "UpdateSLA2", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputSLA" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.SLA" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/sources": { "get": { "tags": [ "Sources" ], "summary": "Retrieve a list of sources or search sources", "operationId": "ListSources", "parameters": [ { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page * size)\nDefault: 0", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)\nDefault: 25", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.\nDefault: [] (all fields)", "name": "fields", "in": "query" }, { "type": "string", "description": "Sort the result according to fields.\nDefault: \"id:desc\"", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "Filter by unique IDs.", "name": "id", "in": "query" }, { "type": "string", "description": "Search query string for filtering by name. Supports:\n- Wildcards (*)\n- Placeholder (?)\n- Exact match", "name": "q", "in": "query" }, { "type": "array", "items": { "enum": [ "TYPE_UNSPECIFIED", "CALL", "CHAT", "SOCIAL_MEDIA", "EMAIL", "API", "MANUAL" ], "type": "string" }, "collectionFormat": "multi", "description": "Filter by source type.\n\n - TYPE_UNSPECIFIED: Unspecified source type.\n - CALL: Phone call source type.\n - CHAT: Chat source type.\n - SOCIAL_MEDIA: Social media source type.\n - EMAIL: Email source type.\n - API: API source type.\n - MANUAL: Manual source type.", "name": "type", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.SourceList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "Sources" ], "summary": "Create a new source", "operationId": "CreateSource", "parameters": [ { "description": "Main input payload for the source being created", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputSource" } }, { "uniqueItems": true, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Optional list of specific fields to return after creation\n\nSpecific fields to include in response", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Source" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/sources/{id}": { "get": { "tags": [ "Sources" ], "summary": "Locate a source by ID", "operationId": "LocateSource", "parameters": [ { "type": "string", "format": "int64", "description": "The unique ID of the source to locate.", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.LocateSourceResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "Sources" ], "summary": "Update an existing source", "operationId": "UpdateSource", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputSource" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Source" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "Sources" ], "summary": "Delete a source", "operationId": "DeleteSource", "parameters": [ { "type": "string", "format": "int64", "description": "The unique ID of the source to delete.", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Source" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "Sources" ], "summary": "Update an existing source", "operationId": "UpdateSource2", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputSource" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Source" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/statuses": { "get": { "tags": [ "Statuses" ], "summary": "Retrieve a list of statuses or search statuses", "operationId": "ListStatuses", "parameters": [ { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "type": "string", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "Filter by unique IDs.", "name": "id", "in": "query" }, { "type": "string", "description": "Search query string for filtering by name. Supports:\n- Wildcards (*) for substring matching\n- Placeholder (?) for single character substitution\n- Exact match for full names", "name": "q", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.StatusList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "Statuses" ], "summary": "Create a new status", "operationId": "CreateStatus", "parameters": [ { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputStatus" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Status" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/statuses/{id}": { "get": { "tags": [ "Statuses" ], "summary": "Locate a status by ID", "operationId": "LocateStatus", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.LocateStatusResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "Statuses" ], "summary": "Update an existing status", "operationId": "UpdateStatus", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputStatus" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Status" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "Statuses" ], "summary": "Delete a status", "operationId": "DeleteStatus", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Status" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "Statuses" ], "summary": "Update an existing status", "operationId": "UpdateStatus2", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputStatus" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Status" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/{case_etag}/comments": { "get": { "tags": [ "CaseComments" ], "summary": "Retrieve a list of comments associated with a specific case", "operationId": "ListComments", "parameters": [ { "type": "string", "description": "Etag or ID of the case for which comments are requested.", "name": "case_etag", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number for pagination.", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Number of comments per page.", "name": "size", "in": "query" }, { "type": "string", "description": "Query string for search.", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Array of requested id.", "name": "ids", "in": "query" }, { "type": "string", "description": "Sorting order.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to return for each comment.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CaseCommentList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "CaseComments" ], "summary": "Publish comment into a specific case", "operationId": "PublishComment", "parameters": [ { "type": "string", "description": "Etag or ID of the case to which comments belong.", "name": "case_etag", "in": "path", "required": true }, { "description": "Comment to publish.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputCaseComment" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Result fields to include in the response.", "name": "fields", "in": "query" }, { "type": "string", "format": "int64", "description": "Optional creation timestamp. If not set, will be set default(current) time.", "name": "created_at", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CaseComment" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/{case_etag}/communication": { "get": { "tags": [ "CaseCommunications" ], "summary": "Lists all communications linked to a specific case.\nCurrently a feature for future development.", "operationId": "ListCommunications", "parameters": [ { "type": "string", "description": "Case identifier.", "name": "case_etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of fields to include in the response.", "name": "fields", "in": "query" }, { "type": "string", "description": "Query string for filtering results.", "name": "q", "in": "query" }, { "type": "integer", "format": "int32", "description": "Number of records per page.", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "Page number for pagination.", "name": "page", "in": "query" }, { "type": "string", "description": "Sorting order.", "name": "sort", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.ListCommunicationsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "CaseCommunications" ], "summary": "Links a communication to a specific case.", "operationId": "LinkCommunication", "parameters": [ { "type": "string", "description": "Case identifier.", "name": "case_etag", "in": "path", "required": true }, { "description": "Input data for the communications to link.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputCaseCommunication" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of fields to include in the response.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.LinkCommunicationResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/{case_etag}/communication/{id}": { "delete": { "tags": [ "CaseCommunications" ], "summary": "Unlinks a communication from a specific case.", "operationId": "UnlinkCommunication", "parameters": [ { "type": "string", "name": "case_etag", "in": "path", "required": true }, { "type": "string", "description": "Communication identifier.", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of fields to include in the response.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.UnlinkCommunicationResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/{case_etag}/files": { "get": { "tags": [ "CaseFiles" ], "summary": "Retrieve a list of files associated with a case", "operationId": "ListFiles", "parameters": [ { "type": "string", "description": "ID of the case to fetch files for (required).", "name": "case_etag", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "The page number to retrieve.", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Number of items per page.", "name": "size", "in": "query" }, { "type": "string", "description": "Search term.", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to include in the response.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Array of requested id.", "name": "ids", "in": "query" }, { "type": "string", "description": "Sorting", "name": "sort", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CaseFileList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/{case_etag}/files/{id}": { "delete": { "tags": [ "CaseFiles" ], "summary": "Delete a file", "operationId": "DeleteFile", "parameters": [ { "type": "string", "name": "case_etag", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "The unique ID of the file to delete.", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.File" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/{case_etag}/links": { "get": { "tags": [ "CaseLinks" ], "summary": "With Case", "operationId": "ListLinks", "parameters": [ { "type": "string", "name": "case_etag", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "ids", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CaseLinkList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "CaseLinks" ], "operationId": "CreateLink", "parameters": [ { "type": "string", "description": "new comment link", "name": "case_etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "result fields needed on the front-end for each comment", "name": "fields", "in": "query" }, { "type": "string", "name": "input.etag", "in": "query" }, { "type": "string", "name": "input.url", "in": "query" }, { "type": "string", "name": "input.name", "in": "query" }, { "type": "string", "format": "int64", "name": "input.userID.id", "in": "query" }, { "type": "string", "name": "input.userID.name", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CaseLink" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/{case_etag}/links/{etag}": { "get": { "tags": [ "CaseLinks" ], "operationId": "LocateLink", "parameters": [ { "type": "string", "name": "case_etag", "in": "path", "required": true }, { "type": "string", "description": "(id allowed)", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CaseLink" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "CaseLinks" ], "operationId": "DeleteLink", "parameters": [ { "type": "string", "name": "case_etag", "in": "path", "required": true }, { "type": "string", "name": "etag", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CaseLink" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/{case_etag}/links/{input.etag}": { "put": { "tags": [ "CaseLinks" ], "operationId": "UpdateLink", "parameters": [ { "type": "string", "name": "case_etag", "in": "path", "required": true }, { "type": "string", "name": "input.etag", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "type": "object", "properties": { "name": { "type": "string" }, "url": { "type": "string" }, "userID": { "description": "Optional creator / updater ID. Use this to explicitly set the case creator / updater instead of deriving it from the auth token.", "$ref": "#/definitions/general.Lookup" } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "on return", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CaseLink" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "CaseLinks" ], "operationId": "UpdateLink2", "parameters": [ { "type": "string", "name": "case_etag", "in": "path", "required": true }, { "type": "string", "name": "input.etag", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "type": "object", "properties": { "name": { "type": "string" }, "url": { "type": "string" }, "userID": { "description": "Optional creator / updater ID. Use this to explicitly set the case creator / updater instead of deriving it from the auth token.", "$ref": "#/definitions/general.Lookup" } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "on return", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CaseLink" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/{case_id}/chat/{chat_id}/messages": { "get": { "tags": [ "CasesChatCatalog" ], "operationId": "CasesChatCatalog_GetCaseChatHistory", "parameters": [ { "type": "string", "description": "Contact identificator", "name": "case_id", "in": "path", "required": true }, { "type": "string", "description": "Unique chat dialog", "name": "chat_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "Messages ONLY starting from the specified message ID", "name": "offset.id", "in": "query" }, { "type": "string", "format": "int64", "description": "Messages ONLY been sent before the specified epochtime(milli).", "name": "offset.date", "in": "query" }, { "type": "integer", "format": "int32", "description": "Number of messages to return.", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "string", "description": "Search term: message.text", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to return into result.", "name": "fields", "in": "query" }, { "type": "string", "description": "Includes the history of ONLY those dialogs\nwhose member channel(s) contain\na specified set of variables.", "name": "group[string]", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.chat.ChatMessages" } } } } }, "/cases/{case_id}/timeline": { "get": { "tags": [ "CaseTimeline" ], "operationId": "GetTimeline", "parameters": [ { "type": "string", "name": "case_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "ids", "in": "query" }, { "type": "string", "format": "int64", "name": "date_from", "in": "query" }, { "type": "string", "format": "int64", "name": "date_to", "in": "query" }, { "type": "array", "items": { "enum": [ "chat", "call", "email" ], "type": "string" }, "collectionFormat": "multi", "name": "type", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.GetTimelineResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/{case_id}/timeline/counter": { "get": { "tags": [ "CaseTimeline" ], "operationId": "GetTimelineCounter", "parameters": [ { "type": "string", "name": "case_id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.GetTimelineCounterResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/{etag}": { "get": { "tags": [ "Cases" ], "summary": "RPC method to retrieve a specific case by its etag identifier.", "operationId": "LocateCase", "parameters": [ { "type": "string", "description": "Unique etag identifier of the case.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of fields to include in the response.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Case" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "Cases" ], "summary": "RPC method for deleting an existing case by its etag.", "operationId": "DeleteCase", "parameters": [ { "type": "string", "description": "Unique etag identifier of the case.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of fields to include in the deleted case response.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.Case" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/{input.etag}": { "put": { "tags": [ "Cases" ], "summary": "RPC method for updating an existing case.", "operationId": "UpdateCase", "parameters": [ { "type": "string", "name": "input.etag", "in": "path", "required": true }, { "description": "Input data with updated fields.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "Input data with updated fields.", "properties": { "assignee": { "title": "create: not required, default from service or set by UI;", "$ref": "#/definitions/general.Lookup" }, "close_reason": { "title": "create: not required;", "$ref": "#/definitions/general.Lookup" }, "close_result": { "type": "string", "title": "create: not required; update: required only when case status goes to the final state" }, "contact_info": { "type": "string", "title": "create: not required;" }, "custom": { "description": "Custom data extension fields ..", "type": "object" }, "description": { "type": "string", "title": "create: not required;" }, "group": { "title": "create: not required, default from service or set by UI;", "$ref": "#/definitions/general.Lookup" }, "impacted": { "title": "create: required, default is reporter or ui (if empty recognize as anonymous);", "$ref": "#/definitions/general.Lookup" }, "priority": { "title": "create: not required, default first value from priority lookup", "$ref": "#/definitions/general.Lookup" }, "rating": { "type": "string", "format": "int64" }, "rating_comment": { "type": "string" }, "reporter": { "title": "create: required (if empty recognize as anonymous contact);", "$ref": "#/definitions/general.Lookup" }, "service": { "title": "on this field base many other readonly fields on return", "$ref": "#/definitions/general.Lookup" }, "source": { "title": "source of the case", "$ref": "#/definitions/general.Lookup" }, "status": { "title": "create: not required, default initial value from status lookup or ui;", "$ref": "#/definitions/general.Lookup" }, "status_condition": { "$ref": "#/definitions/webitel.cases.StatusCondition" }, "subject": { "type": "string", "title": "create: required;" }, "userID": { "description": "Optional creator / updater ID. Use this to explicitly set the case creator / updater instead of deriving it from the auth token.", "$ref": "#/definitions/general.Lookup" } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of JSON fields to update.", "name": "x_json_mask", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of fields to include in the response.", "name": "fields", "in": "query" }, { "type": "boolean", "description": "Indicates whether to disable the trigger after the application execution.\nDefault is false (trigger **will** be executed).\nSet to true to explicitly prevent the trigger from running (e.g., when called from another trigger or internal flow).\n\n[WTEL-7055]", "name": "disableTrigger", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.UpdateCaseResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "Cases" ], "summary": "RPC method for updating an existing case.", "operationId": "UpdateCase2", "parameters": [ { "type": "string", "name": "input.etag", "in": "path", "required": true }, { "description": "Input data with updated fields.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "Input data with updated fields.", "properties": { "assignee": { "title": "create: not required, default from service or set by UI;", "$ref": "#/definitions/general.Lookup" }, "close_reason": { "title": "create: not required;", "$ref": "#/definitions/general.Lookup" }, "close_result": { "type": "string", "title": "create: not required; update: required only when case status goes to the final state" }, "contact_info": { "type": "string", "title": "create: not required;" }, "custom": { "description": "Custom data extension fields ..", "type": "object" }, "description": { "type": "string", "title": "create: not required;" }, "group": { "title": "create: not required, default from service or set by UI;", "$ref": "#/definitions/general.Lookup" }, "impacted": { "title": "create: required, default is reporter or ui (if empty recognize as anonymous);", "$ref": "#/definitions/general.Lookup" }, "priority": { "title": "create: not required, default first value from priority lookup", "$ref": "#/definitions/general.Lookup" }, "rating": { "type": "string", "format": "int64" }, "rating_comment": { "type": "string" }, "reporter": { "title": "create: required (if empty recognize as anonymous contact);", "$ref": "#/definitions/general.Lookup" }, "service": { "title": "on this field base many other readonly fields on return", "$ref": "#/definitions/general.Lookup" }, "source": { "title": "source of the case", "$ref": "#/definitions/general.Lookup" }, "status": { "title": "create: not required, default initial value from status lookup or ui;", "$ref": "#/definitions/general.Lookup" }, "status_condition": { "$ref": "#/definitions/webitel.cases.StatusCondition" }, "subject": { "type": "string", "title": "create: required;" }, "userID": { "description": "Optional creator / updater ID. Use this to explicitly set the case creator / updater instead of deriving it from the auth token.", "$ref": "#/definitions/general.Lookup" } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of JSON fields to update.", "name": "x_json_mask", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of fields to include in the response.", "name": "fields", "in": "query" }, { "type": "boolean", "description": "Indicates whether to disable the trigger after the application execution.\nDefault is false (trigger **will** be executed).\nSet to true to explicitly prevent the trigger from running (e.g., when called from another trigger or internal flow).\n\n[WTEL-7055]", "name": "disableTrigger", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.UpdateCaseResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/{input.primary_case.id}/related/{etag}": { "put": { "tags": [ "RelatedCases" ], "summary": "Update an existing related case", "operationId": "UpdateRelatedCase", "parameters": [ { "type": "string", "format": "int64", "name": "input.primary_case.id", "in": "path", "required": true }, { "type": "string", "description": "Identifier of the related case to update.", "name": "etag", "in": "path", "required": true }, { "description": "Input data for the related case update.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "Input data for the related case update.", "properties": { "primary_case": { "description": "Primary case details.", "type": "object", "title": "Primary case details.", "properties": { "name": { "type": "string" } } }, "related_case": { "description": "Related case details.", "$ref": "#/definitions/general.Lookup" }, "relation_type": { "description": "Relation type.", "$ref": "#/definitions/webitel.cases.RelationType" }, "userID": { "description": "Optional creator / updater ID. Use this to explicitly set the case creator / updater instead of deriving it from the auth token.", "$ref": "#/definitions/general.Lookup" } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to include in the response.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.RelatedCase" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "RelatedCases" ], "summary": "Update an existing related case", "operationId": "UpdateRelatedCase2", "parameters": [ { "type": "string", "format": "int64", "name": "input.primary_case.id", "in": "path", "required": true }, { "type": "string", "description": "Identifier of the related case to update.", "name": "etag", "in": "path", "required": true }, { "description": "Input data for the related case update.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "Input data for the related case update.", "properties": { "primary_case": { "description": "Primary case details.", "type": "object", "title": "Primary case details.", "properties": { "name": { "type": "string" } } }, "related_case": { "description": "Related case details.", "$ref": "#/definitions/general.Lookup" }, "relation_type": { "description": "Relation type.", "$ref": "#/definitions/webitel.cases.RelationType" }, "userID": { "description": "Optional creator / updater ID. Use this to explicitly set the case creator / updater instead of deriving it from the auth token.", "$ref": "#/definitions/general.Lookup" } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to include in the response.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.RelatedCase" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/{primary_case_etag}/related": { "get": { "tags": [ "RelatedCases" ], "summary": "List all related cases for a specific case", "operationId": "ListRelatedCases", "parameters": [ { "type": "string", "description": "Primary Case ID for which related cases are requested.", "name": "primary_case_etag", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number for pagination.", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Number of related cases per page.", "name": "size", "in": "query" }, { "type": "string", "description": "Query string for search.", "name": "q", "in": "query" }, { "type": "string", "description": "Sorting order.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to return for each related case.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Filter by ids", "name": "ids", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.RelatedCaseList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "RelatedCases" ], "summary": "Create a new related case", "operationId": "CreateRelatedCase", "parameters": [ { "type": "string", "description": "Primary case details.", "name": "primary_case_etag", "in": "path", "required": true }, { "description": "Input data for the related case.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.CreateInputRelatedCase" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to include in the response.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.RelatedCase" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/cases/{primary_case_etag}/related/{etag}": { "get": { "tags": [ "RelatedCases" ], "summary": "Retrieve a specific related case by ID", "operationId": "LocateRelatedCase", "parameters": [ { "type": "string", "description": "Primary case identifier.", "name": "primary_case_etag", "in": "path", "required": true }, { "type": "string", "description": "Identifier of the related case.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to return in the response.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.RelatedCase" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "RelatedCases" ], "summary": "Delete a specific related case", "operationId": "DeleteRelatedCase", "parameters": [ { "type": "string", "description": "Etag or ID of the primary case", "name": "primary_case_etag", "in": "path", "required": true }, { "type": "string", "description": "Identifier of the related case to delete.", "name": "etag", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.RelatedCase" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/chat/broadcast": { "post": { "tags": [ "Messages" ], "summary": "Broadcast message send message from via to peer recipients.", "operationId": "MessagesService_BroadcastMessage", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.chat.BroadcastMessageRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.chat.BroadcastMessageResponse" } } } } }, "/chat/customers": { "get": { "tags": [ "Messages" ], "summary": "Query of external chat customers", "operationId": "Catalog_GetCustomers", "parameters": [ { "type": "integer", "format": "int32", "description": "Page number to return. **default**: 1.", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Page records limit. **default**: 16.", "name": "size", "in": "query" }, { "type": "string", "description": "Search term: peer{id,name}", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort records by { fields } specification.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields [Q]uery to build result dataset record.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Set of unique contact **ID**entifier(s).", "name": "id", "in": "query" }, { "type": "string", "description": "The type of contact to filter.", "name": "type", "in": "query" }, { "type": "string", "description": "Contact unique **ID**entifier.\nContact **type**-specific string.", "name": "via.id", "in": "query" }, { "type": "string", "description": "Contact **type** provider.", "name": "via.type", "in": "query" }, { "type": "string", "description": "Contact display **name**.", "name": "via.name", "in": "query" }, { "type": "string", "description": "Contact source identifier.", "name": "via.etag", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.chat.ChatCustomers" } } } } }, "/chat/dialogs": { "get": { "tags": [ "Messages" ], "summary": "Query of chat conversations", "operationId": "Catalog_GetDialogs", "parameters": [ { "type": "integer", "format": "int32", "description": "Page number to return. **default**: 1.", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Page records limit. **default**: 16.", "name": "size", "in": "query" }, { "type": "string", "description": "Search term: peer.name", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort records by { fields } specification.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields [Q]uery to build result dataset record.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Set of unique chat IDentifier(s).\nAccept: dialog -or- member ID.", "name": "id", "in": "query" }, { "type": "string", "description": "Contact unique **ID**entifier.\nContact **type**-specific string.", "name": "via.id", "in": "query" }, { "type": "string", "description": "Contact **type** provider.", "name": "via.type", "in": "query" }, { "type": "string", "description": "Contact display **name**.", "name": "via.name", "in": "query" }, { "type": "string", "description": "Contact source identifier.", "name": "via.etag", "in": "query" }, { "type": "string", "description": "Contact unique **ID**entifier.\nContact **type**-specific string.", "name": "peer.id", "in": "query" }, { "type": "string", "description": "Contact **type** provider.", "name": "peer.type", "in": "query" }, { "type": "string", "description": "Contact display **name**.", "name": "peer.name", "in": "query" }, { "type": "string", "description": "Contact source identifier.", "name": "peer.etag", "in": "query" }, { "type": "string", "format": "int64", "description": "Since epochtime (milli).\n**Match**: greater than ..", "name": "date.since", "in": "query" }, { "type": "string", "format": "int64", "description": "Until epochtime (milli).\n**Match**: less or equal ..", "name": "date.until", "in": "query" }, { "type": "boolean", "description": "Dialogs ONLY that are currently [not] active( closed: ? ).", "name": "online", "in": "query" }, { "type": "boolean", "description": "Dialogs ONLY that have [not] been rated.", "name": "rated", "in": "query" }, { "type": "string", "description": "Includes ONLY those chat dialogs\nwhose member channel(s) contain\na specified set of variables.\n\n10", "name": "group[string]", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.chat.ChatDialogs" } } } } }, "/chat/dialogs/{chat_id}/members": { "get": { "tags": [ "Messages" ], "summary": "Query of chat participants", "operationId": "Catalog_GetMembers", "parameters": [ { "type": "string", "description": "ID of the chat dialog.", "name": "chat_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number to return. **default**: 1.", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Page records limit. **default**: 16.", "name": "size", "in": "query" }, { "type": "string", "description": "Search term: peer(type;name)", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort records by { fields } specification.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields [Q]uery to build result dataset record.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Set of unique chat member ID.", "name": "id", "in": "query" }, { "type": "string", "description": "Contact unique **ID**entifier.\nContact **type**-specific string.", "name": "via.id", "in": "query" }, { "type": "string", "description": "Contact **type** provider.", "name": "via.type", "in": "query" }, { "type": "string", "description": "Contact display **name**.", "name": "via.name", "in": "query" }, { "type": "string", "description": "Contact source identifier.", "name": "via.etag", "in": "query" }, { "type": "string", "description": "Contact unique **ID**entifier.\nContact **type**-specific string.", "name": "peer.id", "in": "query" }, { "type": "string", "description": "Contact **type** provider.", "name": "peer.type", "in": "query" }, { "type": "string", "description": "Contact display **name**.", "name": "peer.name", "in": "query" }, { "type": "string", "description": "Contact source identifier.", "name": "peer.etag", "in": "query" }, { "type": "string", "format": "int64", "description": "Since epochtime (milli).\n**Match**: greater than ..", "name": "date.since", "in": "query" }, { "type": "string", "format": "int64", "description": "Until epochtime (milli).\n**Match**: less or equal ..", "name": "date.until", "in": "query" }, { "type": "boolean", "description": "Participants ONLY who are currently [not] connected to the chat.\n( left: ( 0 ? online : offline ) )", "name": "online", "in": "query" }, { "type": "boolean", "description": "Participants ONLY who have [not] been connected to the chat.\n( join: ( 0 ? [request|abandoned] : connected ) )", "name": "joined", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.chat.ChatMembers" } } } } }, "/chat/dialogs/{chat_id}/messages": { "get": { "tags": [ "Messages" ], "summary": "Query of the chat history", "operationId": "Catalog_GetHistory", "parameters": [ { "type": "string", "description": "Unique chat dialog", "name": "chat_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "Messages ONLY starting from the specified message ID", "name": "offset.id", "in": "query" }, { "type": "string", "format": "int64", "description": "Messages ONLY been sent before the specified epochtime(milli).", "name": "offset.date", "in": "query" }, { "type": "integer", "format": "int32", "description": "Number of messages to return.", "name": "limit", "in": "query" }, { "type": "string", "description": "Search term: message.text", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to return into result.", "name": "fields", "in": "query" }, { "type": "string", "description": "Contact unique **ID**entifier.\nContact **type**-specific string.", "name": "peer.id", "in": "query" }, { "type": "string", "description": "Contact **type** provider.", "name": "peer.type", "in": "query" }, { "type": "string", "description": "Contact display **name**.", "name": "peer.name", "in": "query" }, { "type": "string", "description": "Contact source identifier.", "name": "peer.etag", "in": "query" }, { "type": "string", "description": "Includes the history of ONLY those dialogs\nwhose member channel(s) contain\na specified set of variables.", "name": "group[string]", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.chat.ChatMessages" } } } } }, "/chat/{conversation_id}/contact": { "post": { "tags": [ "ContactLinkingService" ], "summary": "CreateContactFromConversation creates new contact from the data existing in the conversation and after that links this contact to the external user.", "operationId": "ContactLinkingService_CreateContactFromConversation", "parameters": [ { "type": "string", "name": "conversation_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "timezone.id", "in": "query" }, { "type": "string", "name": "timezone.name", "in": "query" }, { "type": "string", "format": "int64", "name": "owner.id", "in": "query" }, { "type": "string", "name": "owner.name", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "label", "in": "query" }, { "type": "string", "name": "name", "in": "query" }, { "type": "string", "name": "description", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.chat.Lookup" } } } } }, "/chat/{conversation_id}/link": { "post": { "tags": [ "ContactLinkingService" ], "summary": "LinkContactToClient creates connection between existing internal contact and external client.", "operationId": "ContactLinkingService_LinkContactToClient", "parameters": [ { "type": "string", "name": "conversation_id", "in": "path", "required": true }, { "type": "string", "name": "contact_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.chat.EmptyResponse" } } } } }, "/chat/{peer.type}/{peer.id}/messages": { "get": { "tags": [ "Messages" ], "summary": "Query of the chat history", "operationId": "Catalog_GetHistory2", "parameters": [ { "type": "string", "description": "Contact **type** provider.", "name": "peer.type", "in": "path", "required": true }, { "type": "string", "description": "Contact unique **ID**entifier.\nContact **type**-specific string.", "name": "peer.id", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "Messages ONLY starting from the specified message ID", "name": "offset.id", "in": "query" }, { "type": "string", "format": "int64", "description": "Messages ONLY been sent before the specified epochtime(milli).", "name": "offset.date", "in": "query" }, { "type": "integer", "format": "int32", "description": "Number of messages to return.", "name": "limit", "in": "query" }, { "type": "string", "description": "Search term: message.text", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to return into result.", "name": "fields", "in": "query" }, { "type": "string", "description": "Unique chat dialog", "name": "chat_id", "in": "query" }, { "type": "string", "description": "Contact display **name**.", "name": "peer.name", "in": "query" }, { "type": "string", "description": "Contact source identifier.", "name": "peer.etag", "in": "query" }, { "type": "string", "description": "Includes the history of ONLY those dialogs\nwhose member channel(s) contain\na specified set of variables.", "name": "group[string][string]", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.chat.ChatMessages" } } } } }, "/close_reason_groups/{close_reason_group_id}/close_reasons": { "get": { "tags": [ "CloseReasons" ], "summary": "Retrieve a list of close reasons or search close reasons", "operationId": "ListCloseReasons", "parameters": [ { "type": "string", "format": "int64", "description": "Close reason group ID filter", "name": "close_reason_group_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "type": "string", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "string", "description": "Search query string for filtering by name. Supports:\n- Wildcards (*) for substring matching\n- Placeholder (?) for single character substitution\n- Exact match for full names", "name": "q", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CloseReasonList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "CloseReasons" ], "summary": "Create a new close reason", "operationId": "CreateCloseReason", "parameters": [ { "type": "string", "format": "int64", "name": "close_reason_group_id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputCloseReason" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CloseReason" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/close_reason_groups/{close_reason_group_id}/close_reasons/{id}": { "get": { "tags": [ "CloseReasons" ], "summary": "Locate a close reason by ID", "operationId": "LocateCloseReason", "parameters": [ { "type": "string", "format": "int64", "name": "close_reason_group_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.LocateCloseReasonResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "CloseReasons" ], "summary": "Update an existing close reason", "operationId": "UpdateCloseReason", "parameters": [ { "type": "string", "format": "int64", "name": "close_reason_group_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputCloseReason" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CloseReason" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "CloseReasons" ], "summary": "Delete a close reason", "operationId": "DeleteCloseReason", "parameters": [ { "type": "string", "format": "int64", "name": "close_reason_group_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CloseReason" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "CloseReasons" ], "summary": "Update an existing close reason", "operationId": "UpdateCloseReason2", "parameters": [ { "type": "string", "format": "int64", "name": "close_reason_group_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputCloseReason" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CloseReason" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/contacts": { "get": { "description": "| Field | Type \n| ----------- | ---- \n| **----------- READ-ONLY -----------** | \n| `id` | int64 \n| `ver` | int32 \n| `etag` | string \n| **---------- OPERATIONAL ----------** | \n| `created_at` | int64(epoch:milli) \n| `created_by` | lookup(user) \n| `updated_at` | int64(epoch:milli) \n| `updated_by` | lookup(user) \n| **---------- ATTRIBUTES -----------** | \n| `name` | name! \n| `about` | string \n| `labels` | list[label!] \n| `emails` | list[email!] \n| `photos` | list[photo!] \n| `phones` | list[phone!] \n| `managers` | list[manager!] \n| `comments` | list[comment!] \n| `addresses` | list[address!] \n| `timezones` | list[timezone!] \n| `variables` | list[variable!] \n| `imclients` | list[imClient!] \n", "tags": [ "Contacts" ], "summary": "Search for Contact(s)", "operationId": "SearchContacts", "parameters": [ { "type": "integer", "format": "int32", "description": "Page number of result records. _default(1); offset=(size*(page-1));_\n\n```javascript\nlet\n offset = 0\n , page = req.page\n;\nif (page \u003c= 0)\n page = 1;\nif (page \u003e 1)\n offset = ((page-1)*size);\n// . . .\n```", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Limit of result page records count. _default(16); limit=(size\u003c=0?-1:size+1);_\n\n```javascript\nconst\n default = 16\n , maximum = 32\n;\nlet limit = req.size;\nif (limit \u003c= 0)\n limit = default;\nif (maximum \u003c limit)\n limit = maximum;\n// . . .\n```", "name": "size", "in": "query" }, { "type": "string", "description": "Search term:\n`?` - matches any character\n`*` - matches 0 or more characters\nUsed to query records within a set of `qin` fields, eg: name,emails{type},labels etc...", "name": "q", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "pattern": "^[+|-|!]?\\w+$", "type": "string", "default": "id" }, "collectionFormat": "multi", "x-example": "!updated_at,tag", "description": "Sort result dataset of records by fields.\n```\nsort ::= *( ORDER name )\n\nORDER = ASC / DESC\nDESC = \"-\" / \"!\"\nASC = [ \"+\" ] ; Default\n```\n\nFields available\n\n- `id`(seq)\n- `domain`{name}\n- `created_at`\n- `created_by`{name}\n- `updated_at`\n- `updated_by`{name}\n\nUse ?fields=`field.sort()` option to sort Edge fields.", "name": "sort", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "type": "string", "default": "*" }, "collectionFormat": "multi", "x-example": "*,labels.size(3).sort(!updated_at){updated_at,label}", "description": "Fields [Q]uery to build result dataset record.\n```\nfields ::= field [ *( \",\" field ) ]\nfield ::= name [ *( func ) ] [ inner ]\ninner ::= \"{\" fields \"}\"\nfuncs ::= *( func )\nfunc ::= \".\" name \"(\" [ args ] \")\"\nname ::= ALPHA / DIGIT / USCORE\n\nALPHA = %x41-5A / %x61-7A ; \"A\"-\"Z\" / \"a\"-\"z\"\nDIGIT = %x30-39 ; \"0\"-\"9\"\nUSCORE = %x5F ; underscore ; \"_\"\n```", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Records with unique IDentifier(s).\nAccept: `id` -or- `etag`.", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "[Q]uery[IN] is a set of search fields for term `q`.\nDefault: `name{common_name}`.", "name": "qin", "in": "query" }, { "enum": [ "READ", "WRITE", "DELETE" ], "type": "string", "default": "READ", "description": "Source access mode requirement.\n\n - READ: Can `fetch` record. [GET]\n - WRITE: Can `update` record. [PUT|PATCH]\n - DELETE: Can `delete` record. [DELETE]", "name": "mode", "in": "query" }, { "type": "string", "format": "int64", "description": "Excludes contacts that belong to the specified group ID.\n- Filters out contacts associated with the given `group_id`.", "name": "not_id_group", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "Filters contacts by the specified group(s).\n- Includes only contacts that belong to one or more of the given group Group(s).", "name": "group", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "Filters contacts by the specified owner(s).\n- Includes only contacts whose owner matches one or more of the given Owner(s).\n- The owner ID corresponds to `contact_id` in the `directory.wbt_user` table.", "name": "owner", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Filters contacts by the specified label(s).\n- Includes only contacts that have one or more of the given Label(s).", "name": "label", "in": "query" }, { "type": "boolean", "description": "Filters contacts based on whether they are user-associated.\n- `true` → Includes only user-associated contacts.\n- `false` → Includes only contacts that are NOT user-associated.\n- A contact is considered user-associated if it exists in `directory.wbt_user`.", "name": "user", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsContactList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "Contacts" ], "summary": "Create NEW Contact", "operationId": "CreateContact", "parameters": [ { "description": "NEW Contact source changes", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/contactsInputContact" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Source Fields to return into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitelContactsContact" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/bulk": { "post": { "tags": [ "Contacts" ], "summary": "Bulk create of Contacts.", "operationId": "CreateContacts", "parameters": [ { "description": "Data is a set of Contacts to be created.", "name": "input", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputContact" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsCreateContactsBulkResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/groups": { "get": { "tags": [ "Groups" ], "summary": "Retrieve a list of groups or search groups", "operationId": "ListGroups", "parameters": [ { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Filter by unique IDs.", "name": "id", "in": "query" }, { "type": "string", "description": "Search term: group name;\n`?` - matches any one character\n`*` - matches 0 or more characters", "name": "q", "in": "query" }, { "type": "string", "description": "Filter by group name.", "name": "name", "in": "query" }, { "enum": [ "GROUP_TYPE_UNSPECIFIED", "STATIC", "DYNAMIC" ], "type": "string", "default": "GROUP_TYPE_UNSPECIFIED", "description": "Filter by group type.\n\n - GROUP_TYPE_UNSPECIFIED: Default value\n - STATIC: Static group\n - DYNAMIC: Dynamic group", "name": "type", "in": "query" }, { "type": "boolean", "description": "Filter by only enabled group", "name": "enabled", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsGroupList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "Groups" ], "summary": "Create a new group", "operationId": "CreateGroup", "parameters": [ { "description": "Request message for creating a new group.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/contactsCreateGroupRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/groups/conditions/{id}": { "get": { "tags": [ "DynamicConditions" ], "summary": "Locate a condition by ID", "operationId": "LocateCondition", "parameters": [ { "type": "string", "format": "int64", "description": "Unique ID of the condition.", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsLocateConditionResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "DynamicConditions" ], "summary": "Update an existing condition", "operationId": "UpdateCondition", "parameters": [ { "type": "string", "format": "int64", "description": "The unique ID of the condition to update.", "name": "id", "in": "path", "required": true }, { "description": "Input details for the condition.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/contactsInputCondition" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsCondition" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "DynamicConditions" ], "summary": "Delete a condition", "operationId": "DeleteCondition", "parameters": [ { "type": "string", "format": "int64", "description": "The unique ID of the condition to delete.\n\nUnique ID of the condition.", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsCondition" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "DynamicConditions" ], "summary": "Update an existing condition", "operationId": "UpdateCondition2", "parameters": [ { "type": "string", "format": "int64", "description": "The unique ID of the condition to update.", "name": "id", "in": "path", "required": true }, { "description": "Input details for the condition.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/contactsInputCondition" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsCondition" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/groups/contacts:attach": { "post": { "tags": [ "Groups" ], "summary": "Attach contacts to multiple groups", "operationId": "AddContactsToGroups", "parameters": [ { "description": "Request message for adding contacts to a group.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/contactsAddContactsToGroupRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsContactList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/groups/dynamic": { "get": { "tags": [ "DynamicGroups" ], "summary": "Retrieve a list of dynamic groups or search dynamic groups", "operationId": "ListDynamicGroups", "parameters": [ { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "Filter by unique IDs.", "name": "id", "in": "query" }, { "type": "string", "description": "Search term: group name;\n`?` - matches any one character\n`*` - matches 0 or more characters", "name": "q", "in": "query" }, { "type": "string", "description": "Filter by group name.", "name": "name", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsDynamicGroupList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "DynamicGroups" ], "summary": "Create a new dynamic group", "operationId": "CreateDynamicGroup", "parameters": [ { "description": "Request message for creating a new dynamic group.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/contactsCreateDynamicGroupRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsDynamicGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/groups/{group_id}/conditions": { "get": { "tags": [ "DynamicConditions" ], "summary": "Retrieve a list of conditions", "operationId": "ListConditions", "parameters": [ { "type": "string", "format": "int64", "description": "The ID of the group to which the conditions belong.", "name": "group_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "string", "description": "Search term for conditions.", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "Filter by unique IDs.", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsConditionList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "DynamicConditions" ], "summary": "Create a new condition", "operationId": "CreateCondition", "parameters": [ { "type": "string", "format": "int64", "description": "The ID of the group to which the condition belongs.", "name": "group_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/DynamicConditionsCreateConditionBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsCondition" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/groups/{group_id}/contact": { "delete": { "tags": [ "Groups" ], "summary": "Remove contacts from a group", "operationId": "RemoveContactsFromGroup", "parameters": [ { "type": "string", "format": "int64", "description": "The unique ID of the group.", "name": "group_id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "List of contact IDs to remove from the group.", "name": "contact_ids", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsContactList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/groups/{id}": { "get": { "tags": [ "Groups" ], "summary": "Locate a group by ID", "operationId": "LocateGroup", "parameters": [ { "type": "string", "description": "The unique ID of the group to locate.", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsLocateGroupResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "Groups" ], "summary": "Update an existing group", "operationId": "UpdateGroup", "parameters": [ { "type": "string", "description": "The unique ID of the group to update.", "name": "id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/contactsInputGroup" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Groups" ], "summary": "Delete a group", "operationId": "DeleteGroup", "parameters": [ { "type": "string", "description": "The unique ID of the group to delete.", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "Groups" ], "summary": "Update an existing group", "operationId": "UpdateGroup2", "parameters": [ { "type": "string", "description": "The unique ID of the group to update.", "name": "id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/contactsInputGroup" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/groups/{id}/dynamic": { "get": { "tags": [ "DynamicGroups" ], "summary": "Locate a dynamic group by ID", "operationId": "LocateDynamicGroup", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsLocateDynamicGroupResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "DynamicGroups" ], "summary": "Update an existing dynamic group", "operationId": "UpdateDynamicGroup", "parameters": [ { "type": "string", "format": "int64", "description": "The unique ID of the dynamic group to update.", "name": "id", "in": "path", "required": true }, { "description": "Input details for the dynamic group.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/contactsDynamicGroupInput" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsDynamicGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "DynamicGroups" ], "summary": "Delete a dynamic group", "operationId": "DeleteDynamicGroup", "parameters": [ { "type": "string", "format": "int64", "description": "The unique ID of the dynamic group to delete.", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsDynamicGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "DynamicGroups" ], "summary": "Update an existing dynamic group", "operationId": "UpdateDynamicGroup2", "parameters": [ { "type": "string", "format": "int64", "description": "The unique ID of the dynamic group to update.", "name": "id", "in": "path", "required": true }, { "description": "Input details for the dynamic group.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/contactsDynamicGroupInput" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsDynamicGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/labels": { "get": { "tags": [ "Labels" ], "summary": "Search for Contacts engaged Label(s).", "operationId": "GetLabels", "parameters": [ { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = ((page-1)*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size+1)", "name": "size", "in": "query" }, { "type": "string", "description": "Search term: label.\n`?` - matches any one character\n`*` - matches 0 or more characters", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsLabelTags" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/cases": { "get": { "tags": [ "Cases" ], "summary": "RPC method for searching cases.", "operationId": "SearchCases2", "parameters": [ { "type": "string", "description": "Contact ID for filtering cases.", "name": "contact_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number for pagination.", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Number of results per page.", "name": "size", "in": "query" }, { "type": "string", "description": "General query string.", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of specific case IDs to retrieve.", "name": "ids", "in": "query" }, { "type": "string", "description": "Sorting criteria (e.g., field:asc).", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of fields to include in the response.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Key-value pairs for additional filtering.", "name": "filters", "in": "query" }, { "type": "string", "description": "Specify which fields to apply 'q' to.", "name": "qin", "in": "query" }, { "type": "string", "description": "Updated filters with CEL syntax.", "name": "filters_v1", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.CaseList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/contacts/{contact_id}/chat/messages": { "get": { "tags": [ "ContactsChatCatalog" ], "operationId": "ContactsChatCatalog_GetContactChatHistory2", "parameters": [ { "type": "string", "description": "Contact identificator", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "Messages ONLY starting from the specified message ID", "name": "offset.id", "in": "query" }, { "type": "string", "format": "int64", "description": "Messages ONLY been sent before the specified epochtime(milli).", "name": "offset.date", "in": "query" }, { "type": "integer", "format": "int32", "description": "Number of messages to return.", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "string", "description": "Search term: message.text", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to return into result.", "name": "fields", "in": "query" }, { "type": "string", "description": "Unique chat dialog", "name": "chat_id", "in": "query" }, { "type": "string", "description": "Includes the history of ONLY those dialogs\nwhose member channel(s) contain\na specified set of variables.", "name": "group[string][string]", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.chat.GetContactChatHistoryResponse" } } } } }, "/contacts/{contact_id}/chat/{chat_id}/messages": { "get": { "tags": [ "ContactsChatCatalog" ], "operationId": "ContactsChatCatalog_GetContactChatHistory", "parameters": [ { "type": "string", "description": "Contact identificator", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Unique chat dialog", "name": "chat_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "Messages ONLY starting from the specified message ID", "name": "offset.id", "in": "query" }, { "type": "string", "format": "int64", "description": "Messages ONLY been sent before the specified epochtime(milli).", "name": "offset.date", "in": "query" }, { "type": "integer", "format": "int32", "description": "Number of messages to return.", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "string", "description": "Search term: message.text", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to return into result.", "name": "fields", "in": "query" }, { "type": "string", "description": "Includes the history of ONLY those dialogs\nwhose member channel(s) contain\na specified set of variables.", "name": "group[string]", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.chat.GetContactChatHistoryResponse" } } } } }, "/contacts/{contact_id}/comments": { "get": { "tags": [ "Comments" ], "summary": "Search for Contact Comment(s) ...", "operationId": "SearchComments", "parameters": [ { "type": "string", "format": "int64", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number of result. offset = ((page-1)*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size of result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "string", "description": "Search term: comment text;\n`?` - matches any character\n`*` - matches 0 or more characters\n\nterm-of-search: lookup[name|...]", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Comment(s) with unique ID only.", "name": "id", "in": "query" }, { "enum": [ "READ", "WRITE", "DELETE" ], "type": "string", "default": "READ", "description": "The requirement of [M]andatory [A]ccess [C]ontrol.\n\n - READ: Can `fetch` record. [GET]\n - WRITE: Can `update` record. [PUT|PATCH]\n - DELETE: Can `delete` record. [DELETE]", "name": "mode", "in": "query" }, { "type": "string", "format": "int64", "description": "Since timestamp(milli). Not before.", "name": "date.since", "in": "query" }, { "type": "string", "format": "int64", "description": "Until timestamp(milli). Not after.", "name": "date.until", "in": "query" }, { "type": "string", "description": "Reference Object unique ID.", "name": "author.id", "in": "query" }, { "type": "string", "description": "Reference Object well-known type.", "name": "author.type", "in": "query" }, { "type": "string", "description": "Reference Object display name.", "name": "author.name", "in": "query" }, { "type": "string", "description": "Reference Object unique ID.", "name": "editor.id", "in": "query" }, { "type": "string", "description": "Reference Object well-known type.", "name": "editor.type", "in": "query" }, { "type": "string", "description": "Reference Object display name.", "name": "editor.name", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsCommentList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "Comments" ], "summary": "Publish comment for a Contact.", "operationId": "PublishComment_Comments", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "description": "NEW Comment for a Contact publication.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/contactsInputComment" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsComment" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/comments/{etag}": { "put": { "tags": [ "Comments" ], "summary": "Update (edit) specific Comment text owned", "operationId": "UpdateComment_Comments", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Unique ID of the latest version of an existing resorce.", "name": "etag", "in": "path", "required": true }, { "description": "NEW Edition of the Comment.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "NEW Edition of the Comment.", "required": [ "text" ], "properties": { "format": { "description": "NEW Text components styling format.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/CommentFormat" } }, "text": { "description": "NEW Text of the comment.", "type": "string" } }, "example": { "text": "This is a new note about the contact's recent activity. So ..." } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsComment" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Comments" ], "summary": "Delete Comment(s) for Contact ...", "operationId": "DeleteComment_Comments", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "minItems": 1, "type": "array", "items": { "type": "string" }, "collectionFormat": "csv", "description": "Set of unique ID(s) to remove.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "Comment dataset page.", "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsComment" } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/emails": { "get": { "tags": [ "Emails" ], "summary": "Locates email address(es) of the contact.", "operationId": "ListEmails", "parameters": [ { "type": "string", "description": "The Contact ID linked with.", "name": "contact_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "string", "description": "Search term: email address.\n`?` - matches any one character\n`*` - matches 0 or more characters", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Link(s) with unique ID only.", "name": "id", "in": "query" }, { "type": "boolean", "description": "Primary email address only.", "name": "primary", "in": "query" }, { "type": "boolean", "description": "Verified email addresses only.", "name": "verified", "in": "query" }, { "type": "string", "description": "Reference Object unique ID.", "name": "type.id", "in": "query" }, { "type": "string", "description": "Reference Object well-known type.", "name": "type.type", "in": "query" }, { "type": "string", "description": "Reference Object display name.", "name": "type.name", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsEmailList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "Emails" ], "summary": "Resets all emails of the contact according to the input dataset.", "operationId": "ResetEmails", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "description": "Final set of email address(es) to be linked with the contact.\nEmail address(es) that are already linked with the contact\nbut not given in here will be removed.", "name": "input", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputEmailAddress" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsEmailList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "Emails" ], "summary": "Update or append email address(es) of the contact.", "operationId": "MergeEmails", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "description": "Fixed set of email address(es) to be linked with the contact.\nEmail address(es) that conflicts(email) with already linked will be updated.", "name": "input", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputEmailAddress" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsEmailList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Emails" ], "summary": "Remove email address(es) of the contact.", "operationId": "DeleteEmails", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "pattern": "^.+$", "type": "string" }, "collectionFormat": "multi", "description": "Set of unique ID(s) to remove.", "name": "etag", "in": "query", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsEmailList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/emails/{etag}": { "get": { "tags": [ "Emails" ], "summary": "Locate the email address link.", "operationId": "LocateEmail", "parameters": [ { "type": "string", "description": "Contact source ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "format": "\\w+", "description": "Unique mail address link IDentifier.\nAccept: `etag` (obsolete+) or `id`.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsEmailAddress" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "Emails" ], "summary": "Update the contact's email address link details", "operationId": "UpdateEmail", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Unique ID of the latest version of an existing resorce.", "name": "etag", "in": "path", "required": true }, { "description": "NEW Update of the email address link.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "NEW Update of the email address link.", "required": [ "email" ], "properties": { "email": { "description": "The email address.", "type": "string" }, "primary": { "description": "Indicates whether this phone number is default within other channels of the same type(phone).", "type": "boolean" }, "type": { "title": "The type of the email address.\nLookup value from CommunicationType dictionary.\nThe type can be custom or one of these predefined values:\n- home\n- work\n- other", "$ref": "#/definitions/webitelContactsLookup" }, "verified": { "type": "boolean", "title": "Indicate whether Contact, as a Person, realy owns this associated phone number.\nIn other words: whether Contact is reachable thru this 'email' communication channel ?" } }, "example": { "email": "user@domain", "etag": "1679792219687", "primary": true, "type": { "name": "personal" }, "verified": false } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsEmailList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Emails" ], "summary": "Remove the contact's email address link", "operationId": "DeleteEmail", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "pattern": "^\\.+$", "type": "string", "description": "Unique ID to remove.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsEmailAddress" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "Emails" ], "summary": "Update the contact's email address link details", "operationId": "UpdateEmail2", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Unique ID of the latest version of an existing resorce.", "name": "etag", "in": "path", "required": true }, { "description": "NEW Update of the email address link.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "NEW Update of the email address link.", "required": [ "email" ], "properties": { "email": { "description": "The email address.", "type": "string" }, "primary": { "description": "Indicates whether this phone number is default within other channels of the same type(phone).", "type": "boolean" }, "type": { "title": "The type of the email address.\nLookup value from CommunicationType dictionary.\nThe type can be custom or one of these predefined values:\n- home\n- work\n- other", "$ref": "#/definitions/webitelContactsLookup" }, "verified": { "type": "boolean", "title": "Indicate whether Contact, as a Person, realy owns this associated phone number.\nIn other words: whether Contact is reachable thru this 'email' communication channel ?" } }, "example": { "email": "user@domain", "etag": "1679792219687", "primary": true, "type": { "name": "personal" }, "verified": false } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsEmailList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/groups": { "get": { "tags": [ "ContactGroups" ], "summary": "List of the Contact's group(s).", "operationId": "ListContactGroups", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "string", "description": "Search term: group name;\n`?` - matches any one character\n`*` - matches 0 or more characters", "name": "query", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Record(s) with unique ID only.", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsContactGroupList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "ContactGroups" ], "summary": "Resets all groups of the contact according to the input dataset.", "operationId": "ResetContactGroups", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "description": "Final set of group(s) to be linked with the contact.\nGroup(s) that are already linked with the contact\nbut not given in here will be removed.", "name": "input", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputContactGroup" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsContactGroupList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "ContactGroups" ], "summary": "Associate more group(s) with the Contact.", "operationId": "MergeContactGroups", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "description": "Array of the unique User(s) to associate with the Contact.\nAny duplicate of an already linked user{id} will result in an error.", "name": "input", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputContactGroup" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsContactGroupList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "ContactGroups" ], "summary": "Remove the Contact's group(s).", "operationId": "DeleteContactGroups", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Set of unique ID(s) to remove.", "name": "etag", "in": "query", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsContactGroupList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/groups/{etag}": { "get": { "tags": [ "ContactGroups" ], "summary": "Locate the Contact's group association.", "operationId": "LocateContactGroup", "parameters": [ { "type": "string", "description": "Contact source ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "format": "\\w+", "description": "Unique group link IDentifier.\nAccept: `etag` (obsolete+) or `id`.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsContactGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "ContactGroups" ], "summary": "Update the Contact's group details.", "operationId": "UpdateContactGroup", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Unique ID of the latest version of an existing resource.", "name": "etag", "in": "path", "required": true }, { "description": "NEW Update of the group link.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "NEW Update of the group link.", "properties": { "group": { "description": "Group of contacts associated.", "$ref": "#/definitions/webitelContactsLookup" } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsContactGroupList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "ContactGroups" ], "summary": "Remove the Contact's group association.", "operationId": "DeleteContactGroup", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "pattern": "^\\.+$", "type": "string", "description": "Unique ID to remove.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsContactGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "ContactGroups" ], "summary": "Update the Contact's group details.", "operationId": "UpdateContactGroup2", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Unique ID of the latest version of an existing resource.", "name": "etag", "in": "path", "required": true }, { "description": "NEW Update of the group link.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "NEW Update of the group link.", "properties": { "group": { "description": "Group of contacts associated.", "$ref": "#/definitions/webitelContactsLookup" } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsContactGroupList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/imclients": { "get": { "tags": [ "IMClients" ], "summary": "Search IM client links", "operationId": "ListIMClients", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "string", "description": "Search term: IMClient.\n`?` - matches any one character\n`*` - matches 0 or more characters\nSearch fields: {user,app}", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Link(s) with unique ID only.", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsIMClientList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/imclients/{id}": { "delete": { "tags": [ "IMClients" ], "operationId": "DeleteIMClient", "parameters": [ { "type": "string", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsEmptyResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/labels": { "get": { "tags": [ "Labels" ], "summary": "Locate the Contact's associated Label(s).", "operationId": "ListLabels", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = ((page-1)*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size+1)", "name": "size", "in": "query" }, { "type": "string", "description": "Search term: label tag.\n`?` - matches any one character\n`*` - matches 0 or more characters", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Record(s) with unique ID or ETag.", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsLabelList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "Labels" ], "summary": "Reset Labels to fit the specified final set.", "operationId": "ResetLabels", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "description": "Final set of labels(s) to be linked with the contact.\nLabel(s) that are already linked with the contact\nbut not given in here will be removed.", "name": "input", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputLabel" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsLabelList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "Labels" ], "summary": "Associate NEW Labels to the Contact.", "operationId": "MergeLabels", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "description": "Fixed set of label(s) to be linked with the contact.\nLabel(s) that conflicts with already linked will be updated.", "name": "input", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputLabel" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsLabelList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Labels" ], "summary": "Remove Contact Labels associations.", "operationId": "DeleteLabels", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result.", "name": "fields", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "pattern": "^(\\w+)(,\\w+)*$", "type": "string" }, "collectionFormat": "multi", "description": "Set of unique label(s).etag identifiers.", "name": "etag", "in": "query", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsLabelList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/languages": { "get": { "tags": [ "Languages" ], "summary": "List of the Contact's language association(s).", "operationId": "GetContactLanguages", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "string", "description": "Search term: language tag (lang, name, region, ..)\n`?` - matches any one character\n`*` - matches 0 or more characters", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Language(s) with unique ID|ETag only.", "name": "id", "in": "query" }, { "type": "boolean", "description": "Primary language only.", "name": "primary", "in": "query" }, { "type": "string", "name": "code", "in": "query" }, { "type": "string", "name": "lang", "in": "query" }, { "type": "string", "name": "name", "in": "query" }, { "type": "string", "name": "region", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsLanguageList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "Languages" ], "summary": "Reset all Contact's languages to fit the specified fixed set.", "operationId": "SetContactLanguages", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "description": "Final set [array] of the unique well-formed IETF BCP 47 language tag(s) to associate with the Contact.\nThe first element will become `primary` one.", "name": "input", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputLanguage" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsLanguageList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "Languages" ], "summary": "Associate more language(s) with the Contact.", "operationId": "AddContactLanguages", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "description": "Array of the unique well-formed IETF BCP 47 language tag(s) to associate with the Contact.\nThe first element will become `primary` one.", "name": "input", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputLanguage" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsLanguageList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Languages" ], "summary": "Remove the Contact's language association(s).", "operationId": "DelContactLanguages", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Set of unique language{etag} association(s) to remove.", "name": "etag", "in": "query", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsLanguageList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/languages/{etag}": { "put": { "tags": [ "Languages" ], "summary": "Update the Contact's language association details.", "operationId": "SetContactLanguage", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Unique ID of the latest version of an existing association.", "name": "etag", "in": "path", "required": true }, { "description": "Final set [array] of the unique well-formed IETF BCP 47 language tag(s) to associate with the Contact.\nThe first element will become `primary` one.", "name": "input", "in": "body", "required": true, "schema": { "description": "Final set [array] of the unique well-formed IETF BCP 47 language tag(s) to associate with the Contact.\nThe first element will become `primary` one.", "type": "object", "properties": { "primary": { "description": "Indicates whether this association must be default\namong others of the same type.", "type": "boolean" }, "tag": { "type": "string", "title": "NEW, well-formed IETF BCP 47 language tag representing the locale.\nhttps://www.rfc-editor.org/info/bcp47" } }, "example": { "primary": false, "tag": "uk" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsLanguageList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Languages" ], "summary": "Remove the Contact's language association.", "operationId": "DelContactLanguage", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Unique ID of the language association: {id,etag,code}.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsLanguage" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "Languages" ], "summary": "Update the Contact's language association details.", "operationId": "SetContactLanguage2", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Unique ID of the latest version of an existing association.", "name": "etag", "in": "path", "required": true }, { "description": "Final set [array] of the unique well-formed IETF BCP 47 language tag(s) to associate with the Contact.\nThe first element will become `primary` one.", "name": "input", "in": "body", "required": true, "schema": { "description": "Final set [array] of the unique well-formed IETF BCP 47 language tag(s) to associate with the Contact.\nThe first element will become `primary` one.", "type": "object", "properties": { "primary": { "description": "Indicates whether this association must be default\namong others of the same type.", "type": "boolean" }, "tag": { "type": "string", "title": "NEW, well-formed IETF BCP 47 language tag representing the locale.\nhttps://www.rfc-editor.org/info/bcp47" } }, "example": { "primary": false, "tag": "uk" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsLanguageList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/managers": { "get": { "tags": [ "Managers" ], "summary": "Search the Contact's Managers.", "operationId": "ListManagers", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number of result. offset = ((page-1)*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size of result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "string", "description": "Search term: user name;\n`?` - matches any one character\n`*` - matches 0 or more characters", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Record(s) with unique ID only.", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsManagerList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "Managers" ], "summary": "Reset Managers to fit the specified final set.", "operationId": "ResetManagers", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "description": "Final set of unique User(s) to be linked with the Contact.\nUser(s) that are already linked with the Contact\nbut not listed here will be removed.\nThe first element will become `primary` if no other specified.", "name": "input", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputManager" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsManagerList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "Managers" ], "summary": "Associate new Managers to the Contact.", "operationId": "MergeManagers", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "description": "Array of the unique User(s) to associate with the Contact.\nAny duplicate of an already linked user{id} will result in an error.", "name": "input", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputManager" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsManagerList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Managers" ], "summary": "Remove Contact Managers associations.", "operationId": "DeleteManagers", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Set of unique ID(s) to remove.", "name": "etag", "in": "query", "required": true } ], "responses": { "200": { "description": "Manager dataset page.", "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsManager" } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/managers/{etag}": { "get": { "tags": [ "Managers" ], "summary": "Locate the manager address link.", "operationId": "LocateManager", "parameters": [ { "type": "string", "description": "Contact source ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "format": "\\w+", "description": "Unique manager link IDentifier.\nAccept: `etag` (obsolete+) or `id`.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsManager" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "Managers" ], "summary": "Update the contact's manager address link details", "operationId": "UpdateManager", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Unique ID of the latest version of an existing resource.", "name": "etag", "in": "path", "required": true }, { "description": "NEW Update of the manager link.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "NEW Update of the manager link.", "properties": { "primary": { "description": "Indicates whether this association must be default among others.", "type": "boolean" }, "user": { "description": "Responsible User.", "$ref": "#/definitions/webitelContactsLookup" } }, "example": { "primary": true, "user": { "id": "357", "name": "Bruce Wayne" } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsManagerList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Managers" ], "summary": "Remove the contact's manager address link", "operationId": "DeleteManager", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "pattern": "^\\.+$", "type": "string", "description": "Unique ID to remove.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsManager" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "Managers" ], "summary": "Update the contact's manager address link details", "operationId": "UpdateManager2", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Unique ID of the latest version of an existing resource.", "name": "etag", "in": "path", "required": true }, { "description": "NEW Update of the manager link.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "NEW Update of the manager link.", "properties": { "primary": { "description": "Indicates whether this association must be default among others.", "type": "boolean" }, "user": { "description": "Responsible User.", "$ref": "#/definitions/webitelContactsLookup" } }, "example": { "primary": true, "user": { "id": "357", "name": "Bruce Wayne" } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsManagerList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/phones": { "get": { "tags": [ "Phones" ], "summary": "Search phone number(s)", "operationId": "ListPhones", "parameters": [ { "type": "string", "description": "The Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "string", "description": "Search term: phone number.\n`?` - matches any one character\n`*` - matches 0 or more characters", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Link(s) with unique ID only.", "name": "id", "in": "query" }, { "type": "boolean", "description": "Primary phone only.", "name": "primary", "in": "query" }, { "type": "boolean", "description": "Verified phone only.", "name": "verified", "in": "query" }, { "type": "string", "description": "Reference Object unique ID.", "name": "type.id", "in": "query" }, { "type": "string", "description": "Reference Object well-known type.", "name": "type.type", "in": "query" }, { "type": "string", "description": "Reference Object display name.", "name": "type.name", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsPhoneList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "Phones" ], "summary": "Reset the Contact's phone numbers to fit given data set.", "operationId": "ResetPhones", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "description": "Final set of phone number(s) to be linked with the contact.\nPhone number(s) that are already linked with the contact\nbut not given in here will be removed.", "name": "input", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputPhoneNumber" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsPhoneList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "Phones" ], "summary": "Associate phone number(s) with the Contact", "operationId": "MergePhones", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "description": "Fixed set of phone number(s) to be linked with the Contact.\nPhone number(s) that conflicts with already linked will be updated.", "name": "input", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputPhoneNumber" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsPhoneList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Phones" ], "summary": "Remove the Contact's phone number association(s)", "operationId": "DeletePhones", "parameters": [ { "type": "string", "description": "The Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result.", "name": "fields", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Set of linked ID(s) to be removed.", "name": "etag", "in": "query", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsPhoneList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/phones/{etag}": { "get": { "tags": [ "Phones" ], "summary": "Locate the Contact's phone number association.", "operationId": "LocatePhone", "parameters": [ { "type": "string", "description": "Reference Contact unique ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "format": "\\w+", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields [Q]uery to build result record.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsPhoneNumber" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "Phones" ], "summary": "Update the Contact's phone number association details", "operationId": "UpdatePhone", "parameters": [ { "type": "string", "description": "The Contact ID to be associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Unique ID of the latest version of an existing resorce.", "name": "etag", "in": "path", "required": true }, { "description": "NEW Update of the phone number details.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "NEW Update of the phone number details.", "required": [ "number" ], "properties": { "number": { "description": "The phone number.", "type": "string" }, "primary": { "description": "Indicates whether this phone number is default within other channels of the same type(phone).", "type": "boolean" }, "type": { "title": "The type of the phone number.\nReference on CommunicationType dictionary.\nUsed for outbound routing while dialup a phone number.\nThe type can be custom or one of these predefined values:\n- home\n- work\n- mobile\n- homeFax\n- workFax\n- otherFax\n- pager\n- workMobile\n- workPager\n- main\n- googleVoice\n- other", "$ref": "#/definitions/webitelContactsLookup" }, "verified": { "type": "boolean", "title": "Indicate whether Contact, as a Person, realy owns this associated phone number.\nIn other words: whether Contact is reachable thru this 'phone' communication channel ?" } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsPhoneList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Phones" ], "summary": "Remove the Contact's phone number", "operationId": "DeletePhone", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "Unique link ID to be removed.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsPhoneNumber" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "Phones" ], "summary": "Update the Contact's phone number association details", "operationId": "UpdatePhone2", "parameters": [ { "type": "string", "description": "The Contact ID to be associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Unique ID of the latest version of an existing resorce.", "name": "etag", "in": "path", "required": true }, { "description": "NEW Update of the phone number details.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "NEW Update of the phone number details.", "required": [ "number" ], "properties": { "number": { "description": "The phone number.", "type": "string" }, "primary": { "description": "Indicates whether this phone number is default within other channels of the same type(phone).", "type": "boolean" }, "type": { "title": "The type of the phone number.\nReference on CommunicationType dictionary.\nUsed for outbound routing while dialup a phone number.\nThe type can be custom or one of these predefined values:\n- home\n- work\n- mobile\n- homeFax\n- workFax\n- otherFax\n- pager\n- workMobile\n- workPager\n- main\n- googleVoice\n- other", "$ref": "#/definitions/webitelContactsLookup" }, "verified": { "type": "boolean", "title": "Indicate whether Contact, as a Person, realy owns this associated phone number.\nIn other words: whether Contact is reachable thru this 'phone' communication channel ?" } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsPhoneList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/photos": { "get": { "tags": [ "Photos" ], "summary": "Search the contact's photo(s)", "operationId": "SearchPhotos", "parameters": [ { "type": "string", "description": "The Contact ID linked with.", "name": "contact_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "string", "description": "Search term: email address.\n`?` - matches any one character\n`*` - matches 0 or more characters", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Link(s) with unique ID only.", "name": "id", "in": "query" }, { "type": "boolean", "description": "Default photos only.", "name": "primary", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsPhotoList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "Photos" ], "summary": "Reset the contact's photos to fit given data set.", "operationId": "UpdatePhotos", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "description": "Final set of photo(s) to be linked with the contact.\nPhoto(s) that are already linked with the contact\nbut not given in here will be removed.", "name": "input", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputPhoto" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsPhotoList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "Photos" ], "summary": "Link photo(s) with the contact", "operationId": "CreatePhotos", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "description": "Fixed set of photo(s) to be linked with the contact.\nPhoto(s) that conflicts(file_id) with already linked will be updated.", "name": "input", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputPhoto" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsPhotoList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Photos" ], "summary": "Remove the contact's photo link(s)", "operationId": "DeletePhotos", "parameters": [ { "type": "string", "description": "Link(s) contact ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Set of linked ID(s) to be removed.", "name": "etag", "in": "query", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsPhotoList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/photos/{etag}": { "put": { "tags": [ "Photos" ], "summary": "Update the contact's photo link details", "operationId": "UpdatePhoto", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Unique ID of the latest version of an existing association.", "name": "etag", "in": "path", "required": true }, { "description": "NEW Update of the email address link.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "NEW Update of the email address link.", "required": [ "file_url" ], "properties": { "photo_id": { "type": "string", "format": "int64", "title": "File unique ID within 'storage' service" }, "photo_url": { "type": "string", "title": "The URL of the photo.\nYou can change the desired size by appending\na query parameter sz={size} at the end of the url,\nwhere {size} is the size in pixels.\nExample: https://lh3.googleusercontent.com/-T_wVWLlmg7w/AAAAAAAAAAI/AAAAAAAABa8/00gzXvDBYqw/s100/photo.jpg?sz=50" }, "primary": { "description": "True if the photo is a default photo; false if the photo is a user-provided photo.", "type": "boolean" } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsPhoto" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Photos" ], "summary": "Remove the contact's photo", "operationId": "DeletePhoto", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Unique link ID to be removed.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsPhoto" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "Photos" ], "summary": "Update the contact's photo link details", "operationId": "UpdatePhoto2", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Unique ID of the latest version of an existing association.", "name": "etag", "in": "path", "required": true }, { "description": "NEW Update of the email address link.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "NEW Update of the email address link.", "required": [ "file_url" ], "properties": { "photo_id": { "type": "string", "format": "int64", "title": "File unique ID within 'storage' service" }, "photo_url": { "type": "string", "title": "The URL of the photo.\nYou can change the desired size by appending\na query parameter sz={size} at the end of the url,\nwhere {size} is the size in pixels.\nExample: https://lh3.googleusercontent.com/-T_wVWLlmg7w/AAAAAAAAAAI/AAAAAAAABa8/00gzXvDBYqw/s100/photo.jpg?sz=50" }, "primary": { "description": "True if the photo is a default photo; false if the photo is a user-provided photo.", "type": "boolean" } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsPhoto" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/photos/{id}": { "get": { "tags": [ "Photos" ], "summary": "Locate the contact's photo link.", "operationId": "LocatePhoto", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Link unique ID.", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsPhoto" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/timeline": { "get": { "tags": [ "Timeline" ], "operationId": "GetTimeline_Timeline", "parameters": [ { "type": "string", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "page", "in": "query" }, { "type": "string", "format": "int64", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "ids", "in": "query" }, { "type": "string", "format": "int64", "name": "date_from", "in": "query" }, { "type": "string", "format": "int64", "name": "date_to", "in": "query" }, { "type": "array", "items": { "enum": [ "chat", "call", "email" ], "type": "string" }, "collectionFormat": "multi", "name": "type", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsGetTimelineResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/timeline/counter": { "get": { "tags": [ "Timeline" ], "operationId": "GetTimelineCounter_Timeline", "parameters": [ { "type": "string", "name": "contact_id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsGetTimelineCounterResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/timeline/{type}/{id}/info": { "get": { "tags": [ "Timeline" ], "summary": "Show info: variables + postprocessing results, saved for a single\ntimeline communication (call | chat | email), fetched on-demand.", "operationId": "GetTimelineItemInfo", "parameters": [ { "type": "string", "name": "contact_id", "in": "path", "required": true }, { "enum": [ "chat", "call", "email" ], "type": "string", "name": "type", "in": "path", "required": true }, { "type": "string", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsGetTimelineItemInfoResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/timezones": { "get": { "tags": [ "Timezones" ], "summary": "List of the Contact's timezone(s).", "operationId": "ListTimezones", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "string", "description": "Search term: location name;\n`?` - matches any one character\n`*` - matches 0 or more characters", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Record(s) with unique ID only.", "name": "id", "in": "query" }, { "type": "boolean", "description": "Primary timezone only.", "name": "primary", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsTimezoneList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "Timezones" ], "summary": "Resets all timezones of the contact according to the input dataset.", "operationId": "ResetTimezones", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "description": "Final set of timezone(s) to be linked with the contact.\nTimezone(s) that are already linked with the contact\nbut not given in here will be removed.", "name": "input", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputTimezone" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsTimezoneList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "Timezones" ], "summary": "Associate more timezone(s) with the Contact.", "operationId": "MergeTimezones", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "description": "Array of the unique User(s) to associate with the Contact.\nAny duplicate of an already linked user{id} will result in an error.", "name": "input", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputTimezone" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsTimezoneList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Timezones" ], "summary": "Remove the Contact's timezone(s).", "operationId": "DeleteTimezones", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Set of unique ID(s) to remove.", "name": "etag", "in": "query", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsTimezoneList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/timezones/{etag}": { "get": { "tags": [ "Timezones" ], "summary": "Locate the Contact's timezone association.", "operationId": "LocateTimezone", "parameters": [ { "type": "string", "description": "Contact source ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "format": "\\w+", "description": "Unique timezone link IDentifier.\nAccept: `etag` (obsolete+) or `id`.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsTimezone" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "Timezones" ], "summary": "Update the Contact's timezone details.", "operationId": "UpdateTimezone", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Unique ID of the latest version of an existing resource.", "name": "etag", "in": "path", "required": true }, { "description": "NEW Update of the timezone link.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "NEW Update of the timezone link.", "properties": { "primary": { "description": "Indicates whether this association must be default among others.", "type": "boolean" }, "timezone": { "description": "Timezone dictionary reference value associated.", "$ref": "#/definitions/webitelContactsLookup" } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsTimezoneList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Timezones" ], "summary": "Remove the Contact's timezone association.", "operationId": "DeleteTimezone", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "pattern": "^\\.+$", "type": "string", "description": "Unique ID to remove.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsTimezone" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "Timezones" ], "summary": "Update the Contact's timezone details.", "operationId": "UpdateTimezone2", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Unique ID of the latest version of an existing resource.", "name": "etag", "in": "path", "required": true }, { "description": "NEW Update of the timezone link.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "NEW Update of the timezone link.", "properties": { "primary": { "description": "Indicates whether this association must be default among others.", "type": "boolean" }, "timezone": { "description": "Timezone dictionary reference value associated.", "$ref": "#/definitions/webitelContactsLookup" } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsTimezoneList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/variables": { "get": { "tags": [ "Variables" ], "summary": "List variables of the contact", "operationId": "ListVariables", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number of result. offset = ((page-1)*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size of result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "string", "description": "Search term: variable key;\n`?` - matches any one character\n`*` - matches 0 or more characters", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Record(s) with unique ID only.", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsVariableList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "Variables" ], "summary": "Reset all variables of the contact", "operationId": "ResetVariables", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "description": "Fixed object of unique variables to associate with a Contact.\nEach individual key of an object represents a separate variable.\nVariable{key} already linked with the Contact but not listed here will be removed.", "name": "input", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputVariable" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsVariableList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "Variables" ], "summary": "Update or append variables to the contact", "operationId": "MergeVariables", "parameters": [ { "type": "string", "description": "Link contact ID.", "name": "contact_id", "in": "path", "required": true }, { "description": "Fixed object of unique variables to associate with a Contact.\nEach individual key of an object represents a separate variable.\nVariable{key} already linked with the Contact and listed here will be updated.", "name": "input", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputVariable" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsVariableList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Variables" ], "summary": "Remove variable(s) of the contact", "operationId": "DeleteVariables", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "pattern": "^.+$", "type": "string" }, "collectionFormat": "multi", "description": "Set of unique ID(s) to remove.", "name": "etag", "in": "query", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsVariableList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{contact_id}/variables/{etag}": { "put": { "tags": [ "Variables" ], "summary": "Update contact variable", "operationId": "UpdateVariable", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Unique ID of the latest version of an existing resorce.", "name": "etag", "in": "path", "required": true }, { "description": "NEW Variable update.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "NEW Variable update.", "required": [ "key" ], "properties": { "key": { "description": "NEW Key.", "type": "string", "pattern": "^\\w+$" }, "value": { "description": "NEW Value." } }, "example": { "key": "var_rename", "value": [ "string_item", [ 3, 7 ], false, null ] } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsVariableList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Variables" ], "summary": "Remove the contact's variable by etag", "operationId": "DeleteVariable", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "pattern": "^\\w+$", "type": "string", "description": "Unique ID to remove.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsVariable" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "Variables" ], "summary": "Update contact variable", "operationId": "UpdateVariable2", "parameters": [ { "type": "string", "description": "Contact ID associated with.", "name": "contact_id", "in": "path", "required": true }, { "type": "string", "description": "Unique ID of the latest version of an existing resorce.", "name": "etag", "in": "path", "required": true }, { "description": "NEW Variable update.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "NEW Variable update.", "required": [ "key" ], "properties": { "key": { "description": "NEW Key.", "type": "string", "pattern": "^\\w+$" }, "value": { "description": "NEW Value." } }, "example": { "key": "var_rename", "value": [ "string_item", [ 3, 7 ], false, null ] } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/contactsVariableList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/contacts/{etag}": { "get": { "tags": [ "Contacts" ], "summary": "Locate Contact source", "operationId": "LocateContact", "parameters": [ { "type": "string", "description": "The Contact source IDentifier.\nAccept: `etag` (obsolete+) or `id`.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Source Fields to return into result.", "name": "fields", "in": "query" }, { "enum": [ "READ", "WRITE", "DELETE" ], "type": "string", "default": "READ", "description": "The requirement of a special access mode to the Source.\n\n - READ: Can `fetch` record. [GET]\n - WRITE: Can `update` record. [PUT|PATCH]\n - DELETE: Can `delete` record. [DELETE]", "name": "mode", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitelContactsContact" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Contacts" ], "summary": "Remove Contact source", "operationId": "DeleteContact", "parameters": [ { "pattern": "^\\w+$", "type": "string", "description": "Unique ID of the latest version of a resource.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitelContactsContact" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "Contacts" ], "summary": "NEW Update of the Contact source", "operationId": "UpdateContact", "parameters": [ { "type": "string", "description": "Unique ID of the latest version of an existing resorce.", "name": "etag", "in": "path", "required": true }, { "description": "NEW Contact source changes", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "NEW Contact source changes", "properties": { "about": { "description": "BIO. Short description about the Contact person.\nOPTIONAL. Multi-lined text.", "type": "string" }, "comments": { "description": "Publish NEW comment(s) for this Contact.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputComment" } }, "emails": { "description": "The Contact's email address(es).", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputEmailAddress" } }, "groups": { "description": "The Contact's associated group(s).", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputContactGroup" } }, "imclients": { "description": "The contact's [I]nstant[M]essaging clients.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputIMClient" } }, "labels": { "description": "The Contact's associated label(s).", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputLabel" } }, "managers": { "description": "The Contact's internal manager(s).", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputManager" } }, "name": { "title": "The Contact's name. Singleton", "$ref": "#/definitions/contactsInputName" }, "phones": { "description": "The Contact's phone numbers.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputPhoneNumber" } }, "photos": { "description": "Output only. The Contact's photo(s).", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputPhoto" }, "readOnly": true }, "timezones": { "description": "The Contact's timezone preference(s).", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputTimezone" } }, "variables": { "description": "Arbitrary client data that is populated by clients.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputVariable" } } }, "example": { "about": "VIP customer", "emails": [ { "email": "john.smith@example.com", "primary": true, "type": { "id": "1", "name": "Email" } } ], "groups": [ { "group": { "id": "1", "name": "General" } } ], "labels": [ { "label": "Important" } ], "managers": [ { "primary": true, "user": { "id": "1", "name": "Manager" } } ], "name": { "common_name": "John Smith", "family_name": "Smith", "given_name": "John", "middle_name": "Andrew" }, "phones": [ { "number": "+380501234567", "primary": true, "type": { "id": "1", "name": "Mobile" } } ], "timezones": [ { "timezone": { "id": "1", "name": "Europe/Kyiv" } } ], "variables": [ { "key": "source", "value": "import" } ] } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Source Fields to return into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitelContactsContact" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/customer": { "get": { "tags": [ "Customers" ], "summary": "rpc GetCertificate(CertificateUsageRequest) returns (CertificateUsageResponse) {}", "operationId": "GetCustomer", "parameters": [ { "type": "string", "description": "Available Filters\n\nshow by customer id; serial number (uuid)", "name": "id", "in": "query" }, { "type": "boolean", "description": "show if valid only!", "name": "valid", "in": "query" }, { "type": "string", "format": "int64", "description": "identifier", "name": "domain.id", "in": "query" }, { "type": "string", "description": "display name", "name": "domain.name", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Request Controls\n\nserial,", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "sort", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiGetCustomerResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "Customers" ], "operationId": "UpdateCustomer", "parameters": [ { "type": "string", "description": "[optional] e.g.: Example Org.", "name": "organization", "in": "query" }, { "type": "string", "format": "byte", "description": "[optional] logo source image", "name": "logo_picture", "in": "query" }, { "type": "string", "format": "byte", "description": "[optional] raw bytes protobuf::base64.RawStdEncoding != certificate::base64.StdEncoding", "name": "certificate", "in": "query" }, { "type": "boolean", "name": "revoke", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUpdateCustomerResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/customer/{customer_id}/license": { "get": { "tags": [ "Customers" ], "operationId": "LicenseUsage", "parameters": [ { "type": "string", "name": "customer_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "----- Search Options ----- //\n\ndefault: 16", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "default: 1", "name": "page", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "set of output fields", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "e.g.: \"updated_at\" - ASC; \"!updated_at\" - DESC;", "name": "sort", "in": "query" }, { "type": "string", "format": "int64", "description": "identifier", "name": "user.id", "in": "query" }, { "type": "string", "description": "display name", "name": "user.name", "in": "query" }, { "type": "string", "format": "int64", "description": "identifier", "name": "domain.id", "in": "query" }, { "type": "string", "description": "display name", "name": "domain.name", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "by serial number(s)", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "by product name(s)", "name": "product", "in": "query" }, { "type": "boolean", "description": "view: all|valid|grantable\n\nshow: available to be granted", "name": "valid", "in": "query" }, { "type": "string", "description": "filter: term of search", "name": "q", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLicenseUsageResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/customer/{id}": { "get": { "tags": [ "Customers" ], "summary": "rpc GetCertificate(CertificateUsageRequest) returns (CertificateUsageResponse) {}", "operationId": "GetCustomer2", "parameters": [ { "type": "string", "description": "Available Filters\n\nshow by customer id; serial number (uuid)", "name": "id", "in": "path", "required": true }, { "type": "boolean", "description": "show if valid only!", "name": "valid", "in": "query" }, { "type": "string", "format": "int64", "description": "identifier", "name": "domain.id", "in": "query" }, { "type": "string", "description": "display name", "name": "domain.name", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Request Controls\n\nserial,", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "sort", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiGetCustomerResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/devices": { "get": { "tags": [ "Devices" ], "operationId": "SearchDevice", "parameters": [ { "type": "integer", "format": "int32", "description": "----- Select Options -------------------------\n\ndefault: 16", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "default: 1", "name": "page", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "attributes list", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "e.g.: \"updated_at\" - ASC; \"!updated_at\" - DESC;", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "----- Search Basic Filters ---------------------------\n\nselection: by unique identifier", "name": "ids", "in": "query" }, { "type": "string", "description": "term-of-search: lookup[name,account,hotdesk,brand,model,mac,ip]", "name": "q", "in": "query" }, { "type": "string", "description": "case-ignore substring match: ILIKE '*' - any; '?' - one", "name": "name", "in": "query" }, { "type": "string", "description": "[M]andatory[A]ccess[C]ontrol: with access mode (action) granted!", "name": "access", "in": "query" }, { "type": "string", "description": "----- Device-Specific Filters ----------------\n\nsubstring like '%name%'", "name": "account", "in": "query" }, { "type": "string", "description": "filter: has hotdesk (=pattern); is hotdesk (=*)", "name": "hotdesk", "in": "query" }, { "type": "string", "format": "int64", "description": "Object ID", "name": "user.id", "in": "query" }, { "type": "string", "description": "Display Name", "name": "user.name", "in": "query" }, { "type": "string", "description": "filter: by MAC address", "name": "mac", "in": "query" }, { "type": "string", "description": "filter: by IP address", "name": "ip", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiSearchDeviceResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "Devices" ], "operationId": "CreateDevice", "parameters": [ { "description": "string password = 2;", "name": "device", "in": "body", "required": true, "schema": { "$ref": "#/definitions/apiDevice" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiCreateDeviceResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Devices" ], "operationId": "DeleteDevice2", "parameters": [ { "description": "bulk", "name": "ids", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "string", "format": "int64" } } }, { "type": "string", "format": "int64", "name": "id", "in": "query" }, { "type": "boolean", "name": "permanent", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiDeleteDeviceResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/devices/{device.id}": { "put": { "tags": [ "Devices" ], "operationId": "UpdateDevice", "parameters": [ { "type": "string", "format": "int64", "description": "object id", "name": "device.id", "in": "path", "required": true }, { "description": "Device profile", "name": "device", "in": "body", "required": true, "schema": { "type": "object", "title": "Device profile", "properties": { "account": { "description": "username", "type": "string", "title": "credentials" }, "brand": { "description": "vendor brand name", "type": "string", "title": "provision" }, "created_at": { "type": "string", "format": "int64", "title": "unix" }, "created_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "deleted_at": { "type": "string", "format": "int64", "title": "unix" }, "deleted_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "hotdesk": { "description": "act as a hotdesk", "type": "boolean", "title": "Hotdesk: this workstation aliases" }, "hotdesks": { "type": "array", "title": "associated aliases", "items": { "type": "string" } }, "ip": { "type": "string" }, "logged_in": { "type": "string", "format": "int64", "title": "caller profile\n webitel.adt.caller caller = 4;" }, "mac": { "type": "string", "title": "static" }, "model": { "type": "string" }, "name": { "description": "display name", "type": "string", "title": "kind of\nDeviceType type = 19;" }, "password": { "type": "string", "title": "password" }, "provision": { "type": "object", "title": "provision extra data", "additionalProperties": { "type": "string" } }, "reged": { "type": "boolean", "title": "TODO: something like PresenceStatus instead of Registration\n repeated Registration contacts = 16;" }, "updated_at": { "type": "string", "format": "int64", "title": "unix" }, "updated_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "user": { "title": "[optional] The user that 'owns' the device;", "$ref": "#/definitions/apiUserId" } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "PATCH: partial update", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUpdateDeviceResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "Devices" ], "operationId": "UpdateDevice2", "parameters": [ { "type": "string", "format": "int64", "description": "object id", "name": "device.id", "in": "path", "required": true }, { "description": "Device profile", "name": "device", "in": "body", "required": true, "schema": { "type": "object", "title": "Device profile", "properties": { "account": { "description": "username", "type": "string", "title": "credentials" }, "brand": { "description": "vendor brand name", "type": "string", "title": "provision" }, "created_at": { "type": "string", "format": "int64", "title": "unix" }, "created_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "deleted_at": { "type": "string", "format": "int64", "title": "unix" }, "deleted_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "hotdesk": { "description": "act as a hotdesk", "type": "boolean", "title": "Hotdesk: this workstation aliases" }, "hotdesks": { "type": "array", "title": "associated aliases", "items": { "type": "string" } }, "ip": { "type": "string" }, "logged_in": { "type": "string", "format": "int64", "title": "caller profile\n webitel.adt.caller caller = 4;" }, "mac": { "type": "string", "title": "static" }, "model": { "type": "string" }, "name": { "description": "display name", "type": "string", "title": "kind of\nDeviceType type = 19;" }, "password": { "type": "string", "title": "password" }, "provision": { "type": "object", "title": "provision extra data", "additionalProperties": { "type": "string" } }, "reged": { "type": "boolean", "title": "TODO: something like PresenceStatus instead of Registration\n repeated Registration contacts = 16;" }, "updated_at": { "type": "string", "format": "int64", "title": "unix" }, "updated_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "user": { "title": "[optional] The user that 'owns' the device;", "$ref": "#/definitions/apiUserId" } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "PATCH: partial update", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUpdateDeviceResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/devices/{device.id}/registered": { "get": { "tags": [ "Devices" ], "operationId": "ListRegistrations", "parameters": [ { "type": "string", "format": "int64", "description": "Object ID", "name": "device.id", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "Object ID", "name": "user.id", "in": "query" }, { "type": "string", "description": "Display Name", "name": "user.name", "in": "query" }, { "type": "string", "description": "Display Name", "name": "device.name", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiListRegistrationsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/devices/{device.id}/users/audit": { "get": { "tags": [ "Devices" ], "summary": "----- Details (1:M) ----------------------------------------------", "operationId": "SearchDeviceAudit", "parameters": [ { "type": "string", "format": "int64", "description": "Object ID", "name": "device.id", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "Object ID", "name": "user.id", "in": "query" }, { "type": "string", "description": "Display Name", "name": "user.name", "in": "query" }, { "type": "string", "description": "Display Name", "name": "device.name", "in": "query" }, { "type": "string", "format": "int64", "description": "Filter: timing range (optional)\n\nunix milliseconds", "name": "time_from", "in": "query" }, { "type": "string", "format": "int64", "description": "unix milliseconds", "name": "time_till", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Search Options", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "sort", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "name": "page", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiDeviceAuditResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/devices/{id}": { "get": { "tags": [ "Devices" ], "operationId": "ReadDevice", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "output selection", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiReadDeviceResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Devices" ], "operationId": "DeleteDevice", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "boolean", "name": "permanent", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "bulk", "name": "ids", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiDeleteDeviceResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/dictionaries/{repo}": { "get": { "tags": [ "Dictionaries" ], "summary": "Lookup a dictionary dataset.", "operationId": "SearchData", "parameters": [ { "type": "string", "description": "[`types.repo`]", "name": "repo", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Number of result records (per page).\nDefault: 16.", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "Page number of result set of records.\nDefault: 1.", "name": "page", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "pattern": "^[+|-|!]?\\w+$", "type": "string", "default": "*" }, "collectionFormat": "multi", "x-example": "!updated_at,tag", "description": "Sort result dataset of records by fields.\n```\nsort ::= *( ORDER name )\n\nORDER = ASC / DESC\nDESC = \"-\" / \"!\"\nASC = [ \"+\" ] ; Default\n```\n\nFields available\n\n- `id`(seq)\n- `domain`{name}\n- `created_at`\n- `created_by`{name}\n- `updated_at`\n- `updated_by`{name}\n\nUse ?fields=`field.sort()` option to sort Edge fields.", "name": "sort", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "type": "string", "default": "*" }, "collectionFormat": "multi", "x-example": "*,labels.size(3).sort(!updated_at){updated_at,label}", "description": "Fields [Q]uery to build result dataset record.\n```\nfields ::= field [ *( \",\" field ) ]\nfield ::= name [ *( func ) ] [ inner ]\ninner ::= \"{\" fields \"}\"\nfuncs ::= *( func )\nfunc ::= \".\" name \"(\" [ args ] \")\"\nname ::= ALPHA / DIGIT / USCORE\n\nALPHA = %x41-5A / %x61-7A ; \"A\"-\"Z\" / \"a\"-\"z\"\nDIGIT = %x30-39 ; \"0\"-\"9\"\nUSCORE = %x5F ; underscore ; \"_\"\n```", "name": "fields", "in": "query" }, { "type": "string", "description": "Search term:\n`?` - matches any character\n`*` - matches 0 or more characters\ne.g.: name,emails{type},labels etc...", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "[`record.id`]", "name": "id", "in": "query" }, { "type": "string", "description": "Filter string in CEL format.", "name": "filters", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/dataDataset" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "description": "(Record) {", "tags": [ "Dictionaries" ], "summary": "Create a dictionary record.", "operationId": "CreateData", "parameters": [ { "type": "string", "description": "[`types.repo`]", "name": "repo", "in": "path", "required": true }, { "description": "Record data.", "name": "record", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "type": "object" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Dictionaries" ], "summary": "Delete a dictionary records.", "operationId": "DeleteData", "parameters": [ { "type": "string", "description": "[`types.repo`]", "name": "repo", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result dataset.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "[`record.id`]", "name": "id", "in": "query", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/dataDataset" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/dictionaries/{repo}/batch": { "post": { "tags": [ "Dictionaries" ], "summary": "Batch create dictionary records, resolving Select/Multiselect\nlookup columns by display name (case-insensitive) instead of id.", "operationId": "BatchCreateData", "parameters": [ { "type": "string", "description": "`types.repo`", "name": "repo", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/DictionariesBatchCreateDataBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/dataBatchCreateDatasetResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/dictionaries/{repo}/csv": { "post": { "tags": [ "Dictionaries" ], "summary": "Import dataset from CSV file.", "operationId": "ImportCSV", "parameters": [ { "type": "string", "description": "`types.repo`", "name": "repo", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/DictionariesImportCSVBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/dataDataset" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/dictionaries/{repo}/{id}": { "get": { "description": "(Record) {", "tags": [ "Dictionaries" ], "summary": "Locate a dictionary record.", "operationId": "LocateData", "parameters": [ { "type": "string", "description": "[`types.repo`]", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "[`record.id`]", "name": "id", "in": "path", "required": true }, { "uniqueItems": true, "type": "array", "items": { "type": "string", "default": "*" }, "collectionFormat": "multi", "x-example": "*,labels.size(3).sort(!updated_at){updated_at,label}", "description": "Fields [Q]uery to build result dataset record.\n```\nfields ::= field [ *( \",\" field ) ]\nfield ::= name [ *( func ) ] [ inner ]\ninner ::= \"{\" fields \"}\"\nfuncs ::= *( func )\nfunc ::= \".\" name \"(\" [ args ] \")\"\nname ::= ALPHA / DIGIT / USCORE\n\nALPHA = %x41-5A / %x61-7A ; \"A\"-\"Z\" / \"a\"-\"z\"\nDIGIT = %x30-39 ; \"0\"-\"9\"\nUSCORE = %x5F ; underscore ; \"_\"\n```", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "type": "object" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "description": "(Record) {", "tags": [ "Dictionaries" ], "summary": "Update a dictionary record.", "operationId": "UpdateData2", "parameters": [ { "type": "string", "description": "[`types.repo`] data source", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "[`record.id`] for update", "name": "id", "in": "path", "required": true }, { "description": "Record data fields changes.", "name": "record", "in": "body", "required": true, "schema": { "type": "object" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Source Fields to return into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "type": "object" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Dictionaries" ], "summary": "Delete a dictionary records.", "operationId": "DeleteData2", "parameters": [ { "type": "string", "description": "[`types.repo`]", "name": "repo", "in": "path", "required": true }, { "minItems": 1, "type": "array", "items": { "type": "string" }, "collectionFormat": "csv", "description": "[`record.id`]", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result dataset.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/dataDataset" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "description": "(Record) {", "tags": [ "Dictionaries" ], "summary": "Update a dictionary record.", "operationId": "UpdateData", "parameters": [ { "type": "string", "description": "[`types.repo`] data source", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "[`record.id`] for update", "name": "id", "in": "path", "required": true }, { "description": "Record data fields changes.", "name": "record", "in": "body", "required": true, "schema": { "type": "object" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Source Fields to return into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "type": "object" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/domain": { "get": { "tags": [ "Domains" ], "operationId": "ReadDomain", "parameters": [ { "type": "string", "name": "domain", "in": "query" }, { "type": "string", "format": "int64", "name": "dc", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiReadDomainResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Domains" ], "operationId": "DeleteDomain", "parameters": [ { "type": "string", "name": "domain", "in": "query" }, { "type": "string", "format": "int64", "name": "dc", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiDeleteDomainResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/domains": { "get": { "tags": [ "Domains" ], "operationId": "SearchDomains", "parameters": [ { "type": "string", "description": "like", "name": "domain", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "attrs", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "sort", "in": "query" }, { "type": "string", "format": "int64", "name": "page", "in": "query" }, { "type": "string", "format": "int64", "name": "size", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiSearchDomainsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "Domains" ], "operationId": "CreateDomain", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/apiCreateDomainRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiCreateDomainResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/domains/{dc}": { "get": { "tags": [ "Domains" ], "operationId": "ReadDomain2", "parameters": [ { "type": "string", "format": "int64", "name": "dc", "in": "path", "required": true }, { "type": "string", "name": "domain", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiReadDomainResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Domains" ], "operationId": "DeleteDomain2", "parameters": [ { "type": "string", "format": "int64", "name": "dc", "in": "path", "required": true }, { "type": "string", "name": "domain", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiDeleteDomainResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/domains/{domain.dc}": { "put": { "tags": [ "Domains" ], "operationId": "UpdateDomain", "parameters": [ { "type": "string", "format": "int64", "description": "component", "name": "domain.dc", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/DomainsUpdateDomainBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUpdateDomainResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "Domains" ], "operationId": "UpdateDomain2", "parameters": [ { "type": "string", "format": "int64", "description": "component", "name": "domain.dc", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/DomainsUpdateDomainBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUpdateDomainResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/email/profile": { "get": { "tags": [ "EmailProfileService" ], "summary": "Search EmailProfile", "operationId": "SearchEmailProfile", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListEmailProfile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "EmailProfileService" ], "summary": "Create EmailProfile", "operationId": "CreateEmailProfile", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateEmailProfileRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.EmailProfile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/email/profile/{id}": { "get": { "tags": [ "EmailProfileService" ], "summary": "EmailProfile item", "operationId": "ReadEmailProfile", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.EmailProfile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "EmailProfileService" ], "summary": "Update EmailProfile", "operationId": "UpdateEmailProfile", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.EmailProfileService.UpdateEmailProfileBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.EmailProfile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "EmailProfileService" ], "summary": "Remove EmailProfile", "operationId": "DeleteEmailProfile", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.EmailProfile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "EmailProfileService" ], "operationId": "PatchEmailProfile", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.EmailProfileService.PatchEmailProfileBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.EmailProfile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/email/profile/{id}/login": { "get": { "tags": [ "EmailProfileService" ], "operationId": "LoginEmailProfile", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.LoginEmailProfileResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/email/profile/{id}/logout": { "patch": { "tags": [ "EmailProfileService" ], "operationId": "LogoutEmailProfile", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.LogoutEmailProfileResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/email/profile/{id}/test": { "get": { "tags": [ "EmailProfileService" ], "summary": "EmailProfile check login", "operationId": "TestEmailProfile", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.TestEmailProfileResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/exports/pdf/history/{id}": { "delete": { "tags": [ "PdfService" ], "summary": "Deletes a specific export record from the history.", "operationId": "DeleteExport", "parameters": [ { "type": "string", "format": "int64", "description": "ID of the record to remove.", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel_media_exporter.DeleteExportResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/feedback": { "get": { "tags": [ "FeedbackService" ], "operationId": "GetFeedback", "parameters": [ { "type": "string", "name": "key", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Feedback" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "FeedbackService" ], "operationId": "CreateFeedback", "parameters": [ { "type": "string", "name": "key", "in": "query" }, { "type": "string", "description": "This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18", "name": "payload[string]", "in": "query" }, { "type": "number", "format": "float", "name": "rating", "in": "query" }, { "type": "string", "name": "description", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Feedback" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/hook": { "get": { "tags": [ "WebHookService" ], "summary": "List of WebHook", "operationId": "SearchWebHook", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListWebHook" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "WebHookService" ], "summary": "Create WebHook", "operationId": "CreateWebHook", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateWebHookRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.WebHook" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/hook/{id}": { "get": { "tags": [ "WebHookService" ], "summary": "WebHook item", "operationId": "ReadWebHook", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.WebHook" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "WebHookService" ], "summary": "Update WebHook", "operationId": "UpdateWebHook", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.WebHookService.UpdateWebHookBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.WebHook" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "WebHookService" ], "summary": "Remove WebHook", "operationId": "DeleteWebHook", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.WebHook" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "WebHookService" ], "summary": "Patch WebHook", "operationId": "PatchWebHook", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.WebHookService.PatchWebHookBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.WebHook" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/gates": { "get": { "tags": [ "webitel.im.provider.v1.GateService" ], "summary": "/ ListGates returns a collection of all registered gateways within the current domain.", "operationId": "GateService_ListGates", "parameters": [ { "type": "integer", "format": "int32", "description": "Page number (starts from 1)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Items per page", "name": "size", "in": "query" }, { "type": "array", "items": { "enum": [ "PROVIDER_TYPE_UNSPECIFIED", "PROVIDER_TYPE_VIBER", "PROVIDER_TYPE_TELEGRAM_BOT", "PROVIDER_TYPE_TELEGRAM_APP", "PROVIDER_TYPE_META_APP", "PROVIDER_TYPE_FACEBOOK", "PROVIDER_TYPE_INSTAGRAM", "PROVIDER_TYPE_WHATSAPP" ], "type": "string" }, "collectionFormat": "multi", "description": "Filter by channel type (Telegram, Facebook, etc.)", "name": "types", "in": "query" }, { "enum": [ "PROVIDER_STATUS_UNSPECIFIED", "PROVIDER_STATUS_ACTIVE", "PROVIDER_STATUS_INACTIVE", "PROVIDER_STATUS_ERROR" ], "type": "string", "default": "PROVIDER_STATUS_UNSPECIFIED", "description": "Filter by active/inactive status\n\n - PROVIDER_STATUS_ACTIVE: Provider is healthy and processing messages\n - PROVIDER_STATUS_INACTIVE: Manually disabled by user\n - PROVIDER_STATUS_ERROR: Connection or authentication failed", "name": "status", "in": "query" }, { "type": "string", "description": "Search query for name or metadata", "name": "q", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderListGatesResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/gates/facebook": { "post": { "tags": [ "webitel.im.provider.v1.FacebookService" ], "summary": "/ CreateFacebookGate activates a Facebook Messenger gateway for a specific Page.", "operationId": "FacebookService_CreateFacebookGate", "parameters": [ { "description": "/ ProviderCreateFacebookGateRequest links a specific Facebook Page as a messaging gateway.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderCreateFacebookGateRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderCreateFacebookGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/gates/facebook/{gate_id_1}/get-started": { "put": { "tags": [ "webitel.im.provider.v1.FacebookService" ], "summary": "/ SetGetStarted sets the Get Started button payload for a Facebook gate.", "operationId": "FacebookService_SetGetStarted", "parameters": [ { "type": "string", "name": "gate_id_1", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.FacebookService.SetGetStartedBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSetGetStartedResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "webitel.im.provider.v1.FacebookService" ], "summary": "/ DeleteGetStarted removes the Get Started button for a Facebook gate.", "operationId": "FacebookService_DeleteGetStarted", "parameters": [ { "type": "string", "name": "gate_id_1", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderDeleteGetStartedResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/gates/facebook/{gate_id_1}/menu": { "put": { "tags": [ "webitel.im.provider.v1.FacebookService" ], "summary": "/ SetPersistentMenu sets the Messenger persistent menu for a Facebook gate.", "operationId": "FacebookService_SetPersistentMenu", "parameters": [ { "type": "string", "name": "gate_id_1", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.FacebookService.SetPersistentMenuBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSetPersistentMenuResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "webitel.im.provider.v1.FacebookService" ], "summary": "/ DeletePersistentMenu removes the Messenger persistent menu for a Facebook gate.", "operationId": "FacebookService_DeletePersistentMenu", "parameters": [ { "type": "string", "name": "gate_id_1", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderDeletePersistentMenuResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/gates/facebook/{gate_id}/get-started": { "put": { "tags": [ "webitel.im.api.provider.v1.FacebookService" ], "operationId": "FacebookService_SetGetStarted_webitel.im.api.provider.v1.FacebookService", "parameters": [ { "type": "string", "name": "gate_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.FacebookService.SetGetStartedBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderSetGetStartedResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "webitel.im.api.provider.v1.FacebookService" ], "operationId": "FacebookService_DeleteGetStarted_webitel.im.api.provider.v1.FacebookService", "parameters": [ { "type": "string", "name": "gate_id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderDeleteGetStartedResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/gates/facebook/{gate_id}/menu": { "put": { "tags": [ "webitel.im.api.provider.v1.FacebookService" ], "operationId": "FacebookService_SetPersistentMenu_webitel.im.api.provider.v1.FacebookService", "parameters": [ { "type": "string", "name": "gate_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.FacebookService.SetPersistentMenuBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderSetPersistentMenuResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "webitel.im.api.provider.v1.FacebookService" ], "operationId": "FacebookService_DeletePersistentMenu_webitel.im.api.provider.v1.FacebookService", "parameters": [ { "type": "string", "name": "gate_id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderDeletePersistentMenuResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/gates/facebook/{id_1}": { "get": { "tags": [ "webitel.im.provider.v1.FacebookService" ], "summary": "/ GetFacebookGate retrieves details of a specific Facebook gateway.", "operationId": "FacebookService_GetFacebookGate", "parameters": [ { "type": "string", "name": "id_1", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderGetFacebookGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "webitel.im.provider.v1.FacebookService" ], "summary": "/ DeleteFacebookGate deactivates the gateway.", "operationId": "FacebookService_DeleteFacebookGate", "parameters": [ { "type": "string", "name": "id_1", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderDeleteFacebookGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "webitel.im.provider.v1.FacebookService" ], "summary": "/ UpdateFacebookGate modifies Facebook gateway settings.", "operationId": "FacebookService_UpdateFacebookGate", "parameters": [ { "type": "string", "name": "id_1", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.FacebookService.UpdateFacebookGateBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderUpdateFacebookGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/gates/facebook/{id}": { "get": { "tags": [ "webitel.im.api.provider.v1.FacebookService" ], "operationId": "FacebookService_GetFacebookGate_webitel.im.api.provider.v1.FacebookService", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderGetFacebookGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "webitel.im.api.provider.v1.FacebookService" ], "operationId": "FacebookService_DeleteFacebookGate_webitel.im.api.provider.v1.FacebookService", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderDeleteFacebookGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "webitel.im.api.provider.v1.FacebookService" ], "operationId": "FacebookService_UpdateFacebookGate_webitel.im.api.provider.v1.FacebookService", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.FacebookService.UpdateFacebookGateBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderUpdateFacebookGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/gates/instagram": { "post": { "tags": [ "webitel.im.provider.v1.InstagramService" ], "summary": "/ CreateInstagramGate activates an Instagram Business Account gateway.", "operationId": "InstagramService_CreateInstagramGate", "parameters": [ { "description": "/ ProviderCreateInstagramGateRequest links a specific Instagram Business Account as a messaging gateway.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderCreateInstagramGateRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderCreateInstagramGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/gates/instagram/{id_1}": { "get": { "tags": [ "webitel.im.provider.v1.InstagramService" ], "summary": "/ GetInstagramGate retrieves details of a specific Instagram gateway.", "operationId": "InstagramService_GetInstagramGate", "parameters": [ { "type": "string", "name": "id_1", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderGetInstagramGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "webitel.im.provider.v1.InstagramService" ], "summary": "/ DeleteInstagramGate deactivates the gateway.", "operationId": "InstagramService_DeleteInstagramGate", "parameters": [ { "type": "string", "name": "id_1", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderDeleteInstagramGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "webitel.im.provider.v1.InstagramService" ], "summary": "/ UpdateInstagramGate modifies Instagram gateway settings.", "operationId": "InstagramService_UpdateInstagramGate", "parameters": [ { "type": "string", "name": "id_1", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.InstagramService.UpdateInstagramGateBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderUpdateInstagramGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/gates/instagram/{id}": { "get": { "tags": [ "webitel.im.api.provider.v1.InstagramService" ], "operationId": "InstagramService_GetInstagramGate_webitel.im.api.provider.v1.InstagramService", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderGetInstagramGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "webitel.im.api.provider.v1.InstagramService" ], "operationId": "InstagramService_DeleteInstagramGate_webitel.im.api.provider.v1.InstagramService", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderDeleteInstagramGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "webitel.im.api.provider.v1.InstagramService" ], "operationId": "InstagramService_UpdateInstagramGate_webitel.im.api.provider.v1.InstagramService", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.InstagramService.UpdateInstagramGateBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderUpdateInstagramGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/gates/telegram": { "post": { "tags": [ "im.service.provider.v1.TelegramBotService" ], "operationId": "TelegramBotService_CreateTelegramBotGate", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/im.service.provider.v1.CreateTelegramBotGateRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/im.service.provider.v1.CreateTelegramBotGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/gates/telegram/{id}": { "get": { "tags": [ "im.service.provider.v1.TelegramBotService" ], "operationId": "TelegramBotService_GetTelegramBotGate", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/im.service.provider.v1.GetTelegramBotGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "im.service.provider.v1.TelegramBotService" ], "operationId": "TelegramBotService_DeleteTelegramBotGate", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/im.service.provider.v1.DeleteTelegramBotGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "im.service.provider.v1.TelegramBotService" ], "operationId": "TelegramBotService_UpdateTelegramBotGate", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/im.service.provider.v1.TelegramBotService.UpdateTelegramBotGateBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/im.service.provider.v1.UpdateTelegramBotGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/gates/viber": { "post": { "tags": [ "webitel.im.provider.v1.ViberService" ], "summary": "/ CreateViberGate registers a Viber bot as a messaging gateway.", "operationId": "ViberService_CreateViberGate", "parameters": [ { "description": "/ ProviderCreateViberGateRequest registers a Viber bot as a messaging gateway.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderCreateViberGateRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderCreateViberGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/gates/viber/{id}": { "get": { "tags": [ "webitel.im.provider.v1.ViberService" ], "summary": "/ GetViberGate retrieves configuration and status for a Viber gateway.", "operationId": "ViberService_GetViberGate", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderGetViberGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "webitel.im.provider.v1.ViberService" ], "summary": "/ DeleteViberGate removes the Viber gateway integration.", "operationId": "ViberService_DeleteViberGate", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderDeleteViberGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "webitel.im.provider.v1.ViberService" ], "summary": "/ UpdateViberGate updates Viber gateway settings.", "operationId": "ViberService_UpdateViberGate", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ViberService.UpdateViberGateBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderUpdateViberGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/gates/whatsapp": { "post": { "tags": [ "webitel.im.provider.v1.WhatsAppService" ], "summary": "/ CreateWhatsAppGate registers a WhatsApp Business Account (WABA) gateway.", "operationId": "WhatsAppService_CreateWhatsAppGate", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.CreateGateRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.GateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/gates/whatsapp/{id_1}": { "get": { "tags": [ "webitel.im.provider.v1.WhatsAppService" ], "summary": "/ GetWhatsAppGate retrieves configuration and status for a WhatsApp gateway.", "operationId": "WhatsAppService_GetWhatsAppGate", "parameters": [ { "type": "string", "name": "id_1", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderGetWhatsAppGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "webitel.im.provider.v1.WhatsAppService" ], "summary": "/ DeleteWhatsAppGate removes the WhatsApp gateway integration.", "operationId": "WhatsAppService_DeleteWhatsAppGate", "parameters": [ { "type": "string", "name": "id_1", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderDeleteWhatsAppGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "webitel.im.provider.v1.WhatsAppService" ], "summary": "/ UpdateWhatsAppGate updates WhatsApp-specific gateway configurations.", "operationId": "WhatsAppService_UpdateWhatsAppGate", "parameters": [ { "type": "string", "name": "id_1", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.WhatsAppService.UpdateWhatsAppGateBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderUpdateWhatsAppGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/gates/whatsapp/{id}": { "get": { "tags": [ "webitel.im.api.provider.v1.WhatsAppService" ], "operationId": "WhatsAppService_GetWhatsAppGate_webitel.im.api.provider.v1.WhatsAppService", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderGetWhatsAppGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "webitel.im.api.provider.v1.WhatsAppService" ], "operationId": "WhatsAppService_DeleteWhatsAppGate_webitel.im.api.provider.v1.WhatsAppService", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderDeleteWhatsAppGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "webitel.im.api.provider.v1.WhatsAppService" ], "operationId": "WhatsAppService_UpdateWhatsAppGate_webitel.im.api.provider.v1.WhatsAppService", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.WhatsAppService.UpdateWhatsAppGateBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderUpdateWhatsAppGateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/gates/{gate_id}/templates": { "get": { "tags": [ "webitel.im.provider.v1.GateTemplateService" ], "summary": "/ ListGateTemplates returns all template overrides configured for a gate.", "operationId": "GateTemplateService_ListGateTemplates", "parameters": [ { "type": "string", "name": "gate_id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderListGateTemplatesResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/gates/{gate_id}/templates/{event_type}": { "put": { "tags": [ "webitel.im.provider.v1.GateTemplateService" ], "summary": "/ SetGateTemplate creates or replaces the template for a specific event type on a gate.", "operationId": "GateTemplateService_SetGateTemplate", "parameters": [ { "type": "string", "name": "gate_id", "in": "path", "required": true }, { "type": "string", "name": "event_type", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.GateTemplateService.SetGateTemplateBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSetGateTemplateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "webitel.im.provider.v1.GateTemplateService" ], "summary": "/ DeleteGateTemplate removes the override, reverting to the built-in default.", "operationId": "GateTemplateService_DeleteGateTemplate", "parameters": [ { "type": "string", "name": "gate_id", "in": "path", "required": true }, { "type": "string", "name": "event_type", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderDeleteGateTemplateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/meta-apps": { "post": { "tags": [ "webitel.im.provider.v1.MetaAppService" ], "summary": "/ CreateMetaApp registers a new Meta Application.", "operationId": "MetaAppService_CreateMetaApp", "parameters": [ { "description": "/ ProviderCreateMetaAppRequest is used to register a new Meta Developer Application.\n/ This configuration is the foundation for all subsequent OAuth-based integrations.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderCreateMetaAppRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderCreateMetaAppResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/meta-apps/{id_1}": { "get": { "tags": [ "webitel.im.provider.v1.MetaAppService" ], "summary": "/ GetMetaApp retrieves the configuration details of a specific Meta Application by its ID.", "operationId": "MetaAppService_GetMetaApp", "parameters": [ { "type": "string", "name": "id_1", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderGetMetaAppResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "webitel.im.provider.v1.MetaAppService" ], "summary": "/ DeleteMetaApp removes a Meta Application registration.", "operationId": "MetaAppService_DeleteMetaApp", "parameters": [ { "type": "string", "name": "id_1", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderDeleteMetaAppResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "webitel.im.provider.v1.MetaAppService" ], "summary": "/ UpdateMetaApp modifies an existing Meta Application configuration.", "operationId": "MetaAppService_UpdateMetaApp", "parameters": [ { "type": "string", "description": "The internal ID of the MetaApp record", "name": "id_1", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.MetaAppService.UpdateMetaAppBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderUpdateMetaAppResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/meta-apps/{id}": { "get": { "tags": [ "webitel.im.api.provider.v1.MetaAppService" ], "operationId": "MetaAppService_GetMetaApp_webitel.im.api.provider.v1.MetaAppService", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderGetMetaAppResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "webitel.im.api.provider.v1.MetaAppService" ], "operationId": "MetaAppService_DeleteMetaApp_webitel.im.api.provider.v1.MetaAppService", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderDeleteMetaAppResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "webitel.im.api.provider.v1.MetaAppService" ], "operationId": "MetaAppService_UpdateMetaApp_webitel.im.api.provider.v1.MetaAppService", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.MetaAppService.UpdateMetaAppBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderUpdateMetaAppResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/meta-apps/{meta_app_id_1}/oauth/callback": { "post": { "tags": [ "webitel.im.provider.v1.MetaOAuthService" ], "summary": "/ MetaOAuthCallback processes the authorization code returned by Facebook.", "operationId": "MetaOAuthService_MetaOAuthCallback", "parameters": [ { "type": "string", "name": "meta_app_id_1", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.MetaOAuthService.MetaOAuthCallbackBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderMetaOAuthCallbackResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/meta-apps/{meta_app_id_1}/oauth/start": { "post": { "tags": [ "webitel.im.provider.v1.MetaOAuthService" ], "summary": "/ StartMetaOAuth generates a secure Facebook Authorization URL.", "operationId": "MetaOAuthService_StartMetaOAuth", "parameters": [ { "type": "string", "description": "Internal ID of the MetaApp to use for this flow", "name": "meta_app_id_1", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.MetaOAuthService.StartMetaOAuthBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderMetaOAuthStartResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/meta-apps/{meta_app_id}/oauth/callback": { "post": { "tags": [ "webitel.im.api.provider.v1.MetaOAuthService" ], "operationId": "MetaOAuthService_MetaOAuthCallback_webitel.im.api.provider.v1.MetaOAuthService", "parameters": [ { "type": "string", "name": "meta_app_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.MetaOAuthService.MetaOAuthCallbackBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderMetaOAuthCallbackResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/meta-apps/{meta_app_id}/oauth/start": { "post": { "tags": [ "webitel.im.api.provider.v1.MetaOAuthService" ], "operationId": "MetaOAuthService_StartMetaOAuth_webitel.im.api.provider.v1.MetaOAuthService", "parameters": [ { "type": "string", "name": "meta_app_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.MetaOAuthService.StartMetaOAuthBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderMetaOAuthStartResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/provider/send/contact": { "post": { "tags": [ "webitel.im.provider.v1.ProviderMessageService" ], "summary": "SendContact delivers a contact card to the external chat partner.", "operationId": "ProviderMessageService_SendContact", "parameters": [ { "description": "ProviderSendContactRequest sends a contact card.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSendContactRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSendMessageResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/provider/send/document": { "post": { "tags": [ "webitel.im.provider.v1.ProviderMessageService" ], "summary": "SendDocument delivers file attachments to the external chat partner.", "operationId": "ProviderMessageService_SendDocument", "parameters": [ { "description": "ProviderSendDocumentRequest sends a document with an optional caption.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSendDocumentRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSendMessageResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/provider/send/image": { "post": { "tags": [ "webitel.im.provider.v1.ProviderMessageService" ], "summary": "SendImage delivers images to the external chat partner.", "operationId": "ProviderMessageService_SendImage", "parameters": [ { "description": "ProviderSendImageRequest sends an image with an optional caption.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSendImageRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSendMessageResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/provider/send/interactive": { "post": { "tags": [ "webitel.im.provider.v1.ProviderMessageService" ], "summary": "SendInteractive delivers a message with interactive UI elements (buttons, menus).", "operationId": "ProviderMessageService_SendInteractive", "parameters": [ { "description": "ProviderSendInteractiveRequest sends a message with interactive UI elements.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSendInteractiveRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSendMessageResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/provider/send/location": { "post": { "tags": [ "webitel.im.provider.v1.ProviderMessageService" ], "summary": "SendLocation delivers a geographic location to the external chat partner.", "operationId": "ProviderMessageService_SendLocation", "parameters": [ { "description": "ProviderSendLocationRequest sends a geographic location.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSendLocationRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSendMessageResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/provider/send/reaction": { "post": { "tags": [ "webitel.im.provider.v1.ProviderMessageService" ], "summary": "SendReaction forwards an emoji reaction change to the external chat partner\n(e.g. Telegram setMessageReaction). Best-effort and messenger-dependent:\nproviders without reaction support are a silent no-op. An empty emoji (with\nremoved=true) clears the caller's reaction on the target message.", "operationId": "ProviderMessageService_SendReaction", "parameters": [ { "description": "ProviderSendReactionRequest asks a provider to set or clear an emoji reaction\non a message already delivered to the external chat partner.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSendReactionRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSendReactionResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/provider/send/system": { "post": { "tags": [ "webitel.im.provider.v1.ProviderMessageService" ], "summary": "SendSystemMessage delivers a system event notification to the external chat partner.\nThe im-providers-service resolves the gate-specific template and renders it as text\nbefore forwarding to the underlying provider (Facebook, WhatsApp, etc.).", "operationId": "ProviderMessageService_SendSystemMessage", "parameters": [ { "description": "ProviderSendSystemMessageRequest delivers a system event to the external chat partner.\nThe provider service resolves the gate-specific template and renders the final text\nusing the supplied variables before sending via the underlying provider API.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSendSystemMessageRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSendMessageResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/provider/send/text": { "post": { "tags": [ "webitel.im.provider.v1.ProviderMessageService" ], "summary": "SendText delivers a plain text message to the external chat partner.", "operationId": "ProviderMessageService_SendText", "parameters": [ { "description": "ProviderSendTextRequest sends a simple text message.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSendTextRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSendMessageResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/im/provider/send/typing": { "post": { "tags": [ "webitel.im.provider.v1.ProviderMessageService" ], "summary": "SendTyping forwards an ephemeral \"typing…\" action to the external chat\npartner (e.g. Telegram sendChatAction, Meta sender_action). It is\nfire-and-forget and best-effort: channels whose provider does not support\ntyping are a silent no-op. Nothing is persisted.", "operationId": "ProviderMessageService_SendTyping", "parameters": [ { "description": "ProviderSendTypingRequest asks a provider to show/hide a typing indicator\nto the external chat partner.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSendTypingRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderSendTypingResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/ldap": { "get": { "tags": [ "LDAP" ], "summary": "Search for LDAP directories ...", "operationId": "SearchLDAPCatalog", "parameters": [ { "type": "integer", "format": "int32", "description": "----- Select Options -------------------------\n\ndefault: 1", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "default: 16", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "attributes list", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "e.g.: \"updated_at\" - ASC; \"!updated_at\" - DESC;", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "----- Search Basic Filters ---------------------------\n\nselection: by unique identifier", "name": "id", "in": "query" }, { "type": "string", "description": "term-of-search: lookup[name]", "name": "q", "in": "query" }, { "type": "string", "description": "case-ignore substring match: ILIKE '*' - any; '?' - one", "name": "name", "in": "query" }, { "type": "string", "description": "[M]andatory[A]ccess[C]ontrol: with access mode (action) granted!", "name": "access", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiSearchLDAPResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "LDAP" ], "summary": "Create LDAP profile", "operationId": "CreateLDAPCatalog", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/apiLDAPCatalog" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLDAPCatalog" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "LDAP" ], "summary": "Delete LDAP profile(s) ...", "operationId": "DeleteLDAPCatalog2", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/apiDeleteLDAPRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLDAPCatalog" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/ldap/search": { "get": { "tags": [ "LDAP" ], "summary": "LDAPSearch performs LDAP Search operation ...", "operationId": "LDAPSearch4", "parameters": [ { "type": "string", "format": "int64", "description": "----- connection -----\nOptional. ID of the preconfigured LDAP catalog", "name": "catalog_id", "in": "query" }, { "type": "string", "description": "Optional. URL to establish connection to LDAP catalog\n\nURL e.g.: [(ldap|ldapi|ldaps)://]host[:port]", "name": "url", "in": "query" }, { "type": "string", "format": "byte", "description": "TODO: (!)\n\nbase64", "name": "tls.PEM", "in": "query" }, { "type": "string", "description": "----- BIND: Authorization -----\n\nauthorization method e.g.: SIMPLE, SAML, NTLM, etc.", "name": "bind", "in": "query" }, { "type": "string", "description": "bind_dn", "name": "username", "in": "query" }, { "type": "string", "description": "password", "name": "password", "in": "query" }, { "type": "string", "description": "----- SearchRequest -----\nbaseObject [D]istinguished[N]ame", "name": "baseObject", "in": "query" }, { "type": "integer", "format": "int32", "description": "baseObject (0),\nsingleLevel (1),\nwholeSubtree (2)", "name": "scope", "in": "query" }, { "type": "integer", "format": "int32", "description": "neverDerefAliases (0),\nderefInSearching (1),\nderefFindingBaseObj (2),\nderefAlways (3)", "name": "derefAliases", "in": "query" }, { "type": "string", "format": "int64", "description": "INTEGER (0 .. maxInt),", "name": "sizeLimit", "in": "query" }, { "type": "string", "format": "int64", "description": "INTEGER (0 .. maxInt),", "name": "timeLimit", "in": "query" }, { "type": "boolean", "description": "BOOLEAN,", "name": "typesOnly", "in": "query" }, { "type": "string", "description": "Filter,", "name": "filter", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "AttributeSelection", "name": "attributes", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLDAPSearchResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "LDAP" ], "summary": "LDAPSearch performs LDAP Search operation ...", "operationId": "LDAPSearch3", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/apiLDAPSearchRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLDAPSearchResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/ldap/{catalog.id}": { "put": { "tags": [ "LDAP" ], "summary": "Update LDAP profile details", "operationId": "UpdateLDAPCatalog", "parameters": [ { "type": "string", "format": "int64", "description": "identity\nint64 dc = 1;", "name": "catalog.id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/LDAPUpdateLDAPCatalogBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLDAPCatalog" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "LDAP" ], "summary": "Update LDAP profile details", "operationId": "UpdateLDAPCatalog2", "parameters": [ { "type": "string", "format": "int64", "description": "identity\nint64 dc = 1;", "name": "catalog.id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/LDAPUpdateLDAPCatalogBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLDAPCatalog" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/ldap/{catalog.id}/templates": { "post": { "tags": [ "LDAP" ], "operationId": "CreateLDAPTemplate", "parameters": [ { "type": "string", "format": "int64", "description": "identifier", "name": "catalog.id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/LDAPCreateLDAPTemplateBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLDAPTemplate" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/ldap/{catalog_id}/rsync": { "get": { "tags": [ "LDAP" ], "summary": "(ResyncLDAPResponse) {", "operationId": "SearchLDAProcess", "parameters": [ { "type": "string", "format": "int64", "description": "REQUIRED. Parent LDAP catalog IDentifier", "name": "catalog_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "----- Select Options -------------------------\n\ndefault: 1", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "default: 16", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "attributes list", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "e.g.: \"updated_at\" - ASC; \"!updated_at\" - DESC;", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "----- Search Basic Filters ---------------------------\nOPTIONAL. Search process by unique .id", "name": "id", "in": "query" }, { "type": "string", "description": "OPTIONAL. Filter(s) SET", "name": "q", "in": "query" }, { "type": "string", "name": "template", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "objclass", "in": "query" }, { "type": "boolean", "description": "WITH .errs", "name": "failed", "in": "query" }, { "type": "boolean", "description": "created|updated", "name": "enabled", "in": "query" }, { "type": "boolean", "description": "deleted", "name": "disabled", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLDAProcessResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "description": "(ResyncLDAPResponse) {", "tags": [ "LDAP" ], "summary": "Resync LDAP directory catalog changes ...", "operationId": "ResyncLDAPCatalog", "parameters": [ { "type": "string", "format": "int64", "description": "LDAP Catalog unique IDentifier to sync with\n\ncatalog_id", "name": "catalog_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/LDAPResyncLDAPCatalogBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLDAProcess" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/ldap/{catalog_id}/rsync/{id}": { "get": { "tags": [ "LDAP" ], "summary": "(ResyncLDAPResponse) {", "operationId": "LocateLDAProcess", "parameters": [ { "type": "string", "format": "int64", "description": "REQUIRED. Parent LDAP catalog IDentifier", "name": "catalog_id", "in": "path", "required": true }, { "minItems": 1, "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "csv", "description": "----- Search Basic Filters ---------------------------\nOPTIONAL. Search process by unique .id", "name": "id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "----- Select Options -------------------------\n\ndefault: 1", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "default: 16", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "attributes list", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "e.g.: \"updated_at\" - ASC; \"!updated_at\" - DESC;", "name": "sort", "in": "query" }, { "type": "string", "description": "OPTIONAL. Filter(s) SET", "name": "q", "in": "query" }, { "type": "string", "name": "template", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "objclass", "in": "query" }, { "type": "boolean", "description": "WITH .errs", "name": "failed", "in": "query" }, { "type": "boolean", "description": "created|updated", "name": "enabled", "in": "query" }, { "type": "boolean", "description": "deleted", "name": "disabled", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLDAProcess" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/ldap/{catalog_id}/search": { "get": { "tags": [ "LDAP" ], "summary": "LDAPSearch performs LDAP Search operation ...", "operationId": "LDAPSearch2", "parameters": [ { "type": "string", "format": "int64", "description": "----- connection -----\nOptional. ID of the preconfigured LDAP catalog", "name": "catalog_id", "in": "path", "required": true }, { "type": "string", "description": "Optional. URL to establish connection to LDAP catalog\n\nURL e.g.: [(ldap|ldapi|ldaps)://]host[:port]", "name": "url", "in": "query" }, { "type": "string", "format": "byte", "description": "TODO: (!)\n\nbase64", "name": "tls.PEM", "in": "query" }, { "type": "string", "description": "----- BIND: Authorization -----\n\nauthorization method e.g.: SIMPLE, SAML, NTLM, etc.", "name": "bind", "in": "query" }, { "type": "string", "description": "bind_dn", "name": "username", "in": "query" }, { "type": "string", "description": "password", "name": "password", "in": "query" }, { "type": "string", "description": "----- SearchRequest -----\nbaseObject [D]istinguished[N]ame", "name": "baseObject", "in": "query" }, { "type": "integer", "format": "int32", "description": "baseObject (0),\nsingleLevel (1),\nwholeSubtree (2)", "name": "scope", "in": "query" }, { "type": "integer", "format": "int32", "description": "neverDerefAliases (0),\nderefInSearching (1),\nderefFindingBaseObj (2),\nderefAlways (3)", "name": "derefAliases", "in": "query" }, { "type": "string", "format": "int64", "description": "INTEGER (0 .. maxInt),", "name": "sizeLimit", "in": "query" }, { "type": "string", "format": "int64", "description": "INTEGER (0 .. maxInt),", "name": "timeLimit", "in": "query" }, { "type": "boolean", "description": "BOOLEAN,", "name": "typesOnly", "in": "query" }, { "type": "string", "description": "Filter,", "name": "filter", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "AttributeSelection", "name": "attributes", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLDAPSearchResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "LDAP" ], "summary": "LDAPSearch performs LDAP Search operation ...", "operationId": "LDAPSearch", "parameters": [ { "type": "string", "format": "int64", "description": "----- connection -----\nOptional. ID of the preconfigured LDAP catalog", "name": "catalog_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/LDAPLDAPSearchBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLDAPSearchResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/ldap/{catalog_id}/templates": { "get": { "tags": [ "LDAP" ], "operationId": "SearchLDAPTemplate", "parameters": [ { "type": "string", "format": "int64", "description": "REQUIRED. Parent LDAP catalog IDentifier", "name": "catalog_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "----- Select Options -------------------------\n\ndefault: 1", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "default: 16", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "attributes list", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "e.g.: \"updated_at\" - ASC; \"!updated_at\" - DESC;", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "----- Search Basic Filters ---------------------------\nOPTIONAL. Search templates by .id", "name": "id", "in": "query" }, { "type": "string", "description": "OPTIONAL. Filter(s) SET", "name": "q", "in": "query" }, { "type": "string", "name": "name", "in": "query" }, { "type": "string", "name": "base_dn", "in": "query" }, { "type": "string", "name": "objclass", "in": "query" }, { "type": "boolean", "name": "enabled", "in": "query" }, { "type": "boolean", "name": "disabled", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLDAPTemplateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "LDAP" ], "operationId": "DeleteLDAPTemplate2", "parameters": [ { "type": "string", "format": "int64", "description": "REQUIRED. Parent LDAP catalog IDentifier", "name": "catalog_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/LDAPDeleteLDAPTemplateBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLDAPTemplateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/ldap/{catalog_id}/templates/{id}": { "get": { "tags": [ "LDAP" ], "operationId": "LocateLDAPTemplate", "parameters": [ { "type": "string", "format": "int64", "description": "REQUIRED. Parent LDAP catalog IDentifier", "name": "catalog_id", "in": "path", "required": true }, { "minItems": 1, "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "csv", "description": "----- Search Basic Filters ---------------------------\nOPTIONAL. Search templates by .id", "name": "id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "----- Select Options -------------------------\n\ndefault: 1", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "default: 16", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "attributes list", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "e.g.: \"updated_at\" - ASC; \"!updated_at\" - DESC;", "name": "sort", "in": "query" }, { "type": "string", "description": "OPTIONAL. Filter(s) SET", "name": "q", "in": "query" }, { "type": "string", "name": "name", "in": "query" }, { "type": "string", "name": "base_dn", "in": "query" }, { "type": "string", "name": "objclass", "in": "query" }, { "type": "boolean", "name": "enabled", "in": "query" }, { "type": "boolean", "name": "disabled", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLDAPTemplate" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "LDAP" ], "operationId": "DeleteLDAPTemplate", "parameters": [ { "type": "string", "format": "int64", "description": "REQUIRED. Parent LDAP catalog IDentifier", "name": "catalog_id", "in": "path", "required": true }, { "minItems": 1, "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "csv", "description": "----- Search Basic Filters ---------------------------\nOPTIONAL. Search templates by .id", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/LDAPDeleteLDAPTemplateBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLDAPTemplateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/ldap/{id}": { "get": { "tags": [ "LDAP" ], "summary": "Read LDAP catalog profile by .id", "operationId": "LocateLDAPCatalog", "parameters": [ { "minItems": 1, "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "csv", "description": "----- Search Basic Filters ---------------------------\n\nselection: by unique identifier", "name": "id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "----- Select Options -------------------------\n\ndefault: 1", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "default: 16", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "attributes list", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "e.g.: \"updated_at\" - ASC; \"!updated_at\" - DESC;", "name": "sort", "in": "query" }, { "type": "string", "description": "term-of-search: lookup[name]", "name": "q", "in": "query" }, { "type": "string", "description": "case-ignore substring match: ILIKE '*' - any; '?' - one", "name": "name", "in": "query" }, { "type": "string", "description": "[M]andatory[A]ccess[C]ontrol: with access mode (action) granted!", "name": "access", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLDAPCatalog" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "LDAP" ], "summary": "Delete LDAP profile(s) ...", "operationId": "DeleteLDAPCatalog", "parameters": [ { "type": "string", "format": "int64", "description": "catalog id", "name": "id", "in": "path", "required": true }, { "type": "boolean", "description": "WITH objects bound to ?", "name": "related_objects", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLDAPCatalog" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/ldap/{template.catalog.id}/templates/{template.id}": { "put": { "tags": [ "LDAP" ], "operationId": "UpdateLDAPTemplate2", "parameters": [ { "type": "string", "format": "int64", "description": "identifier", "name": "template.catalog.id", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "ID unique", "name": "template.id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/LDAPUpdateLDAPTemplateBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLDAPTemplate" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "LDAP" ], "operationId": "UpdateLDAPTemplate", "parameters": [ { "type": "string", "format": "int64", "description": "identifier", "name": "template.catalog.id", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "ID unique", "name": "template.id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/LDAPUpdateLDAPTemplateBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLDAPTemplate" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/license": { "get": { "tags": [ "Customers" ], "operationId": "LicenseUsage2", "parameters": [ { "type": "integer", "format": "int32", "description": "----- Search Options ----- //\n\ndefault: 16", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "default: 1", "name": "page", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "set of output fields", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "e.g.: \"updated_at\" - ASC; \"!updated_at\" - DESC;", "name": "sort", "in": "query" }, { "type": "string", "format": "int64", "description": "identifier", "name": "user.id", "in": "query" }, { "type": "string", "description": "display name", "name": "user.name", "in": "query" }, { "type": "string", "format": "int64", "description": "identifier", "name": "domain.id", "in": "query" }, { "type": "string", "description": "display name", "name": "domain.name", "in": "query" }, { "type": "string", "name": "customer_id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "by serial number(s)", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "by product name(s)", "name": "product", "in": "query" }, { "type": "boolean", "description": "view: all|valid|grantable\n\nshow: available to be granted", "name": "valid", "in": "query" }, { "type": "string", "description": "filter: term of search", "name": "q", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLicenseUsageResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/logger/available_objects": { "get": { "tags": [ "ConfigService" ], "operationId": "ConfigService_ReadSystemObjects", "parameters": [ { "type": "boolean", "name": "include_existing", "in": "query" }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/loggerSystemObjects" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/logger/config": { "get": { "tags": [ "ConfigService" ], "operationId": "ConfigService_SearchConfig", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "enum": [ "cc_queue", "schema", "users", "devices", "calendars", "cc_list", "cc_team", "cc_agent", "cc_resource", "cc_resource_group", "chat_bots", "cases", "contacts", "cc_list_number", "case_comments", "record_file", "sso" ], "type": "string" }, "collectionFormat": "multi", "description": "NOT USED", "name": "object", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/loggerConfigs" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "ConfigService" ], "operationId": "ConfigService_CreateConfig", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/loggerCreateConfigRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/loggerConfig" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/logger/config/{config_id}": { "get": { "tags": [ "ConfigService" ], "operationId": "ConfigService_ReadConfig", "parameters": [ { "type": "integer", "format": "int32", "description": "int32 domainId = 8;", "name": "config_id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/loggerConfig" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "ConfigService" ], "operationId": "ConfigService_UpdateConfig", "parameters": [ { "type": "integer", "format": "int32", "name": "config_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "days_to_store": { "type": "integer", "format": "int32" }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "period": { "type": "integer", "format": "int32" }, "storage": { "$ref": "#/definitions/loggerLookup" } } } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/loggerConfig" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "ConfigService" ], "operationId": "ConfigService_DeleteConfig", "parameters": [ { "type": "integer", "format": "int32", "name": "config_id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/loggerEmpty" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "ConfigService" ], "operationId": "ConfigService_PatchConfig", "parameters": [ { "type": "integer", "format": "int32", "name": "config_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "days_to_store": { "type": "integer", "format": "int32" }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "fields": { "type": "array", "items": { "type": "string" } }, "period": { "type": "integer", "format": "int32" }, "storage": { "$ref": "#/definitions/loggerLookup" } } } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/loggerConfig" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/logger/config/{config_id}/logs": { "get": { "tags": [ "LoggerService" ], "operationId": "LoggerService_SearchLogByConfigId", "parameters": [ { "type": "integer", "format": "int32", "name": "config_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "user_id", "in": "query" }, { "type": "array", "items": { "enum": [ "default_no_action", "create", "update", "read", "delete" ], "type": "string" }, "collectionFormat": "multi", "name": "action", "in": "query" }, { "type": "string", "name": "user_ip", "in": "query" }, { "type": "string", "format": "int64", "name": "date_from", "in": "query" }, { "type": "string", "format": "int64", "name": "date_to", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/loggerLogs" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/logger/user/{user_id}/logs": { "get": { "tags": [ "LoggerService" ], "operationId": "LoggerService_SearchLogByUserId", "parameters": [ { "type": "integer", "format": "int32", "description": "REQUIRED filter", "name": "user_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "SPECIFIC filter", "name": "object_id", "in": "query" }, { "type": "array", "items": { "enum": [ "default_no_action", "create", "update", "read", "delete" ], "type": "string" }, "collectionFormat": "multi", "description": "GENERAL filters", "name": "action", "in": "query" }, { "type": "string", "name": "user_ip", "in": "query" }, { "type": "string", "format": "int64", "name": "date_from", "in": "query" }, { "type": "string", "format": "int64", "name": "date_to", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/loggerLogs" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/logger/{object}/record/{record_id}/logs": { "get": { "tags": [ "LoggerService" ], "operationId": "LoggerService_SearchLogByRecordId", "parameters": [ { "enum": [ "cc_queue", "schema", "users", "devices", "calendars", "cc_list", "cc_team", "cc_agent", "cc_resource", "cc_resource_group", "chat_bots", "cases", "contacts", "cc_list_number", "case_comments", "record_file", "sso" ], "type": "string", "description": "SPECIFIC filter", "name": "object", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "REQUIRED filter", "name": "record_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "enum": [ "default_no_action", "create", "update", "read", "delete" ], "type": "string" }, "collectionFormat": "multi", "description": "GENERAL filters", "name": "action", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "user_id", "in": "query" }, { "type": "string", "name": "user_ip", "in": "query" }, { "type": "string", "format": "int64", "name": "date_from", "in": "query" }, { "type": "string", "format": "int64", "name": "date_to", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/loggerLogs" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/meetings": { "post": { "tags": [ "MeetingService" ], "summary": "CreateMeeting creates a new meeting session with specific parameters and returns its URL.", "operationId": "CreateMeeting", "parameters": [ { "description": "Request to create a new meeting.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/web_meeting_backend.CreateMeetingRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/web_meeting_backend.CreateMeetingResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/meetings/{id}": { "get": { "tags": [ "MeetingService" ], "summary": "GetMeetingView retrieves public-facing information about a meeting.", "operationId": "GetMeetingView", "parameters": [ { "type": "string", "description": "Unique identifier of the meeting.", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/web_meeting_backend.MeetingView" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/meetings/{id}/satisfaction": { "post": { "tags": [ "MeetingService" ], "summary": "SatisfactionMeeting submits feedback or a satisfaction rating for a completed meeting.", "operationId": "SatisfactionMeeting", "parameters": [ { "type": "string", "description": "Unique identifier of the meeting.", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/web_meeting_backend.MeetingService.SatisfactionMeetingBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/web_meeting_backend.SatisfactionMeetingResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/oauth/apps": { "get": { "tags": [ "OAuth2Federation" ], "operationId": "SearchOAuthService", "parameters": [ { "type": "integer", "format": "int32", "description": "----- Select Options -------------------------\n\ndefault: 1", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "default: 16", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "attributes list", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "e.g.: \"updated_at\" - ASC; \"!updated_at\" - DESC;", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "----- Search Basic Filters ---------------------------\n\nselection: by unique identifier", "name": "id", "in": "query" }, { "type": "string", "description": "term-of-search: lookup[name]", "name": "q", "in": "query" }, { "type": "string", "description": "case-ignore substring match: ILIKE '*' - any; '?' - one", "name": "name", "in": "query" }, { "type": "string", "description": "[M]andatory[A]ccess[C]ontrol: with access mode (action) granted!", "name": "access", "in": "query" }, { "type": "boolean", "description": "----- OAuthService-Specific Filters ----------------", "name": "enabled", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiSearchOAuthServiceResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "OAuth2Federation" ], "operationId": "CreateOAuthService", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/apiOAuthService" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiOAuthService" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "OAuth2Federation" ], "operationId": "DeleteOAuthService", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/apiDeleteOAuthServiceRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiDeleteOAuthServiceResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/oauth/apps/{id}": { "get": { "tags": [ "OAuth2Federation" ], "operationId": "LocateOAuthService", "parameters": [ { "minItems": 1, "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "csv", "description": "----- Search Basic Filters ---------------------------\n\nselection: by unique identifier", "name": "id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "----- Select Options -------------------------\n\ndefault: 1", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "default: 16", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "attributes list", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "e.g.: \"updated_at\" - ASC; \"!updated_at\" - DESC;", "name": "sort", "in": "query" }, { "type": "string", "description": "term-of-search: lookup[name]", "name": "q", "in": "query" }, { "type": "string", "description": "case-ignore substring match: ILIKE '*' - any; '?' - one", "name": "name", "in": "query" }, { "type": "string", "description": "[M]andatory[A]ccess[C]ontrol: with access mode (action) granted!", "name": "access", "in": "query" }, { "type": "boolean", "description": "----- OAuthService-Specific Filters ----------------", "name": "enabled", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiOAuthService" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "OAuth2Federation" ], "operationId": "UpdateOAuthService", "parameters": [ { "type": "string", "format": "int64", "description": "Unique identifier of the OAuthService to update.", "name": "id", "in": "path", "required": true }, { "description": "Configuration changes.", "name": "changes", "in": "body", "required": true, "schema": { "$ref": "#/definitions/apiOAuthService" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields for partial update. PATCH", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiOAuthService" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "OAuth2Federation" ], "operationId": "DeleteOAuthService2", "parameters": [ { "minItems": 1, "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "csv", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/OAuth2FederationDeleteOAuthServiceBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiDeleteOAuthServiceResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "OAuth2Federation" ], "operationId": "UpdateOAuthService2", "parameters": [ { "type": "string", "format": "int64", "description": "Unique identifier of the OAuthService to update.", "name": "id", "in": "path", "required": true }, { "description": "Configuration changes.", "name": "changes", "in": "body", "required": true, "schema": { "$ref": "#/definitions/apiOAuthService" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields for partial update. PATCH", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiOAuthService" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/objclass": { "get": { "tags": [ "Classes" ], "operationId": "SearchClasses", "parameters": [ { "type": "string", "description": "TO BE REMOVED // bound to session.domain.id", "name": "domain", "in": "query" }, { "type": "string", "description": "[filter]: like '%class%'", "name": "class", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "int64 id = 3; // [filter]: obj.id = id\ncontrols\n\noutput", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "sort: \"field\" asc; \"!field\" desc", "name": "sort", "in": "query" }, { "type": "integer", "format": "int32", "description": "page number", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "page size", "name": "size", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiSearchClassesResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/objclass/{class.id}": { "put": { "tags": [ "Classes" ], "operationId": "UpdateClass", "parameters": [ { "type": "string", "format": "int64", "description": "(class::object).id", "name": "class.id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ClassesUpdateClassBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUpdateClassResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "Classes" ], "operationId": "UpdateClass2", "parameters": [ { "type": "string", "format": "int64", "description": "(class::object).id", "name": "class.id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ClassesUpdateClassBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUpdateClassResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/objclass/{id}": { "get": { "tags": [ "Classes" ], "operationId": "ReadClass", "parameters": [ { "type": "string", "format": "int64", "description": "[filter]: obj.id = id", "name": "id", "in": "path", "required": true }, { "type": "string", "name": "domain", "in": "query" }, { "type": "string", "description": "[filter]: like '%class%'", "name": "class", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiReadClassResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/permissions": { "get": { "tags": [ "Permissions" ], "summary": "GetPermissions list available from application", "operationId": "GetPermissions", "parameters": [ { "type": "string", "description": "TermOfSearch", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "= ANY(id)", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "\u003c\u003e ANY(not)", "name": "not", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "controls\n\noutput", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "sort: \"field\" asc; \"!field\" desc", "name": "sort", "in": "query" }, { "type": "integer", "format": "int32", "description": "page number", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "page size", "name": "size", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiSearchPermissionResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/portal/device": { "post": { "description": "(Device) {", "tags": [ "Customer" ], "summary": "Register PUSH subscription. App token authentication required", "operationId": "Customer_RegisterDevice", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.portal.RegisterDeviceRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.portal.RegisterDeviceResponse" } } } } }, "/portal/logout": { "post": { "security": [ { "Device Id": [], "Portal User": [] } ], "tags": [ "Customer" ], "summary": "Invalidate the user's session access token", "operationId": "Customer_Logout", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.portal.UpdateDisconnect" } } } } }, "/portal/token": { "get": { "security": [ { "Device Id": [], "Portal User": [] } ], "tags": [ "Customer" ], "summary": "Inspect authentication of the user's session access token", "operationId": "Customer_Inspect", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.portal.AccessToken" } } } }, "post": { "security": [ { "Device Id": [], "Portal App": [] } ], "tags": [ "Customer" ], "summary": "Obtain your user's access token to portal service(s)", "operationId": "Customer_Token", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.portal.TokenRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.portal.AccessToken" } } } } }, "/presence": { "patch": { "description": "(UserPresence) {", "tags": [ "Presence" ], "summary": "set(presence) (notify, error)", "operationId": "SetStatus2", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/apiSetStatusRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiPresenceStatus" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/products": { "get": { "tags": [ "Customers" ], "operationId": "LicenseUsage3", "parameters": [ { "type": "integer", "format": "int32", "description": "----- Search Options ----- //\n\ndefault: 16", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "default: 1", "name": "page", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "set of output fields", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "e.g.: \"updated_at\" - ASC; \"!updated_at\" - DESC;", "name": "sort", "in": "query" }, { "type": "string", "format": "int64", "description": "identifier", "name": "user.id", "in": "query" }, { "type": "string", "description": "display name", "name": "user.name", "in": "query" }, { "type": "string", "format": "int64", "description": "identifier", "name": "domain.id", "in": "query" }, { "type": "string", "description": "display name", "name": "domain.name", "in": "query" }, { "type": "string", "name": "customer_id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "by serial number(s)", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "by product name(s)", "name": "product", "in": "query" }, { "type": "boolean", "description": "view: all|valid|grantable\n\nshow: available to be granted", "name": "valid", "in": "query" }, { "type": "string", "description": "filter: term of search", "name": "q", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLicenseUsageResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/products/{id}/users": { "get": { "tags": [ "Customers" ], "operationId": "LicenseUsers", "parameters": [ { "type": "string", "description": "----- Search Filters ----- //\n\nREQUIRED Product ID", "name": "id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "----- Search Options ----- //\n\ndefault: 16", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "default: 1", "name": "page", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "set of output fields", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "e.g.: \"updated_at\" - ASC; \"!updated_at\" - DESC;", "name": "sort", "in": "query" }, { "type": "string", "description": "filter: term of search (username)", "name": "q", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLicenseUsersResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/regions": { "get": { "tags": [ "RegionService" ], "operationId": "SearchRegion", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "string", "name": "name", "in": "query" }, { "type": "string", "name": "description", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "timezone_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListRegion" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "RegionService" ], "operationId": "CreateRegion", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateRegionRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Region" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/regions/{id}": { "get": { "tags": [ "RegionService" ], "operationId": "ReadRegion", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Region" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "RegionService" ], "operationId": "UpdateRegion", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.RegionService.UpdateRegionBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Region" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "RegionService" ], "operationId": "DeleteRegion", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Region" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "RegionService" ], "operationId": "PatchRegion", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.RegionService.PatchRegionBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Region" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/roles": { "get": { "tags": [ "Roles" ], "operationId": "SearchRoles", "parameters": [ { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "----- Role-specific Filters ----------------- //\n\nfilter: .id = any(:ids...)", "name": "ids", "in": "query" }, { "type": "string", "description": "filter: group name like", "name": "name", "in": "query" }, { "type": "string", "format": "int64", "description": "Object ID", "name": "user.id", "in": "query" }, { "type": "string", "description": "Display Name", "name": "user.name", "in": "query" }, { "type": "string", "description": "filter: term of search (name, description)", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "bool admin = 4; // filter: where CURRENT user is 'ADMIN' of\ncontrols\n\noutput", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "sort: \"field\" asc; \"!field\" desc", "name": "sort", "in": "query" }, { "type": "integer", "format": "int32", "description": "page number", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "page size", "name": "size", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiSearchRolesResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "Roles" ], "operationId": "CreateRole", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/apiCreateRoleRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiCreateRoleResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/roles/metadata": { "get": { "tags": [ "Roles" ], "operationId": "RoleMetadata", "parameters": [ { "type": "string", "format": "int64", "description": "Optional. Unique ID of metadata role owner", "name": "id", "in": "query" }, { "type": "string", "description": "Optional. Partial metadata document key name", "name": "key", "in": "query" }, { "enum": [ "NULL_VALUE" ], "type": "string", "default": "NULL_VALUE", "description": "Represents a null value.\n\n - NULL_VALUE: Null value.", "name": "merge.null_value", "in": "query" }, { "type": "number", "format": "double", "description": "Represents a double value.", "name": "merge.number_value", "in": "query" }, { "type": "string", "description": "Represents a string value.", "name": "merge.string_value", "in": "query" }, { "type": "boolean", "description": "Represents a boolean value.", "name": "merge.bool_value", "in": "query" }, { "type": "object", "description": "Represents a structured value.", "name": "merge.struct_value", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiRoleMetadataResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/roles/objects/{object}/records/{record.id}": { "get": { "tags": [ "Roles" ], "operationId": "SearchRecordAvailableRoles", "parameters": [ { "enum": [ "contacts", "cc_list", "cc_bucket", "calendars", "devices", "cc_agent", "cc_team", "cc_resource", "cc_resource_group", "cc_queue", "roles", "users", "cognitive_profile" ], "type": "string", "description": "bool admin = 4; // filter: where CURRENT user is 'ADMIN' of\nREQUIRED !", "name": "object", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "identifier", "name": "record.id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "----- Role-specific Filters ----------------- //\n\nfilter: .id = any(:ids...)", "name": "ids", "in": "query" }, { "type": "string", "description": "filter: group name like", "name": "name", "in": "query" }, { "type": "string", "format": "int64", "description": "Object ID", "name": "user.id", "in": "query" }, { "type": "string", "description": "Display Name", "name": "user.name", "in": "query" }, { "type": "string", "description": "filter: term of search (name, description)", "name": "q", "in": "query" }, { "type": "string", "description": "display name", "name": "record.name", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "controls\n\noutput", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "sort: \"field\" asc; \"!field\" desc", "name": "sort", "in": "query" }, { "type": "integer", "format": "int32", "description": "page number", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "page size", "name": "size", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiSearchRolesResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/roles/{id}": { "get": { "tags": [ "Roles" ], "operationId": "ReadRole", "parameters": [ { "type": "string", "format": "int64", "description": "role.id", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "select projection\n\nselect: output (fields,...)", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiReadRoleResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Roles" ], "operationId": "DeleteRole", "parameters": [ { "type": "string", "format": "int64", "description": "DELETE /roles/{id}", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "POST /roles/delete {\"ids\"}", "name": "ids", "in": "query" }, { "type": "boolean", "description": "deleteOrMark 'deleted' ?", "name": "permanent", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiDeleteRoleResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/roles/{role.id}": { "put": { "tags": [ "Roles" ], "operationId": "UpdateRole", "parameters": [ { "type": "string", "format": "int64", "description": "oid", "name": "role.id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/RolesUpdateRoleBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUpdateRoleResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "Roles" ], "operationId": "UpdateRole2", "parameters": [ { "type": "string", "format": "int64", "description": "oid", "name": "role.id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/RolesUpdateRoleBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUpdateRoleResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/routing/outbound/calls": { "get": { "tags": [ "RoutingOutboundCallService" ], "summary": "List of RoutingOutboundCall", "operationId": "SearchRoutingOutboundCall", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "string", "name": "name", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "schema_id", "in": "query" }, { "type": "string", "name": "pattern", "in": "query" }, { "type": "string", "name": "description", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListRoutingOutboundCall" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "RoutingOutboundCallService" ], "summary": "Create RoutingOutboundCall", "operationId": "CreateRoutingOutboundCall", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateRoutingOutboundCallRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.RoutingOutboundCall" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/routing/outbound/calls/{from_id}/to/{to_id}": { "patch": { "tags": [ "RoutingOutboundCallService" ], "summary": "Move RoutingOutboundCall", "operationId": "MovePositionRoutingOutboundCall", "parameters": [ { "type": "string", "format": "int64", "name": "from_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "to_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.RoutingOutboundCallService.MovePositionRoutingOutboundCallBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.MovePositionRoutingOutboundCallResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/routing/outbound/calls/{id}": { "get": { "tags": [ "RoutingOutboundCallService" ], "summary": "RoutingOutboundCall item", "operationId": "ReadRoutingOutboundCall", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.RoutingOutboundCall" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "RoutingOutboundCallService" ], "summary": "Update RoutingOutboundCall", "operationId": "UpdateRoutingOutboundCall", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.RoutingOutboundCallService.UpdateRoutingOutboundCallBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.RoutingOutboundCall" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "RoutingOutboundCallService" ], "summary": "Remove RoutingOutboundCall", "operationId": "DeleteRoutingOutboundCall", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.RoutingOutboundCall" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "RoutingOutboundCallService" ], "summary": "Patch RoutingOutboundCall", "operationId": "PatchRoutingOutboundCall", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.RoutingOutboundCallService.PatchRoutingOutboundCallBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.RoutingOutboundCall" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/routing/outbound/chat": { "get": { "tags": [ "RoutingChatPlanService" ], "operationId": "SearchChatPlan", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "string", "name": "name", "in": "query" }, { "type": "boolean", "name": "enabled", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListChatPlan" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "RoutingChatPlanService" ], "operationId": "CreateChatPlan", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateChatPlanRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ChatPlan" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/routing/outbound/chat/{id}": { "get": { "tags": [ "RoutingChatPlanService" ], "operationId": "ReadChatPlan", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ChatPlan" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "RoutingChatPlanService" ], "operationId": "UpdateChatPlan", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.RoutingChatPlanService.UpdateChatPlanBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ChatPlan" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "RoutingChatPlanService" ], "operationId": "DeleteChatPlan", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ChatPlan" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "RoutingChatPlanService" ], "operationId": "PatchChatPlan", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.RoutingChatPlanService.PatchChatPlanBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ChatPlan" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/routing/schema": { "get": { "tags": [ "RoutingSchemaService" ], "summary": "List RoutingSchema", "operationId": "SearchRoutingSchema", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "string", "name": "name", "in": "query" }, { "type": "array", "items": { "enum": [ "default", "voice", "chat", "processing", "service" ], "type": "string" }, "collectionFormat": "multi", "name": "type", "in": "query" }, { "type": "boolean", "name": "editor", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "tags", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListRoutingSchema" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "RoutingSchemaService" ], "summary": "Create RoutingSchema", "operationId": "CreateRoutingSchema", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateRoutingSchemaRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.RoutingSchema" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/routing/schema/tags": { "get": { "tags": [ "RoutingSchemaService" ], "summary": "List RoutingSchemaTags", "operationId": "SearchRoutingSchemaTags", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "enum": [ "default", "voice", "chat", "processing", "service" ], "type": "string" }, "collectionFormat": "multi", "name": "type", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListRoutingSchemaTags" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/routing/schema/variables": { "get": { "tags": [ "SchemaVariablesService" ], "operationId": "SearchSchemaVariable", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListSchemaVariable" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "SchemaVariablesService" ], "operationId": "CreateSchemaVariable", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateSchemaVariableRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.SchemaVariable" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/routing/schema/variables/{id}": { "get": { "tags": [ "SchemaVariablesService" ], "operationId": "ReadSchemaVariable", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.SchemaVariable" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "SchemaVariablesService" ], "operationId": "UpdateSchemaVariable", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.SchemaVariablesService.UpdateSchemaVariableBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.SchemaVariable" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "SchemaVariablesService" ], "operationId": "DeleteSchemaVariable", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.SchemaVariable" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "SchemaVariablesService" ], "operationId": "PatchSchemaVariable", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.SchemaVariablesService.PatchSchemaVariableBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.SchemaVariable" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/routing/schema/{id}": { "get": { "tags": [ "RoutingSchemaService" ], "summary": "RoutingSchema item", "operationId": "ReadRoutingSchema", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.RoutingSchema" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "RoutingSchemaService" ], "summary": "Update RoutingSchema", "operationId": "UpdateRoutingSchema", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.RoutingSchemaService.UpdateRoutingSchemaBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.RoutingSchema" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "RoutingSchemaService" ], "summary": "Remove RoutingSchema", "operationId": "DeleteRoutingSchema", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.RoutingSchema" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "RoutingSchemaService" ], "summary": "Patch RoutingSchema", "operationId": "PatchRoutingSchema", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.RoutingSchemaService.PatchRoutingSchemaBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.RoutingSchema" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/routing/schema/{schema_id}/versions": { "get": { "tags": [ "SchemaVersionService" ], "operationId": "SearchSchemaVersion", "parameters": [ { "type": "string", "format": "int64", "name": "schema_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.SearchSchemaVersionResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/routing/variables": { "get": { "tags": [ "RoutingVariableService" ], "summary": "List of RoutingVariable", "operationId": "SearchRoutingVariable", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListRoutingVariable" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "RoutingVariableService" ], "summary": "Create RoutingVariable", "operationId": "CreateRoutingVariable", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateRoutingVariableRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.RoutingVariable" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/routing/variables/{id}": { "get": { "tags": [ "RoutingVariableService" ], "summary": "RoutingVariable item", "operationId": "ReadRoutingVariable", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.RoutingVariable" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "RoutingVariableService" ], "summary": "Update RoutingVariable", "operationId": "UpdateRoutingVariable", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.RoutingVariableService.UpdateRoutingVariableBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.RoutingVariable" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "RoutingVariableService" ], "summary": "Remove RoutingVariable", "operationId": "DeleteRoutingVariable", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.RoutingVariable" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/search": { "get": { "tags": [ "FTSService" ], "operationId": "Search", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "object_name", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ftsSearchResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/settings": { "get": { "tags": [ "SystemSettingService" ], "operationId": "SearchSystemSetting", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "enum": [ "empty_system_settings_name", "enable_omnichannel", "member_chunk_size", "amd_cancel_not_human", "scheme_version_limit", "enable_2fa", "export_settings", "search_number_length", "chat_ai_connection", "password_reg_exp", "password_validation_text", "autolink_call_to_contact", "period_to_playback_records", "is_fulltext_search_enabled", "wbt_hide_contact", "show_full_contact", "call_end_sound_notification", "call_end_push_notification", "chat_end_sound_notification", "chat_end_push_notification", "task_end_sound_notification", "task_end_push_notification", "push_notification_timeout", "labels_to_limit_contacts", "autolink_mail_to_contact", "new_message_sound_notification", "new_chat_sound_notification", "screenshot_interval", "password_expiry_days", "password_min_length", "password_categories", "password_contains_login", "password_warning_days", "default_password", "expand_contact_tabs", "default_workspace_tab", "block_all_member_numbers_from_list", "login_options", "default_members_filter", "self_assigned_call_sound_notification" ], "type": "string" }, "collectionFormat": "multi", "description": "Filter by setting names", "name": "name", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListSystemSetting" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "SystemSettingService" ], "operationId": "CreateSystemSetting", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateSystemSettingRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.SystemSetting" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/settings/available": { "get": { "tags": [ "SystemSettingService" ], "operationId": "SearchAvailableSystemSetting", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListAvailableSystemSetting" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/settings/{id}": { "get": { "tags": [ "SystemSettingService" ], "operationId": "ReadSystemSetting", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.SystemSetting" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "SystemSettingService" ], "operationId": "UpdateSystemSetting", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.SystemSettingService.UpdateSystemSettingBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.SystemSetting" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "SystemSettingService" ], "operationId": "DeleteSystemSetting", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.SystemSetting" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "SystemSettingService" ], "operationId": "PatchSystemSetting", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.SystemSettingService.PatchSystemSettingBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.SystemSetting" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/signup": { "post": { "tags": [ "Auth" ], "summary": "Signup new domain with superior access token", "operationId": "Signup", "parameters": [ { "type": "string", "description": "domain name", "name": "domain", "in": "query" }, { "type": "string", "description": "username", "name": "username", "in": "query" }, { "type": "string", "description": "user password", "name": "password", "in": "query" }, { "type": "string", "description": "OPTIONAL. SIP (phone) number i.e. extension.\nSIP Device will be auto-assigned ONLY if [number] specified.", "name": "extension", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "scope request control", "name": "scope", "in": "query" }, { "type": "string", "format": "byte", "description": "license/certificate", "name": "certificate", "in": "query" }, { "type": "boolean", "description": "OPTIONAL. Mobile device /login request ?", "name": "mobile", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLoginResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/slas/{sla_id}/sla_condition": { "post": { "tags": [ "SLAConditions" ], "summary": "Create a new SLACondition", "operationId": "CreateSLACondition", "parameters": [ { "type": "string", "format": "int64", "name": "sla_id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputSLACondition" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.SLACondition" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/slas/{sla_id}/sla_condition/{id}": { "get": { "tags": [ "SLAConditions" ], "summary": "Locate an SLACondition by ID", "operationId": "LocateSLACondition", "parameters": [ { "type": "string", "format": "int64", "description": "Unique identifier of the SLACondition", "name": "sla_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "Unique identifier of the SLACondition", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.LocateSLAConditionResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "SLAConditions" ], "summary": "Update an existing SLACondition", "operationId": "UpdateSLACondition", "parameters": [ { "type": "string", "format": "int64", "name": "sla_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputSLACondition" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.SLACondition" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "SLAConditions" ], "summary": "Delete an SLACondition", "operationId": "DeleteSLACondition", "parameters": [ { "type": "string", "format": "int64", "name": "sla_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.SLACondition" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "SLAConditions" ], "summary": "Update an existing SLACondition", "operationId": "UpdateSLACondition2", "parameters": [ { "type": "string", "format": "int64", "name": "sla_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputSLACondition" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.SLACondition" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/slas/{sla_id}/sla_conditions": { "get": { "tags": [ "SLAConditions" ], "summary": "Retrieve a list of SLAConditions or search SLACondition conditions", "operationId": "ListSLAConditions", "parameters": [ { "type": "string", "format": "int64", "description": "Filter by SLA Id", "name": "sla_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "type": "string", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "Filter by unique IDs.", "name": "id", "in": "query" }, { "type": "string", "description": "Search query string for filtering by name. Supports:\n- Wildcards (*) for substring matching\n- Placeholder (?) for single character substitution\n- Exact match for full names", "name": "q", "in": "query" }, { "type": "string", "format": "int64", "description": "Filter by SLACondition Id.", "name": "sla_condition_id", "in": "query" }, { "type": "string", "format": "int64", "description": "filter by priority id", "name": "priority_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.SLAConditionList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/spaces": { "get": { "description": "| Field | Type \n| ----------- | ---- \n| **----------- READ-ONLY -----------** | \n| `id` | int64 \n| `ver` | int32 \n| `etag` | string \n| **---------- OPERATIONAL ----------** | \n| `created_at` | int64(epoch:milli) \n| `created_by` | lookup(user) \n| `updated_at` | int64(epoch:milli) \n| `updated_by` | lookup(user) \n| **---------- ATTRIBUTES -----------** | \n| `name` | name! \n| `home_page` | string (home_page) \n| `state` | bool \n| `has_children`| bool \n", "tags": [ "Spaces" ], "operationId": "ListSpaces_Spaces", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Limit of result page records count. _default(16); limit=(size\u003c=0?-1:size+1);_\n\n```javascript\nconst\n default = 16\n , maximum = 32\n;\n\n```", "name": "size", "in": "query" }, { "type": "string", "description": "Search term:\n`?` - matches any character\n`*` - matches 0 or more characters\nUsed to query records within a set of `qin` fields, eg: name, etc...", "name": "q", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "pattern": "^[+|-|!]?\\w+$", "type": "string", "default": "id" }, "collectionFormat": "multi", "x-example": "!updated_at,tag", "description": "Sort result dataset of records by fields.\n```\nsort ::= *( ORDER name )\n\nORDER = ASC / DESC\nDESC = \"-\" / \"!\"\nASC = [ \"+\" ] ; Default\n```\n\nFields available\n\n- `id`(seq)\n- `domain`{name}\n- `state`", "name": "sort", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "type": "string", "default": "*" }, "collectionFormat": "multi", "x-example": "*,labels.size(3).sort(!updated_at){updated_at,label}", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Records with unique IDentifier(s).\nAccept: `id` -or- `etag`.", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/knowledgebaseSpaceList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "Spaces" ], "summary": "Create NEW Space", "operationId": "CreateSpace_Spaces", "parameters": [ { "description": "NEW Spaces source changes", "name": "input", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/knowledgebaseInputSpace" } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Source Fields to return into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/knowledgebaseSpace" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/spaces/search": { "get": { "tags": [ "KnowledgebaseSearch" ], "operationId": "SpacesArticlesSearch", "parameters": [ { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "string", "description": "Search term: location name;\n`?` - matches any one character\n`*` - matches 0 or more characters", "name": "q", "in": "query" }, { "type": "boolean", "description": "Active Article only.", "name": "state", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Tags associated with the article.", "name": "tags", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/knowledgebaseCombinedList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/spaces/tags": { "get": { "tags": [ "Tags" ], "summary": "List of the all Articles's Tag(s).", "operationId": "ListTags", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/knowledgebaseTagsList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/spaces/{etag}": { "get": { "tags": [ "Spaces" ], "summary": "Locate spaces source", "operationId": "LocateSpace_Spaces", "parameters": [ { "type": "string", "description": "The Space source IDentifier.\nAccept: `etag` (obsolete+) or `id`.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Source Fields to return into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/knowledgebaseSpace" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Spaces" ], "summary": "Remove Space source", "operationId": "DeleteSpace_Spaces", "parameters": [ { "pattern": "^\\w+$", "type": "string", "description": "Unique ID of the latest version of a resource.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/knowledgebaseSpace" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "Spaces" ], "summary": "NEW Update of the Space source", "operationId": "UpdateSpace_Spaces", "parameters": [ { "type": "string", "description": "Unique ID of the latest version of an existing resorce.", "name": "etag", "in": "path", "required": true }, { "description": "NEW Space source changes", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "NEW Space source changes", "properties": { "home_page": { "description": "BIO. Short description about the space.\nOPTIONAL. Multi-lined text.", "type": "string" }, "name": { "description": "Represents the name of the knowledge base space.", "type": "string" }, "state": { "description": "The state of the space.", "type": "boolean" } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Source Fields to return into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/knowledgebaseSpace" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/spaces/{space_id}/articles": { "get": { "tags": [ "Articles" ], "summary": "List of the Space's Article(s).", "operationId": "ListArticles_Articles", "parameters": [ { "type": "string", "description": "Space ID associated with.", "name": "space_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "type": "string", "description": "Search term: location name;\n`?` - matches any one character\n`*` - matches 0 or more characters", "name": "q", "in": "query" }, { "type": "string", "description": "Record(s) with unique ID only.", "name": "article_id", "in": "query" }, { "type": "boolean", "description": "Active Article only.", "name": "state", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Tags associated with the article.", "name": "tags", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/knowledgebaseArticleList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "Articles" ], "operationId": "CreateArticle_Articles", "parameters": [ { "type": "string", "description": "Link space ID.", "name": "space_id", "in": "path", "required": true }, { "description": "NEW Update of the Article link.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/knowledgebaseInputArticle" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/knowledgebaseArticleList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/spaces/{space_id}/articles/{article_id}/attachments": { "get": { "tags": [ "Articles" ], "operationId": "ArticlesAttachmentList", "parameters": [ { "type": "string", "description": "Space ID associated with.", "name": "space_id", "in": "path", "required": true }, { "type": "string", "description": "Record(s) with unique ID only.", "name": "article_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort the result according to fields.", "name": "sort", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/knowledgebaseAttachmentList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/spaces/{space_id}/articles/{article_id}/childrens": { "get": { "tags": [ "Articles" ], "summary": "List of the Space's Article(s).", "operationId": "ListArticles2", "parameters": [ { "type": "string", "description": "Space ID associated with.", "name": "space_id", "in": "path", "required": true }, { "type": "string", "description": "Record(s) with unique ID only.", "name": "article_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "type": "string", "description": "Search term: location name;\n`?` - matches any one character\n`*` - matches 0 or more characters", "name": "q", "in": "query" }, { "type": "boolean", "description": "Active Article only.", "name": "state", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Tags associated with the article.", "name": "tags", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/knowledgebaseArticleList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/spaces/{space_id}/articles/{article_id}/history": { "get": { "tags": [ "Articles" ], "operationId": "ArticleVersionsList", "parameters": [ { "type": "string", "description": "Space ID associated with.", "name": "space_id", "in": "path", "required": true }, { "type": "string", "description": "Record(s) with unique ID only.", "name": "article_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Sort the result according to fields.", "name": "sort", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/knowledgebaseArticleVersionList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/spaces/{space_id}/articles/{article_id}/history/{version_id}": { "get": { "tags": [ "Articles" ], "operationId": "LocateArticleVersion", "parameters": [ { "type": "string", "description": "Space ID associated with.", "name": "space_id", "in": "path", "required": true }, { "type": "string", "description": "Record(s) with unique ID only.", "name": "article_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "The unique ID of version record", "name": "version_id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/knowledgebaseArticleVersion" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/spaces/{space_id}/articles/{etag}": { "get": { "tags": [ "Articles" ], "summary": "Locate the space's Article association.", "operationId": "LocateArticle_Articles", "parameters": [ { "type": "string", "description": "Space ID associated with.", "name": "space_id", "in": "path", "required": true }, { "type": "string", "format": "\\w+", "description": "Unique Article link IDentifier.\nAccept: `etag` (obsolete+) or `id`.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/knowledgebaseArticle" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Articles" ], "summary": "Remove the space's Article association.", "operationId": "DeleteArticle_Articles", "parameters": [ { "type": "string", "description": "Space ID associated with.", "name": "space_id", "in": "path", "required": true }, { "pattern": "^\\.+$", "type": "string", "description": "Unique ID to remove.", "name": "etag", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/knowledgebaseArticle" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "Articles" ], "summary": "Update the space's Article details.", "operationId": "UpdateArticle_Articles", "parameters": [ { "type": "string", "description": "Link space ID.", "name": "space_id", "in": "path", "required": true }, { "type": "string", "description": "Unique ID of the latest version of an existing resource.", "name": "etag", "in": "path", "required": true }, { "description": "NEW Update of the Article link.", "name": "input", "in": "body", "required": true, "schema": { "type": "object", "title": "NEW Update of the Article link.", "properties": { "parent_article": { "description": "The parent article ID.", "type": "string", "format": "int64" }, "pinned": { "description": "Indicates that the article is pinned on the top of list.", "type": "boolean" }, "space_id": { "description": "[VALUE]: --------------------------------------\nSpace ID associated with.", "type": "string", "format": "int64" }, "state": { "description": "Indicates if article is active and actual.", "type": "boolean" }, "tags": { "description": "Tags associated with the article.", "type": "array", "items": { "type": "string" } }, "text": { "description": "The text content of the article.", "type": "string" }, "title": { "description": "The title of the article.", "type": "string" } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result of changes.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/knowledgebaseArticleList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/srvinfo": { "get": { "tags": [ "Customers" ], "operationId": "ServerInfo", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiServerInfoResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/statuses/{status_id}/status": { "get": { "tags": [ "StatusConditions" ], "summary": "Retrieve a list of statuses or search status conditions", "operationId": "ListStatusConditions", "parameters": [ { "type": "string", "format": "int64", "description": "Filter by Status Id.", "name": "status_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number of result dataset records. offset = (page*size)", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Size count of records on result page. limit = (size++)", "name": "size", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" }, { "type": "string", "description": "Sort the result according to fields.", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "Filter by unique IDs.", "name": "id", "in": "query" }, { "type": "string", "description": "Search query string for filtering by name. Supports:\n- Wildcards (*) for substring matching\n- Placeholder (?) for single character substitution\n- Exact match for full names", "name": "q", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.StatusConditionList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "StatusConditions" ], "summary": "Create a new status condition", "operationId": "CreateStatusCondition", "parameters": [ { "type": "string", "format": "int64", "name": "status_id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputCreateStatusCondition" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.StatusCondition" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/statuses/{status_id}/status/{id}": { "get": { "tags": [ "StatusConditions" ], "summary": "Locate a status condition by ID", "operationId": "LocateStatusCondition", "parameters": [ { "type": "string", "format": "int64", "description": "ID of the status to be located", "name": "status_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "ID of the status condition to be located", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved as a result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.LocateStatusConditionResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "StatusConditions" ], "summary": "Update an existing status condition", "operationId": "UpdateStatusCondition", "parameters": [ { "type": "string", "format": "int64", "name": "status_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputStatusCondition" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.StatusCondition" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "StatusConditions" ], "summary": "Delete a status condition", "operationId": "DeleteStatusCondition", "parameters": [ { "type": "string", "format": "int64", "name": "status_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.StatusCondition" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "StatusConditions" ], "summary": "Update an existing status condition", "operationId": "UpdateStatusCondition2", "parameters": [ { "type": "string", "format": "int64", "name": "status_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.cases.InputStatusCondition" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.cases.StatusCondition" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/agent/{agent_id}": { "get": { "tags": [ "FileService" ], "operationId": "SearchScreenRecordingsByAgent", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "string", "format": "int64", "name": "uploaded_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "uploaded_at.to", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "reference_id", "in": "query" }, { "type": "string", "format": "int64", "name": "retention_until.from", "in": "query" }, { "type": "string", "format": "int64", "name": "retention_until.to", "in": "query" }, { "enum": [ "PDF", "SCREENSHOT", "SCREENSHARING" ], "type": "string", "default": "PDF", "name": "type", "in": "query" }, { "enum": [ "SCREENRECORDING", "CALL" ], "type": "string", "default": "SCREENRECORDING", "name": "channel", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.ListFile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/agent/{agent_id}/{id}": { "delete": { "tags": [ "FileService" ], "operationId": "DeleteScreenRecordingsByAgent", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "minItems": 1, "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "csv", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.FileService.DeleteScreenRecordingsByAgentBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.DeleteFilesResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/backend_profiles": { "get": { "tags": [ "BackendProfileService" ], "summary": "List of BackendProfile", "operationId": "SearchBackendProfile", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.ListBackendProfile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "BackendProfileService" ], "summary": "Create BackendProfile", "operationId": "CreateBackendProfile", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.CreateBackendProfileRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.BackendProfile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/backend_profiles/{id}": { "get": { "tags": [ "BackendProfileService" ], "summary": "BackendProfile item", "operationId": "ReadBackendProfile", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.BackendProfile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "BackendProfileService" ], "summary": "Update BackendProfile", "operationId": "UpdateBackendProfile", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.BackendProfileService.UpdateBackendProfileBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.BackendProfile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "BackendProfileService" ], "summary": "Remove BackendProfile", "operationId": "DeleteBackendProfile", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.BackendProfile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "BackendProfileService" ], "summary": "Patch BackendProfile", "operationId": "PatchBackendProfile", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.BackendProfileService.PatchBackendProfileBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.BackendProfile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/call/{call_id}": { "get": { "tags": [ "FileService" ], "operationId": "SearchScreenRecordingsByCall", "parameters": [ { "type": "string", "name": "call_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "string", "format": "int64", "name": "uploaded_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "uploaded_at.to", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "reference_id", "in": "query" }, { "type": "string", "format": "int64", "name": "retention_until.from", "in": "query" }, { "type": "string", "format": "int64", "name": "retention_until.to", "in": "query" }, { "enum": [ "PDF", "SCREENSHOT", "SCREENSHARING" ], "type": "string", "default": "PDF", "name": "type", "in": "query" }, { "enum": [ "SCREENRECORDING", "CALL" ], "type": "string", "default": "SCREENRECORDING", "name": "channel", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.ListFile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/cognitive_profiles": { "get": { "tags": [ "CognitiveProfileService" ], "operationId": "SearchCognitiveProfile", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "enum": [ "DefaultService", "STT", "TTS" ], "type": "string" }, "collectionFormat": "multi", "name": "service", "in": "query" }, { "type": "boolean", "name": "enabled", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.ListCognitiveProfile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "CognitiveProfileService" ], "operationId": "CreateCognitiveProfile", "parameters": [ { "description": "Create cognitive profile request body for TTS and TTS", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.CreateCognitiveProfileRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.CognitiveProfile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/cognitive_profiles/{id}": { "get": { "tags": [ "CognitiveProfileService" ], "operationId": "ReadCognitiveProfile", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.CognitiveProfile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "CognitiveProfileService" ], "operationId": "UpdateCognitiveProfile", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.CognitiveProfileService.UpdateCognitiveProfileBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.CognitiveProfile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "CognitiveProfileService" ], "summary": "Remove BackendProfile", "operationId": "DeleteCognitiveProfile", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.CognitiveProfile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "CognitiveProfileService" ], "operationId": "PatchCognitiveProfile", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.CognitiveProfileService.PatchCognitiveProfileBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.CognitiveProfile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/cognitive_profiles/{id}/voice": { "get": { "tags": [ "CognitiveProfileService" ], "summary": "Search Voices", "operationId": "SearchCognitiveProfileVoices", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "key", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.ListCognitiveProfileVoices" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/file": { "get": { "tags": [ "FileService" ], "operationId": "SearchFiles", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "string", "format": "int64", "name": "uploaded_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "uploaded_at.to", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "uploaded_by", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "reference_id", "in": "query" }, { "type": "array", "items": { "enum": [ "UnknownChannel", "ChatChannel", "MailChannel", "CallChannel", "LogChannel", "MediaChannel", "KnowledgebaseChannel", "CasesChannel", "ScreenRecordingChannel" ], "type": "string" }, "collectionFormat": "multi", "description": " - ScreenRecordingChannel: ScreenshotChannel = 8; // deprecated", "name": "channel", "in": "query" }, { "type": "string", "format": "int64", "name": "retention_until.from", "in": "query" }, { "type": "string", "format": "int64", "name": "retention_until.to", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.ListFile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "FileService" ], "operationId": "DeleteFiles", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.DeleteFilesRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.DeleteFilesResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/file/quarantine": { "delete": { "tags": [ "FileService" ], "operationId": "DeleteQuarantineFiles", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.DeleteQuarantineFilesRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.DeleteFilesResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/file/restore": { "patch": { "tags": [ "FileService" ], "operationId": "RestoreFiles", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.RestoreFilesRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.RestoreFilesResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/file_policies": { "get": { "tags": [ "FilePoliciesService" ], "summary": "List of FilePolicy", "operationId": "SearchFilePolicies", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.ListFilePolicies" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "FilePoliciesService" ], "summary": "Create FilePolicy", "operationId": "CreateFilePolicy", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.CreateFilePolicyRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.FilePolicy" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/file_policies/{from_id}/to/{to_id}": { "patch": { "tags": [ "FilePoliciesService" ], "operationId": "MovePositionFilePolicy", "parameters": [ { "type": "integer", "format": "int32", "name": "from_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "to_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.FilePoliciesService.MovePositionFilePolicyBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.MovePositionFilePolicyResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/file_policies/{id}": { "get": { "tags": [ "FilePoliciesService" ], "summary": "FilePolicy item", "operationId": "ReadFilePolicy", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.FilePolicy" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "FilePoliciesService" ], "summary": "Update FilePolicy", "operationId": "UpdateFilePolicy", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.FilePoliciesService.UpdateFilePolicyBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.FilePolicy" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "FilePoliciesService" ], "summary": "Remove FilePolicy", "operationId": "DeleteFilePolicy", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.FilePolicy" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "FilePoliciesService" ], "summary": "Patch FilePolicy", "operationId": "PatchFilePolicy", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.FilePoliciesService.PatchFilePolicyBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.FilePolicy" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/file_policies/{id}/apply": { "patch": { "tags": [ "FilePoliciesService" ], "operationId": "FilePolicyApply", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.FilePoliciesService.FilePolicyApplyBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.FilePolicyApplyResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/import_templates": { "get": { "tags": [ "ImportTemplateService" ], "operationId": "SearchImportTemplate", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.ListImportTemplate" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "ImportTemplateService" ], "operationId": "CreateImportTemplate", "parameters": [ { "description": "Create import template for CSV", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.CreateImportTemplateRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.ImportTemplate" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/import_templates/{id}": { "get": { "tags": [ "ImportTemplateService" ], "operationId": "ReadImportTemplate", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.ImportTemplate" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "ImportTemplateService" ], "operationId": "UpdateImportTemplate", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.ImportTemplateService.UpdateImportTemplateBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.ImportTemplate" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "ImportTemplateService" ], "operationId": "DeleteImportTemplate", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.ImportTemplate" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "ImportTemplateService" ], "operationId": "PatchImportTemplate", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.ImportTemplateService.PatchImportTemplateBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.ImportTemplate" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/media": { "get": { "tags": [ "MediaFileService" ], "summary": "Search MediaFile", "operationId": "SearchMediaFile", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.ListMedia" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/media/{id}": { "get": { "tags": [ "MediaFileService" ], "summary": "MediaFile item", "operationId": "ReadMediaFile", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.MediaFile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "MediaFileService" ], "summary": "Remove MediaFile", "operationId": "DeleteMediaFile", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "domain_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.MediaFile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/transcript_file": { "put": { "tags": [ "FileTranscriptService" ], "operationId": "PutFileTranscript", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.PutFileTranscriptRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.PutFileTranscriptResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "FileTranscriptService" ], "operationId": "CreateFileTranscript", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.StartFileTranscriptRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.StartFileTranscriptResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "FileTranscriptService" ], "operationId": "DeleteFileTranscript", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.DeleteFileTranscriptRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.DeleteFileTranscriptResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/transcript_file/{id}/phrases": { "get": { "tags": [ "FileTranscriptService" ], "operationId": "GetFileTranscriptPhrases", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.ListPhrases" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/users/{user_id}": { "get": { "tags": [ "FileService" ], "operationId": "SearchScreenRecordings", "parameters": [ { "type": "string", "format": "int64", "name": "user_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "string", "format": "int64", "name": "uploaded_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "uploaded_at.to", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "reference_id", "in": "query" }, { "type": "string", "format": "int64", "name": "retention_until.from", "in": "query" }, { "type": "string", "format": "int64", "name": "retention_until.to", "in": "query" }, { "enum": [ "PDF", "SCREENSHOT", "SCREENSHARING" ], "type": "string", "default": "PDF", "name": "type", "in": "query" }, { "enum": [ "SCREENRECORDING", "CALL" ], "type": "string", "default": "SCREENRECORDING", "name": "channel", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.ListFile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/storage/users/{user_id}/{id}": { "delete": { "tags": [ "FileService" ], "operationId": "DeleteScreenRecordings", "parameters": [ { "type": "string", "format": "int64", "name": "user_id", "in": "path", "required": true }, { "minItems": 1, "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "csv", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/storage.FileService.DeleteScreenRecordingsBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/storage.DeleteFilesResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/trigger": { "get": { "tags": [ "TriggerService" ], "summary": "List of Trigger", "operationId": "SearchTrigger", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "name": "schema_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListTrigger" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "TriggerService" ], "summary": "Create Trigger", "operationId": "CreateTrigger", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.CreateTriggerRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Trigger" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/trigger/{id}": { "get": { "tags": [ "TriggerService" ], "summary": "Trigger item", "operationId": "ReadTrigger", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Trigger" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "TriggerService" ], "summary": "Update Trigger", "operationId": "UpdateTrigger", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.TriggerService.UpdateTriggerBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Trigger" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "TriggerService" ], "summary": "Remove Trigger", "operationId": "DeleteTrigger", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Trigger" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "TriggerService" ], "operationId": "PatchTrigger", "parameters": [ { "type": "integer", "format": "int32", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.TriggerService.PatchTriggerBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.Trigger" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/trigger/{trigger_id}/job": { "get": { "tags": [ "TriggerService" ], "operationId": "SearchTriggerJob", "parameters": [ { "type": "integer", "format": "int32", "name": "trigger_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "string", "format": "int64", "name": "created_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "created_at.to", "in": "query" }, { "type": "string", "format": "int64", "name": "started_at.from", "in": "query" }, { "type": "string", "format": "int64", "name": "started_at.to", "in": "query" }, { "type": "string", "format": "int64", "name": "duration.from", "in": "query" }, { "type": "string", "format": "int64", "name": "duration.to", "in": "query" }, { "type": "array", "items": { "enum": [ "idle", "active", "done", "error" ], "type": "string" }, "collectionFormat": "multi", "name": "state", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListTriggerJob" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "TriggerService" ], "operationId": "CreateTriggerJob", "parameters": [ { "type": "integer", "format": "int32", "name": "trigger_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/engine.TriggerService.CreateTriggerJobBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.TriggerJob" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/types": { "get": { "tags": [ "Types" ], "summary": "Lookup data types registry.", "operationId": "Search_Types", "parameters": [ { "type": "string", "description": "Search term:\n`?` - matches any character\n`*` - matches 0 or more characters\ne.g.: name,emails{type},labels etc...", "name": "q", "in": "query" }, { "type": "string", "description": "`types.id`", "name": "id", "in": "query" }, { "type": "string", "description": "`types.name`", "name": "name", "in": "query" }, { "type": "string", "description": "`types.repo`", "name": "repo", "in": "query" }, { "type": "string", "description": "`types.path`", "name": "path", "in": "query" }, { "type": "boolean", "description": "[NOT] [ system / custom ] types only", "name": "readonly", "in": "query" }, { "type": "boolean", "description": "[NOT] Extend[able] types only.", "name": "extendable", "in": "query" }, { "type": "boolean", "description": "[NOT] include extensions/* types.", "name": "extensions", "in": "query" }, { "type": "boolean", "description": "[NOT] Extend[ed] types only.", "name": "extended", "in": "query" }, { "type": "boolean", "description": "[NOT] Administer access control only", "name": "administered", "in": "query" }, { "type": "integer", "format": "int32", "description": "Number of result records (per page).\nDefault: 16.", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "Page number of result set of records.\nDefault: 1.", "name": "page", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "pattern": "^[+|-|!]?\\w+$", "type": "string", "default": "*" }, "collectionFormat": "multi", "x-example": "!updated_at,tag", "description": "Sort result dataset of records by fields.\n```\nsort ::= *( ORDER name )\n\nORDER = ASC / DESC\nDESC = \"-\" / \"!\"\nASC = [ \"+\" ] ; Default\n```\n\nFields available\n\n- `id`(seq)\n- `domain`{name}\n- `created_at`\n- `created_by`{name}\n- `updated_at`\n- `updated_by`{name}\n\nUse ?fields=`field.sort()` option to sort Edge fields.", "name": "sort", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "type": "string", "default": "*" }, "collectionFormat": "multi", "x-example": "*,labels.size(3).sort(!updated_at){updated_at,label}", "description": "Fields [Q]uery to build result dataset record.\n```\nfields ::= field [ *( \",\" field ) ]\nfield ::= name [ *( func ) ] [ inner ]\ninner ::= \"{\" fields \"}\"\nfuncs ::= *( func )\nfunc ::= \".\" name \"(\" [ args ] \")\"\nname ::= ALPHA / DIGIT / USCORE\n\nALPHA = %x41-5A / %x61-7A ; \"A\"-\"Z\" / \"a\"-\"z\"\nDIGIT = %x30-39 ; \"0\"-\"9\"\nUSCORE = %x5F ; underscore ; \"_\"\n```", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/dataStructList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/types/dictionaries": { "get": { "tags": [ "Dictionaries" ], "summary": "Lookup dictionaries data types.", "operationId": "SearchType", "parameters": [ { "type": "string", "description": "Search term:\n`?` - matches any character\n`*` - matches 0 or more characters\ne.g.: name,emails{type},labels etc...", "name": "q", "in": "query" }, { "type": "string", "description": "`types.id`", "name": "id", "in": "query" }, { "type": "string", "description": "`types.name`", "name": "name", "in": "query" }, { "type": "string", "description": "`types.repo`", "name": "repo", "in": "query" }, { "type": "string", "description": "`types.path`", "name": "path", "in": "query" }, { "type": "boolean", "description": "[NOT] [ system / custom ] types only", "name": "readonly", "in": "query" }, { "type": "boolean", "description": "[NOT] Extend[able] types only.", "name": "extendable", "in": "query" }, { "type": "boolean", "description": "[NOT] include extensions/* types.", "name": "extensions", "in": "query" }, { "type": "boolean", "description": "[NOT] Extend[ed] types only.", "name": "extended", "in": "query" }, { "type": "boolean", "description": "[NOT] Administer access control only", "name": "administered", "in": "query" }, { "type": "integer", "format": "int32", "description": "Number of result records (per page).\nDefault: 16.", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "Page number of result set of records.\nDefault: 1.", "name": "page", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "pattern": "^[+|-|!]?\\w+$", "type": "string", "default": "*" }, "collectionFormat": "multi", "x-example": "!updated_at,tag", "description": "Sort result dataset of records by fields.\n```\nsort ::= *( ORDER name )\n\nORDER = ASC / DESC\nDESC = \"-\" / \"!\"\nASC = [ \"+\" ] ; Default\n```\n\nFields available\n\n- `id`(seq)\n- `domain`{name}\n- `created_at`\n- `created_by`{name}\n- `updated_at`\n- `updated_by`{name}\n\nUse ?fields=`field.sort()` option to sort Edge fields.", "name": "sort", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "type": "string", "default": "*" }, "collectionFormat": "multi", "x-example": "*,labels.size(3).sort(!updated_at){updated_at,label}", "description": "Fields [Q]uery to build result dataset record.\n```\nfields ::= field [ *( \",\" field ) ]\nfield ::= name [ *( func ) ] [ inner ]\ninner ::= \"{\" fields \"}\"\nfuncs ::= *( func )\nfunc ::= \".\" name \"(\" [ args ] \")\"\nname ::= ALPHA / DIGIT / USCORE\n\nALPHA = %x41-5A / %x61-7A ; \"A\"-\"Z\" / \"a\"-\"z\"\nDIGIT = %x30-39 ; \"0\"-\"9\"\nUSCORE = %x5F ; underscore ; \"_\"\n```", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/dataStructList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "description": "(DictionaryList) {", "tags": [ "Dictionaries" ], "summary": "Delete custom dictionaries.", "operationId": "DeleteType", "parameters": [ { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to retrive into result dataset.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "`types.repo`\n\n// `record.pk`\n repeated string id = 3;", "name": "repo", "in": "query", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/dataStructList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/types/dictionaries/{repo}": { "get": { "description": "(Dictionary) {", "tags": [ "Dictionaries" ], "summary": "Locate the dictionary type.", "operationId": "LocateType", "parameters": [ { "type": "string", "description": "`types.repo`", "name": "repo", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/protoDataStruct" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "description": "(Dictionary) {", "tags": [ "Dictionaries" ], "summary": "Update custom dictionary.", "operationId": "UpdateType", "parameters": [ { "type": "string", "description": "[**repo**] name of the dataset type, e.g.: `countries`.", "name": "repo", "in": "path", "required": true }, { "description": "The dictionary [**type**] changes.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dataInputDictionary" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to return into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/protoDataStruct" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "description": "(Dictionary) {", "tags": [ "Dictionaries" ], "summary": "Create custom dictionary.", "operationId": "CreateType", "parameters": [ { "type": "string", "description": "NEW [`types.repo`] repository name, e.g.: `countries`.", "name": "repo", "in": "path", "required": true }, { "description": "NEW dictionary [type] definition.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dataInputDictionary" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/protoDataStruct" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/types/extensions": { "get": { "description": "(ExtensionList) {", "tags": [ "Extensions" ], "summary": "Search for type extensions.", "operationId": "SearchType_Extensions", "parameters": [ { "type": "integer", "format": "int32", "description": "Number of result records (per page).\nDefault: 16.", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "Page number of result set of records.\nDefault: 1.", "name": "page", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "pattern": "^[+|-|!]?\\w+$", "type": "string", "default": "*" }, "collectionFormat": "multi", "x-example": "!updated_at,tag", "description": "Sort result dataset of records by fields.\n```\nsort ::= *( ORDER name )\n\nORDER = ASC / DESC\nDESC = \"-\" / \"!\"\nASC = [ \"+\" ] ; Default\n```\n\nFields available\n\n- `id`(seq)\n- `domain`{name}\n- `created_at`\n- `created_by`{name}\n- `updated_at`\n- `updated_by`{name}\n\nUse ?fields=`field.sort()` option to sort Edge fields.", "name": "sort", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "type": "string", "default": "*" }, "collectionFormat": "multi", "x-example": "*,labels.size(3).sort(!updated_at){updated_at,label}", "description": "Fields [Q]uery to build result dataset record.\n```\nfields ::= field [ *( \",\" field ) ]\nfield ::= name [ *( func ) ] [ inner ]\ninner ::= \"{\" fields \"}\"\nfuncs ::= *( func )\nfunc ::= \".\" name \"(\" [ args ] \")\"\nname ::= ALPHA / DIGIT / USCORE\n\nALPHA = %x41-5A / %x61-7A ; \"A\"-\"Z\" / \"a\"-\"z\"\nDIGIT = %x30-39 ; \"0\"-\"9\"\nUSCORE = %x5F ; underscore ; \"_\"\n```", "name": "fields", "in": "query" }, { "type": "string", "description": "Search term:\n`?` - matches any character\n`*` - matches 0 or more characters\ne.g.: name,emails{type},labels etc...", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "extension.type.id", "name": "id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/dataStructList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "description": "returns (ExtensionList) {", "tags": [ "Extensions" ], "summary": "Delete extension for types.", "operationId": "DeleteType2", "parameters": [ { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "`type.repo`", "name": "repo", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/dataStructList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/types/extensions/{repo}": { "get": { "description": "returns (Extension) {", "tags": [ "Extensions" ], "summary": "Type extension details.", "operationId": "LocateType_Extensions", "parameters": [ { "type": "string", "description": "`type.repo`\n\nid", "name": "repo", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/protoDataStruct" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "description": "returns (Extension) {", "tags": [ "Extensions" ], "summary": "Update type extension.", "operationId": "UpdateType_Extensions", "parameters": [ { "type": "string", "description": "`type.repo`", "name": "repo", "in": "path", "required": true }, { "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dataInputExtension" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/protoDataStruct" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "description": "returns (Extension) {", "tags": [ "Extensions" ], "summary": "Create type extension.", "operationId": "CreateType_Extensions", "parameters": [ { "type": "string", "description": "SUPER `types.repo` to extend, e.g.: `contacts`.\nLookup: GET /types?extendable=true", "name": "repo", "in": "path", "required": true }, { "description": "Extension type fields.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dataInputExtension" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/protoDataStruct" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "description": "returns (ExtensionList) {", "tags": [ "Extensions" ], "summary": "Delete extension for types.", "operationId": "DeleteType_Extensions", "parameters": [ { "minItems": 1, "type": "array", "items": { "type": "string" }, "collectionFormat": "csv", "description": "`type.repo`", "name": "repo", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/dataStructList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/types/{path}": { "get": { "tags": [ "Types" ], "summary": "Structured data type details.", "operationId": "Locate", "parameters": [ { "type": "string", "format": "path", "description": "`types.path`", "name": "path", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/protoDataStruct" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/user": { "get": { "tags": [ "Users" ], "operationId": "ReadUser2", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "partial output", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiReadUserResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/user/device/config/{type}": { "get": { "tags": [ "UserHelperService" ], "operationId": "DefaultDeviceConfig", "parameters": [ { "type": "string", "name": "type", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.DefaultDeviceConfigResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/user/settings/{key}": { "get": { "tags": [ "UserSettings" ], "summary": "GET /user/settings/{key=*}", "operationId": "GetUserSettings", "parameters": [ { "pattern": "[^/]+", "type": "string", "name": "key", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUserSetting" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "description": "PUT /user/settings/{key=*}\nContent-Type: application/json; charset=utf-8\n\n${value=.body}", "tags": [ "UserSettings" ], "summary": "Create -or- Update", "operationId": "SetUserSettings", "parameters": [ { "pattern": "[^/]+", "type": "string", "name": "key", "in": "path", "required": true }, { "name": "value", "in": "body", "required": true, "schema": {} } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUserSetting" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/user/widget/activity/today": { "get": { "tags": [ "UserHelperService" ], "operationId": "ActivityWorkspaceWidget", "parameters": [ { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ActivityWorkspaceWidgetResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/user/{user_id}/websockets": { "get": { "tags": [ "UserHelperService" ], "operationId": "OpenedWebSockets", "parameters": [ { "minItems": 1, "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "csv", "name": "user_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/engine.ListOpenedWebSocket" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/userinfo": { "get": { "tags": [ "Auth" ], "summary": "The UserInfo Endpoint is an OAuth 2.0 Protected Resource that returns Claims about the authenticated End-User.", "operationId": "UserInfo2", "parameters": [ { "type": "string", "description": "string id_token = 2;", "name": "access_token", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUserinfo" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "Auth" ], "summary": "The UserInfo Endpoint is an OAuth 2.0 Protected Resource that returns Claims about the authenticated End-User.", "operationId": "UserInfo", "parameters": [ { "type": "string", "description": "string id_token = 2;", "name": "access_token", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUserinfo" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/users": { "get": { "tags": [ "Users" ], "operationId": "SearchUsers", "parameters": [ { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "----- Base Filters ---------------------------\n\nfilter: .id = any({id}...)", "name": "id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "filter: .id \u003c\u003e all({not_ids}...)", "name": "not_id", "in": "query" }, { "type": "string", "description": "----- User-specific Filters ------------------\n\nfilter: (.name|.username|.extension|.status) ILIKE '{q}'", "name": "q", "in": "query" }, { "type": "string", "description": "filter: .name ILIKE '{name}'", "name": "name", "in": "query" }, { "type": "string", "description": "filter: .status ILIKE '{status}'", "name": "status", "in": "query" }, { "type": "string", "description": "filter: .username ILIKE '{username}'", "name": "username", "in": "query" }, { "type": "string", "description": "filter: .extension LIKE '{extension}'", "name": "extension", "in": "query" }, { "type": "boolean", "description": "----- View Modes -----------------------------\nNOTE: by default, search NOT 'deleted' objects ONLY\n\nfilter: include 'deleted' ALSO ! (inactive)", "name": "any", "in": "query" }, { "type": "boolean", "description": "filter: .deleted_at NOTNULL (view: RECYCLE)", "name": "deleted", "in": "query" }, { "type": "string", "name": "presence.status", "in": "query" }, { "type": "string", "name": "presence.note", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "// navigation filter\nrepeated int64 roles = 7;\n----- Search Options -------------------------\n\nselect: output (fields,...)", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "select: order by (fields,...)", "name": "sort", "in": "query" }, { "type": "integer", "format": "int32", "description": "select: offset {page}", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "select: limit {size}", "name": "size", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiSearchUsersResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "Users" ], "operationId": "CreateUser", "parameters": [ { "description": "user entity to be created", "name": "user", "in": "body", "required": true, "schema": { "$ref": "#/definitions/apiInputUser" } }, { "type": "string", "name": "user_password", "in": "query" }, { "type": "string", "name": "confirm_password", "in": "query" }, { "type": "boolean", "description": "Generate credentials \u0026 assign SIP [device] for NEW [user]", "name": "generate_device", "in": "query" }, { "type": "string", "description": "SIP display name", "name": "device.name", "in": "query" }, { "type": "string", "description": "SIP auth-id", "name": "device.account", "in": "query" }, { "type": "string", "description": "SIP password", "name": "device.password", "in": "query" }, { "type": "boolean", "description": "[re]generate SIP password ?", "name": "device.generate_password", "in": "query" } ], "responses": { "200": { "description": "(empty)", "schema": { "$ref": "#/definitions/apiUser" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Users" ], "operationId": "DeleteUsers2", "parameters": [ { "description": "MANY /users .ids=[id,...]", "name": "selection", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "string", "format": "int64" } } }, { "type": "string", "format": "int64", "description": "ONE /users/{id}", "name": "id", "in": "query" }, { "type": "boolean", "name": "permanent", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiDeleteUsersResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/users/logout": { "post": { "tags": [ "Users" ], "operationId": "LogoutUser2", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/apiLogoutUserRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLogoutUserResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/users/password": { "put": { "tags": [ "Users" ], "operationId": "UpdatePassword", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/apiUpdatePasswordRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUpdatePasswordResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/users/password/generate": { "post": { "tags": [ "Users" ], "operationId": "GeneratePassword", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/apiGeneratePasswordRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiGeneratePasswordResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/users/password/settings": { "get": { "tags": [ "Users" ], "operationId": "ReadPasswordSettings", "parameters": [ { "type": "string", "name": "password", "in": "query" }, { "type": "string", "name": "username", "in": "query" }, { "type": "string", "name": "domain", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiGetPasswordSettingsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/users/search": { "post": { "tags": [ "Users" ], "operationId": "SearchUsers2", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/apiSearchUsersRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiSearchUsersResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/users/warnings": { "get": { "tags": [ "Users" ], "operationId": "GetUserWarnings", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiGetUserWarningsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/users/{id}": { "get": { "tags": [ "Users" ], "operationId": "ReadUser", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "partial output", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiReadUserResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "tags": [ "Users" ], "operationId": "UpdateUser", "parameters": [ { "type": "string", "format": "int64", "description": "path: /users/{id}", "name": "id", "in": "path", "required": true }, { "description": "body: modifications/changes", "name": "user", "in": "body", "required": true, "schema": { "$ref": "#/definitions/apiInputUser" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "PATCH: partial update", "name": "fields", "in": "query" }, { "type": "boolean", "description": "Generate SIP credentials \u0026 assign NEW [device] for [user]", "name": "generate_device", "in": "query" }, { "type": "string", "description": "SIP display name", "name": "device.name", "in": "query" }, { "type": "string", "description": "SIP auth-id", "name": "device.account", "in": "query" }, { "type": "string", "description": "SIP password", "name": "device.password", "in": "query" }, { "type": "boolean", "description": "[re]generate SIP password ?", "name": "device.generate_password", "in": "query" } ], "responses": { "200": { "description": "(empty)", "schema": { "$ref": "#/definitions/apiUser" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Users" ], "operationId": "DeleteUsers", "parameters": [ { "type": "string", "format": "int64", "description": "ONE /users/{id}", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "MANY /users .ids=[id,...]", "name": "selection", "in": "query" }, { "type": "boolean", "name": "permanent", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiDeleteUsersResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "Users" ], "operationId": "UpdateUser2", "parameters": [ { "type": "string", "format": "int64", "description": "path: /users/{id}", "name": "id", "in": "path", "required": true }, { "description": "body: modifications/changes", "name": "user", "in": "body", "required": true, "schema": { "$ref": "#/definitions/apiInputUser" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "PATCH: partial update", "name": "fields", "in": "query" }, { "type": "boolean", "description": "Generate SIP credentials \u0026 assign NEW [device] for [user]", "name": "generate_device", "in": "query" }, { "type": "string", "description": "SIP display name", "name": "device.name", "in": "query" }, { "type": "string", "description": "SIP auth-id", "name": "device.account", "in": "query" }, { "type": "string", "description": "SIP password", "name": "device.password", "in": "query" }, { "type": "boolean", "description": "[re]generate SIP password ?", "name": "device.generate_password", "in": "query" } ], "responses": { "200": { "description": "(empty)", "schema": { "$ref": "#/definitions/apiUser" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/users/{id}/logout": { "post": { "tags": [ "Users" ], "operationId": "LogoutUser", "parameters": [ { "type": "string", "format": "int64", "description": "ONE /users/{id}/logout", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/UsersLogoutUserBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiLogoutUserResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/users/{publish.id}/presence": { "patch": { "description": "(UserPresence) {", "tags": [ "Presence" ], "summary": "set(presence) (notify, error)", "operationId": "SetStatus", "parameters": [ { "type": "string", "format": "int64", "description": "[required] user identity", "name": "publish.id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/PresenceSetStatusBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiPresenceStatus" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/users/{token.user.id}/tokens": { "post": { "tags": [ "UserAccessTokens" ], "operationId": "AddUserAccessToken", "parameters": [ { "type": "string", "format": "int64", "description": "identifier", "name": "token.user.id", "in": "path", "required": true }, { "description": "processing\n------------\ntoken.user.id // [required] authorization\ntoken.usage // [optional] short description", "name": "token", "in": "body", "required": true, "schema": { "description": "processing\n------------\ntoken.user.id // [required] authorization\ntoken.usage // [optional] short description", "type": "object", "properties": { "created_at": { "type": "string", "format": "int64", "title": "unix::ms" }, "created_by": { "$ref": "#/definitions/apiObjectId" }, "deleted_at": { "type": "string", "format": "int64", "title": "[optional] disabled at" }, "deleted_by": { "title": "[optional] disabled by", "$ref": "#/definitions/apiObjectId" }, "id": { "type": "string", "title": "tokenKey::token_key" }, "token": { "type": "string", "title": "tokenString::access_token" }, "updated_at": { "type": "string", "format": "int64", "title": "unix::ms" }, "updated_by": { "$ref": "#/definitions/apiObjectId" }, "usage": { "type": "string", "title": "[optional] short usage description" }, "user": { "type": "object", "title": "[optional] output depends on API endpoint", "properties": { "name": { "type": "string", "title": "display name" } } } } } }, { "type": "boolean", "description": "ObjectId user = 1; // [required]\n string usage = 2; // [optional] usage description\n bool enable = 3;", "name": "enable", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUserAccessToken" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/users/{update.user.id}/tokens/{update.id}": { "put": { "tags": [ "UserAccessTokens" ], "operationId": "UpdateUserAccessToken", "parameters": [ { "type": "string", "format": "int64", "description": "identifier", "name": "update.user.id", "in": "path", "required": true }, { "type": "string", "description": "tokenKey::token_key", "name": "update.id", "in": "path", "required": true }, { "description": "[required] identification + modifications(about)", "name": "update", "in": "body", "required": true, "schema": { "type": "object", "title": "[required] identification + modifications(about)", "properties": { "created_at": { "type": "string", "format": "int64", "title": "unix::ms" }, "created_by": { "$ref": "#/definitions/apiObjectId" }, "deleted_at": { "type": "string", "format": "int64", "title": "[optional] disabled at" }, "deleted_by": { "title": "[optional] disabled by", "$ref": "#/definitions/apiObjectId" }, "token": { "type": "string", "title": "tokenString::access_token" }, "updated_at": { "type": "string", "format": "int64", "title": "unix::ms" }, "updated_by": { "$ref": "#/definitions/apiObjectId" }, "usage": { "type": "string", "title": "[optional] short usage description" }, "user": { "type": "object", "title": "[optional] output depends on API endpoint", "properties": { "name": { "type": "string", "title": "display name" } } } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "[optional] PATCH implementation", "name": "fields", "in": "query" }, { "type": "boolean", "name": "enable", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUserAccessToken" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "UserAccessTokens" ], "operationId": "UpdateUserAccessToken2", "parameters": [ { "type": "string", "format": "int64", "description": "identifier", "name": "update.user.id", "in": "path", "required": true }, { "type": "string", "description": "tokenKey::token_key", "name": "update.id", "in": "path", "required": true }, { "description": "[required] identification + modifications(about)", "name": "update", "in": "body", "required": true, "schema": { "type": "object", "title": "[required] identification + modifications(about)", "properties": { "created_at": { "type": "string", "format": "int64", "title": "unix::ms" }, "created_by": { "$ref": "#/definitions/apiObjectId" }, "deleted_at": { "type": "string", "format": "int64", "title": "[optional] disabled at" }, "deleted_by": { "title": "[optional] disabled by", "$ref": "#/definitions/apiObjectId" }, "token": { "type": "string", "title": "tokenString::access_token" }, "updated_at": { "type": "string", "format": "int64", "title": "unix::ms" }, "updated_by": { "$ref": "#/definitions/apiObjectId" }, "usage": { "type": "string", "title": "[optional] short usage description" }, "user": { "type": "object", "title": "[optional] output depends on API endpoint", "properties": { "name": { "type": "string", "title": "display name" } } } } } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "[optional] PATCH implementation", "name": "fields", "in": "query" }, { "type": "boolean", "name": "enable", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUserAccessToken" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/users/{user.id}/tokens": { "get": { "tags": [ "UserAccessTokens" ], "operationId": "ListUserAccessToken", "parameters": [ { "type": "string", "format": "int64", "description": "identifier", "name": "user.id", "in": "path", "required": true }, { "type": "string", "description": "display name", "name": "user.name", "in": "query" }, { "type": "string", "description": "int32 page = 2;\nint64 size = 3;\n\n.usage ILIKE :q", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "----- Search Options -------------------------\n\nselect: output (fields,...)", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "select: order by (fields,...)", "name": "sort", "in": "query" }, { "type": "integer", "format": "int32", "description": "select: offset {page}", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "select: limit {size}", "name": "size", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUserAccessTokenList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/users/{user.id}/tokens/{id}": { "get": { "tags": [ "UserAccessTokens" ], "operationId": "GetUserAccessToken", "parameters": [ { "type": "string", "format": "int64", "description": "identifier", "name": "user.id", "in": "path", "required": true }, { "type": "string", "description": "tokenKey::uuid", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "display name", "name": "user.name", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUserAccessToken" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "UserAccessTokens" ], "operationId": "DeleteUserAccessToken", "parameters": [ { "type": "string", "format": "int64", "description": "identifier", "name": "user.id", "in": "path", "required": true }, { "type": "string", "description": "tokenKey::uuid", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "display name", "name": "user.name", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUserAccessToken" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/users/{user_id}/2fa": { "get": { "tags": [ "TwoFactorAuthentication" ], "summary": "GetUserTfaKey locates the secret for user and returns it as a TOTP url", "operationId": "GetUserTfaKey", "parameters": [ { "type": "string", "format": "int64", "name": "user_id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiGetUserTfaKeyResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "tags": [ "TwoFactorAuthentication" ], "summary": "GenerateUserTfaKey generates new or regenerates secret for the concrete user", "operationId": "GenerateUserTfaKey", "parameters": [ { "type": "string", "format": "int64", "name": "user_id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiGenerateUserTfaKeyResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/v1/auth/devices": { "post": { "tags": [ "webitel.im.api.gateway.v1.Account" ], "summary": "Register device to receive PUSH notifications", "operationId": "Account_RegisterDevice", "parameters": [ { "description": "PUSH Notification subscription", "name": "push", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.PUSHSubscription" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.RegisterDeviceResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/auth/devices/unregister": { "post": { "tags": [ "webitel.im.api.gateway.v1.Account" ], "summary": "Deletes a device by its token, stops sending PUSH-notifications to it.", "operationId": "Account_UnregisterDevice", "parameters": [ { "description": "PUSH Notification subscription", "name": "push", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.PUSHSubscription" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.UnregisterDeviceResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/auth/logout": { "post": { "tags": [ "webitel.im.api.gateway.v1.Account" ], "summary": "Logout Device Request", "operationId": "Account_Logout", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.LogoutResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/auth/token": { "get": { "tags": [ "webitel.im.api.gateway.v1.Account" ], "summary": "Inspect current Authorization credentials", "operationId": "Account_Inspect", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.Authorization" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "webitel.im.api.gateway.v1.Account" ], "summary": "// Authorization Request. Part of OAuth flow\nrpc Auth(AuthRequest) returns (AuthResponse);", "operationId": "Account_Token", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.TokenRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.Authorization" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/bots": { "post": { "tags": [ "webitel.im.api.gateway.v1.Bots" ], "summary": "Create a new bot", "operationId": "Bots_CreateBot", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.CreateBotRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.Bot" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/bots/{id}": { "delete": { "tags": [ "webitel.im.api.gateway.v1.Bots" ], "summary": "Delete a bot", "operationId": "Bots_DeleteBot", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.Bot" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "webitel.im.api.gateway.v1.Bots" ], "summary": "Update existing bot", "operationId": "Bots_UpdateBot", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.Bots.UpdateBotBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.Bot" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/contacts": { "get": { "tags": [ "webitel.im.api.gateway.v1.Contacts" ], "summary": "Search retrieves a paginated list of contacts based on filters and search queries.", "operationId": "Contacts_Search", "parameters": [ { "type": "integer", "format": "int32", "description": "Page number to retrieve (starts from 1).", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Number of items per page.", "name": "size", "in": "query" }, { "type": "string", "description": "Sorting criteria (e.g., \"name\" or \"-created_at\").", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of specific fields to include in the response. If empty, all fields are returned.", "name": "fields", "in": "query" }, { "type": "string", "description": "Full-text search query (matches against name or username).", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Filter by channel types (e.g., [\"telegram\", \"viber\"]).", "name": "type", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Filter by internal system subjects/user IDs.", "name": "subjects", "in": "query" }, { "type": "boolean", "name": "only_bots", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ContactList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/contacts/self/settings": { "get": { "tags": [ "webitel.im.api.gateway.v1.ContactSettingsManagement" ], "summary": "Get retrieves the contact settings for the request initiator.", "operationId": "ContactSettingsManagement_Get", "parameters": [ { "type": "string", "name": "contact_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.GetContactSettingsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "webitel.im.api.gateway.v1.ContactSettingsManagement" ], "summary": "Update modifies the contact settings for the request initiator. Only the fields provided in the request will be updated; other existing settings will remain unchanged.", "operationId": "ContactSettingsManagement_Update", "parameters": [ { "type": "string", "name": "contact_id", "in": "query" }, { "enum": [ "ALL", "NOBODY", "SAME_ISSUER" ], "type": "string", "default": "ALL", "name": "allow_invites_from", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.UpdateContactSettingsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/articles": { "get": { "tags": [ "Articles" ], "summary": "ListArticles lists articles within a space with optional filters.", "operationId": "ListArticles", "parameters": [ { "type": "integer", "format": "int32", "description": "Page size.", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "Page number (1-based).", "name": "page", "in": "query" }, { "type": "string", "description": "Optional subject search.", "name": "q", "in": "query" }, { "type": "string", "format": "int64", "description": "Space to list within.", "name": "space_id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Optional tag filter.", "name": "tags", "in": "query" }, { "enum": [ "ARTICLE_STATE_UNSPECIFIED", "DRAFT", "ACTIVE", "INACTIVE" ], "type": "string", "default": "ARTICLE_STATE_UNSPECIFIED", "description": "Optional state filter.", "name": "state", "in": "query" }, { "enum": [ "ARTICLE_TYPE_UNSPECIFIED", "ARTICLE", "FAQ" ], "type": "string", "default": "ARTICLE_TYPE_UNSPECIFIED", "description": "Optional type filter.", "name": "type", "in": "query" }, { "type": "string", "description": "Sorting criteria (e.g. field:asc).", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Set of fields to return.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.ArticleList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "Articles" ], "summary": "CreateArticle creates an article and its first version.", "operationId": "CreateArticle", "parameters": [ { "description": "Article fields.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.kb.InputArticle" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.Article" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/articles/resolve": { "post": { "tags": [ "Retrieval" ], "summary": "Resolve returns article summaries for the given ids with RBAC applied", "operationId": "Resolve", "parameters": [ { "description": "ResolveRequest selects articles by id within the given spaces.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.kb.ResolveRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.ResolveResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/articles/search": { "get": { "tags": [ "Retrieval" ], "summary": "Search runs fast full-text search over title, tags and plaintext (no vector).", "operationId": "Search_Retrieval", "parameters": [ { "type": "string", "description": "Free-text query.", "name": "query", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "Spaces to search within.", "name": "space_ids", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Optional tag filter.", "name": "tags", "in": "query" }, { "enum": [ "TAG_MATCH_ALL", "TAG_MATCH_ANY" ], "type": "string", "default": "TAG_MATCH_ALL", "description": "How to combine the tag filter.\n\n - TAG_MATCH_ALL: Default: match articles having ALL listed tags (AND).\n - TAG_MATCH_ANY: Match articles having ANY listed tag (OR).", "name": "tag_match", "in": "query" }, { "type": "integer", "format": "int32", "description": "Page size.", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "Page number (1-based).", "name": "page", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.SearchResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/articles/semantic_search": { "post": { "tags": [ "Retrieval" ], "summary": "SemanticSearch runs hybrid retrieval (vector + full-text, RRF) and returns\nchunks plus optional citations.", "operationId": "SemanticSearch", "parameters": [ { "description": "SemanticSearchRequest parameters for hybrid retrieval.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.kb.SemanticSearchRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.SemanticSearchResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/articles/suggest": { "post": { "tags": [ "Retrieval" ], "summary": "Suggest runs hybrid retrieval with cross-encoder rerank for operator assist.", "operationId": "Suggest", "parameters": [ { "description": "SuggestRequest parameters for operator assist.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.kb.SuggestRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.SuggestResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/articles/{article_etag}/files": { "get": { "tags": [ "Attachments" ], "summary": "ListFiles returns the files attached to an article.", "operationId": "ListFiles_Attachments", "parameters": [ { "type": "string", "description": "Concurrency token / locator of the owning article.", "name": "article_etag", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page number (1-based).", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "description": "Page size.", "name": "size", "in": "query" }, { "type": "string", "description": "Search term.", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Set of fields to return.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "Optional file ids to fetch.", "name": "ids", "in": "query" }, { "type": "string", "description": "Sorting criteria (e.g. field:asc).", "name": "sort", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.FileList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/articles/{article_etag}/files/{id}": { "delete": { "tags": [ "Attachments" ], "summary": "DeleteFile unbinds and removes a file from an article.", "operationId": "DeleteFile_Attachments", "parameters": [ { "type": "string", "description": "Concurrency token / locator of the owning article.", "name": "article_etag", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "File id.", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.File" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/articles/{article_id}/versions": { "get": { "tags": [ "Versions" ], "summary": "ListVersions returns the version history of an article (newest first).", "operationId": "ListVersions", "parameters": [ { "type": "string", "format": "int64", "description": "Owning article id.", "name": "article_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Page size.", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "Page number (1-based).", "name": "page", "in": "query" }, { "type": "string", "description": "Sorting criteria (e.g. field:asc).", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Set of fields to return.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.ArticleVersionList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/articles/{article_id}/versions/{version_number}": { "get": { "tags": [ "Versions" ], "summary": "GetVersion returns a single version by number.", "operationId": "GetVersion", "parameters": [ { "type": "string", "format": "int64", "description": "Owning article id.", "name": "article_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Version number.", "name": "version_number", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.ArticleVersion" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/articles/{article_id}/versions/{version_number}/restore": { "post": { "tags": [ "Versions" ], "summary": "RestoreVersion creates a new version from a past one.", "operationId": "RestoreVersion", "parameters": [ { "type": "string", "format": "int64", "description": "Owning article id.", "name": "article_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Version number to restore.", "name": "version_number", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.kb.Versions.RestoreVersionBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.ArticleVersion" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/articles/{etag}": { "get": { "tags": [ "Articles" ], "summary": "LocateArticle returns a single article by etag.", "operationId": "LocateArticle", "parameters": [ { "type": "string", "description": "Concurrency token / locator.", "name": "etag", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.Article" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "Articles" ], "summary": "UpdateArticle updates an article, creating a new version (optimistic lock via etag).", "operationId": "UpdateArticle", "parameters": [ { "type": "string", "description": "Concurrency token of the article to update.", "name": "etag", "in": "path", "required": true }, { "description": "Updated article fields.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.kb.InputArticle" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.Article" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "Articles" ], "summary": "DeleteArticle soft-deletes an article.", "operationId": "DeleteArticle", "parameters": [ { "type": "string", "description": "Concurrency token of the article to delete.", "name": "etag", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.Article" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "Articles" ], "summary": "UpdateArticle updates an article, creating a new version (optimistic lock via etag).", "operationId": "UpdateArticle2", "parameters": [ { "type": "string", "description": "Concurrency token of the article to update.", "name": "etag", "in": "path", "required": true }, { "description": "Updated article fields.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.kb.InputArticle" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.Article" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/articles/{etag}/move": { "post": { "tags": [ "Articles" ], "summary": "MoveArticle reparents an article, validating cycles and max depth.", "operationId": "MoveArticle", "parameters": [ { "type": "string", "description": "Concurrency token of the article to move.", "name": "etag", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.kb.Articles.MoveArticleBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.Article" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/articles/{id}/ancestors": { "get": { "tags": [ "Articles" ], "summary": "ListAncestors returns the ancestor chain (root first), serving breadcrumbs.", "operationId": "ListAncestors", "parameters": [ { "type": "string", "format": "int64", "description": "Article id.", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.ArticleList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/articles/{id}/children": { "get": { "tags": [ "Articles" ], "summary": "ListChildren returns the direct children of an article.", "operationId": "ListChildren", "parameters": [ { "type": "string", "format": "int64", "description": "Parent article id.", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.ArticleList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/models": { "get": { "tags": [ "EmbeddingModels" ], "summary": "ListModels returns models available to the caller's domain (and globals).", "operationId": "ListModels", "parameters": [ { "type": "integer", "format": "int32", "description": "Page size.", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "Page number (1-based).", "name": "page", "in": "query" }, { "type": "string", "description": "Optional name search.", "name": "q", "in": "query" }, { "type": "string", "description": "Optional type filter (\"embedding\" or \"reranker\").", "name": "type", "in": "query" }, { "type": "string", "description": "Sorting criteria (e.g. field:asc).", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Set of fields to return.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.EmbeddingModelList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "EmbeddingModels" ], "summary": "CreateModel registers a new model.", "operationId": "CreateModel", "parameters": [ { "description": "Model fields.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.kb.InputEmbeddingModel" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.EmbeddingModel" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/models/{id}": { "get": { "tags": [ "EmbeddingModels" ], "summary": "LocateModel returns a single model by id.", "operationId": "LocateModel", "parameters": [ { "type": "string", "format": "int64", "description": "Model id.", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.EmbeddingModel" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "EmbeddingModels" ], "summary": "UpdateModel updates a model registration.", "operationId": "UpdateModel", "parameters": [ { "type": "string", "format": "int64", "description": "Model id.", "name": "id", "in": "path", "required": true }, { "description": "Updated model fields.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.kb.InputEmbeddingModel" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.EmbeddingModel" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "EmbeddingModels" ], "summary": "DeleteModel removes a model registration.", "operationId": "DeleteModel", "parameters": [ { "type": "string", "format": "int64", "description": "Model id.", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.EmbeddingModel" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "EmbeddingModels" ], "summary": "UpdateModel updates a model registration.", "operationId": "UpdateModel2", "parameters": [ { "type": "string", "format": "int64", "description": "Model id.", "name": "id", "in": "path", "required": true }, { "description": "Updated model fields.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.kb.InputEmbeddingModel" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.EmbeddingModel" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/models/{id}/validate": { "post": { "tags": [ "EmbeddingModels" ], "summary": "ValidateModel runs a test embed/rerank call and stamps validated_at on success.", "operationId": "ValidateModel", "parameters": [ { "type": "string", "format": "int64", "description": "Model id.", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.EmbeddingModel" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/spaces": { "get": { "tags": [ "Spaces" ], "summary": "ListSpaces returns spaces in the caller's domain.", "operationId": "ListSpaces", "parameters": [ { "type": "integer", "format": "int32", "description": "Page size.", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "Page number (1-based).", "name": "page", "in": "query" }, { "type": "string", "description": "Optional name search.", "name": "q", "in": "query" }, { "type": "string", "description": "Sorting criteria (e.g. field:asc).", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Set of fields to return.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.SpaceList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "Spaces" ], "summary": "CreateSpace creates a space; language is immutable after creation.", "operationId": "CreateSpace", "parameters": [ { "description": "Space fields.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.kb.InputSpace" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.Space" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/spaces/{id}": { "get": { "tags": [ "Spaces" ], "summary": "LocateSpace returns a single space by id.", "operationId": "LocateSpace", "parameters": [ { "type": "string", "format": "int64", "description": "Space id.", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.Space" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "put": { "tags": [ "Spaces" ], "summary": "UpdateSpace updates a space (language cannot be changed).", "operationId": "UpdateSpace", "parameters": [ { "type": "string", "format": "int64", "description": "Space id.", "name": "id", "in": "path", "required": true }, { "description": "Updated space fields.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.kb.InputSpace" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.Space" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "delete": { "tags": [ "Spaces" ], "summary": "DeleteSpace deletes a space; a space with active articles cannot be deleted.", "operationId": "DeleteSpace", "parameters": [ { "type": "string", "format": "int64", "description": "Space id.", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.Space" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "Spaces" ], "summary": "UpdateSpace updates a space (language cannot be changed).", "operationId": "UpdateSpace2", "parameters": [ { "type": "string", "format": "int64", "description": "Space id.", "name": "id", "in": "path", "required": true }, { "description": "Updated space fields.", "name": "input", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.kb.InputSpace" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.Space" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/spaces/{space_id}/articles": { "get": { "tags": [ "Retrieval" ], "summary": "Menu lists child articles of a parent for bot menu buttons; FAQ children\ninclude their body inline.", "operationId": "Menu", "parameters": [ { "type": "string", "format": "int64", "description": "Space to read from.", "name": "space_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "Parent article id; 0 for top level.", "name": "parent_id", "in": "query" }, { "type": "integer", "format": "int32", "description": "Maximum hierarchy depth to return.", "name": "depth_limit", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.MenuResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/spaces/{space_id}/tags": { "get": { "tags": [ "Tags" ], "summary": "SuggestTags returns existing tags in a space matching a prefix.", "operationId": "SuggestTags", "parameters": [ { "type": "string", "format": "int64", "description": "Space to read tags from.", "name": "space_id", "in": "path", "required": true }, { "type": "string", "description": "Prefix to match.", "name": "q", "in": "query" }, { "type": "integer", "format": "int32", "description": "Maximum number of suggestions.", "name": "size", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.SuggestTagsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/kb/spaces/{space_id}/tree": { "get": { "tags": [ "Articles" ], "summary": "GetTree returns the article hierarchy of a space, RBAC filtered.", "operationId": "GetTree", "parameters": [ { "type": "string", "format": "int64", "description": "Space id.", "name": "space_id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.kb.GetTreeResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/messages/contact": { "post": { "tags": [ "webitel.im.api.gateway.v1.Message" ], "summary": "Sends a contact card.", "operationId": "Message_SendContact", "parameters": [ { "description": "SendContactRequest sends contact information.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SendContactRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SendMessageResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/messages/delete": { "post": { "tags": [ "webitel.im.api.gateway.v1.Message" ], "summary": "Deletes one or more messages authored by the caller in an active chat.\nBest-effort: the response reports which ids were deleted and which skipped.", "operationId": "Message_DeleteMessages", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.DeleteMessagesRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.DeleteMessagesResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/messages/document": { "post": { "tags": [ "webitel.im.api.gateway.v1.Message" ], "summary": "SendDocument delivers a document message.", "operationId": "Message_SendDocument", "parameters": [ { "description": "Represents a request to send a message with document.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SendDocumentRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SendDocumentResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/messages/forward": { "post": { "tags": [ "webitel.im.api.gateway.v1.Message" ], "summary": "Forwards messages the caller can read into a direct chat with [to],\nstamping each copy with its original author. The source chat is untouched.\nBest-effort: the response reports which sources were skipped.", "operationId": "Message_ForwardMessages", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ForwardMessagesRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ForwardMessagesResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/messages/interactive": { "post": { "tags": [ "webitel.im.api.gateway.v1.Message" ], "summary": "Sends an interactive message (buttons, lists, CTA).\nSupports idempotency via send_id.", "operationId": "Message_SendInteractive", "parameters": [ { "description": "SendInteractiveMessageRequest sends a structured interactive message.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SendInteractiveMessageRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SendMessageResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/messages/interactive/{in_reply_to}/callback": { "post": { "tags": [ "webitel.im.api.gateway.v1.Message" ], "summary": "Handles user interaction callbacks.\nShould be called by client when user interacts with UI.", "operationId": "Message_SendInteractiveCallback", "parameters": [ { "type": "string", "description": "Original message ID.", "name": "in_reply_to", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.Message.SendInteractiveCallbackBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.InteractiveCallbackResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/messages/internal": { "post": { "tags": [ "webitel.im.api.gateway.v1.Message" ], "summary": "Posts an internal note into the thread — visible only to Webitel users,\nnever delivered to the client and never forwarded to an external messenger.", "operationId": "Message_SendInternalNote", "parameters": [ { "description": "SendInternalNoteRequest posts an operator-only note into the thread. The\nsender is taken from the caller's identity; internal-only, no external fields.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SendInternalNoteRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SendMessageResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/messages/location": { "post": { "tags": [ "webitel.im.api.gateway.v1.Message" ], "summary": "Sends a geographic location message.", "operationId": "Message_SendLocation", "parameters": [ { "description": "SendLocationRequest sends a geographic location message.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SendLocationRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SendMessageResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/messages/search": { "get": { "tags": [ "webitel.im.api.gateway.v1.MessageHistory" ], "summary": "Full-text search over message bodies. Scoped to a single thread when\nthread_id is set, otherwise it spans every thread the caller belongs to.\nEach hit carries its thread_id, so a client can open that dialog and jump\nto the message by passing its id as the history cursor.", "operationId": "MessageHistory_SearchMessages", "parameters": [ { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of message fields to be returned.\nUsed to reduce payload size.", "name": "fields", "in": "query" }, { "type": "string", "description": "Text to look for. Matched case-insensitively against any part of the\nmessage body.", "name": "q", "in": "query" }, { "type": "string", "description": "Narrows the search to a single dialog.\nEmpty spans every thread the caller is a member of.", "name": "thread_id", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Filter matches by sender contact IDs.", "name": "sender_ids", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "description": "Filter matches by message types.", "name": "types", "in": "query" }, { "type": "string", "description": "Cursor identifier.\nMust be a valid UUID referencing an existing message.\nDefines the starting point for pagination.", "name": "cursor.id", "in": "query" }, { "type": "boolean", "description": "Pagination direction flag.\n\nfalse -\u003e fetch messages older than the cursor (scrolling up the chat)\ntrue -\u003e fetch messages newer than the cursor (moving toward the present)", "name": "cursor.before", "in": "query" }, { "type": "integer", "format": "int64", "description": "Maximum number of matches to return.", "name": "size", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SearchMessageHistoryResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/messages/text": { "post": { "tags": [ "webitel.im.api.gateway.v1.Message" ], "summary": "SendText delivers a plain text message.\nWe use the shared Request/Response types directly to avoid duplication.", "operationId": "Message_SendText", "parameters": [ { "description": "Represents a request to send a text message.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SendTextRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SendTextResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/messages/{id}": { "patch": { "tags": [ "webitel.im.api.gateway.v1.Message" ], "summary": "Edits an existing message by ID. Only the sender or authorized users can edit messages.", "operationId": "Message_EditMessage", "parameters": [ { "type": "string", "description": "Original message ID to be edited.", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.Message.EditMessageBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.EditMessageResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/messages/{id}/read": { "post": { "tags": [ "webitel.im.api.gateway.v1.Message" ], "summary": "Marks the thread as read up to the given message (inclusive):\nevery earlier unread message of the caller in the thread is covered.", "operationId": "Message_Read", "parameters": [ { "type": "string", "name": "id", "in": "path", "required": true }, { "type": "string", "name": "thread_id", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ReadMessageResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/messages/{message_id}/reaction": { "post": { "tags": [ "webitel.im.api.gateway.v1.Message" ], "summary": "Sets or clears the caller's emoji reaction on a single message.", "operationId": "Message_SetReaction", "parameters": [ { "type": "string", "description": "Message being reacted to.", "name": "message_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.Message.SetReactionBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SetReactionResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/messages/{message_id}/revisions": { "get": { "tags": [ "webitel.im.api.gateway.v1.MessageHistory" ], "summary": "Returns the edit and deletion history of a single message, oldest first.\nReadable by every member of the thread the message belongs to.", "operationId": "MessageHistory_GetMessageRevisions", "parameters": [ { "type": "string", "name": "message_id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.GetMessageRevisionsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/threads": { "get": { "tags": [ "webitel.im.api.gateway.v1.ThreadManagement" ], "summary": "Search threads with filters", "operationId": "ThreadManagement_Search", "parameters": [ { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of fields that should be returned in the response.\nIf empty, a default set of fields is returned.\nUsed for response optimization.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Filter by specific thread IDs.", "name": "ids", "in": "query" }, { "type": "array", "items": { "enum": [ "UNKNOWN", "DIRECT", "GROUP", "CHANNEL" ], "type": "string" }, "collectionFormat": "multi", "description": "Filter threads by their kinds.\nUNKNOWN (0) is not allowed.\n\n - UNKNOWN: Unknown or unspecified thread type.\nMust not be used in valid requests.\n - DIRECT: One-to-one private thread between two users.\n - GROUP: Group thread with multiple members.\n - CHANNEL: Channel-style thread (broadcast or topic based communication).", "name": "types", "in": "query" }, { "type": "string", "description": "Full-text search query, matched case-insensitively against any part of\nthe thread subject (or the direct title), the name or username of any of\nits members, and the values of the thread variables — so a chat can be\nfound by who is in it or by data collected with it (phone number, tax id,\nany custom variable).", "name": "q", "in": "query" }, { "type": "integer", "format": "int32", "description": "Maximum number of threads to return per page.\nMust be greater than 0 and less than or equal to 100.", "name": "size", "in": "query" }, { "type": "string", "description": "Sorting field.\nOptional \"+\" or \"-\" prefix indicates ascending or descending order.\nExample: \"-created_at\", \"subject\"", "name": "sort", "in": "query" }, { "type": "integer", "format": "int32", "description": "Page number (1-based).", "name": "page", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Filter threads by participant contact IDs.", "name": "contact_ids", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SearchThreadResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "webitel.im.api.gateway.v1.ThreadManagement" ], "operationId": "ThreadManagement_Create", "parameters": [ { "description": "ThreadManagementCreateRequest defines parameters for creating a specific thread type.", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadManagementCreateRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadManagementCreateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/threads/left": { "get": { "tags": [ "webitel.im.api.gateway.v1.ThreadManagement" ], "summary": "Search threads that the caller has left from", "operationId": "ThreadManagement_SearchLeft", "parameters": [ { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of fields that should be returned in the response.\nIf empty, a default set of fields is returned.\nUsed for response optimization.", "name": "fields", "in": "query" }, { "type": "array", "items": { "enum": [ "UNKNOWN", "DIRECT", "GROUP", "CHANNEL" ], "type": "string" }, "collectionFormat": "multi", "description": "Filter threads by their kinds\n\n - UNKNOWN: Unknown or unspecified thread type.\nMust not be used in valid requests.\n - DIRECT: One-to-one private thread between two users.\n - GROUP: Group thread with multiple members.\n - CHANNEL: Channel-style thread (broadcast or topic based communication).", "name": "types", "in": "query" }, { "type": "string", "description": "Sorting field.\nOptional \"+\" or \"-\" prefix indicates ascending or descending order.\nExample: \"-created_at\", \"subject\"", "name": "sort", "in": "query" }, { "type": "integer", "format": "int32", "description": "Maximum number of threads to return per page.\nMust be greater than 0 and less than or equal to 100.", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "Page number (1-based).", "name": "page", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SearchLeftResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/threads/unread": { "get": { "tags": [ "webitel.im.api.gateway.v1.ThreadManagement" ], "summary": "Returns the unread summary for the calling participant: the number of\nchats with unread messages and the total number of unread messages.", "operationId": "ThreadManagement_GetUnreadSummary", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.GetUnreadSummaryResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/threads/{id}": { "get": { "tags": [ "webitel.im.api.gateway.v1.ThreadManagement" ], "summary": "Returns a single thread by its identifier.", "operationId": "ThreadManagement_Get", "parameters": [ { "type": "string", "description": "Unique thread identifier.", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of fields to include in the response.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.Thread" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/threads/{thread_id}/left_threads/messages": { "get": { "tags": [ "webitel.im.api.gateway.v1.MessageHistory" ], "summary": "Searches messages grouped by the user's closed membership periods\nwithin a thread. Active memberships are excluded — their\nmessages are available via SearchThreadMessagesHistory.", "operationId": "MessageHistory_SearchLeftThreadsMessagesHistory", "parameters": [ { "type": "string", "description": "Filter by thread ID.", "name": "thread_id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of message fields to be returned.\nUsed to reduce payload size.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Filter messages by sender user IDs.", "name": "sender_ids", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "description": "Filter messages by message types.", "name": "types", "in": "query" }, { "type": "string", "format": "int64", "description": "Inclusive lower bound on the dialog interval (Unix time, milliseconds).\nZero means unbounded.", "name": "period_from", "in": "query" }, { "type": "string", "format": "int64", "description": "Inclusive upper bound on the dialog interval (Unix time, milliseconds).\nZero means unbounded.", "name": "period_to", "in": "query" }, { "type": "string", "description": "Cursor identifier.\nMust be a valid UUID referencing an existing message.\nDefines the starting point for pagination.", "name": "cursor.id", "in": "query" }, { "type": "boolean", "description": "Pagination direction flag.\n\nfalse -\u003e fetch messages older than the cursor (scrolling up the chat)\ntrue -\u003e fetch messages newer than the cursor (moving toward the present)", "name": "cursor.before", "in": "query" }, { "type": "integer", "format": "int64", "description": "Maximum number of messages to return.", "name": "size", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SearchMessageHistoryResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/threads/{thread_id}/members": { "post": { "tags": [ "webitel.im.api.gateway.v1.ThreadManagement" ], "summary": "Add member to the thread.", "operationId": "ThreadManagement_AddMember", "parameters": [ { "type": "string", "name": "thread_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadManagement.AddMemberBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.AddMemberResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/threads/{thread_id}/members/{member_id}": { "delete": { "tags": [ "webitel.im.api.gateway.v1.ThreadManagement" ], "summary": "Remove member from the thread.", "operationId": "ThreadManagement_RemoveMember", "parameters": [ { "type": "string", "name": "thread_id", "in": "path", "required": true }, { "type": "string", "name": "member_id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.RemoveMemberResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/threads/{thread_id}/members/{member_id}/permissions": { "get": { "tags": [ "webitel.im.api.gateway.v1.ThreadPermission" ], "summary": "Get returns all permissions for the specified thread. Optional filter by member_id to get permissions for a specific member.", "operationId": "ThreadPermission_Get", "parameters": [ { "type": "string", "name": "thread_id", "in": "path", "required": true }, { "type": "string", "name": "member_id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.GetThreadPermissionsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "patch": { "tags": [ "webitel.im.api.gateway.v1.ThreadPermission" ], "summary": "Update updates permissions for a specific member in the thread. The request must include the thread_id and member_id, along with the permissions to update.", "operationId": "ThreadPermission_Update", "parameters": [ { "type": "string", "name": "thread_id", "in": "path", "required": true }, { "type": "string", "name": "member_id", "in": "path", "required": true }, { "type": "boolean", "name": "can_send_messages", "in": "query" }, { "type": "boolean", "name": "can_add_members", "in": "query" }, { "type": "boolean", "name": "can_remove_members", "in": "query" }, { "type": "boolean", "name": "can_change_members_permissions", "in": "query" }, { "type": "boolean", "name": "can_change_thread_info", "in": "query" }, { "type": "boolean", "name": "can_delete_messages", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.UpdateThreadPermissionsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/threads/{thread_id}/transfer": { "post": { "tags": [ "webitel.im.api.gateway.v1.ThreadManagement" ], "summary": "Transfer unites add member and remove member.\nIt adds a new member to the thread and removes the initiator from the thread.", "operationId": "ThreadManagement_Transfer", "parameters": [ { "type": "string", "name": "thread_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadManagement.TransferBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.TransferResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/threads/{thread_id}/typing": { "post": { "tags": [ "webitel.im.api.gateway.v1.Message" ], "summary": "Sends an ephemeral \"…is typing\" indicator to the other participants of a\nthread. Real-time only: it is never stored and never triggers a push. The\ntyping member is the authenticated caller, resolved from the token.", "operationId": "Message_SendTyping", "parameters": [ { "type": "string", "description": "Target thread, taken from the path. The typing member is the authenticated\ncaller resolved from the token (contact{sub,iss}); no sender is exposed.", "name": "thread_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.Message.SendTypingBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SendTypingResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/threads/{thread_id}/variables": { "get": { "tags": [ "webitel.im.api.gateway.v1.ThreadManagement" ], "summary": "Retrieves all variables for a specific thread.", "operationId": "ThreadManagement_LocateVariables", "parameters": [ { "type": "string", "description": "Unique identifier for the thread.", "name": "thread_id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadVariables" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } }, "post": { "tags": [ "webitel.im.api.gateway.v1.ThreadManagement" ], "summary": "Sets or updates variables for a specific thread.\nExisting variables with the same keys will be overwritten if were setted by the caller.\nNew variables will be created if they do not exist.", "operationId": "ThreadManagement_SetVariables", "parameters": [ { "type": "string", "description": "Unique identifier for the thread.", "name": "thread_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadManagement.SetVariablesBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadVariables" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/threads/{thread_id}/variables/flush": { "delete": { "tags": [ "webitel.im.api.gateway.v1.ThreadManagement" ], "summary": "Removes specified variables from a thread with caller's permission.\nIf no keys are provided, all variables may be removed\ndepending on implementation.", "operationId": "ThreadManagement_FlushVariables", "parameters": [ { "type": "string", "description": "Unique identifier for the thread.", "name": "thread_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadManagement.FlushVariablesBody" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadVariables" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/variables": { "get": { "tags": [ "webitel.im.api.gateway.v1.ThreadManagement" ], "summary": "Searches thread variables across multiple threads.\nSupports pagination and field projection.", "operationId": "ThreadManagement_SearchVariables", "parameters": [ { "type": "integer", "format": "int32", "description": "Number of results to return per page.", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "Page number (1-based).", "name": "page", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of fields to include in the response.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of thread IDs to filter by.", "name": "thread_ids", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SearchVariablesResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v1/{thread_id}/messages": { "get": { "tags": [ "webitel.im.api.gateway.v1.MessageHistory" ], "summary": "Searches messages within a specific thread.\nSupports cursor-based pagination and field selection.", "operationId": "MessageHistory_SearchThreadMessagesHistory", "parameters": [ { "type": "string", "description": "Filter by thread IDs.", "name": "thread_id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of message fields to be returned.\nUsed to reduce payload size.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Filter by specific message IDs.", "name": "ids", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Filter messages by sender user IDs.", "name": "sender_ids", "in": "query" }, { "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi", "description": "Filter messages by message types.", "name": "types", "in": "query" }, { "type": "string", "description": "Cursor identifier.\nMust be a valid UUID referencing an existing message.\nDefines the starting point for pagination.", "name": "cursor.id", "in": "query" }, { "type": "boolean", "description": "Pagination direction flag.\n\nfalse -\u003e fetch messages older than the cursor (scrolling up the chat)\ntrue -\u003e fetch messages newer than the cursor (moving toward the present)", "name": "cursor.before", "in": "query" }, { "type": "integer", "format": "int64", "description": "Maximum number of messages to return.", "name": "size", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SearchMessageHistoryResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } } } }, "/v2/dataset/{repo}": { "get": { "tags": [ "Records" ], "summary": "Search dataset records", "operationId": "Search_Records", "parameters": [ { "type": "string", "description": "[`types.repo`]", "name": "repo", "in": "path", "required": true }, { "type": "integer", "format": "int32", "description": "Number of result records (per page).\nDefault: 16.", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "Page number of result set of records.\nDefault: 1.", "name": "page", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "pattern": "^[+|-|!]?\\w+$", "type": "string", "default": "*" }, "collectionFormat": "multi", "x-example": "!updated_at,tag", "description": "Sort result dataset of records by fields.\n```\nsort ::= *( ORDER name )\n\nORDER = ASC / DESC\nDESC = \"-\" / \"!\"\nASC = [ \"+\" ] ; Default\n```\n\nFields available\n\n- `id`(seq)\n- `domain`{name}\n- `created_at`\n- `created_by`{name}\n- `updated_at`\n- `updated_by`{name}\n\nUse ?fields=`field.sort()` option to sort Edge fields.", "name": "sort", "in": "query" }, { "uniqueItems": true, "type": "array", "items": { "type": "string", "default": "*" }, "collectionFormat": "multi", "x-example": "*,labels.size(3).sort(!updated_at){updated_at,label}", "description": "Fields [Q]uery to build result dataset record.\n```\nfields ::= field [ *( \",\" field ) ]\nfield ::= name [ *( func ) ] [ inner ]\ninner ::= \"{\" fields \"}\"\nfuncs ::= *( func )\nfunc ::= \".\" name \"(\" [ args ] \")\"\nname ::= ALPHA / DIGIT / USCORE\n\nALPHA = %x41-5A / %x61-7A ; \"A\"-\"Z\" / \"a\"-\"z\"\nDIGIT = %x30-39 ; \"0\"-\"9\"\nUSCORE = %x5F ; underscore ; \"_\"\n```", "name": "fields", "in": "query" }, { "type": "string", "description": "Search term:\n`?` - matches any character\n`*` - matches 0 or more characters\ne.g.: name,emails{type},labels etc...", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "[`record.id`]", "name": "id", "in": "query" }, { "type": "string", "description": "Filter string in CEL format.", "name": "filters", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/dataDataset" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "post": { "description": "(Record) {", "tags": [ "Records" ], "summary": "Create dataset record", "operationId": "Create", "parameters": [ { "type": "string", "description": "[`types.repo`]", "name": "repo", "in": "path", "required": true }, { "description": "Record data.", "name": "record", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "type": "object" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "delete": { "tags": [ "Records" ], "summary": "Delete dataset records", "operationId": "Delete", "parameters": [ { "type": "string", "description": "[`types.repo`]", "name": "repo", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Fields to be retrieved into result dataset.", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "[`record.id`]", "name": "id", "in": "query", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/dataDataset" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/v2/dataset/{repo}/{id}": { "get": { "description": "(Record) {", "tags": [ "Records" ], "summary": "Locate dataset record", "operationId": "Locate_Records", "parameters": [ { "type": "string", "description": "[`types.repo`]", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "[`record.id`]", "name": "id", "in": "path", "required": true }, { "uniqueItems": true, "type": "array", "items": { "type": "string", "default": "*" }, "collectionFormat": "multi", "x-example": "*,labels.size(3).sort(!updated_at){updated_at,label}", "description": "Fields [Q]uery to build result dataset record.\n```\nfields ::= field [ *( \",\" field ) ]\nfield ::= name [ *( func ) ] [ inner ]\ninner ::= \"{\" fields \"}\"\nfuncs ::= *( func )\nfunc ::= \".\" name \"(\" [ args ] \")\"\nname ::= ALPHA / DIGIT / USCORE\n\nALPHA = %x41-5A / %x61-7A ; \"A\"-\"Z\" / \"a\"-\"z\"\nDIGIT = %x30-39 ; \"0\"-\"9\"\nUSCORE = %x5F ; underscore ; \"_\"\n```", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "type": "object" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "put": { "description": "(Record) {", "tags": [ "Records" ], "summary": "Update dataset record", "operationId": "Update2", "parameters": [ { "type": "string", "description": "[`types.repo`] data source", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "[`record.id`] for update", "name": "id", "in": "path", "required": true }, { "description": "Record data fields changes.", "name": "record", "in": "body", "required": true, "schema": { "type": "object" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Source Fields to return into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "type": "object" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "description": "(Record) {", "tags": [ "Records" ], "summary": "Update dataset record", "operationId": "Update", "parameters": [ { "type": "string", "description": "[`types.repo`] data source", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "[`record.id`] for update", "name": "id", "in": "path", "required": true }, { "description": "Record data fields changes.", "name": "record", "in": "body", "required": true, "schema": { "type": "object" } }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "Source Fields to return into result.", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "type": "object" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } }, "/wfm/agents/absences": { "get": { "tags": [ "AgentAbsenceService" ], "summary": "Searches absences by filters.", "operationId": "AgentAbsenceService_SearchAgentsAbsences", "parameters": [ { "type": "string", "description": "Searches by agent name.", "name": "q", "in": "query" }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "filters", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmSearchAgentsAbsencesResponse" } } } }, "post": { "tags": [ "AgentAbsenceService" ], "summary": "Creates absences for multiple specified agents.", "operationId": "AgentAbsenceService_CreateAgentsAbsences", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/wfmCreateAgentsAbsencesRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmCreateAgentsAbsencesResponse" } } } } }, "/wfm/agents/working_schedules/{working_schedule_id}": { "get": { "tags": [ "AgentWorkingScheduleService" ], "operationId": "AgentWorkingScheduleService_SearchAgentsWorkingSchedule", "parameters": [ { "type": "string", "format": "int64", "name": "working_schedule_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "date.from", "in": "query" }, { "type": "string", "format": "int64", "name": "date.to", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "supervisor_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "team_id", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "name": "skill_id", "in": "query" }, { "type": "string", "name": "q", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmSearchAgentsWorkingScheduleResponse" } } } }, "post": { "tags": [ "AgentWorkingScheduleService" ], "operationId": "AgentWorkingScheduleService_CreateAgentsWorkingScheduleShifts", "parameters": [ { "type": "string", "format": "int64", "name": "working_schedule_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "agents": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmLookupEntity" } }, "date": { "$ref": "#/definitions/wfmFilterBetween" }, "items": { "description": "Map key is a day of week: 0 - Sunday, ..., 6 - Saturday.", "type": "object", "additionalProperties": { "$ref": "#/definitions/wfmAgentScheduleShift" } } } } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmCreateAgentsWorkingScheduleShiftsResponse" } } } } }, "/wfm/agents/{agent_id}/absences": { "get": { "tags": [ "AgentAbsenceService" ], "summary": "Searches agent absences by filters.", "operationId": "AgentAbsenceService_SearchAgentAbsence", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "filters", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmSearchAgentAbsenceResponse" } } } }, "post": { "tags": [ "AgentAbsenceService" ], "summary": "Creates one-day-absence for one agent.", "operationId": "AgentAbsenceService_CreateAgentAbsence", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmAbsence" } } } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmCreateAgentAbsenceResponse" } } } } }, "/wfm/agents/{agent_id}/absences/{id}": { "get": { "tags": [ "AgentAbsenceService" ], "summary": "Reads one absence per agent by its id.", "operationId": "AgentAbsenceService_ReadAgentAbsence", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmReadAgentAbsenceResponse" } } } }, "delete": { "tags": [ "AgentAbsenceService" ], "summary": "Deletes agent concrete absence by its id.", "operationId": "AgentAbsenceService_DeleteAgentAbsence", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmDeleteAgentAbsenceResponse" } } } } }, "/wfm/agents/{agent_id}/absences/{item.id}": { "put": { "tags": [ "AgentAbsenceService" ], "summary": "Updates agent concrete absence by its id.", "operationId": "AgentAbsenceService_UpdateAgentAbsence", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "item.id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "item": { "type": "object", "properties": { "absent_at": { "type": "string", "format": "int64" }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/wfmLookupEntity" }, "domain_id": { "type": "string", "format": "int64" }, "type_id": { "$ref": "#/definitions/wfmAbsenceType" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/wfmLookupEntity" } } } } } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmUpdateAgentAbsenceResponse" } } } } }, "/wfm/agents/{agent_id}/conditions": { "get": { "tags": [ "AgentWorkingConditionsService" ], "operationId": "AgentWorkingConditionsService_ReadAgentWorkingConditions", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmReadAgentWorkingConditionsResponse" } } } }, "put": { "tags": [ "AgentWorkingConditionsService" ], "operationId": "AgentWorkingConditionsService_UpdateAgentWorkingConditions", "parameters": [ { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmAgentWorkingConditions" } } } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmUpdateAgentWorkingConditionsResponse" } } } } }, "/wfm/lookups/forecast_calculation": { "get": { "tags": [ "ForecastCalculationService" ], "operationId": "ForecastCalculationService_SearchForecastCalculation", "parameters": [ { "type": "string", "name": "q", "in": "query" }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmSearchForecastCalculationResponse" } } } }, "post": { "tags": [ "ForecastCalculationService" ], "operationId": "ForecastCalculationService_CreateForecastCalculation", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/wfmCreateForecastCalculationRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmCreateForecastCalculationResponse" } } } } }, "/wfm/lookups/forecast_calculation/{id}": { "get": { "tags": [ "ForecastCalculationService" ], "operationId": "ForecastCalculationService_ReadForecastCalculation", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmReadForecastCalculationResponse" } } } }, "delete": { "tags": [ "ForecastCalculationService" ], "operationId": "ForecastCalculationService_DeleteForecastCalculation", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmDeleteForecastCalculationResponse" } } } } }, "/wfm/lookups/forecast_calculation/{id}/execute": { "get": { "tags": [ "ForecastCalculationService" ], "operationId": "ForecastCalculationService_ExecuteForecastCalculation", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "team_id", "in": "query" }, { "type": "string", "format": "int64", "name": "forecast_data.from", "in": "query" }, { "type": "string", "format": "int64", "name": "forecast_data.to", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmExecuteForecastCalculationResponse" } } } } }, "/wfm/lookups/forecast_calculation/{item.id}": { "put": { "tags": [ "ForecastCalculationService" ], "operationId": "ForecastCalculationService_UpdateForecastCalculation", "parameters": [ { "type": "string", "format": "int64", "name": "item.id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "item": { "type": "object", "properties": { "args": { "type": "array", "items": { "type": "string" } }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/wfmLookupEntity" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "procedure": { "type": "string" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/wfmLookupEntity" } } } } } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmUpdateForecastCalculationResponse" } } } } }, "/wfm/lookups/pause_templates": { "get": { "tags": [ "PauseTemplateService" ], "operationId": "PauseTemplateService_SearchPauseTemplate", "parameters": [ { "type": "string", "name": "q", "in": "query" }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmSearchPauseTemplateResponse" } } } }, "post": { "tags": [ "PauseTemplateService" ], "operationId": "PauseTemplateService_CreatePauseTemplate", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/wfmCreatePauseTemplateRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmCreatePauseTemplateResponse" } } } } }, "/wfm/lookups/pause_templates/{id}": { "get": { "tags": [ "PauseTemplateService" ], "operationId": "PauseTemplateService_ReadPauseTemplate", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmReadPauseTemplateResponse" } } } }, "delete": { "tags": [ "PauseTemplateService" ], "operationId": "PauseTemplateService_DeletePauseTemplate", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmDeletePauseTemplateResponse" } } } } }, "/wfm/lookups/pause_templates/{item.id}": { "put": { "tags": [ "PauseTemplateService" ], "summary": "UpdatePauseTemplateCauseBulk updates a pause template with a list of causes.\nUpdate existing cause, create that not exists in database and delete that not exists in the list.", "operationId": "PauseTemplateService_UpdatePauseTemplate", "parameters": [ { "type": "string", "format": "int64", "name": "item.id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "item": { "type": "object", "properties": { "causes": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmPauseTemplateCause" } }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/wfmLookupEntity" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/wfmLookupEntity" } } } } } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmUpdatePauseTemplateResponse" } } } } }, "/wfm/lookups/shift_templates": { "get": { "tags": [ "ShiftTemplateService" ], "operationId": "ShiftTemplateService_SearchShiftTemplate", "parameters": [ { "type": "string", "name": "q", "in": "query" }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmSearchShiftTemplateResponse" } } } }, "post": { "tags": [ "ShiftTemplateService" ], "operationId": "ShiftTemplateService_CreateShiftTemplate", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/wfmCreateShiftTemplateRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmCreateShiftTemplateResponse" } } } } }, "/wfm/lookups/shift_templates/{id}": { "get": { "tags": [ "ShiftTemplateService" ], "operationId": "ShiftTemplateService_ReadShiftTemplate", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmReadShiftTemplateResponse" } } } }, "delete": { "tags": [ "ShiftTemplateService" ], "operationId": "ShiftTemplateService_DeleteShiftTemplate", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmDeleteShiftTemplateResponse" } } } } }, "/wfm/lookups/shift_templates/{item.id}": { "put": { "tags": [ "ShiftTemplateService" ], "summary": "UpdateShiftTemplate updates a shift template with a list times.\nUpdate existing time, create that not exists in database and delete that not exists in the list.", "operationId": "ShiftTemplateService_UpdateShiftTemplate", "parameters": [ { "type": "string", "format": "int64", "name": "item.id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "item": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/wfmLookupEntity" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "times": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmShiftTemplateTime" } }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/wfmLookupEntity" } } } } } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmUpdateShiftTemplateResponse" } } } } }, "/wfm/lookups/working_conditions": { "get": { "tags": [ "WorkingConditionService" ], "operationId": "WorkingConditionService_SearchWorkingCondition", "parameters": [ { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "q", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmSearchWorkingConditionResponse" } } } }, "post": { "tags": [ "WorkingConditionService" ], "operationId": "WorkingConditionService_CreateWorkingCondition", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/wfmCreateWorkingConditionRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmCreateWorkingConditionResponse" } } } } }, "/wfm/lookups/working_conditions/{id}": { "get": { "tags": [ "WorkingConditionService" ], "operationId": "WorkingConditionService_ReadWorkingCondition", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmReadWorkingConditionResponse" } } } }, "delete": { "tags": [ "WorkingConditionService" ], "operationId": "WorkingConditionService_DeleteWorkingCondition", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmDeleteWorkingConditionResponse" } } } } }, "/wfm/lookups/working_conditions/{item.id}": { "put": { "tags": [ "WorkingConditionService" ], "operationId": "WorkingConditionService_UpdateWorkingCondition", "parameters": [ { "type": "string", "format": "int64", "name": "item.id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "item": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/wfmLookupEntity" }, "days_off": { "type": "integer", "format": "int32" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "pause_duration": { "type": "integer", "format": "int32" }, "pause_template": { "$ref": "#/definitions/wfmLookupEntity" }, "shift_template": { "$ref": "#/definitions/wfmLookupEntity" }, "sick_leaves": { "type": "integer", "format": "int32" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/wfmLookupEntity" }, "vacation": { "type": "integer", "format": "int32" }, "workday_hours": { "type": "integer", "format": "int32" }, "workdays_per_month": { "type": "integer", "format": "int32" } } } } } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmUpdateWorkingConditionResponse" } } } } }, "/wfm/lookups/working_schedules": { "get": { "tags": [ "WorkingScheduleService" ], "operationId": "WorkingScheduleService_SearchWorkingSchedule", "parameters": [ { "type": "string", "name": "q", "in": "query" }, { "type": "integer", "format": "int32", "name": "page", "in": "query" }, { "type": "integer", "format": "int32", "name": "size", "in": "query" }, { "type": "string", "name": "sort", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmSearchWorkingScheduleResponse" } } } }, "post": { "tags": [ "WorkingScheduleService" ], "operationId": "WorkingScheduleService_CreateWorkingSchedule", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/wfmCreateWorkingScheduleRequest" } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmCreateWorkingScheduleResponse" } } } } }, "/wfm/lookups/working_schedules/{id}": { "get": { "tags": [ "WorkingScheduleService" ], "operationId": "WorkingScheduleService_ReadWorkingSchedule", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "name": "fields", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmReadWorkingScheduleResponse" } } } }, "delete": { "tags": [ "WorkingScheduleService" ], "operationId": "WorkingScheduleService_DeleteWorkingSchedule", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmDeleteWorkingScheduleResponse" } } } } }, "/wfm/lookups/working_schedules/{id}/agents": { "post": { "tags": [ "WorkingScheduleService" ], "operationId": "WorkingScheduleService_UpdateWorkingScheduleAddAgents", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "agents": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmLookupEntity" } } } } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmUpdateWorkingScheduleAddAgentsResponse" } } } } }, "/wfm/lookups/working_schedules/{id}/agents/{agent_id}": { "delete": { "tags": [ "WorkingScheduleService" ], "operationId": "WorkingScheduleService_UpdateWorkingScheduleRemoveAgent", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "agent_id", "in": "path", "required": true } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmUpdateWorkingScheduleRemoveAgentResponse" } } } } }, "/wfm/lookups/working_schedules/{id}/forecast": { "get": { "tags": [ "WorkingScheduleService" ], "operationId": "WorkingScheduleService_ReadWorkingScheduleForecast", "parameters": [ { "type": "string", "format": "int64", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "int64", "name": "date.from", "in": "query" }, { "type": "string", "format": "int64", "name": "date.to", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmReadWorkingScheduleForecastResponse" } } } } }, "/wfm/lookups/working_schedules/{item.id}": { "put": { "tags": [ "WorkingScheduleService" ], "operationId": "WorkingScheduleService_UpdateWorkingSchedule", "parameters": [ { "type": "string", "format": "int64", "name": "item.id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "item": { "type": "object", "properties": { "agents": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmLookupEntity" } }, "block_outside_activity": { "type": "boolean" }, "calendar": { "$ref": "#/definitions/wfmLookupEntity" }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/wfmLookupEntity" }, "domain_id": { "type": "string", "format": "int64" }, "end_date_at": { "type": "string", "format": "int64" }, "end_time_at": { "type": "string", "format": "int64" }, "extra_skills": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmLookupEntity" } }, "name": { "type": "string" }, "start_date_at": { "type": "string", "format": "int64" }, "start_time_at": { "type": "string", "format": "int64" }, "state": { "$ref": "#/definitions/wfmWorkingScheduleState" }, "team": { "$ref": "#/definitions/wfmLookupEntity" }, "total_agents": { "type": "string", "format": "int64" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/wfmLookupEntity" } } } } } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/wfmUpdateWorkingScheduleResponse" } } } } }, "/{object.name}/{object.id}/acl": { "get": { "tags": [ "AccessStore" ], "operationId": "ListObjectAccess", "parameters": [ { "type": "string", "description": "display name", "name": "object.name", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "identifier", "name": "object.id", "in": "path", "required": true }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "--- filters ---\n\n[optional] [FROM] each rule owner is any of role(s) id; user -or- role", "name": "grantor", "in": "query" }, { "type": "array", "items": { "type": "string", "format": "int64" }, "collectionFormat": "multi", "description": "[optional] [TO] subject role(s) id; user -or- role", "name": "grantee", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "[xrwdxrwd] [R]ecord-[b]ased-[A]ccess-[C]ontrol level check(!)", "name": "granted", "in": "query" }, { "type": "string", "description": "[optional] [TO] subject.name ILIKE ?q=; user -or- role", "name": "q", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "----- Select Options -------------------------\n\nattributes list", "name": "fields", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "e.g.: \"updated_at\" - ASC; \"!updated_at\" - DESC;", "name": "sort", "in": "query" }, { "type": "integer", "format": "int32", "description": "pagedResultsControl\n\ndefault: 16", "name": "size", "in": "query" }, { "type": "integer", "format": "int32", "description": "default: 1", "name": "page", "in": "query" } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiListAccessResponseV1" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } }, "patch": { "tags": [ "AccessStore" ], "summary": "TODO: replace with GrantAccess API, to become command like GRANT REVOKE ... with empty access rights string", "operationId": "ToggleObjectAccess", "parameters": [ { "type": "string", "description": "display name", "name": "object.name", "in": "path", "required": true }, { "type": "string", "format": "int64", "description": "identifier", "name": "object.id", "in": "path", "required": true }, { "name": "list", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/apiGrantAccessRequestV1" } } } ], "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiUpdateAccessResponseV1" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } } } } }, "definitions": { "AccessStoreToggleDefaultAccessBody": { "type": "object", "properties": { "list": { "description": "list of changes ...\n\n[TO] (GRANT/REVOKE)", "type": "array", "items": { "type": "object", "$ref": "#/definitions/apiGrantAccessRequestV1" } } } }, "ClassesUpdateClassBody": { "type": "object", "properties": { "class": { "type": "object", "properties": { "abac": { "type": "boolean", "title": "[a]ttribute-[b]ased [a]ccess [c]ontrol" }, "class": { "type": "string", "title": "(class::object).name" }, "obac": { "type": "boolean", "title": "[o]peration-[b]ased [a]ccess [c]ontrol (from::collection.dal)" }, "rbac": { "type": "boolean", "title": "[r]ecord-[b]ased [a]ccess [c]ontrol (from::resource.acl)" } } }, "domain": { "type": "string", "title": "TO BE REMOVED // bound to session.domain.id" }, "fields": { "type": "array", "title": "PATCH: partial update", "items": { "type": "string" } } } }, "CommentFormat": { "type": "object", "properties": { "bold": { "$ref": "#/definitions/FormatBold" }, "codeblock": { "$ref": "#/definitions/FormatCodeblock" }, "italic": { "$ref": "#/definitions/FormatItalic" }, "length": { "description": "Length text runes count.", "type": "integer", "format": "int32" }, "link": { "$ref": "#/definitions/FormatLink" }, "monospace": { "$ref": "#/definitions/FormatMonospace" }, "offset": { "description": "Offset text runes count.", "type": "integer", "format": "int32" }, "strikethrough": { "$ref": "#/definitions/FormatStrikethrough" }, "underline": { "$ref": "#/definitions/FormatUnderline" } } }, "CreateAgentsAbsencesRequestabsentType": { "type": "object", "properties": { "date_from": { "type": "string", "format": "int64" }, "date_to": { "type": "string", "format": "int64" }, "type_id": { "$ref": "#/definitions/wfmAbsenceType" } } }, "DictionariesBatchCreateDataBody": { "type": "object", "properties": { "rows": { "description": "Parsed records to create. For Select(lookup) columns each row carries\nthe related record display name (string); for Multiselect(list of lookup)\ncolumns - an array of display names. Backend resolves name -\u003e id\n(case-insensitive).", "type": "array", "items": { "type": "object" } } } }, "DictionariesImportCSVBody": { "type": "object", "properties": { "data": { "type": "string", "format": "byte", "title": "CSV data" }, "fields": { "type": "object", "title": "map \u003c field, column \u003e index", "additionalProperties": { "type": "integer", "format": "int64" } }, "line_begin": { "type": "integer", "format": "int64" }, "line_end": { "type": "integer", "format": "int64" }, "on_data_error": { "$ref": "#/definitions/ImportCSVRequestAction" }, "on_empty_line": { "$ref": "#/definitions/ImportCSVRequestAction" } } }, "DomainsUpdateDomainBody": { "type": "object", "title": "PUT /domain/{domain.dc}", "properties": { "domain": { "type": "object", "properties": { "country": { "type": "string" }, "createdAt": { "type": "string", "format": "int64", "title": "unix" }, "createdBy": { "type": "string", "title": "user" }, "domain": { "type": "string", "title": "FQDN" }, "email": { "type": "string" }, "locality": { "type": "string" }, "organization": { "type": "string" }, "postalAddress": { "type": "string" }, "postalCode": { "type": "string" }, "stateOrProvince": { "type": "string" }, "streetAddress": { "type": "string" }, "telephoneNumber": { "type": "string" }, "updatedAt": { "type": "string", "format": "int64", "title": "unix" }, "updatedBy": { "type": "string", "title": "user" } } } } }, "DynamicConditionsCreateConditionBody": { "description": "Request message for creating a new condition.", "type": "object", "properties": { "assignee": { "description": "The ID of the assignee that should be assigned if the condition is met (optional).", "$ref": "#/definitions/webitelContactsLookup" }, "expression": { "description": "The query or condition expression used to evaluate the group.", "type": "string" }, "group": { "description": "The ID of the static group that should be assigned if the condition is met.", "$ref": "#/definitions/webitelContactsLookup" } } }, "FormatBold": { "type": "object" }, "FormatCodeblock": { "type": "object", "properties": { "language": { "type": "string" } } }, "FormatItalic": { "type": "object" }, "FormatLink": { "type": "object", "properties": { "url": { "type": "string", "title": "REQUIRED. If text[offset:length] is a regular plaintext, NOT an URL itself !" } } }, "FormatMonospace": { "type": "object" }, "FormatStrikethrough": { "type": "object" }, "FormatUnderline": { "type": "object" }, "ImportCSVRequestAction": { "type": "string", "default": "continue", "enum": [ "continue", "break" ] }, "LDAPCreateLDAPTemplateBody": { "type": "object", "title": "LDAPTemplate is an LDAP search entries to webitel objects transformation template", "properties": { "agent": { "type": "object", "title": "OPTIONAL. Agent objclass fields mapping" }, "base_dn": { "type": "string", "title": "Optional. LDAP Search base entry DN" }, "catalog": { "type": "object", "title": "LDAPCatalog belongs to", "properties": { "name": { "type": "string", "title": "display name" } } }, "created_at": { "description": "unix", "type": "string", "format": "int64", "title": "READONLY. Operational attributes" }, "created_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "device": { "type": "object", "title": "OPTIONAL. Device objclass fields mapping" }, "enabled": { "type": "boolean", "title": "Optional. This Template is activated ?" }, "id": { "type": "string", "format": "int64", "title": "ID unique" }, "name": { "type": "string", "title": "Name this template" }, "role": { "type": "object", "title": "OPTIONAL. Role objclass fields mapping (Not implemented yet)" }, "search": { "type": "string", "title": "Required. LDAP Search filter string" }, "updated_at": { "type": "string", "format": "int64", "title": "unix" }, "updated_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "user": { "type": "object", "title": "OPTIONAL. User objclass fields mapping" } } }, "LDAPDeleteLDAPTemplateBody": { "type": "object", "properties": { "base_dn": { "type": "string" }, "disabled": { "type": "boolean" }, "enabled": { "type": "boolean" }, "fields": { "type": "array", "title": "attributes list", "items": { "type": "string" } }, "id": { "type": "array", "title": "----- Search Basic Filters ---------------------------\nOPTIONAL. Search templates by .id", "items": { "type": "string", "format": "int64" } }, "name": { "type": "string" }, "objclass": { "type": "string" }, "page": { "description": "default: 1", "type": "integer", "format": "int32", "title": "----- Select Options -------------------------" }, "q": { "type": "string", "title": "OPTIONAL. Filter(s) SET" }, "size": { "type": "integer", "format": "int32", "title": "default: 16" }, "sort": { "type": "array", "title": "e.g.: \"updated_at\" - ASC; \"!updated_at\" - DESC;", "items": { "type": "string" } } } }, "LDAPLDAPSearchBody": { "type": "object", "title": "https://datatracker.ietf.org/doc/html/rfc4511#section-4.5.1", "properties": { "attributes": { "type": "array", "title": "AttributeSelection", "items": { "type": "string" } }, "baseObject": { "type": "string", "title": "----- SearchRequest -----\nbaseObject [D]istinguished[N]ame" }, "bind": { "description": "authorization method e.g.: SIMPLE, SAML, NTLM, etc.", "type": "string", "title": "----- BIND: Authorization -----" }, "controls": { "type": "array", "title": "----- LDAPMessage -----\nControls NOT implemented yet !", "items": { "type": "object", "$ref": "#/definitions/apiLDAPControl" } }, "derefAliases": { "type": "integer", "format": "int32", "title": "neverDerefAliases (0),\nderefInSearching (1),\nderefFindingBaseObj (2),\nderefAlways (3)" }, "filter": { "type": "string", "title": "Filter," }, "password": { "type": "string", "title": "password" }, "scope": { "type": "integer", "format": "int32", "title": "baseObject (0),\nsingleLevel (1),\nwholeSubtree (2)" }, "sizeLimit": { "type": "string", "format": "int64", "title": "INTEGER (0 .. maxInt)," }, "timeLimit": { "type": "string", "format": "int64", "title": "INTEGER (0 .. maxInt)," }, "tls": { "$ref": "#/definitions/apiLDAPSearchRequestTLSConfig" }, "typesOnly": { "type": "boolean", "title": "BOOLEAN," }, "url": { "description": "URL e.g.: [(ldap|ldapi|ldaps)://]host[:port]", "type": "string", "title": "Optional. URL to establish connection to LDAP catalog" }, "username": { "type": "string", "title": "bind_dn" } } }, "LDAPResyncLDAPCatalogBody": { "type": "object", "properties": { "options": { "title": "Options", "$ref": "#/definitions/apiLDAProcessOptions" } } }, "LDAPUpdateLDAPCatalogBody": { "type": "object", "properties": { "catalog": { "description": "LDAP Catalog changes.", "type": "object", "title": "LDAP Catalog changes.", "properties": { "base_dn": { "type": "string", "title": "base_dn, aka domain e.g.: 'dc=example,dc=org'" }, "bind": { "description": "authorization method e.g.: SIMPLE, SAML, NTLM, etc.", "type": "string", "title": "----- BIND: Authorization -----" }, "created_at": { "description": "unix", "type": "string", "format": "int64", "title": "basic: last operation details" }, "created_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "cron": { "description": "[CRON]OS SPEC ! github.com/robfig/cron/v3", "type": "string", "title": "----- RSYNC Processing -----\nint32 priority = 4;" }, "entry_modify": { "type": "string", "title": "last modification timestamp attribute type" }, "entry_uuid": { "description": "entry unique id (except DN which may be updated)", "type": "string", "title": "----- DOMAIN: Entry model -----" }, "name": { "type": "string", "title": "Meaningfull title name" }, "password": { "type": "string", "title": "password" }, "process": { "title": "Last OR Current SYNC process details", "$ref": "#/definitions/apiLDAProcess" }, "sync": { "$ref": "#/definitions/apiLDAProcessOptions" }, "templates": { "type": "array", "title": "// // ----- MAP: user(s) settings -----\nLDAPUsersMap users = 26; // DEPRECATED: Use Template(s) instead\nSYNC Object's search and mappings", "items": { "type": "object", "$ref": "#/definitions/apiLDAPTemplate" } }, "tls": { "$ref": "#/definitions/apiLDAPCatalogTLSConfig" }, "updated_at": { "type": "string", "format": "int64", "title": "unix" }, "updated_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "url": { "description": "URL e.g.: [(ldap|ldapi|ldaps)://]host[:port]", "type": "string", "title": "----- Connection Options -----" }, "username": { "type": "string", "title": "bind_dn" } } }, "fields": { "type": "array", "title": "Fields for partial update. PATCH", "items": { "type": "string" } } } }, "LDAPUpdateLDAPTemplateBody": { "type": "object", "properties": { "fields": { "type": "array", "title": "OPTIONAL. Fields for partial update. PATCH", "items": { "type": "string" } }, "template": { "description": "Template changes.", "type": "object", "title": "Template changes.", "properties": { "agent": { "type": "object", "title": "OPTIONAL. Agent objclass fields mapping" }, "base_dn": { "type": "string", "title": "Optional. LDAP Search base entry DN" }, "catalog": { "type": "object", "title": "LDAPCatalog belongs to", "properties": { "name": { "type": "string", "title": "display name" } } }, "created_at": { "description": "unix", "type": "string", "format": "int64", "title": "READONLY. Operational attributes" }, "created_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "device": { "type": "object", "title": "OPTIONAL. Device objclass fields mapping" }, "enabled": { "type": "boolean", "title": "Optional. This Template is activated ?" }, "name": { "type": "string", "title": "Name this template" }, "role": { "type": "object", "title": "OPTIONAL. Role objclass fields mapping (Not implemented yet)" }, "search": { "type": "string", "title": "Required. LDAP Search filter string" }, "updated_at": { "type": "string", "format": "int64", "title": "unix" }, "updated_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "user": { "type": "object", "title": "OPTIONAL. User objclass fields mapping" } } } } }, "OAuth2FederationDeleteOAuthServiceBody": { "type": "object", "properties": { "permanent": { "type": "boolean" } } }, "PresenceSetStatusBody": { "type": "object", "properties": { "fields": { "type": "array", "title": "PATCH: partial attributes", "items": { "type": "string" } }, "publish": { "description": "BODY: partial modifications", "type": "object", "title": "int64 id = 1; // user.id", "properties": { "expires": { "type": "integer", "format": "int32", "title": "[optional] \u003cnote\u003e will be cleaned up after seconds" }, "note": { "type": "string", "title": "[optional] human readable comment" }, "status": { "type": "string", "title": "[optional] set of unique 'active' presentities {dnd,dlg,sip,wss}; assume {offline} if omitted" }, "timestamp": { "type": "string", "format": "int64", "title": "[required] last activity time" } } } } }, "RolesUpdateRoleBody": { "type": "object", "properties": { "fields": { "type": "array", "title": "partial changes", "items": { "type": "string" } }, "role": { "type": "object", "title": "modifications", "properties": { "created_at": { "type": "string", "format": "int64", "title": "unix" }, "created_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "deleted_at": { "type": "string", "format": "int64", "title": "unix" }, "deleted_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "description": { "type": "string", "title": "short description" }, "members": { "description": "users/roles", "type": "array", "title": "Caller caller = 4; // TOBE removed !!!\nmap\u003cint64, string\u003e users = 4;", "items": { "type": "object", "$ref": "#/definitions/apiObjectId" } }, "metadata": { "type": "object", "title": "Optional. Metadata bound to this role by the third party integrations\nEach attribute of this object represents separate various data\nto be able to store and merge separate keys (documents)" }, "name": { "type": "string", "title": "display common name" }, "permissions": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/apiPermission" } }, "updated_at": { "type": "string", "format": "int64", "title": "unix" }, "updated_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "user": { "type": "boolean", "title": "READONLY. Report whether this Role refers to the internal User(=true) or Group(=false)" } } } } }, "SearchUsersRequestPresence": { "type": "object", "title": "simplified presence filter params", "properties": { "note": { "type": "string" }, "status": { "type": "string" } } }, "UsersLogoutUserBody": { "type": "object", "properties": { "selection": { "type": "array", "title": "MANY /users/logout .selection=[id,...]", "items": { "type": "string", "format": "int64" } } } }, "apiAccessRule": { "type": "object", "properties": { "granted": { "type": "string", "title": "[WHAT]: full: [xrwdxrwd]; privileges: [----xrwd]; grantable: [xrwd----]" }, "grantee": { "title": "[WHOM]: required; NEED to be rechecked !!!", "$ref": "#/definitions/apiRoleId" }, "grantor": { "description": "[WHO]: operational; current user NEED to be rechecked !!!", "title": "ObjectId object = 1;", "$ref": "#/definitions/apiRoleId" } } }, "apiAccessToken": { "type": "object", "title": "OAuth 2.0 Access Token Response compatible", "properties": { "access_token": { "description": "REQUIRED. The access token issued by the authorization server.", "type": "string" }, "expires_in": { "description": "RECOMMENDED. The lifetime in seconds of the access token.", "type": "integer", "format": "int32" }, "refresh_token": { "description": "OPTIONAL. The refresh token, which can be used to obtain\nnew access tokens using the same authorization grant.", "type": "string" }, "state": { "description": "OPTIONAL, if identical to the scope requested by the client;\notherwise, REQUIRED. The scope of the access token.\nrepeated string scope = 5 [ json_name = \"scope\" ];\nREQUIRED if the \"state\" parameter was present in the client\nauthorization request. The exact value received from the client.", "type": "string" }, "token_type": { "description": "REQUIRED. The type of the token issued. Value is case insensitive.", "type": "string" } } }, "apiClaim": { "type": "object", "properties": { "type": { "type": "string" }, "value": { "type": "string" } } }, "apiCreateDeviceResponse": { "type": "object", "properties": { "device": { "$ref": "#/definitions/apiDevice" } } }, "apiCreateDomainRequest": { "type": "object", "title": "POST /domains", "properties": { "organization": { "$ref": "#/definitions/apiOrganization" }, "password": { "type": "string" }, "superuser": { "type": "string" } } }, "apiCreateDomainResponse": { "type": "object" }, "apiCreateRoleRequest": { "type": "object", "properties": { "copy_id": { "type": "string", "format": "int64", "title": "----- Query parameters -----\nOptional. Source role unique identifier\nto copy access (+default) control list from" }, "role": { "title": "entity to be created", "$ref": "#/definitions/apiRole" } } }, "apiCreateRoleResponse": { "type": "object", "properties": { "created": { "title": "entity to be created", "$ref": "#/definitions/apiRole" } } }, "apiCreateUserResponse": { "type": "object", "properties": { "user": { "$ref": "#/definitions/apiUser" } } }, "apiCustomer": { "type": "object", "properties": { "created_at": { "description": "local created ms", "type": "string", "format": "int64", "title": "string version = 2; // version\nlocal store details" }, "dnsrv": { "type": "array", "title": "[optional] domains", "items": { "type": "object", "$ref": "#/definitions/apiObjectId" } }, "id": { "type": "string", "title": "serial number assigned (global::Customer-ID)" }, "issued_at": { "description": "[required] issuer(CA) created at", "type": "string", "format": "int64", "title": "validity boundaries" }, "license": { "description": "grants issued", "type": "array", "title": "int32 competitive = 13; // zero-based competitive sessions limit ?", "items": { "type": "object", "$ref": "#/definitions/apiLicenseV1" } }, "limit": { "description": "defines map[class]limit usage", "type": "object", "title": "extensions granted", "additionalProperties": { "type": "integer", "format": "int32" } }, "next_update": { "type": "string", "format": "int64", "title": "[optional]: signature expires; update required after" }, "not_after": { "type": "string", "format": "int64", "title": "[required] valid till" }, "not_before": { "type": "string", "format": "int64", "title": "[optional] valid from" }, "organization": { "type": "string", "title": "registration name" }, "revoked_at": { "type": "string", "format": "int64", "title": "local revoked ms" }, "this_update": { "description": "[optional]: issuer(CA) signed at", "type": "string", "format": "int64", "title": "signature validity" }, "updated_at": { "type": "string", "format": "int64", "title": "last uploaded ms" }, "verify": { "description": "[optional] validation results", "title": "Verification status", "$ref": "#/definitions/apiVerification" } } }, "apiDeleteDeviceResponse": { "type": "object", "properties": { "deleted": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/apiDevice" } } } }, "apiDeleteDomainResponse": { "type": "object" }, "apiDeleteLDAPRequest": { "type": "object", "properties": { "id": { "type": "string", "format": "int64", "title": "catalog id" }, "related_objects": { "type": "boolean", "title": "WITH objects bound to ?" } } }, "apiDeleteOAuthServiceRequest": { "type": "object", "properties": { "id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "permanent": { "type": "boolean" } } }, "apiDeleteOAuthServiceResponse": { "type": "object" }, "apiDeleteRoleResponse": { "type": "object", "properties": { "deleted": { "$ref": "#/definitions/apiRole" } } }, "apiDeleteUsersResponse": { "type": "object", "properties": { "deleted": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/apiUser" } } } }, "apiDevice": { "type": "object", "title": "Device profile", "properties": { "account": { "description": "username", "type": "string", "title": "credentials" }, "brand": { "description": "vendor brand name", "type": "string", "title": "provision" }, "created_at": { "type": "string", "format": "int64", "title": "unix" }, "created_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "deleted_at": { "type": "string", "format": "int64", "title": "unix" }, "deleted_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "hotdesk": { "description": "act as a hotdesk", "type": "boolean", "title": "Hotdesk: this workstation aliases" }, "hotdesks": { "type": "array", "title": "associated aliases", "items": { "type": "string" } }, "id": { "type": "string", "format": "int64", "title": "object id" }, "ip": { "type": "string" }, "logged_in": { "type": "string", "format": "int64", "title": "caller profile\n webitel.adt.caller caller = 4;" }, "mac": { "type": "string", "title": "static" }, "model": { "type": "string" }, "name": { "description": "display name", "type": "string", "title": "kind of\nDeviceType type = 19;" }, "password": { "type": "string", "title": "password" }, "provision": { "type": "object", "title": "provision extra data", "additionalProperties": { "type": "string" } }, "reged": { "type": "boolean", "title": "TODO: something like PresenceStatus instead of Registration\n repeated Registration contacts = 16;" }, "updated_at": { "type": "string", "format": "int64", "title": "unix" }, "updated_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "user": { "title": "[optional] The user that 'owns' the device;", "$ref": "#/definitions/apiUserId" } } }, "apiDeviceAudit": { "type": "object", "title": "Device login audit", "properties": { "device": { "title": "/users/:id/audit related", "$ref": "#/definitions/apiDeviceId" }, "hotdesk": { "type": "string" }, "logged_in": { "type": "string", "format": "int64" }, "logged_out": { "type": "string", "format": "int64" }, "user": { "title": "/devices/:id/audit related", "$ref": "#/definitions/apiUserId" } } }, "apiDeviceAuditResponse": { "type": "object", "properties": { "items": { "type": "array", "title": "audit_logs", "items": { "type": "object", "$ref": "#/definitions/apiDeviceAudit" } }, "next": { "type": "boolean", "title": "search: has {next} page ?" }, "page": { "type": "integer", "format": "int32", "title": "select: offset {page}" }, "size": { "type": "integer", "format": "int32", "title": "search: limit {size}" } } }, "apiDeviceId": { "type": "object", "title": "DeviceId lookup value", "properties": { "id": { "type": "string", "format": "int64", "title": "Object ID" }, "name": { "type": "string", "title": "Display Name" } } }, "apiGeneratePasswordRequest": { "type": "object", "properties": { "domain": { "type": "string", "title": "domain name, required to authenticate when no session exists" }, "password": { "type": "string", "title": "current password, used to authenticate when no session exists" }, "username": { "type": "string", "title": "required to enforce password_contains_login policy" } } }, "apiGeneratePasswordResponse": { "type": "object", "properties": { "password": { "type": "string", "title": "generated password matching the configured policy" } } }, "apiGenerateUserTfaKeyResponse": { "type": "object", "properties": { "totp": { "$ref": "#/definitions/apiTfaUrl" } } }, "apiGetCustomerResponse": { "type": "object", "properties": { "customer": { "$ref": "#/definitions/apiCustomer" } } }, "apiGetPasswordSettingsResponse": { "type": "object", "properties": { "settings": { "type": "object", "additionalProperties": { "type": "string" } } } }, "apiGetUserTfaKeyResponse": { "type": "object", "properties": { "totp": { "$ref": "#/definitions/apiTfaUrl" } } }, "apiGetUserWarningsResponse": { "type": "object", "properties": { "warnings": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/apiUserWarning" } } } }, "apiGrantAccessRequestV1": { "type": "object", "properties": { "grantee": { "type": "string", "format": "int64", "title": "grantee.role.id" }, "grants": { "type": "string", "title": "repeated string privileges = 5; // [\"SEARCH\",\"MODIFY\",\"DELETE\",\"CREATE\"]\nbool grantable = 6; // WITH GRANT OPTION" }, "object": { "title": "string class = 2;\nint64 object = 3; // class.object.id", "$ref": "#/definitions/apiObjectId" } } }, "apiInputUser": { "description": "Input of the User profile for Create/Update operations.\nMirrors `User` field numbers 1:1 (wire-compatible), but excludes\nsystem-managed read-only fields (id, audit metadata).", "type": "object", "properties": { "chat_name": { "description": "The \"chat_name\" field is used to store the name displayed externally on the platform.\nFor example, \"chat_name\" is shown when an agent connects to chats with clients.", "type": "string" }, "contact": { "title": "[optional] contact connected to this user", "$ref": "#/definitions/apiObjectId" }, "device": { "title": "[optional] default device assigned", "$ref": "#/definitions/apiObjectId" }, "devices": { "type": "array", "title": "[editable] list of unique `regular` devices, attached to this user", "items": { "type": "object", "$ref": "#/definitions/apiObjectId" } }, "email": { "type": "string" }, "extension": { "type": "string", "title": "Caller-ID-Number:" }, "force_password_change": { "description": "When set to true, the user will be required to change their password on next login.", "type": "boolean" }, "hotdesks": { "type": "array", "title": "[readonly] list of unique `hotdesk` devices, assigned to this user", "items": { "type": "object", "$ref": "#/definitions/apiObjectId" } }, "license": { "type": "array", "title": "list of unique licenses, granted to this user", "items": { "type": "object", "$ref": "#/definitions/apiLicenseUser" } }, "name": { "type": "string", "title": "Caller-ID-Name: Display Name" }, "password": { "type": "string" }, "permissions": { "type": "array", "title": "set of operational permission grants", "items": { "type": "object", "$ref": "#/definitions/apiPermission" } }, "presence": { "$ref": "#/definitions/apiUserPresence" }, "profile": { "type": "object", "title": "list of variables, assigned to this user as an environment unit", "additionalProperties": { "type": "string" } }, "roles": { "type": "array", "title": "roles, member of which is this user", "items": { "type": "object", "$ref": "#/definitions/apiObjectId" } }, "totp_url": { "type": "string", "title": "[readonly][optional] one time password if setting (2fa) is enabled" }, "username": { "type": "string", "title": "alphanumeric username (login)" } } }, "apiInputUserDevice": { "type": "object", "title": "InputUserDevice options to generate SIP device for NEW user", "properties": { "account": { "type": "string", "title": "SIP auth-id" }, "generate_password": { "type": "boolean", "title": "[re]generate SIP password ?" }, "name": { "type": "string", "title": "SIP display name" }, "password": { "type": "string", "title": "SIP password" } } }, "apiLDAPCatalog": { "type": "object", "title": "LDAPCatalog profile", "properties": { "base_dn": { "type": "string", "title": "base_dn, aka domain e.g.: 'dc=example,dc=org'" }, "bind": { "description": "authorization method e.g.: SIMPLE, SAML, NTLM, etc.", "type": "string", "title": "----- BIND: Authorization -----" }, "created_at": { "description": "unix", "type": "string", "format": "int64", "title": "basic: last operation details" }, "created_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "cron": { "description": "[CRON]OS SPEC ! github.com/robfig/cron/v3", "type": "string", "title": "----- RSYNC Processing -----\nint32 priority = 4;" }, "entry_modify": { "type": "string", "title": "last modification timestamp attribute type" }, "entry_uuid": { "description": "entry unique id (except DN which may be updated)", "type": "string", "title": "----- DOMAIN: Entry model -----" }, "id": { "type": "string", "format": "int64", "title": "identity\nint64 dc = 1;" }, "name": { "type": "string", "title": "Meaningfull title name" }, "password": { "type": "string", "title": "password" }, "process": { "title": "Last OR Current SYNC process details", "$ref": "#/definitions/apiLDAProcess" }, "sync": { "$ref": "#/definitions/apiLDAProcessOptions" }, "templates": { "type": "array", "title": "// // ----- MAP: user(s) settings -----\nLDAPUsersMap users = 26; // DEPRECATED: Use Template(s) instead\nSYNC Object's search and mappings", "items": { "type": "object", "$ref": "#/definitions/apiLDAPTemplate" } }, "tls": { "$ref": "#/definitions/apiLDAPCatalogTLSConfig" }, "updated_at": { "type": "string", "format": "int64", "title": "unix" }, "updated_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "url": { "description": "URL e.g.: [(ldap|ldapi|ldaps)://]host[:port]", "type": "string", "title": "----- Connection Options -----" }, "username": { "type": "string", "title": "bind_dn" } } }, "apiLDAPCatalogTLSConfig": { "type": "object", "title": "TLS configuration options", "properties": { "ca": { "type": "string", "format": "byte", "title": "PEM: base64" }, "cert": { "description": "PEM: base64", "type": "string", "format": "byte", "title": "TODO: (!)" }, "key": { "type": "string", "format": "byte", "title": "PEM: base64" } } }, "apiLDAPControl": { "type": "object", "title": "https://datatracker.ietf.org/doc/html/rfc4511#section-4.1.11", "properties": { "controlType": { "type": "string", "title": "LDAPOID," }, "controlValue": { "type": "string", "title": "OCTET STRING OPTIONAL" }, "criticality": { "type": "boolean", "title": "BOOLEAN DEFAULT FALSE," } } }, "apiLDAPObjentry": { "type": "object", "title": "LDAP entry object associatetions performed", "properties": { "class": { "type": "string", "title": "Internal object class been associated with this LDAP .entry" }, "entry": { "description": "map\u003cstring, string\u003e entry = 1;", "type": "object", "title": "LDAP Entry Attributes fetched" }, "errs": { "type": "array", "title": "FATAL Error(s). NON empty indicates that this process failed", "items": { "type": "string" } }, "object": { "type": "object", "title": "Internal object state; DUMP" }, "proc": { "type": "string", "title": "Operation been performed: create|update|delete" }, "warn": { "type": "array", "title": "An error(s) if any occured\nNON-FATAL Warnings", "items": { "type": "string" } } } }, "apiLDAPSearchRequest": { "type": "object", "title": "https://datatracker.ietf.org/doc/html/rfc4511#section-4.5.1", "properties": { "attributes": { "type": "array", "title": "AttributeSelection", "items": { "type": "string" } }, "baseObject": { "type": "string", "title": "----- SearchRequest -----\nbaseObject [D]istinguished[N]ame" }, "bind": { "description": "authorization method e.g.: SIMPLE, SAML, NTLM, etc.", "type": "string", "title": "----- BIND: Authorization -----" }, "catalog_id": { "type": "string", "format": "int64", "title": "----- connection -----\nOptional. ID of the preconfigured LDAP catalog" }, "controls": { "type": "array", "title": "----- LDAPMessage -----\nControls NOT implemented yet !", "items": { "type": "object", "$ref": "#/definitions/apiLDAPControl" } }, "derefAliases": { "type": "integer", "format": "int32", "title": "neverDerefAliases (0),\nderefInSearching (1),\nderefFindingBaseObj (2),\nderefAlways (3)" }, "filter": { "type": "string", "title": "Filter," }, "password": { "type": "string", "title": "password" }, "scope": { "type": "integer", "format": "int32", "title": "baseObject (0),\nsingleLevel (1),\nwholeSubtree (2)" }, "sizeLimit": { "type": "string", "format": "int64", "title": "INTEGER (0 .. maxInt)," }, "timeLimit": { "type": "string", "format": "int64", "title": "INTEGER (0 .. maxInt)," }, "tls": { "$ref": "#/definitions/apiLDAPSearchRequestTLSConfig" }, "typesOnly": { "type": "boolean", "title": "BOOLEAN," }, "url": { "description": "URL e.g.: [(ldap|ldapi|ldaps)://]host[:port]", "type": "string", "title": "Optional. URL to establish connection to LDAP catalog" }, "username": { "type": "string", "title": "bind_dn" } } }, "apiLDAPSearchRequestTLSConfig": { "type": "object", "title": "TLS configuration options", "properties": { "PEM": { "description": "base64", "type": "string", "format": "byte", "title": "TODO: (!)" } } }, "apiLDAPSearchResponse": { "type": "object", "title": "https://datatracker.ietf.org/doc/html/rfc4511#section-4.5.2", "properties": { "controls": { "type": "array", "title": "----- LDAPMessage -----", "items": { "type": "object", "$ref": "#/definitions/apiLDAPControl" } }, "diagnosticMessage": { "type": "string", "title": "LDAPString," }, "entries": { "type": "array", "title": "----- SearchResult (Entry|Reference) -----", "items": { "type": "object" } }, "matchedDN": { "type": "string", "title": "LDAPDN," }, "referral": { "type": "array", "title": "[3] Referral OPTIONAL", "items": { "type": "string" } }, "resultCode": { "type": "integer", "format": "int32", "title": "----- LDAPResult -----" } } }, "apiLDAPTemplate": { "type": "object", "title": "LDAPTemplate is an LDAP search entries to webitel objects transformation template", "properties": { "agent": { "type": "object", "title": "OPTIONAL. Agent objclass fields mapping" }, "base_dn": { "type": "string", "title": "Optional. LDAP Search base entry DN" }, "catalog": { "title": "LDAPCatalog belongs to", "$ref": "#/definitions/apiObjectId" }, "created_at": { "description": "unix", "type": "string", "format": "int64", "title": "READONLY. Operational attributes" }, "created_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "device": { "type": "object", "title": "OPTIONAL. Device objclass fields mapping" }, "enabled": { "type": "boolean", "title": "Optional. This Template is activated ?" }, "id": { "type": "string", "format": "int64", "title": "ID unique" }, "name": { "type": "string", "title": "Name this template" }, "role": { "type": "object", "title": "OPTIONAL. Role objclass fields mapping (Not implemented yet)" }, "search": { "type": "string", "title": "Required. LDAP Search filter string" }, "updated_at": { "type": "string", "format": "int64", "title": "unix" }, "updated_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "user": { "type": "object", "title": "OPTIONAL. User objclass fields mapping" } } }, "apiLDAPTemplateResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/apiLDAPTemplate" } }, "next": { "type": "boolean", "title": "result: has {next} page ?" }, "page": { "type": "integer", "format": "int32", "title": "result: {page} number" } } }, "apiLDAProcess": { "type": "object", "title": "LDAP synchronization process details", "properties": { "complete_at": { "description": "Optional. If not \u003czero\u003e indicates that this process is completed.", "type": "string", "format": "int64" }, "execute_at": { "type": "string", "format": "int64", "title": "Readonly. Process start timestamp" }, "execute_by": { "title": "Optional. Start manually by the user or role", "$ref": "#/definitions/apiRoleId" }, "id": { "type": "string", "format": "int64", "title": "Readonly. Process unique identifier" }, "options": { "title": "Readonly. Executed with options", "$ref": "#/definitions/apiLDAProcessOptions" }, "progress": { "type": "array", "title": "Optional. List of entries been already processed", "items": { "type": "object", "$ref": "#/definitions/apiLDAPObjentry" } }, "status": { "type": "string", "title": "Optional. Status description or an error if any occured" } } }, "apiLDAProcessOptions": { "type": "object", "properties": { "link_existing_objects": { "type": "boolean", "title": "Allows to create links\nwith fetched LDAP entries\nfor manually created objects" }, "reassign_device_users": { "type": "boolean", "title": "Allows to reassign device's owner user\ndue to preconfigured mapping LDAP template" }, "test": { "type": "boolean", "title": "Will NOT perform any operations on storage.\nTo review potential processing only" }, "timeout": { "type": "string", "format": "int64", "title": "Operation timeout. Not implemented yet" } } }, "apiLDAProcessResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/apiLDAProcess" } }, "next": { "type": "boolean", "title": "result: has {next} page ?" }, "page": { "type": "integer", "format": "int32", "title": "result: {page} number" } } }, "apiLicenseExpiryWarning": { "type": "object", "properties": { "days_remaining": { "type": "string", "format": "int64", "title": "Days until license expires" }, "expires_at": { "type": "string", "format": "int64", "title": "Unix timestamp when license expires" }, "license_name": { "type": "string", "title": "Product name of the license" } } }, "apiLicenseUsageResponse": { "type": "object", "properties": { "items": { "type": "array", "title": "size = (.next ? len(items) : undef (\u003e len(size)))\n----- Result entries ----- //", "items": { "type": "object", "$ref": "#/definitions/apiLicenseV1" } }, "next": { "type": "boolean", "title": "next page exists ? more results ?" }, "page": { "description": "this page number !", "type": "integer", "format": "int32", "title": "----- Result paging ----- //" } } }, "apiLicenseUser": { "type": "object", "title": "USAGE details", "properties": { "expires_at": { "type": "string", "format": "int64", "title": "not after" }, "id": { "type": "string", "title": "license.id" }, "issued_at": { "type": "string", "format": "int64", "title": "not before" }, "name": { "type": "string", "title": "license.name" }, "prod": { "type": "string", "title": "license.prod" }, "scope": { "type": "array", "title": "setof objclass grants", "items": { "type": "string" } }, "user": { "title": "grant to::user", "$ref": "#/definitions/apiObjectId" } } }, "apiLicenseUsersResponse": { "type": "object", "properties": { "items": { "type": "array", "title": "size = (.next ? len(items) : undef (\u003e len(size)))\n----- Result entries ----- //", "items": { "type": "object", "$ref": "#/definitions/apiProductUser" } }, "next": { "type": "boolean", "title": "next page exists ? more results ?" }, "page": { "description": "this page number !", "type": "integer", "format": "int32", "title": "----- Result paging ----- //" } } }, "apiLicenseV1": { "type": "object", "properties": { "competitive": { "type": "boolean" }, "id": { "type": "string", "title": "serial number assigned (global::License-ID)" }, "limit": { "type": "integer", "format": "int32", "title": "required: limit count (maximum allowed usage quantity)" }, "name": { "type": "string", "title": "product common name assigned by issuer ; OPTIONAL" }, "not_after": { "type": "string", "format": "int64", "title": "optional" }, "not_before": { "type": "string", "format": "int64", "title": "optional" }, "product": { "type": "string", "title": "product kind, e.g.: DEVICE, MANAGER, OPERATOR" }, "remain": { "description": "available", "type": "integer", "format": "int32", "title": "operational attributes ...\nremain = limit - len(users)" }, "scope": { "description": "list of known classes, \u0026this product grants mandatory access to, e.g.: 'users', 'roles', 'cc_agent', 'calendars', ...", "type": "array", "items": { "type": "string" } }, "status": { "$ref": "#/definitions/apiVerification" }, "users": { "type": "array", "title": "users.id (grantees)", "items": { "type": "object", "$ref": "#/definitions/apiLicenseUser" } } } }, "apiListAccessResponseV1": { "type": "object", "properties": { "items": { "type": "array", "title": "endregion", "items": { "type": "object", "$ref": "#/definitions/apiAccessRule" } }, "next": { "type": "boolean", "title": "indicate partial response: ( next || page \u003e 1 ? partial : full )" }, "page": { "type": "integer", "format": "int32", "title": "region: paged result control response value" } } }, "apiListRegistrationsResponse": { "type": "object", "properties": { "items": { "type": "array", "title": "registered", "items": { "type": "object", "$ref": "#/definitions/apiRegistration" } }, "next": { "type": "boolean", "title": "search: has {next} page ?" }, "page": { "type": "integer", "format": "int32", "title": "select: offset {page}" }, "size": { "type": "integer", "format": "int32", "title": "search: limit {size}" } } }, "apiLoginResponse": { "type": "object", "properties": { "authorization": { "$ref": "#/definitions/apiAccessToken" } } }, "apiLogoutUserRequest": { "type": "object", "properties": { "id": { "type": "string", "format": "int64", "title": "ONE /users/{id}/logout" }, "selection": { "type": "array", "title": "MANY /users/logout .selection=[id,...]", "items": { "type": "string", "format": "int64" } } } }, "apiLogoutUserResponse": { "type": "object" }, "apiOAuthService": { "type": "object", "title": "OAuth 2.0 Authentication [S]ervice [P]rovider Application Configuration", "properties": { "auth_url": { "type": "string", "title": "OAuth 2.0 Authorization Endpoint" }, "claims": { "description": "google.protobuf.Struct claims = 7;", "type": "array", "title": "Identity claims policy rules\nNOTE: Order matters", "items": { "type": "object", "$ref": "#/definitions/apiClaim" } }, "client_id": { "type": "string" }, "client_secret": { "type": "string" }, "created_at": { "type": "string", "format": "int64", "title": "unix" }, "created_by": { "title": "user", "$ref": "#/definitions/apiObjectId" }, "discovery_url": { "type": "string", "title": "OpenID Connect Service Discovery" }, "domain": { "$ref": "#/definitions/apiObjectId" }, "enabled": { "type": "boolean" }, "id": { "type": "string", "format": "int64" }, "logo": { "type": "string" }, "metadata": { "type": "object" }, "name": { "type": "string", "title": "display" }, "scopes": { "type": "array", "title": "Scopes to be requested", "items": { "type": "string" } }, "token_url": { "type": "string", "title": "OAuth 2.0 Token Endpoint" }, "type": { "type": "string", "title": "well-known vendor; provider" }, "updated_at": { "type": "string", "format": "int64", "title": "unix" }, "updated_by": { "title": "user", "$ref": "#/definitions/apiObjectId" }, "userinfo_url": { "type": "string", "title": "OpenID Connect Userinfo Endpoint" } } }, "apiObjclass": { "type": "object", "title": "AccessScope represents authorized access level\nto object class declaration within domain namespace", "properties": { "abac": { "description": "[A]ttribute-[b]ased; not implemented; next releases ...", "type": "boolean", "title": "Is [?]-[b]ased [A]ccess [C]ontrol *model enabled ?" }, "access": { "description": "flags: [ CREATE | SELECT | UPDATE | DELETE ]", "type": "string", "title": "Extension: discretionary access control" }, "class": { "type": "string", "title": "class: alphanumeric code name" }, "id": { "description": "class: object id", "type": "string", "format": "int64", "title": "Inherit::ObjectClass" }, "name": { "type": "string", "title": "class: display common name" }, "obac": { "type": "boolean", "title": "[O]peration-[b]ased; Mandatory: control access to object.class (alias: collection, section, etc.)" }, "rbac": { "type": "boolean", "title": "[R]ecord-[b]ased; Discretionary: control access to object.entry (alias: resource, record, etc.)" } } }, "apiObjectClass": { "type": "object", "properties": { "abac": { "type": "boolean", "title": "[a]ttribute-[b]ased [a]ccess [c]ontrol" }, "class": { "type": "string", "title": "(class::object).name" }, "id": { "type": "string", "format": "int64", "title": "(class::object).id" }, "obac": { "type": "boolean", "title": "[o]peration-[b]ased [a]ccess [c]ontrol (from::collection.dal)" }, "rbac": { "type": "boolean", "title": "[r]ecord-[b]ased [a]ccess [c]ontrol (from::resource.acl)" } } }, "apiObjectId": { "type": "object", "properties": { "id": { "type": "string", "format": "int64", "title": "identifier" }, "name": { "type": "string", "title": "display name" } } }, "apiOrganization": { "type": "object", "properties": { "country": { "type": "string" }, "createdAt": { "type": "string", "format": "int64", "title": "unix" }, "createdBy": { "type": "string", "title": "user" }, "dc": { "type": "string", "format": "int64", "title": "component" }, "domain": { "type": "string", "title": "FQDN" }, "email": { "type": "string" }, "locality": { "type": "string" }, "organization": { "type": "string" }, "postalAddress": { "type": "string" }, "postalCode": { "type": "string" }, "stateOrProvince": { "type": "string" }, "streetAddress": { "type": "string" }, "telephoneNumber": { "type": "string" }, "updatedAt": { "type": "string", "format": "int64", "title": "unix" }, "updatedBy": { "type": "string", "title": "user" } } }, "apiPasswordExpiryWarning": { "type": "object", "properties": { "days_remaining": { "type": "string", "format": "int64", "title": "Days until password expires" }, "expires_at": { "type": "string", "format": "int64", "title": "Unix timestamp when password expires" } } }, "apiPermission": { "type": "object", "properties": { "id": { "description": "[required] e.g.: 'read', 'playback_record_file', ...", "type": "string" }, "name": { "type": "string", "title": "[optional] e.g.: 'Select Any'" }, "usage": { "type": "string", "title": "[optional] e.g.: 'Grants permission to select any objects'" } } }, "apiPresenceStatus": { "type": "object", "title": "PresenceStatus PUBLISH", "properties": { "app": { "type": "string", "title": "[optional] service node identity" }, "closed": { "type": "boolean", "title": "[optional] signify \u003cstatus\u003e tuple gone from user's presence; equls to (open == 0)" }, "contact": { "type": "string", "title": "[optional] communication \u003curl\u003e" }, "domain_id": { "type": "string", "format": "int64", "title": "[hidden] for cluster purpose" }, "expires": { "type": "string", "format": "int64", "title": "NOTE: \u003cdnd\u003e actualy has no expires until user manualy switch it off" }, "id": { "description": "[required] tuple unique id; \u003ctrack\u003e", "type": "string", "title": "basic:latest" }, "note": { "type": "string", "title": "[optional] human readable comment" }, "open": { "type": "integer", "format": "int32", "title": "[optional] positive value signify 'active'" }, "presence": { "description": "// FIXME: well-known types ?\r\n repeated Dialog call = 9;\r\n repeated Sipreg sip = 9;\r\n repeated Websock wss = 9;", "type": "array", "title": "detailed: -registered -tracking tuples", "items": { "type": "object", "$ref": "#/definitions/apiPresenceStatus" } }, "priority": { "type": "integer", "format": "int32", "title": "[optional] importance level of this within presentity's" }, "sequence": { "type": "string", "format": "int64", "title": "[optional] this tuple (document) modifications version" }, "status": { "type": "string", "title": "[optional] unique set of \u003cenum:dnd|call|sip|wss\u003e; assume \u003coffline\u003e if blank; \u003cscope\u003e on request" }, "timestamp": { "type": "string", "format": "int64", "title": "[required] opened time" } } }, "apiProductUser": { "type": "object", "title": "ProductUser GRANT details", "properties": { "domain": { "title": "grant to::domain", "$ref": "#/definitions/apiObjectId" }, "expires_at": { "type": "string", "format": "int64", "title": "not after" }, "issued_at": { "type": "string", "format": "int64", "title": "not before" }, "sessions": { "type": "integer", "format": "int32", "title": "User's active sessions count !" }, "user": { "title": "grant to::user", "$ref": "#/definitions/apiObjectId" } } }, "apiReadClassResponse": { "type": "object", "properties": { "class": { "$ref": "#/definitions/apiObjectClass" } } }, "apiReadDeviceResponse": { "type": "object", "properties": { "device": { "$ref": "#/definitions/apiDevice" } } }, "apiReadDomainResponse": { "type": "object", "properties": { "domain": { "$ref": "#/definitions/apiOrganization" } } }, "apiReadRoleResponse": { "type": "object", "properties": { "role": { "$ref": "#/definitions/apiRole" } } }, "apiReadUserResponse": { "type": "object", "properties": { "user": { "$ref": "#/definitions/apiUser" } } }, "apiRegistration": { "type": "object", "title": "REGISTER SIP status", "properties": { "callid": { "type": "string" }, "contact": { "type": "string", "title": "binding_uri" }, "device": { "$ref": "#/definitions/apiDeviceId" }, "expires_at": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "instance": { "type": "string", "title": "?sip.instance= register contact option" }, "received": { "type": "string", "title": "registrant: remote side (proxy)" }, "register_at": { "type": "string", "format": "int64" }, "socket": { "type": "string", "title": "registrar: local side (host) e.g.:" }, "user": { "$ref": "#/definitions/apiUserId" }, "user_agent": { "type": "string" } } }, "apiRole": { "type": "object", "title": "Role represents group of users", "properties": { "created_at": { "type": "string", "format": "int64", "title": "unix" }, "created_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "deleted_at": { "type": "string", "format": "int64", "title": "unix" }, "deleted_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "description": { "type": "string", "title": "short description" }, "id": { "type": "string", "format": "int64", "title": "oid" }, "members": { "description": "users/roles", "type": "array", "title": "Caller caller = 4; // TOBE removed !!!\nmap\u003cint64, string\u003e users = 4;", "items": { "type": "object", "$ref": "#/definitions/apiObjectId" } }, "metadata": { "type": "object", "title": "Optional. Metadata bound to this role by the third party integrations\nEach attribute of this object represents separate various data\nto be able to store and merge separate keys (documents)" }, "name": { "type": "string", "title": "display common name" }, "permissions": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/apiPermission" } }, "updated_at": { "type": "string", "format": "int64", "title": "unix" }, "updated_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "user": { "type": "boolean", "title": "READONLY. Report whether this Role refers to the internal User(=true) or Group(=false)" } } }, "apiRoleId": { "description": "RoleId lookup value.", "type": "object", "properties": { "id": { "type": "string", "format": "int64", "title": "Unique Object IDentifier" }, "name": { "type": "string", "title": "Display Name" }, "user": { "type": "boolean", "title": "Optional. Indicates that this role ID refers\nto the internal user as the system administrative unit" } } }, "apiRoleMetadataResponse": { "type": "object", "properties": { "key": { "type": "string", "title": "Optional. Partial metadata document key name" }, "value": { "title": "Metadata value" } } }, "apiSearchClassesResponse": { "type": "object", "properties": { "items": { "type": "array", "title": "list", "items": { "type": "object", "$ref": "#/definitions/apiObjectClass" } }, "next": { "type": "boolean", "title": "search: has {next} page ?" }, "page": { "type": "integer", "format": "int32", "title": "select: offset {page}" }, "size": { "type": "integer", "format": "int32", "title": "search: limit {size}" } } }, "apiSearchDeviceResponse": { "type": "object", "properties": { "items": { "type": "array", "title": "devices", "items": { "type": "object", "$ref": "#/definitions/apiDevice" } }, "next": { "type": "boolean", "title": "search: has {next} page ?" }, "page": { "type": "integer", "format": "int32", "title": "select: offset {page}" }, "size": { "type": "integer", "format": "int32", "title": "search: limit {size}" } } }, "apiSearchDomainsResponse": { "type": "object", "properties": { "domains": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/apiOrganization" } } } }, "apiSearchLDAPResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/apiLDAPCatalog" } }, "next": { "type": "boolean", "title": "result: has {next} page ?" }, "page": { "type": "integer", "format": "int32", "title": "result: {page} number" } } }, "apiSearchOAuthServiceResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/apiOAuthService" } }, "next": { "type": "boolean", "title": "result: has {next} page ?" }, "page": { "type": "integer", "format": "int32", "title": "result: {page} number" } } }, "apiSearchPermissionResponse": { "type": "object", "properties": { "items": { "type": "array", "title": "result entries", "items": { "type": "object", "$ref": "#/definitions/apiPermission" } }, "next": { "type": "boolean", "title": "search: has {next} page ?" }, "page": { "type": "integer", "format": "int32", "title": "select: offset {page}" }, "size": { "type": "integer", "format": "int32", "title": "search: limit {size}" } } }, "apiSearchRolesResponse": { "type": "object", "properties": { "items": { "type": "array", "title": "roles", "items": { "type": "object", "$ref": "#/definitions/apiRole" } }, "next": { "type": "boolean", "title": "search: has {next} page ?" }, "page": { "description": "select: offset {page}", "type": "integer", "format": "int32", "title": "pagedResultsControl response value" }, "size": { "type": "integer", "format": "int32", "title": "search: limit {size}" } } }, "apiSearchUsersRequest": { "type": "object", "properties": { "any": { "description": "filter: include 'deleted' ALSO ! (inactive)", "type": "boolean", "title": "----- View Modes -----------------------------\nNOTE: by default, search NOT 'deleted' objects ONLY" }, "deleted": { "type": "boolean", "title": "filter: .deleted_at NOTNULL (view: RECYCLE)" }, "extension": { "type": "string", "title": "filter: .extension LIKE '{extension}'" }, "fields": { "description": "select: output (fields,...)", "type": "array", "title": "// navigation filter\nrepeated int64 roles = 7;\n----- Search Options -------------------------", "items": { "type": "string" } }, "id": { "description": "filter: .id = any({id}...)", "type": "array", "title": "----- Base Filters ---------------------------", "items": { "type": "string", "format": "int64" } }, "name": { "type": "string", "title": "filter: .name ILIKE '{name}'" }, "not_id": { "type": "array", "title": "filter: .id \u003c\u003e all({not_ids}...)", "items": { "type": "string", "format": "int64" } }, "page": { "type": "integer", "format": "int32", "title": "select: offset {page}" }, "presence": { "$ref": "#/definitions/SearchUsersRequestPresence" }, "q": { "description": "filter: (.name|.username|.extension|.status) ILIKE '{q}'", "type": "string", "title": "----- User-specific Filters ------------------" }, "size": { "type": "integer", "format": "int32", "title": "select: limit {size}" }, "sort": { "type": "array", "title": "select: order by (fields,...)", "items": { "type": "string" } }, "status": { "type": "string", "title": "filter: .status ILIKE '{status}'" }, "username": { "type": "string", "title": "filter: .username ILIKE '{username}'" } } }, "apiSearchUsersResponse": { "type": "object", "properties": { "items": { "type": "array", "title": "users", "items": { "type": "object", "$ref": "#/definitions/apiUser" } }, "next": { "type": "boolean", "title": "search: has {next} page ?" }, "page": { "type": "integer", "format": "int32", "title": "select: offset {page}" }, "size": { "type": "integer", "format": "int32", "title": "search: limit {size}" } } }, "apiServerInfoResponse": { "type": "object", "properties": { "key": { "type": "string", "format": "byte", "title": "int64 time = 1; // current timestamp (ms)" } } }, "apiSetStatusRequest": { "type": "object", "properties": { "fields": { "type": "array", "title": "PATCH: partial attributes", "items": { "type": "string" } }, "publish": { "description": "BODY: partial modifications", "title": "int64 id = 1; // user.id", "$ref": "#/definitions/apiUserPresence" } } }, "apiSystemObjects": { "type": "string", "default": "contacts", "enum": [ "contacts", "cc_list", "cc_bucket", "calendars", "devices", "cc_agent", "cc_team", "cc_resource", "cc_resource_group", "cc_queue", "roles", "users", "cognitive_profile" ] }, "apiTfaUrl": { "type": "object", "properties": { "url": { "type": "string" }, "user": { "$ref": "#/definitions/apiUserId" } } }, "apiToggleDefaultAccessResponse": { "type": "object", "properties": { "granted": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/apiAccessRule" } }, "revoked": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/apiAccessRule" } } } }, "apiUpdateAccessResponseV1": { "type": "object", "properties": { "granted": { "type": "string", "format": "int64", "title": "Affected rules count" }, "revoked": { "type": "string", "format": "int64" } } }, "apiUpdateClassResponse": { "type": "object", "properties": { "class": { "title": "updated", "$ref": "#/definitions/apiObjectClass" } } }, "apiUpdateCustomerResponse": { "type": "object", "properties": { "customer": { "title": "detailed", "$ref": "#/definitions/apiCustomer" } } }, "apiUpdateDeviceResponse": { "type": "object", "properties": { "device": { "$ref": "#/definitions/apiDevice" } } }, "apiUpdateDomainResponse": { "type": "object", "properties": { "domain": { "$ref": "#/definitions/apiOrganization" } } }, "apiUpdatePasswordRequest": { "type": "object", "properties": { "confirm_password": { "type": "string", "title": "CONFIRM" }, "domain": { "type": "string", "title": "Domain name required for user lookup when password expired" }, "id": { "type": "string", "format": "int64" }, "old_password": { "type": "string", "title": "OLD" }, "user_password": { "type": "string", "title": "NEW" }, "username": { "type": "string", "title": "Username (when password expired)" } } }, "apiUpdatePasswordResponse": { "type": "object" }, "apiUpdateRoleResponse": { "type": "object", "properties": { "updated": { "$ref": "#/definitions/apiRole" } } }, "apiUpdateUserResponse": { "type": "object", "properties": { "updated": { "$ref": "#/definitions/apiUser" } } }, "apiUser": { "description": "User profile.", "type": "object", "properties": { "chat_name": { "description": "The \"chat_name\" field is used to store the name displayed externally on the platform.\nFor example, \"chat_name\" is shown when an agent connects to chats with clients.", "type": "string" }, "contact": { "description": "[optional] contact connected to this user", "title": "repeated Call calls = 13; // order by created_at\nrepeated Registration reged = 13; // order by register_last", "$ref": "#/definitions/apiObjectId" }, "created_at": { "type": "string", "format": "int64", "title": "unix" }, "created_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "deleted_at": { "type": "string", "format": "int64", "title": "unix" }, "deleted_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "device": { "title": "[optional] default device assigned ? WebRTC register ?", "$ref": "#/definitions/apiObjectId" }, "devices": { "description": "[editable] list of unique `regular` devices, attached to this user", "type": "array", "title": "map\u003cint64, string\u003e devices = 13;", "items": { "type": "object", "$ref": "#/definitions/apiObjectId" } }, "email": { "type": "string" }, "extension": { "type": "string", "title": "Caller-ID-Number:" }, "force_password_change": { "description": "When set to true, the user will be required to change their password on next login.", "type": "boolean" }, "hotdesks": { "type": "array", "title": "[readonly] list of unique `hotdesk` devices, assigned to this user", "items": { "type": "object", "$ref": "#/definitions/apiObjectId" } }, "id": { "type": "string", "format": "int64", "title": "Object ID" }, "license": { "type": "array", "title": "list of unique licenses, granted to this user", "items": { "type": "object", "$ref": "#/definitions/apiLicenseUser" } }, "name": { "type": "string", "title": "Caller-ID-Name: Display Name" }, "password": { "type": "string" }, "permissions": { "type": "array", "title": "set of operational permission grants", "items": { "type": "object", "$ref": "#/definitions/apiPermission" } }, "presence": { "description": "string presence = 7; // unique set of \u003cuser\u003e presentity \u003cstatus:basic\u003e tuples open[ed]\n string status = 8; // short display status (short description)", "title": "CallerId caller = 5; // extension\nPresenceStatus presence = 8;", "$ref": "#/definitions/apiUserPresence" }, "profile": { "type": "object", "title": "list of variables, assigned to this user as an environment unit", "additionalProperties": { "type": "string" } }, "roles": { "type": "array", "title": "roles, member of which is this user", "items": { "type": "object", "$ref": "#/definitions/apiObjectId" } }, "totp_url": { "type": "string", "title": "[readonly][optional] one time password if setting (2fa) is enabled" }, "updated_at": { "type": "string", "format": "int64", "title": "unix" }, "updated_by": { "title": "user", "$ref": "#/definitions/apiUserId" }, "username": { "type": "string", "title": "alphanumeric username (login)" } } }, "apiUserAccessToken": { "description": "UserId lookup value.", "type": "object", "properties": { "created_at": { "type": "string", "format": "int64", "title": "unix::ms" }, "created_by": { "$ref": "#/definitions/apiObjectId" }, "deleted_at": { "type": "string", "format": "int64", "title": "[optional] disabled at" }, "deleted_by": { "title": "[optional] disabled by", "$ref": "#/definitions/apiObjectId" }, "id": { "type": "string", "title": "tokenKey::token_key" }, "token": { "type": "string", "title": "tokenString::access_token" }, "updated_at": { "type": "string", "format": "int64", "title": "unix::ms" }, "updated_by": { "$ref": "#/definitions/apiObjectId" }, "usage": { "type": "string", "title": "[optional] short usage description" }, "user": { "title": "[optional] output depends on API endpoint", "$ref": "#/definitions/apiObjectId" } } }, "apiUserAccessTokenList": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/apiUserAccessToken" } }, "next": { "type": "boolean", "title": "is there more results ? next page is available ?" }, "page": { "type": "integer", "format": "int32" }, "size": { "type": "string", "format": "int64" } } }, "apiUserId": { "description": "UserId lookup value.", "type": "object", "properties": { "id": { "type": "string", "format": "int64", "title": "Object ID" }, "name": { "type": "string", "title": "Display Name" } } }, "apiUserPresence": { "type": "object", "properties": { "expires": { "type": "integer", "format": "int32", "title": "[optional] \u003cnote\u003e will be cleaned up after seconds" }, "id": { "type": "string", "format": "int64", "title": "[required] user identity" }, "note": { "type": "string", "title": "[optional] human readable comment" }, "status": { "type": "string", "title": "[optional] set of unique 'active' presentities {dnd,dlg,sip,wss}; assume {offline} if omitted" }, "timestamp": { "type": "string", "format": "int64", "title": "[required] last activity time" } } }, "apiUserSetting": { "type": "object", "properties": { "key": { "type": "string" }, "value": {} } }, "apiUserWarning": { "type": "object", "properties": { "detail": { "type": "string" }, "id": { "$ref": "#/definitions/apiUserWarningId" }, "warning_data": { "$ref": "#/definitions/apiWarningData" } } }, "apiUserWarningId": { "type": "string", "default": "user_warning_id_unspecified", "enum": [ "user_warning_id_unspecified", "password_expires_soon", "license_expires_soon", "license_expired" ] }, "apiUserinfo": { "type": "object", "title": "https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims", "properties": { "chat_name": { "type": "string" }, "dc": { "type": "string", "format": "int64", "title": "current domain component id" }, "domain": { "type": "string", "title": "session domain.name" }, "expires_at": { "type": "string", "format": "int64", "title": "unix" }, "extension": { "type": "string" }, "license": { "type": "array", "title": "map[key]details", "items": { "type": "object", "$ref": "#/definitions/apiLicenseUser" } }, "name": { "type": "string", "title": "current user.id" }, "permissions": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/apiPermission" } }, "preferred_username": { "type": "string" }, "roles": { "type": "array", "title": "map[role]oid", "items": { "type": "object", "$ref": "#/definitions/apiObjectId" } }, "scope": { "type": "array", "title": "map[class]dac", "items": { "type": "object", "$ref": "#/definitions/apiObjclass" } }, "updated_at": { "type": "string", "format": "int64", "title": "user last updated" }, "user_id": { "type": "string", "format": "int64", "title": "current user.id" }, "username": { "type": "string", "title": "session end-user login" } } }, "apiVerification": { "type": "object", "properties": { "errors": { "type": "array", "title": "invalid", "items": { "type": "string" } }, "notify": { "type": "array", "title": "non-fatal warnings, e.g.:", "items": { "type": "string" } } } }, "apiWarningData": { "type": "object", "properties": { "license_expiry": { "$ref": "#/definitions/apiLicenseExpiryWarning" }, "password_expiry": { "$ref": "#/definitions/apiPasswordExpiryWarning" } } }, "contactsAccessMode": { "description": "- READ: Can `fetch` record. [GET]\n - WRITE: Can `update` record. [PUT|PATCH]\n - DELETE: Can `delete` record. [DELETE]", "type": "string", "default": "READ", "enum": [ "READ", "WRITE", "DELETE" ] }, "contactsAddContactsToGroupRequest": { "description": "Request message for adding contacts to a group.", "type": "object", "properties": { "contact_ids": { "description": "List of contact IDs to add to the group.", "type": "array", "items": { "type": "string", "format": "int64" } }, "group_ids": { "description": "The unique ID of the group.", "type": "array", "items": { "type": "string", "format": "int64" } } } }, "contactsCallEvent": { "type": "object", "properties": { "closed_at": { "type": "string", "format": "int64" }, "duration": { "type": "string", "format": "int64" }, "files": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsCallFile" } }, "flow_scheme": { "$ref": "#/definitions/webitelContactsLookup" }, "gateway": { "$ref": "#/definitions/webitelContactsLookup" }, "id": { "type": "string" }, "is_detailed": { "type": "boolean" }, "is_inbound": { "type": "boolean" }, "is_missed": { "type": "boolean" }, "participants": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitelContactsLookup" } }, "queue": { "$ref": "#/definitions/webitelContactsLookup" }, "total_duration": { "type": "string", "format": "int64" }, "transcripts": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsTranscriptLookup" } } } }, "contactsCallFile": { "type": "object", "properties": { "channel": { "type": "string" }, "id": { "type": "string", "format": "int64" }, "mime_type": { "type": "string" }, "name": { "type": "string" }, "size": { "type": "string", "format": "int64" }, "start_at": { "type": "string", "format": "int64" }, "stop_at": { "type": "string", "format": "int64" }, "type": { "$ref": "#/definitions/contactsCallFileType" } } }, "contactsCallFileType": { "type": "string", "default": "file_type_empty", "enum": [ "file_type_empty", "file_type_screenshot", "file_type_screensharing", "file_type_audio", "file_type_video", "file_type_pdf" ] }, "contactsChatEvent": { "type": "object", "properties": { "closed_at": { "type": "string", "format": "int64" }, "duration": { "type": "string", "format": "int64" }, "flow_scheme": { "$ref": "#/definitions/webitelContactsLookup" }, "gateway": { "$ref": "#/definitions/webitelContactsLookup" }, "id": { "type": "string" }, "is_detailed": { "type": "boolean" }, "is_inbound": { "type": "boolean" }, "is_missed": { "type": "boolean" }, "participants": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitelContactsLookup" } }, "queue": { "$ref": "#/definitions/webitelContactsLookup" } } }, "contactsComment": { "type": "object", "title": "The Contact's internal Comment.\nOutput purpose only", "properties": { "created_at": { "description": "The user who created this Field.", "type": "string", "format": "int64" }, "created_by": { "description": "Timestamp(milli) of the Field creation.", "$ref": "#/definitions/webitelContactsLookup" }, "etag": { "description": "Unique ID of the latest version of the update.\nThis ID changes after any update to the underlying value(s).", "type": "string" }, "format": { "description": "Styles of the text components.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/CommentFormat" } }, "id": { "description": "The unique ID of the Comment. Never changes.", "type": "string" }, "text": { "description": "Rich Text, multi-line[d] string value.", "type": "string" }, "updated_at": { "description": "Timestamp(milli) of the last Field update.\nTake part in Etag generation.", "type": "string", "format": "int64" }, "updated_by": { "description": "The user who performed last Update.", "$ref": "#/definitions/webitelContactsLookup" }, "ver": { "description": "Version of the latest update. Numeric sequence.", "type": "integer", "format": "int32" } }, "example": { "created_at": "1680268507698", "created_by": { "id": "34", "name": "John Doe" }, "etag": "FqaTCDLbhpaoUreL", "id": "354", "text": "This is a new note about the contact's recent activity. So ...", "updated_at": "1680268507698", "updated_by": { "id": "34", "name": "John Doe" } } }, "contactsCommentList": { "description": "Comment dataset.", "type": "object", "properties": { "data": { "description": "Comment dataset page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsComment" } }, "next": { "type": "boolean", "title": "Indicates that this is a partial result.\nMore data available upon query: ?size=${data.len}\u0026page=${page++}" }, "page": { "description": "The page number of the partial result.", "type": "integer", "format": "int32" } }, "example": { "data": [ { "created_at": "1680268507698", "created_by": { "id": "34", "name": "John Doe" }, "etag": "FqaTCDLbhpaoUreL", "id": "354", "text": "This is a new note about the contact's recent activity. So ...", "updated_at": "1680516785357", "updated_by": { "id": "34", "name": "John Doe" } }, { "created_at": "1680268537698", "created_by": { "id": "56", "name": "Bruce Wayne" }, "etag": "FZiTxVgr41VPFxyu", "id": "357", "text": "This contact may become a customer in a few days", "updated_at": "1680268563357", "updated_by": { "name": "Jane Lee (deleted)" }, "ver": "4" } ], "next": true, "page": 1 } }, "contactsCondition": { "type": "object", "title": "Condition", "properties": { "assignee": { "description": "The ID of the assignee that should be assigned if the condition is met (optional).", "$ref": "#/definitions/webitelContactsLookup" }, "created_at": { "description": "The timestamp (in milliseconds) of when the condition was created.", "type": "string", "format": "int64" }, "created_by": { "description": "The user who created this condition.", "$ref": "#/definitions/webitelContactsLookup" }, "expression": { "description": "The query or condition expression used to evaluate the group.", "type": "string" }, "group": { "description": "The ID of the static group that should be assigned if the condition is met.", "$ref": "#/definitions/webitelContactsLookup" }, "id": { "description": "The unique ID of the condition.", "type": "string", "format": "int64" }, "updated_at": { "description": "The timestamp (in milliseconds) of the last update.", "type": "string", "format": "int64" }, "updated_by": { "description": "The user who performed the last update.", "$ref": "#/definitions/webitelContactsLookup" } } }, "contactsConditionList": { "description": "A list of Conditions.", "type": "object", "properties": { "items": { "description": "List of conditions.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsCondition" } }, "next": { "description": "Have more records.", "type": "boolean" }, "page": { "description": "Page number of the partial result.", "type": "integer", "format": "int32" } } }, "contactsContactGroup": { "description": "The Contact's Group association.", "type": "object", "properties": { "created_at": { "description": "The user who created this Field.", "type": "string", "format": "int64" }, "created_by": { "description": "Timestamp(milli) of the Field creation.", "$ref": "#/definitions/webitelContactsLookup" }, "etag": { "description": "Unique ID of the latest version of the update.\nThis ID changes after any update to the underlying value(s).", "type": "string" }, "group": { "description": "Group of contacts associated.", "$ref": "#/definitions/webitelContactsLookup" }, "id": { "description": "The unique ID of the association. Never changes.", "type": "string" }, "updated_at": { "description": "Timestamp(milli) of the last Field update.\nTake part in Etag generation.", "type": "string", "format": "int64" }, "updated_by": { "description": "The user who performed last Update.", "$ref": "#/definitions/webitelContactsLookup" }, "ver": { "description": "Version of the latest update. Numeric sequence.", "type": "integer", "format": "int32" } } }, "contactsContactGroupList": { "description": "Contact groups dataset.\nNOTE: Edge represents connection between two nodes.\nSo this ContactGroupList.data are always subordinate to some contact.id.", "type": "object", "properties": { "data": { "description": "Group dataset page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsContactGroup" } }, "next": { "type": "boolean", "title": "Indicates that this is a partial result.\nMore data available upon query: ?size=${data.len}\u0026page=${page++}" }, "page": { "description": "The page number of the partial result.", "type": "integer", "format": "int32" } } }, "contactsContactList": { "description": "Contact dataset.", "type": "object", "properties": { "data": { "description": "Contact(s) dataset page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitelContactsContact" } }, "next": { "type": "boolean", "title": "Indicates that this is a partial result.\nMore data available upon query: ?size=${data.len}\u0026page=${page++}" }, "page": { "description": "The page number of the partial result.", "type": "integer", "format": "int32" } } }, "contactsCreateContactError": { "description": "Per-item failure of a bulk Contact create.", "type": "object", "properties": { "error": { "description": "Standardized error (code, message, details).", "$ref": "#/definitions/rpcStatus" }, "index": { "description": "0-based position in CreateContactsRequest.input.", "type": "integer", "format": "int32" }, "input": { "description": "The InputContact that failed.", "$ref": "#/definitions/contactsInputContact" } } }, "contactsCreateContactsBulkResponse": { "description": "Bulk Create result: successfully created Contacts plus per-item failures.", "type": "object", "properties": { "data": { "description": "Successfully created Contacts. Position matches the corresponding\nInputContact position in CreateContactsRequest.input, skipping\nfailures.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitelContactsContact" } }, "failures": { "description": "Per-item failures with original index and error details.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsCreateContactError" } } } }, "contactsCreateDynamicGroupRequest": { "description": "Request message for creating a new dynamic group.", "type": "object", "required": [ "name" ], "properties": { "condition": { "description": "Input details for the dynamic group.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputDynamicCondition" } }, "default_group": { "description": "Default static group to assign if no conditions are met.", "$ref": "#/definitions/webitelContactsLookup" }, "description": { "description": "The description of the dynamic group.", "type": "string" }, "enabled": { "description": "Enabled status of the dynamic group: active/inactive.", "type": "boolean" }, "name": { "description": "The name of the dynamic group.", "type": "string" } } }, "contactsCreateGroupRequest": { "description": "Request message for creating a new group.", "type": "object", "required": [ "name" ], "properties": { "description": { "description": "The description of the group.", "type": "string" }, "enabled": { "description": "The enabled status of the group.", "type": "boolean" }, "name": { "description": "The name of the group.", "type": "string" } } }, "contactsDayTimeline": { "type": "object", "properties": { "calls_count": { "type": "string", "format": "int64" }, "chats_count": { "type": "string", "format": "int64" }, "day_timestamp": { "type": "string", "format": "int64" }, "emails_count": { "type": "string", "format": "int64" }, "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsEvent" } } } }, "contactsDynamicCondition": { "type": "object", "title": "Dynamic Group condition", "properties": { "assignee": { "description": "The ID of the assignee that should be assigned if the condition is met (optional).", "$ref": "#/definitions/webitelContactsLookup" }, "expression": { "description": "The query or condition expression used to evaluate the group.", "type": "string" }, "group": { "description": "The ID of the static group that should be assigned if the condition is met.", "$ref": "#/definitions/webitelContactsLookup" }, "id": { "description": "The unique ID of the condition.", "type": "string", "format": "int64" } } }, "contactsDynamicGroup": { "type": "object", "title": "Dynamic Group", "properties": { "conditions": { "description": "List of dynamic conditions associated with the group.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsDynamicCondition" } }, "created_at": { "description": "Timestamp(milli) of the group's creation.", "type": "string", "format": "int64" }, "created_by": { "description": "The user who created this dynamic group.", "$ref": "#/definitions/webitelContactsLookup" }, "default_group": { "description": "Default static group to be assigned if no conditions are met.", "$ref": "#/definitions/webitelContactsLookup" }, "description": { "description": "The description of the dynamic group.", "type": "string" }, "enabled": { "description": "Enabled status of the group: active or inactive.", "type": "boolean" }, "id": { "description": "The unique ID of the dynamic group. Never changes.", "type": "string", "format": "int64" }, "name": { "description": "The name of the dynamic group.", "type": "string" }, "updated_at": { "description": "Timestamp(milli) of the last group update.", "type": "string", "format": "int64" }, "updated_by": { "description": "The user who performed the last update.", "$ref": "#/definitions/webitelContactsLookup" } } }, "contactsDynamicGroupInput": { "description": "Input message for creating/updating a dynamic group.", "type": "object", "properties": { "default_group": { "description": "Default static group to assign if no conditions are met.", "$ref": "#/definitions/webitelContactsLookup" }, "description": { "description": "The description of the dynamic group.", "type": "string" }, "enabled": { "description": "Enabled status of the dynamic group: active/inactive.", "type": "boolean" }, "name": { "description": "The name of the dynamic group.", "type": "string" } } }, "contactsDynamicGroupList": { "description": "A list of Dynamic Groups.", "type": "object", "properties": { "items": { "description": "List of dynamic groups.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsDynamicGroup" } }, "next": { "description": "Have more records.", "type": "boolean" }, "page": { "description": "Page number of the partial result.", "type": "integer", "format": "int32" } } }, "contactsEmailAddress": { "description": "The Contact's email address.", "type": "object", "properties": { "created_at": { "description": "The user who created this Field.", "type": "string", "format": "int64" }, "created_by": { "description": "Timestamp(milli) of the Field creation.", "$ref": "#/definitions/webitelContactsLookup" }, "email": { "description": "The email address.", "type": "string" }, "etag": { "description": "Unique ID of the latest version of the update.\nThis ID changes after any update to the underlying value(s).", "type": "string" }, "id": { "description": "The unique ID of the association. Never changes.", "type": "string" }, "primary": { "description": "Indicates whether this phone number is default within other channels of the same type(phone).", "type": "boolean" }, "type": { "title": "The type of the email address.\nLookup value from CommunicationType dictionary.\nThe type can be custom or one of these predefined values:\n- home\n- work\n- other", "$ref": "#/definitions/webitelContactsLookup" }, "updated_at": { "description": "Timestamp(milli) of the last Field update.\nTake part in Etag generation.", "type": "string", "format": "int64" }, "updated_by": { "description": "The user who performed last Update.", "$ref": "#/definitions/webitelContactsLookup" }, "ver": { "description": "Version of the latest update. Numeric sequence.", "type": "integer", "format": "int32" }, "verified": { "type": "boolean", "title": "Indicate whether Contact, as a Person, realy owns this associated phone number.\nIn other words: whether Contact is reachable thru this 'email' communication channel ?" } } }, "contactsEmailEvent": { "type": "object", "properties": { "attachments": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitelContactsAttachment" } }, "body": { "type": "string", "title": "plain text of email" }, "cc": { "type": "array", "title": "array of ccs (email addresses)", "items": { "type": "string" } }, "from": { "type": "array", "title": "array of senders (email addresses)", "items": { "type": "string" } }, "html": { "type": "string", "title": "html body of email" }, "id": { "type": "string" }, "is_detailed": { "type": "boolean", "title": "reserved for the open" }, "is_inbound": { "type": "boolean", "title": "inbound/outbound email" }, "owner": { "title": "Agent who sent/accepted", "$ref": "#/definitions/webitelContactsLookup" }, "profile": { "title": "email profile", "$ref": "#/definitions/webitelContactsLookup" }, "sender": { "type": "array", "title": "array of receivers (email addresses)", "items": { "type": "string" } }, "subject": { "type": "string" }, "to": { "type": "array", "title": "array of receivers (email addresses)", "items": { "type": "string" } } } }, "contactsEmailList": { "description": "Email dataset.", "type": "object", "properties": { "data": { "description": "EmailAddress dataset page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsEmailAddress" } }, "next": { "type": "boolean", "title": "Indicates that this is a partial result.\nMore data available upon query: ?size=${data.len}\u0026page=${page++}" }, "page": { "description": "The page number of the partial result.", "type": "integer", "format": "int32" } } }, "contactsEmptyResponse": { "type": "object" }, "contactsEvent": { "type": "object", "properties": { "call": { "$ref": "#/definitions/contactsCallEvent" }, "chat": { "$ref": "#/definitions/contactsChatEvent" }, "created_at": { "type": "string", "format": "int64" }, "email": { "$ref": "#/definitions/contactsEmailEvent" }, "type": { "$ref": "#/definitions/contactsTimelineEventType" } } }, "contactsGetTimelineCounterResponse": { "type": "object", "properties": { "calls_count": { "type": "string", "format": "int64" }, "chats_count": { "type": "string", "format": "int64", "title": "defined event types" }, "date_from": { "type": "string", "format": "int64", "title": "filter dates" }, "date_to": { "type": "string", "format": "int64" }, "emails_count": { "type": "string", "format": "int64" } } }, "contactsGetTimelineItemInfoResponse": { "type": "object", "properties": { "postprocessing": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsTimelinePostprocessingResult" } }, "variables": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsTimelineVariable" } } } }, "contactsGetTimelineResponse": { "type": "object", "properties": { "days": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsDayTimeline" } }, "next": { "type": "boolean" }, "page": { "type": "string", "format": "int64" } } }, "contactsGroup": { "type": "object", "title": "Group of Contacts", "properties": { "conditions": { "description": "List of dynamic conditions associated with the group.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsDynamicCondition" } }, "contacts_size": { "type": "string", "format": "int64" }, "created_at": { "description": "Timestamp(milli) of the group's creation.", "type": "string", "format": "int64" }, "created_by": { "description": "The user who created this group.", "$ref": "#/definitions/webitelContactsLookup" }, "default_group": { "description": "Default static group to be assigned if no conditions are met.", "$ref": "#/definitions/webitelContactsLookup" }, "description": { "description": "The description of the group.", "type": "string" }, "enabled": { "type": "boolean" }, "id": { "description": "The unique ID of the group. Never changes.", "type": "string" }, "name": { "description": "The name of the group.", "type": "string" }, "type": { "$ref": "#/definitions/contactsGroupType" }, "updated_at": { "description": "Timestamp(milli) of the last group update.", "type": "string", "format": "int64" }, "updated_by": { "description": "The user who performed the last update.", "$ref": "#/definitions/webitelContactsLookup" } } }, "contactsGroupList": { "description": "A list of Groups.", "type": "object", "properties": { "items": { "description": "List of groups.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsGroup" } }, "next": { "description": "Have more records.", "type": "boolean" }, "page": { "description": "Page number of the partial result.", "type": "integer", "format": "int32" } } }, "contactsGroupType": { "description": "- GROUP_TYPE_UNSPECIFIED: Default value\n - STATIC: Static group\n - DYNAMIC: Dynamic group", "type": "string", "title": "Enum for Group Type", "default": "GROUP_TYPE_UNSPECIFIED", "enum": [ "GROUP_TYPE_UNSPECIFIED", "STATIC", "DYNAMIC" ] }, "contactsIMClient": { "description": "A contact's [I]nstant[M]essaging client.", "type": "object", "properties": { "app": { "description": "App (Text-Gateway) used to connect the IM client.\nId will be internal id of gateway.\nName will be name of the gateway.", "$ref": "#/definitions/webitelContactsLookup" }, "created_at": { "description": "The user who created this Field.", "type": "string", "format": "int64" }, "created_by": { "description": "Timestamp(milli) of the Field creation.", "$ref": "#/definitions/webitelContactsLookup" }, "etag": { "description": "Unique ID of the latest version of the update.\nThis ID changes after any update to the underlying value(s).", "type": "string" }, "external_id": { "description": "External user id.", "type": "string" }, "id": { "description": "The unique ID of the association. Never changes.", "type": "string" }, "protocol": { "description": "Protocol used to connect the IM client.", "type": "string" }, "updated_at": { "description": "Timestamp(milli) of the last Field update.\nTake part in Etag generation.", "type": "string", "format": "int64" }, "updated_by": { "description": "The user who performed last Update.", "$ref": "#/definitions/webitelContactsLookup" }, "user": { "description": "External user which contacted to us.\nId will be from external service.\nName will be from external service.", "$ref": "#/definitions/webitelContactsLookup", "example": { "id": "596417343", "name": "John Doe", "type": "telegram" } }, "ver": { "description": "Version of the latest update. Numeric sequence.", "type": "integer", "format": "int32" }, "via": { "description": "[Via] App(-specific) peer(-id) to connect[from] the IM client.", "type": "string" } } }, "contactsIMClientList": { "type": "object", "properties": { "data": { "description": "IMClient dataset page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsIMClient" } }, "next": { "type": "boolean", "title": "Indicates that this is a partial result.\nMore data available upon query: ?size=${data.len}\u0026page=${page++}" }, "page": { "description": "The page number of the partial result.", "type": "integer", "format": "int32" } } }, "contactsInputComment": { "type": "object", "required": [ "text" ], "properties": { "etag": { "description": "Unique ID of the latest version of an existing resorce.", "type": "string" }, "format": { "description": "NEW Text components styling format.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/CommentFormat" } }, "text": { "description": "NEW Text of the comment.", "type": "string" } }, "example": { "text": "This is a new note about the contact's recent activity. So ..." } }, "contactsInputCondition": { "description": "Input message for creating/updating a condition.", "type": "object", "properties": { "assignee": { "description": "The ID of the assignee that should be assigned if the condition is met (optional).", "$ref": "#/definitions/webitelContactsLookup" }, "expression": { "description": "The query or condition expression used to evaluate the group.", "type": "string" }, "group": { "description": "The ID of the static group that should be assigned if the condition is met.", "type": "string", "format": "int64" }, "position": { "description": "The position of the condition in the group.", "$ref": "#/definitions/contactsPosition" } } }, "contactsInputContact": { "description": "The Contact principal input.", "type": "object", "properties": { "about": { "description": "BIO. Short description about the Contact person.\nOPTIONAL. Multi-lined text.", "type": "string" }, "comments": { "description": "Publish NEW comment(s) for this Contact.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputComment" } }, "emails": { "description": "The Contact's email address(es).", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputEmailAddress" } }, "etag": { "description": "Unique ID of the latest version of an existing resorce.", "type": "string" }, "groups": { "description": "The Contact's associated group(s).", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputContactGroup" } }, "imclients": { "description": "The contact's [I]nstant[M]essaging clients.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputIMClient" } }, "labels": { "description": "The Contact's associated label(s).", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputLabel" } }, "managers": { "description": "The Contact's internal manager(s).", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputManager" } }, "name": { "title": "The Contact's name. Singleton", "$ref": "#/definitions/contactsInputName" }, "phones": { "description": "The Contact's phone numbers.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputPhoneNumber" } }, "photos": { "description": "Output only. The Contact's photo(s).", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputPhoto" }, "readOnly": true }, "timezones": { "description": "The Contact's timezone preference(s).", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputTimezone" } }, "variables": { "description": "Arbitrary client data that is populated by clients.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsInputVariable" } } }, "example": { "about": "VIP customer", "emails": [ { "email": "john.smith@example.com", "primary": true, "type": { "id": "1", "name": "Email" } } ], "groups": [ { "group": { "id": "1", "name": "General" } } ], "labels": [ { "label": "Important" } ], "managers": [ { "primary": true, "user": { "id": "1", "name": "Manager" } } ], "name": { "common_name": "John Smith", "family_name": "Smith", "given_name": "John", "middle_name": "Andrew" }, "phones": [ { "number": "+380501234567", "primary": true, "type": { "id": "1", "name": "Mobile" } } ], "timezones": [ { "timezone": { "id": "1", "name": "Europe/Kyiv" } } ], "variables": [ { "key": "source", "value": "import" } ] } }, "contactsInputContactGroup": { "description": "An input of the Contact's groups.", "type": "object", "required": [ "etag" ], "properties": { "etag": { "description": "Unique ID of the latest version of an existing resource.", "type": "string" }, "group": { "description": "Group of contacts associated.", "$ref": "#/definitions/webitelContactsLookup" } } }, "contactsInputDynamicCondition": { "type": "object", "title": "Dynamic Group condition", "properties": { "assignee": { "description": "The ID of the assignee that should be assigned if the condition is met (optional).", "$ref": "#/definitions/webitelContactsLookup" }, "expression": { "description": "The query or condition expression used to evaluate the group.", "type": "string" }, "group": { "description": "The ID of the static group that should be assigned if the condition is met.", "$ref": "#/definitions/webitelContactsLookup" } } }, "contactsInputEmailAddress": { "description": "Input of the Contact's email address.", "type": "object", "required": [ "email" ], "properties": { "email": { "description": "The email address.", "type": "string" }, "etag": { "description": "Unique ID of the latest version of an existing resorce.", "type": "string" }, "primary": { "description": "Indicates whether this phone number is default within other channels of the same type(phone).", "type": "boolean" }, "type": { "title": "The type of the email address.\nLookup value from CommunicationType dictionary.\nThe type can be custom or one of these predefined values:\n- home\n- work\n- other", "$ref": "#/definitions/webitelContactsLookup" }, "verified": { "type": "boolean", "title": "Indicate whether Contact, as a Person, realy owns this associated phone number.\nIn other words: whether Contact is reachable thru this 'email' communication channel ?" } }, "example": { "email": "user@domain", "etag": "1679792219687", "primary": true, "type": { "name": "personal" }, "verified": false } }, "contactsInputGroup": { "type": "object", "title": "Input message for creating/updating a group", "properties": { "description": { "description": "The new description of the group.", "type": "string" }, "enabled": { "description": "The new enabled status of the group.", "type": "boolean" }, "name": { "description": "The new name of the group.", "type": "string" } } }, "contactsInputIMClient": { "description": "Input of the contact IM client.", "type": "object", "properties": { "created_by": { "description": "Id of Agent created this IM client.", "type": "string" }, "external_user": { "type": "string", "title": "External user id" }, "gateway_id": { "description": "App (Text-Gateway) used to connect the IM client.", "type": "string" }, "protocol": { "type": "string" }, "via": { "description": "[Via] App(-specific) peer(-id) to connect[from] the IM client.", "type": "string" } } }, "contactsInputLabel": { "description": "A Contact's associated Tag.\nOutput purpose only.", "type": "object", "required": [ "tag" ], "properties": { "etag": { "description": "Unique ID of the latest version of an existing resorce.", "type": "string" }, "label": { "description": "REQUIRED. Hashtag value;\nNOTE: Keep in mind, hashtags are not case-sensitive,\nbut adding capital letters does make them easier to read:\n#MakeAWish vs. #makeawish.", "type": "string" } } }, "contactsInputLanguage": { "description": "An input of the Contact's language.", "type": "object", "required": [ "etag" ], "properties": { "etag": { "description": "Unique ID of the latest version of an existing association.", "type": "string" }, "primary": { "description": "Indicates whether this association must be default\namong others of the same type.", "type": "boolean" }, "tag": { "type": "string", "title": "NEW, well-formed IETF BCP 47 language tag representing the locale.\nhttps://www.rfc-editor.org/info/bcp47" } }, "example": { "primary": false, "tag": "uk" } }, "contactsInputManager": { "type": "object", "required": [ "etag" ], "properties": { "etag": { "description": "Unique ID of the latest version of an existing resource.", "type": "string" }, "primary": { "description": "Indicates whether this association must be default among others.", "type": "boolean" }, "user": { "description": "Responsible User.", "$ref": "#/definitions/webitelContactsLookup" } }, "example": { "primary": true, "user": { "id": "357", "name": "Bruce Wayne" } } }, "contactsInputName": { "type": "object", "properties": { "common_name": { "description": "REQUIRED. End-User's full name in displayable form\nincluding all name parts, possibly including titles and suffixes,\nordered according to the End-User's locale and preferences.", "type": "string" }, "family_name": { "type": "string", "title": "OPTIONAL. Surname(s) or last name(s) of the End-User.\nNote that in some cultures, people can have multiple family names or no family name;\nall can be present, with the names being separated by space characters.\nhttps://openid.net/specs/openid-connect-core-1_0.html#StandardClaims #family_name" }, "given_name": { "type": "string", "title": "OPTIONAL. Given name(s) or first name(s) of the End-User.\nNote that in some cultures, people can have multiple given names;\nall can be present, with the names being separated by space characters.\nhttps://openid.net/specs/openid-connect-core-1_0.html#StandardClaims #given_name" }, "middle_name": { "description": "OPTIONAL. Middle name(s) of the End-User.\nNote that in some cultures, people can have multiple middle names;\nall can be present, with the names being separated by space characters.\nAlso note that in some cultures, middle names are not used.", "type": "string" }, "verified": { "description": "Indicate whether Contact, as a Person, realy owns this associated name.", "type": "boolean" } } }, "contactsInputPhoneNumber": { "description": "Input of the contact phone number.", "type": "object", "required": [ "number" ], "properties": { "etag": { "description": "Unique ID of the latest version of an existing resorce.", "type": "string" }, "number": { "description": "The phone number.", "type": "string" }, "primary": { "description": "Indicates whether this phone number is default within other channels of the same type(phone).", "type": "boolean" }, "type": { "title": "The type of the phone number.\nReference on CommunicationType dictionary.\nUsed for outbound routing while dialup a phone number.\nThe type can be custom or one of these predefined values:\n- home\n- work\n- mobile\n- homeFax\n- workFax\n- otherFax\n- pager\n- workMobile\n- workPager\n- main\n- googleVoice\n- other", "$ref": "#/definitions/webitelContactsLookup" }, "verified": { "type": "boolean", "title": "Indicate whether Contact, as a Person, realy owns this associated phone number.\nIn other words: whether Contact is reachable thru this 'phone' communication channel ?" } } }, "contactsInputPhoto": { "description": "Input of the photo.", "type": "object", "required": [ "file_url" ], "properties": { "etag": { "description": "Unique ID of the latest version of an existing association.", "type": "string" }, "photo_id": { "type": "string", "format": "int64", "title": "File unique ID within 'storage' service" }, "photo_url": { "type": "string", "title": "The URL of the photo.\nYou can change the desired size by appending\na query parameter sz={size} at the end of the url,\nwhere {size} is the size in pixels.\nExample: https://lh3.googleusercontent.com/-T_wVWLlmg7w/AAAAAAAAAAI/AAAAAAAABa8/00gzXvDBYqw/s100/photo.jpg?sz=50" }, "primary": { "description": "True if the photo is a default photo; false if the photo is a user-provided photo.", "type": "boolean" } } }, "contactsInputTimezone": { "description": "An input of the Contact's timezones.", "type": "object", "required": [ "etag" ], "properties": { "etag": { "description": "Unique ID of the latest version of an existing resource.", "type": "string" }, "primary": { "description": "Indicates whether this association must be default among others.", "type": "boolean" }, "timezone": { "description": "Timezone dictionary reference value associated.", "$ref": "#/definitions/webitelContactsLookup" } } }, "contactsInputVariable": { "description": "Input of the Contact's variable.", "type": "object", "required": [ "key" ], "properties": { "etag": { "description": "Unique ID of the latest version of an existing resorce.", "type": "string" }, "key": { "description": "NEW Key.", "type": "string", "pattern": "^\\w+$" }, "value": { "description": "NEW Value." } }, "example": { "key": "var_rename", "value": [ "string_item", [ 3, 7 ], false, null ] } }, "contactsLabelInfo": { "type": "object", "title": "LabelInfo about the Label's tag", "properties": { "label": { "description": "Label tag.\n\nCount of sources.\nint32 count = 2;\n Sources of Contacts assigned.\nrepeated string sources = 3;", "type": "string" } } }, "contactsLabelList": { "description": "LabelList dataset.\nNOTE: Edge represents connection between two nodes.\nSo this ContactLabels.data are always subordinate to some contact.id.", "type": "object", "properties": { "data": { "description": "Label(s) dataset page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitelContactsLabel" } }, "next": { "type": "boolean", "title": "Indicates that this is a partial result.\nMore data available upon query: ?size=${data.len}\u0026page=${page++}" }, "page": { "description": "Page number of partial result.", "type": "integer", "format": "int32" } } }, "contactsLabelTags": { "description": "LabelTags dataset list of label's info.", "type": "object", "properties": { "labels": { "type": "array", "title": "Labels info dataset", "items": { "type": "object", "$ref": "#/definitions/contactsLabelInfo" } }, "next": { "type": "boolean", "title": "Next page available ?" }, "page": { "description": "Page number of partial result.", "type": "integer", "format": "int32" }, "sources": { "type": "array", "title": "Contact sources dataset", "items": { "type": "object", "$ref": "#/definitions/webitelContactsLookup" } } } }, "contactsLanguage": { "description": "A Contact's locale preference.\nOutput purpose only.", "type": "object", "properties": { "code": { "type": "string", "title": "uk ; golang.org/x/text/language.MustParse(s).Base()" }, "created_at": { "description": "The user who created this Field.", "type": "string", "format": "int64" }, "created_by": { "description": "Timestamp(milli) of the Field creation.", "$ref": "#/definitions/webitelContactsLookup" }, "etag": { "description": "Unique ID of the latest version of the update.\nThis ID changes after any update to the underlying value(s).", "type": "string" }, "id": { "description": "The unique ID of the association. Never changes.", "type": "string" }, "lang": { "type": "string", "title": "Ukrainian ; golang.org/x/text/language/display.English.Languages().Name(tag)" }, "name": { "type": "string", "title": "українська ; golang.org/x/text/language/display.Self().Name(tag)" }, "primary": { "description": "Indicates whether this association is the default\namong others of the same type.", "type": "boolean" }, "region": { "type": "string", "title": "UA ; golang.org/x/text/language.MustParse(s).Region()" }, "script": { "type": "string", "title": "Cyrl; (Cyrillic); golang.org/x/text/language.MustParse(s).Script()" }, "tag": { "type": "string", "title": "The well-formed IETF BCP 47 language tag representing the locale.\nhttps://www.rfc-editor.org/info/bcp47" }, "updated_at": { "description": "Timestamp(milli) of the last Field update.\nTake part in Etag generation.", "type": "string", "format": "int64" }, "updated_by": { "description": "The user who performed last Update.", "$ref": "#/definitions/webitelContactsLookup" }, "ver": { "description": "Version of the latest update. Numeric sequence.", "type": "integer", "format": "int32" } } }, "contactsLanguageList": { "description": "LabelsData\nNOTE: Edge represents connection between two nodes.\nSo this ContactLabels.data are always subordinate to some contact.id.", "type": "object", "properties": { "data": { "description": "Page of the Contact's Language(s) dataset.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsLanguage" } }, "next": { "type": "boolean", "title": "Next indicate whether there are more result records(page+) available.\nIf set - next page is available with query ?size=$(data.length)\u0026page=$(page++)" }, "page": { "description": "Page number of partial result dataset records.", "type": "integer", "format": "int32" } }, "example": { "data": [ { "code": "uk", "created_at": "1680268507698", "created_by": { "id": "34", "name": "John Doe" }, "etag": "FqaTCDLbhpaoUreL", "id": "7", "lang": "Ukrainian", "name": "українська", "primary": true, "region": "UA", "script": "Cyrl", "tag": "uk-UA", "updated_at": "1680516785357", "updated_by": { "name": "Jane Lee (deleted)" }, "ver": "3" } ], "next": true, "page": 1 } }, "contactsLocateConditionResponse": { "description": "Response message for locating a condition by ID.", "type": "object", "properties": { "condition": { "$ref": "#/definitions/contactsCondition" } } }, "contactsLocateDynamicGroupResponse": { "description": "Response message for locating a dynamic group by ID.", "type": "object", "properties": { "group": { "$ref": "#/definitions/contactsDynamicGroup" } } }, "contactsLocateGroupResponse": { "description": "Response message for locating a group.", "type": "object", "properties": { "group": { "description": "The located group.", "$ref": "#/definitions/contactsGroup" } } }, "contactsManager": { "description": "Manager. The Contact's responsible User.", "type": "object", "properties": { "created_at": { "description": "The user who created this Field.", "type": "string", "format": "int64" }, "created_by": { "description": "Timestamp(milli) of the Field creation.", "$ref": "#/definitions/webitelContactsLookup" }, "etag": { "description": "Unique ID of the latest version of the update.\nThis ID changes after any update to the underlying value(s).", "type": "string" }, "id": { "description": "The unique ID of the association. Never changes.", "type": "string" }, "primary": { "description": "Indicates whether this association is the default\namong others of the same type.", "type": "boolean" }, "updated_at": { "description": "Timestamp(milli) of the last Field update.\nTake part in Etag generation.", "type": "string", "format": "int64" }, "updated_by": { "description": "The user who performed last Update.", "$ref": "#/definitions/webitelContactsLookup" }, "user": { "description": "Responsible User.", "$ref": "#/definitions/webitelContactsLookup" }, "ver": { "description": "Version of the latest update. Numeric sequence.", "type": "integer", "format": "int32" } } }, "contactsManagerList": { "description": "Manager dataset.", "type": "object", "properties": { "data": { "description": "Manager dataset page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsManager" } }, "next": { "type": "boolean", "title": "Indicates that this is a partial result.\nMore data available upon query: ?size=${data.len}\u0026page=${page++}" }, "page": { "description": "The page number of the partial result.", "type": "integer", "format": "int32" } } }, "contactsName": { "description": "A contact's name.\nIf the name is a mononym, the family name is empty.\n\nInspired:\nhttps://openid.net/specs/openid-connect-core-1_0.html#StandardClaims\nhttps://developers.google.com/people/api/rest/v1/people#name", "type": "object", "properties": { "common_name": { "description": "REQUIRED. End-User's full name in displayable form\nincluding all name parts, possibly including titles and suffixes,\nordered according to the End-User's locale and preferences.", "type": "string" }, "family_name": { "type": "string", "title": "OPTIONAL. Surname(s) or last name(s) of the End-User.\nNote that in some cultures, people can have multiple family names or no family name;\nall can be present, with the names being separated by space characters.\nhttps://openid.net/specs/openid-connect-core-1_0.html#StandardClaims #family_name" }, "given_name": { "type": "string", "title": "OPTIONAL. Given name(s) or first name(s) of the End-User.\nNote that in some cultures, people can have multiple given names;\nall can be present, with the names being separated by space characters.\nhttps://openid.net/specs/openid-connect-core-1_0.html#StandardClaims #given_name" }, "middle_name": { "description": "OPTIONAL. Middle name(s) of the End-User.\nNote that in some cultures, people can have multiple middle names;\nall can be present, with the names being separated by space characters.\nAlso note that in some cultures, middle names are not used.", "type": "string" }, "verified": { "description": "Indicate whether Contact, as a Person, realy owns this associated name.", "type": "boolean" } } }, "contactsPhoneList": { "description": "PhoneNumber dataset.", "type": "object", "properties": { "data": { "description": "PhoneNumber dataset page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsPhoneNumber" } }, "next": { "type": "boolean", "title": "Indicates that this is a partial result.\nMore data available upon query: ?size=${data.len}\u0026page=${page++}" }, "page": { "description": "The page number of the partial result.", "type": "integer", "format": "int32" } } }, "contactsPhoneNumber": { "description": "The Contact's phone number.", "type": "object", "properties": { "created_at": { "description": "The user who created this Field.", "type": "string", "format": "int64" }, "created_by": { "description": "Timestamp(milli) of the Field creation.", "$ref": "#/definitions/webitelContactsLookup" }, "etag": { "description": "Unique ID of the latest version of the update.\nThis ID changes after any update to the underlying value(s).", "type": "string" }, "id": { "description": "The unique ID of the association. Never changes.", "type": "string" }, "number": { "description": "The phone number.", "type": "string" }, "primary": { "description": "Indicates whether this phone number is default within other channels of the same type(phone).", "type": "boolean" }, "type": { "title": "The type of the phone number.\nReference on CommunicationType dictionary.\nUsed for outbound routing while dialup a phone number.\nThe type can be custom or one of these predefined values:\n- home\n- work\n- mobile\n- homeFax\n- workFax\n- otherFax\n- pager\n- workMobile\n- workPager\n- main\n- googleVoice\n- other", "$ref": "#/definitions/webitelContactsLookup" }, "updated_at": { "description": "Timestamp(milli) of the last Field update.\nTake part in Etag generation.", "type": "string", "format": "int64" }, "updated_by": { "description": "The user who performed last Update.", "$ref": "#/definitions/webitelContactsLookup" }, "ver": { "description": "Version of the latest update. Numeric sequence.", "type": "integer", "format": "int32" }, "verified": { "type": "boolean", "title": "Indicate whether Contact, as a Person, realy owns this associated phone number.\nIn other words: whether Contact is reachable thru this 'phone' communication channel ?" } } }, "contactsPhoto": { "description": "A contact's photo.\nA picture shown next to the contact's name\nto help others recognize the contact.", "type": "object", "properties": { "created_at": { "description": "The user who created this Field.", "type": "string", "format": "int64" }, "created_by": { "description": "Timestamp(milli) of the Field creation.", "$ref": "#/definitions/webitelContactsLookup" }, "etag": { "description": "Unique ID of the latest version of the update.\nThis ID changes after any update to the underlying value(s).", "type": "string" }, "id": { "description": "The unique ID of the association. Never changes.", "type": "string" }, "photo_id": { "type": "string", "format": "int64", "title": "File unique ID within 'storage' service" }, "photo_url": { "type": "string", "title": "The URL of the photo.\nYou can change the desired size by appending\na query parameter sz={size} at the end of the url,\nwhere {size} is the size in pixels.\nExample: https://lh3.googleusercontent.com/-T_wVWLlmg7w/AAAAAAAAAAI/AAAAAAAABa8/00gzXvDBYqw/s100/photo.jpg?sz=50" }, "primary": { "description": "True if the photo is a default photo; false if the photo is a user-provided photo.", "type": "boolean" }, "updated_at": { "description": "Timestamp(milli) of the last Field update.\nTake part in Etag generation.", "type": "string", "format": "int64" }, "updated_by": { "description": "The user who performed last Update.", "$ref": "#/definitions/webitelContactsLookup" }, "ver": { "description": "Version of the latest update. Numeric sequence.", "type": "integer", "format": "int32" } } }, "contactsPhotoList": { "description": "Photo dataset.", "type": "object", "properties": { "data": { "description": "Photo dataset page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsPhoto" } }, "next": { "type": "boolean", "title": "Indicates that this is a partial result.\nMore data available upon query: ?size=${data.len}\u0026page=${page++}" }, "page": { "description": "The page number of the partial result.", "type": "integer", "format": "int32" } } }, "contactsPosition": { "description": "Position details for conditions in the group.", "type": "object", "properties": { "cond_down": { "type": "string", "format": "int64", "title": "The target position where the condition should be moved.\nif we set last (n) index position -- set only cond_up -- cond_down should be ZERO" }, "cond_up": { "type": "string", "format": "int64", "title": "The current position of the condition in the list.\nif we set zero (0) index position -- set only cond_down -- cond_up should be ZERO" } } }, "contactsTimeRange": { "type": "object", "properties": { "since": { "description": "Since timestamp(milli). Not before.", "type": "string", "format": "int64" }, "until": { "description": "Until timestamp(milli). Not after.", "type": "string", "format": "int64" } } }, "contactsTimelineEventType": { "type": "string", "default": "chat", "enum": [ "chat", "call", "email" ] }, "contactsTimelinePostprocessingResult": { "type": "object", "properties": { "agent": { "$ref": "#/definitions/webitelContactsLookup" }, "form": { "title": "postprocessing form answers, saved by the agent" }, "reporting_at": { "type": "string", "format": "int64" } } }, "contactsTimelineVariable": { "type": "object", "properties": { "key": { "type": "string" }, "value": { "type": "string" } } }, "contactsTimezone": { "description": "A Contact's timezone preference.", "type": "object", "properties": { "created_at": { "description": "The user who created this Field.", "type": "string", "format": "int64" }, "created_by": { "description": "Timestamp(milli) of the Field creation.", "$ref": "#/definitions/webitelContactsLookup" }, "etag": { "description": "Unique ID of the latest version of the update.\nThis ID changes after any update to the underlying value(s).", "type": "string" }, "id": { "description": "The unique ID of the association. Never changes.", "type": "string" }, "primary": { "description": "Indicates whether this association is the default\namong others of the same type.", "type": "boolean" }, "timezone": { "description": "Timezone dictionary reference value associated.", "$ref": "#/definitions/webitelContactsLookup" }, "updated_at": { "description": "Timestamp(milli) of the last Field update.\nTake part in Etag generation.", "type": "string", "format": "int64" }, "updated_by": { "description": "The user who performed last Update.", "$ref": "#/definitions/webitelContactsLookup" }, "ver": { "description": "Version of the latest update. Numeric sequence.", "type": "integer", "format": "int32" } } }, "contactsTimezoneList": { "description": "Timezone dataset.\nNOTE: Edge represents connection between two nodes.\nSo this ContactTimezones.data are always subordinate to some contact.id.", "type": "object", "properties": { "data": { "description": "Timezone dataset page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsTimezone" } }, "next": { "type": "boolean", "title": "Indicates that this is a partial result.\nMore data available upon query: ?size=${data.len}\u0026page=${page++}" }, "page": { "description": "The page number of the partial result.", "type": "integer", "format": "int32" } } }, "contactsTranscriptLookup": { "type": "object", "properties": { "file": { "$ref": "#/definitions/webitelContactsLookup" }, "id": { "type": "string", "format": "int64" }, "locale": { "type": "string" } } }, "contactsVariable": { "description": "The Contact's variable.\nArbitrary data that is populated by users or clients.\nDuplicate keys and values are allowed.", "type": "object", "properties": { "created_at": { "description": "The user who created this Field.", "type": "string", "format": "int64" }, "created_by": { "description": "Timestamp(milli) of the Field creation.", "$ref": "#/definitions/webitelContactsLookup" }, "etag": { "description": "Unique ID of the latest version of the update.\nThis ID changes after any update to the underlying value(s).", "type": "string" }, "id": { "description": "The unique ID of the association. Never changes.", "type": "string" }, "key": { "description": "Key name of the variable.", "type": "string" }, "updated_at": { "description": "Timestamp(milli) of the last Field update.\nTake part in Etag generation.", "type": "string", "format": "int64" }, "updated_by": { "description": "The user who performed last Update.", "$ref": "#/definitions/webitelContactsLookup" }, "value": { "description": "JSON value of the variable." }, "ver": { "description": "Version of the latest update. Numeric sequence.", "type": "integer", "format": "int32" } }, "example": { "created_at": "1680268507698", "created_by": { "id": "34", "name": "John Doe" }, "etag": "FqaTCDLbhpaoUreL", "id": "6", "key": "var_complex", "updated_at": "1680516785357", "updated_by": { "name": "Ja Lee (deleted)" }, "value": { "inner_var": null, "value_arr": [ "string", [ null ], false, 1 ] }, "ver": "2" } }, "contactsVariableList": { "description": "Variable dataset.", "type": "object", "properties": { "data": { "description": "Variable dataset page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/contactsVariable" } }, "next": { "type": "boolean", "title": "Indicates that this is a partial result.\nMore data available upon query: ?size=${data.len}\u0026page=${page++}" }, "page": { "description": "The page number of the partial result.", "type": "integer", "format": "int32" } }, "example": { "data": [ { "created_at": "1680268507698", "created_by": { "id": "34", "name": "John Doe" }, "etag": "FqaTCDLbhpaoUreL", "id": "4", "key": "my_string", "updated_at": "1680268507698", "updated_by": { "id": "34", "name": "John Doe" }, "value": "string_value" }, { "created_at": "1680268507698", "created_by": { "id": "34", "name": "John Doe" }, "etag": "ogTsuZAIA1CcEZGC", "id": "6", "key": "var_complex", "updated_at": "1680516785357", "updated_by": { "name": "Ja Lee (deleted)" }, "value": { "inner_var": null, "value_arr": [ "string", [ null ], false, 1 ] }, "ver": "2" } ], "next": true, "page": 1 } }, "dataBatchCreateDatasetResponse": { "type": "object", "properties": { "errors": { "description": "Per-row errors (rows processed independently).", "type": "array", "items": { "type": "object", "$ref": "#/definitions/dataBatchCreateError" } }, "failed": { "description": "Number of failed rows.", "type": "integer", "format": "int32" }, "imported": { "description": "Number of successfully imported rows.", "type": "integer", "format": "int32" }, "total": { "description": "Total number of input rows.", "type": "integer", "format": "int32" } } }, "dataBatchCreateError": { "type": "object", "properties": { "code": { "type": "string", "title": "Error code: lookup.not_found | lookup.ambiguous | validation.failed" }, "field": { "description": "Code (id) of the problematic column.", "type": "string" }, "row": { "description": "0-based index of the row within the input `rows` array.", "type": "integer", "format": "int32" }, "value": { "description": "Original input value that could not be processed.", "type": "string" } } }, "dataDataset": { "description": "Dataset records page view.", "type": "object", "properties": { "data": { "description": "List of the dataset page records.", "type": "array", "items": { "type": "object" } }, "next": { "type": "boolean", "title": "Next page available?" }, "page": { "description": "Current page number.", "type": "integer", "format": "int32" }, "type": { "description": "Type of the dataset record.", "$ref": "#/definitions/protoDataStruct" } } }, "dataField": { "description": "Field of the struct.", "type": "object", "properties": { "always": { "description": "Always signifies that the field value will be computed on any write (INSERT OR UPDATE) operations.\nThe field cannot be written to, and when read the result of the last generated expression will be returned.\n\nThe generation expression can refer to other columns in the table, but not other generated columns. Any functions and operators used must be immutable. References to other tables are not allowed.", "title": "[ ON INSERT OR UPDATE ]" }, "binary": { "$ref": "#/definitions/typeBinary" }, "bool": { "$ref": "#/definitions/typeBool" }, "datetime": { "$ref": "#/definitions/typeDatetime" }, "default": { "description": "The `default` expression will be used in `INSERT` operation\nthat does not specify a value for the field.\n\nIf there is no default for a field, then the default is null.", "title": "[ ON INSERT ONLY ]" }, "disabled": { "type": "boolean", "title": "Optional. Disable data read operation. (selection)" }, "duration": { "$ref": "#/definitions/typeDuration" }, "float": { "$ref": "#/definitions/typeFloat" }, "float32": { "$ref": "#/definitions/typeFloat" }, "float64": { "$ref": "#/definitions/typeFloat" }, "hidden": { "type": "boolean", "title": "Is hidden (system) field ?\nDo NOT display on the `view` card ?" }, "hint": { "description": "Short description. Default: {name}.", "type": "string" }, "id": { "description": "Field [code] name.\n\ncode", "type": "string" }, "int": { "$ref": "#/definitions/typeInt" }, "int32": { "$ref": "#/definitions/typeInt" }, "int64": { "$ref": "#/definitions/typeInt" }, "kind": { "description": "Required. The field type.", "$ref": "#/definitions/typeKind" }, "lookup": { "$ref": "#/definitions/dataTypeLookup" }, "name": { "description": "Title of the field. Lang specific.\n\ntitle", "type": "string" }, "readonly": { "description": "Optional. Disable any write (INSERT OR UPDATE) operations.\nREADONLY signifies that the field value will be always computed on any write (INSERT OR UPDATE) operations.\nIf selected, the `default` value MUST be specified.\n\nFIXME: Is base field ? [ id, created_, updated_ ]", "type": "boolean" }, "required": { "type": "boolean", "title": "Optional. Do NOT allow NULL values !" }, "richtext": { "$ref": "#/definitions/typeText" }, "string": { "$ref": "#/definitions/typeText" }, "uint": { "$ref": "#/definitions/typeUint" }, "uint32": { "$ref": "#/definitions/typeUint" }, "uint64": { "$ref": "#/definitions/typeUint" } } }, "dataIndex": { "description": "INDEX [struct.fields].", "type": "object", "properties": { "fields": { "description": "A set of [struct.fields.id] to INDEX within [type] dataset.", "type": "array", "items": { "type": "string" } }, "include": { "description": "A set of [struct.fields.id] to INCLUDE beside the [fields] index.", "type": "array", "items": { "type": "string" } }, "unique": { "description": "Indicates whether set of [fields] MUST be UNIQUE within [type].", "type": "boolean" } } }, "dataInputDictionary": { "type": "object", "properties": { "about": { "type": "string", "title": "Short description" }, "administered": { "type": "boolean", "title": "Administer access control ? Enable RbAC ?" }, "display": { "description": "Required. Display [fields.id] key.\nUsed as [lookup].name setting for this [struct] type.", "type": "string" }, "fields": { "type": "array", "title": "Fields definitions", "items": { "type": "object", "$ref": "#/definitions/dataField" } }, "indexes": { "description": "INDEX fields.", "type": "object", "additionalProperties": { "$ref": "#/definitions/dataIndex" } }, "name": { "description": "A User-friendly [type.id] name ; lang: specific.", "type": "string" }, "primary": { "description": "Required. Primary [fields.id] key.\nUsed as [lookup].id setting for this [struct] type.", "type": "string" }, "repo": { "description": "string id = 1; // The [type] name (singular form), e.g.: `country`.\n\nRepository (dataset) name (plural form), e.g.: `countries`.", "type": "string" } }, "example": { "about": "Dataset of countries we are working with ..", "display": "name", "fields": [ { "hint": "+3(80)", "id": "code", "int32": { "max": "9999", "min": "10" }, "kind": "int32", "name": "Code", "required": true }, { "hint": "Country name", "id": "name", "kind": "string", "name": "Country", "required": true, "string": { "max": 64 } }, { "id": "capital", "kind": "lookup", "lookup": { "id": "name", "name": "name", "type": "dictionaries/cities" }, "name": "Capital city" }, { "datetime": { "part": "full", "time": "s" }, "default": "$(timestamp)", "id": "created_at", "kind": "datetime", "name": "Creation Date", "readonly": true }, { "default": "$(user)", "id": "created_by", "kind": "lookup", "lookup": { "id": "id", "name": "name", "type": "users" }, "name": "Author", "readonly": true }, { "always": "$(timestamp)", "datetime": { "part": "full", "time": "s" }, "id": "updated_at", "kind": "datetime", "name": "Last Modified", "readonly": true }, { "always": "$(user)", "id": "updated_by", "kind": "lookup", "lookup": { "type": "users" }, "name": "Editor", "readonly": true } ], "indexes": { "capital_city": { "fields": [ "capital" ], "unique": true }, "code": { "unique": true } }, "name": "Countries", "primary": "code", "repo": "countries" } }, "dataInputExtension": { "type": "object", "properties": { "fields": { "type": "array", "title": "Fields definitions", "items": { "type": "object", "$ref": "#/definitions/dataField" } }, "indices": { "type": "object", "title": "INDEX Fields", "additionalProperties": { "$ref": "#/definitions/dataIndex" } } }, "example": { "fields": [ { "id": "country", "kind": "lookup", "lookup": { "id": "code", "name": "name", "type": "/dictionaries/countries" }, "name": "Country", "required": true }, { "id": "city", "kind": "lookup", "lookup": { "id": "id", "name": "name", "type": "/dictionaries/cities?code={country.code}" }, "name": "City" } ], "indexes": { "city": {}, "country": {} } } }, "dataLookupValue": { "type": "object", "properties": { "id": { "description": "Required. Unique Identifier.", "type": "string" }, "name": { "description": "Readonly. Display name.", "type": "string" }, "type": { "description": "Optional. Reference type.", "type": "string" } } }, "dataStructList": { "description": "Dataset of structured types.", "type": "object", "properties": { "data": { "description": "List of `Struct` types.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/protoDataStruct" } }, "next": { "type": "boolean", "title": "Next page available ?" }, "page": { "description": "Page number of results.", "type": "integer", "format": "int32" } } }, "dataTypeLookup": { "description": "Lookup ( REFERENCE ) type descriptor.\nSimplified [webitel.custom.Struct] options.", "type": "object", "properties": { "display": { "description": "[Readonly]. Display dataset field.\n(lookup).{`name`} value relation.", "type": "string" }, "name": { "description": "[Readonly]. Dataset title.", "type": "string" }, "path": { "description": "[Required]. Reference dataset relative path\ne.g.: \"contacts\", \"dictionaries/cities\".\n(lookup).{`type`} value relation.", "type": "string" }, "primary": { "description": "[Readonly]. Primary dataset field.\n(lookup).{`id`} value relation.", "type": "string" }, "query": { "type": "object", "title": "Optional. Query dataset filters ...\nmap \u003c filter, template \u003e", "additionalProperties": { "type": "string" } }, "violation": { "type": "object", "title": "[ \"not_found\", \"too_much_records\" ]", "additionalProperties": { "type": "string" } } } }, "engine.AcceptOfDay": { "type": "object", "properties": { "day": { "type": "integer", "format": "int32" }, "disabled": { "type": "boolean" }, "end_time_of_day": { "type": "integer", "format": "int32" }, "start_time_of_day": { "type": "integer", "format": "int32" } } }, "engine.ActiveCall": { "type": "object", "properties": { "agent": { "$ref": "#/definitions/engine.Lookup" }, "answered_at": { "type": "string", "format": "int64" }, "app_id": { "type": "string" }, "bill_sec": { "type": "integer", "format": "int32" }, "blind_transfer": { "type": "string" }, "bridged_at": { "type": "string", "format": "int64" }, "bridged_id": { "type": "string" }, "created_at": { "type": "string", "format": "int64" }, "destination": { "type": "string" }, "direction": { "type": "string" }, "display": { "type": "string" }, "duration": { "type": "integer", "format": "int32" }, "extension": { "type": "string" }, "from": { "$ref": "#/definitions/engine.Endpoint" }, "gateway": { "$ref": "#/definitions/engine.Lookup" }, "hold_sec": { "type": "integer", "format": "int32" }, "id": { "type": "string" }, "joined_at": { "type": "string", "format": "int64" }, "leaving_at": { "type": "string", "format": "int64" }, "member": { "$ref": "#/definitions/engine.Lookup" }, "parent_id": { "type": "string" }, "queue": { "$ref": "#/definitions/engine.Lookup" }, "queue_bridged_at": { "type": "string", "format": "int64" }, "queue_duration_sec": { "type": "integer", "format": "int32" }, "queue_wait_sec": { "type": "integer", "format": "int32" }, "reporting_at": { "type": "string", "format": "int64" }, "reporting_sec": { "type": "integer", "format": "int32" }, "state": { "type": "string" }, "supervisor": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "team": { "$ref": "#/definitions/engine.Lookup" }, "timestamp": { "type": "string", "format": "int64" }, "to": { "$ref": "#/definitions/engine.Endpoint" }, "type": { "type": "string" }, "user": { "$ref": "#/definitions/engine.Lookup" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } }, "wait_sec": { "type": "integer", "format": "int32" } } }, "engine.ActivityWorkspaceWidgetResponse": { "type": "object", "properties": { "available": { "type": "integer", "format": "int32" }, "avg_hold_sec": { "type": "number", "format": "float" }, "avg_talk_sec": { "type": "number", "format": "float" }, "call_abandoned": { "type": "integer", "format": "int32" }, "call_dialer_queue": { "type": "integer", "format": "int32" }, "call_handled": { "type": "integer", "format": "int32" }, "call_inbound": { "type": "integer", "format": "int32" }, "call_inbound_queue": { "type": "integer", "format": "int32" }, "call_manual": { "type": "integer", "format": "int32" }, "call_missed": { "type": "integer", "format": "int32" }, "call_queue_missed": { "type": "integer", "format": "int32" }, "chat_accepts": { "type": "integer", "format": "int32" }, "chat_aht": { "type": "number", "format": "float" }, "occupancy": { "type": "number", "format": "float" }, "online": { "type": "integer", "format": "int32" }, "processing": { "type": "integer", "format": "int32" }, "queue_talk_sec": { "type": "integer", "format": "int32" }, "score_count": { "type": "string", "format": "int64" }, "score_optional_avg": { "type": "number", "format": "float" }, "score_optional_sum": { "type": "number", "format": "float" }, "score_required_avg": { "type": "number", "format": "float" }, "score_required_sum": { "type": "number", "format": "float" }, "sum_talk_sec": { "type": "string", "format": "int64" }, "task_accepts": { "type": "integer", "format": "int32" }, "utilization": { "type": "number", "format": "float" }, "voice_mail": { "type": "integer", "format": "int32" } } }, "engine.Agent": { "type": "object", "properties": { "allow_channels": { "type": "array", "items": { "type": "string" } }, "allow_set_screen_control": { "type": "boolean" }, "auditor": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "channel": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AgentChannel" } }, "chat_count": { "type": "integer", "format": "int64" }, "description": { "type": "string" }, "extension": { "type": "string" }, "extra_chat_count": { "type": "integer", "format": "int64" }, "greeting_media": { "$ref": "#/definitions/engine.Lookup" }, "id": { "type": "string", "format": "int64" }, "is_supervisor": { "type": "boolean" }, "last_status_change": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "progressive_count": { "type": "integer", "format": "int32" }, "region": { "$ref": "#/definitions/engine.Lookup" }, "screen_control": { "type": "boolean" }, "skills": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "status": { "type": "string" }, "status_duration": { "type": "string", "format": "int64" }, "status_type": { "type": "string" }, "supervisor": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "task_count": { "type": "integer", "format": "int64" }, "team": { "$ref": "#/definitions/engine.Lookup" }, "user": { "$ref": "#/definitions/engine.Lookup" }, "user_presence_status": { "$ref": "#/definitions/engine.Agent.UserPresence" } } }, "engine.Agent.UserPresence": { "type": "object", "properties": { "status": { "type": "string" } } }, "engine.AgentCallStatistics": { "type": "object", "properties": { "abandoned": { "type": "integer", "format": "int32" }, "avg_hold_sec": { "type": "number", "format": "float" }, "avg_talk_sec": { "type": "number", "format": "float" }, "chat_accepts": { "type": "integer", "format": "int32" }, "chat_aht": { "type": "integer", "format": "int32" }, "count": { "type": "integer", "format": "int32" }, "handles": { "type": "integer", "format": "int32" }, "max_hold_sec": { "type": "number", "format": "float" }, "max_talk_sec": { "type": "number", "format": "float" }, "min_hold_sec": { "type": "number", "format": "float" }, "min_talk_sec": { "type": "number", "format": "float" }, "name": { "type": "string" }, "occupancy": { "type": "number", "format": "float" }, "sum_hold_sec": { "type": "number", "format": "float" }, "sum_talk_sec": { "type": "number", "format": "float" }, "utilization": { "type": "number", "format": "float" } } }, "engine.AgentCallStatisticsList": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AgentCallStatistics" } }, "next": { "type": "boolean" } } }, "engine.AgentChannel": { "type": "object", "properties": { "channel": { "type": "string" }, "joined_at": { "type": "string", "format": "int64" }, "state": { "type": "string" }, "timeout": { "type": "string", "format": "int64" } } }, "engine.AgentInQueue": { "description": "AgentInQueue represents agent assignment\nand configuration within a specific queue.", "type": "object", "properties": { "active_members": { "description": "Number of members currently active in the queue.", "type": "integer", "format": "int32" }, "agents": { "description": "Aggregated agent statistics for the queue.", "$ref": "#/definitions/engine.AgentInQueue.AgentsInQueue" }, "count_members": { "description": "Total number of members assigned to the queue.", "type": "integer", "format": "int32" }, "enabled": { "description": "Indicates whether the queue is enabled.", "type": "boolean" }, "max_member_limit": { "description": "Maximum number of members allowed in the queue.", "type": "integer", "format": "int32" }, "priority": { "description": "Agent priority within the queue.", "type": "integer", "format": "int32" }, "queue": { "description": "Queue reference.", "$ref": "#/definitions/engine.Lookup" }, "strategy": { "description": "Call distribution strategy used by the queue.", "type": "string" }, "type": { "description": "Queue type.", "type": "integer", "format": "int32" }, "waiting_members": { "description": "Number of members currently waiting in the queue.", "type": "integer", "format": "int32" } } }, "engine.AgentInQueue.AgentsInQueue": { "description": "AgentsInQueue contains aggregated statistics\nabout agents assigned to queue.", "type": "object", "properties": { "allow_pause": { "description": "Indicates whether pause is allowed for agents.\nIf unset, pause availability is not defined.", "type": "integer", "format": "int32" }, "busy": { "description": "Number of agents currently on call.", "type": "integer", "format": "int64" }, "free": { "description": "Number of agents that are online and in 'waiting' (idle) state.", "type": "integer", "format": "int64" }, "offline": { "description": "Number of agents currently offline.", "type": "integer", "format": "int64" }, "online": { "description": "Number of agents currently online.", "type": "integer", "format": "int64" }, "pause": { "description": "Number of agents currently in pause state.", "type": "integer", "format": "int64" }, "total": { "description": "Total number of agents assigned to the queue.", "type": "integer", "format": "int64" } } }, "engine.AgentInQueueStatistics": { "type": "object", "properties": { "queue": { "$ref": "#/definitions/engine.Lookup" }, "statistics": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AgentInQueueStatistics.AgentInQueueStatisticsItem" } } } }, "engine.AgentInQueueStatistics.AgentInQueueStatisticsItem": { "type": "object", "properties": { "bucket": { "$ref": "#/definitions/engine.Lookup" }, "member_waiting": { "type": "integer", "format": "int32" }, "skill": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.AgentInQueueStatisticsList": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AgentInQueueStatistics" } } } }, "engine.AgentInTeam": { "type": "object", "properties": { "strategy": { "type": "string" }, "team": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.AgentPauseCause": { "type": "object", "properties": { "allow_admin": { "type": "boolean" }, "allow_agent": { "type": "boolean" }, "allow_supervisor": { "type": "boolean" }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "description": { "type": "string" }, "id": { "type": "integer", "format": "int64" }, "limit_min": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "teams": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.AgentPauseCauseService.PatchAgentPauseCauseBody": { "type": "object", "properties": { "allow_admin": { "type": "boolean" }, "allow_agent": { "type": "boolean" }, "allow_supervisor": { "type": "boolean" }, "description": { "type": "string" }, "fields": { "type": "array", "items": { "type": "string" } }, "limit_min": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "teams": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } } } }, "engine.AgentPauseCauseService.UpdateAgentPauseCauseBody": { "type": "object", "properties": { "allow_admin": { "type": "boolean" }, "allow_agent": { "type": "boolean" }, "allow_supervisor": { "type": "boolean" }, "description": { "type": "string" }, "limit_min": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "teams": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } } } }, "engine.AgentService.AgentSetStateBody": { "type": "object" }, "engine.AgentService.PatchAgentBody": { "type": "object", "properties": { "allow_channels": { "type": "array", "items": { "type": "string" } }, "auditor": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "chat_count": { "type": "integer", "format": "int64" }, "description": { "type": "string" }, "extra_chat_count": { "type": "integer", "format": "int64" }, "fields": { "type": "array", "items": { "type": "string" } }, "greeting_media": { "$ref": "#/definitions/engine.Lookup" }, "is_supervisor": { "type": "boolean" }, "progressive_count": { "type": "integer", "format": "int32" }, "region": { "$ref": "#/definitions/engine.Lookup" }, "screen_control": { "type": "boolean" }, "supervisor": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "team": { "$ref": "#/definitions/engine.Lookup" }, "user": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.AgentService.UpdateAgentBody": { "type": "object", "properties": { "allow_channels": { "type": "array", "items": { "type": "string" } }, "auditor": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "chat_count": { "type": "integer", "format": "int64" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "extra_chat_count": { "type": "integer", "format": "int64" }, "greeting_media": { "$ref": "#/definitions/engine.Lookup" }, "is_supervisor": { "type": "boolean" }, "progressive_count": { "type": "integer", "format": "int32" }, "region": { "$ref": "#/definitions/engine.Lookup" }, "screen_control": { "type": "boolean" }, "supervisor": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "task_count": { "type": "integer", "format": "int64" }, "team": { "$ref": "#/definitions/engine.Lookup" }, "user": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.AgentService.UpdateAgentStatusBody": { "type": "object", "properties": { "channels": { "type": "array", "items": { "type": "string" } }, "domain_id": { "type": "string", "format": "int64" }, "on_demand": { "type": "boolean" }, "online_skill": { "$ref": "#/definitions/engine.Lookup" }, "payload": { "type": "string" }, "status": { "type": "string", "title": "FIXME enumerate" }, "status_comment": { "type": "string" } } }, "engine.AgentSetStateResponse": { "type": "object" }, "engine.AgentSkill": { "type": "object", "properties": { "agent": { "$ref": "#/definitions/engine.Lookup" }, "capacity": { "type": "integer", "format": "int32" }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "domain_id": { "type": "string", "format": "int64" }, "enabled": { "type": "boolean" }, "id": { "type": "string", "format": "int64" }, "skill": { "$ref": "#/definitions/engine.Lookup" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.AgentSkillItem": { "type": "object", "properties": { "capacity": { "type": "integer", "format": "int32" }, "enabled": { "type": "boolean" }, "id": { "type": "string", "format": "int64" }, "skill": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.AgentSkillService.CreateAgentSkillBody": { "type": "object", "properties": { "capacity": { "type": "integer", "format": "int32" }, "domain_id": { "type": "string", "format": "int64" }, "enabled": { "type": "boolean" }, "skill": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.AgentSkillService.CreateAgentSkillsBody": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.CreateAgentSkillBulkItem" } } } }, "engine.AgentSkillService.PatchAgentSkillBody": { "type": "object", "properties": { "capacity": { "type": "integer", "format": "int32" }, "domain_id": { "type": "string", "format": "int64" }, "enabled": { "type": "boolean" }, "fields": { "type": "array", "items": { "type": "string" } }, "skill": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.AgentSkillService.PatchAgentSkillsBody": { "type": "object", "properties": { "capacity": { "type": "integer", "format": "int32" }, "enabled": { "type": "boolean" }, "fields": { "type": "array", "items": { "type": "string" } }, "id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "skill_id": { "type": "array", "items": { "type": "string", "format": "int64" } } } }, "engine.AgentSkillService.UpdateAgentSkillBody": { "type": "object", "properties": { "capacity": { "type": "integer", "format": "int32" }, "domain_id": { "type": "string", "format": "int64" }, "enabled": { "type": "boolean" }, "skill": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.AgentState": { "type": "object", "properties": { "agent": { "$ref": "#/definitions/engine.Lookup" }, "channel": { "type": "string" }, "duration": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "joined_at": { "type": "string", "format": "int64" }, "leaved_at": { "type": "string", "format": "int64" }, "pause_cause": { "type": "string" }, "payload": { "type": "string" }, "queue": { "$ref": "#/definitions/engine.Lookup" }, "state": { "type": "string" } } }, "engine.AgentStatsStatistic": { "type": "object", "properties": { "active_call_id": { "type": "string" }, "agent_id": { "type": "integer", "format": "int32" }, "auditor": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "call_time": { "type": "string", "format": "int64" }, "chat_count": { "type": "integer", "format": "int32" }, "chat_time": { "type": "string", "format": "int64" }, "desc_track": { "type": "boolean" }, "extension": { "type": "string" }, "handles": { "type": "integer", "format": "int32" }, "max_bridged_at": { "type": "string", "format": "int64" }, "max_offering_at": { "type": "string", "format": "int64" }, "missed": { "type": "integer", "format": "int32" }, "name": { "type": "string" }, "occupancy": { "type": "number", "format": "float" }, "offline": { "type": "string", "format": "int64" }, "online": { "type": "string", "format": "int64" }, "pause": { "type": "string", "format": "int64" }, "pause_cause": { "type": "string" }, "queues": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "screen_control": { "type": "boolean" }, "skills": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "status": { "type": "string" }, "status_comment": { "type": "string" }, "status_duration": { "type": "string", "format": "int64" }, "supervisor": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "team": { "$ref": "#/definitions/engine.Lookup" }, "transferred": { "type": "integer", "format": "int64" }, "user": { "$ref": "#/definitions/engine.Lookup" }, "utilization": { "type": "number", "format": "float" } } }, "engine.AgentStatusStatisticItem": { "type": "object", "properties": { "agent_id": { "type": "integer", "format": "int32" }, "auditor": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "chat_count": { "type": "integer", "format": "int64" }, "desc_track": { "type": "boolean" }, "extension": { "type": "string" }, "name": { "type": "string" }, "offline": { "type": "string", "format": "int64" }, "online": { "type": "string", "format": "int64" }, "pause": { "type": "string", "format": "int64" }, "pause_cause": { "type": "string" }, "progressive_count": { "type": "integer", "format": "int64" }, "region": { "$ref": "#/definitions/engine.Lookup" }, "score_count": { "type": "string", "format": "int64" }, "score_optional_avg": { "type": "number", "format": "float" }, "score_required_avg": { "type": "number", "format": "float" }, "screen_control": { "type": "boolean" }, "status": { "type": "string" }, "status_comment": { "type": "string" }, "status_duration": { "type": "string", "format": "int64" }, "supervisor": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "team": { "$ref": "#/definitions/engine.Lookup" }, "user": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.AgentTeam": { "type": "object", "properties": { "admin": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "call_timeout": { "type": "integer", "format": "int32" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "forecast_calculation": { "$ref": "#/definitions/engine.Lookup" }, "id": { "type": "string", "format": "int64" }, "invite_chat_timeout": { "type": "integer", "format": "int32" }, "max_no_answer": { "type": "integer", "format": "int32" }, "name": { "type": "string" }, "no_answer_delay_time": { "type": "integer", "format": "int32" }, "screen_control": { "type": "boolean" }, "strategy": { "type": "string" }, "task_accept_timeout": { "type": "integer", "format": "int32" }, "updated_at": { "type": "string", "format": "int64" }, "wrap_up_time": { "type": "integer", "format": "int32" } } }, "engine.AgentTeamService.UpdateAgentTeamBody": { "type": "object", "properties": { "admin": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "call_timeout": { "type": "integer", "format": "int32" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "forecast_calculation": { "$ref": "#/definitions/engine.Lookup" }, "invite_chat_timeout": { "type": "integer", "format": "int32" }, "max_no_answer": { "type": "integer", "format": "int32" }, "name": { "type": "string" }, "no_answer_delay_time": { "type": "integer", "format": "int32" }, "screen_control": { "type": "boolean" }, "strategy": { "type": "string" }, "task_accept_timeout": { "type": "integer", "format": "int32" }, "wrap_up_time": { "type": "integer", "format": "int32" } } }, "engine.AgentTodayStatisticsResponse": { "type": "object", "properties": { "available": { "type": "integer", "format": "int32" }, "avg_hold_sec": { "type": "number", "format": "float" }, "avg_talk_sec": { "type": "number", "format": "float" }, "call_abandoned": { "type": "integer", "format": "int32" }, "call_dialer_queue": { "type": "integer", "format": "int32" }, "call_handled": { "type": "integer", "format": "int32" }, "call_inbound": { "type": "integer", "format": "int32" }, "call_inbound_queue": { "type": "integer", "format": "int32" }, "call_manual": { "type": "integer", "format": "int32" }, "call_missed": { "type": "integer", "format": "int32" }, "call_queue_missed": { "type": "integer", "format": "int32" }, "chat_accepts": { "type": "integer", "format": "int32" }, "chat_aht": { "type": "number", "format": "float" }, "occupancy": { "type": "number", "format": "float" }, "online": { "type": "integer", "format": "int32" }, "processing": { "type": "integer", "format": "int32" }, "queue_talk_sec": { "type": "integer", "format": "int32" }, "score_count": { "type": "string", "format": "int64" }, "score_optional_avg": { "type": "number", "format": "float" }, "score_optional_sum": { "type": "number", "format": "float" }, "score_required_avg": { "type": "number", "format": "float" }, "score_required_sum": { "type": "number", "format": "float" }, "sum_talk_sec": { "type": "string", "format": "int64" }, "task_accepts": { "type": "integer", "format": "int32" }, "utilization": { "type": "number", "format": "float" }, "voice_mail": { "type": "integer", "format": "int32" } } }, "engine.AgentUser": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" }, "name": { "type": "string" } } }, "engine.AggregateHistoryCallRequest": { "type": "object", "properties": { "agent_description": { "type": "string" }, "agent_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "aggs": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AggregateRequest" } }, "amd_result": { "type": "array", "items": { "type": "string" } }, "answered_at": { "$ref": "#/definitions/engine.FilterBetween" }, "cause": { "type": "array", "items": { "type": "string" } }, "contact_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "created_at": { "$ref": "#/definitions/engine.FilterBetween" }, "dependency_id": { "type": "string" }, "direction": { "type": "string" }, "directions": { "type": "array", "items": { "type": "string" } }, "domain_id": { "type": "string", "format": "int64" }, "duration": { "$ref": "#/definitions/engine.FilterBetween" }, "fts": { "type": "string" }, "gateway_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "has_file": { "type": "boolean" }, "has_transcript": { "type": "boolean" }, "id": { "type": "array", "items": { "type": "string" } }, "member_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "missed": { "type": "boolean" }, "number": { "type": "string" }, "page": { "type": "integer", "format": "int32" }, "parent_id": { "type": "string" }, "q": { "type": "string" }, "queue_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "size": { "type": "integer", "format": "int32" }, "skip_parent": { "type": "boolean" }, "stored_at": { "$ref": "#/definitions/engine.FilterBetween" }, "tags": { "type": "array", "items": { "type": "string" } }, "team_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "transfer_from": { "type": "array", "items": { "type": "string" } }, "transfer_to": { "type": "array", "items": { "type": "string" } }, "user_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.AggregateRequest": { "type": "object", "properties": { "avg": { "type": "array", "items": { "type": "string" } }, "count": { "type": "array", "items": { "type": "string" } }, "group": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AggregateRequest.Group" } }, "limit": { "type": "integer", "format": "int32" }, "max": { "type": "array", "items": { "type": "string" } }, "min": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "sort": { "type": "array", "items": { "type": "string" } }, "sum": { "type": "array", "items": { "type": "string" } } } }, "engine.AggregateRequest.Group": { "type": "object", "properties": { "aggregate": { "type": "string" }, "desc": { "type": "boolean" }, "field": { "type": "string" }, "id": { "type": "string" }, "interval": { "type": "string" }, "top": { "type": "integer", "format": "int32" } } }, "engine.AggregateResult": { "type": "object", "properties": { "data": {}, "name": { "type": "string" } } }, "engine.AssignAttemptResponse": { "type": "object" }, "engine.Attempt": { "type": "object", "properties": { "agent": { "$ref": "#/definitions/engine.Lookup" }, "agent_call_id": { "type": "string" }, "attempts": { "type": "integer", "format": "int32" }, "bridged_at": { "type": "string", "format": "int64" }, "bucket": { "$ref": "#/definitions/engine.Lookup" }, "channel": { "type": "string" }, "destination": { "$ref": "#/definitions/engine.MemberCommunication" }, "display": { "type": "string" }, "id": { "type": "string", "format": "int64" }, "joined_at": { "type": "string", "format": "int64" }, "last_state_change": { "type": "string", "format": "int64" }, "leaving_at": { "type": "string", "format": "int64" }, "list": { "title": "black list ?", "$ref": "#/definitions/engine.Lookup" }, "member": { "$ref": "#/definitions/engine.Lookup" }, "member_call_id": { "type": "string" }, "offering_at": { "type": "string", "format": "int64" }, "position": { "type": "integer", "format": "int32" }, "queue": { "$ref": "#/definitions/engine.Lookup" }, "reporting_at": { "type": "string", "format": "int64" }, "resource": { "$ref": "#/definitions/engine.Lookup" }, "result": { "type": "string" }, "state": { "type": "string" }, "timeout": { "type": "string", "format": "int64" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.AttemptHistory": { "type": "object", "properties": { "agent": { "$ref": "#/definitions/engine.Lookup" }, "agent_call_id": { "type": "string" }, "amd_result": { "type": "string" }, "attempts": { "type": "integer", "format": "int32" }, "bridged_at": { "type": "string", "format": "int64" }, "bucket": { "$ref": "#/definitions/engine.Lookup" }, "channel": { "type": "string" }, "destination": { "$ref": "#/definitions/engine.MemberCommunication" }, "display": { "type": "string" }, "id": { "type": "string", "format": "int64" }, "joined_at": { "type": "string", "format": "int64" }, "leaving_at": { "type": "string", "format": "int64" }, "list": { "title": "black list ?", "$ref": "#/definitions/engine.Lookup" }, "member": { "$ref": "#/definitions/engine.Lookup" }, "member_call_id": { "type": "string" }, "offered_agents": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "offering_at": { "type": "string", "format": "int64" }, "position": { "type": "integer", "format": "int32" }, "queue": { "$ref": "#/definitions/engine.Lookup" }, "reporting_at": { "type": "string", "format": "int64" }, "resource": { "$ref": "#/definitions/engine.Lookup" }, "result": { "type": "string" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.AttemptRenewalResultResponse": { "type": "object" }, "engine.AttemptResultResponse": { "type": "object", "properties": { "status": { "type": "string" } } }, "engine.AuditForm": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "description": { "type": "string" }, "editable": { "type": "boolean", "title": "bool archive = 11;" }, "enabled": { "type": "boolean" }, "id": { "type": "integer", "format": "int32" }, "name": { "type": "string" }, "questions": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Question" } }, "teams": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.AuditFormService.PatchAuditFormBody": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "fields": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "questions": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Question" } }, "teams": { "type": "array", "title": "bool archive = 8;", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } } } }, "engine.AuditFormService.UpdateAuditFormBody": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "name": { "type": "string" }, "questions": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Question" } }, "teams": { "type": "array", "title": "bool archive = 7;", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } } } }, "engine.AuditFormService.UpdateAuditRateBody": { "type": "object", "properties": { "answers": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.UpdateQuestionAnswerRequest" } }, "comment": { "type": "string" } } }, "engine.AuditQuestionType": { "type": "string", "default": "question_default", "enum": [ "question_default", "question_score", "question_option", "question_yes" ] }, "engine.AuditRate": { "type": "object", "properties": { "answers": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.QuestionAnswer" } }, "comment": { "type": "string" }, "conversation_id": { "type": "string" }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "critical_count": { "type": "string", "format": "int64" }, "form": { "$ref": "#/definitions/engine.Lookup" }, "id": { "type": "string", "format": "int64" }, "questions": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Question" } }, "rated_user": { "$ref": "#/definitions/engine.Lookup" }, "score_optional": { "type": "number", "format": "float" }, "score_required": { "type": "number", "format": "float" }, "select_yes_count": { "type": "string", "format": "int64" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.AvailableSystemSetting": { "type": "object", "properties": { "name": { "type": "string" } } }, "engine.BlindTransferCallResponse": { "type": "object" }, "engine.Bucket": { "type": "object", "properties": { "description": { "type": "string" }, "id": { "type": "string", "format": "int64" }, "name": { "type": "string" } } }, "engine.BucketService.UpdateBucketBody": { "type": "object", "properties": { "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "name": { "type": "string" } } }, "engine.Calendar": { "type": "object", "properties": { "accepts": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AcceptOfDay" } }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "end_at": { "type": "string", "format": "int64" }, "excepts": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.ExceptDate" } }, "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "specials": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AcceptOfDay" } }, "start_at": { "type": "string", "format": "int64" }, "timezone": { "$ref": "#/definitions/engine.Lookup" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.CalendarService.UpdateCalendarBody": { "type": "object", "properties": { "accepts": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AcceptOfDay" } }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "end_at": { "type": "string", "format": "int64" }, "excepts": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.ExceptDate" } }, "name": { "type": "string" }, "specials": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AcceptOfDay" } }, "start_at": { "type": "string", "format": "int64" }, "timezone": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.CallAnnotation": { "type": "object", "properties": { "call_id": { "type": "string" }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "end_sec": { "type": "integer", "format": "int32" }, "file_id": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "note": { "type": "string" }, "start_sec": { "type": "integer", "format": "int32" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.CallFile": { "type": "object", "properties": { "channel": { "type": "string" }, "id": { "type": "string", "format": "int64" }, "mime_type": { "type": "string" }, "name": { "type": "string" }, "size": { "type": "string", "format": "int64" }, "start_at": { "type": "string", "format": "int64" }, "start_record": { "type": "string" }, "stop_at": { "type": "string", "format": "int64" }, "type": { "$ref": "#/definitions/engine.CallFileType" } } }, "engine.CallFileType": { "type": "string", "default": "file_type_empty", "enum": [ "file_type_empty", "file_type_screenshot", "file_type_screensharing", "file_type_audio", "file_type_video", "file_type_pdf" ] }, "engine.CallHold": { "type": "object", "properties": { "sec": { "type": "number", "format": "float" }, "start": { "type": "string", "format": "int64" }, "stop": { "type": "string", "format": "int64" } } }, "engine.CallService.BlindTransferCallBody": { "type": "object", "properties": { "app_id": { "type": "string" }, "destination": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" } } }, "engine.CallService.CreateCallAnnotationBody": { "type": "object", "properties": { "end_sec": { "type": "integer", "format": "int32" }, "file_id": { "type": "string", "format": "int64" }, "note": { "type": "string" }, "start_sec": { "type": "integer", "format": "int32" } } }, "engine.CallService.DtmfCallBody": { "type": "object", "properties": { "app_id": { "type": "string" }, "digit": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" } } }, "engine.CallService.EavesdropCallBody": { "type": "object", "properties": { "app_id": { "type": "string" }, "control": { "type": "boolean" }, "from": { "$ref": "#/definitions/engine.EavesdropCallRequest.EndpointRequest" }, "listen_a": { "type": "boolean" }, "listen_b": { "type": "boolean" }, "whisper_a": { "type": "boolean" }, "whisper_b": { "type": "boolean" } } }, "engine.CallService.HangupCallBody": { "type": "object", "properties": { "app_id": { "type": "string" }, "cause": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" } } }, "engine.CallService.HoldCallBody": { "type": "object", "properties": { "app_id": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" } } }, "engine.CallService.PatchHistoryCallBody": { "type": "object", "properties": { "hide_missed": { "type": "boolean" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.CallService.RedialCallBody": { "type": "object" }, "engine.CallService.SetVariablesCallBody": { "type": "object", "properties": { "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.CallService.UnHoldCallBody": { "type": "object", "properties": { "app_id": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" } } }, "engine.CallService.UpdateCallAnnotationBody": { "type": "object", "properties": { "end_sec": { "type": "integer", "format": "int32" }, "note": { "type": "string" }, "start_sec": { "type": "integer", "format": "int32" } } }, "engine.ChatPlan": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "id": { "type": "integer", "format": "int32" }, "name": { "type": "string" }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.ChatTag": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tag": { "type": "string" } } }, "engine.CommunicationChannels": { "type": "string", "default": "Undefined", "enum": [ "Undefined", "Phone", "Email", "Messaging" ] }, "engine.CommunicationType": { "type": "object", "properties": { "channel": { "$ref": "#/definitions/engine.CommunicationChannels" }, "code": { "type": "string" }, "default": { "type": "boolean" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "name": { "type": "string" } } }, "engine.CommunicationTypeRequest": { "type": "object", "properties": { "channel": { "$ref": "#/definitions/engine.CommunicationChannels" }, "code": { "type": "string" }, "default": { "type": "boolean" }, "description": { "type": "string" }, "name": { "type": "string" } } }, "engine.CommunicationTypeService.PatchCommunicationTypeBody": { "type": "object", "properties": { "channel": { "$ref": "#/definitions/engine.CommunicationChannels" }, "code": { "type": "string" }, "default": { "type": "boolean" }, "description": { "type": "string" }, "fields": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" } } }, "engine.CommunicationTypeService.UpdateCommunicationTypeBody": { "type": "object", "properties": { "channel": { "$ref": "#/definitions/engine.CommunicationChannels" }, "code": { "type": "string" }, "default": { "type": "boolean" }, "description": { "type": "string" }, "name": { "type": "string" } } }, "engine.ConfirmPushResponse": { "type": "object" }, "engine.CreateAgentPauseCauseRequest": { "type": "object", "properties": { "allow_admin": { "type": "boolean" }, "allow_agent": { "type": "boolean" }, "allow_supervisor": { "type": "boolean" }, "description": { "type": "string" }, "limit_min": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "teams": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } } } }, "engine.CreateAgentRequest": { "type": "object", "properties": { "allow_channels": { "type": "array", "items": { "type": "string" } }, "auditor": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "chat_count": { "type": "integer", "format": "int64" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "extra_chat_count": { "type": "integer", "format": "int64" }, "greeting_media": { "$ref": "#/definitions/engine.Lookup" }, "is_supervisor": { "type": "boolean" }, "progressive_count": { "type": "integer", "format": "int32" }, "region": { "$ref": "#/definitions/engine.Lookup" }, "screen_control": { "type": "boolean" }, "supervisor": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "task_count": { "type": "integer", "format": "int64" }, "team": { "$ref": "#/definitions/engine.Lookup" }, "user": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.CreateAgentSkillBulkItem": { "type": "object", "properties": { "capacity": { "type": "integer", "format": "int32" }, "domain_id": { "type": "string", "format": "int64" }, "enabled": { "type": "boolean" }, "skill": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.CreateAgentSkillsResponse": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "int64" } } } }, "engine.CreateAgentTeamRequest": { "type": "object", "properties": { "admin": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "call_timeout": { "type": "integer", "format": "int32" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "forecast_calculation": { "$ref": "#/definitions/engine.Lookup" }, "invite_chat_timeout": { "type": "integer", "format": "int32" }, "max_no_answer": { "type": "integer", "format": "int32" }, "name": { "type": "string" }, "no_answer_delay_time": { "type": "integer", "format": "int32" }, "screen_control": { "type": "boolean" }, "strategy": { "type": "string" }, "task_accept_timeout": { "type": "integer", "format": "int32" }, "wrap_up_time": { "type": "integer", "format": "int32" } } }, "engine.CreateAttemptResponse": { "type": "object", "properties": { "attempt_id": { "type": "string", "format": "int64" } } }, "engine.CreateAuditFormRateRequest": { "type": "object", "properties": { "answers": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.CreateQuestionAnswerRequest" } }, "call_id": { "type": "string" }, "comment": { "type": "string" }, "conversation_id": { "type": "string" }, "form": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.CreateAuditFormRequest": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "name": { "type": "string" }, "questions": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Question" } }, "teams": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } } } }, "engine.CreateBucketRequest": { "type": "object", "properties": { "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "name": { "type": "string" } } }, "engine.CreateCalendarRequest": { "type": "object", "properties": { "accepts": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AcceptOfDay" } }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "end_at": { "type": "string", "format": "int64" }, "excepts": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.ExceptDate" } }, "name": { "type": "string" }, "specials": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AcceptOfDay" } }, "start_at": { "type": "string", "format": "int64" }, "timezone": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.CreateCallRequest": { "type": "object", "properties": { "destination": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "from": { "$ref": "#/definitions/engine.CreateCallRequest.EndpointRequest" }, "params": { "$ref": "#/definitions/engine.CreateCallRequest.CallSettings" }, "to": { "$ref": "#/definitions/engine.CreateCallRequest.EndpointRequest" } } }, "engine.CreateCallRequest.CallSettings": { "type": "object", "properties": { "cancel_distribute": { "type": "boolean" }, "contact_id": { "type": "string", "format": "int64" }, "disable_auto_answer": { "type": "boolean" }, "disable_stun": { "type": "boolean" }, "display": { "type": "string" }, "hide_number": { "type": "boolean" }, "is_online": { "type": "boolean" }, "timeout": { "type": "integer", "format": "int32" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.CreateCallRequest.EndpointRequest": { "type": "object", "properties": { "app_id": { "type": "string" }, "extension": { "type": "string" }, "id": { "type": "string", "format": "int64" }, "type": { "type": "string" } } }, "engine.CreateCallResponse": { "type": "object", "properties": { "id": { "type": "string" } } }, "engine.CreateChatPlanRequest": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "name": { "type": "string" }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.CreateEmailProfileRequest": { "type": "object", "properties": { "auth_type": { "$ref": "#/definitions/engine.EmailAuthType" }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "fetch_interval": { "type": "integer", "format": "int32" }, "imap_host": { "type": "string" }, "imap_port": { "type": "integer", "format": "int32" }, "listen": { "type": "boolean" }, "login": { "type": "string" }, "mailbox": { "type": "string" }, "name": { "type": "string" }, "params": { "$ref": "#/definitions/engine.EmailProfileParams" }, "password": { "type": "string" }, "schema": { "$ref": "#/definitions/engine.Lookup" }, "smtp_host": { "type": "string" }, "smtp_port": { "type": "integer", "format": "int32" } } }, "engine.CreateListRequest": { "type": "object", "properties": { "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "name": { "type": "string" } } }, "engine.CreateMemberBulkItem": { "type": "object", "properties": { "agent": { "$ref": "#/definitions/engine.Lookup" }, "bucket": { "$ref": "#/definitions/engine.Lookup" }, "communications": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.MemberCommunicationCreateRequest" } }, "expire_at": { "type": "string", "format": "int64" }, "min_offering_at": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "priority": { "type": "integer", "format": "int32" }, "skill": { "$ref": "#/definitions/engine.Lookup" }, "timezone": { "$ref": "#/definitions/engine.Lookup" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.CreateOnlineSkillsRequest": { "description": "Request for creating online skills.", "type": "object", "properties": { "description": { "description": "Optional description.", "type": "string" }, "name": { "description": "Display name.", "type": "string" }, "skills": { "description": "Skills included in the entry.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } } } }, "engine.CreateOnlineSkillsResponse": { "description": "Response containing the created online skills.", "type": "object", "properties": { "item": { "description": "Created online skills item.", "$ref": "#/definitions/engine.OnlineSkills" } } }, "engine.CreateOutboundResourceDisplayRequest": { "type": "object", "properties": { "display": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "resource_id": { "type": "string", "format": "int64" } } }, "engine.CreateOutboundResourceGroupRequest": { "type": "object", "properties": { "communication": { "$ref": "#/definitions/engine.Lookup" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "strategy": { "type": "string" }, "time": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.OutboundResourceTimeRange" } } } }, "engine.CreateOutboundResourceRequest": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "error_ids": { "type": "array", "items": { "type": "string" } }, "failure_dial_delay": { "type": "integer", "format": "int64" }, "gateway": { "$ref": "#/definitions/engine.Lookup" }, "limit": { "type": "integer", "format": "int32" }, "max_successively_errors": { "type": "integer", "format": "int32" }, "name": { "type": "string" }, "number": { "type": "string" }, "parameters": { "$ref": "#/definitions/engine.OutboundResourceParameters" }, "patterns": { "type": "array", "items": { "type": "string" } }, "reserve": { "type": "boolean" }, "rps": { "type": "integer", "format": "int32" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.CreatePresetQueryRequest": { "type": "object", "properties": { "description": { "type": "string" }, "name": { "type": "string" }, "preset": {}, "section": { "type": "string" } } }, "engine.CreateQuestionAnswerRequest": { "type": "object", "properties": { "score": { "type": "number", "format": "float" } } }, "engine.CreateQueueRequest": { "type": "object", "properties": { "after_schema": { "$ref": "#/definitions/engine.Lookup" }, "calendar": { "$ref": "#/definitions/engine.Lookup" }, "description": { "type": "string" }, "dnc_list": { "$ref": "#/definitions/engine.Lookup" }, "do_schema": { "$ref": "#/definitions/engine.Lookup" }, "domain_id": { "type": "string", "format": "int64" }, "enabled": { "type": "boolean" }, "form_schema": { "title": "deprecated", "$ref": "#/definitions/engine.Lookup" }, "grantee": { "$ref": "#/definitions/engine.Lookup" }, "name": { "type": "string" }, "payload": {}, "priority": { "type": "integer", "format": "int32" }, "processing": { "type": "boolean", "title": "deprecated" }, "processing_renewal_sec": { "type": "integer", "format": "int64", "title": "deprecated" }, "processing_sec": { "type": "integer", "format": "int64", "title": "deprecated" }, "ringtone": { "$ref": "#/definitions/engine.Lookup" }, "schema": { "$ref": "#/definitions/engine.Lookup" }, "sec_locate_agent": { "type": "integer", "format": "int32" }, "sticky_agent": { "type": "boolean" }, "strategy": { "type": "string" }, "tags": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Tag" } }, "task_processing": { "$ref": "#/definitions/engine.TaskProcessing" }, "team": { "$ref": "#/definitions/engine.Lookup" }, "timeout": { "type": "integer", "format": "int32" }, "type": { "type": "integer", "format": "int32" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.CreateQuickReplyRequest": { "type": "object", "properties": { "article": { "$ref": "#/definitions/engine.Lookup" }, "name": { "type": "string" }, "queues": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "teams": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "text": { "type": "string" } } }, "engine.CreateRegionRequest": { "type": "object", "properties": { "description": { "type": "string" }, "name": { "type": "string" }, "timezone": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.CreateRoutingOutboundCallRequest": { "type": "object", "properties": { "description": { "type": "string" }, "disabled": { "type": "boolean" }, "domain_id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "pattern": { "type": "string" }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.CreateRoutingSchemaRequest": { "type": "object", "properties": { "debug": { "type": "boolean" }, "description": { "type": "string" }, "editor": { "type": "boolean" }, "name": { "type": "string" }, "payload": {}, "schema": {}, "tags": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.SchemaTag" } }, "type": { "$ref": "#/definitions/engine.RoutingSchemaType" } } }, "engine.CreateRoutingVariableRequest": { "type": "object", "properties": { "domain_id": { "type": "string", "format": "int64" }, "key": { "type": "string" }, "value": { "type": "string" } } }, "engine.CreateSchemaVariableRequest": { "type": "object", "properties": { "encrypt": { "type": "boolean" }, "name": { "type": "string" }, "value": {} } }, "engine.CreateSkillAgentResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.SkillAgentItem" } } } }, "engine.CreateSkillRequest": { "type": "object", "properties": { "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "name": { "type": "string" } } }, "engine.CreateSystemSettingRequest": { "type": "object", "properties": { "name": { "$ref": "#/definitions/engine.SystemSettingName" }, "value": {} } }, "engine.CreateTriggerRequest": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "event": { "$ref": "#/definitions/engine.TriggerEventType" }, "expression": { "type": "string" }, "name": { "type": "string" }, "object": { "$ref": "#/definitions/engine.TriggerObjectType" }, "schema": { "$ref": "#/definitions/engine.Lookup" }, "timeout": { "type": "integer", "format": "int32" }, "timezone": { "$ref": "#/definitions/engine.Lookup" }, "type": { "$ref": "#/definitions/engine.TriggerType" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.CreateWebHookRequest": { "type": "object", "properties": { "authorization": { "type": "string" }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "name": { "type": "string" }, "origin": { "type": "array", "items": { "type": "string" } }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.DefaultDeviceConfigResponse": { "type": "object", "properties": { "sip": { "$ref": "#/definitions/engine.DefaultDeviceConfigResponse.SipDeviceConfig" }, "webrtc": { "$ref": "#/definitions/engine.DefaultDeviceConfigResponse.WebRTCDeviceConfig" } } }, "engine.DefaultDeviceConfigResponse.SipDeviceConfig": { "type": "object", "properties": { "auth": { "type": "string" }, "domain": { "type": "string" }, "extension": { "type": "string" }, "password": { "type": "string" }, "proxy": { "type": "string" } } }, "engine.DefaultDeviceConfigResponse.WebRTCDeviceConfig": { "type": "object", "properties": { "authorization_user": { "type": "string" }, "display_name": { "type": "string" }, "extension": { "type": "string" }, "ha1": { "type": "string" }, "realm": { "type": "string" }, "server": { "type": "string" }, "uri": { "type": "string" } } }, "engine.DeleteAllMembersRequest": { "type": "object", "properties": { "agent_id": { "type": "array", "items": { "type": "integer", "format": "int32" } }, "attempts": { "$ref": "#/definitions/engine.FilterBetween" }, "bucket_id": { "type": "array", "items": { "type": "integer", "format": "int32" } }, "created_at": { "$ref": "#/definitions/engine.FilterBetween" }, "destination": { "type": "string" }, "id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "name": { "type": "string" }, "numbers": { "type": "array", "items": { "type": "string" } }, "offering_at": { "$ref": "#/definitions/engine.FilterBetween" }, "priority": { "$ref": "#/definitions/engine.FilterBetween" }, "q": { "type": "string" }, "queue_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "size": { "type": "integer", "format": "int32" }, "sort": { "type": "string" }, "stop_cause": { "type": "array", "items": { "type": "string" } }, "variables": { "type": "object", "additionalProperties": { "type": "string" } }, "without_members": { "type": "boolean" } } }, "engine.DeleteSkillAgentResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.SkillAgentItem" } } } }, "engine.DtmfCallResponse": { "type": "object" }, "engine.EavesdropCallRequest.EndpointRequest": { "type": "object", "properties": { "app_id": { "type": "string" }, "extension": { "type": "string" }, "id": { "type": "string", "format": "int64" }, "type": { "type": "string" } } }, "engine.EmailAuthType": { "type": "string", "default": "EmailAuthTypeUndefined", "enum": [ "EmailAuthTypeUndefined", "Plain", "OAuth2" ] }, "engine.EmailProfile": { "type": "object", "properties": { "activity_at": { "type": "string", "format": "int64" }, "auth_type": { "$ref": "#/definitions/engine.EmailAuthType" }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "fetch_error": { "type": "string" }, "fetch_interval": { "type": "integer", "format": "int32" }, "id": { "type": "string", "format": "int64" }, "imap_host": { "type": "string" }, "imap_port": { "type": "integer", "format": "int32" }, "listen": { "type": "boolean" }, "logged": { "type": "boolean" }, "login": { "type": "string" }, "mailbox": { "type": "string" }, "name": { "type": "string" }, "params": { "$ref": "#/definitions/engine.EmailProfileParams" }, "password": { "type": "string" }, "schema": { "$ref": "#/definitions/engine.Lookup" }, "smtp_host": { "type": "string" }, "smtp_port": { "type": "integer", "format": "int32" }, "state": { "type": "string" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.EmailProfileParams": { "type": "object", "properties": { "oauth2": { "$ref": "#/definitions/engine.EmailProfileParams.OAuth2" } } }, "engine.EmailProfileParams.OAuth2": { "type": "object", "properties": { "client_id": { "type": "string" }, "client_secret": { "type": "string" }, "redirect_url": { "type": "string" } } }, "engine.EmailProfileService.PatchEmailProfileBody": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "fetch_interval": { "type": "integer", "format": "int32" }, "fields": { "type": "array", "items": { "type": "string" } }, "imap_host": { "type": "string" }, "imap_port": { "type": "integer", "format": "int32" }, "listen": { "type": "boolean" }, "login": { "type": "string" }, "mailbox": { "type": "string" }, "name": { "type": "string" }, "password": { "type": "string" }, "schema": { "$ref": "#/definitions/engine.Lookup" }, "smtp_host": { "type": "string" }, "smtp_port": { "type": "integer", "format": "int32" } } }, "engine.EmailProfileService.UpdateEmailProfileBody": { "type": "object", "properties": { "auth_type": { "$ref": "#/definitions/engine.EmailAuthType" }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "fetch_interval": { "type": "integer", "format": "int32" }, "imap_host": { "type": "string" }, "imap_port": { "type": "integer", "format": "int32" }, "listen": { "type": "boolean" }, "login": { "type": "string" }, "mailbox": { "type": "string" }, "name": { "type": "string" }, "params": { "$ref": "#/definitions/engine.EmailProfileParams" }, "password": { "type": "string" }, "schema": { "$ref": "#/definitions/engine.Lookup" }, "smtp_host": { "type": "string" }, "smtp_port": { "type": "integer", "format": "int32" } } }, "engine.EmptyResponse": { "type": "object" }, "engine.Endpoint": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "number": { "type": "string" }, "type": { "type": "string" } } }, "engine.ExceptDate": { "type": "object", "properties": { "date": { "type": "string", "format": "int64" }, "disabled": { "type": "boolean" }, "name": { "type": "string" }, "repeat": { "type": "boolean" }, "work_start": { "type": "integer", "format": "int32" }, "work_stop": { "type": "integer", "format": "int32" }, "working": { "type": "boolean" } } }, "engine.ExportMembersResponse": { "type": "object", "properties": { "data": { "type": "string", "format": "byte", "title": "File data chunk" } } }, "engine.Feedback": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "description": { "type": "string" }, "payload": { "type": "object", "additionalProperties": { "type": "string" } }, "rating": { "type": "number", "format": "float" } } }, "engine.FilterBetween": { "type": "object", "properties": { "from": { "type": "string", "format": "int64" }, "to": { "type": "string", "format": "int64" } } }, "engine.ForAgentPauseCause": { "type": "object", "properties": { "duration_min": { "type": "integer", "format": "int64" }, "id": { "type": "integer", "format": "int64" }, "limit_min": { "type": "integer", "format": "int64" }, "name": { "type": "string" } } }, "engine.ForAgentPauseCauseList": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.ForAgentPauseCause" } } } }, "engine.GenerateFeedbackResponse": { "type": "object", "properties": { "key": { "type": "string" } } }, "engine.GetOnlineSkillsResponse": { "description": "Response containing the requested online skills.", "type": "object", "properties": { "item": { "description": "Requested online skills item.", "$ref": "#/definitions/engine.OnlineSkills" } } }, "engine.GetQueuesGlobalStateResponse": { "type": "object", "properties": { "is_all_enabled": { "type": "boolean" }, "potential_rows": { "type": "integer", "format": "int64" } } }, "engine.HangupCallResponse": { "type": "object" }, "engine.HistoryCall": { "type": "object", "properties": { "agent": { "$ref": "#/definitions/engine.Lookup" }, "agent_description": { "type": "string" }, "allow_evaluation": { "type": "boolean" }, "amd_ai_logs": { "type": "array", "items": { "type": "string" } }, "amd_ai_result": { "type": "string" }, "amd_result": { "type": "string" }, "annotations": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.CallAnnotation" } }, "answered_at": { "type": "string", "format": "int64" }, "app_id": { "type": "string" }, "attempt_id": { "type": "string", "format": "int64" }, "bill_sec": { "type": "integer", "format": "int32" }, "blind_transfer": { "type": "string" }, "blind_transfers": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.HistoryCall.BlindTransfer" } }, "bridged_at": { "type": "string", "format": "int64" }, "bridged_id": { "type": "string" }, "cause": { "type": "string" }, "contact": { "$ref": "#/definitions/engine.Lookup" }, "conversation_id": { "type": "string" }, "created_at": { "type": "string", "format": "int64" }, "destination": { "type": "string" }, "destination_name": { "type": "string" }, "direction": { "type": "string" }, "display": { "type": "string" }, "duration": { "type": "integer", "format": "int32" }, "extension": { "type": "string" }, "files": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.CallFile" } }, "files_job": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.HistoryFileJob" } }, "form_fields": {}, "forms": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.HistoryCall.CallForm" } }, "from": { "$ref": "#/definitions/engine.Endpoint" }, "from_number": { "type": "string" }, "gateway": { "$ref": "#/definitions/engine.Lookup" }, "grantee": { "$ref": "#/definitions/engine.Lookup" }, "hangup_at": { "type": "string", "format": "int64" }, "hangup_by": { "type": "string" }, "hangup_disposition": { "type": "string" }, "hangup_phrase": { "type": "string" }, "has_children": { "type": "boolean" }, "hold": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.CallHold" } }, "hold_sec": { "type": "integer", "format": "int32" }, "id": { "type": "string" }, "joined_at": { "type": "string", "format": "int64" }, "leaving_at": { "type": "string", "format": "int64" }, "meeting_id": { "type": "string" }, "member": { "$ref": "#/definitions/engine.Lookup" }, "member_id": { "type": "string", "format": "int64" }, "parent_id": { "type": "string" }, "quality_metrics": { "$ref": "#/definitions/engine.HistoryCall.QualityMetrics" }, "queue": { "$ref": "#/definitions/engine.Lookup" }, "queue_bridged_at": { "type": "string", "format": "int64" }, "queue_duration_sec": { "type": "integer", "format": "int32" }, "queue_wait_sec": { "type": "integer", "format": "int32" }, "rate_id": { "type": "string", "format": "int64" }, "rated_by": { "$ref": "#/definitions/engine.Lookup" }, "rated_user": { "$ref": "#/definitions/engine.Lookup" }, "reporting_at": { "type": "string", "format": "int64" }, "reporting_sec": { "type": "integer", "format": "int32" }, "result": { "type": "string" }, "schemas": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "score_optional": { "type": "number", "format": "float" }, "score_required": { "type": "number", "format": "float" }, "sip_code": { "type": "integer", "format": "int32" }, "stored_at": { "type": "string", "format": "int64" }, "tags": { "type": "array", "items": { "type": "string" } }, "talk_sec": { "type": "integer", "format": "int32" }, "team": { "$ref": "#/definitions/engine.Lookup" }, "to": { "$ref": "#/definitions/engine.Endpoint" }, "to_number": { "type": "string" }, "transcripts": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.TranscriptLookup" } }, "transfer_from": { "type": "string" }, "transfer_to": { "type": "string" }, "type": { "type": "string" }, "user": { "$ref": "#/definitions/engine.Lookup" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } }, "wait_sec": { "type": "integer", "format": "int32" } } }, "engine.HistoryCall.BlindTransfer": { "type": "object", "properties": { "number": { "type": "string" }, "time": { "type": "string", "format": "int64" }, "user": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.HistoryCall.CallForm": { "type": "object", "properties": { "agent": { "$ref": "#/definitions/engine.Lookup" }, "form_fields": {}, "reporting_at": { "type": "string", "format": "int64" } } }, "engine.HistoryCall.QualityMetrics": { "type": "object", "properties": { "jitter_avg": { "type": "number", "format": "float", "title": "Jitter - показник коливання затримки пакетів" }, "jitter_max": { "type": "number", "format": "float" }, "jitter_max_at": { "type": "integer", "format": "int32" }, "jitter_min": { "type": "number", "format": "float" }, "jitter_min_at": { "type": "integer", "format": "int32" }, "mos_avg": { "type": "number", "format": "float", "title": "Mean Opinion Score (MOS) - оцінка якості передачі голосу" }, "mos_max": { "type": "number", "format": "float" }, "mos_max_at": { "type": "integer", "format": "int32" }, "mos_min": { "type": "number", "format": "float" }, "mos_min_at": { "type": "integer", "format": "int32" }, "packetloss_avg": { "type": "number", "format": "float", "title": "Packet Loss - відсоток втрачених пакетів" }, "packetloss_max": { "type": "number", "format": "float" }, "packetloss_max_at": { "type": "integer", "format": "int32" }, "packetloss_min": { "type": "number", "format": "float" }, "packetloss_min_at": { "type": "integer", "format": "int32" }, "roundtrip_avg": { "type": "number", "format": "float", "title": "Round Trip Time (RTT) - час проходження сигналу в обидва боки (мс)" }, "roundtrip_max": { "type": "number", "format": "float" }, "roundtrip_max_at": { "type": "integer", "format": "int32" }, "roundtrip_min": { "type": "number", "format": "float" }, "roundtrip_min_at": { "type": "integer", "format": "int32" }, "sip_id": { "type": "string", "title": "Унікальний ідентифікатор сесії" } } }, "engine.HistoryFileJob": { "type": "object", "properties": { "action": { "$ref": "#/definitions/engine.HistoryFileJob.HistoryFileJobAction" }, "created_at": { "type": "string", "format": "int64" }, "error_detail": { "type": "string" }, "file_id": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "state": { "$ref": "#/definitions/engine.HistoryFileJob.HistoryFileJobState" } } }, "engine.HistoryFileJob.HistoryFileJobAction": { "type": "string", "default": "undefined", "enum": [ "undefined", "STT", "delete" ] }, "engine.HistoryFileJob.HistoryFileJobState": { "type": "string", "title": "- error: TODO", "default": "idle", "enum": [ "idle", "active", "finished", "error" ] }, "engine.HoldCallResponse": { "type": "object", "properties": { "state": { "type": "string" } } }, "engine.List": { "type": "object", "properties": { "count": { "type": "string", "format": "int64" }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.ListAgent": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Agent" } }, "next": { "type": "boolean" } } }, "engine.ListAgentInQueue": { "description": "ListAgentInQueue contains search results\nand pagination metadata.", "type": "object", "properties": { "items": { "description": "List of agent-to-queue assignments.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AgentInQueue" } }, "next": { "description": "Indicates weather more records are available.", "type": "boolean" } } }, "engine.ListAgentInTeam": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AgentInTeam" } }, "next": { "type": "boolean" } } }, "engine.ListAgentPauseCause": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AgentPauseCause" } }, "next": { "type": "boolean" } } }, "engine.ListAgentSkill": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AgentSkillItem" } }, "next": { "type": "boolean" } } }, "engine.ListAgentStateHistory": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AgentState" } }, "next": { "type": "boolean" } } }, "engine.ListAgentStatsStatistic": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AgentStatsStatistic" } }, "next": { "type": "boolean" } } }, "engine.ListAgentTeam": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AgentTeam" } }, "next": { "type": "boolean" } } }, "engine.ListAgentUser": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AgentUser" } }, "next": { "type": "boolean" } } }, "engine.ListAggregate": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AggregateResult" } } } }, "engine.ListAttempt": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Attempt" } }, "next": { "type": "boolean" } } }, "engine.ListAuditForm": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AuditForm" } }, "next": { "type": "boolean" } } }, "engine.ListAuditRate": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AuditRate" } }, "next": { "type": "boolean" } } }, "engine.ListAvailableSystemSetting": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AvailableSystemSetting" } }, "next": { "type": "boolean" } } }, "engine.ListBucket": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Bucket" } }, "next": { "type": "boolean" } } }, "engine.ListCalendar": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Calendar" } }, "next": { "type": "boolean" } } }, "engine.ListCall": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.ActiveCall" } }, "next": { "type": "boolean" } } }, "engine.ListChatPlan": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.ChatPlan" } }, "next": { "type": "boolean" } } }, "engine.ListChatTag": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.ChatTag" } }, "next": { "type": "boolean" } } }, "engine.ListCommunication": { "type": "object", "properties": { "description": { "type": "string" }, "expire_at": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "list_id": { "type": "string", "format": "int64" }, "number": { "type": "string" } } }, "engine.ListCommunicationType": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.CommunicationType" } }, "next": { "type": "boolean" } } }, "engine.ListEmailProfile": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.EmailProfile" } }, "next": { "type": "boolean" } } }, "engine.ListHistoryAttempt": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.AttemptHistory" } }, "next": { "type": "boolean" } } }, "engine.ListHistoryCall": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.HistoryCall" } }, "next": { "type": "boolean" } } }, "engine.ListMember": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.MemberInQueue" } }, "next": { "type": "boolean" } } }, "engine.ListMemberAttempt": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.MemberAttempt" } }, "next": { "type": "boolean" } } }, "engine.ListOfList": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.List" } }, "next": { "type": "boolean" } } }, "engine.ListOfListCommunication": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.ListCommunication" } }, "next": { "type": "boolean" } } }, "engine.ListOpenedWebSocket": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.OpenedWebSocket" } }, "next": { "type": "boolean" } } }, "engine.ListOutboundResource": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.OutboundResource" } }, "next": { "type": "boolean" } } }, "engine.ListOutboundResourceDisplay": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.ResourceDisplay" } }, "next": { "type": "boolean" } } }, "engine.ListOutboundResourceGroup": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.OutboundResourceViewGroup" } }, "next": { "type": "boolean" } } }, "engine.ListOutboundResourceInGroup": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.OutboundResourceInGroup" } }, "next": { "type": "boolean" } } }, "engine.ListPresetQuery": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.PresetQuery" } }, "next": { "type": "boolean" } } }, "engine.ListQueue": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Queue" } }, "next": { "type": "boolean" } } }, "engine.ListQueueBucket": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.QueueBucket" } }, "next": { "type": "boolean" } } }, "engine.ListQueueHook": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.QueueHook" } }, "next": { "type": "boolean" } } }, "engine.ListQueueResourceGroup": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.QueueResourceGroup" } }, "next": { "type": "boolean" } } }, "engine.ListQueueSkill": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.QueueSkill" } }, "next": { "type": "boolean" } } }, "engine.ListQuickReplies": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.QuickReply" } }, "next": { "type": "boolean" } } }, "engine.ListRegion": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Region" } }, "next": { "type": "boolean" } } }, "engine.ListReportGeneral": { "type": "object", "properties": { "aggs": { "$ref": "#/definitions/engine.QueueReportGeneralAgentStatus" }, "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.QueueReportGeneral" } }, "next": { "type": "boolean" } } }, "engine.ListResourceDisplay": { "type": "object", "properties": { "id": { "type": "array", "items": { "type": "string", "format": "int64" } } } }, "engine.ListRoutingOutboundCall": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.RoutingOutboundCallCompact" } }, "next": { "type": "boolean" } } }, "engine.ListRoutingSchema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.RoutingSchema" } }, "next": { "type": "boolean" } } }, "engine.ListRoutingSchemaTags": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.RoutingSchemaTag" } }, "next": { "type": "boolean" } } }, "engine.ListRoutingVariable": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.RoutingVariable" } } } }, "engine.ListSchemaVariable": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.SchemaVariable" } }, "next": { "type": "boolean" } } }, "engine.ListService.CreateListCommunicationBody": { "type": "object", "properties": { "description": { "type": "string" }, "expire_at": { "type": "string", "format": "int64" }, "number": { "type": "string" } } }, "engine.ListService.UpdateListBody": { "type": "object", "properties": { "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "name": { "type": "string" } } }, "engine.ListService.UpdateListCommunicationBody": { "type": "object", "properties": { "description": { "type": "string" }, "expire_at": { "type": "string", "format": "int64" }, "number": { "type": "string" } } }, "engine.ListSkill": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Skill" } }, "next": { "type": "boolean" } } }, "engine.ListSkillAgent": { "type": "object", "properties": { "aggs": { "$ref": "#/definitions/engine.ListSkillAgent.ListSkillAgg" }, "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.SkillAgentItem" } }, "next": { "type": "boolean" } } }, "engine.ListSkillAgent.ListSkillAgg": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "potential_rows": { "type": "integer", "format": "int64" } } }, "engine.ListSystemSetting": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.SystemSetting" } }, "next": { "type": "boolean" } } }, "engine.ListTags": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Tag" } }, "next": { "type": "boolean" } } }, "engine.ListTeamHook": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.TeamHook" } }, "next": { "type": "boolean" } } }, "engine.ListTeamTrigger": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.TeamTrigger" } }, "next": { "type": "boolean" } } }, "engine.ListTimezoneResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Timezone" } }, "next": { "type": "boolean" } } }, "engine.ListTrigger": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Trigger" } }, "next": { "type": "boolean" } } }, "engine.ListTriggerJob": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.TriggerJob" } }, "next": { "type": "boolean" } } }, "engine.ListUserStatus": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.UserStatus" } }, "next": { "type": "boolean" } } }, "engine.ListWebHook": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.WebHook" } }, "next": { "type": "boolean" } } }, "engine.LoginEmailProfileResponse": { "type": "object", "properties": { "auth_type": { "$ref": "#/definitions/engine.EmailAuthType" }, "cookie": { "type": "object", "additionalProperties": { "type": "string" } }, "redirect_url": { "type": "string" } } }, "engine.LogoutEmailProfileResponse": { "type": "object" }, "engine.Lookup": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" }, "name": { "type": "string" } } }, "engine.MemberAttempt": { "type": "object", "properties": { "active": { "type": "boolean" }, "agent": { "$ref": "#/definitions/engine.Lookup" }, "answered_at": { "type": "string", "format": "int64" }, "attempts": { "type": "integer", "format": "int32" }, "bridged_at": { "type": "string", "format": "int64" }, "bucket": { "$ref": "#/definitions/engine.Lookup" }, "created_at": { "type": "string", "format": "int64" }, "destination": { "type": "string" }, "hangup_at": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "leg_a_id": { "type": "string" }, "leg_b_id": { "type": "string" }, "logs": {}, "member": { "$ref": "#/definitions/engine.Lookup" }, "node": { "type": "string" }, "originate_at": { "type": "string", "format": "int64" }, "resource": { "$ref": "#/definitions/engine.Lookup" }, "result": { "type": "string" }, "weight": { "type": "integer", "format": "int32" } } }, "engine.MemberBulkResponse": { "type": "object", "properties": { "ids": { "type": "array", "items": { "type": "string", "format": "int64" } } } }, "engine.MemberCommunication": { "type": "object", "properties": { "attempts": { "type": "integer", "format": "int32" }, "description": { "type": "string" }, "destination": { "type": "string" }, "display": { "type": "string" }, "dtmf": { "type": "string" }, "id": { "type": "string", "format": "int64" }, "last_activity_at": { "type": "string", "format": "int64" }, "last_cause": { "type": "string" }, "priority": { "type": "integer", "format": "int32" }, "resource": { "$ref": "#/definitions/engine.Lookup" }, "state": { "type": "integer", "format": "int32" }, "stop_at": { "type": "string", "format": "int64" }, "type": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.MemberCommunicationCreateRequest": { "type": "object", "properties": { "description": { "type": "string" }, "destination": { "type": "string" }, "display": { "type": "string" }, "dtmf": { "type": "string" }, "priority": { "type": "integer", "format": "int32" }, "resource": { "$ref": "#/definitions/engine.Lookup" }, "stop_at": { "type": "string", "format": "int64" }, "type": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.MemberInQueue": { "type": "object", "properties": { "agent": { "$ref": "#/definitions/engine.Lookup" }, "attempts": { "type": "integer", "format": "int32" }, "bucket": { "$ref": "#/definitions/engine.Lookup" }, "communications": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.MemberCommunication" } }, "created_at": { "type": "string", "format": "int64" }, "expire_at": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "last_activity_at": { "type": "string", "format": "int64" }, "min_offering_at": { "type": "string", "format": "int64", "title": "deprecated" }, "name": { "type": "string" }, "priority": { "type": "integer", "format": "int32" }, "queue": { "$ref": "#/definitions/engine.Lookup" }, "reserved": { "type": "boolean" }, "skill": { "$ref": "#/definitions/engine.Lookup" }, "stop_cause": { "type": "string" }, "timezone": { "$ref": "#/definitions/engine.Lookup" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.MemberService.AssignAttemptBody": { "type": "object", "properties": { "agent_id": { "description": "Optional. If omitted (0), the attempt is assigned to the calling user's own agent.", "type": "string", "format": "int64" } } }, "engine.MemberService.AttemptCallbackBody": { "type": "object", "properties": { "agent_id": { "type": "integer", "format": "int32" }, "description": { "type": "string" }, "display": { "type": "boolean" }, "exclude_current_communication": { "type": "boolean" }, "expire_at": { "type": "string", "format": "int64" }, "min_offering_at": { "type": "string", "format": "int64" }, "only_current_communication": { "type": "boolean" }, "status": { "type": "string" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } }, "wait_between_retries": { "type": "integer", "format": "int32" } } }, "engine.MemberService.AttemptResultBody": { "type": "object", "properties": { "agent_id": { "type": "integer", "format": "int32" }, "description": { "type": "string" }, "display": { "type": "boolean" }, "exclude_current_communication": { "type": "boolean" }, "expire_at": { "type": "string", "format": "int64" }, "min_offering_at": { "type": "string", "format": "int64" }, "next_member_id": { "type": "string", "format": "int64" }, "only_current_communication": { "type": "boolean" }, "status": { "type": "string" }, "transfer_queue_id": { "type": "string", "format": "int64" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } }, "wait_between_retries": { "type": "integer", "format": "int32" } } }, "engine.MemberService.AttemptsRenewalResultBody": { "type": "object", "properties": { "renewal": { "type": "integer", "format": "int64" } } }, "engine.MemberService.CreateAttemptBody": { "type": "object", "properties": { "agent_id": { "type": "string", "format": "int64" }, "domain_id": { "type": "string", "format": "int64" } } }, "engine.MemberService.CreateMemberBody": { "type": "object", "properties": { "agent": { "$ref": "#/definitions/engine.Lookup" }, "bucket": { "$ref": "#/definitions/engine.Lookup" }, "communications": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.MemberCommunicationCreateRequest" } }, "domain_id": { "type": "string", "format": "int64" }, "expire_at": { "type": "string", "format": "int64" }, "min_offering_at": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "priority": { "type": "integer", "format": "int32" }, "skill": { "$ref": "#/definitions/engine.Lookup" }, "timezone": { "$ref": "#/definitions/engine.Lookup" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.MemberService.CreateMemberBulkBody": { "type": "object", "properties": { "file_name": { "type": "string" }, "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.CreateMemberBulkItem" } } } }, "engine.MemberService.DeleteMembersBody": { "type": "object", "properties": { "agent_id": { "type": "array", "items": { "type": "integer", "format": "int32" } }, "attempts": { "$ref": "#/definitions/engine.FilterBetween" }, "bucket_id": { "type": "array", "items": { "type": "integer", "format": "int32" } }, "created_at": { "$ref": "#/definitions/engine.FilterBetween" }, "destination": { "type": "string" }, "id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "ids": { "type": "array", "title": "deprecated", "items": { "type": "string", "format": "int64" } }, "name": { "type": "string" }, "numbers": { "type": "array", "items": { "type": "string" } }, "offering_at": { "$ref": "#/definitions/engine.FilterBetween" }, "priority": { "$ref": "#/definitions/engine.FilterBetween" }, "q": { "type": "string" }, "size": { "type": "integer", "format": "int32" }, "sort": { "type": "string" }, "stop_cause": { "type": "array", "items": { "type": "string" } }, "variables": { "type": "object", "additionalProperties": { "type": "string" } }, "without_members": { "type": "boolean" } } }, "engine.MemberService.PatchMemberBody": { "type": "object", "properties": { "agent": { "$ref": "#/definitions/engine.Lookup" }, "attempts": { "type": "integer", "format": "int32" }, "bucket": { "$ref": "#/definitions/engine.Lookup" }, "communications": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.MemberCommunicationCreateRequest" } }, "domain_id": { "type": "string", "format": "int64" }, "expire_at": { "type": "string", "format": "int64" }, "fields": { "type": "array", "items": { "type": "string" } }, "min_offering_at": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "priority": { "type": "integer", "format": "int32" }, "skill": { "$ref": "#/definitions/engine.Lookup" }, "stop_cause": { "type": "string" }, "timezone": { "$ref": "#/definitions/engine.Lookup" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.MemberService.PatchMemberOneBody": { "type": "object", "properties": { "agent": { "$ref": "#/definitions/engine.Lookup" }, "attempts": { "type": "integer", "format": "int32" }, "bucket": { "$ref": "#/definitions/engine.Lookup" }, "communications": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.MemberCommunicationCreateRequest" } }, "domain_id": { "type": "string", "format": "int64" }, "expire_at": { "type": "string", "format": "int64" }, "fields": { "type": "array", "items": { "type": "string" } }, "min_offering_at": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "priority": { "type": "integer", "format": "int32" }, "skill": { "$ref": "#/definitions/engine.Lookup" }, "stop_cause": { "type": "string" }, "timezone": { "$ref": "#/definitions/engine.Lookup" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.MemberService.ResetMembersBody": { "type": "object", "properties": { "agent_id": { "type": "array", "items": { "type": "integer", "format": "int32" } }, "bucket_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "created_at": { "$ref": "#/definitions/engine.FilterBetween" }, "id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "ids": { "type": "array", "items": { "type": "string", "format": "int64" } }, "numbers": { "type": "array", "items": { "type": "string" } }, "priority": { "$ref": "#/definitions/engine.FilterBetween" }, "q": { "type": "string" }, "stop_cause": { "type": "array", "items": { "type": "string" } }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.MemberService.UpdateMemberBody": { "type": "object", "properties": { "agent": { "$ref": "#/definitions/engine.Lookup" }, "bucket": { "$ref": "#/definitions/engine.Lookup" }, "communications": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.MemberCommunicationCreateRequest" } }, "domain_id": { "type": "string", "format": "int64" }, "expire_at": { "type": "string", "format": "int64" }, "min_offering_at": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "priority": { "type": "integer", "format": "int32" }, "skill": { "$ref": "#/definitions/engine.Lookup" }, "stop_cause": { "type": "string" }, "timezone": { "$ref": "#/definitions/engine.Lookup" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.MovePositionRoutingOutboundCallResponse": { "type": "object", "properties": { "success": { "type": "boolean" } } }, "engine.MutateHistoryAttemptResultRequest": { "type": "object", "properties": { "agent_call_id": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string", "format": "int64" }, "member_call_id": { "type": "string" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.MutateHistoryAttemptResultResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/engine.AttemptHistory" } } }, "engine.OnlineSkills": { "description": "OnlineSkills represents a reusable collection\nof skills that can be assigned within the Call Center.", "type": "object", "properties": { "created_at": { "description": "Creation timestamp (Unix time, milliseconds).", "type": "string", "format": "int64" }, "created_by": { "description": "User who created the entry.", "$ref": "#/definitions/engine.Lookup" }, "description": { "description": "Optional description.", "type": "string" }, "id": { "description": "Unique identifier.", "type": "string", "format": "int64" }, "name": { "description": "Display name.", "type": "string" }, "skills": { "description": "Skills included in the entry.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "updated_at": { "description": "Last update timestamp (Unix time, milliseconds).", "type": "string", "format": "int64" }, "updated_by": { "description": "User who last updated the entry.", "$ref": "#/definitions/engine.Lookup" } } }, "engine.OnlineSkillsService.PatchOnlineSkillsBody": { "description": "Request for partially updating online skills.", "type": "object", "properties": { "description": { "description": "Updated description.", "type": "string" }, "name": { "description": "Updated name.", "type": "string" }, "skills": { "description": "Updated list of skills.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } } } }, "engine.OnlineSkillsService.UpdateOnlineSkillsBody": { "description": "Request for replacing online skills.", "type": "object", "properties": { "description": { "description": "Optional description.", "type": "string" }, "name": { "description": "Display name.", "type": "string" }, "skills": { "description": "Skills assigned.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } } } }, "engine.OpenedWebSocket": { "type": "object", "properties": { "application_name": { "type": "string" }, "created_at": { "type": "string", "format": "int64" }, "duration": { "type": "string", "format": "int64" }, "id": { "type": "string" }, "ip": { "type": "string" }, "pong": { "type": "string", "format": "int64" }, "updated_at": { "type": "string", "format": "int64" }, "user_agent": { "type": "string" }, "ver": { "type": "string" } } }, "engine.OutboundResource": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "enabled": { "type": "boolean" }, "error_ids": { "type": "array", "items": { "type": "string" } }, "failure_dial_delay": { "type": "integer", "format": "int64" }, "gateway": { "$ref": "#/definitions/engine.Lookup" }, "id": { "type": "string", "format": "int64" }, "last_error_at": { "type": "string", "format": "int64" }, "last_error_id": { "type": "string" }, "limit": { "type": "integer", "format": "int32" }, "max_successively_errors": { "type": "integer", "format": "int32" }, "name": { "type": "string" }, "number": { "type": "string" }, "parameters": { "$ref": "#/definitions/engine.OutboundResourceParameters" }, "patterns": { "type": "array", "items": { "type": "string" } }, "reserve": { "type": "boolean" }, "rps": { "type": "integer", "format": "int32" }, "successively_errors": { "type": "integer", "format": "int32" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.OutboundResourceGroup": { "type": "object", "properties": { "communication": { "$ref": "#/definitions/engine.Lookup" }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "strategy": { "type": "string" }, "time": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.OutboundResourceTimeRange" } }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.OutboundResourceGroupService.CreateOutboundResourceInGroupBody": { "type": "object", "properties": { "priority": { "type": "integer", "format": "int64" }, "reserve_resource": { "$ref": "#/definitions/engine.Lookup" }, "resource": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.OutboundResourceGroupService.UpdateOutboundResourceGroupBody": { "type": "object", "properties": { "communication": { "$ref": "#/definitions/engine.Lookup" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "strategy": { "type": "string" }, "time": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.OutboundResourceTimeRange" } } } }, "engine.OutboundResourceGroupService.UpdateOutboundResourceInGroupBody": { "type": "object", "properties": { "priority": { "type": "integer", "format": "int64" }, "reserve_resource": { "$ref": "#/definitions/engine.Lookup" }, "resource": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.OutboundResourceInGroup": { "type": "object", "properties": { "group_id": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "priority": { "type": "integer", "format": "int64" }, "reserve_resource": { "$ref": "#/definitions/engine.Lookup" }, "resource": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.OutboundResourceParameters": { "type": "object", "properties": { "cid_type": { "type": "string" }, "ignore_early_media": { "type": "string" } } }, "engine.OutboundResourceService.CreateOutboundResourceDisplayBody": { "type": "object", "properties": { "display": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" } } }, "engine.OutboundResourceService.CreateOutboundResourceDisplayBulkBody": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.CreateOutboundResourceDisplayRequest" } } } }, "engine.OutboundResourceService.PatchOutboundResourceBody": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "error_ids": { "type": "array", "items": { "type": "string" } }, "failure_dial_delay": { "type": "integer", "format": "int64" }, "fields": { "type": "array", "items": { "type": "string" } }, "gateway": { "$ref": "#/definitions/engine.Lookup" }, "limit": { "type": "integer", "format": "int32" }, "max_successively_errors": { "type": "integer", "format": "int32" }, "name": { "type": "string" }, "number": { "type": "string" }, "parameters": { "$ref": "#/definitions/engine.OutboundResourceParameters" }, "patterns": { "type": "array", "items": { "type": "string" } }, "reserve": { "type": "boolean" }, "rps": { "type": "integer", "format": "int32" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.OutboundResourceService.UpdateOutboundResourceBody": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "error_ids": { "type": "array", "items": { "type": "string" } }, "failure_dial_delay": { "type": "integer", "format": "int64" }, "gateway": { "$ref": "#/definitions/engine.Lookup" }, "limit": { "type": "integer", "format": "int32" }, "max_successively_errors": { "type": "integer", "format": "int32" }, "name": { "type": "string" }, "number": { "type": "string" }, "parameters": { "$ref": "#/definitions/engine.OutboundResourceParameters" }, "patterns": { "type": "array", "items": { "type": "string" } }, "reserve": { "type": "boolean" }, "rps": { "type": "integer", "format": "int32" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.OutboundResourceService.UpdateOutboundResourceDisplayBody": { "type": "object", "properties": { "display": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" } } }, "engine.OutboundResourceTimeRange": { "type": "object", "properties": { "end_time_of_day": { "type": "integer", "format": "int32" }, "start_time_of_day": { "type": "integer", "format": "int32" } } }, "engine.OutboundResourceViewGroup": { "type": "object", "properties": { "communication": { "$ref": "#/definitions/engine.Lookup" }, "description": { "type": "string" }, "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "strategy": { "type": "string" } } }, "engine.PatchOnlineSkillsResponse": { "description": "Response containing patched online skills.", "type": "object", "properties": { "item": { "description": "Patched online skills item.", "$ref": "#/definitions/engine.OnlineSkills" } } }, "engine.PatchSkillAgentResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.SkillAgentItem" } } } }, "engine.PresetQuery": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "description": { "type": "string" }, "id": { "type": "integer", "format": "int32" }, "name": { "type": "string" }, "preset": {}, "section": { "type": "string" }, "updated_at": { "type": "string", "format": "int64" } } }, "engine.PresetQueryService.PatchPresetQueryBody": { "type": "object", "properties": { "description": { "type": "string" }, "fields": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "preset": {}, "section": { "type": "string" } } }, "engine.PresetQueryService.UpdatePresetQueryBody": { "type": "object", "properties": { "description": { "type": "string" }, "name": { "type": "string" }, "preset": {}, "section": { "type": "string" } } }, "engine.Question": { "type": "object", "properties": { "critical_violation": { "type": "boolean" }, "description": { "type": "string" }, "max": { "type": "integer", "format": "int32" }, "min": { "type": "integer", "format": "int32" }, "options": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Question.Option" } }, "question": { "type": "string" }, "required": { "type": "boolean" }, "type": { "$ref": "#/definitions/engine.AuditQuestionType" } } }, "engine.Question.Option": { "type": "object", "properties": { "name": { "type": "string" }, "score": { "type": "number", "format": "float" } } }, "engine.QuestionAnswer": { "type": "object", "properties": { "comment": { "type": "string" }, "score": { "type": "number", "format": "float" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.Queue": { "type": "object", "properties": { "active": { "type": "integer", "format": "int32" }, "after_schema": { "$ref": "#/definitions/engine.Lookup" }, "calendar": { "$ref": "#/definitions/engine.Lookup" }, "count": { "type": "integer", "format": "int32" }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "description": { "type": "string" }, "dnc_list": { "$ref": "#/definitions/engine.Lookup" }, "do_schema": { "$ref": "#/definitions/engine.Lookup" }, "domain_id": { "type": "string", "format": "int64" }, "enabled": { "type": "boolean" }, "form_schema": { "title": "deprecated", "$ref": "#/definitions/engine.Lookup" }, "grantee": { "$ref": "#/definitions/engine.Lookup" }, "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "payload": {}, "priority": { "type": "integer", "format": "int32" }, "processing": { "type": "boolean", "title": "deprecated" }, "processing_renewal_sec": { "type": "integer", "format": "int64", "title": "deprecated" }, "processing_sec": { "type": "integer", "format": "int64", "title": "deprecated" }, "resource_groups": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.ResourceGroup" } }, "resources": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Resource" } }, "ringtone": { "$ref": "#/definitions/engine.Lookup" }, "schema": { "$ref": "#/definitions/engine.Lookup" }, "sec_locate_agent": { "type": "integer", "format": "int32" }, "sticky_agent": { "type": "boolean" }, "strategy": { "type": "string" }, "tags": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Tag" } }, "task_processing": { "$ref": "#/definitions/engine.TaskProcessing" }, "team": { "$ref": "#/definitions/engine.Lookup" }, "timeout": { "type": "integer", "format": "int32" }, "type": { "type": "integer", "format": "int32" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } }, "waiting": { "type": "integer", "format": "int32" } } }, "engine.QueueBucket": { "type": "object", "properties": { "bucket": { "$ref": "#/definitions/engine.Lookup" }, "disabled": { "type": "boolean" }, "id": { "type": "string", "format": "int64" }, "priority": { "type": "integer", "format": "int32" }, "ratio": { "type": "integer", "format": "int32" } } }, "engine.QueueBucketService.CreateQueueBucketBody": { "type": "object", "properties": { "bucket": { "$ref": "#/definitions/engine.Lookup" }, "disabled": { "type": "boolean" }, "priority": { "type": "integer", "format": "int32" }, "ratio": { "type": "integer", "format": "int32" } } }, "engine.QueueBucketService.PatchQueueBucketBody": { "type": "object", "properties": { "bucket": { "$ref": "#/definitions/engine.Lookup" }, "disabled": { "type": "boolean" }, "fields": { "type": "array", "items": { "type": "string" } }, "priority": { "type": "integer", "format": "int32" }, "ratio": { "type": "integer", "format": "int32" } } }, "engine.QueueBucketService.UpdateQueueBucketBody": { "type": "object", "properties": { "bucket": { "$ref": "#/definitions/engine.Lookup" }, "disabled": { "type": "boolean" }, "priority": { "type": "integer", "format": "int32" }, "ratio": { "type": "integer", "format": "int32" } } }, "engine.QueueHook": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "event": { "type": "string" }, "id": { "type": "integer", "format": "int64" }, "properties": { "type": "array", "items": { "type": "string" } }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.QueueHookService.CreateQueueHookBody": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "event": { "type": "string" }, "properties": { "type": "array", "items": { "type": "string" } }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.QueueHookService.PatchQueueHookBody": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "event": { "type": "string" }, "fields": { "type": "array", "items": { "type": "string" } }, "properties": { "type": "array", "items": { "type": "string" } }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.QueueHookService.UpdateQueueHookBody": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "event": { "type": "string" }, "properties": { "type": "array", "items": { "type": "string" } }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.QueueReportGeneral": { "type": "object", "properties": { "abandoned": { "type": "integer", "format": "int64" }, "agent_status": { "$ref": "#/definitions/engine.QueueReportGeneralAgentStatus" }, "attempts": { "type": "integer", "format": "int64" }, "avg_aht_sec": { "type": "number", "format": "float" }, "avg_asa_sec": { "type": "number", "format": "float" }, "avg_awt_sec": { "type": "number", "format": "float" }, "avg_wrap_sec": { "type": "number", "format": "float" }, "bridged": { "type": "number", "format": "float" }, "count": { "type": "string", "format": "uint64" }, "missed": { "type": "integer", "format": "int64" }, "processed": { "type": "integer", "format": "int64" }, "queue": { "$ref": "#/definitions/engine.Lookup" }, "sl20": { "type": "number", "format": "float" }, "sl30": { "type": "number", "format": "float" }, "sum_bill_sec": { "type": "number", "format": "float" }, "team": { "$ref": "#/definitions/engine.Lookup" }, "transferred": { "type": "integer", "format": "int64" }, "waiting": { "type": "integer", "format": "int64" } } }, "engine.QueueReportGeneralAgentStatus": { "type": "object", "properties": { "busy": { "type": "integer", "format": "int64" }, "free": { "type": "integer", "format": "int64" }, "offline": { "type": "integer", "format": "int64" }, "online": { "type": "integer", "format": "int64" }, "pause": { "type": "integer", "format": "int64" }, "total": { "type": "integer", "format": "int64" } } }, "engine.QueueResourceGroup": { "type": "object", "properties": { "communication": { "$ref": "#/definitions/engine.Lookup" }, "id": { "type": "string", "format": "int64" }, "resource_group": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.QueueResourcesService.CreateQueueResourceGroupBody": { "type": "object", "properties": { "domain_id": { "type": "string", "format": "int64" }, "resource_group": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.QueueResourcesService.UpdateQueueResourceGroupBody": { "type": "object", "properties": { "domain_id": { "type": "string", "format": "int64" }, "resource_group": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.QueueService.PatchQueueBody": { "type": "object", "properties": { "after_schema": { "$ref": "#/definitions/engine.Lookup" }, "calendar": { "$ref": "#/definitions/engine.Lookup" }, "description": { "type": "string" }, "dnc_list": { "$ref": "#/definitions/engine.Lookup" }, "do_schema": { "$ref": "#/definitions/engine.Lookup" }, "domain_id": { "type": "string", "format": "int64" }, "enabled": { "type": "boolean" }, "fields": { "type": "array", "items": { "type": "string" } }, "form_schema": { "title": "deprecated", "$ref": "#/definitions/engine.Lookup" }, "grantee": { "$ref": "#/definitions/engine.Lookup" }, "name": { "type": "string" }, "payload": {}, "priority": { "type": "integer", "format": "int32" }, "processing": { "type": "boolean", "title": "deprecated" }, "processing_renewal_sec": { "type": "integer", "format": "int64", "title": "deprecated" }, "processing_sec": { "type": "integer", "format": "int64", "title": "deprecated" }, "ringtone": { "$ref": "#/definitions/engine.Lookup" }, "schema": { "$ref": "#/definitions/engine.Lookup" }, "sec_locate_agent": { "type": "integer", "format": "int32" }, "sticky_agent": { "type": "boolean" }, "strategy": { "type": "string" }, "tags": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Tag" } }, "task_processing": { "$ref": "#/definitions/engine.TaskProcessing" }, "team": { "$ref": "#/definitions/engine.Lookup" }, "timeout": { "type": "integer", "format": "int32" }, "type": { "type": "integer", "format": "int32" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.QueueService.UpdateQueueBody": { "type": "object", "properties": { "after_schema": { "$ref": "#/definitions/engine.Lookup" }, "calendar": { "$ref": "#/definitions/engine.Lookup" }, "description": { "type": "string" }, "dnc_list": { "$ref": "#/definitions/engine.Lookup" }, "do_schema": { "$ref": "#/definitions/engine.Lookup" }, "domain_id": { "type": "string", "format": "int64" }, "enabled": { "type": "boolean" }, "form_schema": { "title": "deprecated", "$ref": "#/definitions/engine.Lookup" }, "grantee": { "$ref": "#/definitions/engine.Lookup" }, "name": { "type": "string" }, "payload": {}, "priority": { "type": "integer", "format": "int32" }, "processing": { "type": "boolean", "title": "deprecated" }, "processing_renewal_sec": { "type": "integer", "format": "int64", "title": "deprecated" }, "processing_sec": { "type": "integer", "format": "int64", "title": "deprecated" }, "ringtone": { "$ref": "#/definitions/engine.Lookup" }, "schema": { "$ref": "#/definitions/engine.Lookup" }, "sec_locate_agent": { "type": "integer", "format": "int32" }, "sticky_agent": { "type": "boolean" }, "strategy": { "type": "string" }, "tags": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Tag" } }, "task_processing": { "$ref": "#/definitions/engine.TaskProcessing" }, "team": { "$ref": "#/definitions/engine.Lookup" }, "timeout": { "type": "integer", "format": "int32" }, "type": { "type": "integer", "format": "int32" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.QueueSkill": { "type": "object", "properties": { "buckets": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "enabled": { "type": "boolean" }, "id": { "type": "integer", "format": "int64" }, "lvl": { "type": "integer", "format": "int32" }, "max_capacity": { "type": "integer", "format": "int32" }, "min_capacity": { "type": "integer", "format": "int32" }, "skill": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.QueueSkillService.CreateQueueSkillBody": { "type": "object", "properties": { "buckets": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "enabled": { "type": "boolean" }, "lvl": { "type": "integer", "format": "int32" }, "max_capacity": { "type": "integer", "format": "int32" }, "min_capacity": { "type": "integer", "format": "int32" }, "skill": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.QueueSkillService.PatchQueueSkillBody": { "type": "object", "properties": { "buckets": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "enabled": { "type": "boolean" }, "fields": { "type": "array", "items": { "type": "string" } }, "lvl": { "type": "integer", "format": "int32" }, "max_capacity": { "type": "integer", "format": "int32" }, "min_capacity": { "type": "integer", "format": "int32" }, "skill": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.QueueSkillService.UpdateQueueSkillBody": { "type": "object", "properties": { "buckets": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "enabled": { "type": "boolean" }, "lvl": { "type": "integer", "format": "int32" }, "max_capacity": { "type": "integer", "format": "int32" }, "min_capacity": { "type": "integer", "format": "int32" }, "skill": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.QuickRepliesService.PatchQuickReplyBody": { "type": "object", "properties": { "article": { "$ref": "#/definitions/engine.Lookup" }, "fields": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "queues": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "teams": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "text": { "type": "string" } } }, "engine.QuickRepliesService.UpdateQuickReplyBody": { "type": "object", "properties": { "article": { "$ref": "#/definitions/engine.Lookup" }, "name": { "type": "string" }, "queues": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "teams": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "text": { "type": "string" } } }, "engine.QuickReply": { "type": "object", "properties": { "article": { "$ref": "#/definitions/engine.Lookup" }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "queues": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "teams": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "text": { "type": "string" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.Region": { "type": "object", "properties": { "description": { "type": "string" }, "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "timezone": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.RegionService.PatchRegionBody": { "type": "object", "properties": { "description": { "type": "string" }, "fields": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "timezone": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.RegionService.UpdateRegionBody": { "type": "object", "properties": { "description": { "type": "string" }, "name": { "type": "string" }, "timezone": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.ResetActiveAttemptsRequest": { "type": "object", "properties": { "attempt_type": { "type": "array", "items": { "type": "string" } }, "idle_for_minutes": { "type": "string", "format": "int64" }, "result": { "type": "string" } } }, "engine.ResetActiveAttemptsResponse": { "type": "object" }, "engine.ResetMembersCountResponse": { "description": "ResetMembersCountResponse contains the total number\nof queue members matching the specified criteria.", "type": "object", "properties": { "count": { "description": "Total number of matching queue members.", "type": "string", "format": "int64" } } }, "engine.ResetMembersResponse": { "type": "object", "properties": { "count": { "type": "string", "format": "int64" } } }, "engine.Resource": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" }, "name": { "type": "string" } } }, "engine.ResourceDisplay": { "type": "object", "properties": { "display": { "type": "string" }, "id": { "type": "string", "format": "int64" } } }, "engine.ResourceGroup": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" }, "name": { "type": "string" } } }, "engine.Response": { "type": "object", "properties": { "status": { "type": "string" } } }, "engine.RoutingChatPlanService.PatchChatPlanBody": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "fields": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.RoutingChatPlanService.UpdateChatPlanBody": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "name": { "type": "string" }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.RoutingOutboundCall": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "description": { "type": "string" }, "disabled": { "type": "boolean" }, "domain_id": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "pattern": { "type": "string" }, "schema": { "$ref": "#/definitions/engine.Lookup" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.RoutingOutboundCallCompact": { "type": "object", "properties": { "description": { "type": "string" }, "disabled": { "type": "boolean" }, "domain_id": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "pattern": { "type": "string" }, "position": { "type": "integer", "format": "int32" }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.RoutingOutboundCallService.MovePositionRoutingOutboundCallBody": { "type": "object", "properties": { "domain_id": { "type": "string", "format": "int64" } } }, "engine.RoutingOutboundCallService.PatchRoutingOutboundCallBody": { "type": "object", "properties": { "description": { "type": "string" }, "disabled": { "type": "boolean" }, "domain_id": { "type": "string", "format": "int64" }, "fields": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "pattern": { "type": "string" }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.RoutingOutboundCallService.UpdateRoutingOutboundCallBody": { "type": "object", "properties": { "description": { "type": "string" }, "disabled": { "type": "boolean" }, "domain_id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "pattern": { "type": "string" }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.RoutingSchema": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "debug": { "type": "boolean" }, "description": { "type": "string" }, "editor": { "type": "boolean" }, "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "payload": {}, "schema": {}, "tags": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.SchemaTag" } }, "type": { "$ref": "#/definitions/engine.RoutingSchemaType" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.RoutingSchemaService.PatchRoutingSchemaBody": { "type": "object", "properties": { "debug": { "type": "boolean" }, "description": { "type": "string" }, "editor": { "type": "boolean" }, "fields": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "note": { "type": "string" }, "payload": {}, "schema": {}, "tags": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.SchemaTag" } }, "type": { "$ref": "#/definitions/engine.RoutingSchemaType" } } }, "engine.RoutingSchemaService.UpdateRoutingSchemaBody": { "type": "object", "properties": { "debug": { "type": "boolean" }, "description": { "type": "string" }, "editor": { "type": "boolean" }, "name": { "type": "string" }, "note": { "type": "string" }, "payload": {}, "schema": {}, "tags": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.SchemaTag" } }, "type": { "$ref": "#/definitions/engine.RoutingSchemaType" } } }, "engine.RoutingSchemaTag": { "type": "object", "properties": { "count": { "type": "integer", "format": "int64" }, "name": { "type": "string" } } }, "engine.RoutingSchemaType": { "type": "string", "default": "default", "enum": [ "default", "voice", "chat", "processing", "service" ] }, "engine.RoutingVariable": { "type": "object", "properties": { "domain_id": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "key": { "type": "string" }, "value": { "type": "string" } } }, "engine.RoutingVariableService.UpdateRoutingVariableBody": { "type": "object", "properties": { "domain_id": { "type": "string", "format": "int64" }, "key": { "type": "string" }, "value": { "type": "string" } } }, "engine.RunTeamTriggerResponse": { "type": "object", "properties": { "job_id": { "type": "string" } } }, "engine.SchemaTag": { "type": "object", "properties": { "name": { "type": "string" } } }, "engine.SchemaVariable": { "type": "object", "properties": { "encrypt": { "type": "boolean" }, "id": { "type": "integer", "format": "int32" }, "name": { "type": "string" }, "value": {} } }, "engine.SchemaVariablesService.PatchSchemaVariableBody": { "type": "object", "properties": { "encrypt": { "type": "boolean" }, "fields": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "value": {} } }, "engine.SchemaVariablesService.UpdateSchemaVariableBody": { "type": "object", "properties": { "encrypt": { "type": "boolean" }, "name": { "type": "string" }, "value": {} } }, "engine.SchemaVersion": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "id": { "type": "string", "format": "int64" }, "note": { "type": "string" }, "payload": {}, "schema": {}, "schema_id": { "type": "string", "format": "int64" }, "version": { "type": "string", "format": "uint64" } } }, "engine.SearchHistoryCallRequest": { "type": "object", "properties": { "agent_description": { "type": "string" }, "agent_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "amd_ai_result": { "type": "array", "items": { "type": "string" } }, "amd_result": { "type": "array", "items": { "type": "string" } }, "answered_at": { "$ref": "#/definitions/engine.FilterBetween" }, "cause": { "type": "array", "items": { "type": "string" } }, "contact_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "created_at": { "$ref": "#/definitions/engine.FilterBetween" }, "dependency_id": { "type": "string" }, "direction": { "type": "string" }, "directions": { "type": "array", "items": { "type": "string" } }, "domain_id": { "type": "string", "format": "int64" }, "duration": { "$ref": "#/definitions/engine.FilterBetween" }, "fields": { "type": "array", "items": { "type": "string" } }, "fts": { "type": "string" }, "gateway_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "grantee_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "has_file": { "type": "boolean" }, "has_transcript": { "type": "boolean" }, "has_transfer": { "type": "boolean" }, "id": { "type": "array", "items": { "type": "string" } }, "member_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "missed": { "type": "boolean" }, "number": { "type": "string" }, "owner_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "page": { "type": "integer", "format": "int32" }, "parent_id": { "type": "string" }, "q": { "type": "string" }, "queue_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "rated": { "type": "boolean" }, "rated_by": { "type": "array", "items": { "type": "string", "format": "int64" } }, "rated_user": { "type": "array", "items": { "type": "string", "format": "int64" } }, "schema_id": { "type": "array", "items": { "type": "integer", "format": "int32" } }, "score_optional": { "$ref": "#/definitions/engine.FilterBetween" }, "score_required": { "$ref": "#/definitions/engine.FilterBetween" }, "size": { "type": "integer", "format": "int32" }, "skip_parent": { "type": "boolean" }, "sort": { "type": "string" }, "stored_at": { "$ref": "#/definitions/engine.FilterBetween" }, "tags": { "type": "array", "items": { "type": "string" } }, "talk": { "$ref": "#/definitions/engine.FilterBetween" }, "team_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "timeline": { "type": "boolean" }, "transfer_from": { "type": "array", "items": { "type": "string" } }, "transfer_to": { "type": "array", "items": { "type": "string" } }, "user_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "variables[string]": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.SearchOnlineSkillsResponse": { "description": "Search results for online skills.", "type": "object", "properties": { "items": { "description": "Matching online skills items.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.OnlineSkills" } }, "next": { "description": "Indicates whether another page of results exists.", "type": "boolean" } } }, "engine.SearchSchemaVersionResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.SchemaVersion" } }, "next": { "type": "boolean" } } }, "engine.SendPushResponse": { "type": "object", "properties": { "send": { "type": "integer", "format": "int32" } } }, "engine.SetQueuesGlobalStateRequest": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "id": { "type": "array", "items": { "type": "string" } }, "q": { "type": "string" }, "tags": { "type": "array", "items": { "type": "string" } }, "team_id": { "type": "array", "items": { "type": "integer", "format": "int32" } }, "type": { "type": "array", "items": { "type": "integer", "format": "int64" } } } }, "engine.SetQueuesGlobalStateResponse": { "type": "object", "properties": { "count": { "type": "integer", "format": "int32" } } }, "engine.SetVariablesCallResponse": { "type": "object" }, "engine.Skill": { "type": "object", "properties": { "active_agents": { "type": "integer", "format": "int32" }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "total_agents": { "type": "integer", "format": "int32" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.SkillAgentItem": { "type": "object", "properties": { "agent": { "$ref": "#/definitions/engine.Lookup" }, "capacity": { "type": "integer", "format": "int32" }, "enabled": { "type": "boolean" }, "id": { "type": "string", "format": "int64" }, "skill": { "$ref": "#/definitions/engine.Lookup" }, "team": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.SkillService.CreateSkillAgentBody": { "type": "object", "properties": { "agent": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/engine.Lookup" } }, "capacity": { "type": "integer", "format": "int32" }, "enabled": { "type": "boolean" } } }, "engine.SkillService.DeleteSkillAgentBody": { "type": "object", "properties": { "agent_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "id": { "type": "array", "items": { "type": "string", "format": "int64" } } } }, "engine.SkillService.PatchSkillAgentBody": { "type": "object", "properties": { "agent_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "capacity": { "type": "integer", "format": "int32" }, "enabled": { "type": "boolean" }, "fields": { "type": "array", "items": { "type": "string" } }, "id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "q": { "type": "string" }, "skill": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.SkillService.UpdateSkillBody": { "type": "object", "properties": { "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "name": { "type": "string" } } }, "engine.SystemSetting": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "name": { "$ref": "#/definitions/engine.SystemSettingName" }, "value": {} } }, "engine.SystemSettingName": { "type": "string", "default": "empty_system_settings_name", "enum": [ "empty_system_settings_name", "enable_omnichannel", "member_chunk_size", "amd_cancel_not_human", "scheme_version_limit", "enable_2fa", "export_settings", "search_number_length", "chat_ai_connection", "password_reg_exp", "password_validation_text", "autolink_call_to_contact", "period_to_playback_records", "is_fulltext_search_enabled", "wbt_hide_contact", "show_full_contact", "call_end_sound_notification", "call_end_push_notification", "chat_end_sound_notification", "chat_end_push_notification", "task_end_sound_notification", "task_end_push_notification", "push_notification_timeout", "labels_to_limit_contacts", "autolink_mail_to_contact", "new_message_sound_notification", "new_chat_sound_notification", "screenshot_interval", "password_expiry_days", "password_min_length", "password_categories", "password_contains_login", "password_warning_days", "default_password", "expand_contact_tabs", "default_workspace_tab", "block_all_member_numbers_from_list", "login_options", "default_members_filter", "self_assigned_call_sound_notification" ] }, "engine.SystemSettingService.PatchSystemSettingBody": { "type": "object", "properties": { "fields": { "type": "array", "items": { "type": "string" } }, "value": {} } }, "engine.SystemSettingService.UpdateSystemSettingBody": { "type": "object", "properties": { "value": {} } }, "engine.Tag": { "type": "object", "properties": { "name": { "type": "string" } } }, "engine.TaskProcessing": { "type": "object", "properties": { "autosave": { "type": "boolean" }, "enabled": { "type": "boolean" }, "form_schema": { "$ref": "#/definitions/engine.Lookup" }, "prolongation_options": { "$ref": "#/definitions/engine.TaskProcessingProlongationOptions" }, "renewal_sec": { "type": "integer", "format": "int64" }, "sec": { "type": "integer", "format": "int64" } } }, "engine.TaskProcessingProlongationOptions": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "is_timeout_retry": { "type": "boolean" }, "prolongation_time_sec": { "type": "integer", "format": "int64" }, "repeats_number": { "type": "integer", "format": "int64" } } }, "engine.TeamChatTagService.CreateChatTagBody": { "type": "object", "properties": { "tag": { "type": "string" } } }, "engine.TeamChatTagService.UpdateChatTagBody": { "type": "object", "properties": { "tag": { "type": "string" } } }, "engine.TeamHook": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "event": { "$ref": "#/definitions/engine.TeamHookEvent" }, "id": { "type": "integer", "format": "int64" }, "properties": { "type": "array", "items": { "type": "string" } }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.TeamHookEvent": { "type": "string", "default": "teamHookEventUndefined", "enum": [ "teamHookEventUndefined", "agent_status" ] }, "engine.TeamHookService.CreateTeamHookBody": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "event": { "$ref": "#/definitions/engine.TeamHookEvent" }, "properties": { "type": "array", "items": { "type": "string" } }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.TeamHookService.PatchTeamHookBody": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "event": { "$ref": "#/definitions/engine.TeamHookEvent" }, "fields": { "type": "array", "items": { "type": "string" } }, "properties": { "type": "array", "items": { "type": "string" } }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.TeamHookService.UpdateTeamHookBody": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "event": { "$ref": "#/definitions/engine.TeamHookEvent" }, "properties": { "type": "array", "items": { "type": "string" } }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.TeamTrigger": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.TeamTriggerService.CreateTeamTriggerBody": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "name": { "type": "string" }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.TeamTriggerService.PatchTeamTriggerBody": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "fields": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.TeamTriggerService.RunTeamTriggerBody": { "type": "object", "properties": { "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.TeamTriggerService.UpdateTeamTriggerBody": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "name": { "type": "string" }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.TestEmailProfileResponse": { "type": "object", "properties": { "error": { "type": "string" } } }, "engine.Timezone": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "offset": { "type": "string" } } }, "engine.TranscriptLookup": { "type": "object", "properties": { "file": { "$ref": "#/definitions/engine.Lookup" }, "file_id": { "type": "string", "format": "int64", "title": "deprecated" }, "id": { "type": "string", "format": "int64" }, "locale": { "type": "string" } } }, "engine.Trigger": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "event": { "$ref": "#/definitions/engine.TriggerEventType" }, "expression": { "type": "string" }, "id": { "type": "integer", "format": "int32" }, "name": { "type": "string" }, "object": { "$ref": "#/definitions/engine.TriggerObjectType" }, "schema": { "$ref": "#/definitions/engine.Lookup" }, "timeout": { "type": "integer", "format": "int32" }, "timezone": { "$ref": "#/definitions/engine.Lookup" }, "type": { "$ref": "#/definitions/engine.TriggerType" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.TriggerEventType": { "type": "string", "default": "empty_trigger_event", "enum": [ "empty_trigger_event", "create", "update", "remove", "resolution_time", "record_call" ] }, "engine.TriggerJob": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "error": { "type": "string" }, "id": { "type": "string", "format": "int64" }, "parameters": {}, "result": {}, "started_at": { "type": "string", "format": "int64" }, "state": { "$ref": "#/definitions/engine.TriggerJobState" }, "stopped_at": { "type": "string", "format": "int64" }, "trigger": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.TriggerJobState": { "type": "string", "default": "idle", "enum": [ "idle", "active", "done", "error" ] }, "engine.TriggerObjectType": { "type": "string", "default": "empty_trigger_object", "enum": [ "empty_trigger_object", "cases", "case_files", "case_comments", "case_links", "related_cases", "call" ] }, "engine.TriggerService.CreateTriggerJobBody": { "type": "object", "properties": { "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.TriggerService.PatchTriggerBody": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "event": { "$ref": "#/definitions/engine.TriggerEventType" }, "expression": { "type": "string" }, "fields": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "object": { "$ref": "#/definitions/engine.TriggerObjectType" }, "schema": { "$ref": "#/definitions/engine.Lookup" }, "timeout": { "type": "integer", "format": "int32" }, "timezone": { "$ref": "#/definitions/engine.Lookup" }, "type": { "$ref": "#/definitions/engine.TriggerType" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.TriggerService.UpdateTriggerBody": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "event": { "$ref": "#/definitions/engine.TriggerEventType" }, "expression": { "type": "string" }, "name": { "type": "string" }, "object": { "$ref": "#/definitions/engine.TriggerObjectType" }, "schema": { "$ref": "#/definitions/engine.Lookup" }, "timeout": { "type": "integer", "format": "int32" }, "timezone": { "$ref": "#/definitions/engine.Lookup" }, "type": { "$ref": "#/definitions/engine.TriggerType" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "engine.TriggerType": { "type": "string", "default": "default_trigger_type", "enum": [ "default_trigger_type", "cron", "event" ] }, "engine.UpdateOnlineSkillsResponse": { "description": "Response containing updated online skills.", "type": "object", "properties": { "item": { "description": "Updated online skills item.", "$ref": "#/definitions/engine.OnlineSkills" } } }, "engine.UpdateQuestionAnswerRequest": { "type": "object", "properties": { "comment": { "type": "string" }, "score": { "type": "number", "format": "float" } } }, "engine.UserStatus": { "type": "object", "properties": { "extension": { "type": "string" }, "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "presence": { "$ref": "#/definitions/engine.UserStatus.UserPresence" }, "status": { "type": "string" } } }, "engine.UserStatus.UserPresence": { "type": "object", "properties": { "status": { "type": "string" } } }, "engine.WebHook": { "type": "object", "properties": { "authorization": { "type": "string" }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "id": { "type": "integer", "format": "int32" }, "key": { "type": "string" }, "name": { "type": "string" }, "origin": { "type": "array", "items": { "type": "string" } }, "schema": { "$ref": "#/definitions/engine.Lookup" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.WebHookService.PatchWebHookBody": { "type": "object", "properties": { "authorization": { "type": "string" }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "fields": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "origin": { "type": "array", "items": { "type": "string" } }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "engine.WebHookService.UpdateWebHookBody": { "type": "object", "properties": { "authorization": { "type": "string" }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "name": { "type": "string" }, "origin": { "type": "array", "items": { "type": "string" } }, "schema": { "$ref": "#/definitions/engine.Lookup" } } }, "ftsSearchData": { "type": "object", "properties": { "id": { "type": "string" }, "object_name": { "type": "string" }, "text": { "type": "string" } } }, "ftsSearchResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/ftsSearchData" } }, "next": { "type": "boolean" } } }, "general.ExtendedLookup": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "type": { "type": "string" } } }, "general.Lookup": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" }, "name": { "type": "string" } } }, "google.protobuf.Any": { "type": "object", "properties": { "@type": { "type": "string" } }, "additionalProperties": {} }, "google.protobuf.NullValue": { "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\nThe JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value.", "type": "string", "default": "NULL_VALUE", "enum": [ "NULL_VALUE" ] }, "google.rpc.Status": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32" }, "details": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/google.protobuf.Any" } }, "message": { "type": "string" } } }, "im.service.provider.v1.CreateTelegramBotGateRequest": { "type": "object", "properties": { "api_token": { "type": "string" }, "enabled": { "type": "boolean" }, "name": { "type": "string" }, "peer": { "$ref": "#/definitions/webitel.im.provider.v1.Peer" }, "uri": { "type": "string" }, "webhook_secret": { "type": "string" } } }, "im.service.provider.v1.CreateTelegramBotGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderTelegramBotGate" } } }, "im.service.provider.v1.DeleteTelegramBotGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderTelegramBotGate" } } }, "im.service.provider.v1.GetTelegramBotGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderTelegramBotGate" } } }, "im.service.provider.v1.TelegramBotService.UpdateTelegramBotGateBody": { "type": "object", "properties": { "api_token": { "type": "string" }, "enabled": { "type": "boolean" }, "name": { "type": "string" }, "peer": { "$ref": "#/definitions/webitel.im.provider.v1.Peer" }, "webhook_secret": { "type": "string" } } }, "im.service.provider.v1.UpdateTelegramBotGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderTelegramBotGate" } } }, "knowledgebaseArticle": { "type": "object", "properties": { "created_at": { "description": "The user who created this Field.", "type": "string", "format": "int64" }, "created_by": { "description": "Timestamp(milli) of the Field creation.", "$ref": "#/definitions/webitelKnowledgebaseLookup" }, "etag": { "description": "Unique ID of the latest version of the update.\nThis ID changes after any update to the underlying value(s).", "type": "string" }, "has_children": { "description": "Indicates that the article has children.", "type": "boolean" }, "id": { "description": "The unique ID of the association. Never changes.", "type": "string" }, "parent_article": { "description": "The parent article ID.", "type": "string", "format": "int64" }, "pinned": { "description": "Indicates that the article is pinned on the top of list.", "type": "boolean" }, "space_id": { "description": "Space ID associated with.", "type": "string", "format": "int64" }, "state": { "description": "Indicates the state of the article.", "type": "boolean" }, "tags": { "description": "Tags associated with the article.", "type": "array", "items": { "type": "string" } }, "text": { "description": "The text content of the article.", "type": "string" }, "title": { "description": "The title of the article.", "type": "string" }, "updated_at": { "description": "Timestamp(milli) of the last Field update.\nTake part in Etag generation.", "type": "string", "format": "int64" }, "updated_by": { "description": "The user who performed last Update.", "$ref": "#/definitions/webitelKnowledgebaseLookup" }, "ver": { "description": "READONLY. Operational attributes\nVersion of the latest update. Numeric sequence.", "type": "integer", "format": "int32" } } }, "knowledgebaseArticleList": { "description": "Article dataset.\nNOTE: Edge represents connection between two nodes.\nSo this spaceArticles.data are always subordinate to some space.id.", "type": "object", "properties": { "data": { "description": "Article dataset page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/knowledgebaseArticle" } }, "next": { "type": "boolean", "title": "Indicates that this is a partial result.\nMore data available upon query: ?size=${data.len}\u0026page=${page++}" }, "page": { "description": "The page number of the partial result.", "type": "integer", "format": "int32" } } }, "knowledgebaseArticleVersion": { "type": "object", "properties": { "id": { "description": "The unique ID of the association. Never changes.", "type": "string" }, "parent_article": { "description": "The parent article ID.", "type": "string", "format": "int64" }, "space_id": { "description": "Space ID associated with.", "type": "string", "format": "int64" }, "tags": { "description": "Tags associated with the article.", "type": "array", "items": { "type": "string" } }, "text": { "description": "The text content of the article.", "type": "string" }, "title": { "description": "The title of the article.", "type": "string" }, "updated_at": { "description": "Timestamp(milli) of the last Field update.", "type": "string", "format": "int64" }, "updated_by": { "description": "The user who loaded this attachment.", "$ref": "#/definitions/webitelKnowledgebaseLookup" }, "ver": { "description": "Version of the latest update. Numeric sequence.", "type": "integer", "format": "int32" } } }, "knowledgebaseArticleVersionList": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/knowledgebaseArticleVersion" } }, "next": { "type": "boolean", "title": "Indicates that this is a partial result.\nMore data available upon query: ?size=${data.len}\u0026page=${page++}" }, "page": { "description": "The page number of the partial result.", "type": "integer", "format": "int32" } } }, "knowledgebaseAttachmentList": { "type": "object", "properties": { "data": { "description": "Attachment dataset page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitelKnowledgebaseAttachment" } }, "next": { "type": "boolean", "title": "Indicates that this is a partial result.\nMore data available upon query: ?size=${data.len}\u0026page=${page++}" }, "page": { "description": "The page number of the partial result.", "type": "integer", "format": "int32" } } }, "knowledgebaseCombined": { "type": "object", "properties": { "id": { "type": "string", "title": "Id of the record (article or space)" }, "name": { "type": "string", "title": "Display name of the record (article or space)" }, "type": { "type": "string", "title": "Type of the record: article/space" } } }, "knowledgebaseCombinedList": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/knowledgebaseCombined" } }, "next": { "type": "boolean", "title": "Indicates that this is a partial result.\nMore data available upon query: ?size=${data.len}\u0026page=${page++}" }, "page": { "description": "The page number of the partial result.", "type": "integer", "format": "int32" } } }, "knowledgebaseInputArticle": { "description": "An input of the Space's Articles.", "type": "object", "required": [ "etag" ], "properties": { "etag": { "description": "Unique ID of the latest version of an existing resource.", "type": "string" }, "parent_article": { "description": "The parent article ID.", "type": "string", "format": "int64" }, "pinned": { "description": "Indicates that the article is pinned on the top of list.", "type": "boolean" }, "space_id": { "description": "[VALUE]: --------------------------------------\nSpace ID associated with.", "type": "string", "format": "int64" }, "state": { "description": "Indicates if article is active and actual.", "type": "boolean" }, "tags": { "description": "Tags associated with the article.", "type": "array", "items": { "type": "string" } }, "text": { "description": "The text content of the article.", "type": "string" }, "title": { "description": "The title of the article.", "type": "string" } } }, "knowledgebaseInputSpace": { "description": "The Space principal input.", "type": "object", "properties": { "etag": { "description": "Unique ID of the latest version of an existing resorce.", "type": "string" }, "home_page": { "description": "BIO. Short description about the space.\nOPTIONAL. Multi-lined text.", "type": "string" }, "name": { "description": "Represents the name of the knowledge base space.", "type": "string" }, "state": { "description": "The state of the space.", "type": "boolean" } } }, "knowledgebaseSpace": { "type": "object", "properties": { "created_at": { "description": "The timestamp when the space was created (in Unix time).", "type": "string", "format": "int64" }, "created_by": { "description": "The user who created the space.", "$ref": "#/definitions/webitelKnowledgebaseLookup" }, "domain": { "description": "READONLY. The space's metadata.", "$ref": "#/definitions/webitelKnowledgebaseLookup" }, "etag": { "description": "Unique ID of the latest version of the update.\nThis ID changes after any update to the underlying value(s).", "type": "string" }, "has_children": { "description": "Indicates if the space has children.", "type": "boolean" }, "home_page": { "description": "BIO. Short description about the space.", "type": "string" }, "id": { "description": "The unique ID of the association. Never changes.", "type": "string" }, "mode": { "description": "[R]ecord[b]ased[A]ccess[C]ontrol mode granted.", "type": "string" }, "name": { "description": "The name of the space.", "type": "string" }, "state": { "description": "The state of the space.", "type": "boolean" }, "updated_at": { "description": "The timestamp when the space was last updated (in Unix time).", "type": "string", "format": "int64" }, "updated_by": { "description": "The user who last updated the space.", "$ref": "#/definitions/webitelKnowledgebaseLookup" }, "ver": { "description": "READONLY. Operational attributes\nVersion of the latest update. Numeric sequence.", "type": "integer", "format": "int32" } } }, "knowledgebaseSpaceList": { "type": "object", "properties": { "data": { "description": "Space(s) dataset page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/knowledgebaseSpace" } }, "next": { "type": "boolean", "title": "Indicates that this is a partial result.\nMore data available upon query: ?size=${data.len}\u0026page=${page++}" }, "page": { "description": "The page number of the partial result.", "type": "integer", "format": "int32" } } }, "knowledgebaseTagsList": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitelKnowledgebaseTag" } }, "next": { "type": "boolean" }, "page": { "type": "integer", "format": "int32" } } }, "loggerAction": { "type": "string", "default": "default_no_action", "enum": [ "default_no_action", "create", "update", "read", "delete" ] }, "loggerAvailableSystemObjects": { "type": "string", "default": "cc_queue", "enum": [ "cc_queue", "schema", "users", "devices", "calendars", "cc_list", "cc_team", "cc_agent", "cc_resource", "cc_resource_group", "chat_bots", "cases", "contacts", "cc_list_number", "case_comments", "record_file", "sso" ] }, "loggerConfig": { "type": "object", "properties": { "days_to_store": { "type": "integer", "format": "int32" }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "id": { "type": "integer", "format": "int32" }, "logs_count": { "type": "string", "format": "int64" }, "logs_size": { "type": "string" }, "object": { "$ref": "#/definitions/loggerLookup" }, "period": { "type": "integer", "format": "int32" }, "storage": { "$ref": "#/definitions/loggerLookup" } } }, "loggerConfigStatus": { "type": "object", "properties": { "is_enabled": { "type": "boolean" } } }, "loggerConfigs": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/loggerConfig" } }, "next": { "type": "boolean" }, "page": { "type": "integer", "format": "int32" } } }, "loggerCreateConfigRequest": { "type": "object", "properties": { "days_to_store": { "type": "integer", "format": "int32" }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "object": { "$ref": "#/definitions/loggerLookup" }, "period": { "type": "integer", "format": "int32" }, "storage": { "$ref": "#/definitions/loggerLookup" } } }, "loggerEmpty": { "type": "object" }, "loggerLog": { "type": "object", "properties": { "action": { "type": "string" }, "config_id": { "type": "integer", "format": "int32" }, "date": { "type": "string", "format": "int64" }, "id": { "type": "integer", "format": "int32" }, "new_state": { "type": "string" }, "object": { "$ref": "#/definitions/loggerLookup" }, "record": { "$ref": "#/definitions/loggerRecord" }, "user": { "$ref": "#/definitions/loggerLookup" }, "user_ip": { "type": "string" } } }, "loggerLogs": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/loggerLog" } }, "next": { "type": "boolean" }, "page": { "type": "integer", "format": "int32" } } }, "loggerLookup": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "name": { "type": "string" } } }, "loggerRecord": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" } } }, "loggerSystemObjects": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/loggerLookup" } } } }, "protoDataStruct": { "description": "Type of the Structure.\n\nint64 dc = 0;", "type": "object", "properties": { "about": { "description": "Optional. Short description.", "type": "string" }, "administered": { "type": "boolean", "title": "Administer access control ? Enable RbAC ?" }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/dataLookupValue" }, "display": { "description": "Required. Display [fields.id] key.\nUsed as [lookup].name setting for this [struct] type.", "type": "string" }, "extendable": { "description": "// Extension fields type.\n Extension extension = 23;", "type": "boolean", "title": "Readonly. System- type(s) support only !" }, "fields": { "description": "Fields of the struct type.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/dataField" } }, "id": { "description": "Deprecated. Use `repo` instead. The [type] name (singular form), e.g.: `country`.", "type": "string" }, "indexes": { "description": "INDEX fields.\n\nExtension extension = 15;", "type": "object", "additionalProperties": { "$ref": "#/definitions/dataIndex" } }, "name": { "description": "A User-friendly [id] name ; lang: specific.", "type": "string" }, "objclass": { "description": "Readonly. RbAC objclass identity.", "type": "string" }, "path": { "description": "Readonly. Relative path to access the dataset APIs, e.g.: `dictionaries/countries`.", "type": "string" }, "primary": { "description": "Required. Primary [fields.id] key.\nUsed as [lookup].id setting for this [struct] type.", "type": "string" }, "readonly": { "type": "boolean", "title": "Readonly. Is [ system / custom ] type ?\nNOTE: Custom [types.repo] are always prefixed with `/dictionaries`" }, "repo": { "description": "Repository (dataset) name (plural form), e.g.: `countries`.", "type": "string" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/dataLookupValue" } } }, "protobufAny": { "type": "object", "properties": { "@type": { "type": "string" } }, "additionalProperties": {} }, "protobufNullValue": { "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\nThe JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value.", "type": "string", "default": "NULL_VALUE", "enum": [ "NULL_VALUE" ] }, "rpcStatus": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32" }, "details": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/protobufAny" } }, "message": { "type": "string" } } }, "storage.BackendProfile": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "data_count": { "type": "string", "format": "int64" }, "data_size": { "type": "string", "format": "int64" }, "description": { "type": "string" }, "disabled": { "type": "boolean" }, "expire_days": { "type": "integer", "format": "int32" }, "id": { "type": "string", "format": "int64" }, "max_size": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "priority": { "type": "integer", "format": "int32" }, "properties": { "type": "object", "additionalProperties": { "type": "string" } }, "type": { "type": "string" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" } } }, "storage.BackendProfileService.PatchBackendProfileBody": { "type": "object", "properties": { "description": { "type": "string" }, "disabled": { "type": "boolean" }, "domain_id": { "type": "string", "format": "int64" }, "expire_days": { "type": "integer", "format": "int32" }, "fields": { "type": "array", "items": { "type": "string" } }, "max_size": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "priority": { "type": "integer", "format": "int32" }, "properties": { "type": "object", "additionalProperties": { "type": "string" } } } }, "storage.BackendProfileService.UpdateBackendProfileBody": { "type": "object", "properties": { "description": { "type": "string" }, "disabled": { "type": "boolean" }, "domain_id": { "type": "string", "format": "int64" }, "expire_days": { "type": "integer", "format": "int32" }, "max_size": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "priority": { "type": "integer", "format": "int32" }, "properties": { "type": "object", "additionalProperties": { "type": "string" } } } }, "storage.BulkGenerateFileLinkResponse": { "type": "object", "properties": { "links": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/storage.GenerateFileLinkResponse" } } } }, "storage.CognitiveProfile": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "default": { "type": "boolean" }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "properties": {}, "provider": { "$ref": "#/definitions/storage.ProviderType" }, "service": { "$ref": "#/definitions/storage.ServiceType" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" } } }, "storage.CognitiveProfileService.PatchCognitiveProfileBody": { "type": "object", "properties": { "default": { "type": "boolean" }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "fields": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "properties": {}, "provider": { "$ref": "#/definitions/storage.ProviderType" }, "service": { "$ref": "#/definitions/storage.ServiceType" } } }, "storage.CognitiveProfileService.UpdateCognitiveProfileBody": { "type": "object", "properties": { "default": { "type": "boolean" }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "name": { "type": "string" }, "properties": {}, "provider": { "$ref": "#/definitions/storage.ProviderType" }, "service": { "$ref": "#/definitions/storage.ServiceType" } } }, "storage.CognitiveProfileVoice": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" } } }, "storage.CreateBackendProfileRequest": { "type": "object", "properties": { "description": { "type": "string" }, "disabled": { "type": "boolean" }, "domain_id": { "type": "string", "format": "int64" }, "expire_days": { "type": "integer", "format": "int32" }, "max_size": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "priority": { "type": "integer", "format": "int32" }, "properties": { "type": "object", "additionalProperties": { "type": "string" } }, "type": { "type": "string" } } }, "storage.CreateCognitiveProfileRequest": { "description": "Create cognitive profile request body for TTS and TTS", "type": "object", "title": "Create cognitive profile request body", "required": [ "name", "provider", "service", "properties" ], "properties": { "default": { "type": "boolean" }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "name": { "type": "string" }, "properties": {}, "provider": { "$ref": "#/definitions/storage.ProviderType" }, "service": { "$ref": "#/definitions/storage.ServiceType" } } }, "storage.CreateFilePolicyRequest": { "type": "object", "properties": { "channels": { "type": "array", "items": { "$ref": "#/definitions/storage.UploadFileChannel" } }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "encrypt": { "type": "boolean" }, "max_upload_size": { "type": "string", "format": "int64" }, "mime_types": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "retention_days": { "type": "integer", "format": "int32" }, "speed_download": { "type": "string", "format": "int64" }, "speed_upload": { "type": "string", "format": "int64" } } }, "storage.CreateImportTemplateRequest": { "description": "Create import template for CSV", "type": "object", "title": "Create import template request body", "required": [ "name", "source_id", "parameters" ], "properties": { "description": { "type": "string" }, "name": { "type": "string" }, "parameters": { "type": "object" }, "source": { "$ref": "#/definitions/engine.Lookup" }, "source_id": { "type": "string", "format": "int64" }, "source_type": { "$ref": "#/definitions/storage.ImportSourceType" } } }, "storage.CustomFileProperties": { "type": "object", "properties": { "end_time": { "type": "string", "format": "int64", "title": "Кінець запису" }, "height": { "type": "string", "format": "int64" }, "start_time": { "type": "string", "format": "int64", "title": "Початок запису (якщо це відео/аудіо)" }, "width": { "type": "string", "format": "int64" } } }, "storage.DeleteFileTranscriptRequest": { "type": "object", "properties": { "id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "uuid": { "type": "array", "items": { "type": "string" } } } }, "storage.DeleteFileTranscriptResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "string", "format": "int64" } } } }, "storage.DeleteFilesRequest": { "type": "object", "properties": { "id": { "type": "array", "items": { "type": "string", "format": "int64" } } } }, "storage.DeleteFilesResponse": { "type": "object" }, "storage.DeleteQuarantineFilesRequest": { "type": "object", "properties": { "id": { "type": "array", "items": { "type": "string", "format": "int64" } } } }, "storage.File": { "type": "object", "properties": { "channel": { "$ref": "#/definitions/storage.UploadFileChannel" }, "id": { "type": "string", "format": "int64" }, "mime_type": { "type": "string" }, "name": { "type": "string" }, "properties": { "$ref": "#/definitions/storage.CustomFileProperties" }, "reference_id": { "type": "string" }, "retention_until": { "type": "string", "format": "int64" }, "sha256sum": { "type": "string" }, "size": { "type": "string", "format": "int64" }, "thumbnail": { "$ref": "#/definitions/storage.Thumbnail" }, "uploaded_at": { "type": "string", "format": "int64" }, "uploaded_by": { "$ref": "#/definitions/engine.Lookup" }, "uuid": { "type": "string", "title": "deprecated use reference_id" }, "view_name": { "type": "string" } } }, "storage.FileMalwareScan": { "type": "object", "properties": { "description": { "type": "string" }, "found": { "type": "boolean" }, "status": { "type": "string" } } }, "storage.FilePoliciesService.FilePolicyApplyBody": { "type": "object", "properties": { "apply_to_null_channel": { "type": "boolean" } } }, "storage.FilePoliciesService.MovePositionFilePolicyBody": { "type": "object" }, "storage.FilePoliciesService.PatchFilePolicyBody": { "type": "object", "properties": { "channels": { "type": "array", "items": { "$ref": "#/definitions/storage.UploadFileChannel" } }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "encrypt": { "type": "boolean" }, "fields": { "type": "array", "items": { "type": "string" } }, "max_upload_size": { "type": "string", "format": "int64" }, "mime_types": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "retention_days": { "type": "integer", "format": "int32" }, "speed_download": { "type": "string", "format": "int64" }, "speed_upload": { "type": "string", "format": "int64" } } }, "storage.FilePoliciesService.UpdateFilePolicyBody": { "type": "object", "properties": { "channels": { "type": "array", "items": { "$ref": "#/definitions/storage.UploadFileChannel" } }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "encrypt": { "type": "boolean" }, "max_upload_size": { "type": "string", "format": "int64" }, "mime_types": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "retention_days": { "type": "integer", "format": "int32" }, "speed_download": { "type": "string", "format": "int64" }, "speed_upload": { "type": "string", "format": "int64" } } }, "storage.FilePolicy": { "type": "object", "properties": { "channels": { "type": "array", "items": { "$ref": "#/definitions/storage.UploadFileChannel" } }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "encrypt": { "type": "boolean" }, "id": { "type": "integer", "format": "int32" }, "max_upload_size": { "type": "string", "format": "int64" }, "mime_types": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "position": { "type": "integer", "format": "int32" }, "retention_days": { "type": "integer", "format": "int32" }, "speed_download": { "type": "string", "format": "int64" }, "speed_upload": { "type": "string", "format": "int64" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" } } }, "storage.FilePolicyApplyResponse": { "type": "object", "properties": { "count": { "type": "string", "format": "int64" } } }, "storage.FileService.DeleteScreenRecordingsBody": { "type": "object" }, "storage.FileService.DeleteScreenRecordingsByAgentBody": { "type": "object" }, "storage.FileService.DeleteVideocallFilesBody": { "type": "object", "properties": { "id": { "type": "array", "items": { "type": "string", "format": "int64" } } } }, "storage.FileTranscriptSafeResponse": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "file": { "$ref": "#/definitions/engine.Lookup" }, "id": { "type": "string", "format": "int64" }, "locale": { "type": "string" }, "profile": { "$ref": "#/definitions/engine.Lookup" }, "transcript": { "type": "string" } } }, "storage.GenerateFileLinkRequest": { "type": "object", "properties": { "action": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "file_id": { "type": "string", "format": "int64" }, "metadata": { "type": "boolean" }, "query": { "type": "object", "additionalProperties": { "type": "string" } }, "source": { "type": "string" } } }, "storage.GenerateFileLinkResponse": { "type": "object", "properties": { "base_url": { "type": "string" }, "metadata": { "$ref": "#/definitions/storage.GenerateFileLinkResponse.Metadata" }, "url": { "type": "string", "title": "deprecated" } } }, "storage.GenerateFileLinkResponse.Metadata": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" }, "mime_type": { "type": "string" }, "name": { "type": "string" }, "size": { "type": "string", "format": "int64" }, "uuid": { "type": "string" } } }, "storage.ImportSourceType": { "type": "string", "default": "DefaultSourceType", "enum": [ "DefaultSourceType", "Dialer" ] }, "storage.ImportTemplate": { "type": "object", "properties": { "description": { "type": "string" }, "id": { "type": "integer", "format": "int32" }, "name": { "type": "string" }, "parameters": { "type": "object" }, "source": { "$ref": "#/definitions/engine.Lookup" }, "source_id": { "type": "string", "format": "int64" }, "source_type": { "$ref": "#/definitions/storage.ImportSourceType" } } }, "storage.ImportTemplateService.PatchImportTemplateBody": { "description": "Patch import template for CSV", "type": "object", "title": "Patch import template request body", "properties": { "description": { "type": "string" }, "fields": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "parameters": { "type": "object" } } }, "storage.ImportTemplateService.UpdateImportTemplateBody": { "description": "Update import template for CSV", "type": "object", "title": "Update import template request body", "required": [ "name" ], "properties": { "description": { "type": "string" }, "name": { "type": "string" }, "parameters": { "type": "object" }, "source": { "$ref": "#/definitions/engine.Lookup" } } }, "storage.ListBackendProfile": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/storage.BackendProfile" } }, "next": { "type": "boolean" } } }, "storage.ListCognitiveProfile": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/storage.CognitiveProfile" } }, "next": { "type": "boolean" } } }, "storage.ListCognitiveProfileVoices": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/storage.CognitiveProfileVoice" } } } }, "storage.ListFile": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/storage.File" } }, "next": { "type": "boolean" } } }, "storage.ListFilePolicies": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/storage.FilePolicy" } }, "next": { "type": "boolean" } } }, "storage.ListImportTemplate": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/storage.ImportTemplate" } }, "next": { "type": "boolean" } } }, "storage.ListMedia": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/storage.MediaFile" } }, "next": { "type": "boolean" } } }, "storage.ListPhrases": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/storage.TranscriptPhrase" } }, "next": { "type": "boolean" } } }, "storage.MediaFile": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/engine.Lookup" }, "id": { "type": "string", "format": "int64" }, "mime_type": { "type": "string" }, "name": { "type": "string" }, "size": { "type": "string", "format": "int64" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/engine.Lookup" } } }, "storage.MovePositionFilePolicyResponse": { "type": "object", "properties": { "success": { "type": "boolean" } } }, "storage.ProviderType": { "type": "string", "default": "DefaultProvider", "enum": [ "DefaultProvider", "Microsoft", "Google", "ElevenLabs" ] }, "storage.PutFileTranscriptRequest": { "type": "object", "properties": { "file_id": { "type": "string", "format": "int64" }, "locale": { "type": "string" }, "phrases": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/storage.TranscriptPhrase" } }, "text": { "type": "string" }, "uuid": { "type": "string" } } }, "storage.PutFileTranscriptResponse": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" } } }, "storage.RestoreFilesRequest": { "type": "object", "properties": { "id": { "type": "array", "items": { "type": "string", "format": "int64" } } } }, "storage.RestoreFilesResponse": { "type": "object" }, "storage.SafeUploadFileRequest.Metadata": { "type": "object", "properties": { "channel": { "$ref": "#/definitions/storage.UploadFileChannel" }, "domain_id": { "type": "string", "format": "int64" }, "generate_thumbnail": { "type": "boolean" }, "mime_type": { "type": "string" }, "name": { "type": "string" }, "profile_id": { "type": "string", "format": "int64" }, "progress": { "type": "boolean" }, "properties": { "$ref": "#/definitions/storage.CustomFileProperties" }, "stream_response": { "type": "boolean" }, "uuid": { "type": "string" } } }, "storage.SafeUploadFileResponse": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/storage.SafeUploadFileResponse.Metadata" }, "part": { "$ref": "#/definitions/storage.SafeUploadFileResponse.Part" }, "progress": { "$ref": "#/definitions/storage.SafeUploadFileResponse.Progress" } } }, "storage.SafeUploadFileResponse.Metadata": { "type": "object", "properties": { "code": { "$ref": "#/definitions/storage.UploadStatusCode" }, "file_id": { "type": "string", "format": "int64" }, "file_url": { "type": "string" }, "malware": { "$ref": "#/definitions/storage.FileMalwareScan" }, "mime_type": { "type": "string" }, "name": { "type": "string" }, "server": { "type": "string" }, "sha256sum": { "type": "string" }, "size": { "type": "string", "format": "int64" }, "thumbnail": { "$ref": "#/definitions/storage.Thumbnail" }, "uuid": { "type": "string" } } }, "storage.SafeUploadFileResponse.Part": { "type": "object", "properties": { "size": { "type": "string", "format": "int64" }, "upload_id": { "type": "string" } } }, "storage.SafeUploadFileResponse.Progress": { "type": "object", "properties": { "uploaded": { "type": "string", "format": "int64" } } }, "storage.ScreenrecordingChannel": { "type": "string", "default": "SCREENRECORDING", "enum": [ "SCREENRECORDING", "CALL" ] }, "storage.ScreenrecordingType": { "type": "string", "default": "PDF", "enum": [ "PDF", "SCREENSHOT", "SCREENSHARING" ] }, "storage.ServiceType": { "type": "string", "default": "DefaultService", "enum": [ "DefaultService", "STT", "TTS" ] }, "storage.StartFileTranscriptRequest": { "type": "object", "properties": { "file_id": { "type": "array", "items": { "type": "string", "format": "int64" } }, "locale": { "type": "string" }, "profile": { "$ref": "#/definitions/engine.Lookup" }, "uuid": { "type": "array", "items": { "type": "string" } } } }, "storage.StartFileTranscriptResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/storage.StartFileTranscriptResponse.TranscriptJob" } } } }, "storage.StartFileTranscriptResponse.TranscriptJob": { "type": "object", "properties": { "action": { "type": "string" }, "created_at": { "type": "string", "format": "int64" }, "file_id": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "state": { "type": "string" } } }, "storage.StreamFile": { "type": "object", "properties": { "chunk": { "type": "string", "format": "byte" }, "metadata": { "$ref": "#/definitions/storage.StreamFile.Metadata" } } }, "storage.StreamFile.Metadata": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" }, "mime_type": { "type": "string" }, "name": { "type": "string" }, "sha256sum": { "type": "string" }, "size": { "type": "string", "format": "int64" }, "thumbnail": { "$ref": "#/definitions/storage.Thumbnail" }, "uuid": { "type": "string" } } }, "storage.Thumbnail": { "type": "object", "properties": { "mime_type": { "type": "string" }, "scale": { "type": "string" }, "size": { "type": "string", "format": "int64" } } }, "storage.TranscriptPhrase": { "type": "object", "properties": { "channel": { "type": "integer", "format": "int64" }, "end_sec": { "type": "number", "format": "float" }, "phrase": { "type": "string" }, "start_sec": { "type": "number", "format": "float" } } }, "storage.UploadFileChannel": { "type": "string", "title": "- ScreenRecordingChannel: ScreenshotChannel = 8; // deprecated", "default": "UnknownChannel", "enum": [ "UnknownChannel", "ChatChannel", "MailChannel", "CallChannel", "LogChannel", "MediaChannel", "KnowledgebaseChannel", "CasesChannel", "ScreenRecordingChannel" ] }, "storage.UploadFileRequest.Metadata": { "type": "object", "properties": { "channel": { "$ref": "#/definitions/storage.UploadFileChannel" }, "created_at": { "type": "string", "format": "int64" }, "domain_id": { "type": "string", "format": "int64" }, "generate_thumbnail": { "type": "boolean" }, "mime_type": { "type": "string" }, "name": { "type": "string" }, "profile_id": { "type": "string", "format": "int64" }, "properties": { "$ref": "#/definitions/storage.CustomFileProperties" }, "stream_response": { "type": "boolean" }, "uploaded_by": { "type": "string", "format": "int64" }, "uuid": { "type": "string" } } }, "storage.UploadFileResponse": { "type": "object", "properties": { "code": { "$ref": "#/definitions/storage.UploadStatusCode" }, "file_id": { "type": "string", "format": "int64" }, "file_url": { "type": "string" }, "malware": { "$ref": "#/definitions/storage.FileMalwareScan" }, "server": { "type": "string" }, "sha256sum": { "type": "string" }, "size": { "type": "string", "format": "int64" }, "thumbnail": { "$ref": "#/definitions/storage.Thumbnail" } } }, "storage.UploadFileUrlResponse": { "type": "object", "properties": { "code": { "$ref": "#/definitions/storage.UploadStatusCode" }, "id": { "type": "string", "format": "int64" }, "malware": { "$ref": "#/definitions/storage.FileMalwareScan" }, "mime": { "type": "string" }, "server": { "type": "string" }, "sha256sum": { "type": "string" }, "size": { "type": "string", "format": "int64" }, "thumbnail": { "$ref": "#/definitions/storage.Thumbnail" }, "url": { "type": "string" } } }, "storage.UploadStatusCode": { "type": "string", "default": "Unknown", "enum": [ "Unknown", "Ok", "Failed" ] }, "typeBinary": { "type": "object", "properties": { "max_bytes": { "type": "integer", "format": "int64" }, "violation": { "type": "object", "additionalProperties": { "type": "string" } } } }, "typeBool": { "type": "object", "title": "no constraints" }, "typeDatetime": { "description": "Datetime type settings.\n\nenum Part {\n full = 0; // date \u0026 time\n date = 1; // date only ; YYYY-MM-DD\n time = 2; // time only ; HH:mm:ss[.pres]\n }\n Part part = 1; // part of: [ date \u0026| time ]\n enum Stamp {\n s = 0; // seconds\n ms = 1; // [milli]seconds ; E+3\n mc = 2; // [micro]seconds ; E+6\n ns = 3; // [nano]seconds ; E+9\n m = -1; // minutes\n h = -2; // hours\n }\n Stamp time = 2; // time precision\n string zone = 3; // ??? [ Europe/Kyiv | +03:00 ]", "type": "object", "properties": { "epoch": { "description": "Epoch timestamp.\nIf zero - UNIX epoch (1970-01-01 00:00:00) will be used.", "type": "number", "format": "double" }, "format": { "type": "string", "title": "Display format.\nSee [layouts](https://pkg.go.dev/time#pkg-constants) for details.\nDefault: `Mon, 02 Jan 2006 15:04:05 -0700`; [time.RFC1123Z]" }, "zone": { "description": "Timezone associated.\nDefault: `UTC`.", "type": "string" } } }, "typeDuration": { "type": "object", "title": "Duration", "properties": { "format": { "type": "string", "title": "Display format.\nTODO: `hh:mm:ss.ms`" }, "max": { "type": "string", "format": "int64" }, "min": { "type": "string", "format": "int64" }, "violation": { "type": "object", "additionalProperties": { "type": "string" } } } }, "typeFloat": { "type": "object", "properties": { "frac": { "type": "integer", "format": "int64", "title": "fractional part precision" }, "max": { "type": "number", "format": "double" }, "min": { "type": "number", "format": "double" }, "violation": { "type": "object", "additionalProperties": { "type": "string" } } } }, "typeInt": { "type": "object", "properties": { "max": { "type": "string", "format": "int64" }, "min": { "type": "string", "format": "int64" }, "violation": { "type": "object", "title": "DESIGN. Custom error(s) on spec. constraint violation.\nmap \u003c constraint, template \u003e to produce [status.message].\n{\n \"min\": \"country code {value} MUST contain at least 2 digits\"\n \"max\": \"country code {value} MAY contain at most 4 digits\"\n}", "additionalProperties": { "type": "string" } } } }, "typeKind": { "description": "Kind of primitive data types.\n\n - none: option allow_alias = true;\n - list: [array]\n - int: int32\n - uint: uint32\n - float: float32\n - datetime: date \u0026| time", "type": "string", "default": "none", "enum": [ "none", "list", "bool", "int", "int32", "int64", "uint", "uint32", "uint64", "float", "float32", "float64", "binary", "lookup", "string", "richtext", "datetime", "duration" ] }, "typeText": { "type": "object", "properties": { "max_bytes": { "type": "integer", "format": "int64" }, "max_chars": { "type": "integer", "format": "int64" }, "multiline": { "type": "boolean" }, "violation": { "type": "object", "title": "// accept format\n string accept_regex = 7;\n // equality strategy\n bool ignore_case = 8;", "additionalProperties": { "type": "string" } } } }, "typeUint": { "type": "object", "properties": { "max": { "type": "string", "format": "uint64" }, "min": { "type": "string", "format": "uint64" }, "violation": { "type": "object", "additionalProperties": { "type": "string" } } } }, "web_meeting_backend.CreateMeetingRequest": { "description": "Request to create a new meeting.", "type": "object", "properties": { "base_path": { "description": "Base path for the generated meeting URL.", "type": "string" }, "domain_id": { "description": "Identifier of the domain owning the meeting.", "type": "string", "format": "int64" }, "expire_sec": { "description": "Expiration time in seconds from the moment of creation.", "type": "string", "format": "int64" }, "title": { "description": "Title or topic of the meeting.", "type": "string" }, "variables": { "description": "Custom metadata or configuration variables.", "type": "object", "additionalProperties": { "type": "string" } } } }, "web_meeting_backend.CreateMeetingResponse": { "description": "Response containing the created meeting details.", "type": "object", "properties": { "id": { "description": "Unique identifier of the created meeting.", "type": "string" }, "url": { "description": "Full URL to access the meeting.", "type": "string" } } }, "web_meeting_backend.DeleteMeetingResponse": { "description": "Empty response for meeting deletion.", "type": "object" }, "web_meeting_backend.Meeting": { "description": "Detailed meeting information.", "type": "object", "properties": { "allow_satisfaction": { "description": "Flag indicating if satisfaction feedback is allowed.", "type": "boolean" }, "created_at": { "description": "Timestamp when the meeting was created (Unix).", "type": "string", "format": "int64" }, "expires_at": { "description": "Timestamp when the meeting link expires (Unix).", "type": "string", "format": "int64" }, "id": { "description": "Unique identifier of the meeting.", "type": "string" }, "satisfaction": { "description": "Current satisfaction rating.", "type": "string" }, "title": { "description": "Title or topic of the meeting.", "type": "string" }, "url": { "description": "Full URL to join the meeting.", "type": "string" }, "variables": { "description": "Custom metadata or configuration variables.", "type": "object", "additionalProperties": { "type": "string" } } } }, "web_meeting_backend.MeetingService.SatisfactionMeetingBody": { "description": "Request to submit meeting satisfaction feedback.", "type": "object", "properties": { "satisfaction": { "description": "The satisfaction value or score.", "type": "string" } } }, "web_meeting_backend.MeetingView": { "description": "Public view of the meeting (limited fields).", "type": "object", "properties": { "allow_satisfaction": { "description": "Flag indicating if satisfaction feedback is allowed.", "type": "boolean" }, "created_at": { "description": "Timestamp when the meeting was created (Unix).", "type": "string", "format": "int64" }, "expires_at": { "description": "Timestamp when the meeting link expires (Unix).", "type": "string", "format": "int64" }, "satisfaction": { "description": "Current satisfaction rating.", "type": "string" }, "title": { "description": "Title or topic of the meeting.", "type": "string" } } }, "web_meeting_backend.SatisfactionMeetingResponse": { "description": "Empty response for satisfaction submission.", "type": "object" }, "webitel.cases.Attachment": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" }, "mime": { "type": "string" }, "name": { "type": "string" }, "size": { "type": "string", "format": "int64" }, "url": { "type": "string" } } }, "webitel.cases.CallEvent": { "type": "object", "properties": { "closed_at": { "type": "string", "format": "int64" }, "duration": { "type": "string", "format": "int64" }, "files": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.CallFile" } }, "flow_scheme": { "$ref": "#/definitions/general.Lookup" }, "gateway": { "$ref": "#/definitions/general.Lookup" }, "id": { "type": "string" }, "is_detailed": { "type": "boolean" }, "is_inbound": { "type": "boolean" }, "is_missed": { "type": "boolean" }, "participants": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/general.Lookup" } }, "queue": { "$ref": "#/definitions/general.Lookup" }, "total_duration": { "type": "string", "format": "int64" }, "transcripts": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.TranscriptLookup" } } } }, "webitel.cases.CallFile": { "type": "object", "properties": { "channel": { "type": "string" }, "id": { "type": "string", "format": "int64" }, "mime_type": { "type": "string" }, "name": { "type": "string" }, "size": { "type": "string", "format": "int64" }, "start_at": { "type": "string", "format": "int64" }, "stop_at": { "type": "string", "format": "int64" }, "type": { "$ref": "#/definitions/webitel.cases.CallFileType" } } }, "webitel.cases.CallFileType": { "type": "string", "default": "file_type_empty", "enum": [ "file_type_empty", "file_type_screenshot", "file_type_screensharing", "file_type_audio", "file_type_video", "file_type_pdf" ] }, "webitel.cases.Case": { "description": "Message representing a case.", "type": "object", "properties": { "assignee": { "description": "Assignee responsible for resolving the case.", "$ref": "#/definitions/general.Lookup" }, "author": { "description": "Author or reporter of the case.", "$ref": "#/definitions/general.Lookup" }, "close_reason": { "title": "Close details", "$ref": "#/definitions/general.Lookup" }, "close_reason_group": { "description": "Close reason group, immutable once set.", "$ref": "#/definitions/general.Lookup" }, "close_result": { "type": "string" }, "comments": { "description": "List of comments on the case.", "$ref": "#/definitions/webitel.cases.CaseCommentList" }, "contact_info": { "description": "Contact information for the case.", "type": "string" }, "created_at": { "description": "Creation timestamp (in milliseconds since Unix epoch).", "type": "string", "format": "int64" }, "created_by": { "description": "Creator of the case.", "$ref": "#/definitions/general.Lookup" }, "custom": { "description": "Custom data extension fields ..", "type": "object" }, "dc": { "type": "string", "format": "int64", "title": "System field" }, "description": { "description": "Detailed description of the case.", "type": "string" }, "difference_in_reaction": { "type": "string", "format": "int64" }, "difference_in_resolve": { "type": "string", "format": "int64" }, "etag": { "description": "Unique etag identifier.", "type": "string" }, "files": { "description": "List of attached files.", "$ref": "#/definitions/webitel.cases.CaseFileList" }, "group": { "description": "Group associated with the case.", "$ref": "#/definitions/general.ExtendedLookup" }, "id": { "description": "Unique case ID.", "type": "string", "format": "int64" }, "impacted": { "description": "Impacted contact (defaults to reporter if null).", "$ref": "#/definitions/general.Lookup" }, "links": { "description": "List of attached links.", "$ref": "#/definitions/webitel.cases.CaseLinkList" }, "name": { "description": "Name of the case (may serve as an ID in docs).", "type": "string" }, "planned_reaction_at": { "description": "Planned reaction time (in milliseconds).", "type": "string", "format": "int64" }, "planned_resolve_at": { "description": "Planned resolution time (in milliseconds).", "type": "string", "format": "int64" }, "priority": { "description": "Priority level of the case.", "$ref": "#/definitions/webitel.cases.Priority" }, "rating": { "type": "string", "format": "int64", "title": "Rating details" }, "rating_comment": { "type": "string" }, "reacted_at": { "type": "string", "format": "int64" }, "related": { "description": "List of related cases.", "$ref": "#/definitions/webitel.cases.RelatedCaseList" }, "reporter": { "description": "Reporter of the issue (null if anonymous).", "$ref": "#/definitions/general.Lookup" }, "resolved_at": { "type": "string", "format": "int64", "title": "Timing details" }, "role_ids": { "type": "array", "title": "System field", "items": { "type": "string", "format": "int64" } }, "service": { "description": "Service associated with the case.", "$ref": "#/definitions/webitel.cases.Service" }, "sla": { "description": "SLA associated with the case.", "$ref": "#/definitions/general.Lookup" }, "sla_condition": { "description": "List of SLA conditions.", "$ref": "#/definitions/general.Lookup" }, "source": { "description": "Source of the case.", "$ref": "#/definitions/webitel.cases.SourceTypeLookup" }, "status": { "description": "Current status of the case.", "$ref": "#/definitions/general.Lookup" }, "status_condition": { "description": "Status condition from status lookup.", "$ref": "#/definitions/webitel.cases.StatusCondition" }, "subject": { "description": "Subject of the case.", "type": "string" }, "updated_at": { "description": "Last update timestamp (in milliseconds since Unix epoch).", "type": "string", "format": "int64" }, "updated_by": { "description": "Last updater of the case.", "$ref": "#/definitions/general.Lookup" }, "ver": { "description": "Version number of the case.", "type": "integer", "format": "int32" } } }, "webitel.cases.CaseComment": { "description": "Represents a comment associated with a case.", "type": "object", "properties": { "author": { "description": "Contact-author of the comment.", "$ref": "#/definitions/general.Lookup" }, "can_edit": { "description": "Indicates if the comment can be edited by current user.", "type": "boolean" }, "case_id": { "description": "Optional relation to the associated case.", "type": "string", "format": "int64" }, "created_at": { "description": "Timestamp (in milliseconds) of when the comment was created.", "type": "string", "format": "int64" }, "created_by": { "description": "User who created the comment.", "$ref": "#/definitions/general.Lookup" }, "edited": { "description": "Indicates if the comment was edited; true if created_at \u003c updated_at.", "type": "boolean" }, "etag": { "type": "string", "title": "entity tag representing id + ver" }, "id": { "description": "Main identifier for read, update, and delete operations.", "type": "string", "format": "int64" }, "role_ids": { "type": "array", "title": "System field", "items": { "type": "string", "format": "int64" } }, "text": { "description": "The content of the comment.", "type": "string" }, "updated_at": { "description": "Timestamp (in milliseconds) of the last update.", "type": "string", "format": "int64" }, "updated_by": { "description": "User who last updated the comment.", "$ref": "#/definitions/general.Lookup" }, "ver": { "description": "Version number of the comment, used for concurrency control.", "type": "integer", "format": "int32" } } }, "webitel.cases.CaseCommentList": { "description": "Contains a paginated list of comments.", "type": "object", "properties": { "items": { "description": "List of comments on the current page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.CaseComment" } }, "next": { "description": "Flag to indicate if more pages are available.", "type": "boolean" }, "page": { "description": "Current page number.", "type": "string", "format": "int64" } } }, "webitel.cases.CaseCommunication": { "description": "Represents a single case communication.", "type": "object", "properties": { "communication_id": { "description": "External communication ID.", "type": "string" }, "communication_type": { "description": "Type of the communication (e.g., Chat, Call).", "$ref": "#/definitions/general.Lookup" }, "etag": { "description": "Version of the communication record.", "type": "string" }, "id": { "description": "Database ID of the communication.", "type": "string", "format": "int64" }, "ver": { "description": "Version of the communication record.", "type": "integer", "format": "int32" } } }, "webitel.cases.CaseFileList": { "description": "Contains a list of case files with pagination.", "type": "object", "properties": { "items": { "description": "List of case files.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.File" } }, "next": { "description": "Indicator if there is a next page.", "type": "boolean" }, "page": { "description": "Current page number.", "type": "string", "format": "int64" } } }, "webitel.cases.CaseLink": { "type": "object", "properties": { "author": { "title": "contact-author calculated on-flight (optional)", "$ref": "#/definitions/general.Lookup" }, "created_at": { "type": "string", "format": "int64", "title": "unixmilli" }, "created_by": { "$ref": "#/definitions/general.Lookup" }, "etag": { "type": "string", "title": "main field required for read, update and delete" }, "id": { "type": "string", "format": "int64" }, "name": { "type": "string", "title": "link name (optional)" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/general.Lookup" }, "url": { "type": "string", "title": "URL" }, "ver": { "type": "integer", "format": "int32" } } }, "webitel.cases.CaseLinkList": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.CaseLink" } }, "next": { "type": "boolean" }, "page": { "type": "string", "format": "int64" } } }, "webitel.cases.CaseList": { "description": "Response message containing a list of cases.", "type": "object", "properties": { "items": { "description": "List of cases.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.Case" } }, "next": { "description": "Flag indicating if there are more pages.", "type": "boolean" }, "page": { "description": "Current page number.", "type": "string", "format": "int64" } } }, "webitel.cases.CaseTimelineEventType": { "type": "string", "default": "chat", "enum": [ "chat", "call", "email" ] }, "webitel.cases.Catalog": { "type": "object", "title": "Catalog message represents the main catalog entity with metadata", "properties": { "close_reason_group": { "title": "Close reason group associated with the catalog", "$ref": "#/definitions/general.Lookup" }, "code": { "type": "string", "title": "Code for external integrations (optional)" }, "created_at": { "type": "string", "format": "int64", "title": "Timestamp when the catalog was created" }, "created_by": { "title": "User who created the catalog", "$ref": "#/definitions/general.Lookup" }, "default_priority": { "title": "Default priority for cases created under this catalog", "$ref": "#/definitions/webitel.cases.Priority" }, "description": { "type": "string", "title": "Description of the catalog (optional)" }, "id": { "type": "string", "format": "int64", "title": "Unique identifier for the catalog" }, "name": { "type": "string", "title": "Name of the catalog" }, "prefix": { "type": "string", "title": "Prefix used for case identification (optional)" }, "searched": { "type": "boolean", "title": "flag showing whether the catalog was searched" }, "service": { "type": "array", "title": "Service associated with the catalog", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.Service" } }, "skills": { "type": "array", "title": "Skills associated with the catalog", "items": { "type": "object", "$ref": "#/definitions/general.Lookup" } }, "sla": { "title": "SLA associated with the catalog", "$ref": "#/definitions/general.Lookup" }, "state": { "type": "boolean", "title": "State of the catalog (true for active, false for inactive)" }, "status": { "title": "Status associated with the catalog", "$ref": "#/definitions/general.Lookup" }, "teams": { "type": "array", "title": "Teams associated with the catalog", "items": { "type": "object", "$ref": "#/definitions/general.Lookup" } }, "updated_at": { "type": "string", "format": "int64", "title": "Timestamp when the catalog was last updated" }, "updated_by": { "title": "User who last updated the catalog", "$ref": "#/definitions/general.Lookup" } } }, "webitel.cases.CatalogList": { "type": "object", "title": "CatalogList message contains a list of catalogs with pagination", "properties": { "items": { "type": "array", "title": "List of catalog items", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.Catalog" } }, "next": { "type": "boolean", "title": "Indicates if there are more pages" }, "page": { "type": "integer", "format": "int32", "title": "Page number for pagination" } } }, "webitel.cases.ChatEvent": { "type": "object", "properties": { "closed_at": { "type": "string", "format": "int64" }, "duration": { "type": "string", "format": "int64" }, "flow_scheme": { "$ref": "#/definitions/general.Lookup" }, "gateway": { "$ref": "#/definitions/general.ExtendedLookup" }, "id": { "type": "string" }, "is_detailed": { "type": "boolean" }, "is_inbound": { "type": "boolean" }, "is_missed": { "type": "boolean" }, "participants": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/general.Lookup" } }, "queue": { "$ref": "#/definitions/general.Lookup" } } }, "webitel.cases.CloseReason": { "type": "object", "title": "CloseReason message represents a close reason entity with metadata", "properties": { "close_reason_group_id": { "type": "string", "format": "int64", "title": "Close Reason Group ID of the close reason" }, "created_at": { "type": "string", "format": "int64", "title": "CreatedAt timestamp of the close reason" }, "created_by": { "title": "CreatedBy user of the close reason", "$ref": "#/definitions/general.Lookup" }, "description": { "type": "string", "title": "Description of the close reason" }, "id": { "type": "string", "format": "int64", "title": "Unique identifier of the close reason" }, "name": { "type": "string", "title": "Name of the close reason" }, "updated_at": { "type": "string", "format": "int64", "title": "UpdatedAt timestamp of the close reason" }, "updated_by": { "title": "UpdatedBy user of the close reason", "$ref": "#/definitions/general.Lookup" } } }, "webitel.cases.CloseReasonGroup": { "type": "object", "title": "CloseReasonGroup message represents a close reason group entity with metadata", "properties": { "created_at": { "type": "string", "format": "int64", "title": "CreatedAt timestamp of the close reason group" }, "created_by": { "title": "CreatedBy user of the close reason group", "$ref": "#/definitions/general.Lookup" }, "description": { "type": "string", "title": "Description of the close reason group" }, "id": { "type": "string", "format": "int64", "title": "Unique identifier of the close reason group" }, "name": { "type": "string", "title": "Name of the close reason group" }, "updated_at": { "type": "string", "format": "int64", "title": "UpdatedAt timestamp of the close reason group" }, "updated_by": { "title": "UpdatedBy user of the close reason group", "$ref": "#/definitions/general.Lookup" } } }, "webitel.cases.CloseReasonGroupList": { "type": "object", "title": "CloseReasonGroupList message contains a list of CloseReasonGroup items with pagination", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.CloseReasonGroup" } }, "next": { "type": "boolean" }, "page": { "type": "integer", "format": "int32" } } }, "webitel.cases.CloseReasonList": { "type": "object", "title": "CloseReasonList message contains a list of CloseReason items with pagination", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.CloseReason" } }, "next": { "type": "boolean" }, "page": { "type": "integer", "format": "int32" } } }, "webitel.cases.CreateCaseRelatedCaseInput": { "description": "Structure for related cases input when creating a case.", "type": "object", "properties": { "etag": { "description": "Etag of the related case.", "type": "string" }, "related_to": { "description": "Identifier of the related case.", "type": "string" }, "relation_type": { "description": "Type of relation (e.g., duplicate, linked).", "$ref": "#/definitions/webitel.cases.RelationType" } } }, "webitel.cases.CreateInputRelatedCase": { "description": "Input for creating a related case.", "type": "object", "properties": { "related_case": { "description": "Related case details.", "$ref": "#/definitions/general.Lookup" }, "relation_type": { "description": "Relation type between the cases.", "$ref": "#/definitions/webitel.cases.RelationType" }, "userID": { "description": "Optional creator / updater ID. Use this to explicitly set the case creator / updater instead of deriving it from the auth token.", "$ref": "#/definitions/general.Lookup" } } }, "webitel.cases.DayTimeline": { "type": "object", "properties": { "calls_count": { "type": "string", "format": "int64" }, "chats_count": { "type": "string", "format": "int64" }, "day_timestamp": { "type": "string", "format": "int64" }, "emails_count": { "type": "string", "format": "int64" }, "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.Event" } } } }, "webitel.cases.EmailEvent": { "type": "object", "properties": { "attachments": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.Attachment" } }, "body": { "type": "string", "title": "plain text of email" }, "cc": { "type": "array", "title": "array of ccs (email addresses)", "items": { "type": "string" } }, "from": { "type": "array", "title": "array of senders (email addresses)", "items": { "type": "string" } }, "html": { "type": "string", "title": "html body of email" }, "id": { "type": "string" }, "is_detailed": { "type": "boolean", "title": "reserved for the open" }, "is_inbound": { "type": "boolean", "title": "inbound/outbound email" }, "owner": { "title": "Agent who sent/accepted", "$ref": "#/definitions/general.Lookup" }, "profile": { "title": "email profile", "$ref": "#/definitions/general.Lookup" }, "sender": { "type": "array", "title": "array of receivers (email addresses)", "items": { "type": "string" } }, "subject": { "type": "string" }, "to": { "type": "array", "title": "array of receivers (email addresses)", "items": { "type": "string" } } } }, "webitel.cases.Event": { "type": "object", "properties": { "call": { "$ref": "#/definitions/webitel.cases.CallEvent" }, "chat": { "$ref": "#/definitions/webitel.cases.ChatEvent" }, "created_at": { "type": "string", "format": "int64" }, "email": { "$ref": "#/definitions/webitel.cases.EmailEvent" }, "type": { "$ref": "#/definitions/webitel.cases.CaseTimelineEventType" } } }, "webitel.cases.ExportCasesResponse": { "type": "object", "properties": { "data": { "type": "string", "format": "byte", "title": "File data chunk (streamed in 64KB chunks)" } } }, "webitel.cases.FieldChange": { "type": "object", "properties": { "field": { "type": "string", "title": "Name of the changed field, e.g., \"status\", \"priority\"" }, "new_value": { "title": "New value (after the update)" }, "old_value": { "title": "Old value (before the update)" } } }, "webitel.cases.File": { "description": "Metadata for a file associated with a case.", "type": "object", "properties": { "created_at": { "description": "Creation timestamp in Unix milliseconds.", "type": "string", "format": "int64" }, "created_by": { "description": "Creator of the file.", "$ref": "#/definitions/general.ExtendedLookup" }, "id": { "description": "Storage file ID.", "type": "string", "format": "int64" }, "mime": { "description": "MIME type of the file.", "type": "string" }, "name": { "description": "File name.", "type": "string" }, "size": { "description": "File size in bytes.", "type": "string", "format": "int64" }, "source": { "type": "string" }, "url": { "type": "string" } } }, "webitel.cases.GetTimelineCounterResponse": { "type": "object", "properties": { "calls_count": { "type": "string", "format": "int64" }, "chats_count": { "type": "string", "format": "int64", "title": "defined event types" }, "date_from": { "type": "string", "format": "int64", "title": "filter dates" }, "date_to": { "type": "string", "format": "int64" }, "emails_count": { "type": "string", "format": "int64" } } }, "webitel.cases.GetTimelineResponse": { "type": "object", "properties": { "days": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.DayTimeline" } }, "next": { "type": "boolean" }, "page": { "type": "integer", "format": "int32" } } }, "webitel.cases.InputCase": { "type": "object", "properties": { "assignee": { "title": "create: not required, default from service or set by UI;", "$ref": "#/definitions/general.Lookup" }, "close_reason": { "title": "create: not required;", "$ref": "#/definitions/general.Lookup" }, "close_result": { "type": "string", "title": "create: not required; update: required only when case status goes to the final state" }, "contact_info": { "type": "string", "title": "create: not required;" }, "custom": { "description": "Custom data extension fields ..", "type": "object" }, "description": { "type": "string", "title": "create: not required;" }, "etag": { "type": "string" }, "group": { "title": "create: not required, default from service or set by UI;", "$ref": "#/definitions/general.Lookup" }, "impacted": { "title": "create: required, default is reporter or ui (if empty recognize as anonymous);", "$ref": "#/definitions/general.Lookup" }, "priority": { "title": "create: not required, default first value from priority lookup", "$ref": "#/definitions/general.Lookup" }, "rating": { "type": "string", "format": "int64" }, "rating_comment": { "type": "string" }, "reporter": { "title": "create: required (if empty recognize as anonymous contact);", "$ref": "#/definitions/general.Lookup" }, "service": { "title": "on this field base many other readonly fields on return", "$ref": "#/definitions/general.Lookup" }, "source": { "title": "source of the case", "$ref": "#/definitions/general.Lookup" }, "status": { "title": "create: not required, default initial value from status lookup or ui;", "$ref": "#/definitions/general.Lookup" }, "status_condition": { "$ref": "#/definitions/webitel.cases.StatusCondition" }, "subject": { "type": "string", "title": "create: required;" }, "userID": { "description": "Optional creator / updater ID. Use this to explicitly set the case creator / updater instead of deriving it from the auth token.", "$ref": "#/definitions/general.Lookup" } } }, "webitel.cases.InputCaseComment": { "description": "Input structure for creating or updating a case comment.", "type": "object", "properties": { "etag": { "description": "Identifier for the comment.", "type": "string" }, "text": { "description": "Content of the comment.", "type": "string" }, "userID": { "description": "Optional creator / updater ID. Use this to explicitly set the case creator / updater instead of deriving it from the auth token.", "$ref": "#/definitions/general.Lookup" } }, "example": { "text": "My new comment" } }, "webitel.cases.InputCaseCommunication": { "description": "Represents input data for creating or linking a communication.", "type": "object", "properties": { "communication_id": { "description": "External communication ID.", "type": "string" }, "communication_type": { "description": "Type of the communication.", "$ref": "#/definitions/general.Lookup" } } }, "webitel.cases.InputCaseLink": { "type": "object", "properties": { "etag": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "userID": { "description": "Optional creator / updater ID. Use this to explicitly set the case creator / updater instead of deriving it from the auth token.", "$ref": "#/definitions/general.Lookup" } } }, "webitel.cases.InputCatalog": { "type": "object", "title": "InputCatalog message contains the fields for creating or updating a catalog", "properties": { "close_reason_group": { "title": "Close reason group ID associated with the catalog", "$ref": "#/definitions/general.Lookup" }, "code": { "type": "string", "title": "Code for external integrations (optional)" }, "default_priority": { "title": "Default priority for cases created under this catalog (required)", "$ref": "#/definitions/general.Lookup" }, "description": { "type": "string", "title": "Description of the catalog (optional)" }, "name": { "type": "string", "title": "Name of the catalog (required)" }, "prefix": { "type": "string", "title": "Prefix for case identification (optional)" }, "skills": { "type": "array", "title": "List of skill IDs associated with the catalog", "items": { "type": "object", "$ref": "#/definitions/general.Lookup" } }, "sla": { "title": "SLA ID associated with the catalog", "$ref": "#/definitions/general.Lookup" }, "state": { "type": "boolean", "title": "State of the catalog (true for active, false for inactive)" }, "status": { "title": "Status ID associated with the catalog", "$ref": "#/definitions/general.Lookup" }, "teams": { "type": "array", "title": "List of team IDs associated with the catalog", "items": { "type": "object", "$ref": "#/definitions/general.Lookup" } } } }, "webitel.cases.InputCloseReason": { "type": "object", "title": "InputCloseReason message for inputting close reason data", "properties": { "description": { "type": "string", "title": "Description of the close reason" }, "name": { "type": "string", "title": "Name of the close reason" } } }, "webitel.cases.InputCloseReasonGroup": { "type": "object", "properties": { "description": { "type": "string" }, "name": { "type": "string" } } }, "webitel.cases.InputCreateCase": { "description": "Input structure for creating a new case.", "type": "object", "properties": { "assignee": { "description": "Optional assignee ID.", "$ref": "#/definitions/general.Lookup" }, "close_reason": { "description": "Optional close information.", "$ref": "#/definitions/general.Lookup" }, "close_reason_group": { "description": "Optional close reason.", "$ref": "#/definitions/general.Lookup" }, "close_result": { "description": "Optional close information.", "type": "string" }, "contact_info": { "description": "Optional contact information.", "type": "string" }, "custom": { "description": "Custom data extension fields ..", "type": "object" }, "description": { "description": "Optional description of the case.", "type": "string" }, "group": { "description": "Optional group ID.", "$ref": "#/definitions/general.Lookup" }, "impacted": { "description": "Required impacted user ID (default: reporter).", "$ref": "#/definitions/general.Lookup" }, "links": { "description": "List of links attached to the case.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.InputCaseLink" } }, "priority": { "description": "Optional priority level.", "$ref": "#/definitions/general.Lookup" }, "rating": { "description": "API-only rating information.", "type": "string", "format": "int64" }, "rating_comment": { "description": "API-only rating information.", "type": "string" }, "related": { "description": "List of related cases.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.CreateCaseRelatedCaseInput" } }, "reporter": { "description": "Required reporter ID (if empty, anonymous contact).", "$ref": "#/definitions/general.Lookup" }, "service": { "description": "Service ID (affects many other readonly fields).", "$ref": "#/definitions/general.Lookup" }, "source": { "description": "Source of the case.", "$ref": "#/definitions/general.Lookup" }, "status": { "description": "Initial case status (default from lookup or UI).", "$ref": "#/definitions/general.Lookup" }, "status_condition": { "$ref": "#/definitions/general.Lookup" }, "subject": { "description": "Required subject of the case.", "type": "string" }, "userID": { "description": "Optional creator / updater ID. Use this to explicitly set the case creator / updater instead of deriving it from the auth token.", "$ref": "#/definitions/general.Lookup" } } }, "webitel.cases.InputCreateService": { "type": "object", "properties": { "assignee": { "title": "Assignee ID responsible for the service", "$ref": "#/definitions/general.Lookup" }, "catalog_id": { "type": "string", "format": "int64", "title": "ID of the root catalog" }, "code": { "type": "string", "title": "Code for external integrations (optional)" }, "default_priority": { "title": "Default priority for cases created under this service (optional)", "$ref": "#/definitions/general.Lookup" }, "description": { "type": "string", "title": "Description of the service (optional)" }, "group": { "title": "Group ID responsible for the service", "$ref": "#/definitions/general.ExtendedLookup" }, "name": { "type": "string", "title": "Name of the service (required)" }, "root_id": { "type": "string", "format": "int64", "title": "Parent catalog ID (required)" }, "sla": { "title": "SLA ID associated with the service", "$ref": "#/definitions/general.Lookup" }, "state": { "type": "boolean", "title": "State of the service (true for active, false for inactive)" } } }, "webitel.cases.InputCreateStatusCondition": { "type": "object", "properties": { "description": { "type": "string" }, "name": { "type": "string" } } }, "webitel.cases.InputPriority": { "description": "InputPriority message for creating a new priority", "type": "object", "title": "InputPriority message for creating a new priority", "maxProperties": 3, "minProperties": 2, "required": [ "name", "color" ], "properties": { "color": { "type": "string", "title": "Color of the priority" }, "description": { "type": "string", "title": "Description of the priority" }, "name": { "type": "string", "title": "Name of the priority" } } }, "webitel.cases.InputRelatedCase": { "description": "Input for creating or updating a related case.", "type": "object", "properties": { "primary_case": { "description": "Primary case details.", "$ref": "#/definitions/general.Lookup" }, "related_case": { "description": "Related case details.", "$ref": "#/definitions/general.Lookup" }, "relation_type": { "description": "Relation type.", "$ref": "#/definitions/webitel.cases.RelationType" }, "userID": { "description": "Optional creator / updater ID. Use this to explicitly set the case creator / updater instead of deriving it from the auth token.", "$ref": "#/definitions/general.Lookup" } } }, "webitel.cases.InputSLA": { "type": "object", "title": "InputSLA message for inputting SLA data", "properties": { "calendar": { "title": "Calendar ID from the \"Calendars\" dictionary", "$ref": "#/definitions/general.Lookup" }, "description": { "type": "string", "title": "Description of the SLA" }, "name": { "type": "string", "title": "Name of the SLA" }, "reaction_time": { "type": "string", "format": "int64", "title": "Reaction time" }, "resolution_time": { "type": "string", "format": "int64", "title": "Resolution time" }, "valid_from": { "type": "string", "format": "int64", "title": "Validity period for the SLA" }, "valid_to": { "type": "string", "format": "int64" } } }, "webitel.cases.InputSLACondition": { "type": "object", "title": "InputSLACondition message for inputting SLACondition data", "properties": { "name": { "type": "string" }, "priorities": { "type": "array", "title": "List of priority IDs for creation", "items": { "type": "object", "$ref": "#/definitions/general.Lookup" } }, "reaction_time": { "type": "string", "format": "int64" }, "resolution_time": { "type": "string", "format": "int64" } } }, "webitel.cases.InputService": { "type": "object", "title": "InputService message contains the fields for creating or updating a service", "properties": { "assignee": { "title": "Assignee ID responsible for the service", "$ref": "#/definitions/general.Lookup" }, "catalog_id": { "type": "string", "format": "int64", "title": "The parent catalog (required)" }, "code": { "type": "string", "title": "Code for external integrations (optional)" }, "default_priority": { "title": "Default priority for cases created under this service (optional)", "$ref": "#/definitions/general.Lookup" }, "description": { "type": "string", "title": "Description of the service (optional)" }, "group": { "title": "Group ID responsible for the service", "$ref": "#/definitions/general.ExtendedLookup" }, "name": { "type": "string", "title": "Name of the service (required)" }, "root_id": { "type": "string", "format": "int64", "title": "ID of the root catalog" }, "sla": { "title": "SLA ID associated with the service", "$ref": "#/definitions/general.Lookup" }, "state": { "type": "boolean", "title": "State of the service (true for active, false for inactive)" } } }, "webitel.cases.InputSource": { "description": "The data structure representing a source", "type": "object", "title": "Input structure representing a new Source entity", "maxProperties": 5, "minProperties": 2, "required": [ "name", "type" ], "properties": { "description": { "description": "A short description of the source", "type": "string", "title": "Optional short description for context", "maxLength": 500 }, "name": { "description": "The name of the source", "type": "string", "title": "Display name for the source", "maxLength": 100, "minLength": 2 }, "type": { "description": "The type of the source", "title": "Type of the source; restrictable to a fixed set of allowed values", "default": "CALL", "$ref": "#/definitions/webitel.cases.SourceType" } } }, "webitel.cases.InputStatus": { "type": "object", "properties": { "description": { "type": "string" }, "name": { "type": "string" } } }, "webitel.cases.InputStatusCondition": { "type": "object", "title": "InputStatusCondition message for inputting status condition data", "properties": { "description": { "type": "string", "title": "Description of the status condition" }, "final": { "type": "boolean", "title": "Final status condition" }, "initial": { "type": "boolean", "title": "Initial status condition" }, "name": { "type": "string", "title": "Name of the status condition" } } }, "webitel.cases.LinkCommunicationResponse": { "description": "Response message after linking communications to a case.", "type": "object", "properties": { "data": { "description": "List of linked communications.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.CaseCommunication" } } } }, "webitel.cases.ListCommunicationsResponse": { "description": "Response message for listing communications linked to a case.", "type": "object", "properties": { "data": { "description": "List of communications.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.CaseCommunication" } }, "next": { "type": "boolean" }, "page": { "description": "Current page number.", "type": "integer", "format": "int32" } } }, "webitel.cases.LocateCatalogResponse": { "type": "object", "title": "LocateCatalogResponse message contains a single catalog entity", "properties": { "catalog": { "title": "The located catalog", "$ref": "#/definitions/webitel.cases.Catalog" } } }, "webitel.cases.LocateCloseReasonGroupResponse": { "type": "object", "title": "LocateCloseReasonGroupResponse message contains a single close reason group entity", "properties": { "close_reason_group": { "$ref": "#/definitions/webitel.cases.CloseReasonGroup" } } }, "webitel.cases.LocateCloseReasonResponse": { "type": "object", "title": "LocateCloseReasonResponse message contains a single close reason entity", "properties": { "close_reason": { "$ref": "#/definitions/webitel.cases.CloseReason" } } }, "webitel.cases.LocatePriorityResponse": { "type": "object", "title": "LocatePriorityResponse message contains a single priority entity", "properties": { "priority": { "$ref": "#/definitions/webitel.cases.Priority" } } }, "webitel.cases.LocateSLAConditionResponse": { "type": "object", "title": "LocateSLAConditionResponse message contains a single SLACondition entity", "properties": { "sla_condition": { "$ref": "#/definitions/webitel.cases.SLACondition" } } }, "webitel.cases.LocateSLAResponse": { "type": "object", "title": "LocateSLAResponse message contains a single SLA entity", "properties": { "sla": { "$ref": "#/definitions/webitel.cases.SLA" } } }, "webitel.cases.LocateServiceResponse": { "type": "object", "title": "LocateServiceResponse message contains a single service entity", "properties": { "service": { "title": "The located service", "$ref": "#/definitions/webitel.cases.Service" } } }, "webitel.cases.LocateSourceResponse": { "description": "Response message for locating a source.", "type": "object", "properties": { "source": { "description": "The located source.", "$ref": "#/definitions/webitel.cases.Source" } } }, "webitel.cases.LocateStatusConditionResponse": { "type": "object", "title": "LocateStatusConditionResponse message contains a single status entity", "properties": { "status": { "$ref": "#/definitions/webitel.cases.StatusCondition" } } }, "webitel.cases.LocateStatusResponse": { "type": "object", "title": "LocateStatusResponse message contains a single status entity", "properties": { "status": { "$ref": "#/definitions/webitel.cases.Status" } } }, "webitel.cases.Priority": { "description": "Priority message represents a priority entity with metadata.", "type": "object", "title": "Priority message represents a priority entity with metadata", "required": [ "id", "name", "color", "created_at", "updated_at", "created_by", "updated_by" ], "properties": { "color": { "type": "string", "title": "Color of the priority" }, "created_at": { "type": "string", "format": "int64", "title": "CreatedAt timestamp of the priority" }, "created_by": { "title": "CreatedBy user of the priority", "$ref": "#/definitions/general.Lookup" }, "description": { "type": "string", "title": "Description of the priority" }, "id": { "type": "string", "format": "int64", "title": "Unique identifier of the priority" }, "name": { "type": "string", "title": "Name of the priority" }, "updated_at": { "type": "string", "format": "int64", "title": "UpdatedAt timestamp of the priority" }, "updated_by": { "title": "UpdatedBy user of the priority", "$ref": "#/definitions/general.Lookup" } } }, "webitel.cases.PriorityList": { "type": "object", "title": "PriorityList message contains a list of Priority items with pagination", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.Priority" } }, "next": { "type": "boolean" }, "page": { "type": "integer", "format": "int32" } } }, "webitel.cases.RelatedCase": { "description": "Represents a related case with its relationship details.", "type": "object", "properties": { "created_at": { "description": "Timestamp (in milliseconds) of when the relation was created.", "type": "string", "format": "int64" }, "created_by": { "description": "User who created the relation.", "$ref": "#/definitions/general.Lookup" }, "etag": { "description": "Etag for the related case entity.", "type": "string" }, "id": { "description": "Unique identifier for the related case.", "type": "string", "format": "int64" }, "primary_case": { "description": "Primary case details.", "$ref": "#/definitions/webitel.cases.RelatedCaseLookup" }, "related_case": { "description": "Related case details.", "$ref": "#/definitions/webitel.cases.RelatedCaseLookup" }, "relation_type": { "description": "Relation type between cases.", "$ref": "#/definitions/webitel.cases.RelationType" }, "updated_at": { "description": "Timestamp (in milliseconds) of the last update.", "type": "string", "format": "int64" }, "updated_by": { "description": "User who last updated the relation.", "$ref": "#/definitions/general.Lookup" }, "ver": { "description": "Version number of the related case, used for concurrency control.", "type": "integer", "format": "int32" } } }, "webitel.cases.RelatedCaseList": { "description": "Paginated list of related cases.", "type": "object", "properties": { "data": { "description": "List of related cases on the current page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.RelatedCase" } }, "next": { "description": "Flag to indicate if more pages are available.", "type": "boolean" }, "page": { "description": "Current page number.", "type": "string", "format": "int64" } } }, "webitel.cases.RelatedCaseLookup": { "description": "RelatedCaseLookup is created specifically to include the subject field.", "type": "object", "properties": { "color": { "type": "string", "title": "colour ( calculated by attached priority )" }, "etag": { "type": "string" }, "id": { "type": "string", "format": "int64", "title": "id" }, "name": { "type": "string", "title": "name" }, "subject": { "type": "string", "title": "subject" }, "ver": { "type": "integer", "format": "int32", "title": "ver" } } }, "webitel.cases.RelationType": { "description": "Enum for relation types between cases.", "type": "string", "default": "RELATION_TYPE_UNSPECIFIED", "enum": [ "RELATION_TYPE_UNSPECIFIED", "DUPLICATES", "IS_DUPLICATED_BY", "BLOCKS", "IS_BLOCKED_BY", "CAUSES", "IS_CAUSED_BY", "IS_CHILD_OF", "IS_PARENT_OF", "RELATES_TO" ] }, "webitel.cases.SLA": { "type": "object", "title": "SLA message represents an SLA entity with metadata", "properties": { "calendar": { "title": "Calendar ID from the \"Calendars\" dictionary - required", "$ref": "#/definitions/general.Lookup" }, "created_at": { "type": "string", "format": "int64", "title": "CreatedAt timestamp of the SLA" }, "created_by": { "title": "CreatedBy user of the SLA", "$ref": "#/definitions/general.Lookup" }, "description": { "type": "string", "title": "Description of the SLA - optional" }, "id": { "type": "string", "format": "int64", "title": "Unique identifier of the SLA" }, "name": { "type": "string", "title": "Name of the SLA - required" }, "reaction_time": { "type": "string", "format": "int64", "title": "Reaction time - required" }, "resolution_time": { "type": "string", "format": "int64", "title": "Resolution time - required" }, "updated_at": { "type": "string", "format": "int64", "title": "UpdatedAt timestamp of the SLA" }, "updated_by": { "title": "UpdatedBy user of the SLA", "$ref": "#/definitions/general.Lookup" }, "valid_from": { "type": "string", "format": "int64", "title": "Validity period for the SLA - optional" }, "valid_to": { "type": "string", "format": "int64" } } }, "webitel.cases.SLACondition": { "type": "object", "title": "SLACondition message represents an SLACondition entity with metadata", "properties": { "created_at": { "type": "string", "format": "int64", "title": "CreatedAt timestamp of the SLACondition" }, "created_by": { "title": "CreatedBy user of the SLACondition", "$ref": "#/definitions/general.Lookup" }, "id": { "type": "string", "format": "int64", "title": "Unique identifier of the SLACondition" }, "name": { "type": "string", "title": "Name of the SLACondition - required" }, "priorities": { "type": "array", "title": "Priorities associated with the SLACondition - fetched as Lookup entities [ Priority name + ID ]", "items": { "type": "object", "$ref": "#/definitions/general.Lookup" } }, "reaction_time": { "type": "string", "format": "int64", "title": "Reaction time - required" }, "resolution_time": { "type": "string", "format": "int64", "title": "Resolution time - required" }, "sla_id": { "type": "string", "format": "int64", "title": "SLA ID associated with the SLACondition" }, "updated_at": { "type": "string", "format": "int64", "title": "UpdatedAt timestamp of the SLACondition" }, "updated_by": { "title": "UpdatedBy user of the SLACondition", "$ref": "#/definitions/general.Lookup" } } }, "webitel.cases.SLAConditionList": { "type": "object", "title": "SLAConditionList message contains a list of SLACondition items with pagination", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.SLACondition" } }, "next": { "type": "boolean" }, "page": { "type": "integer", "format": "int32" } } }, "webitel.cases.SLAList": { "type": "object", "title": "SLAList message contains a list of SLA items with pagination", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.SLA" } }, "next": { "type": "boolean" }, "page": { "type": "integer", "format": "int32" } } }, "webitel.cases.Service": { "type": "object", "title": "Service message represents a service entity within a catalog", "properties": { "assignee": { "title": "Assignee responsible for the service", "$ref": "#/definitions/general.Lookup" }, "catalog_id": { "type": "string", "format": "int64", "title": "Catalogs associated with the service" }, "code": { "type": "string", "title": "Code for external integrations (optional)" }, "created_at": { "type": "string", "format": "int64", "title": "Timestamp when the service was created" }, "created_by": { "title": "User who created the service", "$ref": "#/definitions/general.Lookup" }, "default_priority": { "title": "Default priority for cases created under this service (optional, inherits from parent if not set)", "$ref": "#/definitions/webitel.cases.Priority" }, "description": { "type": "string", "title": "Description of the service (optional)" }, "group": { "title": "Group responsible for the service", "$ref": "#/definitions/general.ExtendedLookup" }, "id": { "type": "string", "format": "int64", "title": "Unique identifier for the service" }, "name": { "type": "string", "title": "Name of the service" }, "root_id": { "type": "string", "format": "int64", "title": "ID of the parent catalog" }, "searched": { "type": "boolean", "title": "flag showing whether the catalog was searched" }, "service": { "type": "array", "title": "Service associated with the service", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.Service" } }, "sla": { "title": "SLA associated with the service", "$ref": "#/definitions/general.Lookup" }, "state": { "type": "boolean", "title": "State of the service (true for active, false for inactive)" }, "updated_at": { "type": "string", "format": "int64", "title": "Timestamp when the service was last updated" }, "updated_by": { "title": "User who last updated the service", "$ref": "#/definitions/general.Lookup" } } }, "webitel.cases.ServiceList": { "type": "object", "title": "ServiceList message contains a list of services with pagination", "properties": { "items": { "type": "array", "title": "List of service items", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.Service" } }, "next": { "type": "boolean", "title": "Indicates if there are more pages" }, "page": { "type": "integer", "format": "int32", "title": "Page number for pagination" } } }, "webitel.cases.Source": { "description": "Represents a data source in the contact management system.", "type": "object", "required": [ "id", "name", "type", "created_at", "updated_at", "created_by", "updated_by" ], "properties": { "created_at": { "description": "Unix timestamp representing when the source was created.", "type": "string", "format": "int64" }, "created_by": { "description": "Reference to the user who originally created this source.", "$ref": "#/definitions/general.Lookup" }, "description": { "description": "An optional longer explanation of the source's purpose.", "type": "string", "maxLength": 500 }, "id": { "description": "Unique identifier for the source, generated automatically.", "type": "string", "format": "int64" }, "name": { "description": "A unique, descriptive name for the source.", "type": "string", "maxLength": 100, "minLength": 3 }, "type": { "description": "The type of data source represented by this entry.", "$ref": "#/definitions/webitel.cases.SourceType" }, "updated_at": { "description": "Unix timestamp representing the most recent update.", "type": "string", "format": "int64" }, "updated_by": { "description": "Reference to the user who most recently modified this source.", "$ref": "#/definitions/general.Lookup" } } }, "webitel.cases.SourceList": { "description": "A list of sources.", "type": "object", "properties": { "items": { "description": "List of sources.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.Source" } }, "next": { "description": "Have more records.", "type": "boolean" }, "page": { "description": "Page number of the partial result.", "type": "integer", "format": "int32" } } }, "webitel.cases.SourceType": { "description": "Represents a source type for the source entity.\n\n - TYPE_UNSPECIFIED: Unspecified source type.\n - CALL: Phone call source type.\n - CHAT: Chat source type.\n - SOCIAL_MEDIA: Social media source type.\n - EMAIL: Email source type.\n - API: API source type.\n - MANUAL: Manual source type.", "type": "string", "default": "TYPE_UNSPECIFIED", "enum": [ "TYPE_UNSPECIFIED", "CALL", "CHAT", "SOCIAL_MEDIA", "EMAIL", "API", "MANUAL" ] }, "webitel.cases.SourceTypeLookup": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "type": { "$ref": "#/definitions/webitel.cases.SourceType" } } }, "webitel.cases.Status": { "type": "object", "title": "Status message represents a status entity with metadata", "properties": { "created_at": { "type": "string", "format": "int64", "title": "CreatedAt timestamp of the close reason" }, "created_by": { "title": "CreatedBy user of the close reason", "$ref": "#/definitions/general.Lookup" }, "description": { "type": "string", "title": "Description of the close reason" }, "id": { "type": "string", "format": "int64", "title": "Unique identifier of the close reason" }, "name": { "type": "string", "title": "Name of the close reason" }, "updated_at": { "type": "string", "format": "int64", "title": "UpdatedAt timestamp of the close reason" }, "updated_by": { "title": "UpdatedBy user of the close reason", "$ref": "#/definitions/general.Lookup" } } }, "webitel.cases.StatusCondition": { "type": "object", "title": "StatusCondition message represents a status entity with metadata", "properties": { "created_at": { "type": "string", "format": "int64", "title": "CreatedAt timestamp of the status condition" }, "created_by": { "title": "CreatedBy user of the status condition", "$ref": "#/definitions/general.Lookup" }, "description": { "type": "string", "title": "Description of the status condition" }, "final": { "type": "boolean", "title": "Final status condition" }, "id": { "type": "string", "format": "int64", "title": "Unique identifier of the status condition" }, "initial": { "type": "boolean", "title": "Initial status condition" }, "name": { "type": "string", "title": "Name of the status condition" }, "status_id": { "type": "string", "format": "int64", "title": "Status ID of the status condition" }, "updated_at": { "type": "string", "format": "int64", "title": "UpdatedAt timestamp of the status condition" }, "updated_by": { "title": "UpdatedBy user of the status condition", "$ref": "#/definitions/general.Lookup" } } }, "webitel.cases.StatusConditionList": { "type": "object", "title": "StatusConditionList message contains a list of StatusCondition items with pagination", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.StatusCondition" } }, "next": { "type": "boolean" }, "page": { "type": "integer", "format": "int32" } } }, "webitel.cases.StatusList": { "type": "object", "title": "StatusList message contains a list of Status items with pagination", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.Status" } }, "next": { "type": "boolean" }, "page": { "type": "integer", "format": "int32" } } }, "webitel.cases.TranscriptLookup": { "type": "object", "properties": { "file": { "$ref": "#/definitions/general.Lookup" }, "id": { "type": "string", "format": "int64" }, "locale": { "type": "string" } } }, "webitel.cases.UnlinkCommunicationResponse": { "description": "Response message after unlinking a communication from a case.", "type": "object", "properties": { "affected": { "description": "Affected rows.", "type": "string", "format": "int64" } } }, "webitel.cases.UpdateCaseResponse": { "type": "object", "properties": { "case": { "title": "Updated case object", "$ref": "#/definitions/webitel.cases.Case" }, "changes": { "type": "array", "title": "List of changed fields with old and new values", "items": { "type": "object", "$ref": "#/definitions/webitel.cases.FieldChange" } } } }, "webitel.chat.AgentChat": { "type": "object", "properties": { "close_reason": { "type": "string", "title": "Close reason (from agent perspective)" }, "closed_at": { "type": "string", "format": "int64" }, "contact": { "title": "Connected contact", "$ref": "#/definitions/webitel.chat.Peer" }, "gateway": { "title": "Chat gateway", "$ref": "#/definitions/webitel.chat.Peer" }, "id": { "type": "string", "title": "Chat id" }, "last_message": { "title": "Chat first message", "$ref": "#/definitions/webitel.chat.Message" }, "queue": { "title": "Queue name", "$ref": "#/definitions/webitel.chat.Peer" }, "started_at": { "type": "string", "format": "int64", "title": "Chat time length" }, "title": { "type": "string", "title": "Chat title" }, "unprocessed_close": { "type": "boolean", "title": "Special attribute for the closed-active chats (on fact closed but should be on active tab on the front-end)\ncan be true only when close reason = any(\"client_leave\", \"client_timeout\", \"agent_timeout\", \"silence_timeout\")" } } }, "webitel.chat.BroadcastError": { "type": "object", "properties": { "error": { "$ref": "#/definitions/google.rpc.Status" }, "peer_id": { "type": "string" } } }, "webitel.chat.BroadcastMessageRequest": { "type": "object", "properties": { "message": { "$ref": "#/definitions/webitel.chat.InputMessage" }, "peers": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.InputPeer" } }, "timeout": { "type": "string", "format": "int64" }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "webitel.chat.BroadcastMessageResponse": { "type": "object", "properties": { "failure": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.BroadcastError" } }, "variables": { "type": "object", "additionalProperties": { "type": "string" } } } }, "webitel.chat.Button": { "type": "object", "properties": { "code": { "description": "Postback/Callback data.", "type": "string" }, "share": { "description": "Request to share contact info.", "$ref": "#/definitions/webitel.chat.Button.Request" }, "text": { "description": "Caption to display.", "type": "string" }, "url": { "description": "URL to navigate to ..", "type": "string" } } }, "webitel.chat.Button.Request": { "description": "- phone: Phone Number\n - email: Email Address\n - contact: General Form\n - location: Current Location", "type": "string", "title": "Type of request to share contact info", "default": "phone", "enum": [ "phone", "email", "contact", "location" ] }, "webitel.chat.ButtonRow": { "type": "object", "properties": { "row": { "type": "array", "title": "Button(s) in a row", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.Button" } } } }, "webitel.chat.Chat": { "description": "The Chat info.\nAlias: participant, subscriber, member, peer, leg.", "type": "object", "properties": { "context": { "description": "Context. Variables.", "type": "object", "additionalProperties": { "type": "string" } }, "dc": { "description": "[D]omain[C]omponent primary ID.", "type": "string", "format": "int64" }, "id": { "description": "Unique identifier for this chat.\n[FROM] Member / Channel ID.\n\n// [TO] Group. Conversation ID.\n string chat_id = 2;", "type": "string" }, "invite": { "description": "OPTIONAL. Invite[d] BY member info.", "$ref": "#/definitions/webitel.chat.Chat.Invite" }, "join": { "description": "OPTIONAL. A non-zero value indicates that\nthe participant has joined the chat.", "type": "string", "format": "int64" }, "left": { "type": "string", "format": "int64", "title": "OPTIONAL. A non-zero value indicates that\nthe participant has left the chat. OFFLINE(!)" }, "peer": { "description": "[FROM]: User identity. Seed.", "$ref": "#/definitions/webitel.chat.Peer" }, "queue": { "title": "OPTIONAL. Last dialog queue", "$ref": "#/definitions/webitel.chat.Peer" }, "title": { "description": "[TO]: Chat title.", "type": "string" }, "via": { "description": "[FROM] VIA text gateway profile.", "$ref": "#/definitions/webitel.chat.Peer" } } }, "webitel.chat.Chat.Invite": { "type": "object", "properties": { "date": { "type": "string", "format": "int64", "title": "Timestamp when the invitation to join the chat was sent" }, "from": { "type": "string", "title": "Chat member ID who invited to join the chat" } } }, "webitel.chat.ChatCustomers": { "type": "object", "title": "ChatCustomers dataset", "properties": { "next": { "type": "boolean", "title": "Next page is available ?" }, "page": { "description": "Page number of results.", "type": "integer", "format": "int32" }, "peers": { "description": "Dataset page of Customer(s).", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.Customer" } }, "vias": { "type": "array", "title": "List of unique text gateways, mentioned in peers. [VIA]", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.Peer" } } } }, "webitel.chat.ChatDialogs": { "type": "object", "title": "ChatDialogs dataset", "properties": { "data": { "description": "Dataset page of Dialog(s).", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.Dialog" } }, "next": { "type": "boolean", "title": "Next page available ?" }, "page": { "description": "Page number of results.", "type": "integer", "format": "int32" } } }, "webitel.chat.ChatMembers": { "type": "object", "title": "ChatMembers dataset", "properties": { "data": { "description": "Page of the chat participants.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.Chat" } }, "next": { "type": "boolean", "title": "Next page available ?" }, "page": { "description": "Page number of results.", "type": "integer", "format": "int32" } } }, "webitel.chat.ChatMessage": { "description": "Chat Message.", "type": "object", "properties": { "chat": { "description": "Conversation the message belongs to ..", "$ref": "#/definitions/webitel.chat.ContactChat" }, "context": { "description": "Context. Variables. Environment.", "type": "object", "additionalProperties": { "type": "string" } }, "date": { "description": "Timestamp when this message was sent (published).", "type": "string", "format": "int64" }, "edit": { "description": "Timestamp when this message was last edited.", "type": "string", "format": "int64" }, "file": { "description": "Message Media. Attachment.", "$ref": "#/definitions/webitel.chat.MessageFile" }, "from": { "description": "Sender of the message.", "$ref": "#/definitions/webitel.chat.ChatPeer" }, "id": { "description": "Unique message identifier inside this chat.", "type": "string", "format": "int64" }, "keyboard": { "description": "Keyboard. Buttons. Quick Replies.", "$ref": "#/definitions/webitel.chat.MessageReplyMarkup" }, "postback": { "description": "Postback. Reply Button Click[ed].", "$ref": "#/definitions/webitel.chat.MessagePostback" }, "sender": { "description": "Chat Sender of the message, sent on behalf of a chat (member).", "$ref": "#/definitions/webitel.chat.ContactChat" }, "text": { "description": "Message Text.", "type": "string" } } }, "webitel.chat.ChatMessages": { "type": "object", "title": "ChatMessages dataset", "properties": { "chats": { "type": "array", "title": "List of chats mentioned in messages. [FROM]", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.Chat" } }, "messages": { "description": "Dataset page of messages.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.Message" } }, "next": { "type": "boolean", "title": "Next page is available ?" }, "page": { "description": "Dataset page number.", "type": "integer", "format": "int32" }, "peers": { "type": "array", "title": "List of peers mentioned in messages. [FROM]", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.Peer" } } } }, "webitel.chat.ChatMessagesRequest.Offset": { "type": "object", "title": "Offset options", "properties": { "date": { "description": "Messages ONLY been sent before the specified epochtime(milli).", "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64", "title": "Messages ONLY starting from the specified message ID" } } }, "webitel.chat.ChatPeer": { "description": "Peer contact.", "type": "object", "properties": { "id": { "description": "Contact unique **ID**entifier.\nContact **type**-specific string.", "type": "string" }, "name": { "description": "Contact display **name**.", "type": "string" }, "type": { "description": "Contact **type** provider.", "type": "string" } } }, "webitel.chat.ContactChat": { "description": "The Chat info.\nAlias: participant, subscriber, member, peer, leg.", "type": "object", "properties": { "context": { "description": "Context. Variables.", "type": "object", "additionalProperties": { "type": "string" } }, "dc": { "description": "[D]omain[C]omponent primary ID.", "type": "string", "format": "int64" }, "id": { "description": "Unique identifier for this chat.\n[FROM] Member / Channel ID.\n\n// [TO] Group. Conversation ID.\n string chat_id = 2;", "type": "string" }, "invite": { "description": "OPTIONAL. Invite[d] BY member info.", "$ref": "#/definitions/webitel.chat.ContactChat.Invite" }, "join": { "description": "OPTIONAL. A non-zero value indicates that\nthe participant has joined the chat.", "type": "string", "format": "int64" }, "left": { "type": "string", "format": "int64", "title": "OPTIONAL. A non-zero value indicates that\nthe participant has left the chat. OFFLINE(!)" }, "peer": { "description": "[FROM]: User identity. Seed.", "$ref": "#/definitions/webitel.chat.ChatPeer" }, "title": { "description": "[TO]: Chat title.", "type": "string" }, "via": { "description": "[FROM] VIA text gateway profile.", "$ref": "#/definitions/webitel.chat.ChatPeer" } } }, "webitel.chat.ContactChat.Invite": { "type": "object", "properties": { "date": { "type": "string", "format": "int64", "title": "Timestamp when the invitation to join the chat was sent" }, "from": { "type": "string", "title": "Chat member ID who invited to join the chat" } } }, "webitel.chat.Customer": { "description": "Customer is external chat contact.", "type": "object", "properties": { "id": { "description": "Customer unique **ID**entifier.\nAccount **type**-specific string.", "type": "string" }, "name": { "description": "Customer account **name**.", "type": "string" }, "type": { "description": "Customer account **type**.", "type": "string" }, "via": { "description": "[VIA] Text gateway associations.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.Peer" } } } }, "webitel.chat.Dialog": { "description": "Chat Dialog. Conversation info.", "type": "object", "properties": { "closed": { "type": "string", "format": "int64", "title": "Timestamp when dialog was closed.\nZero value means - connected (online)\nOtherwise - disconnected (offline)" }, "closed_cause": { "type": "string", "title": "Close reason if closed from the request sender perspective" }, "context": { "description": "Context. Variables. Environment.", "type": "object", "additionalProperties": { "type": "string" } }, "date": { "description": "Timestamp of the latest activity.", "type": "string", "format": "int64" }, "dc": { "description": "[D]omain[C]omponent primary ID.", "type": "string", "format": "int64" }, "from": { "description": "[FROM]: Originator.\nLeg[A]. Contact / User.", "$ref": "#/definitions/webitel.chat.Peer" }, "id": { "description": "The Conversation thread unique ID.", "type": "string" }, "members": { "description": "[TO]: Participants.\nLeg[A+]. Schema / Agent.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.Chat" } }, "message": { "description": "The latest (top) message.", "$ref": "#/definitions/webitel.chat.Message" }, "queue": { "title": "OPTIONAL. Last dialog queue", "$ref": "#/definitions/webitel.chat.Peer" }, "rate_id": { "description": "Zero value means - NOT rated yet.", "type": "string", "format": "int64" }, "started": { "description": "Timestamp when dialog started.", "type": "string", "format": "int64" }, "title": { "description": "Title of the dialog.", "type": "string" }, "via": { "description": "[VIA] Text gateway [FROM] originated thru ...", "$ref": "#/definitions/webitel.chat.Peer" } } }, "webitel.chat.EmptyResponse": { "type": "object" }, "webitel.chat.File": { "description": "Media File.", "type": "object", "properties": { "id": { "type": "string", "title": "File location" }, "name": { "type": "string", "title": "Filename" }, "size": { "type": "string", "format": "int64", "title": "Size in bytes" }, "type": { "type": "string", "title": "MIME media type" }, "url": { "type": "string", "title": "File url (optional)" } } }, "webitel.chat.GetAgentChatsCounterResponse": { "type": "object", "properties": { "count": { "type": "integer", "format": "int32" } } }, "webitel.chat.GetAgentChatsResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.AgentChat" } }, "next": { "type": "boolean" }, "page": { "type": "integer", "format": "int32" } } }, "webitel.chat.GetCaseChatHistoryRequest.Offset": { "type": "object", "title": "Offset options", "properties": { "date": { "description": "Messages ONLY been sent before the specified epochtime(milli).", "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64", "title": "Messages ONLY starting from the specified message ID" } } }, "webitel.chat.GetContactChatHistoryRequest.Offset": { "type": "object", "title": "Offset options", "properties": { "date": { "description": "Messages ONLY been sent before the specified epochtime(milli).", "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64", "title": "Messages ONLY starting from the specified message ID" } } }, "webitel.chat.GetContactChatHistoryResponse": { "type": "object", "title": "ChatMessages dataset", "properties": { "chats": { "type": "array", "title": "List of chats mentioned in messages. [FROM]", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.ContactChat" } }, "messages": { "description": "Dataset page of messages.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.ChatMessage" } }, "next": { "type": "boolean", "title": "Next page is available ?" }, "page": { "description": "Dataset page number.", "type": "integer", "format": "int32" }, "peers": { "type": "array", "title": "List of peers mentioned in messages. [FROM]", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.ChatPeer" } } } }, "webitel.chat.InputButton": { "type": "object", "properties": { "caption": { "type": "string" }, "code": { "type": "string" }, "text": { "type": "string" }, "type": { "type": "string" }, "url": { "type": "string" } } }, "webitel.chat.InputButtonRow": { "type": "object", "properties": { "buttons": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.InputButton" } } } }, "webitel.chat.InputFile": { "type": "object", "properties": { "id": { "type": "string" }, "source": { "type": "string" }, "url": { "type": "string" } } }, "webitel.chat.InputKeyboard": { "type": "object", "properties": { "rows": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.InputButtonRow" } } } }, "webitel.chat.InputMessage": { "type": "object", "properties": { "file": { "$ref": "#/definitions/webitel.chat.InputFile" }, "keyboard": { "$ref": "#/definitions/webitel.chat.InputKeyboard" }, "text": { "type": "string" } } }, "webitel.chat.InputPeer": { "description": "InputPeer identity.", "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "via": { "type": "string" } } }, "webitel.chat.LinkContactToClientNAResponse": { "type": "object" }, "webitel.chat.Lookup": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" }, "name": { "type": "string" } } }, "webitel.chat.MarkChatProcessedResponse": { "type": "object" }, "webitel.chat.Message": { "description": "Chat Message.", "type": "object", "properties": { "chat": { "description": "Conversation the message belongs to ..", "$ref": "#/definitions/webitel.chat.Chat" }, "context": { "description": "Context. Variables. Environment.", "type": "object", "additionalProperties": { "type": "string" } }, "date": { "description": "Timestamp when this message was sent (published).", "type": "string", "format": "int64" }, "edit": { "description": "Timestamp when this message was last edited.", "type": "string", "format": "int64" }, "file": { "description": "Message Media. Attachment.", "$ref": "#/definitions/webitel.chat.File" }, "from": { "description": "Sender of the message.", "$ref": "#/definitions/webitel.chat.Peer" }, "id": { "description": "Unique message identifier inside this chat.", "type": "string", "format": "int64" }, "keyboard": { "description": "Keyboard. Buttons. Quick Replies.", "$ref": "#/definitions/webitel.chat.ReplyMarkup" }, "kind": { "type": "string", "title": "Kind of the message. Custom type classifier. Optional. Default: empty.\nMay be used by the client UI to extend set of general message.type(s): [ text | file ]" }, "postback": { "description": "Postback. Reply Button Click[ed].", "$ref": "#/definitions/webitel.chat.Postback" }, "sender": { "description": "Chat Sender of the message, sent on behalf of a chat (member).", "$ref": "#/definitions/webitel.chat.Chat" }, "text": { "description": "Message Text.", "type": "string" } } }, "webitel.chat.MessageButton": { "type": "object", "properties": { "code": { "description": "Postback/Callback data.", "type": "string" }, "share": { "description": "Request to share contact info.", "$ref": "#/definitions/webitel.chat.MessageButton.Request" }, "text": { "description": "Caption to display.", "type": "string" }, "url": { "description": "URL to navigate to ..", "type": "string" } } }, "webitel.chat.MessageButton.Request": { "description": "- phone: Phone Number\n - email: Email Address\n - contact: General Form\n - location: Current Location", "type": "string", "title": "Type of request to share contact info", "default": "phone", "enum": [ "phone", "email", "contact", "location" ] }, "webitel.chat.MessageButtonRow": { "type": "object", "properties": { "row": { "type": "array", "title": "Button(s) in a row", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.MessageButton" } } } }, "webitel.chat.MessageFile": { "description": "Media File.", "type": "object", "properties": { "id": { "type": "string", "title": "File location" }, "name": { "type": "string", "title": "Filename" }, "size": { "type": "string", "format": "int64", "title": "Size in bytes" }, "type": { "type": "string", "title": "MIME media type" }, "url": { "type": "string", "title": "Exact url of file (if exists)" } } }, "webitel.chat.MessagePostback": { "description": "Postback. Reply Button Click[ed].", "type": "object", "properties": { "code": { "description": "Data associated with the Button.", "type": "string" }, "mid": { "description": "Message ID of the button.", "type": "string", "format": "int64" }, "text": { "description": "Button's display caption.", "type": "string" } } }, "webitel.chat.MessageReplyMarkup": { "type": "object", "properties": { "buttons": { "type": "array", "title": "Markup of button(s)", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.MessageButtonRow" } }, "no_input": { "description": "An option used to block input to force\nthe user to respond with one of the buttons.", "type": "boolean" } } }, "webitel.chat.Peer": { "description": "Peer contact.", "type": "object", "properties": { "etag": { "description": "Contact source identifier.", "type": "string" }, "id": { "description": "Contact unique **ID**entifier.\nContact **type**-specific string.", "type": "string" }, "name": { "description": "Contact display **name**.", "type": "string" }, "type": { "description": "Contact **type** provider.", "type": "string" } } }, "webitel.chat.Postback": { "description": "Postback. Reply Button Click[ed].", "type": "object", "properties": { "code": { "description": "Data associated with the Button.", "type": "string" }, "mid": { "description": "Message ID of the button.", "type": "string", "format": "int64" }, "text": { "description": "Button's display caption.", "type": "string" } } }, "webitel.chat.ReplyMarkup": { "type": "object", "properties": { "buttons": { "type": "array", "title": "Markup of button(s)", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.ButtonRow" } }, "no_input": { "description": "An option used to block input to force\nthe user to respond with one of the buttons.", "type": "boolean" } } }, "webitel.chat.Timerange": { "description": "Timerange filter value.", "type": "object", "properties": { "since": { "description": "Since epochtime (milli).\n**Match**: greater than ..", "type": "string", "format": "int64" }, "until": { "description": "Until epochtime (milli).\n**Match**: less or equal ..", "type": "string", "format": "int64" } } }, "webitel.chat.server.Account": { "type": "object", "title": "Account contact info to extend and replace legacy chat.Client message type", "properties": { "channel": { "description": "e.g.: bot, user, phone, telegram, facebook, viber, skype ...", "type": "string", "title": "Channel communication type" }, "contact": { "description": "optional: channel specific contact string", "type": "string", "title": "Channel specific contact string" }, "first_name": { "type": "string", "title": "optional" }, "id": { "type": "string", "format": "int64", "title": "Unique IDentifier" }, "last_name": { "type": "string", "title": "optional" }, "username": { "type": "string", "title": "required" } } }, "webitel.chat.server.Button": { "type": "object", "properties": { "caption": { "type": "string" }, "code": { "type": "string" }, "text": { "type": "string" }, "type": { "type": "string" }, "url": { "type": "string" } } }, "webitel.chat.server.Buttons": { "type": "object", "properties": { "button": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.server.Button" } } } }, "webitel.chat.server.Channel": { "type": "object", "properties": { "closed_at": { "type": "string", "format": "int64" }, "connection": { "type": "string" }, "created_at": { "type": "string", "format": "int64" }, "domain_id": { "type": "string", "format": "int64" }, "id": { "type": "string" }, "internal": { "type": "boolean" }, "props": { "type": "string" }, "type": { "type": "string" }, "user_id": { "type": "string", "format": "int64" } } }, "webitel.chat.server.ChatTransferResponse": { "type": "object" }, "webitel.chat.server.ChatVariablesResponse": { "type": "object", "properties": { "channel_id": { "description": "Unique Chat Channel IDentifier.", "type": "string" }, "variables": { "description": "Result Chat Channel's Variables SET.", "type": "object", "additionalProperties": { "type": "string" } } } }, "webitel.chat.server.CheckSessionResponse": { "type": "object", "properties": { "account": { "title": "Account for .this chat channel, end-user contact info", "$ref": "#/definitions/webitel.chat.server.Account" }, "channel_id": { "type": "string" }, "client_id": { "type": "string", "format": "int64" }, "exists": { "type": "boolean" }, "properties": { "description": "optional: extra context", "type": "object", "title": "Properties defined in .StartConversationRequest.message.variables", "additionalProperties": { "type": "string" } } } }, "webitel.chat.server.CloseConversationCause": { "type": "string", "title": "- no_cause: optional (no cause)", "default": "no_cause", "enum": [ "no_cause", "flow_end", "client_leave", "flow_err", "broadcast_end" ] }, "webitel.chat.server.CloseConversationResponse": { "type": "object" }, "webitel.chat.server.Conversation": { "type": "object", "properties": { "closed_at": { "type": "string", "format": "int64" }, "created_at": { "type": "string", "format": "int64" }, "domain_id": { "type": "string", "format": "int64" }, "id": { "type": "string" }, "members": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.server.Member" } }, "messages": { "type": "array", "title": "string self_channel_id = 9;\n int32 unread_messages = 10;", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.server.HistoryMessage" } }, "title": { "type": "string" }, "updated_at": { "type": "string", "format": "int64" } } }, "webitel.chat.server.DeclineInvitationResponse": { "type": "object" }, "webitel.chat.server.File": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" }, "mime": { "type": "string" }, "name": { "type": "string" }, "size": { "type": "string", "format": "int64" }, "url": { "type": "string" } } }, "webitel.chat.server.Gateway": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "type": { "type": "string" } } }, "webitel.chat.server.GetConversationByIDResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.chat.server.Conversation" } } }, "webitel.chat.server.GetConversationsResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.server.Conversation" } }, "next": { "type": "boolean", "title": "search: has {next} page ?" }, "page": { "type": "integer", "format": "int32", "title": "select: offset {page}" } } }, "webitel.chat.server.GetHistoryMessagesResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.server.HistoryMessage" } }, "next": { "type": "boolean", "title": "search: has {next} page ?" }, "page": { "type": "integer", "format": "int32", "title": "select: offset {page}" } } }, "webitel.chat.server.HistoryMessage": { "type": "object", "properties": { "channel_id": { "type": "string" }, "created_at": { "type": "string", "format": "int64" }, "file": { "$ref": "#/definitions/webitel.chat.server.File" }, "id": { "type": "string", "format": "int64" }, "kind": { "type": "string", "title": "int64 conversation_id = 3;\n// int64 from_user_id = 2;\n// string from_user_type = 3;" }, "text": { "type": "string" }, "type": { "type": "string" }, "updated_at": { "type": "string", "format": "int64" } } }, "webitel.chat.server.InviteToConversationResponse": { "type": "object", "properties": { "invite_id": { "type": "string" } } }, "webitel.chat.server.JoinConversationResponse": { "type": "object", "properties": { "channel_id": { "type": "string" } } }, "webitel.chat.server.LeaveConversationCause": { "type": "string", "title": "- default_cause: optional (no cause)", "default": "default_cause", "enum": [ "default_cause", "agent_timeout", "client_timeout", "agent_leave", "transfer", "silence_timeout" ] }, "webitel.chat.server.LeaveConversationResponse": { "type": "object" }, "webitel.chat.server.Member": { "type": "object", "properties": { "channel_id": { "type": "string" }, "external_id": { "type": "string", "title": "string firstname = 6;\nstring lastname = 7;" }, "internal": { "type": "boolean" }, "type": { "type": "string" }, "updated_at": { "type": "string", "format": "int64" }, "user_id": { "type": "string", "format": "int64" }, "username": { "type": "string" }, "via": { "$ref": "#/definitions/webitel.chat.server.Gateway" } } }, "webitel.chat.server.Message": { "type": "object", "properties": { "buttons": { "type": "array", "title": "Reply Markup Buttons SET", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.server.Buttons" } }, "contact": { "title": "End-User extra contact info", "$ref": "#/definitions/webitel.chat.server.Account" }, "created_at": { "description": "Optional. Send message date (epochtime ms) Generates by the service.", "type": "string", "format": "int64" }, "file": { "title": "File to send. Pass an HTTP .URL as a string for Webitel to get a file from the Internet,\nor upload a new one using storage.FileService.UploadFile()", "$ref": "#/definitions/webitel.chat.server.File" }, "forward_from_chat_id": { "type": "string", "title": "Unique identifier for the chat where the original message was sent" }, "forward_from_message_id": { "type": "string", "format": "int64", "title": "Message identifier in the chat specified in from_chat_id" }, "forward_from_variables": { "type": "object", "title": "External message sent-binding to be able to identify corresponding internal message", "additionalProperties": { "type": "string" } }, "from": { "title": "From sender user account", "$ref": "#/definitions/webitel.chat.server.Account" }, "id": { "type": "string", "format": "int64", "title": "Unique message identifier inside this chat" }, "inline": { "type": "array", "title": "Inline Keyboard Buttons SET", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.server.Buttons" } }, "kind": { "type": "string", "title": "Kind of the message. Custom type classifier. Optional. Default: empty.\nMay be used by the client UI to extend set of general message.type(s): [ text | file ]" }, "left_chat_member": { "title": "LeftChatMember description for {\"type\":\"left\"} notification", "$ref": "#/definitions/webitel.chat.server.Account" }, "new_chat_members": { "type": "array", "title": "NewChatMembers description for {\"type\":\"joined\"} notification", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.server.Account" } }, "no_input": { "description": "An option used to block input to force the user\nto respond with one of the `Buttons`.\nInstructs client agents to disable input capabilities.\nCan only be used with a set of `Buttons`.", "type": "boolean" }, "postback": { "description": "Postback. Reply Button Click[ed].", "$ref": "#/definitions/webitel.chat.server.Postback" }, "reply_to_message_id": { "type": "string", "format": "int64", "title": "Optional. If the message is a reply,\nthis is the ID of the original message" }, "reply_to_variables": { "type": "object", "title": "External message sent-binding to be able to identify corresponding internal message", "additionalProperties": { "type": "string" } }, "text": { "type": "string", "title": "Text of the message to be sent, 1-4096" }, "type": { "description": "Type of this Message to notify e.g.: text, file, read, status etc.", "type": "string" }, "updated_at": { "type": "string", "format": "int64", "title": "Optional. Edit message date (epochtime ms) Generates by the service.\nFor \"read\" messages, you can specify the date the last READ message was created_at" }, "variables": { "type": "object", "title": "Optional. This Message extra properties", "additionalProperties": { "type": "string" } } } }, "webitel.chat.server.Postback": { "description": "Postback. Reply Button Click[ed].", "type": "object", "properties": { "code": { "description": "Button's callback data associated.", "type": "string" }, "mid": { "description": "Message ID of the button.", "type": "string", "format": "int64" }, "text": { "description": "Button's caption. Text to display.", "type": "string" } } }, "webitel.chat.server.SendMessageResponse": { "type": "object", "properties": { "message": { "title": "Message sent !", "$ref": "#/definitions/webitel.chat.server.Message" } } }, "webitel.chat.server.SendServiceMessageResponse": { "type": "object" }, "webitel.chat.server.SendUserActionResponse": { "type": "object", "properties": { "ok": { "type": "boolean", "title": "Affected ?" } } }, "webitel.chat.server.StartConversationResponse": { "type": "object", "properties": { "channel_id": { "type": "string" }, "conversation_id": { "type": "string" }, "message": { "title": "Sent \"start\" message !", "$ref": "#/definitions/webitel.chat.server.Message" } } }, "webitel.chat.server.UpdateChannelResponse": { "type": "object" }, "webitel.chat.server.User": { "type": "object", "properties": { "connection": { "type": "string" }, "internal": { "type": "boolean" }, "type": { "type": "string" }, "user_id": { "type": "string", "format": "int64" } } }, "webitel.chat.server.UserAction": { "description": "User actions. Use this to provide users with detailed info\nabout their chat partner's actions: typing or sending attachments of all kinds.\n\n - Typing: User is typing.\n - Cancel: Invalidate all previous action updates.\nE.g. when user deletes entered text or aborts a video upload.", "type": "string", "default": "Typing", "enum": [ "Typing", "Cancel" ] }, "webitel.chat.server.WaitMessageResponse": { "type": "object", "properties": { "messages": { "type": "array", "title": "Error error = 3;", "items": { "type": "object", "$ref": "#/definitions/webitel.chat.server.Message" } }, "timeout_sec": { "type": "string", "format": "int64" } } }, "webitel.im.api.gateway.v1.AccessToken": { "type": "object", "title": "Access Token Response", "properties": { "access_token": { "description": "REQUIRED. The access token issued by the authorization server.", "type": "string" }, "expires_in": { "description": "RECOMMENDED. The lifetime in seconds of the access token.", "type": "integer", "format": "int32" }, "refresh_token": { "description": "OPTIONAL. The refresh token, which can be used to obtain\nnew access tokens using the same authorization grant.", "type": "string" }, "scope": { "description": "OPTIONAL, if identical to the scope requested by the client;\notherwise, REQUIRED. The scope of the access token.", "type": "array", "items": { "type": "string" } }, "state": { "description": "REQUIRED if the \"state\" parameter was present in the client\nauthorization request. The exact value received from the client.", "type": "string" }, "token_type": { "description": "REQUIRED. The type of the token issued. Value is case insensitive.", "type": "string" } } }, "webitel.im.api.gateway.v1.AddMemberResponse": { "type": "object", "properties": { "member": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadMember" } } }, "webitel.im.api.gateway.v1.AuthContact": { "type": "object", "title": "Contact (End-User) profile at the Issuer.\nhttps://openid.net/specs/openid-connect-core-1_0.html#Claims", "properties": { "birthdate": { "description": "OPTIONAL. End-User's birthday, represented as an ISO 8601:2004 [ISO8601‑2004] YYYY-MM-DD format.\nThe year MAY be 0000, indicating that it is omitted.\nTo represent only the year, YYYY format is allowed.", "type": "string" }, "chat_name": { "description": "Name shown to external clients in a chat, instead of [name].\nSourced from the engine user's chat_name.", "type": "string" }, "created_at": { "description": "Time the End-User's information was last updated.\nIts value is a JSON number representing the number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the date/time.", "type": "string", "format": "int64" }, "deleted_at": { "type": "string", "format": "int64" }, "email": { "description": "End-User's preferred e-mail address.\nIts value MUST conform to the RFC 5322 [RFC5322] addr-spec syntax.\nThe RP MUST NOT rely upon this value being unique, as discussed in Section 5.7.", "type": "string" }, "email_verified": { "description": "True if the End-User's e-mail address has been verified; otherwise false.", "type": "boolean" }, "family_name": { "description": "Surname(s) or last name(s) of the End-User.\nNote that in some cultures, people can have multiple family names or no family name;\nall can be present, with the names being separated by space characters.", "type": "string" }, "gender": { "description": "OPTIONAL. End-User's gender.\nValues defined by this specification are `female` and `male`.\nOther values MAY be used when neither of the defined values are applicable.", "type": "string" }, "given_name": { "description": "Given name(s) or first name(s) of the End-User.\nNote that in some cultures, people can have multiple given names;\nall can be present, with the names being separated by space characters.", "type": "string" }, "id": { "description": "[IM] Service (Provider) Account ID.", "type": "string" }, "iss": { "description": "REQUIRED. Issuer Identifier for the Issuer of the response.\nThe iss value is a case sensitive URL using the https scheme that contains scheme, host,\nand optionally, port number and path components and no query or fragment components.", "type": "string" }, "locale": { "description": "End-User's locale, represented as a BCP47 [RFC5646] language tag.\nThis is typically an ISO 639-1 Alpha-2 [ISO639‑1] language code in lowercase\nand an ISO 3166-1 Alpha-2 [ISO3166‑1] country code in uppercase,\nseparated by a dash. For example, `en-US` or `uk-UA`.", "type": "string" }, "metadata": { "description": "End-User's extra attributes (claims) metadata.", "type": "object" }, "middle_name": { "description": "Middle name(s) of the End-User.\nNote that in some cultures, people can have multiple middle names;\nall can be present, with the names being separated by space characters.\nAlso note that in some cultures, middle names are not used.", "type": "string" }, "name": { "description": "REQUIRED. End-User's full name in displayable form including all name parts,\npossibly including titles and suffixes, ordered according to the End-User's locale and preferences.", "type": "string" }, "phone_number": { "description": "End-User's preferred telephone number.\nE.164 is RECOMMENDED as the format of this Claim, for example, +1 (425) 555-1212 or +56 (2) 687 2400.\nIf the phone number contains an extension, it is RECOMMENDED that\nthe extension be represented using the RFC 3966 [RFC3966] extension syntax, for example, +1 (604) 555-1234;ext=5678.", "type": "string" }, "phone_number_verified": { "description": "True if the End-User's phone number has been verified; otherwise false.", "type": "boolean" }, "picture": { "description": "OPTIONAL. URL of the End-User's profile picture.\nThis URL MUST refer to an image file\n(for example, a PNG, JPEG, or GIF image file),\nrather than to a Web page containing an image.", "type": "string" }, "profile": { "description": "OPTIONAL. URL of the End-User's profile page.\nThe contents of this Web page SHOULD be about the End-User.\nNOTE: Issuer SP (IdP) related URL.", "type": "string" }, "sub": { "description": "REQUIRED. Subject Identifier.\nA locally unique and never reassigned identifier within the Issuer for the End-User,\nwhich is intended to be consumed by the Client, e.g., 24400320 or AItOawmwtWwcT0k51BayewNvutrJUqsvl6qs7A4.\nIt MUST NOT exceed 255 ASCII characters in length.\nThe sub value is a case sensitive string.", "type": "string" }, "type": { "type": "string" }, "updated_at": { "type": "string", "format": "int64" }, "username": { "type": "string", "title": "[preferred_username]. Mention" }, "zoneinfo": { "description": "OPTIONAL. String from zoneinfo [zoneinfo] time zone database representing the End-User's time zone.\nFor example, Europe/Kyiv or America/Los_Angeles.", "type": "string" } } }, "webitel.im.api.gateway.v1.Authorization": { "type": "object", "title": "Authorization. Session", "properties": { "app_id": { "type": "string", "title": "Application [client_id] ; VIA" }, "contact": { "title": "Authorized end-user Contact info", "$ref": "#/definitions/webitel.im.api.gateway.v1.AuthContact" }, "current": { "type": "boolean", "title": "Whether this is the current session" }, "date": { "type": "string", "format": "int64", "title": "When was the session created" }, "device": { "title": "Last known (User-Agent) device ; FROM", "$ref": "#/definitions/webitel.im.api.gateway.v1.Device" }, "name": { "description": "Session (device) display name.", "type": "string" }, "token": { "title": "OPTIONAL. Grant of an [access_token] for this session Authorization", "$ref": "#/definitions/webitel.im.api.gateway.v1.AccessToken" } } }, "webitel.im.api.gateway.v1.Bot": { "type": "object", "properties": { "id": { "type": "string" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "schema_id": { "type": "string" }, "username": { "type": "string" } } }, "webitel.im.api.gateway.v1.Bots.UpdateBotBody": { "type": "object", "properties": { "field_mask": { "type": "string" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "schema_id": { "type": "string" }, "username": { "type": "string" } } }, "webitel.im.api.gateway.v1.Contact": { "description": "Contact represents an external messaging identity.", "type": "object", "properties": { "app_id": { "description": "Identifier of the specific integration app or bot.", "type": "string" }, "created_at": { "description": "Record creation timestamp (Unix Epoch in milliseconds).", "type": "string", "format": "int64" }, "is_bot": { "description": "Represents if usere is real person or automatic script.", "type": "boolean" }, "iss": { "description": "Provider-specific unique identifier (Issuer ID).", "type": "string" }, "metadata": { "description": "Additional dynamic attributes provided by the messenger.", "type": "object", "additionalProperties": { "type": "string" } }, "name": { "description": "Display name of the contact.", "type": "string" }, "sub": { "description": "Associated internal system subject/identifier.", "type": "string" }, "type": { "description": "Channel type (e.g., 'webchat', 'telegram').", "type": "string" }, "updated_at": { "description": "Last record update timestamp (Unix Epoch in milliseconds).", "type": "string", "format": "int64" }, "username": { "description": "Technical username or handle.", "type": "string" }, "vias": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.Via" } } } }, "webitel.im.api.gateway.v1.ContactList": { "description": "SearchList represents a paginated collection of Contact entities.", "type": "object", "properties": { "items": { "description": "List of contacts found.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.Contact" } }, "next": { "description": "Indicates if there are more pages available.", "type": "boolean" }, "page": { "description": "Current page number.", "type": "integer", "format": "int32" }, "size": { "description": "Number of items returned in this batch.", "type": "integer", "format": "int32" } } }, "webitel.im.api.gateway.v1.ContactSettings": { "type": "object", "properties": { "allow_invites_from": { "$ref": "#/definitions/webitel.im.api.gateway.v1.UserFilter" }, "contact_id": { "type": "string" }, "updated_at": { "type": "string", "format": "int64" } } }, "webitel.im.api.gateway.v1.CreateBotRequest": { "type": "object", "properties": { "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "schema_id": { "type": "string" }, "username": { "type": "string" } } }, "webitel.im.api.gateway.v1.DeleteMessagesRequest": { "type": "object", "properties": { "ids": { "description": "Messages to delete. Only messages authored by the caller are removed.", "type": "array", "items": { "type": "string" } } } }, "webitel.im.api.gateway.v1.DeleteMessagesResponse": { "type": "object", "properties": { "deleted_at": { "description": "Unix time in milliseconds when the messages were deleted. Zero when this\ncall deleted nothing.", "type": "string", "format": "int64" }, "deleted_ids": { "description": "Messages that were actually deleted by this call.", "type": "array", "items": { "type": "string" } }, "skipped": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.SkippedMessage" } } } }, "webitel.im.api.gateway.v1.Device": { "type": "object", "title": "Device (Client) endpoint. [FROM]", "properties": { "app": { "title": "[User-Agent] as (remote) client (application) info", "$ref": "#/definitions/webitel.im.api.gateway.v1.UserAgent" }, "ip": { "type": "string", "title": "Last known IP address [FROM]" }, "push": { "type": "string" } } }, "webitel.im.api.gateway.v1.DirectConfig": { "description": "DirectConfig defines settings required to establish a 1:1 thread.", "type": "object", "properties": { "member": { "description": "IM contact that will be added to the created thread as second member.", "$ref": "#/definitions/webitel.im.api.gateway.v1.PeerIdentity" } } }, "webitel.im.api.gateway.v1.Document": { "description": "Document represents a file attachment\nassociated with a message.", "type": "object", "properties": { "created_at": { "description": "Creation timestamp (Unix time, milliseconds).", "type": "string", "format": "int64" }, "file_id": { "description": "File storage identifier.", "type": "string", "format": "int64" }, "id": { "description": "Document identifier.", "type": "string", "format": "int64" }, "message_id": { "description": "Identifier of the message this document belongs to.", "type": "string" }, "mime": { "description": "MIME type of the document.", "type": "string" }, "name": { "description": "Original file name.", "type": "string" }, "size": { "description": "File size in bytes.", "type": "string", "format": "int64" }, "url": { "description": "Public signed URL for downloading the document.", "type": "string" } } }, "webitel.im.api.gateway.v1.DocumentInput": { "description": "Represents `Document` message with necessary fields\nto process it into frequently used `document`\nentity in messaging systems.", "type": "object", "properties": { "file_name": { "type": "string" }, "id": { "type": "string" }, "mime_type": { "type": "string" }, "size_bytes": { "type": "string", "format": "int64" }, "url": { "type": "string" } } }, "webitel.im.api.gateway.v1.Documents": { "description": "Media container for documents attachments.", "type": "object", "properties": { "documents": { "description": "Documents to be attached to the header of interactive message.\nMax allowed documents: 10.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.DocumentInput" } } } }, "webitel.im.api.gateway.v1.EditMessageResponse": { "type": "object", "properties": { "edited_at": { "description": "Unix time in milliseconds when the message was edited.", "type": "string", "format": "int64" }, "id": { "type": "string" }, "version": { "description": "Position of the new body in the message's change history — the version\nGetMessageRevisions reports for it, so 2 right after the first edit\n(version 1 is the original text).", "type": "integer", "format": "int32" } } }, "webitel.im.api.gateway.v1.ForwardMessagesRequest": { "type": "object", "properties": { "internal_note": { "description": "Optional internal note posted alongside the forward — visible only to\nWebitel users, never delivered to the client.", "type": "string" }, "message_ids": { "description": "Sources to copy, in the order they should appear at the destination.", "type": "array", "items": { "type": "string" } }, "send_as": { "$ref": "#/definitions/webitel.im.api.gateway.v1.PeerIdentity" }, "send_id": { "type": "string", "title": "optional client-generated id for deduplication" }, "to": { "description": "Recipient of the copies: a user contact or a bot contact (flow schema).", "$ref": "#/definitions/webitel.im.api.gateway.v1.Peer" } } }, "webitel.im.api.gateway.v1.ForwardMessagesResponse": { "type": "object", "properties": { "ids": { "description": "Ids of the created copies, in forwarded order.", "type": "array", "items": { "type": "string" } }, "skipped_ids": { "description": "Sources that were not forwarded: unknown id, no read access to the source\nchat, already deleted, or a type that cannot be forwarded.", "type": "array", "items": { "type": "string" } }, "thread_id": { "description": "Direct chat the copies landed in.", "type": "string" } } }, "webitel.im.api.gateway.v1.ForwardOrigin": { "description": "ForwardOrigin is a snapshot of the original author taken at forward time.\nUnlike ReplyToMessage it carries no enriched ThreadMember: the original author\nis generally not a member of the chat the copy landed in, so sender_name is\nthe only label a client can rely on.", "type": "object", "properties": { "kind": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ForwardOriginKind" }, "original_sent_at": { "description": "When the original message was sent, Unix time in milliseconds.", "type": "string", "format": "int64" }, "sender_id": { "description": "Contact id of the original author. Empty unless kind is INTERNAL.", "type": "string" }, "sender_name": { "description": "Display name of the original author — the \"from whom\" label.", "type": "string" }, "source_message_id": { "description": "Source message this copy was made from. Empty unless kind is INTERNAL,\nand cleared if the source is later purged.", "type": "string" } } }, "webitel.im.api.gateway.v1.ForwardOriginInput": { "description": "ForwardOriginInput carries what an external channel told us about the\noriginal author of an inbound forwarded message. Set by providers on\ningress, not by end clients.", "type": "object", "properties": { "kind": { "description": "How the message was forwarded, which determines what other fields are set.", "$ref": "#/definitions/webitel.im.api.gateway.v1.ForwardOriginKind" }, "original_sent_at": { "description": "When the message was originally sent, Unix time in milliseconds.\nZero when the platform does not report it.", "type": "string", "format": "int64" }, "sender_iss": { "description": "Identity of the original author as the external channel reports it: iss\nnames the issuing channel, sub the author's id inside it. Kept so the\norigin can be matched against a real contact. Both empty when the platform\nhides the author, which is reported without any id.", "type": "string" }, "sender_name": { "description": "Display name of the original author. Empty when the platform hides it.", "type": "string" }, "sender_sub": { "type": "string" } } }, "webitel.im.api.gateway.v1.ForwardOriginKind": { "description": "ForwardOriginKind tells the client how to label a forwarded message and\nwhether the origin points at anything addressable inside Webitel.\n\n - FORWARD_ORIGIN_KIND_INTERNAL: Forwarded inside Webitel: sender_id and source_message_id are set.\n - FORWARD_ORIGIN_KIND_EXTERNAL_USER: Forwarded into the chat from an external messenger, author named.\n - FORWARD_ORIGIN_KIND_EXTERNAL_HIDDEN_USER: Same, but the author chose to hide their account, so there is no name.\n - FORWARD_ORIGIN_KIND_EXTERNAL_CHAT: Origin is an external group or channel rather than a person.", "type": "string", "default": "FORWARD_ORIGIN_KIND_UNSPECIFIED", "enum": [ "FORWARD_ORIGIN_KIND_UNSPECIFIED", "FORWARD_ORIGIN_KIND_INTERNAL", "FORWARD_ORIGIN_KIND_EXTERNAL_USER", "FORWARD_ORIGIN_KIND_EXTERNAL_HIDDEN_USER", "FORWARD_ORIGIN_KIND_EXTERNAL_CHAT" ] }, "webitel.im.api.gateway.v1.GetContactSettingsResponse": { "type": "object", "properties": { "settings": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ContactSettings" } } }, "webitel.im.api.gateway.v1.GetMessageRevisionsResponse": { "type": "object", "properties": { "items": { "description": "Oldest first. Empty when the message was never edited or deleted.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.MessageRevision" } } } }, "webitel.im.api.gateway.v1.GetThreadPermissionsResponse": { "type": "object", "properties": { "permissions": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadPermissions" } } }, "webitel.im.api.gateway.v1.GetUnreadSummaryResponse": { "description": "GetUnreadSummaryResponse carries the caller's unread totals.", "type": "object", "properties": { "unread_chats": { "description": "Number of chats (threads) that have at least one unread message.", "type": "integer", "format": "int32" }, "unread_messages": { "description": "Total number of unread messages across all chats.", "type": "string", "format": "int64" } } }, "webitel.im.api.gateway.v1.HistoryMessage": { "description": "HistoryMessage represents a single message\nin thread history.", "type": "object", "properties": { "body": { "description": "Message body content.", "type": "string" }, "contact": { "$ref": "#/definitions/webitel.im.api.gateway.v1.MessageContact" }, "created_at": { "description": "Message creation timestamp (Unix time, milliseconds).", "type": "string", "format": "int64" }, "deleted": { "description": "True when the message was deleted by its author. Every content field\n(body, attachments, contact, location, interactive, metadata) is cleared,\nso clients should render a tombstone.", "type": "boolean" }, "deleted_at": { "description": "Unix time in milliseconds when the message was deleted.", "type": "string", "format": "int64" }, "deleted_by": { "description": "Member who deleted the message, enriched exactly like sender; unset while\nthe message is live.", "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadMember" }, "delivery_status": { "description": "Aggregated delivery status across recipients: FAILED when every\nrecipient failed, otherwise the minimal status among non-failed ones.\nUNSPECIFIED for messages without per-recipient tracking (historical).", "$ref": "#/definitions/webitel.im.api.gateway.v1.MessageDeliveryStatus" }, "documents": { "description": "List of document attachments.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.Document" } }, "edited_at": { "description": "Message last update timestamp (Unix time, milliseconds).", "type": "string", "format": "int64" }, "forward_origin": { "description": "Set when this message is a forward. Never populated for a deleted\nmessage: the tombstone must not leak the origin name.", "$ref": "#/definitions/webitel.im.api.gateway.v1.ForwardOrigin" }, "id": { "description": "Unique message identifier.", "type": "string" }, "images": { "description": "List of image attachments.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.Image" } }, "interactive": { "$ref": "#/definitions/webitel.im.api.gateway.v1.Interactive" }, "location": { "$ref": "#/definitions/webitel.im.api.gateway.v1.MessageLocation" }, "metadata": { "description": "Arbitrary message metadata.\nCan contain structured data depending on message type.", "type": "object" }, "reacted_metadata": { "description": "Metadata for button reaction for interactive message.", "$ref": "#/definitions/webitel.im.api.gateway.v1.InteractiveCallback" }, "reactions": { "description": "Emoji reactions currently held on the message, aggregated per emoji.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.MessageReaction" } }, "reply_to": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ReplyToMessage" }, "revision_count": { "description": "Number of entries in the message's change history. Zero means the message\nwas never edited or deleted; otherwise GetMessageRevisions returns that\nmany entries.", "type": "integer", "format": "int32" }, "sender": { "description": "Sender user aggregated information.", "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadMember" }, "seq": { "description": "Per-thread monotonic sequence number, assigned on message creation.", "type": "string", "format": "int64" }, "statuses": { "description": "Per-recipient delivery details.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.MessageRecipientStatus" } }, "system": { "description": "System message content.", "$ref": "#/definitions/webitel.im.api.gateway.v1.System" }, "thread_id": { "description": "Identifier of the thread the message belongs to.", "type": "string" }, "type": { "description": "Message type identifier.", "type": "integer", "format": "int32" } } }, "webitel.im.api.gateway.v1.HistoryMessageCursorRequest": { "description": "HistoryMessageCursorRequest represents a cursor-based pagination request\nfor retrieving messages relative to a specific message ID.\n\nThis request is used in keyset pagination, where the `id` field acts as a\ncursor pointing to a reference message in the history. The server returns\nmessages either before or after this cursor depending on the `before` flag.\n\nPagination semantics:\n - The `id` must be a valid UUID of an existing message.\n - The result set is always ordered consistently (e.g., by creation time).\n - The `before` flag controls the direction of traversal in the message history.\n\nDirection behavior — note the flag reads inverted, because it maps onto the\nkeyset direction over an id-descending order:\n - before = false:\n Fetch messages *older* than the given one, walking back into history.\n This is the direction a chat uses when scrolling up.\n\n - before = true:\n Fetch messages *newer* than the given one, moving toward the present.\n Returns nothing when the cursor is already the newest message.\n\nNotes:\n - This approach avoids offset-based pagination issues such as skipping\n or duplicating records when data changes.\n - Typically used for chat/message history scrolling.\n - The number of returned messages is controlled separately (e.g., via limit).", "type": "object", "properties": { "before": { "description": "Pagination direction flag.\n\nfalse -\u003e fetch messages older than the cursor (scrolling up the chat)\ntrue -\u003e fetch messages newer than the cursor (moving toward the present)", "type": "boolean" }, "id": { "description": "Cursor identifier.\nMust be a valid UUID referencing an existing message.\nDefines the starting point for pagination.", "type": "string" } } }, "webitel.im.api.gateway.v1.HistoryMessageCursorResponse": { "description": "HistoryMessageCursorResponse defines next/prev id for keyset-pagination.", "type": "object", "properties": { "id": { "description": "Unique identifier last message where cursor stopped.", "type": "string" } } }, "webitel.im.api.gateway.v1.Identity": { "type": "object", "title": "Identity (IdToken) of the Contact at the Issuer.\nhttps://openid.net/specs/openid-connect-core-1_0.html#Claims", "properties": { "birthdate": { "description": "OPTIONAL. End-User's birthday, represented as an ISO 8601:2004 [ISO8601‑2004] YYYY-MM-DD format.\nThe year MAY be 0000, indicating that it is omitted.\nTo represent only the year, YYYY format is allowed.", "type": "string" }, "email": { "description": "End-User's preferred e-mail address.\nIts value MUST conform to the RFC 5322 [RFC5322] addr-spec syntax.\nThe RP MUST NOT rely upon this value being unique, as discussed in Section 5.7.", "type": "string" }, "email_verified": { "description": "True if the End-User's e-mail address has been verified; otherwise false.", "type": "boolean" }, "family_name": { "description": "Surname(s) or last name(s) of the End-User.\nNote that in some cultures, people can have multiple family names or no family name;\nall can be present, with the names being separated by space characters.", "type": "string" }, "gender": { "description": "OPTIONAL. End-User's gender.\nValues defined by this specification are `female` and `male`.\nOther values MAY be used when neither of the defined values are applicable.", "type": "string" }, "given_name": { "description": "Given name(s) or first name(s) of the End-User.\nNote that in some cultures, people can have multiple given names;\nall can be present, with the names being separated by space characters.", "type": "string" }, "iss": { "description": "REQUIRED. Issuer Identifier for the Issuer of the response.\nThe iss value is a case sensitive URL using the https scheme that contains scheme, host,\nand optionally, port number and path components and no query or fragment components.", "type": "string" }, "locale": { "description": "End-User's locale, represented as a BCP47 [RFC5646] language tag.\nThis is typically an ISO 639-1 Alpha-2 [ISO639‑1] language code in lowercase\nand an ISO 3166-1 Alpha-2 [ISO3166‑1] country code in uppercase,\nseparated by a dash. For example, `en-US` or `uk-UA`.", "type": "string" }, "metadata": { "description": "End-User's extra attributes (claims) metadata.", "type": "object" }, "middle_name": { "description": "Middle name(s) of the End-User.\nNote that in some cultures, people can have multiple middle names;\nall can be present, with the names being separated by space characters.\nAlso note that in some cultures, middle names are not used.", "type": "string" }, "name": { "description": "REQUIRED. End-User's full name in displayable form including all name parts,\npossibly including titles and suffixes, ordered according to the End-User's locale and preferences.", "type": "string" }, "phone_number": { "description": "End-User's preferred telephone number.\nE.164 is RECOMMENDED as the format of this Claim, for example, +1 (425) 555-1212 or +56 (2) 687 2400.\nIf the phone number contains an extension, it is RECOMMENDED that\nthe extension be represented using the RFC 3966 [RFC3966] extension syntax, for example, +1 (604) 555-1234;ext=5678.", "type": "string" }, "phone_number_verified": { "description": "True if the End-User's phone number has been verified; otherwise false.", "type": "boolean" }, "picture": { "description": "OPTIONAL. URL of the End-User's profile picture.\nThis URL MUST refer to an image file\n(for example, a PNG, JPEG, or GIF image file),\nrather than to a Web page containing an image.", "type": "string" }, "profile": { "description": "OPTIONAL. URL of the End-User's profile page.\nThe contents of this Web page SHOULD be about the End-User.\nNOTE: Issuer SP (IdP) related URL.", "type": "string" }, "sub": { "description": "REQUIRED. Subject Identifier.\nA locally unique and never reassigned identifier within the Issuer for the End-User,\nwhich is intended to be consumed by the Client, e.g., 24400320 or AItOawmwtWwcT0k51BayewNvutrJUqsvl6qs7A4.\nIt MUST NOT exceed 255 ASCII characters in length.\nThe sub value is a case sensitive string.", "type": "string" }, "zoneinfo": { "description": "OPTIONAL. String from zoneinfo [zoneinfo] time zone database representing the End-User's time zone.\nFor example, Europe/Kyiv or America/Los_Angeles.", "type": "string" } } }, "webitel.im.api.gateway.v1.Image": { "description": "Image represents an image attachment\nassociated with a message.", "type": "object", "properties": { "created_at": { "description": "Creation timestamp (Unix time, milliseconds).", "type": "string", "format": "int64" }, "file_id": { "description": "File storage identifier.", "type": "string", "format": "int64" }, "height": { "description": "Image height in pixels.", "type": "integer", "format": "int32" }, "id": { "description": "Image identifier.", "type": "string" }, "message_id": { "description": "Identifier of the message this message belongs to.", "type": "string" }, "mime": { "description": "MIME type of the image.", "type": "string" }, "url": { "description": "Public signed URL for accessing the image.", "type": "string" }, "width": { "description": "Image width in pixels.", "type": "integer", "format": "int32" } } }, "webitel.im.api.gateway.v1.ImageInput": { "description": "Represents `Image` entity with\nnecessary fields.", "type": "object", "properties": { "id": { "type": "string" }, "link": { "type": "string" }, "mime_type": { "type": "string" }, "name": { "type": "string" } } }, "webitel.im.api.gateway.v1.Images": { "description": "Media container for images attachments.", "type": "object", "properties": { "images": { "description": "Images to be attached to the header of interactive message.\nMax allowed images: 10.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.ImageInput" } } } }, "webitel.im.api.gateway.v1.InputFieldState": { "description": "InputFieldState controls whether the recipient can type free text while a menu is\ndisplayed. Not every channel can enforce it (Telegram cannot).\n\n - INPUT_FIELD_STATE_HIDDEN: Free text is not possible: the recipient can only press a button.", "type": "string", "default": "INPUT_FIELD_STATE_UNSPECIFIED", "enum": [ "INPUT_FIELD_STATE_UNSPECIFIED", "INPUT_FIELD_STATE_REGULAR", "INPUT_FIELD_STATE_MINIMIZED", "INPUT_FIELD_STATE_HIDDEN" ] }, "webitel.im.api.gateway.v1.Interactive": { "description": "Interactive represents a rich message with UI elements.", "type": "object", "properties": { "documents": { "description": "Document attachments header.", "$ref": "#/definitions/webitel.im.api.gateway.v1.Documents" }, "images": { "description": "Images attachment header.", "$ref": "#/definitions/webitel.im.api.gateway.v1.Images" }, "input_field_state": { "description": "Whether the recipient may still type while this menu is displayed.", "$ref": "#/definitions/webitel.im.api.gateway.v1.InputFieldState" }, "list_reply": { "description": "List reply with main list button text and sections with buttons.", "$ref": "#/definitions/webitel.im.api.gateway.v1.KeyboardListReply" }, "markup": { "description": "Markup matrix with buttons.", "$ref": "#/definitions/webitel.im.api.gateway.v1.KeyboardMarkup" }, "placement": { "description": "Where the menu is rendered. Channels that only support one placement ignore it.", "$ref": "#/definitions/webitel.im.api.gateway.v1.MenuPlacement" }, "single_use": { "description": "Force to block user keyboard.", "type": "boolean" } } }, "webitel.im.api.gateway.v1.InteractiveCallback": { "type": "object", "properties": { "button_code": { "description": "Button identifier.", "type": "string" }, "callback_data": { "description": "Optional callback payload.", "type": "string" }, "in_reply_to": { "description": "Original message ID.", "type": "string" }, "reacted_at": { "description": "Unix time in milliseconds when callback button was clicked.", "type": "string", "format": "int64" }, "reacted_by": { "description": "User who clicked the button.", "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadMember" } } }, "webitel.im.api.gateway.v1.InteractiveCallbackResponse": { "description": "Response sent back to the client after a button click.", "type": "object", "properties": { "button_code": { "description": "Button identifier.", "type": "string" }, "callback_data": { "description": "Optional callback payload.", "type": "string" }, "in_reply_to": { "description": "Original message ID.", "type": "string" }, "reacted_at": { "description": "Unix time in milliseconds when callback button was clicked.", "type": "string", "format": "int64" }, "reacted_by": { "description": "User who clicked the button.", "$ref": "#/definitions/webitel.im.api.gateway.v1.Peer" } } }, "webitel.im.api.gateway.v1.KeyboardButton": { "description": "Defines a single interactive element within the keyboard.\nEach button must have a unique identifier and a specific action type.", "type": "object", "properties": { "callback": { "description": "Triggers a backend event (callback) with associated metadata.", "$ref": "#/definitions/webitel.im.api.gateway.v1.KeyboardButtonCallback" }, "id": { "description": "Unique idempotent identifier for the button.\nUsed by the frontend to track state and prevent duplicate interactions.", "type": "string" }, "label": { "description": "The human-readable label displayed on the button.", "type": "string" }, "metadata": { "description": "Extensible metadata for UI/UX styling (e.g., \"color\", \"theme\", \"size\").\nUsage: Allows for future-proofing without breaking schema changes.", "type": "object" }, "request": { "description": "Requests sensitive information from the client (e.g., location or contact).", "$ref": "#/definitions/webitel.im.api.gateway.v1.KeyboardButtonRequest" }, "url": { "description": "Directs the user to an external web resource.", "$ref": "#/definitions/webitel.im.api.gateway.v1.KeyboardButtonURL" } } }, "webitel.im.api.gateway.v1.KeyboardButtonCallback": { "description": "Action: Sends an asynchronous signal to the backend service.", "type": "object", "properties": { "data": { "description": "Opaque data payload passed back to the server upon interaction.", "type": "string" } } }, "webitel.im.api.gateway.v1.KeyboardButtonRequest": { "description": "Action: Prompts the client to share specific device data.", "type": "object", "properties": { "action": { "description": "The specific action to be performed by the client application.", "type": "string" } } }, "webitel.im.api.gateway.v1.KeyboardButtonURL": { "description": "Action: Navigates the user to a specific URI.", "type": "object", "properties": { "url": { "description": "Must be a valid absolute URI (e.g., https://example.com).", "type": "string" } } }, "webitel.im.api.gateway.v1.KeyboardListReply": { "description": "List-style interactive menu.", "type": "object", "properties": { "main_button_title": { "description": "Title of the main button, that on-click show up list.", "type": "string" }, "sections": { "description": "List with sections with buttons.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.KeyboardRowWithSection" } } } }, "webitel.im.api.gateway.v1.KeyboardMarkup": { "description": "Grid-style buttons.", "type": "object", "properties": { "rows": { "description": "Rows of buttons matrix.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.KeyboardRow" } } } }, "webitel.im.api.gateway.v1.KeyboardRow": { "description": "A standard horizontal row of interactive buttons without a section header.", "type": "object", "properties": { "buttons": { "description": "Horizontal collection of buttons.\nCapped at 10 to ensure UI responsiveness and prevent overflow.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.KeyboardButton" } } } }, "webitel.im.api.gateway.v1.KeyboardRowWithSection": { "description": "Represents a row of buttons grouped under a specific logical section header.\nUseful for creating categorized menus or structured interactive interfaces.", "type": "object", "properties": { "buttons": { "description": "Collection of buttons within this section.\nMinimum of 1 button is required to prevent empty sections.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.KeyboardButton" } }, "section": { "description": "The header text for this section. Must be concise and descriptive.", "type": "string" } } }, "webitel.im.api.gateway.v1.LogoutResponse": { "type": "object", "title": "No Data" }, "webitel.im.api.gateway.v1.MenuPlacement": { "description": "MenuPlacement is where a channel should render the menu.\n\n - MENU_PLACEMENT_INLINE: Inside the message bubble, staying in the conversation history.\n - MENU_PLACEMENT_PERSISTENT: Over the input field, replacing the previous menu and outliving the message.", "type": "string", "default": "MENU_PLACEMENT_UNSPECIFIED", "enum": [ "MENU_PLACEMENT_UNSPECIFIED", "MENU_PLACEMENT_INLINE", "MENU_PLACEMENT_PERSISTENT" ] }, "webitel.im.api.gateway.v1.Message.EditMessageBody": { "type": "object", "properties": { "body": { "description": "New content for the message. Must not be empty.", "type": "string" } } }, "webitel.im.api.gateway.v1.Message.SendInteractiveCallbackBody": { "description": "Client sends callback event when user clicks a button.", "type": "object", "properties": { "button_code": { "description": "Button identifier.", "type": "string" }, "callback_data": { "description": "Optional callback payload.", "type": "string" } } }, "webitel.im.api.gateway.v1.Message.SendTypingBody": { "type": "object", "properties": { "preview_text": { "description": "Optional live draft of the message being typed (Live Typing Preview),\nforwarded only to authorized recipients when the preview feature is enabled.\nMax 1024 bytes; an empty value clears a previously shown preview.", "type": "string" }, "timeout_ms": { "description": "How long clients should keep the indicator visible, in milliseconds.\nOptional; the server defaults it (typically 6000) and clamps it to 30000.", "type": "integer", "format": "int32" } } }, "webitel.im.api.gateway.v1.Message.SetReactionBody": { "type": "object", "properties": { "emoji": { "description": "Emoji to set. An empty string clears the caller's reaction; a different\nemoji replaces it; the same emoji is a no-op (reactions are declarative and\nidempotent — one reaction per participant per message).", "type": "string" }, "send_id": { "description": "Optional opaque client echo token, returned verbatim on the reaction event\nso an optimistic UI can reconcile. Not used for deduplication or ordering.", "type": "string" } } }, "webitel.im.api.gateway.v1.MessageContact": { "type": "object", "properties": { "email": { "type": "string" }, "name": { "type": "string" }, "phone": { "type": "string" } } }, "webitel.im.api.gateway.v1.MessageDeliveryStatus": { "description": "MessageDeliveryStatus is a per-recipient delivery state of a message.\nTransitions are monotonic: SENT -\u003e DELIVERED -\u003e READ.\nFAILED is terminal but may be superseded by a later DELIVERED (retry).\n\n - MESSAGE_DELIVERY_STATUS_SENT: Accepted by the system and queued for delivery.\n - MESSAGE_DELIVERY_STATUS_DELIVERED: Reached the recipient (stream ACK, push, provider receipt, bot dispatch).\n - MESSAGE_DELIVERY_STATUS_READ: Read by the recipient. Not applicable to bots.\n - MESSAGE_DELIVERY_STATUS_FAILED: Delivery failed (provider rejected, invalid contact, channel restriction).", "type": "string", "default": "MESSAGE_DELIVERY_STATUS_UNSPECIFIED", "enum": [ "MESSAGE_DELIVERY_STATUS_UNSPECIFIED", "MESSAGE_DELIVERY_STATUS_SENT", "MESSAGE_DELIVERY_STATUS_DELIVERED", "MESSAGE_DELIVERY_STATUS_READ", "MESSAGE_DELIVERY_STATUS_FAILED" ] }, "webitel.im.api.gateway.v1.MessageLocation": { "type": "object", "properties": { "address": { "type": "string" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" }, "name": { "type": "string" } } }, "webitel.im.api.gateway.v1.MessageReaction": { "description": "MessageReaction is one emoji aggregate on a history message.", "type": "object", "properties": { "count": { "description": "Number of members currently holding this reaction.", "type": "integer", "format": "int32" }, "emoji": { "description": "Unicode emoji this reaction aggregates.", "type": "string" }, "last_reacted_at": { "description": "Unix time in milliseconds of the most recent reaction with this emoji.", "type": "string", "format": "int64" }, "reacted_by_me": { "description": "True when the requesting caller is one of the reactors.", "type": "boolean" }, "reactor_ids": { "description": "Capped sample of reactor contact ids (for UI); not necessarily all of them.", "type": "array", "items": { "type": "string" } } } }, "webitel.im.api.gateway.v1.MessageRecipientStatus": { "description": "MessageRecipientStatus is a per-recipient delivery state of a message.", "type": "object", "properties": { "delivered_at": { "description": "Unix time in milliseconds; zero when not reached.", "type": "string", "format": "int64" }, "error": { "description": "JSON-encoded provider error details for FAILED.", "type": "string" }, "failed_at": { "type": "string", "format": "int64" }, "member_id": { "description": "Recipient contact id.", "type": "string" }, "read_at": { "type": "string", "format": "int64" }, "status": { "$ref": "#/definitions/webitel.im.api.gateway.v1.MessageDeliveryStatus" }, "via": { "description": "Confirmation source: ws|push|provider|bot.", "type": "string" } } }, "webitel.im.api.gateway.v1.MessageRevision": { "description": "One entry of a message's change history: what the message read at that\npoint, who changed it and when.", "type": "object", "properties": { "action": { "$ref": "#/definitions/webitel.im.api.gateway.v1.MessageRevisionAction" }, "body": { "description": "Body the message carried after this change. For DELETED it is the text\nthe message still carried when it was removed, so the conversation can be\nreconstructed even though the timeline only shows a tombstone.", "type": "string" }, "changed_at": { "description": "Unix time in milliseconds when the change was made.", "type": "string", "format": "int64" }, "changed_by": { "description": "Member who made the change, enriched exactly like a message sender.", "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadMember" }, "version": { "description": "Position in the history, starting at 1 for the original message.", "type": "integer", "format": "int32" } } }, "webitel.im.api.gateway.v1.MessageRevisionAction": { "description": "What happened to a message at one point of its history.\n\n - MESSAGE_REVISION_ACTION_CREATED: The message as it was originally sent.\n - MESSAGE_REVISION_ACTION_EDITED: The body was replaced by an edit.\n - MESSAGE_REVISION_ACTION_DELETED: The message was deleted.", "type": "string", "default": "MESSAGE_REVISION_ACTION_UNSPECIFIED", "enum": [ "MESSAGE_REVISION_ACTION_UNSPECIFIED", "MESSAGE_REVISION_ACTION_CREATED", "MESSAGE_REVISION_ACTION_EDITED", "MESSAGE_REVISION_ACTION_DELETED" ] }, "webitel.im.api.gateway.v1.PUSHSubscription": { "type": "object", "title": "PUSH (token) Subscription\nhttps://core.telegram.org/api/push-updates#subscribing-to-notifications", "properties": { "apn": { "type": "string", "title": "[A]pple [P]ush [N]otification Service (device token for apple push)" }, "fcm": { "type": "string", "title": "[F]irebase [C]loud [M]essaging Service (firebase token for google firebase)" }, "secret": { "type": "string", "format": "byte", "title": "For FCM and APNS VoIP, optional encryption key used to encrypt push notifications" }, "web": { "title": "For web push: endpoint + keys (P-256 ECDH)", "$ref": "#/definitions/webitel.im.api.gateway.v1.WebPushSubscription" } } }, "webitel.im.api.gateway.v1.Peer": { "description": "Represents a peer in the messaging system.\nIt can be a user, chat, or channel.", "type": "object", "properties": { "channel_id": { "type": "string", "title": "Channel Id [channel thread]" }, "contact": { "title": "User identifier [direct thread]", "$ref": "#/definitions/webitel.im.api.gateway.v1.PeerIdentity" }, "group_id": { "type": "string", "title": "Chat group Id [group thread]" }, "thread_id": { "type": "string", "title": "Thread ID" } } }, "webitel.im.api.gateway.v1.PeerIdentity": { "type": "object", "properties": { "chat_name": { "description": "chat_name is the name external clients see instead of the real one.", "type": "string" }, "iss": { "type": "string" }, "sub": { "type": "string" }, "via": { "type": "string" } } }, "webitel.im.api.gateway.v1.ReadMessageResponse": { "type": "object" }, "webitel.im.api.gateway.v1.RegisterDeviceResponse": { "type": "object", "title": "No Reply ; Error status if failed" }, "webitel.im.api.gateway.v1.RemoveMemberResponse": { "type": "object" }, "webitel.im.api.gateway.v1.ReplyToMessage": { "type": "object", "properties": { "attachment_address": { "type": "string" }, "attachment_kind": { "type": "string" }, "attachment_mime": { "type": "string" }, "attachment_name": { "type": "string" }, "body": { "type": "string" }, "created_at": { "type": "string", "format": "int64" }, "id": { "type": "string" }, "is_deleted": { "type": "boolean" }, "sender": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadMember" }, "sender_id": { "type": "string" }, "type": { "description": "Kind of the quoted message: text, document, image, system, interactive,\nlocation or contact.", "type": "string" } } }, "webitel.im.api.gateway.v1.SearchLeftResponse": { "type": "object", "properties": { "items": { "description": "Threads in which the caller was previously a member, but has left.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.Thread" } }, "next": { "description": "Indicates whether there is a next page available.", "type": "boolean" } } }, "webitel.im.api.gateway.v1.SearchMessageHistoryResponse": { "description": "SearchMessageHistoryResponse contains\nmessage history search results and pagination metadata.", "type": "object", "properties": { "items": { "description": "List of messages matching the search criteria.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.HistoryMessage" } }, "next_cursor": { "description": "Cursor that represents position to get older messages (used without 'before' param).", "$ref": "#/definitions/webitel.im.api.gateway.v1.HistoryMessageCursorResponse" }, "prev_cursor": { "description": "Cursor that represents position to get newest messages (used with 'before' param).", "$ref": "#/definitions/webitel.im.api.gateway.v1.HistoryMessageCursorResponse" } } }, "webitel.im.api.gateway.v1.SearchThreadResponse": { "description": "SearchThreadResponse contains the list of threads\nand pagination metadata.", "type": "object", "properties": { "items": { "description": "List of threads matching the search criteria.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.Thread" } }, "next": { "description": "Indicates whether there is a next page available.", "type": "boolean" } } }, "webitel.im.api.gateway.v1.SearchVariablesResponse": { "description": "SearchVariablesResponse contains search results\nand pagination metadata.", "type": "object", "properties": { "items": { "description": "List of thread variables grouped by thread.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadVariables" } }, "next": { "description": "Indicates if there are more results to fetch.", "type": "boolean" } } }, "webitel.im.api.gateway.v1.SendContactRequest": { "description": "SendContactRequest sends contact information.", "type": "object", "properties": { "email": { "description": "Email must be valid if provided.", "type": "string" }, "forward_origin": { "description": "Set by providers when the channel reports this message was forwarded to us.", "$ref": "#/definitions/webitel.im.api.gateway.v1.ForwardOriginInput" }, "metadata": { "description": "Arbitrary metadata.", "type": "object" }, "name": { "description": "Full name of the contact.", "type": "string" }, "phone_number": { "description": "Phone number in E.164 format recommended.", "type": "string" }, "reply_to_message_id": { "type": "string" }, "send_as": { "$ref": "#/definitions/webitel.im.api.gateway.v1.PeerIdentity" }, "send_id": { "description": "Optional send ID for idempotency.", "type": "string" }, "to": { "description": "Recipient of the message.", "$ref": "#/definitions/webitel.im.api.gateway.v1.Peer" } } }, "webitel.im.api.gateway.v1.SendDocumentRequest": { "description": "Represents a request to send a message with document.", "type": "object", "properties": { "body": { "type": "string" }, "documents": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.DocumentInput" } }, "external_id": { "type": "string" }, "forward_origin": { "description": "Set by providers when the channel reports this message was forwarded to us.", "$ref": "#/definitions/webitel.im.api.gateway.v1.ForwardOriginInput" }, "reply_to_external_id": { "type": "string" }, "reply_to_message_id": { "type": "string" }, "send_as": { "$ref": "#/definitions/webitel.im.api.gateway.v1.PeerIdentity" }, "send_id": { "type": "string", "title": "optional client-generated id for deduplication" }, "to": { "$ref": "#/definitions/webitel.im.api.gateway.v1.Peer" } } }, "webitel.im.api.gateway.v1.SendDocumentResponse": { "description": "Represents a response to send message with document.", "type": "object", "properties": { "id": { "type": "string" }, "to": { "$ref": "#/definitions/webitel.im.api.gateway.v1.Peer" } } }, "webitel.im.api.gateway.v1.SendInteractiveMessageRequest": { "description": "SendInteractiveMessageRequest sends a structured interactive message.", "type": "object", "properties": { "body": { "description": "Body text for the message.", "type": "string" }, "interactive": { "description": "Interactive payload.", "$ref": "#/definitions/webitel.im.api.gateway.v1.Interactive" }, "metadata": { "description": "Arbitrary metadata.", "type": "object" }, "send_as": { "$ref": "#/definitions/webitel.im.api.gateway.v1.PeerIdentity" }, "send_id": { "description": "Optional idempotency key for deduplication.", "type": "string" }, "to": { "description": "Recipient of the message.", "$ref": "#/definitions/webitel.im.api.gateway.v1.Peer" } } }, "webitel.im.api.gateway.v1.SendInternalNoteRequest": { "description": "SendInternalNoteRequest posts an operator-only note into the thread. The\nsender is taken from the caller's identity; internal-only, no external fields.", "type": "object", "properties": { "body": { "type": "string" }, "reply_to_message_id": { "type": "string" }, "send_as": { "$ref": "#/definitions/webitel.im.api.gateway.v1.PeerIdentity" }, "send_id": { "type": "string", "title": "optional client-generated id for deduplication" }, "to": { "$ref": "#/definitions/webitel.im.api.gateway.v1.Peer" } } }, "webitel.im.api.gateway.v1.SendLocationRequest": { "description": "SendLocationRequest sends a geographic location message.", "type": "object", "properties": { "address": { "description": "Optional human-readable address.", "type": "string" }, "forward_origin": { "description": "Set by providers when the channel reports this message was forwarded to us.", "$ref": "#/definitions/webitel.im.api.gateway.v1.ForwardOriginInput" }, "latitude": { "description": "Latitude in degrees. Must be between -90 and +90.", "type": "number", "format": "double" }, "longitude": { "description": "Longitude in degrees. Must be between -180 and +180.", "type": "number", "format": "double" }, "metadata": { "description": "Arbitrary metadata.", "type": "object" }, "name": { "description": "Optional location name (e.g., \"Central Park\").", "type": "string" }, "reply_to_message_id": { "type": "string" }, "send_as": { "$ref": "#/definitions/webitel.im.api.gateway.v1.PeerIdentity" }, "send_id": { "description": "Optional send ID for idempotency.", "type": "string" }, "to": { "description": "Recipient of the message.", "$ref": "#/definitions/webitel.im.api.gateway.v1.Peer" } } }, "webitel.im.api.gateway.v1.SendMessageResponse": { "description": "SendMessageResponse represents the result of a send operation.\nContains the generated message ID and list of recipients.", "type": "object", "properties": { "id": { "description": "Unique message identifier.", "type": "string" }, "to": { "description": "Recipient of the message.", "$ref": "#/definitions/webitel.im.api.gateway.v1.Peer" } } }, "webitel.im.api.gateway.v1.SendTextRequest": { "description": "Represents a request to send a text message.", "type": "object", "properties": { "body": { "type": "string" }, "external_id": { "type": "string" }, "forward_origin": { "description": "Set by providers when the channel reports this message was forwarded to us.", "$ref": "#/definitions/webitel.im.api.gateway.v1.ForwardOriginInput" }, "reply_to_external_id": { "description": "ID of the message this is a reply to, as reported by the external channel (Telegram, Viber, etc.).", "type": "string" }, "reply_to_message_id": { "description": "ID of the message this is a reply to.", "type": "string" }, "send_as": { "$ref": "#/definitions/webitel.im.api.gateway.v1.PeerIdentity" }, "send_id": { "type": "string", "title": "optional client-generated id for deduplication" }, "to": { "$ref": "#/definitions/webitel.im.api.gateway.v1.Peer" } } }, "webitel.im.api.gateway.v1.SendTextResponse": { "description": "Represents a response to send a text message.", "type": "object", "properties": { "id": { "type": "string" }, "to": { "$ref": "#/definitions/webitel.im.api.gateway.v1.Peer" } } }, "webitel.im.api.gateway.v1.SendTypingResponse": { "type": "object" }, "webitel.im.api.gateway.v1.SetReactionResponse": { "type": "object", "properties": { "action": { "description": "What the call did relative to the caller's previous reaction (SET, REMOVED, UNCHANGED).", "type": "string" }, "emoji": { "description": "The emoji now stored for the caller; empty when it was removed.", "type": "string" }, "reacted_at": { "description": "Unix time in milliseconds when the reaction was set; zero when removed.", "type": "string", "format": "int64" } } }, "webitel.im.api.gateway.v1.SkippedMessage": { "description": "SkippedMessage is one requested message DeleteMessages left untouched, with\nthe reason it did.", "type": "object", "properties": { "id": { "type": "string" }, "reason": { "$ref": "#/definitions/webitel.im.api.gateway.v1.SkippedMessage.Reason" } } }, "webitel.im.api.gateway.v1.SkippedMessage.Reason": { "type": "string", "default": "REASON_UNSPECIFIED", "enum": [ "REASON_UNSPECIFIED", "REASON_NOT_FOUND", "REASON_NOT_AUTHOR", "REASON_ALREADY_DELETED", "REASON_CHAT_CLOSED", "REASON_NOT_ALLOWED" ] }, "webitel.im.api.gateway.v1.System": { "description": "System represents domain structure for system event messages.", "type": "object", "properties": { "message_id": { "description": "ID of message for which system messages is binded.", "type": "string" }, "metadata": { "description": "Represents additional metadata binded into system message.", "type": "object" }, "type": { "description": "Represents type of the message.", "type": "string" } } }, "webitel.im.api.gateway.v1.Thread": { "description": "Thread represents a thread (aka chat or conversation) entity.", "type": "object", "properties": { "created_at": { "description": "Thread creation timestamp (Unix time, milliseconds).", "type": "string", "format": "int64" }, "description": { "description": "Optional thread description.", "type": "string" }, "id": { "description": "Unique thread identifier.", "type": "string" }, "last_msg": { "description": "Last message of the linked thread.", "$ref": "#/definitions/webitel.im.api.gateway.v1.HistoryMessage" }, "members": { "description": "Detailed member information.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadMember" } }, "settings": { "description": "User-specific settings for this thread.", "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadSettings" }, "subject": { "description": "Thread subject or title.", "type": "string" }, "type": { "description": "Type of the thread.", "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadKind" }, "unread_count": { "description": "Number of unread messages in this thread for the calling participant.\nCounts content messages not yet read; the caller's own messages and\nsystem messages are excluded.", "type": "integer", "format": "int32" }, "updated_at": { "description": "Last update timestamp (Unix time, milliseconds).", "type": "string", "format": "int64" }, "variables": { "description": "Optional variables associated with the thread.", "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadVariables" } } }, "webitel.im.api.gateway.v1.ThreadKind": { "description": "ThreadKind defines the type of a thread.\nIt determines the business rules and available features for the thread.\n\n - UNKNOWN: Unknown or unspecified thread type.\nMust not be used in valid requests.\n - DIRECT: One-to-one private thread between two users.\n - GROUP: Group thread with multiple members.\n - CHANNEL: Channel-style thread (broadcast or topic based communication).", "type": "string", "default": "UNKNOWN", "enum": [ "UNKNOWN", "DIRECT", "GROUP", "CHANNEL" ] }, "webitel.im.api.gateway.v1.ThreadManagement.AddMemberBody": { "type": "object", "properties": { "contact": { "$ref": "#/definitions/webitel.im.api.gateway.v1.PeerIdentity" }, "role": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadRole" } } }, "webitel.im.api.gateway.v1.ThreadManagement.FlushVariablesBody": { "description": "FlushVariablesRequest defines parameters\nfor flushing thread variables by thread ID.", "type": "object", "properties": { "keys": { "description": "List of variable keys to flush.", "type": "array", "items": { "type": "string" } } } }, "webitel.im.api.gateway.v1.ThreadManagement.SetVariablesBody": { "description": "SetVariablesRequest defines parameters\nfor setting or updating thread variables.", "type": "object", "properties": { "variables": { "description": "List of variables to set or update.\nExisting variables with the same keys will be overwritten.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.gateway.v1.VariableEntryRequest" } } } }, "webitel.im.api.gateway.v1.ThreadManagement.TransferBody": { "type": "object", "properties": { "contact": { "$ref": "#/definitions/webitel.im.api.gateway.v1.PeerIdentity" }, "role": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadRole" } } }, "webitel.im.api.gateway.v1.ThreadManagementCreateRequest": { "description": "ThreadManagementCreateRequest defines parameters for creating a specific thread type.", "type": "object", "properties": { "direct": { "$ref": "#/definitions/webitel.im.api.gateway.v1.DirectConfig" } } }, "webitel.im.api.gateway.v1.ThreadManagementCreateResponse": { "description": "ThreadManagementCreateResponse represents information enabled after thread creation.", "type": "object", "properties": { "thread": { "description": "Represents main entity for thread.", "$ref": "#/definitions/webitel.im.api.gateway.v1.Thread" } } }, "webitel.im.api.gateway.v1.ThreadMember": { "description": "ThreadMember represents a thread participant\nwith optional type-specific settings.", "type": "object", "properties": { "contact": { "$ref": "#/definitions/webitel.im.api.gateway.v1.Contact" }, "id": { "type": "string" }, "permissions": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadPermissions" }, "role": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadRole" } } }, "webitel.im.api.gateway.v1.ThreadPermissions": { "type": "object", "properties": { "can_add_members": { "type": "boolean" }, "can_change_members_permissions": { "type": "boolean" }, "can_change_thread_info": { "type": "boolean" }, "can_delete_messages": { "type": "boolean" }, "can_remove_members": { "type": "boolean" }, "can_send_messages": { "type": "boolean" }, "created_at": { "type": "string", "format": "int64" }, "id": { "type": "string" }, "member_id": { "type": "string" }, "updated_at": { "type": "string", "format": "int64" } } }, "webitel.im.api.gateway.v1.ThreadRole": { "type": "string", "default": "ROLE_UNSPECIFIED", "enum": [ "ROLE_UNSPECIFIED", "ROLE_MEMBER", "ROLE_ADMIN", "ROLE_OWNER", "ROLE_SUPERVISOR" ] }, "webitel.im.api.gateway.v1.ThreadSettings": { "description": "ThreadDirectSettings defines settings\nspecific to direct (one-to-one) threads.", "type": "object", "properties": { "created_at": { "description": "Creation timestamp (Unix time, milliseconds).", "type": "string", "format": "int64" }, "domain_id": { "description": "Domain identifier.", "type": "integer", "format": "int32" }, "id": { "description": "Settings identifier.", "type": "string" }, "title": { "description": "Custom title for the direct thread.\nUsually represents the display name of the conversation.", "type": "string" }, "updated_at": { "description": "Last update timestamp (Unix time, milliseconds).", "type": "string", "format": "int64" } } }, "webitel.im.api.gateway.v1.ThreadVariables": { "description": "ThreadVariables contains all variables associated with a thread.", "type": "object", "properties": { "thread_id": { "description": "Unique identifier for the thread.", "type": "string" }, "variables": { "description": "Key-value map of variables.\nKey is the variable name, value contains data and metadata.", "type": "object", "additionalProperties": { "$ref": "#/definitions/webitel.im.api.gateway.v1.VariableEntry" } } } }, "webitel.im.api.gateway.v1.TokenRequest": { "type": "object", "title": "Access Token Request", "properties": { "client_id": { "description": "The client identifier issued to the client during the registration process.\nREQUIRED, if the client is not authenticating with the authorization server.\nMay be transmitted in header: [X-Webitel-Client].", "type": "string" }, "client_secret": { "description": "REQUIRED. The client secret. The client MAY omit the\nparameter if the client secret is an empty string.\n\nIncluding the client credentials in the request-body using the two\nparameters is NOT RECOMMENDED and SHOULD be limited to clients unable\nto directly utilize the HTTP Basic authentication scheme (or other\npassword-based HTTP authentication schemes). The parameters can only\nbe transmitted in the request-body and MUST NOT be included in the\nrequest URI.\n\nKeep it a secret.", "type": "string" }, "code": { "description": "Authorization code grant.\nREQUIRED. When grant_type is set to \"authorization_code\".", "type": "string" }, "identity": { "description": "Identity of the end-User account association.\nREQUIRED. When grant_type is set to \"identity\".", "$ref": "#/definitions/webitel.im.api.gateway.v1.Identity" }, "refresh_token": { "description": "Refresh token string to obtain NEW access token.\nREQUIRED. When grant_type is set to \"refresh_token\".", "type": "string" }, "scope": { "type": "array", "title": "OPTIONAL. The scope of the access request\nPosible values are:\n* chat ; [I]nstant [M]essaging service\n* call ; [V]oice[o]ver[IP] SIP service", "items": { "type": "string" } }, "state": { "type": "string", "title": "RECOMMENDED. An opaque value used by the client to maintain\nstate between the request and callback. The authorization\nserver includes this value when redirecting the user-agent back\nto the client. The parameter SHOULD be used for preventing\ncross-site request forgery" } } }, "webitel.im.api.gateway.v1.TransferResponse": { "type": "object", "properties": { "member": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadMember" } } }, "webitel.im.api.gateway.v1.UnregisterDeviceResponse": { "type": "object", "title": "No Reply ; Error status if failed" }, "webitel.im.api.gateway.v1.UpdateContactSettingsResponse": { "type": "object", "properties": { "settings": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ContactSettings" } } }, "webitel.im.api.gateway.v1.UpdateThreadPermissionsResponse": { "type": "object", "properties": { "permissions": { "$ref": "#/definitions/webitel.im.api.gateway.v1.ThreadPermissions" } } }, "webitel.im.api.gateway.v1.UserAgent": { "type": "object", "title": "[User-Agent] string \u0026 details", "properties": { "bot": { "type": "boolean" }, "desktop": { "type": "boolean" }, "device": { "type": "string", "title": "optional ; brand / model" }, "mobile": { "type": "boolean" }, "name": { "type": "string", "title": "app [code]name" }, "os": { "type": "string" }, "os_version": { "type": "string" }, "string": { "type": "string", "title": "[User-Agent] source string" }, "tablet": { "type": "boolean" }, "version": { "type": "string", "title": "app version" } } }, "webitel.im.api.gateway.v1.UserFilter": { "type": "string", "default": "ALL", "enum": [ "ALL", "NOBODY", "SAME_ISSUER" ] }, "webitel.im.api.gateway.v1.VariableEntry": { "description": "VariableEntry represents a single variable value\nalong with metadata about who and when it was set.", "type": "object", "properties": { "set_at": { "description": "Timestamp when the variable was set (Unix time, milliseconds).", "type": "string", "format": "int64" }, "set_by": { "description": "Contact who set the variable.", "$ref": "#/definitions/webitel.im.api.gateway.v1.Contact" }, "value": { "description": "Arbitrary structured value of the variable.\nSupports dynamic JSON-like content." } } }, "webitel.im.api.gateway.v1.VariableEntryRequest": { "description": "VariableEntryRequest represents a variable update operation.", "type": "object", "properties": { "key": { "description": "Variable key.", "type": "string" }, "value": { "description": "Variable value." } } }, "webitel.im.api.gateway.v1.Via": { "type": "object", "properties": { "contact_id": { "type": "string" }, "created_at": { "type": "string", "format": "int64" }, "disable": { "type": "boolean" }, "disable_reason": { "type": "string" }, "metadata": { "type": "object" }, "updated_at": { "type": "string", "format": "int64" }, "via": { "type": "string" } } }, "webitel.im.api.gateway.v1.WebPushSubscription": { "type": "object", "title": "WebPUSH subscription", "properties": { "endpoint": { "type": "string", "title": "endpoint: Absolute URL exposed by the push service where the application server can send push messages" }, "key": { "title": "P-256 elliptic curve Diffie-Hellman parameters", "$ref": "#/definitions/webitel.im.api.gateway.v1.WebPushSubscription.Key" } } }, "webitel.im.api.gateway.v1.WebPushSubscription.Key": { "type": "object", "title": "keys: P-256 elliptic curve Diffie-Hellman parameters in the following object\np256dh: Base64url-encoded P-256 elliptic curve Diffie-Hellman public key\nauth: Base64url-encoded authentication secret", "properties": { "auth": { "type": "string", "format": "byte", "title": "auth: Base64url-encoded authentication secret" }, "p256dh": { "type": "string", "format": "byte", "title": "p256dh: Base64url-encoded P-256 elliptic curve Diffie-Hellman public key" } } }, "webitel.im.api.provider.v1.FacebookService.SetGetStartedBody": { "type": "object", "properties": { "payload": { "type": "string" } } }, "webitel.im.api.provider.v1.FacebookService.SetPersistentMenuBody": { "type": "object", "properties": { "composer_input_disabled": { "type": "boolean" }, "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderMenuItem" } } } }, "webitel.im.api.provider.v1.FacebookService.UpdateFacebookGateBody": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "name": { "type": "string" }, "page_token": { "type": "string" }, "peer": { "$ref": "#/definitions/webitel.im.api.provider.v1.Peer" } } }, "webitel.im.api.provider.v1.InstagramService.UpdateInstagramGateBody": { "type": "object", "properties": { "business_account_token": { "type": "string" }, "enabled": { "type": "boolean" }, "name": { "type": "string" }, "peer": { "$ref": "#/definitions/webitel.im.api.provider.v1.Peer" } } }, "webitel.im.api.provider.v1.MetaAppService.UpdateMetaAppBody": { "type": "object", "properties": { "app_secret": { "type": "string" }, "name": { "type": "string" }, "oauth_redirect_uri": { "type": "string" }, "scopes": { "type": "array", "items": { "type": "string" } }, "verify_token": { "type": "string" } } }, "webitel.im.api.provider.v1.MetaOAuthService.MetaOAuthCallbackBody": { "type": "object", "properties": { "code": { "type": "string" }, "state": { "type": "string" } } }, "webitel.im.api.provider.v1.MetaOAuthService.StartMetaOAuthBody": { "type": "object", "properties": { "extra_scopes": { "type": "array", "items": { "type": "string" } } } }, "webitel.im.api.provider.v1.Peer": { "type": "object", "properties": { "iss": { "type": "string" }, "sub": { "type": "string" } } }, "webitel.im.api.provider.v1.ProviderCreateFacebookGateRequest": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "meta_app_id": { "type": "string" }, "name": { "type": "string" }, "page_id": { "type": "string" }, "page_token": { "type": "string" }, "peer": { "$ref": "#/definitions/webitel.im.api.provider.v1.Peer" } } }, "webitel.im.api.provider.v1.ProviderCreateFacebookGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderFacebookGate" } } }, "webitel.im.api.provider.v1.ProviderCreateInstagramGateRequest": { "type": "object", "properties": { "business_account_id": { "type": "string" }, "business_account_token": { "type": "string" }, "enabled": { "type": "boolean" }, "meta_app_id": { "type": "string" }, "name": { "type": "string" }, "peer": { "$ref": "#/definitions/webitel.im.api.provider.v1.Peer" } } }, "webitel.im.api.provider.v1.ProviderCreateInstagramGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderInstagramGate" } } }, "webitel.im.api.provider.v1.ProviderCreateMetaAppRequest": { "type": "object", "properties": { "app_id": { "type": "string" }, "app_secret": { "type": "string" }, "name": { "type": "string" }, "oauth_redirect_uri": { "type": "string" }, "scopes": { "type": "array", "items": { "type": "string" } }, "uri": { "type": "string" }, "verify_token": { "type": "string" } } }, "webitel.im.api.provider.v1.ProviderCreateMetaAppResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderMetaApp" } } }, "webitel.im.api.provider.v1.ProviderCreateWhatsAppGateRequest": { "type": "object", "properties": { "access_token": { "type": "string" }, "meta_app_id": { "type": "string" }, "name": { "type": "string" }, "phone_number_id": { "type": "string" }, "waba_id": { "type": "string" } } }, "webitel.im.api.provider.v1.ProviderCreateWhatsAppGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderWhatsAppGate" } } }, "webitel.im.api.provider.v1.ProviderDeleteFacebookGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderFacebookGate" } } }, "webitel.im.api.provider.v1.ProviderDeleteGetStartedResponse": { "type": "object" }, "webitel.im.api.provider.v1.ProviderDeleteInstagramGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderInstagramGate" } } }, "webitel.im.api.provider.v1.ProviderDeleteMetaAppResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderMetaApp" } } }, "webitel.im.api.provider.v1.ProviderDeletePersistentMenuResponse": { "type": "object" }, "webitel.im.api.provider.v1.ProviderDeleteWhatsAppGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderWhatsAppGate" } } }, "webitel.im.api.provider.v1.ProviderFacebookGate": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "enabled": { "type": "boolean" }, "id": { "type": "string" }, "meta_app_id": { "type": "string" }, "name": { "type": "string" }, "page_id": { "type": "string" }, "page_name": { "type": "string" }, "status": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderStatus" }, "updated_at": { "type": "string", "format": "int64" } } }, "webitel.im.api.provider.v1.ProviderFile": { "type": "object", "properties": { "id": { "type": "string" }, "mime_type": { "type": "string" }, "name": { "type": "string" }, "size": { "type": "string", "format": "int64" }, "url": { "type": "string" } } }, "webitel.im.api.provider.v1.ProviderGetFacebookGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderFacebookGate" } } }, "webitel.im.api.provider.v1.ProviderGetInstagramGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderInstagramGate" } } }, "webitel.im.api.provider.v1.ProviderGetMetaAppResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderMetaApp" } } }, "webitel.im.api.provider.v1.ProviderGetWhatsAppGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderWhatsAppGate" } } }, "webitel.im.api.provider.v1.ProviderInstagramGate": { "type": "object", "properties": { "business_account_id": { "type": "string" }, "created_at": { "type": "string", "format": "int64" }, "enabled": { "type": "boolean" }, "id": { "type": "string" }, "meta_app_id": { "type": "string" }, "name": { "type": "string" }, "status": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderStatus" }, "updated_at": { "type": "string", "format": "int64" } } }, "webitel.im.api.provider.v1.ProviderInteractive": { "type": "object", "properties": { "list_reply": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderKeyboardListReply" }, "markup": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderKeyboardMarkup" }, "single_use": { "type": "boolean" } } }, "webitel.im.api.provider.v1.ProviderKeyboardButton": { "type": "object", "properties": { "callback": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderKeyboardButtonCallback" }, "id": { "type": "string" }, "label": { "type": "string" }, "request": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderKeyboardButtonRequest" }, "url": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderKeyboardButtonURL" } } }, "webitel.im.api.provider.v1.ProviderKeyboardButtonCallback": { "type": "object", "properties": { "data": { "type": "string" } } }, "webitel.im.api.provider.v1.ProviderKeyboardButtonRequest": { "type": "object", "properties": { "action": { "type": "string" } } }, "webitel.im.api.provider.v1.ProviderKeyboardButtonURL": { "type": "object", "properties": { "url": { "type": "string" } } }, "webitel.im.api.provider.v1.ProviderKeyboardListReply": { "type": "object", "properties": { "main_button_title": { "type": "string" }, "sections": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderKeyboardRowWithSection" } } } }, "webitel.im.api.provider.v1.ProviderKeyboardMarkup": { "type": "object", "properties": { "rows": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderKeyboardRow" } } } }, "webitel.im.api.provider.v1.ProviderKeyboardRow": { "type": "object", "properties": { "buttons": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderKeyboardButton" } } } }, "webitel.im.api.provider.v1.ProviderKeyboardRowWithSection": { "type": "object", "properties": { "buttons": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderKeyboardButton" } }, "section": { "type": "string" } } }, "webitel.im.api.provider.v1.ProviderListGatesResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderSummary" } }, "next": { "type": "boolean" }, "page": { "type": "integer", "format": "int32" }, "size": { "type": "integer", "format": "int32" } } }, "webitel.im.api.provider.v1.ProviderMenuItem": { "type": "object", "properties": { "nested": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderMenuNestedItems" }, "payload": { "type": "string" }, "title": { "type": "string" }, "url": { "type": "string" } } }, "webitel.im.api.provider.v1.ProviderMenuNestedItems": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderMenuItem" } } } }, "webitel.im.api.provider.v1.ProviderMetaApp": { "type": "object", "properties": { "app_id": { "type": "string" }, "created_at": { "type": "string", "format": "int64" }, "id": { "type": "string" }, "name": { "type": "string" }, "oauth_redirect_uri": { "type": "string" }, "scopes": { "type": "array", "items": { "type": "string" } }, "updated_at": { "type": "string", "format": "int64" }, "verify_token": { "type": "string" } } }, "webitel.im.api.provider.v1.ProviderMetaLinkedPage": { "type": "object", "properties": { "access_token": { "type": "string" }, "page_id": { "type": "string" }, "page_name": { "type": "string" }, "platform": { "type": "string" } } }, "webitel.im.api.provider.v1.ProviderMetaOAuthCallbackResponse": { "type": "object", "properties": { "pages": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderMetaLinkedPage" } }, "user_access_token": { "type": "string" } } }, "webitel.im.api.provider.v1.ProviderMetaOAuthStartResponse": { "type": "object", "properties": { "auth_url": { "type": "string" }, "state": { "type": "string" } } }, "webitel.im.api.provider.v1.ProviderSendDocumentRequest": { "type": "object", "properties": { "caption": { "type": "string" }, "documents": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderFile" } }, "external_user_id": { "type": "string" }, "gate_id": { "type": "string" }, "type": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderType" } } }, "webitel.im.api.provider.v1.ProviderSendImageRequest": { "type": "object", "properties": { "caption": { "type": "string" }, "external_user_id": { "type": "string" }, "gate_id": { "type": "string" }, "images": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderFile" } }, "type": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderType" } } }, "webitel.im.api.provider.v1.ProviderSendInteractiveRequest": { "type": "object", "properties": { "body": { "type": "string" }, "domain_id": { "type": "integer", "format": "int32" }, "external_user_id": { "type": "string" }, "gate_id": { "type": "string" }, "interactive": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderInteractive" }, "send_id": { "type": "string" } } }, "webitel.im.api.provider.v1.ProviderSendMessageResponse": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "external_id": { "type": "string" } } }, "webitel.im.api.provider.v1.ProviderSendTextRequest": { "type": "object", "properties": { "external_user_id": { "type": "string" }, "gate_id": { "type": "string" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "text": { "type": "string" }, "type": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderType" } } }, "webitel.im.api.provider.v1.ProviderSetGetStartedResponse": { "type": "object" }, "webitel.im.api.provider.v1.ProviderSetPersistentMenuResponse": { "type": "object" }, "webitel.im.api.provider.v1.ProviderStatus": { "description": "/ ProviderStatus represents the operational state of a provider gateway.", "type": "string", "default": "PROVIDER_STATUS_UNSPECIFIED", "enum": [ "PROVIDER_STATUS_UNSPECIFIED", "PROVIDER_STATUS_ACTIVE", "PROVIDER_STATUS_INACTIVE", "PROVIDER_STATUS_ERROR" ] }, "webitel.im.api.provider.v1.ProviderSummary": { "type": "object", "properties": { "contact": { "type": "string" }, "created_at": { "type": "string", "format": "int64" }, "id": { "type": "string" }, "name": { "type": "string" }, "provider_app_id": { "type": "string" }, "status": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderStatus" }, "type": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderType" }, "updated_at": { "type": "string", "format": "int64" }, "webhook_url": { "type": "string" } } }, "webitel.im.api.provider.v1.ProviderType": { "description": "/ ProviderType defines the specific provider or protocol used for messaging.", "type": "string", "default": "PROVIDER_TYPE_UNSPECIFIED", "enum": [ "PROVIDER_TYPE_UNSPECIFIED", "PROVIDER_TYPE_VIBER", "PROVIDER_TYPE_TELEGRAM_BOT", "PROVIDER_TYPE_TELEGRAM_APP", "PROVIDER_TYPE_META_APP", "PROVIDER_TYPE_FACEBOOK", "PROVIDER_TYPE_INSTAGRAM", "PROVIDER_TYPE_WHATSAPP" ] }, "webitel.im.api.provider.v1.ProviderUpdateFacebookGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderFacebookGate" } } }, "webitel.im.api.provider.v1.ProviderUpdateInstagramGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderInstagramGate" } } }, "webitel.im.api.provider.v1.ProviderUpdateMetaAppResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderMetaApp" } } }, "webitel.im.api.provider.v1.ProviderUpdateWhatsAppGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderWhatsAppGate" } } }, "webitel.im.api.provider.v1.ProviderWhatsAppGate": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "id": { "type": "string" }, "meta_app_id": { "type": "string" }, "name": { "type": "string" }, "phone_display": { "type": "string" }, "phone_number_id": { "type": "string" }, "status": { "$ref": "#/definitions/webitel.im.api.provider.v1.ProviderStatus" }, "updated_at": { "type": "string", "format": "int64" }, "waba_id": { "type": "string" } } }, "webitel.im.api.provider.v1.WhatsAppService.UpdateWhatsAppGateBody": { "type": "object", "properties": { "access_token": { "type": "string" }, "name": { "type": "string" } } }, "webitel.im.provider.v1.CreateGateRequest": { "type": "object", "properties": { "bot": { "$ref": "#/definitions/webitel.im.provider.v1.Peer" }, "enabled": { "type": "boolean" }, "fb": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderCreateFacebookGateRequest" }, "name": { "type": "string" }, "waba": { "$ref": "#/definitions/webitel.im.provider.v1.CreateWABAGateRequest" } } }, "webitel.im.provider.v1.CreateWABAGateRequest": { "type": "object", "properties": { "access_token": { "type": "string" }, "business_id": { "type": "string" }, "meta_app_id": { "type": "string" }, "phone_number": { "type": "string" }, "phone_number_id": { "type": "string" } } }, "webitel.im.provider.v1.FacebookService.SetGetStartedBody": { "type": "object", "properties": { "payload": { "type": "string" } } }, "webitel.im.provider.v1.FacebookService.SetPersistentMenuBody": { "type": "object", "properties": { "composer_input_disabled": { "type": "boolean" }, "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.provider.v1.ProviderMenuItem" } } } }, "webitel.im.provider.v1.FacebookService.UpdateFacebookGateBody": { "description": "/ ProviderUpdateFacebookGateRequest updates the operational settings of a Facebook provider.", "type": "object", "properties": { "enabled": { "type": "boolean" }, "name": { "type": "string" }, "page_token": { "type": "string", "title": "Used for refreshing the access token" }, "peer": { "title": "Identity details (sub and iss)", "$ref": "#/definitions/webitel.im.provider.v1.Peer" } } }, "webitel.im.provider.v1.GateResponse": { "type": "object", "properties": { "bot": { "$ref": "#/definitions/webitel.im.provider.v1.Peer" }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "type": "string", "format": "int64" }, "enabled": { "type": "boolean" }, "id": { "type": "string" }, "name": { "type": "string" }, "type": { "type": "string" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "type": "string", "format": "int64" }, "waba": { "$ref": "#/definitions/webitel.im.provider.v1.WhatsAppBusinessAccount" } } }, "webitel.im.provider.v1.GateTemplateService.SetGateTemplateBody": { "type": "object", "properties": { "template": { "description": "Go text/template string. Variables from im-thread-service are accessed\nas {{.var_name}}. Missing keys produce an empty string (missingkey=zero).", "type": "string" } } }, "webitel.im.provider.v1.InputFieldState": { "description": "InputFieldState controls whether the recipient can type free text while a menu is\ndisplayed. Not every channel can enforce it (Telegram cannot).\n\n - INPUT_FIELD_STATE_HIDDEN: Free text is not possible: the recipient can only press a button.", "type": "string", "default": "INPUT_FIELD_STATE_UNSPECIFIED", "enum": [ "INPUT_FIELD_STATE_UNSPECIFIED", "INPUT_FIELD_STATE_REGULAR", "INPUT_FIELD_STATE_MINIMIZED", "INPUT_FIELD_STATE_HIDDEN" ] }, "webitel.im.provider.v1.InstagramService.UpdateInstagramGateBody": { "description": "/ ProviderUpdateInstagramGateRequest updates the operational settings of an Instagram provider.", "type": "object", "properties": { "business_account_token": { "type": "string", "title": "Used for refreshing the access token" }, "enabled": { "type": "boolean" }, "name": { "type": "string" }, "peer": { "title": "Identity details (sub and iss)", "$ref": "#/definitions/webitel.im.provider.v1.Peer" } } }, "webitel.im.provider.v1.MenuPlacement": { "description": "MenuPlacement is where a channel should render the menu.\n\n - MENU_PLACEMENT_INLINE: Inside the message bubble, staying in the conversation history.\n - MENU_PLACEMENT_PERSISTENT: Over the input field, replacing the previous menu and outliving the message.", "type": "string", "default": "MENU_PLACEMENT_UNSPECIFIED", "enum": [ "MENU_PLACEMENT_UNSPECIFIED", "MENU_PLACEMENT_INLINE", "MENU_PLACEMENT_PERSISTENT" ] }, "webitel.im.provider.v1.MetaAppService.UpdateMetaAppBody": { "description": "/ ProviderUpdateMetaAppRequest updates the settings for an existing Meta application.", "type": "object", "properties": { "app_secret": { "type": "string", "title": "Updated App Secret if rotated" }, "name": { "type": "string", "title": "Updated display name" }, "oauth_redirect_uri": { "type": "string", "title": "Updated callback URI" }, "scopes": { "type": "array", "title": "Updated list of required permissions", "items": { "type": "string" } }, "verify_token": { "type": "string", "title": "Updated webhook verification token" } } }, "webitel.im.provider.v1.MetaOAuthService.MetaOAuthCallbackBody": { "description": "/ ProviderMetaOAuthCallbackRequest handles the verification and exchange of the auth code.", "type": "object", "properties": { "code": { "type": "string", "title": "The temporary authorization code provided by Meta" }, "state": { "type": "string", "title": "The state token previously generated in Start request" } } }, "webitel.im.provider.v1.MetaOAuthService.StartMetaOAuthBody": { "description": "/ ProviderMetaOAuthStartRequest initiates the handshake with Meta.", "type": "object", "properties": { "extra_scopes": { "type": "array", "title": "Optional additional permissions for this specific session", "items": { "type": "string" } } } }, "webitel.im.provider.v1.Peer": { "type": "object", "properties": { "iss": { "type": "string" }, "sub": { "type": "string" } } }, "webitel.im.provider.v1.ProviderCreateFacebookGateRequest": { "description": "/ ProviderCreateFacebookGateRequest links a specific Facebook Page as a messaging gateway.", "type": "object", "properties": { "enabled": { "type": "boolean" }, "meta_app_id": { "type": "string", "title": "Reference to the parent MetaApp" }, "name": { "type": "string", "title": "Name of the gateway in Webitel" }, "page_id": { "type": "string", "title": "The Facebook Page ID" }, "page_token": { "type": "string", "title": "Long-lived Page Access Token" }, "peer": { "title": "Identity details (sub and iss)", "$ref": "#/definitions/webitel.im.provider.v1.Peer" } } }, "webitel.im.provider.v1.ProviderCreateFacebookGateResponse": { "description": "/ ProviderCreateFacebookGateResponse returns the newly activated Facebook provider.", "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderFacebookGate" } } }, "webitel.im.provider.v1.ProviderCreateInstagramGateRequest": { "description": "/ ProviderCreateInstagramGateRequest links a specific Instagram Business Account as a messaging gateway.", "type": "object", "properties": { "business_account_id": { "type": "string", "title": "The Instagram Business Account ID" }, "business_account_token": { "type": "string", "title": "Long-lived Business Account Access Token" }, "enabled": { "type": "boolean" }, "meta_app_id": { "type": "string", "title": "Reference to the parent MetaApp" }, "name": { "type": "string", "title": "Name of the gateway in Webitel" }, "peer": { "title": "Identity details (sub and iss)", "$ref": "#/definitions/webitel.im.provider.v1.Peer" } } }, "webitel.im.provider.v1.ProviderCreateInstagramGateResponse": { "description": "/ ProviderCreateInstagramGateResponse returns the newly activated Instagram provider.", "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderInstagramGate" } } }, "webitel.im.provider.v1.ProviderCreateMetaAppRequest": { "description": "/ ProviderCreateMetaAppRequest is used to register a new Meta Developer Application.\n/ This configuration is the foundation for all subsequent OAuth-based integrations.", "type": "object", "properties": { "app_id": { "type": "string", "title": "Unique Meta App ID from developers.facebook.com" }, "app_secret": { "type": "string", "title": "Meta App Secret (should be handled as sensitive data)" }, "name": { "type": "string", "title": "Human-readable name for the application" }, "oauth_redirect_uri": { "type": "string", "title": "The pre-authorized callback URL for OAuth flow" }, "scopes": { "type": "array", "title": "List of requested permissions (e.g., pages_messaging)", "items": { "type": "string" } }, "uri": { "type": "string" }, "verify_token": { "type": "string", "title": "Webhook verification token for Meta platform callbacks" } } }, "webitel.im.provider.v1.ProviderCreateMetaAppResponse": { "description": "/ ProviderCreateMetaAppResponse returns the successfully registered Meta application.", "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderMetaApp" } } }, "webitel.im.provider.v1.ProviderCreateViberGateRequest": { "description": "/ ProviderCreateViberGateRequest registers a Viber bot as a messaging gateway.", "type": "object", "properties": { "auth_token": { "type": "string", "title": "Viber bot auth token (X-Viber-Auth-Token); handled as sensitive" }, "enabled": { "type": "boolean" }, "name": { "type": "string", "title": "Name of the gateway in Webitel" }, "peer": { "title": "Webitel bot identity (sub and iss)", "$ref": "#/definitions/webitel.im.provider.v1.Peer" }, "sender_avatar": { "type": "string", "title": "Optional avatar URL attached to outbound messages" }, "sender_name": { "type": "string", "title": "Display name attached to every outbound message; defaults from account info when empty" } } }, "webitel.im.provider.v1.ProviderCreateViberGateResponse": { "description": "/ ProviderCreateViberGateResponse returns the newly activated Viber provider.", "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderViberGate" } } }, "webitel.im.provider.v1.ProviderDeleteFacebookGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderFacebookGate" } } }, "webitel.im.provider.v1.ProviderDeleteGateTemplateResponse": { "type": "object" }, "webitel.im.provider.v1.ProviderDeleteGetStartedResponse": { "type": "object" }, "webitel.im.provider.v1.ProviderDeleteInstagramGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderInstagramGate" } } }, "webitel.im.provider.v1.ProviderDeleteMetaAppResponse": { "description": "/ ProviderDeleteMetaAppResponse returns the details of the deleted application.", "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderMetaApp" } } }, "webitel.im.provider.v1.ProviderDeletePersistentMenuResponse": { "type": "object" }, "webitel.im.provider.v1.ProviderDeleteViberGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderViberGate" } } }, "webitel.im.provider.v1.ProviderDeleteWhatsAppGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderWhatsAppGate" } } }, "webitel.im.provider.v1.ProviderFacebookGate": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64", "title": "Unix timestamp in milliseconds" }, "enabled": { "type": "boolean" }, "id": { "type": "string" }, "meta_app_id": { "type": "string" }, "name": { "type": "string" }, "page_id": { "type": "string" }, "page_name": { "type": "string" }, "status": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderStatus" }, "updated_at": { "type": "string", "format": "int64", "title": "Unix timestamp in milliseconds" } } }, "webitel.im.provider.v1.ProviderFile": { "description": "ProviderFile represents a generic file attachment.", "type": "object", "properties": { "id": { "type": "string", "title": "Internal Webitel file storage ID" }, "mime_type": { "type": "string", "title": "Media type (e.g., \"image/png\")" }, "name": { "type": "string", "title": "Original file name" }, "size": { "type": "string", "format": "int64", "title": "File size in bytes" }, "url": { "type": "string", "title": "Publicly accessible URL (if required by provider)" } } }, "webitel.im.provider.v1.ProviderGateTemplate": { "type": "object", "properties": { "event_type": { "type": "string" }, "gate_id": { "type": "string" }, "template": { "type": "string" } } }, "webitel.im.provider.v1.ProviderGetFacebookGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderFacebookGate" } } }, "webitel.im.provider.v1.ProviderGetInstagramGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderInstagramGate" } } }, "webitel.im.provider.v1.ProviderGetMetaAppResponse": { "description": "/ ProviderGetMetaAppResponse returns the requested Meta application details.", "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderMetaApp" } } }, "webitel.im.provider.v1.ProviderGetViberGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderViberGate" } } }, "webitel.im.provider.v1.ProviderGetWhatsAppGateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderWhatsAppGate" } } }, "webitel.im.provider.v1.ProviderInstagramGate": { "type": "object", "properties": { "business_account_id": { "type": "string" }, "created_at": { "type": "string", "format": "int64", "title": "Unix timestamp in milliseconds" }, "enabled": { "type": "boolean" }, "id": { "type": "string" }, "meta_app_id": { "type": "string" }, "name": { "type": "string" }, "status": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderStatus" }, "updated_at": { "type": "string", "format": "int64", "title": "Unix timestamp in milliseconds" } } }, "webitel.im.provider.v1.ProviderInteractive": { "description": "ProviderInteractive carries the interactive UI definition.", "type": "object", "properties": { "input_field_state": { "description": "Whether the recipient may still type while this menu is displayed.", "$ref": "#/definitions/webitel.im.provider.v1.InputFieldState" }, "list_reply": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderKeyboardListReply" }, "markup": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderKeyboardMarkup" }, "placement": { "description": "Where the menu is rendered. Channels that only support one placement ignore it.", "$ref": "#/definitions/webitel.im.provider.v1.MenuPlacement" }, "single_use": { "description": "When true the keyboard is hidden after the user interacts once.", "type": "boolean" } } }, "webitel.im.provider.v1.ProviderKeyboardButton": { "description": "ProviderKeyboardButton is a single interactive element.", "type": "object", "properties": { "callback": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderKeyboardButtonCallback" }, "id": { "description": "Unique identifier returned in SendInteractiveCallback.", "type": "string" }, "label": { "description": "Display label on the button.", "type": "string" }, "request": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderKeyboardButtonRequest" }, "url": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderKeyboardButtonURL" } } }, "webitel.im.provider.v1.ProviderKeyboardButtonCallback": { "description": "ProviderKeyboardButtonCallback sends a backend event when clicked.", "type": "object", "properties": { "data": { "type": "string" } } }, "webitel.im.provider.v1.ProviderKeyboardButtonRequest": { "description": "ProviderKeyboardButtonRequest prompts the user for device data (location, phone, email).", "type": "object", "properties": { "action": { "type": "string" } } }, "webitel.im.provider.v1.ProviderKeyboardButtonURL": { "description": "ProviderKeyboardButtonURL opens a web page when clicked.", "type": "object", "properties": { "url": { "type": "string" } } }, "webitel.im.provider.v1.ProviderKeyboardListReply": { "description": "ProviderKeyboardListReply is a dropdown-style menu with labeled sections.", "type": "object", "properties": { "main_button_title": { "description": "Label of the main button that expands the list.", "type": "string" }, "sections": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.provider.v1.ProviderKeyboardRowWithSection" } } } }, "webitel.im.provider.v1.ProviderKeyboardMarkup": { "description": "ProviderKeyboardMarkup is a grid of button rows.", "type": "object", "properties": { "rows": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.provider.v1.ProviderKeyboardRow" } } } }, "webitel.im.provider.v1.ProviderKeyboardRow": { "description": "ProviderKeyboardRow is a horizontal row of buttons.", "type": "object", "properties": { "buttons": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.provider.v1.ProviderKeyboardButton" } } } }, "webitel.im.provider.v1.ProviderKeyboardRowWithSection": { "description": "ProviderKeyboardRowWithSection is a titled group of buttons.", "type": "object", "properties": { "buttons": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.provider.v1.ProviderKeyboardButton" } }, "section": { "type": "string" } } }, "webitel.im.provider.v1.ProviderListGateTemplatesResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.provider.v1.ProviderGateTemplate" } } } }, "webitel.im.provider.v1.ProviderListGatesResponse": { "description": "/ ProviderListGatesResponse returns a paginated list of provider summaries.", "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.provider.v1.ProviderSummary" } }, "next": { "description": "Indicates if there are more pages available.", "type": "boolean" }, "page": { "description": "Current page number.", "type": "integer", "format": "int32" }, "size": { "description": "Number of items returned in this batch.", "type": "integer", "format": "int32" } } }, "webitel.im.provider.v1.ProviderMenuItem": { "type": "object", "properties": { "nested": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderMenuNestedItems" }, "payload": { "type": "string" }, "title": { "type": "string" }, "url": { "type": "string" } } }, "webitel.im.provider.v1.ProviderMenuNestedItems": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.provider.v1.ProviderMenuItem" } } } }, "webitel.im.provider.v1.ProviderMetaApp": { "type": "object", "properties": { "app_id": { "type": "string" }, "created_at": { "type": "string", "format": "int64", "title": "Unix timestamp in milliseconds" }, "id": { "type": "string" }, "name": { "type": "string" }, "oauth_redirect_uri": { "type": "string" }, "scopes": { "type": "array", "items": { "type": "string" } }, "updated_at": { "type": "string", "format": "int64", "title": "Unix timestamp in milliseconds" }, "verify_token": { "type": "string" } } }, "webitel.im.provider.v1.ProviderMetaLinkedPage": { "description": "/ ProviderMetaLinkedPage represents a single Meta asset (Page/Account) found during OAuth.", "type": "object", "properties": { "access_token": { "type": "string", "title": "Initial access token for this specific asset" }, "page_id": { "type": "string", "title": "Meta's unique ID for the page/account" }, "page_name": { "type": "string", "title": "Display name of the page" }, "platform": { "type": "string", "title": "Platform identifier: \"facebook\", \"instagram\", or \"whatsapp\"" } } }, "webitel.im.provider.v1.ProviderMetaOAuthCallbackResponse": { "description": "/ ProviderMetaOAuthCallbackResponse provides the user token and discovered assets.", "type": "object", "properties": { "pages": { "type": "array", "title": "List of Facebook Pages or accounts available to connect", "items": { "type": "object", "$ref": "#/definitions/webitel.im.provider.v1.ProviderMetaLinkedPage" } }, "user_access_token": { "type": "string", "title": "Short-lived token representing the user session" } } }, "webitel.im.provider.v1.ProviderMetaOAuthStartResponse": { "description": "/ ProviderMetaOAuthStartResponse provides the entry point for the user authorization.", "type": "object", "properties": { "auth_url": { "type": "string", "title": "The generated Facebook Login URL" }, "state": { "type": "string", "title": "Opaque string to prevent CSRF, should be verified in callback" } } }, "webitel.im.provider.v1.ProviderSendContactRequest": { "description": "ProviderSendContactRequest sends a contact card.", "type": "object", "properties": { "domain_id": { "type": "integer", "format": "int32" }, "email": { "type": "string" }, "external_user_id": { "type": "string" }, "gate_id": { "type": "string" }, "name": { "type": "string" }, "phone_number": { "type": "string" }, "reply_to_external_id": { "type": "string" }, "sender_name": { "description": "Display name of the operator (or bot) this message is from, when the channel can\nshow a per-message sender. Empty means \"use the gate's own name\".", "type": "string" }, "type": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderType" } } }, "webitel.im.provider.v1.ProviderSendDocumentRequest": { "description": "ProviderSendDocumentRequest sends a document with an optional caption.", "type": "object", "properties": { "caption": { "type": "string", "title": "Optional text accompanying the file" }, "documents": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.provider.v1.ProviderFile" } }, "domain_id": { "type": "integer", "format": "int32" }, "external_user_id": { "type": "string" }, "gate_id": { "type": "string" }, "message_id": { "description": "Internal message context for per-recipient delivery status tracking.\n\nInternal message UUID", "type": "string" }, "reply_to_external_id": { "type": "string" }, "sender_name": { "description": "Display name of the operator (or bot) this message is from, when the channel can\nshow a per-message sender. Empty means \"use the gate's own name\".", "type": "string" }, "thread_id": { "type": "string", "title": "Internal thread UUID" }, "type": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderType" } } }, "webitel.im.provider.v1.ProviderSendImageRequest": { "description": "ProviderSendImageRequest sends an image with an optional caption.", "type": "object", "properties": { "caption": { "type": "string" }, "domain_id": { "type": "integer", "format": "int32" }, "external_user_id": { "type": "string" }, "gate_id": { "type": "string" }, "images": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.im.provider.v1.ProviderFile" } }, "message_id": { "description": "Internal message context for per-recipient delivery status tracking.\n\nInternal message UUID", "type": "string" }, "reply_to_external_id": { "type": "string" }, "sender_name": { "description": "Display name of the operator (or bot) this message is from, when the channel can\nshow a per-message sender. Empty means \"use the gate's own name\".", "type": "string" }, "thread_id": { "type": "string", "title": "Internal thread UUID" }, "type": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderType" } } }, "webitel.im.provider.v1.ProviderSendInteractiveRequest": { "description": "ProviderSendInteractiveRequest sends a message with interactive UI elements.", "type": "object", "properties": { "body": { "description": "Optional text body displayed above the interactive element.", "type": "string" }, "domain_id": { "type": "integer", "format": "int32" }, "external_user_id": { "type": "string" }, "gate_id": { "type": "string" }, "interactive": { "description": "Interactive payload — exactly one kind must be set.", "$ref": "#/definitions/webitel.im.provider.v1.ProviderInteractive" }, "message_id": { "description": "Internal message context for per-recipient delivery status tracking.\n\nInternal message UUID", "type": "string" }, "reply_to_external_id": { "type": "string" }, "send_id": { "description": "Optional idempotency key to prevent duplicate delivery.", "type": "string" }, "sender_name": { "description": "Display name of the operator (or bot) this message is from, when the channel can\nshow a per-message sender. Empty means \"use the gate's own name\".", "type": "string" }, "thread_id": { "type": "string", "title": "Internal thread UUID" } } }, "webitel.im.provider.v1.ProviderSendLocationRequest": { "description": "ProviderSendLocationRequest sends a geographic location.", "type": "object", "properties": { "address": { "type": "string", "title": "Optional street address" }, "domain_id": { "type": "integer", "format": "int32" }, "external_user_id": { "type": "string" }, "gate_id": { "type": "string" }, "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" }, "name": { "type": "string", "title": "Optional place name" }, "reply_to_external_id": { "type": "string" }, "sender_name": { "description": "Display name of the operator (or bot) this message is from, when the channel can\nshow a per-message sender. Empty means \"use the gate's own name\".", "type": "string" }, "type": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderType" } } }, "webitel.im.provider.v1.ProviderSendMessageResponse": { "description": "ProviderSendMessageResponse returns the delivery status and external message ID.", "type": "object", "properties": { "created_at": { "type": "string", "format": "int64", "title": "Unix timestamp of message creation" }, "external_id": { "type": "string", "title": "The ID assigned by the external platform (Meta, Telegram, etc.)" } } }, "webitel.im.provider.v1.ProviderSendReactionRequest": { "description": "ProviderSendReactionRequest asks a provider to set or clear an emoji reaction\non a message already delivered to the external chat partner.", "type": "object", "properties": { "domain_id": { "type": "integer", "format": "int32" }, "emoji": { "description": "Emoji to set; empty when the reaction is being cleared.", "type": "string" }, "external_message_id": { "description": "Platform-specific id of the message being reacted to (resolved by im-thread\nfrom its external-id mapping for the target gate).", "type": "string" }, "external_user_id": { "type": "string", "title": "Recipient's platform-specific identifier" }, "gate_id": { "type": "string", "title": "Internal ID of the specific configured gateway" }, "message_id": { "description": "Internal message context for logging/correlation.\n\nInternal message UUID", "type": "string" }, "removed": { "description": "True when the reaction is being removed rather than set.", "type": "boolean" }, "thread_id": { "type": "string", "title": "Internal thread UUID" }, "type": { "title": "Explicit provider type (FACEBOOK, WHATSAPP, etc.)", "$ref": "#/definitions/webitel.im.provider.v1.ProviderType" } } }, "webitel.im.provider.v1.ProviderSendReactionResponse": { "description": "ProviderSendReactionResponse is intentionally empty: reactions are\nfire-and-forget and best-effort.", "type": "object" }, "webitel.im.provider.v1.ProviderSendSystemMessageRequest": { "description": "ProviderSendSystemMessageRequest delivers a system event to the external chat partner.\nThe provider service resolves the gate-specific template and renders the final text\nusing the supplied variables before sending via the underlying provider API.", "type": "object", "properties": { "domain_id": { "type": "integer", "format": "int32" }, "event_type": { "description": "System event type (e.g., \"member_added\", \"member_removed\", \"transferred\").\nUsed to look up the gate-specific template or fall back to the built-in default.", "type": "string" }, "external_user_id": { "description": "Recipient's platform-specific user identifier.", "type": "string" }, "gate_id": { "description": "Internal ID of the configured gateway.", "type": "string" }, "message_id": { "description": "Internal message context for per-recipient delivery status tracking.\n\nInternal message UUID", "type": "string" }, "thread_id": { "type": "string", "title": "Internal thread UUID" }, "vars": { "description": "Template variables sourced from the system message metadata.\nInjected into the template via Go text/template syntax (e.g. {{.new_member_role}}).", "type": "object", "additionalProperties": { "type": "string" } } } }, "webitel.im.provider.v1.ProviderSendTextRequest": { "description": "ProviderSendTextRequest sends a simple text message.", "type": "object", "properties": { "domain_id": { "type": "integer", "format": "int32" }, "external_user_id": { "type": "string", "title": "Recipient's platform-specific identifier" }, "gate_id": { "type": "string", "title": "Internal ID of the specific configured gateway" }, "message_id": { "description": "Internal message context for per-recipient delivery status tracking:\nthe provider service persists the provider_message_id mapping on send\nand reports MarkDelivered/MarkRead/MarkFailed receipts back to im-thread.\n\nInternal message UUID", "type": "string" }, "metadata": { "type": "object", "title": "Optional platform-specific parameters", "additionalProperties": { "type": "string" } }, "reply_to_external_id": { "type": "string" }, "sender_name": { "description": "Display name of the operator (or bot) this message is from, when the channel can\nshow a per-message sender. Empty means \"use the gate's own name\".", "type": "string" }, "text": { "type": "string", "title": "The textual content of the message" }, "thread_id": { "type": "string", "title": "Internal thread UUID" }, "type": { "title": "Explicit provider type (FACEBOOK, WHATSAPP, etc.)", "$ref": "#/definitions/webitel.im.provider.v1.ProviderType" } } }, "webitel.im.provider.v1.ProviderSendTypingRequest": { "description": "ProviderSendTypingRequest asks a provider to show/hide a typing indicator\nto the external chat partner.", "type": "object", "properties": { "domain_id": { "type": "integer", "format": "int32" }, "external_user_id": { "type": "string", "title": "Recipient's platform-specific identifier" }, "gate_id": { "type": "string", "title": "Internal ID of the specific configured gateway" }, "thread_id": { "type": "string", "title": "Internal thread UUID (for logging/correlation)" }, "type": { "title": "Explicit provider type (FACEBOOK, WHATSAPP, etc.)", "$ref": "#/definitions/webitel.im.provider.v1.ProviderType" }, "typing_on": { "type": "boolean", "title": "true = start typing, false = stop" } } }, "webitel.im.provider.v1.ProviderSendTypingResponse": { "description": "ProviderSendTypingResponse is intentionally empty: typing is fire-and-forget.", "type": "object" }, "webitel.im.provider.v1.ProviderSetGateTemplateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderGateTemplate" } } }, "webitel.im.provider.v1.ProviderSetGetStartedResponse": { "type": "object" }, "webitel.im.provider.v1.ProviderSetPersistentMenuResponse": { "type": "object" }, "webitel.im.provider.v1.ProviderStatus": { "description": "/ ProviderStatus represents the operational state of a provider gateway.\n\n - PROVIDER_STATUS_ACTIVE: Provider is healthy and processing messages\n - PROVIDER_STATUS_INACTIVE: Manually disabled by user\n - PROVIDER_STATUS_ERROR: Connection or authentication failed", "type": "string", "default": "PROVIDER_STATUS_UNSPECIFIED", "enum": [ "PROVIDER_STATUS_UNSPECIFIED", "PROVIDER_STATUS_ACTIVE", "PROVIDER_STATUS_INACTIVE", "PROVIDER_STATUS_ERROR" ] }, "webitel.im.provider.v1.ProviderStatusCapabilities": { "description": "ProviderStatusCapabilities declares which delivery-status receipts the\nchannel emits. A channel without a capability leaves messages in the last\nreachable state; the UI uses these flags to avoid drawing unreachable\nstatus marks.", "type": "object", "properties": { "delivered": { "description": "The channel emits delivery receipts.", "type": "boolean" }, "failed": { "description": "The channel reports failed deliveries.", "type": "boolean" }, "read": { "description": "The channel emits read/seen receipts.", "type": "boolean" }, "typing": { "description": "The channel can forward a native \"typing…\" indicator to the chat partner.", "type": "boolean" } } }, "webitel.im.provider.v1.ProviderSummary": { "type": "object", "properties": { "capabilities": { "description": "Delivery-status receipts the channel is able to produce; unset when no\nprovider adapter is registered for the channel type.", "$ref": "#/definitions/webitel.im.provider.v1.ProviderStatusCapabilities" }, "contact": { "type": "string" }, "created_at": { "type": "string", "format": "int64", "title": "Unix timestamp in milliseconds" }, "id": { "type": "string" }, "name": { "type": "string" }, "provider_app_id": { "type": "string" }, "status": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderStatus" }, "type": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderType" }, "updated_at": { "type": "string", "format": "int64", "title": "Unix timestamp in milliseconds" }, "webhook_url": { "type": "string" } } }, "webitel.im.provider.v1.ProviderTelegramBotGate": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "id": { "type": "string" }, "name": { "type": "string" }, "status": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderStatus" }, "updated_at": { "type": "string", "format": "int64" }, "uri": { "type": "string" } } }, "webitel.im.provider.v1.ProviderType": { "description": "/ ProviderType defines the specific provider or protocol used for messaging.", "type": "string", "default": "PROVIDER_TYPE_UNSPECIFIED", "enum": [ "PROVIDER_TYPE_UNSPECIFIED", "PROVIDER_TYPE_VIBER", "PROVIDER_TYPE_TELEGRAM_BOT", "PROVIDER_TYPE_TELEGRAM_APP", "PROVIDER_TYPE_META_APP", "PROVIDER_TYPE_FACEBOOK", "PROVIDER_TYPE_INSTAGRAM", "PROVIDER_TYPE_WHATSAPP" ] }, "webitel.im.provider.v1.ProviderUpdateFacebookGateResponse": { "description": "/ ProviderUpdateFacebookGateResponse returns the updated Facebook provider.", "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderFacebookGate" } } }, "webitel.im.provider.v1.ProviderUpdateInstagramGateResponse": { "description": "/ ProviderUpdateInstagramGateResponse returns the updated Instagram provider.", "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderInstagramGate" } } }, "webitel.im.provider.v1.ProviderUpdateMetaAppResponse": { "description": "/ ProviderUpdateMetaAppResponse returns the Meta application after modifications.", "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderMetaApp" } } }, "webitel.im.provider.v1.ProviderUpdateViberGateResponse": { "description": "/ ProviderUpdateViberGateResponse returns the updated Viber provider.", "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderViberGate" } } }, "webitel.im.provider.v1.ProviderUpdateWhatsAppGateResponse": { "description": "/ ProviderUpdateWhatsAppGateResponse returns the updated WhatsApp provider.", "type": "object", "properties": { "item": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderWhatsAppGate" } } }, "webitel.im.provider.v1.ProviderViberGate": { "type": "object", "properties": { "bot_id": { "type": "string" }, "bot_uri": { "type": "string" }, "created_at": { "type": "string", "format": "int64", "title": "Unix timestamp in milliseconds" }, "enabled": { "type": "boolean" }, "id": { "type": "string" }, "name": { "type": "string" }, "sender_avatar": { "type": "string" }, "sender_name": { "type": "string" }, "status": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderStatus" }, "updated_at": { "type": "string", "format": "int64", "title": "Unix timestamp in milliseconds" }, "webhook_url": { "type": "string" } } }, "webitel.im.provider.v1.ProviderWhatsAppGate": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64", "title": "Unix timestamp in milliseconds" }, "id": { "type": "string" }, "meta_app_id": { "type": "string" }, "name": { "type": "string" }, "phone_display": { "type": "string" }, "phone_number_id": { "type": "string" }, "status": { "$ref": "#/definitions/webitel.im.provider.v1.ProviderStatus" }, "updated_at": { "type": "string", "format": "int64", "title": "Unix timestamp in milliseconds" }, "waba_id": { "type": "string" } } }, "webitel.im.provider.v1.ViberService.UpdateViberGateBody": { "description": "/ ProviderUpdateViberGateRequest updates Viber gateway settings. A non-empty auth_token rotates the bot token.", "type": "object", "properties": { "auth_token": { "type": "string", "title": "New bot token, if rotated" }, "enabled": { "type": "boolean" }, "name": { "type": "string" }, "peer": { "title": "Webitel bot identity (sub and iss)", "$ref": "#/definitions/webitel.im.provider.v1.Peer" }, "sender_avatar": { "type": "string" }, "sender_name": { "type": "string" } } }, "webitel.im.provider.v1.WhatsAppBusinessAccount": { "type": "object", "properties": { "access_token": { "type": "string" }, "access_token_expires_at": { "type": "string", "format": "int64" }, "business_id": { "type": "string" }, "id": { "type": "string" }, "meta_app_id": { "type": "string" }, "phone_number": { "type": "string" }, "phone_number_id": { "type": "string" } } }, "webitel.im.provider.v1.WhatsAppService.UpdateWhatsAppGateBody": { "description": "/ ProviderUpdateWhatsAppGateRequest updates WhatsApp-specific tokens or names.", "type": "object", "properties": { "access_token": { "type": "string" }, "name": { "type": "string" } } }, "webitel.kb.Article": { "description": "Article is the article read model.", "type": "object", "properties": { "created_at": { "description": "CreatedAt timestamp (epoch ms).", "type": "string", "format": "int64" }, "created_by": { "description": "User who created the article.", "$ref": "#/definitions/general.Lookup" }, "depth": { "description": "Hierarchy depth (1..5).", "type": "integer", "format": "int32" }, "domain_id": { "description": "Owning domain id.", "type": "string", "format": "int64" }, "etag": { "description": "Concurrency token encoding id and ver.", "type": "string" }, "id": { "description": "Unique identifier of the article.", "type": "string", "format": "int64" }, "index_state": { "description": "Indexing state.", "$ref": "#/definitions/webitel.kb.IndexState" }, "parent_id": { "description": "Parent article id; 0 for a top-level article.", "type": "string", "format": "int64" }, "published_version_id": { "description": "Published version id; 0 if not yet published.", "type": "string", "format": "int64" }, "space": { "description": "Space the article belongs to.", "$ref": "#/definitions/general.Lookup" }, "state": { "description": "Lifecycle state.", "$ref": "#/definitions/webitel.kb.ArticleState" }, "subject": { "description": "Current subject (mirrors the published version).", "type": "string" }, "tags": { "description": "Article tags.", "type": "array", "items": { "type": "string" } }, "type": { "description": "Article type.", "$ref": "#/definitions/webitel.kb.ArticleType" }, "updated_at": { "description": "UpdatedAt timestamp (epoch ms).", "type": "string", "format": "int64" }, "updated_by": { "description": "User who last updated the article.", "$ref": "#/definitions/general.Lookup" }, "ver": { "description": "Optimistic-lock counter.", "type": "integer", "format": "int32" } } }, "webitel.kb.ArticleList": { "description": "ArticleList is a page of articles.", "type": "object", "properties": { "items": { "description": "Articles on this page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.kb.Article" } }, "next": { "description": "Whether a next page exists.", "type": "boolean" } } }, "webitel.kb.ArticleState": { "description": "Article lifecycle state.", "type": "string", "default": "ARTICLE_STATE_UNSPECIFIED", "enum": [ "ARTICLE_STATE_UNSPECIFIED", "DRAFT", "ACTIVE", "INACTIVE" ] }, "webitel.kb.ArticleSummary": { "description": "ArticleSummary is a lightweight read model of an article, used by list,\nsearch, resolve and menu responses (no body unless inlined for FAQ menu).", "type": "object", "properties": { "body": { "description": "FAQ body inlined for menu responses; empty otherwise.", "type": "string" }, "created_at": { "description": "CreatedAt timestamp (epoch ms).", "type": "string", "format": "int64" }, "depth": { "description": "Hierarchy depth (1..5).", "type": "integer", "format": "int32" }, "id": { "description": "Unique identifier of the article.", "type": "string", "format": "int64" }, "parent_id": { "description": "Parent article id; 0 for a top-level article.", "type": "string", "format": "int64" }, "snippet": { "description": "Short text excerpt for previews and search hits.", "type": "string" }, "space_id": { "description": "Space the article belongs to.", "type": "string", "format": "int64" }, "state": { "description": "Lifecycle state.", "$ref": "#/definitions/webitel.kb.ArticleState" }, "subject": { "description": "Current subject (mirrors the published version).", "type": "string" }, "tags": { "description": "Article tags.", "type": "array", "items": { "type": "string" } }, "type": { "description": "Article type.", "$ref": "#/definitions/webitel.kb.ArticleType" }, "updated_at": { "description": "UpdatedAt timestamp (epoch ms).", "type": "string", "format": "int64" } } }, "webitel.kb.ArticleType": { "description": "Article type.", "type": "string", "default": "ARTICLE_TYPE_UNSPECIFIED", "enum": [ "ARTICLE_TYPE_UNSPECIFIED", "ARTICLE", "FAQ" ] }, "webitel.kb.ArticleVersion": { "description": "ArticleVersion is an immutable snapshot of article content.", "type": "object", "properties": { "article_id": { "description": "Owning article id.", "type": "string", "format": "int64" }, "body_markdown": { "description": "Markdown serialization (chunking input).", "type": "string" }, "body_plain": { "description": "Plaintext serialization (full-text source).", "type": "string" }, "body_rich_text": { "description": "Editor document for this version.", "type": "object" }, "created_at": { "description": "CreatedAt timestamp (epoch ms).", "type": "string", "format": "int64" }, "created_by": { "description": "User who authored the version.", "$ref": "#/definitions/general.Lookup" }, "id": { "description": "Unique identifier of the version.", "type": "string", "format": "int64" }, "notes": { "description": "Optional author notes.", "type": "string" }, "restored_from": { "description": "Version this one was restored from; 0 if authored directly.", "type": "string", "format": "int64" }, "subject": { "description": "Versioned subject.", "type": "string" }, "version_number": { "description": "Monotonic version number within the article.", "type": "integer", "format": "int32" } } }, "webitel.kb.ArticleVersionList": { "description": "ArticleVersionList is a page of versions.", "type": "object", "properties": { "items": { "description": "Versions on this page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.kb.ArticleVersion" } }, "next": { "description": "Whether a next page exists.", "type": "boolean" } } }, "webitel.kb.Articles.MoveArticleBody": { "description": "MoveArticleRequest reparents an article.", "type": "object", "properties": { "new_parent_id": { "description": "New parent id; 0 to move to top level.", "type": "string", "format": "int64" } } }, "webitel.kb.Chunk": { "description": "Chunk is a contiguous slice of an article version, the unit returned by\nsemantic search and consumed by downstream RAG.", "type": "object", "properties": { "article_id": { "description": "Article the chunk originates from.", "type": "string", "format": "int64" }, "chunk_index": { "description": "Ordinal position of the chunk within the version.", "type": "integer", "format": "int32" }, "content": { "description": "Chunk text content.", "type": "string" }, "score": { "description": "Relevance score assigned by retrieval (higher is better).", "type": "number", "format": "double" }, "version_id": { "description": "Article version the chunk was produced from.", "type": "string", "format": "int64" } } }, "webitel.kb.Citation": { "description": "Citation is a structured source reference returned alongside retrieval\nresults; rendering is up to the consumer (chips, spoken, or suppressed).", "type": "object", "properties": { "article_id": { "description": "Source article id.", "type": "string", "format": "int64" }, "snippet": { "description": "Quoted snippet supporting the answer.", "type": "string" }, "title": { "description": "Source article title.", "type": "string" }, "url": { "description": "Deep link to the source article.", "type": "string" } } }, "webitel.kb.EmbeddingModel": { "description": "EmbeddingModel is a registry entry read model (credential omitted).", "type": "object", "properties": { "created_at": { "description": "CreatedAt timestamp (epoch ms).", "type": "string", "format": "int64" }, "created_by": { "description": "User who created the model.", "$ref": "#/definitions/general.Lookup" }, "dimensions": { "description": "Embedding dimension; 0 for rerankers.", "type": "integer", "format": "int32" }, "domain_id": { "description": "Owning domain id; 0 for a global (Webitel-seeded) model.", "type": "string", "format": "int64" }, "endpoint": { "description": "Self-hosted / Azure / BYOM endpoint url.", "type": "string" }, "id": { "description": "Unique identifier of the model.", "type": "string", "format": "int64" }, "is_self_hosted": { "description": "Whether the model runs self-hosted.", "type": "boolean" }, "model_ref": { "description": "Provider model name or HuggingFace id.", "type": "string" }, "name": { "description": "Human-readable name shown in the admin UI.", "type": "string" }, "provider": { "description": "Provider key (gemini, openai, cohere, azure, bge-m3, e5, bge-reranker, byom).", "type": "string" }, "type": { "description": "Model type: \"embedding\" or \"reranker\".", "type": "string" }, "validated_at": { "description": "Timestamp of the last successful validation (epoch ms); 0 if never validated.", "type": "string", "format": "int64" } } }, "webitel.kb.EmbeddingModelList": { "description": "EmbeddingModelList is a page of models.", "type": "object", "properties": { "items": { "description": "Models on this page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.kb.EmbeddingModel" } }, "next": { "description": "Whether a next page exists.", "type": "boolean" } } }, "webitel.kb.File": { "description": "File is metadata of a stored file bound to an article.", "type": "object", "properties": { "created_at": { "description": "CreatedAt timestamp (epoch ms).", "type": "string", "format": "int64" }, "created_by": { "description": "User who uploaded the file.", "$ref": "#/definitions/general.ExtendedLookup" }, "id": { "description": "Storage file id.", "type": "string", "format": "int64" }, "mime": { "description": "MIME type.", "type": "string" }, "name": { "description": "File name.", "type": "string" }, "size": { "description": "File size in bytes.", "type": "string", "format": "int64" }, "source": { "description": "Storage source.", "type": "string" }, "url": { "description": "Download url.", "type": "string" } } }, "webitel.kb.FileList": { "description": "FileList is a page of files.", "type": "object", "properties": { "items": { "description": "Files on this page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.kb.File" } }, "next": { "description": "Whether a next page exists.", "type": "boolean" } } }, "webitel.kb.GetTreeResponse": { "description": "GetTreeResponse returns the root nodes of the space tree.", "type": "object", "properties": { "nodes": { "description": "Root-level tree nodes.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.kb.TreeNode" } } } }, "webitel.kb.IndexState": { "description": "Article indexing state.", "type": "string", "default": "INDEX_STATE_UNSPECIFIED", "enum": [ "INDEX_STATE_UNSPECIFIED", "PENDING", "INDEXING", "INDEXED", "FAILED" ] }, "webitel.kb.InputArticle": { "description": "InputArticle carries the writable fields of an article and its body.", "type": "object", "properties": { "body_rich_text": { "description": "Editor document; serialized server-side to markdown/plaintext/tsvector.", "type": "object" }, "parent_id": { "description": "Parent article id; 0 for a top-level article.", "type": "string", "format": "int64" }, "space_id": { "description": "Target space.", "type": "string", "format": "int64" }, "state": { "description": "Lifecycle state.", "$ref": "#/definitions/webitel.kb.ArticleState" }, "subject": { "description": "Article subject.", "type": "string" }, "tags": { "description": "Article tags.", "type": "array", "items": { "type": "string" } }, "type": { "description": "Article type.", "$ref": "#/definitions/webitel.kb.ArticleType" } } }, "webitel.kb.InputEmbeddingModel": { "description": "InputEmbeddingModel carries the writable fields of a model.", "type": "object", "properties": { "api_key": { "description": "Write-only provider credential; encrypted at rest, never read back.", "type": "string" }, "dimensions": { "description": "Embedding dimension; omit for rerankers.", "type": "integer", "format": "int32" }, "endpoint": { "description": "Self-hosted / Azure / BYOM endpoint url.", "type": "string" }, "is_self_hosted": { "description": "Whether the model runs self-hosted.", "type": "boolean" }, "model_ref": { "description": "Provider model name or HuggingFace id.", "type": "string" }, "name": { "description": "Human-readable name.", "type": "string" }, "provider": { "description": "Provider key.", "type": "string" }, "type": { "description": "Model type: \"embedding\" or \"reranker\".", "type": "string" } } }, "webitel.kb.InputSpace": { "description": "InputSpace carries the writable fields of a space.", "type": "object", "properties": { "chunking_strategy": { "description": "Chunking strategy identifier.", "type": "string" }, "description": { "description": "Free-text description.", "type": "string" }, "embedding_model_id": { "description": "Active embedding model id.", "type": "string", "format": "int64" }, "home_article_id": { "description": "Article used as the space home page.", "type": "string", "format": "int64" }, "language": { "description": "Space language; immutable after creation.", "type": "string" }, "name": { "description": "Human-readable name.", "type": "string" }, "rerank_enabled": { "description": "Whether reranking is applied.", "type": "boolean" }, "reranker_model_id": { "description": "Reranker model id.", "type": "string", "format": "int64" }, "team_ids": { "description": "Team ids the space is bound to as default operator visibility;\nthe set replaces the current binding, empty removes it.", "type": "array", "items": { "type": "string", "format": "int64" } }, "vector_search_enabled": { "description": "Whether articles are embedded for vector search.", "type": "boolean" } } }, "webitel.kb.MenuResponse": { "description": "MenuResponse returns child articles for menu rendering.", "type": "object", "properties": { "items": { "description": "Child article summaries (FAQ children include body inline).", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.kb.ArticleSummary" } } } }, "webitel.kb.ResolveRequest": { "description": "ResolveRequest selects articles by id within the given spaces.", "type": "object", "properties": { "ids": { "description": "Article ids to resolve.", "type": "array", "items": { "type": "string", "format": "int64" } }, "space_ids": { "description": "Spaces the ids are expected in (RBAC scope).", "type": "array", "items": { "type": "string", "format": "int64" } } } }, "webitel.kb.ResolveResponse": { "description": "ResolveResponse returns the resolved article summaries.", "type": "object", "properties": { "items": { "description": "Resolved article summaries (RBAC filtered).", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.kb.ArticleSummary" } } } }, "webitel.kb.SearchResponse": { "description": "SearchResponse is a page of article summaries.", "type": "object", "properties": { "items": { "description": "Matched article summaries.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.kb.ArticleSummary" } }, "next": { "description": "Whether a next page exists.", "type": "boolean" } } }, "webitel.kb.SemanticSearchRequest": { "description": "SemanticSearchRequest parameters for hybrid retrieval.", "type": "object", "properties": { "include_citations": { "description": "Whether to include structured citations.", "type": "boolean" }, "query": { "description": "Natural-language query (e.g. STT transcript).", "type": "string" }, "space_ids": { "description": "Spaces to search within (bot service scope).", "type": "array", "items": { "type": "string", "format": "int64" } }, "tag_match": { "description": "How to combine the tag filter.", "$ref": "#/definitions/webitel.kb.TagMatch" }, "tags": { "description": "Optional tag filter.", "type": "array", "items": { "type": "string" } }, "top_k": { "description": "Maximum number of chunks to return.", "type": "integer", "format": "int32" } } }, "webitel.kb.SemanticSearchResponse": { "description": "SemanticSearchResponse returns ranked chunks and optional citations.", "type": "object", "properties": { "chunks": { "description": "Top-K ranked chunks.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.kb.Chunk" } }, "citations": { "description": "Structured citations (empty unless requested).", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.kb.Citation" } } } }, "webitel.kb.Space": { "description": "Space is a knowledge-base space read model.", "type": "object", "properties": { "chunking_strategy": { "description": "Chunking strategy identifier.", "type": "string" }, "created_at": { "description": "CreatedAt timestamp (epoch ms).", "type": "string", "format": "int64" }, "created_by": { "description": "User who created the space.", "$ref": "#/definitions/general.Lookup" }, "description": { "description": "Free-text description.", "type": "string" }, "domain_id": { "description": "Owning domain id.", "type": "string", "format": "int64" }, "embedding_model_id": { "description": "Active embedding model id (type=embedding).", "type": "string", "format": "int64" }, "home_article_id": { "description": "Article used as the space home page; 0 if unset.", "type": "string", "format": "int64" }, "id": { "description": "Unique identifier of the space.", "type": "string", "format": "int64" }, "language": { "description": "Space language; immutable, drives full-text config and retrieval.", "type": "string" }, "name": { "description": "Human-readable name.", "type": "string" }, "rerank_enabled": { "description": "Whether reranking is applied (default off, on for suggest).", "type": "boolean" }, "reranker_model_id": { "description": "Reranker model id (type=reranker).", "type": "string", "format": "int64" }, "target_embedding_model_id": { "description": "Target embedding model id for a pending model migration.", "type": "string", "format": "int64" }, "teams": { "description": "Teams the space is bound to as default operator visibility;\nempty when no binding is configured.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/general.Lookup" } }, "updated_at": { "description": "UpdatedAt timestamp (epoch ms).", "type": "string", "format": "int64" }, "updated_by": { "description": "User who last updated the space.", "$ref": "#/definitions/general.Lookup" }, "vector_search_enabled": { "description": "Whether articles in this space are embedded for vector search.", "type": "boolean" } } }, "webitel.kb.SpaceList": { "description": "SpaceList is a page of spaces.", "type": "object", "properties": { "items": { "description": "Spaces on this page.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.kb.Space" } }, "next": { "description": "Whether a next page exists.", "type": "boolean" } } }, "webitel.kb.SuggestRequest": { "description": "SuggestRequest parameters for operator assist.", "type": "object", "properties": { "customer_message": { "description": "Latest customer message used as the query.", "type": "string" }, "return_chunks": { "description": "When true return chunks instead of article summaries.", "type": "boolean" }, "space_ids": { "description": "Spaces to search within.", "type": "array", "items": { "type": "string", "format": "int64" } }, "team_id": { "description": "Operator team id (team binding scope).", "type": "string", "format": "int64" } } }, "webitel.kb.SuggestResponse": { "description": "SuggestResponse returns reranked suggestions.", "type": "object", "properties": { "articles": { "description": "Suggested article summaries.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.kb.ArticleSummary" } }, "chunks": { "description": "Suggested chunks for draft generation.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.kb.Chunk" } } } }, "webitel.kb.SuggestTagsResponse": { "description": "SuggestTagsResponse returns matching tags.", "type": "object", "properties": { "tags": { "description": "Matching tags.", "type": "array", "items": { "type": "string" } } } }, "webitel.kb.TagMatch": { "description": "Tag-filter combination mode.\n\n - TAG_MATCH_ALL: Default: match articles having ALL listed tags (AND).\n - TAG_MATCH_ANY: Match articles having ANY listed tag (OR).", "type": "string", "default": "TAG_MATCH_ALL", "enum": [ "TAG_MATCH_ALL", "TAG_MATCH_ANY" ] }, "webitel.kb.TreeNode": { "description": "TreeNode is a single node of an article hierarchy tree.", "type": "object", "properties": { "children": { "description": "Child nodes.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.kb.TreeNode" } }, "depth": { "description": "Hierarchy depth (1..5).", "type": "integer", "format": "int32" }, "id": { "description": "Article id.", "type": "string", "format": "int64" }, "subject": { "description": "Article subject.", "type": "string" }, "type": { "description": "Article type.", "$ref": "#/definitions/webitel.kb.ArticleType" } } }, "webitel.kb.Versions.RestoreVersionBody": { "description": "RestoreVersionRequest selects a version to restore.", "type": "object", "properties": { "notes": { "description": "Optional notes for the new version.", "type": "string" } } }, "webitel.portal.AccessToken": { "type": "object", "title": "Access Token Response", "properties": { "access_token": { "description": "REQUIRED. The access token issued by the authorization server.", "type": "string" }, "call": { "description": "VoIP / SIP service credentials.", "$ref": "#/definitions/webitel.portal.CallAccount" }, "chat": { "description": "[I]nstant [M]essaging dialog state.", "$ref": "#/definitions/webitel.portal.ChatAccount" }, "expires_in": { "description": "RECOMMENDED. The lifetime in seconds of the access token.", "type": "integer", "format": "int32" }, "refresh_token": { "description": "OPTIONAL. The refresh token, which can be used to obtain\nnew access tokens using the same authorization grant.", "type": "string" }, "scope": { "description": "OPTIONAL, if identical to the scope requested by the client;\notherwise, REQUIRED. The scope of the access token.", "type": "array", "items": { "type": "string" } }, "state": { "description": "REQUIRED if the \"state\" parameter was present in the client\nauthorization request. The exact value received from the client.", "type": "string" }, "token_type": { "description": "REQUIRED. The type of the token issued. Value is case insensitive.", "type": "string" }, "user": { "description": "End-User account profile.", "$ref": "#/definitions/webitel.portal.UserProfile" } }, "example": { "access_token": "LxEYRr_5YIiNnvQXgZ-y_I830xuhrSQi-EsgzbQhdIMPxScSIsiey8s1KKSoD4CP", "call": { "proxy": "sip:example.org:5064;transport=udp", "realm": "demo.webitel.com", "user_id": "F3-frzuRNTOzZ2B-q2S_lQ" }, "chat": { "user": { "id": "0f36b039bd0936c9a4b9d48abd6f4f15", "name": "You", "type": "portal" } }, "expires_in": 3555, "scope": [ "call", "chat" ], "token_type": "bearer", "user": { "identity": { "birthdate": "", "email": "j.doe@mx.example.org", "email_verified": true, "family_name": "Doe", "gender": "male", "given_name": "John", "iss": "https://my.example.org/accounts", "locale": "en-US", "metadata": { "complex_var": { "array": [ 73, "str", null, {} ] }, "extra_var": "my string" }, "middle_name": "", "name": "John Doe", "phone_number": "+1 202-555-0190", "phone_number_verified": false, "picture": "", "profile": "https://my.example.org/people/j.doe", "sub": "j.doe", "zoneinfo": "US/Arizona" } } } }, "webitel.portal.CallAccount": { "type": "object", "title": "Portal Service VoIP/SIP Account", "properties": { "auth_id": { "type": "string", "title": "SIP authorization" }, "proxy": { "type": "string", "title": "SIP host / proxy" }, "realm": { "type": "string", "title": "SIP realm / domain" }, "secret": { "type": "string", "title": "SIP password" }, "user_id": { "type": "string", "title": "SIP username; extension" }, "video": { "type": "boolean", "title": "Video is allowed ?" } } }, "webitel.portal.ChatAccount": { "type": "object", "title": "Customer end-User messaging account settings", "properties": { "user": { "description": "User self. The sender. You.", "$ref": "#/definitions/webitel.chat.Peer" } } }, "webitel.portal.DevicePush": { "type": "object", "title": "PUSH Subscription\nhttps://core.telegram.org/api/push-updates#subscribing-to-notifications", "properties": { "APN": { "type": "string", "title": "[A]pple [P]ush [N]otification Service (device token for apple push)" }, "FCM": { "type": "string", "title": "[F]irebase [C]loud [M]essaging Service (firebase token for google firebase)" }, "secret": { "type": "string", "title": "For FCM and APNS VoIP, optional encryption key used to encrypt push notifications" }, "web": { "title": "For 10 web push, the token must be a JSON-encoded object with the following keys:\nendpoint: Absolute URL exposed by the push service where the application server can send push messages\nkeys: P-256 elliptic curve Diffie-Hellman parameters in the following object\np256dh: Base64url-encoded P-256 elliptic curve Diffie-Hellman public key\nauth: Base64url-encoded authentication secret", "$ref": "#/definitions/webitel.portal.WebPush" } } }, "webitel.portal.Echo": { "type": "object", "properties": { "data": { "type": "string", "format": "byte" } } }, "webitel.portal.Identity": { "type": "object", "title": "Identity of the End-User at the Issuer.\nhttps://openid.net/specs/openid-connect-core-1_0.html#Claims", "properties": { "birthdate": { "description": "OPTIONAL. End-User's birthday, represented as an ISO 8601:2004 [ISO8601‑2004] YYYY-MM-DD format.\nThe year MAY be 0000, indicating that it is omitted.\nTo represent only the year, YYYY format is allowed.", "type": "string" }, "created_at": { "type": "string", "format": "int64" }, "deleted_at": { "type": "string", "format": "int64" }, "email": { "description": "End-User's preferred e-mail address.\nIts value MUST conform to the RFC 5322 [RFC5322] addr-spec syntax.\nThe RP MUST NOT rely upon this value being unique, as discussed in Section 5.7.", "type": "string" }, "email_verified": { "description": "True if the End-User's e-mail address has been verified; otherwise false.", "type": "boolean" }, "family_name": { "description": "Surname(s) or last name(s) of the End-User.\nNote that in some cultures, people can have multiple family names or no family name;\nall can be present, with the names being separated by space characters.", "type": "string" }, "gender": { "description": "OPTIONAL. End-User's gender.\nValues defined by this specification are `female` and `male`.\nOther values MAY be used when neither of the defined values are applicable.", "type": "string" }, "given_name": { "description": "Given name(s) or first name(s) of the End-User.\nNote that in some cultures, people can have multiple given names;\nall can be present, with the names being separated by space characters.", "type": "string" }, "iss": { "description": "REQUIRED. Issuer Identifier for the Issuer of the response.\nThe iss value is a case sensitive URL using the https scheme that contains scheme, host,\nand optionally, port number and path components and no query or fragment components.", "type": "string" }, "locale": { "description": "End-User's locale, represented as a BCP47 [RFC5646] language tag.\nThis is typically an ISO 639-1 Alpha-2 [ISO639‑1] language code in lowercase\nand an ISO 3166-1 Alpha-2 [ISO3166‑1] country code in uppercase,\nseparated by a dash. For example, `en-US` or `uk-UA`.", "type": "string" }, "metadata": { "description": "End-User's extra attributes metadata.", "type": "object" }, "middle_name": { "description": "Middle name(s) of the End-User.\nNote that in some cultures, people can have multiple middle names;\nall can be present, with the names being separated by space characters.\nAlso note that in some cultures, middle names are not used.", "type": "string" }, "name": { "description": "REQUIRED. End-User's full name in displayable form including all name parts,\npossibly including titles and suffixes, ordered according to the End-User's locale and preferences.", "type": "string" }, "phone_number": { "description": "End-User's preferred telephone number.\nE.164 is RECOMMENDED as the format of this Claim, for example, +1 (425) 555-1212 or +56 (2) 687 2400.\nIf the phone number contains an extension, it is RECOMMENDED that\nthe extension be represented using the RFC 3966 [RFC3966] extension syntax, for example, +1 (604) 555-1234;ext=5678.", "type": "string" }, "phone_number_verified": { "description": "True if the End-User's phone number has been verified; otherwise false.", "type": "boolean" }, "picture": { "description": "OPTIONAL. URL of the End-User's profile picture.\nThis URL MUST refer to an image file\n(for example, a PNG, JPEG, or GIF image file),\nrather than to a Web page containing an image.", "type": "string" }, "profile": { "description": "OPTIONAL. URL of the End-User's profile page.\nThe contents of this Web page SHOULD be about the End-User.\nNOTE: Issuer SP (IdP) related URL.", "type": "string" }, "sources": { "description": "Additional source(s) associated with given \"identity\".\nUsed to merge two or more well-known end-user subjects.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel.portal.SourceId" } }, "sub": { "description": "REQUIRED. Subject Identifier.\nA locally unique and never reassigned identifier within the Issuer for the End-User,\nwhich is intended to be consumed by the Client, e.g., 24400320 or AItOawmwtWwcT0k51BayewNvutrJUqsvl6qs7A4.\nIt MUST NOT exceed 255 ASCII characters in length.\nThe sub value is a case sensitive string.", "type": "string" }, "updated_at": { "description": "Time the End-User's information was last updated.\nIts value is a JSON number representing the number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the date/time.", "type": "string", "format": "int64" }, "zoneinfo": { "description": "OPTIONAL. String from zoneinfo [zoneinfo] time zone database representing the End-User's time zone.\nFor example, Europe/Kyiv or America/Los_Angeles.", "type": "string" } } }, "webitel.portal.RegisterDeviceRequest": { "type": "object", "properties": { "push": { "description": "PUSH subscription update.\nSet provider type specific registered device token.\nNone to deregister device PUSH subscription.", "$ref": "#/definitions/webitel.portal.DevicePush" } } }, "webitel.portal.RegisterDeviceResponse": { "type": "object" }, "webitel.portal.SourceId": { "type": "object", "title": "Subject source identification", "properties": { "iss": { "description": "REQUIRED. Issuer Identifier for the Issuer of the response.\nThe iss value is a case sensitive URL using the https scheme that contains scheme, host,\nand optionally, port number and path components and no query or fragment components.", "type": "string" }, "sub": { "description": "REQUIRED. Subject Identifier.\nA locally unique and never reassigned identifier within the Issuer for the End-User,\nwhich is intended to be consumed by the Client, e.g., 24400320 or AItOawmwtWwcT0k51BayewNvutrJUqsvl6qs7A4.\nIt MUST NOT exceed 255 ASCII characters in length.\nThe sub value is a case sensitive string.", "type": "string" } } }, "webitel.portal.TokenRequest": { "type": "object", "title": "Access Token Request", "properties": { "app_token": { "description": "REQUIRED. Confidential client authorization token.\nMay be transmitted in header: X-Portal-Client.\nKeep it a secret.", "type": "string" }, "code": { "description": "Authorization code grant.\nREQUIRED. When grant_type is set to \"authorization_code\".", "type": "string" }, "grant_type": { "type": "string", "title": "REQUIRED. Grant type.\nPosible values ; - not implemented ; + supported\n- authorization_code ; Authorization Code Grant\n- client_credentials ; Client Credentials Grant\n- refresh_token ; Refreshing an Access Token\n- password ; Resource Owner Password Credentials Grant\nExtension Grants\n+ identity ; Public end-User Identity Grant" }, "identity": { "description": "Identity of the end-User account association.\nREQUIRED. When grant_type is set to \"identity\".", "$ref": "#/definitions/webitel.portal.Identity" }, "push": { "description": "OPTIONAL. Sign up client device for PUSH notifications.", "$ref": "#/definitions/webitel.portal.DevicePush" }, "refresh_token": { "description": "Refresh token string to obtain NEW access token.\nREQUIRED. When grant_type is set to \"refresh_token\".", "type": "string" }, "response_type": { "type": "array", "title": "REQUIRED. Response type.\nPosible values ; - not implemented ; + supported\n+ token ; Access token response\n- id_token ;\nExtensions\n+ user ; End-User account profile\n+ call ; SIP account credentials\n+ chat ; IM account details", "items": { "type": "string" } }, "scope": { "type": "array", "title": "OPTIONAL. The scope of the access request\nPosible values are:\n* chat ; [I]nstant [M]essaging service\n* call ; [V]oice[o]ver[IP] SIP service", "items": { "type": "string" } }, "state": { "type": "string", "title": "RECOMMENDED. An opaque value used by the client to maintain\nstate between the request and callback. The authorization\nserver includes this value when redirecting the user-agent back\nto the client. The parameter SHOULD be used for preventing\ncross-site request forgery" } }, "example": { "grant_type": "identity", "identity": { "birthdate": "", "email": "j.doe@mx.example.org", "email_verified": true, "family_name": "Doe", "gender": "male", "given_name": "John", "iss": "https://my.example.org/accounts", "locale": "en-US", "metadata": { "complex_var": { "array": [ 73, "str", null, {} ] }, "extra_var": "my string" }, "middle_name": "", "name": "John Doe", "phone_number": "+1 202-555-0190", "phone_number_verified": false, "picture": "", "profile": "https://my.example.org/people/j.doe", "sources": [ { "sub": "phone:2025550190" }, { "iss": "https://my.example.org/support", "sub": "m3lJ9VzG8yF6wzwQ" } ], "sub": "j.doe", "zoneinfo": "US/Arizona" }, "push": { "FCM": "android_client_firebase_cloud_messaging_subscription_token" }, "response_type": [ "token", "user", "call", "chat" ], "scope": [ "call", "chat" ] } }, "webitel.portal.Update": { "type": "object", "title": "Update notification message.\nMAY be `Response` to the `Request`\n-OR- well-known Update *like message", "properties": { "data": { "title": "Update notification arguments data", "$ref": "#/definitions/google.protobuf.Any" }, "date": { "description": "Date when this update was sent.", "type": "string", "format": "int64" } } }, "webitel.portal.UpdateDisconnect": { "description": "UpdateDisconnect notifies the client about\nan imminent disconnect due to specified reason.", "type": "object", "properties": { "cause": { "title": "The disconnect reason", "$ref": "#/definitions/google.rpc.Status" } } }, "webitel.portal.UserProfile": { "description": "End-User Owner Profile.", "type": "object", "properties": { "id": { "type": "string", "title": "READONLY. profile.id" }, "identity": { "description": "READONLY. End-User profile info.", "$ref": "#/definitions/webitel.portal.Identity" }, "sources": { "type": "array", "title": "READONLY. Extra identities associated", "items": { "type": "object", "$ref": "#/definitions/webitel.portal.Identity" } }, "username": { "description": "OPTIONAL.\nShorthand name by which the End-User\nwishes to be referred to at the RP,\nsuch as janedoe or j.doe.", "type": "string" } } }, "webitel.portal.WebPush": { "type": "object", "title": "WebPUSH subscription", "properties": { "endpoint": { "type": "string", "title": "endpoint: Absolute URL exposed by the push service where the application server can send push messages" }, "key": { "title": "P-256 elliptic curve Diffie-Hellman parameters", "$ref": "#/definitions/webitel.portal.WebPush.Key" } } }, "webitel.portal.WebPush.Key": { "type": "object", "title": "keys: P-256 elliptic curve Diffie-Hellman parameters in the following object\np256dh: Base64url-encoded P-256 elliptic curve Diffie-Hellman public key\nauth: Base64url-encoded authentication secret", "properties": { "auth": { "type": "string", "format": "byte", "title": "auth: Base64url-encoded authentication secret" }, "p256dh": { "type": "string", "format": "byte", "title": "p256dh: Base64url-encoded P-256 elliptic curve Diffie-Hellman public key" } } }, "webitelContactsAttachment": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" }, "mime": { "type": "string" }, "name": { "type": "string" }, "size": { "type": "string", "format": "int64" }, "url": { "type": "string" } } }, "webitelContactsContact": { "description": "The Contact principal source.\nOUTPUT purpose only.", "type": "object", "properties": { "about": { "description": "BIO. Short description about the Contact person.\nOPTIONAL. Multi-lined text.", "type": "string" }, "comments": { "description": "The Contact's internal comment(s).", "$ref": "#/definitions/contactsCommentList" }, "created_at": { "type": "string", "format": "int64", "title": "unix" }, "created_by": { "title": "user", "$ref": "#/definitions/webitelContactsLookup" }, "domain": { "description": "READONLY. The contact's metadata.", "$ref": "#/definitions/webitelContactsLookup" }, "emails": { "description": "The Contact's email address(es).", "$ref": "#/definitions/contactsEmailList" }, "etag": { "description": "Unique ID of the latest version of the update.\nThis ID changes after any update to the underlying value(s).", "type": "string" }, "groups": { "description": "The Contact's associated group(s).", "$ref": "#/definitions/contactsContactGroupList" }, "id": { "description": "The unique ID of the association. Never changes.", "type": "string" }, "imclients": { "description": "The contact's [I]nstant[M]essaging clients.", "$ref": "#/definitions/contactsIMClientList" }, "labels": { "description": "The Contact's associated tag(s).", "$ref": "#/definitions/contactsLabelList" }, "managers": { "description": "The Contact's internal manager(s).", "$ref": "#/definitions/contactsManagerList" }, "mode": { "description": "[R]ecord[b]ased[A]ccess[C]ontrol mode granted.", "type": "string" }, "name": { "description": "The Contact's name.\nThis field is a singleton for Contact sources.", "$ref": "#/definitions/contactsName" }, "phones": { "description": "The Contact's phone numbers.", "$ref": "#/definitions/contactsPhoneList" }, "photos": { "description": "Output only. The Contact's photo(s).", "$ref": "#/definitions/contactsPhotoList", "readOnly": true }, "timezones": { "description": "The Contact's timezone preference(s).", "$ref": "#/definitions/contactsTimezoneList" }, "updated_at": { "type": "string", "format": "int64", "title": "unix" }, "updated_by": { "title": "user", "$ref": "#/definitions/webitelContactsLookup" }, "user": { "title": "user connected to the contact", "$ref": "#/definitions/webitelContactsLookup" }, "variables": { "description": "Arbitrary client data that is populated by clients.\nDuplicate keys and values are allowed.", "$ref": "#/definitions/contactsVariableList" }, "ver": { "description": "READONLY. Operational attributes\nVersion of the latest update. Numeric sequence.", "type": "integer", "format": "int32" } } }, "webitelContactsLabel": { "description": "A Contact's associated Tag.\nOutput purpose only.", "type": "object", "properties": { "created_at": { "description": "The user who created this Field.", "type": "string", "format": "int64" }, "created_by": { "description": "Timestamp(milli) of the Field creation.", "$ref": "#/definitions/webitelContactsLookup" }, "etag": { "description": "Unique ID of the latest version of the update.\nThis ID changes after any update to the underlying value(s).", "type": "string" }, "id": { "description": "The unique ID of the association. Never changes.", "type": "string" }, "label": { "description": "REQUIRED. Tag value;\nNOTE: Keep in mind, hashtags are not case-sensitive,\nbut adding capital letters does make them easier to read:\n#MakeAWish vs. #makeawish.", "type": "string" }, "updated_at": { "description": "Timestamp(milli) of the last Field update.\nTake part in Etag generation.", "type": "string", "format": "int64" }, "updated_by": { "description": "The user who performed last Update.", "$ref": "#/definitions/webitelContactsLookup" }, "ver": { "description": "Version of the latest update. Numeric sequence.", "type": "integer", "format": "int32" } } }, "webitelContactsLookup": { "description": "Lookup reference information.\nSimplified search filter to uniquely identify related object.", "type": "object", "properties": { "id": { "description": "Reference Object unique ID.", "type": "string" }, "name": { "description": "Reference Object display name.", "type": "string" }, "type": { "description": "Reference Object well-known type.", "type": "string" } } }, "webitelKnowledgebaseAttachment": { "type": "object", "properties": { "id": { "description": "The unique ID of the association. Never changes.", "type": "string" }, "size": { "description": "The size of the attachment.", "type": "integer", "format": "int32" }, "title": { "description": "The title of the article.", "type": "string" }, "uploaded_by": { "description": "The user who loaded this attachment.", "$ref": "#/definitions/webitelKnowledgebaseLookup" } } }, "webitelKnowledgebaseLookup": { "description": "Lookup reference information.\nSimplified search filter to uniquely identify related object.", "type": "object", "properties": { "id": { "description": "Reference Object unique ID.", "type": "string" }, "name": { "description": "Reference Object display name.", "type": "string" }, "type": { "description": "Reference Object well-known type.", "type": "string" } } }, "webitelKnowledgebaseTag": { "type": "object", "properties": { "name": { "description": "The name of the tag.", "type": "string" } } }, "webitel_media_exporter.DeleteExportResponse": { "description": "Response confirming the deletion of a record.", "type": "object", "properties": { "id": { "description": "ID of the deleted record.", "type": "string", "format": "int64" } } }, "webitel_media_exporter.DownloadCallArchiveResponse": { "type": "object", "title": "One frame of a streamed ZIP archive download. The file name is carried via the \"filename\"\ngRPC response header (set before the first frame)", "properties": { "data": { "type": "string", "format": "byte" } } }, "webitel_media_exporter.DownloadCallScreenrecordingArchiveResponse": { "description": "One frame of a streamed screen recording ZIP archive. The archive name is\ncarried via the \"filename\" gRPC response header set before the first frame.", "type": "object", "properties": { "data": { "type": "string", "format": "byte" } } }, "webitel_media_exporter.DownloadScreenrecordingArchiveResponse": { "description": "One frame of a streamed ZIP archive.\nThe archive name is sent through the \"filename\" gRPC response header.", "type": "object", "properties": { "data": { "type": "string", "format": "byte" } } }, "webitel_media_exporter.DownloadScreenshotArchiveResponse": { "description": "One frame of a streamed screenshot ZIP archive.\nThe archive name is sent through the \"filename\" gRPC response header.", "type": "object", "properties": { "data": { "type": "string", "format": "byte" } } }, "webitel_media_exporter.ExportRecord": { "description": "Represents a persisted record of a PDF export.", "type": "object", "properties": { "created_at": { "description": "Creation timestamp (Unix millis).", "type": "string", "format": "int64" }, "created_by": { "description": "User ID who initiated the export.", "type": "string", "format": "int64" }, "file_id": { "description": "Reference to the file in the storage system.", "type": "string", "format": "int64" }, "id": { "description": "Internal database record ID.", "type": "string", "format": "int64" }, "mime_type": { "description": "MIME type of the generated file.", "type": "string" }, "name": { "description": "Display name of the export.", "type": "string" }, "status": { "description": "Final status of the export process.", "$ref": "#/definitions/webitel_media_exporter.ExportStatus" }, "updated_at": { "description": "Last update timestamp (Unix millis).", "type": "string", "format": "int64" }, "updated_by": { "description": "User ID who last modified the record.", "type": "string", "format": "int64" } } }, "webitel_media_exporter.ExportStatus": { "description": "Status of the PDF generation process.\n\n - PENDING: Task is queued and waiting for a worker.\n - PROCESSING: PDF is currently being rendered.\n - DONE: Export finished successfully.\n - FAILED: Export failed during generation.", "type": "string", "default": "EXPORT_STATUS_UNSPECIFIED", "enum": [ "EXPORT_STATUS_UNSPECIFIED", "PENDING", "PROCESSING", "DONE", "FAILED" ] }, "webitel_media_exporter.ExportTask": { "description": "Metadata about an export task immediately after creation.", "type": "object", "properties": { "file_name": { "description": "Target name of the PDF file.", "type": "string" }, "mime_type": { "description": "MIME type (usually application/pdf).", "type": "string" }, "size": { "description": "File size in bytes (0 if not yet generated).", "type": "string", "format": "int64" }, "status": { "description": "Current lifecycle status of the task.", "$ref": "#/definitions/webitel_media_exporter.ExportStatus" }, "task_id": { "description": "Unique ID to track the background task.", "type": "string" } } }, "webitel_media_exporter.FilterBetween": { "description": "Unix-millis inclusive range filter, e.g. for uploaded_at.from / uploaded_at.to query params.", "type": "object", "properties": { "from": { "type": "string", "format": "int64" }, "to": { "type": "string", "format": "int64" } } }, "webitel_media_exporter.ListExportsResponse": { "description": "Response containing a page of export history records.", "type": "object", "properties": { "items": { "description": "List of export records.", "type": "array", "items": { "type": "object", "$ref": "#/definitions/webitel_media_exporter.ExportRecord" } }, "next": { "description": "Indicates if there are more records available.", "type": "boolean" }, "page": { "description": "Current page number.", "type": "integer", "format": "int32" } } }, "webitel_media_exporter.PdfService.CreateCallExportBody": { "description": "Request for generating a call media PDF.", "type": "object", "properties": { "file_ids": { "description": "Optional: specific file IDs to include in the PDF.", "type": "array", "items": { "type": "string", "format": "int64" } }, "from": { "description": "Start timestamp of the range (Unix millis).", "type": "string", "format": "int64" }, "to": { "description": "End timestamp of the range (Unix millis).", "type": "string", "format": "int64" } } }, "webitel_media_exporter.PdfService.CreateScreenrecordingExportBody": { "description": "Request for generating a screen recording PDF.", "type": "object", "properties": { "file_ids": { "description": "Optional: specific file IDs to include in the PDF.", "type": "array", "items": { "type": "string", "format": "int64" } }, "from": { "description": "Start timestamp of the range (Unix millis).", "type": "string", "format": "int64" }, "sort": { "type": "string", "title": "sorting criteria, e.g. \"+view_name\" or \"-uploaded_at\"" }, "to": { "description": "End timestamp of the range (Unix millis).", "type": "string", "format": "int64" } } }, "wfmAbsence": { "type": "object", "properties": { "absent_at": { "type": "string", "format": "int64" }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/wfmLookupEntity" }, "domain_id": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "type_id": { "$ref": "#/definitions/wfmAbsenceType" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/wfmLookupEntity" } } }, "wfmAbsenceType": { "type": "string", "default": "ABSENCE_TYPE_UNSPECIFIED", "enum": [ "ABSENCE_TYPE_UNSPECIFIED", "ABSENCE_TYPE_DAYOFF", "ABSENCE_TYPE_VACATION", "ABSENCE_TYPE_SICKDAY" ] }, "wfmAgentAbsences": { "type": "object", "properties": { "absences": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmAbsence" } }, "agent": { "$ref": "#/definitions/wfmLookupEntity" } } }, "wfmAgentSchedule": { "type": "object", "properties": { "absence": { "$ref": "#/definitions/wfmAbsenceType" }, "date": { "type": "string", "format": "int64" }, "locked": { "type": "boolean" }, "shift": { "$ref": "#/definitions/wfmAgentScheduleShift" } } }, "wfmAgentScheduleShift": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/wfmLookupEntity" }, "domain_id": { "type": "string", "format": "int64" }, "end": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "pauses": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmAgentScheduleShiftPause" } }, "skills": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmAgentScheduleShiftSkill" } }, "start": { "type": "string", "format": "int64" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/wfmLookupEntity" } } }, "wfmAgentScheduleShiftPause": { "type": "object", "properties": { "cause": { "$ref": "#/definitions/wfmLookupEntity" }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/wfmLookupEntity" }, "domain_id": { "type": "string", "format": "int64" }, "end": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "start": { "type": "string", "format": "int64" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/wfmLookupEntity" } } }, "wfmAgentScheduleShiftSkill": { "type": "object", "properties": { "capacity": { "type": "string", "format": "int64" }, "enabled": { "type": "boolean" }, "skill": { "$ref": "#/definitions/wfmLookupEntity" } } }, "wfmAgentWorkingConditions": { "type": "object", "properties": { "pause_template": { "$ref": "#/definitions/wfmLookupEntity" }, "working_condition": { "$ref": "#/definitions/wfmLookupEntity" } } }, "wfmAgentWorkingSchedule": { "type": "object", "properties": { "agent": { "$ref": "#/definitions/wfmLookupEntity" }, "schedule": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmAgentSchedule" } } } }, "wfmCreateAgentAbsenceResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmAbsence" } } }, "wfmCreateAgentsAbsencesRequest": { "type": "object", "properties": { "agent_ids": { "type": "array", "items": { "type": "string", "format": "int64" } }, "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/CreateAgentsAbsencesRequestabsentType" } } } }, "wfmCreateAgentsAbsencesResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmAgentAbsences" } } } }, "wfmCreateAgentsWorkingScheduleShiftsResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmAgentWorkingSchedule" } } } }, "wfmCreateForecastCalculationRequest": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmForecastCalculation" } } }, "wfmCreateForecastCalculationResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmForecastCalculation" } } }, "wfmCreatePauseTemplateRequest": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmPauseTemplate" } } }, "wfmCreatePauseTemplateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmPauseTemplate" } } }, "wfmCreateShiftTemplateRequest": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmShiftTemplate" } } }, "wfmCreateShiftTemplateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmShiftTemplate" } } }, "wfmCreateWorkingConditionRequest": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmWorkingCondition" } } }, "wfmCreateWorkingConditionResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmWorkingCondition" } } }, "wfmCreateWorkingScheduleRequest": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmWorkingSchedule" } } }, "wfmCreateWorkingScheduleResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmWorkingSchedule" } } }, "wfmDeleteAgentAbsenceResponse": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" } } }, "wfmDeleteForecastCalculationResponse": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" } } }, "wfmDeletePauseTemplateResponse": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" } } }, "wfmDeleteShiftTemplateResponse": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" } } }, "wfmDeleteWorkingConditionResponse": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" } } }, "wfmDeleteWorkingScheduleResponse": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" } } }, "wfmExecuteForecastCalculationResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmExecuteForecastCalculationResponseForecast" } } } }, "wfmExecuteForecastCalculationResponseForecast": { "type": "object", "properties": { "agents": { "type": "string", "format": "int64" }, "timestamp": { "type": "string", "format": "int64" } } }, "wfmFilterBetween": { "type": "object", "properties": { "from": { "type": "string", "format": "int64" }, "to": { "type": "string", "format": "int64" } } }, "wfmForecastCalculation": { "type": "object", "properties": { "args": { "type": "array", "items": { "type": "string" } }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/wfmLookupEntity" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "procedure": { "type": "string" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/wfmLookupEntity" } } }, "wfmHoliday": { "type": "object", "properties": { "date": { "type": "string", "format": "int64" }, "name": { "type": "string" } } }, "wfmLookupEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" }, "name": { "type": "string" } } }, "wfmPauseTemplate": { "type": "object", "properties": { "causes": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmPauseTemplateCause" } }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/wfmLookupEntity" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/wfmLookupEntity" } } }, "wfmPauseTemplateCause": { "type": "object", "properties": { "cause": { "$ref": "#/definitions/wfmLookupEntity" }, "duration": { "type": "string", "format": "int64" } } }, "wfmReadAgentAbsenceResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmAbsence" } } }, "wfmReadAgentWorkingConditionsResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmAgentWorkingConditions" } } }, "wfmReadForecastCalculationResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmForecastCalculation" } } }, "wfmReadPauseTemplateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmPauseTemplate" } } }, "wfmReadShiftTemplateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmShiftTemplate" } } }, "wfmReadWorkingConditionResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmWorkingCondition" } } }, "wfmReadWorkingScheduleForecastResponse": { "type": "object", "properties": { "items": { "type": "object", "additionalProperties": { "$ref": "#/definitions/wfmWorkingScheduleForecast" } } } }, "wfmReadWorkingScheduleResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmWorkingSchedule" } } }, "wfmSearchAgentAbsenceResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmAbsence" } } } }, "wfmSearchAgentsAbsencesResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmAgentAbsences" } }, "next": { "type": "boolean" } } }, "wfmSearchAgentsWorkingScheduleResponse": { "type": "object", "properties": { "holidays": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmHoliday" } }, "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmAgentWorkingSchedule" } }, "total": { "type": "string", "format": "int64" } } }, "wfmSearchForecastCalculationResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmForecastCalculation" } }, "next": { "type": "boolean" } } }, "wfmSearchPauseTemplateResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmPauseTemplate" } }, "next": { "type": "boolean" } } }, "wfmSearchShiftTemplateResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmShiftTemplate" } }, "next": { "type": "boolean" } } }, "wfmSearchWorkingConditionResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmWorkingCondition" } }, "next": { "type": "boolean" } } }, "wfmSearchWorkingScheduleResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmWorkingSchedule" } }, "next": { "type": "boolean" } } }, "wfmShiftTemplate": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/wfmLookupEntity" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "times": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmShiftTemplateTime" } }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/wfmLookupEntity" } } }, "wfmShiftTemplateTime": { "type": "object", "properties": { "end": { "type": "integer", "format": "int32" }, "start": { "type": "integer", "format": "int32" } } }, "wfmUpdateAgentAbsenceResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmAbsence" } } }, "wfmUpdateAgentWorkingConditionsResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmAgentWorkingConditions" } } }, "wfmUpdateForecastCalculationResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmForecastCalculation" } } }, "wfmUpdatePauseTemplateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmPauseTemplate" } } }, "wfmUpdateShiftTemplateResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmShiftTemplate" } } }, "wfmUpdateWorkingConditionResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmWorkingCondition" } } }, "wfmUpdateWorkingScheduleAddAgentsResponse": { "type": "object", "properties": { "agents": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmLookupEntity" } } } }, "wfmUpdateWorkingScheduleRemoveAgentResponse": { "type": "object", "properties": { "id": { "type": "string", "format": "int64" } } }, "wfmUpdateWorkingScheduleResponse": { "type": "object", "properties": { "item": { "$ref": "#/definitions/wfmWorkingSchedule" } } }, "wfmWorkingCondition": { "type": "object", "properties": { "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/wfmLookupEntity" }, "days_off": { "type": "integer", "format": "int32" }, "description": { "type": "string" }, "domain_id": { "type": "string", "format": "int64" }, "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "pause_duration": { "type": "integer", "format": "int32" }, "pause_template": { "$ref": "#/definitions/wfmLookupEntity" }, "shift_template": { "$ref": "#/definitions/wfmLookupEntity" }, "sick_leaves": { "type": "integer", "format": "int32" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/wfmLookupEntity" }, "vacation": { "type": "integer", "format": "int32" }, "workday_hours": { "type": "integer", "format": "int32" }, "workdays_per_month": { "type": "integer", "format": "int32" } } }, "wfmWorkingSchedule": { "type": "object", "properties": { "agents": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmLookupEntity" } }, "block_outside_activity": { "type": "boolean" }, "calendar": { "$ref": "#/definitions/wfmLookupEntity" }, "created_at": { "type": "string", "format": "int64" }, "created_by": { "$ref": "#/definitions/wfmLookupEntity" }, "domain_id": { "type": "string", "format": "int64" }, "end_date_at": { "type": "string", "format": "int64" }, "end_time_at": { "type": "string", "format": "int64" }, "extra_skills": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmLookupEntity" } }, "id": { "type": "string", "format": "int64" }, "name": { "type": "string" }, "start_date_at": { "type": "string", "format": "int64" }, "start_time_at": { "type": "string", "format": "int64" }, "state": { "$ref": "#/definitions/wfmWorkingScheduleState" }, "team": { "$ref": "#/definitions/wfmLookupEntity" }, "total_agents": { "type": "string", "format": "int64" }, "updated_at": { "type": "string", "format": "int64" }, "updated_by": { "$ref": "#/definitions/wfmLookupEntity" } } }, "wfmWorkingScheduleForecast": { "type": "object", "properties": { "forecast": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/wfmWorkingScheduleForecastForecast" } } } }, "wfmWorkingScheduleForecastForecast": { "type": "object", "properties": { "agents": { "type": "string", "format": "int64" }, "hour": { "type": "string", "format": "int64" } } }, "wfmWorkingScheduleState": { "type": "string", "default": "WORKING_SCHEDULE_STATE_UNSPECIFIED", "enum": [ "WORKING_SCHEDULE_STATE_UNSPECIFIED", "WORKING_SCHEDULE_STATE_ACTIVE", "WORKING_SCHEDULE_STATE_PENDING", "WORKING_SCHEDULE_STATE_DRAFT", "WORKING_SCHEDULE_STATE_ARCHIVED" ] } }, "securityDefinitions": { "AccessToken": { "type": "apiKey", "name": "X-Webitel-Access", "in": "header" }, "Device Id": { "description": "Webitel **portal** client **device** self identification", "type": "apiKey", "name": "X-Portal-Device", "in": "header" }, "Portal App": { "description": "Webitel **portal** client **app** authorization **token**", "type": "apiKey", "name": "X-Portal-Client", "in": "header" }, "Portal User": { "description": "Webitel **portal** end-user **customer** authorization", "type": "apiKey", "name": "X-Portal-Access", "in": "header" } }, "security": [ { "AccessToken": [] }, { "Portal Admin": [] } ], "tags": [ { "name": "RoutingChatPlanService" }, { "name": "RoutingOutboundCallService" }, { "name": "RoutingSchemaService" }, { "name": "RoutingVariableService" }, { "name": "AgentService" }, { "name": "TeamChatTagService" }, { "name": "AgentChatTagService" }, { "name": "SkillService" }, { "name": "AgentSkillService" }, { "name": "AgentTeamService" }, { "name": "AuditFormService" }, { "name": "BucketService" }, { "name": "CalendarService" }, { "name": "CallService" }, { "name": "EmailProfileService" }, { "name": "FeedbackService" }, { "name": "ListService" }, { "name": "MemberService" }, { "name": "OnlineSkillsService" }, { "name": "OutboundResourceService" }, { "name": "OutboundResourceGroupService" }, { "name": "AgentPauseCauseService" }, { "name": "PresetQueryService" }, { "name": "PushService" }, { "name": "QueueService" }, { "name": "QueueBucketService" }, { "name": "CommunicationTypeService" }, { "name": "QueueHookService" }, { "name": "QueueResourcesService" }, { "name": "QueueSkillService" }, { "name": "QuickRepliesService" }, { "name": "RegionService" }, { "name": "SchemaVariablesService" }, { "name": "SchemaVersionService" }, { "name": "SystemSettingService" }, { "name": "TeamHookService" }, { "name": "TeamTriggerService" }, { "name": "TriggerService" }, { "name": "UserHelperService" }, { "name": "WebHookService" }, { "description": "Priorities service definition with RPC methods for managing priorities", "name": "Priorities" }, { "description": "Service definition for managing services within catalogs", "name": "Services" }, { "description": "Service to manage case comments.", "name": "CaseComments" }, { "description": "Service to manage related cases.", "name": "RelatedCases" }, { "description": "Service for managing files associated with cases.", "name": "CaseFiles" }, { "name": "CaseLinks" }, { "description": "StatusConditions service definition with RPC methods for managing statuses", "name": "StatusConditions" }, { "name": "Sources" }, { "description": "SLAConditions service definition with RPC methods for managing SLAConditions", "name": "SLAConditions" }, { "description": "Service definition for managing cases.", "name": "Cases" }, { "description": "CaseCommunications service provides operations to manage communications within cases.", "name": "CaseCommunications" }, { "name": "CaseTimeline" }, { "description": "Service definition for managing catalog entities", "name": "Catalogs" }, { "description": "CloseReasons service definition with RPC methods for managing close reasons", "name": "CloseReasons" }, { "description": "CloseReasonGroups service definition with RPC methods for managing close reason groups", "name": "CloseReasonGroups" }, { "description": "SLAs service definition with RPC methods for managing SLAs", "name": "SLAs" }, { "description": "Statuses service definition with RPC methods for managing statuses", "name": "Statuses" }, { "name": "FTSService" }, { "description": "------------------------------------------------------------------------------\nDELIVERY SERVICE\n------------------------------------------------------------------------------", "name": "webitel.im.api.delivery.v1.Delivery" }, { "name": "webitel.im.api.gateway.v1.Bots" }, { "name": "webitel.im.api.gateway.v1.ViasService" }, { "description": "Contacts provides an interface to manage and search external chat profiles\nintegrated into the Webitel ecosystem (e.g., Telegram, Viber, WebChat).", "name": "webitel.im.api.gateway.v1.Contacts" }, { "description": "ContactSettingsManagement service provides access to contact settings.", "name": "webitel.im.api.gateway.v1.ContactSettingsManagement" }, { "description": "Messenger delivers messages from external API to the internal thread system.", "name": "webitel.im.api.gateway.v1.Message" }, { "description": "ThreadPermissionService defines the gRPC service for managing permissions for thread members.", "name": "webitel.im.api.gateway.v1.ThreadPermission" }, { "description": "MessageHistory service provides read-only access\nto message history within threads.", "name": "webitel.im.api.gateway.v1.MessageHistory" }, { "description": "End-User Account Service\n\n--- Notifications --- //\n\n registerDevice \tRegister device to receive PUSH notifications\n unregisterDevice \tDeletes a device by its token, stops sending PUSH-notifications to it.\n getNotifySettings \tGets current notification settings for a given user/group, from all users/all groups.\n updateNotifySettings \tEdits notification settings from a given user/group, from all users/all groups.\n resetNotifySettings \tResets all notification settings from users and groups.\n\n --- Users --- //\n\n users.getFullUser \tReturns extended user info by ID.\n users.getUsers \tReturns basic user info according to their identifiers.\n contacts.resolvePhone \tResolve a phone number to get user info, if their privacy settings allow it.", "name": "webitel.im.api.gateway.v1.Account" }, { "description": "ThreadManagement service provides access to group threads manipulating\nand read-only access for direct threads.", "name": "webitel.im.api.gateway.v1.ThreadManagement" }, { "description": "FacebookService defines RPC methods for managing Facebook Messenger gateways.", "name": "webitel.im.api.provider.v1.FacebookService" }, { "description": "GateService provides a unified interface for listing all registered messaging gateways.", "name": "webitel.im.api.provider.v1.GateService" }, { "description": "InstagramService defines RPC methods for managing Instagram Business Account gateways.", "name": "webitel.im.api.provider.v1.InstagramService" }, { "description": "ProviderMessageService delivers outbound messages to external chat partners.", "name": "webitel.im.api.provider.v1.ProviderMessageService" }, { "description": "MetaAppService manages Meta Developer Application configurations.", "name": "webitel.im.api.provider.v1.MetaAppService" }, { "description": "MetaOAuthService handles the OAuth flow with Facebook for Meta Applications.", "name": "webitel.im.api.provider.v1.MetaOAuthService" }, { "description": "WhatsAppService defines RPC methods for managing WhatsApp Business Account gateways.", "name": "webitel.im.api.provider.v1.WhatsAppService" }, { "description": "Applications (Admin) Service", "name": "webitel.im.service.admin.v1.Applications" }, { "description": "End-User Account Service", "name": "webitel.im.service.auth.v1.Account" }, { "name": "webitel.im.service.contact.v1.ContactSettings" }, { "name": "webitel.im.service.contact.v1.Contacts" }, { "name": "webitel.im.service.contact.v1.ContactPrivacy" }, { "name": "webitel.im.service.contact.v1.Vias" }, { "description": "/ FacebookService defines the RPC methods for managing Facebook Messenger gateways.", "name": "webitel.im.provider.v1.FacebookService" }, { "description": "GateService provides methods to list and manage all registered messaging gateways across different providers (Telegram, Facebook, etc.) within the current domain. It serves as a unified interface for gateway management, abstracting away provider-specific details.", "name": "webitel.im.provider.v1.GateService" }, { "description": "/ InstagramService defines the RPC methods for managing Instagram Business Account gateways.", "name": "webitel.im.provider.v1.InstagramService" }, { "description": "InboundMessageService handles incoming messages from external platforms.", "name": "webitel.im.provider.v1.ProviderMessageService" }, { "description": "/ MetaAppService defines the RPC methods for managing Meta Applications, which are used to integrate with Facebook's suite of messaging platforms (Messenger, Instagram, WhatsApp) through a unified interface. This service allows clients to create, retrieve, update, and delete Meta Application configurations, as well as handle OAuth flows for authentication and authorization with Facebook's APIs.", "name": "webitel.im.provider.v1.MetaAppService" }, { "description": "/ MetaOAuthService defines the RPC methods for handling the OAuth flow with Facebook for Meta Applications. This service provides endpoints to initiate the OAuth process by generating an authorization URL and to handle the callback from Facebook after the user authorizes the application, allowing the server to exchange the authorization code for access tokens and complete the integration setup.", "name": "webitel.im.provider.v1.MetaOAuthService" }, { "name": "im.service.provider.v1.TelegramBotService" }, { "description": "GateTemplateService manages per-gate overrides for system event messages.\nWhen a template is set for a (gate_id, event_type) pair it takes precedence\nover the built-in default text. Deleting a template reverts to the default.", "name": "webitel.im.provider.v1.GateTemplateService" }, { "description": "/ ViberService defines the RPC methods for managing Viber bot gateways.", "name": "webitel.im.provider.v1.ViberService" }, { "name": "webitel.im.provider.v1.WhatsAppService" }, { "description": "ThreadPermissionManagement service provides operations for managing thread permissions for thread members.", "name": "webitel.im.service.thread.v1.ThreadPermissionManagement" }, { "description": "The Message service entity provides methods for sending messages to a specified recipient [peer].", "name": "webitel.im.service.thread.v1.Message" }, { "description": "The MessageHistory service provides methods for working with messages history.", "name": "webitel.im.service.thread.v1.MessageHistory" }, { "description": "MessageStatus is an internal service-to-service API for reporting\nper-recipient message delivery confirmations. Called by im-delivery\n(stream ACKs, pushes) and im-providers (provider webhooks receipts).\n\nAll RPCs accept batches and are idempotent: status transitions are\nmonotonic (SENT -\u003e DELIVERED -\u003e READ; FAILED only from SENT, and may be\nsuperseded by a later DELIVERED), so duplicate and out-of-order receipts\nare safely ignored.", "name": "webitel.im.service.thread.v1.MessageStatus" }, { "description": "Thread service provides operations for managing\nand interacting with threads.", "name": "webitel.im.service.thread.v1.ThreadManagement" }, { "name": "Articles" }, { "name": "Attachments" }, { "name": "EmbeddingModels" }, { "name": "Retrieval" }, { "name": "Spaces" }, { "name": "Tags" }, { "name": "Versions" }, { "name": "ConfigService" }, { "name": "LoggerService" }, { "description": "PdfService provides methods to asynchronously generate, list,\nand manage PDF exports from different media sources.\n\n--- Screenrecording Exports ---", "name": "PdfService" }, { "name": "MeetingService" }, { "name": "ChatService" }, { "description": "**Messages** Service", "name": "Messages" }, { "name": "AgentChatService" }, { "name": "CasesChatCatalog" }, { "name": "ContactLinkingService" }, { "name": "ContactsChatCatalog" }, { "name": "Customer" }, { "name": "BackendProfileService" }, { "name": "CognitiveProfileService" }, { "name": "FileService" }, { "name": "FilePoliciesService" }, { "name": "FileTranscriptService" }, { "name": "ImportTemplateService" }, { "name": "MediaFileService" }, { "name": "Presence" }, { "name": "Customers" }, { "description": "Permissions service repository", "name": "Permissions" }, { "name": "Users" }, { "name": "Roles" }, { "name": "AC" }, { "name": "AccessStore" }, { "description": "OAuth 2.0 authorization service", "name": "OAuth2" }, { "description": "[A]uthorization service", "name": "SA" }, { "name": "Auth" }, { "name": "Devices" }, { "name": "CallManager" }, { "name": "CA" }, { "name": "Classes" }, { "description": "Contact comments service catalog.", "name": "Comments" }, { "description": "Labels service catalog.", "name": "Labels" }, { "description": "Contact email adresses service catalog.", "name": "Emails" }, { "name": "Upload" }, { "description": "Photos service catalog.", "name": "Photos" }, { "description": "Contact Emails service catalog.", "name": "Phones" }, { "description": "Contact Managers service catalog.", "name": "Managers" }, { "description": "Variables service catalog.", "name": "Variables" }, { "description": "Timezones service catalogs.", "name": "Timezones" }, { "description": "[I]nstant[M]essaging Clients service catalog.", "name": "IMClients" }, { "description": "Service for managing contact groups.", "name": "ContactGroups" }, { "description": "Contacts service catalog.", "name": "Contacts" }, { "description": "Service for managing conditions.", "name": "DynamicConditions" }, { "description": "Service for managing dynamic groups.", "name": "DynamicGroups" }, { "description": "Service for managing groups.", "name": "Groups" }, { "description": "Languages service catalog.", "name": "Languages" }, { "name": "Timeline" }, { "description": "Records service", "name": "Records" }, { "description": "Types service registry.", "name": "Types" }, { "description": "Dictionaries service.", "name": "Dictionaries" }, { "description": "Extensions service.", "name": "Extensions" }, { "name": "Domains" }, { "description": "Articles service catalogs.", "name": "KnowledgebaseSearch" }, { "description": "LDAP repository", "name": "LDAP" }, { "description": "OAuth 2.0 service federation", "name": "OAuth2Federation" }, { "name": "TwoFactorAuthentication" }, { "name": "UserAccessTokens" }, { "name": "UserSettings" }, { "name": "AgentAbsenceService" }, { "name": "AgentWorkingConditionsService" }, { "name": "AgentWorkingScheduleService" }, { "name": "ForecastCalculationService" }, { "name": "PauseTemplateService" }, { "name": "ShiftTemplateService" }, { "name": "WorkingConditionService" }, { "name": "WorkingScheduleService" } ] }