diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..611d00945 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,21 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.json] +indent_style = space +indent_size = 2 + +[*.mdx] +indent_style = space +indent_size = 2 +trim_trailing_whitespace = false + +[*.md] +trim_trailing_whitespace = false diff --git a/.mintlifyignore b/.mintlifyignore index 26f5c15f8..53af04087 100644 --- a/.mintlifyignore +++ b/.mintlifyignore @@ -1 +1,2 @@ -.github +.github/** +.claude/** diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 000000000..4d8e2f7b1 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,7 @@ +{ + "tabWidth": 2, + "useTabs": false, + "endOfLine": "lf", + "singleQuote": false, + "trailingComma": "none" +} diff --git a/Warning b/Warning new file mode 100644 index 000000000..e69de29bb diff --git a/ai-agent-service.json b/ai-agent-service.json index f7214bd83..a3f047bcf 100644 --- a/ai-agent-service.json +++ b/ai-agent-service.json @@ -114,12 +114,12 @@ "description": "Internal document ID" }, "createdAt": { - "type": "string", + "type": "integer", "format": "date-time", "description": "Creation timestamp" }, "updatedAt": { - "type": "string", + "type": "integer", "format": "date-time", "description": "Last update timestamp" } @@ -294,11 +294,11 @@ } }, "createdAt": { - "type": "string", + "type": "integer", "format": "date-time" }, "updatedAt": { - "type": "string", + "type": "integer", "format": "date-time" } } @@ -419,11 +419,11 @@ } }, "createdAt": { - "type": "string", + "type": "integer", "format": "date-time" }, "updatedAt": { - "type": "string", + "type": "integer", "format": "date-time" } } @@ -542,11 +542,11 @@ } }, "createdAt": { - "type": "string", + "type": "integer", "format": "date-time" }, "updatedAt": { - "type": "string", + "type": "integer", "format": "date-time" } } @@ -670,11 +670,11 @@ } }, "createdAt": { - "type": "string", + "type": "integer", "format": "date-time" }, "updatedAt": { - "type": "string", + "type": "integer", "format": "date-time" } } @@ -1416,7 +1416,7 @@ }, "constantValue": { "type": "string", - "example": "" + "example": "premium" }, "defaultValue": { "type": "string", @@ -1517,7 +1517,7 @@ }, "constantValue": { "type": "string", - "example": "" + "example": "premium" }, "defaultValue": { "type": "string", @@ -1629,7 +1629,7 @@ }, "constantValue": { "type": "string", - "example": "" + "example": "premium" }, "defaultValue": { "type": "string", @@ -4387,7 +4387,7 @@ "example": 1 }, "createdAt": { - "type": "string", + "type": "integer", "example": "2026-03-12T12:52:28.063000" } } @@ -7481,6 +7481,7 @@ } ], "summary": "Enable actions for a tool", + "description": "Adds actions to a specific tool attached to an agent.", "tags": [ "Agent Builder" ] @@ -7540,6 +7541,7 @@ } ], "summary": "Remove actions for a tool", + "description": "Removes actions from a specific tool attached to an agent.", "tags": [ "Agent Builder" ] @@ -7612,6 +7614,7 @@ } ], "summary": "Get actions available within a tool for agent", + "description": "Lists all actions available for a specific tool attached to an agent.", "tags": [ "Agent Builder Ready to Use Tools" ] @@ -8188,9 +8191,9 @@ ], "servers": [ { - "url": "https://{appid}.api-{region}.cometchat.io/v3", + "url": "https://{appId}.api-{region}.cometchat.io/v3", "variables": { - "appid": { + "appId": { "default": "appId", "description": "(Required) App ID" }, @@ -9190,12 +9193,12 @@ "description": "Internal document ID" }, "createdAt": { - "type": "string", + "type": "integer", "format": "date-time", "description": "Creation timestamp" }, "updatedAt": { - "type": "string", + "type": "integer", "format": "date-time", "description": "Last update timestamp" } diff --git a/ai-agents/ag2-knowledge-agent.mdx b/ai-agents/ag2-knowledge-agent.mdx index cf95e6c62..4d21d575c 100644 --- a/ai-agents/ag2-knowledge-agent.mdx +++ b/ai-agents/ag2-knowledge-agent.mdx @@ -212,7 +212,7 @@ curl -N -X POST http://localhost:8000/agent \ Save then confirm the toggle shows Enabled. -> For more on CometChat AI Agents, see: [Overview](/ai-agents/overview) · [Instructions](/ai-agents/instructions) · [Custom agents](/ai-agents/custom-agents) +> For more on CometChat AI Agents, see: [Overview](/ai-agents/agent-builder/overview) · [Instructions](/ai-agents/agent-builder/instructions) · [Custom agents](/ai-agents/agent-builder/tools/overview) *** diff --git a/ai-agents/agent-builder/guides/implementing-authorization.mdx b/ai-agents/agent-builder/guides/implementing-authorization.mdx index 2ee2220bd..283242830 100644 --- a/ai-agents/agent-builder/guides/implementing-authorization.mdx +++ b/ai-agents/agent-builder/guides/implementing-authorization.mdx @@ -215,7 +215,7 @@ Or if content should be redacted: ``` **Agent Instructions:** -``` +```python After retrieving information from the knowledge base, call validateKnowledgeResponse with the retrieved content. diff --git a/ai-agents/apis/add-api-tools-to-agent.mdx b/ai-agents/apis/add-api-tools-to-agent.mdx deleted file mode 100644 index ff80f873c..000000000 --- a/ai-agents/apis/add-api-tools-to-agent.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agent-builder/agents/{uid}/api-tools/add ---- diff --git a/ai-agents/apis/add-frontend-actions-to-agent.mdx b/ai-agents/apis/add-frontend-actions-to-agent.mdx deleted file mode 100644 index caff2e3e6..000000000 --- a/ai-agents/apis/add-frontend-actions-to-agent.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agent-builder/agents/{uid}/frontend-actions/add ---- diff --git a/ai-agents/apis/add-knowledge-base-files.mdx b/ai-agents/apis/add-knowledge-base-files.mdx deleted file mode 100644 index f88c31add..000000000 --- a/ai-agents/apis/add-knowledge-base-files.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agent-builder/agents/{uid}/knowledge-base/{sourceType}/add ---- diff --git a/ai-agents/apis/add-mcp-servers-to-agent.mdx b/ai-agents/apis/add-mcp-servers-to-agent.mdx deleted file mode 100644 index 670828d9c..000000000 --- a/ai-agents/apis/add-mcp-servers-to-agent.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agent-builder/agents/{uid}/mcp/add ---- diff --git a/ai-agents/apis/add-tools-to-agent.mdx b/ai-agents/apis/add-tools-to-agent.mdx deleted file mode 100644 index 1e32e69f5..000000000 --- a/ai-agents/apis/add-tools-to-agent.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agent-builder/agents/{uid}/tools/add ---- diff --git a/ai-agents/apis/authenticate-composio-tool.mdx b/ai-agents/apis/authenticate-composio-tool.mdx index f07764038..325dd2569 100644 --- a/ai-agents/apis/authenticate-composio-tool.mdx +++ b/ai-agents/apis/authenticate-composio-tool.mdx @@ -1,3 +1,4 @@ --- openapi: post /ai-agents/agent-builder/agents/{uid}/tools/{slug}/authenticate +description: "POST /ai-agents/agent-builder/agents/{uid}/tools/{slug}/authenticate — CometChat API endpoint." --- diff --git a/ai-agents/apis/create-agent.mdx b/ai-agents/apis/create-agent.mdx deleted file mode 100644 index ea136b527..000000000 --- a/ai-agents/apis/create-agent.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /ai-agents/agent-builder/agents ---- diff --git a/ai-agents/apis/create-api-tool.mdx b/ai-agents/apis/create-api-tool.mdx deleted file mode 100644 index 833a8214b..000000000 --- a/ai-agents/apis/create-api-tool.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /ai-agents/agent-builder/api-tools ---- diff --git a/ai-agents/apis/create-byo-agent.mdx b/ai-agents/apis/create-byo-agent.mdx deleted file mode 100644 index 15246a836..000000000 --- a/ai-agents/apis/create-byo-agent.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /ai-agents/agents ---- diff --git a/ai-agents/apis/create-custom-variable.mdx b/ai-agents/apis/create-custom-variable.mdx deleted file mode 100644 index dbe5b6e56..000000000 --- a/ai-agents/apis/create-custom-variable.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /ai-agents/agent-builder/agents/variables/custom ---- diff --git a/ai-agents/apis/create-frontend-action.mdx b/ai-agents/apis/create-frontend-action.mdx deleted file mode 100644 index 6ba5b596d..000000000 --- a/ai-agents/apis/create-frontend-action.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /ai-agents/agent-builder/frontend-actions ---- diff --git a/ai-agents/apis/create-mcp-server.mdx b/ai-agents/apis/create-mcp-server.mdx deleted file mode 100644 index 564affd3c..000000000 --- a/ai-agents/apis/create-mcp-server.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /ai-agents/agent-builder/mcp-servers ---- diff --git a/ai-agents/apis/create-tag.mdx b/ai-agents/apis/create-tag.mdx index eb1bd241f..b305d1f41 100644 --- a/ai-agents/apis/create-tag.mdx +++ b/ai-agents/apis/create-tag.mdx @@ -1,3 +1,4 @@ --- openapi: post /ai-agents/tags +description: "POST /ai-agents/tags — CometChat API endpoint." --- diff --git a/ai-agents/apis/create-text-detail.mdx b/ai-agents/apis/create-text-detail.mdx deleted file mode 100644 index c6fe50b21..000000000 --- a/ai-agents/apis/create-text-detail.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /ai-agents/agent-builder/knowledge-base/text ---- diff --git a/ai-agents/apis/create-tool.mdx b/ai-agents/apis/create-tool.mdx deleted file mode 100644 index 535d26a45..000000000 --- a/ai-agents/apis/create-tool.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /ai-agents/tools ---- diff --git a/ai-agents/apis/delete-agent.mdx b/ai-agents/apis/delete-agent.mdx deleted file mode 100644 index 1a496aa85..000000000 --- a/ai-agents/apis/delete-agent.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /ai-agents/agent-builder/agents/{uid} ---- diff --git a/ai-agents/apis/delete-api-tool.mdx b/ai-agents/apis/delete-api-tool.mdx deleted file mode 100644 index bf04a9cd8..000000000 --- a/ai-agents/apis/delete-api-tool.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /ai-agents/agent-builder/api-tools/{slug} ---- diff --git a/ai-agents/apis/delete-byo-agent.mdx b/ai-agents/apis/delete-byo-agent.mdx deleted file mode 100644 index a8a9ea563..000000000 --- a/ai-agents/apis/delete-byo-agent.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /ai-agents/agents/{uid} ---- diff --git a/ai-agents/apis/delete-custom-variable.mdx b/ai-agents/apis/delete-custom-variable.mdx deleted file mode 100644 index 7bec4b90e..000000000 --- a/ai-agents/apis/delete-custom-variable.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /ai-agents/agent-builder/agents/variables/custom/{variableId} ---- diff --git a/ai-agents/apis/delete-frontend-action.mdx b/ai-agents/apis/delete-frontend-action.mdx deleted file mode 100644 index 196fc06aa..000000000 --- a/ai-agents/apis/delete-frontend-action.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /ai-agents/agent-builder/frontend-actions/{id} ---- diff --git a/ai-agents/apis/delete-mcp-server.mdx b/ai-agents/apis/delete-mcp-server.mdx deleted file mode 100644 index 23745cf7c..000000000 --- a/ai-agents/apis/delete-mcp-server.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /ai-agents/agent-builder/mcp-servers/{slug} ---- diff --git a/ai-agents/apis/delete-text-detail.mdx b/ai-agents/apis/delete-text-detail.mdx deleted file mode 100644 index 7c6422e2b..000000000 --- a/ai-agents/apis/delete-text-detail.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /ai-agents/agent-builder/knowledge-base/text/{uniqueId} ---- diff --git a/ai-agents/apis/delete-tool.mdx b/ai-agents/apis/delete-tool.mdx deleted file mode 100644 index 424e4cb0e..000000000 --- a/ai-agents/apis/delete-tool.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /ai-agents/tools/{name} ---- diff --git a/ai-agents/apis/delete-uploaded-file.mdx b/ai-agents/apis/delete-uploaded-file.mdx deleted file mode 100644 index f53ec6901..000000000 --- a/ai-agents/apis/delete-uploaded-file.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /ai-agents/agent-builder/knowledge-base/uploads/{uniqueId} ---- diff --git a/ai-agents/apis/delete-website.mdx b/ai-agents/apis/delete-website.mdx deleted file mode 100644 index 9fff82254..000000000 --- a/ai-agents/apis/delete-website.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /ai-agents/agent-builder/knowledge-base/website/{uniqueId} ---- diff --git a/ai-agents/apis/enable-tool-actions.mdx b/ai-agents/apis/enable-tool-actions.mdx deleted file mode 100644 index 4783173e1..000000000 --- a/ai-agents/apis/enable-tool-actions.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agent-builder/agents/{uid}/tools/{slug}/actions/add ---- diff --git a/ai-agents/apis/get-action-edit-form.mdx b/ai-agents/apis/get-action-edit-form.mdx index e6b0efa43..71ad8529d 100644 --- a/ai-agents/apis/get-action-edit-form.mdx +++ b/ai-agents/apis/get-action-edit-form.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/forms/action-edit/{name} +description: "GET /ai-agents/forms/action-edit/{name} — CometChat API endpoint." --- diff --git a/ai-agents/apis/get-actions-creation-form.mdx b/ai-agents/apis/get-actions-creation-form.mdx index 067a15f78..d54a6996a 100644 --- a/ai-agents/apis/get-actions-creation-form.mdx +++ b/ai-agents/apis/get-actions-creation-form.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/forms/actions-creation +description: "GET /ai-agents/forms/actions-creation — CometChat API endpoint." --- diff --git a/ai-agents/apis/get-actions-form.mdx b/ai-agents/apis/get-actions-form.mdx index 4872f7750..cdf592bb4 100644 --- a/ai-agents/apis/get-actions-form.mdx +++ b/ai-agents/apis/get-actions-form.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/forms/actions +description: "GET /ai-agents/forms/actions — CometChat API endpoint." --- diff --git a/ai-agents/apis/get-agent-creation-form.mdx b/ai-agents/apis/get-agent-creation-form.mdx index a9008230f..848644eb1 100644 --- a/ai-agents/apis/get-agent-creation-form.mdx +++ b/ai-agents/apis/get-agent-creation-form.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/forms/agent-creation +description: "GET /ai-agents/forms/agent-creation — CometChat API endpoint." --- diff --git a/ai-agents/apis/get-agent-edit-form.mdx b/ai-agents/apis/get-agent-edit-form.mdx index 93766e4ed..172403b86 100644 --- a/ai-agents/apis/get-agent-edit-form.mdx +++ b/ai-agents/apis/get-agent-edit-form.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/forms/agent-edit/{id} +description: "GET /ai-agents/forms/agent-edit/{id} — CometChat API endpoint." --- diff --git a/ai-agents/apis/get-agent.mdx b/ai-agents/apis/get-agent.mdx deleted file mode 100644 index c78ad4837..000000000 --- a/ai-agents/apis/get-agent.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /ai-agents/agent-builder/agents/{uid} ---- diff --git a/ai-agents/apis/get-all-available-variables.mdx b/ai-agents/apis/get-all-available-variables.mdx deleted file mode 100644 index 30114fdd0..000000000 --- a/ai-agents/apis/get-all-available-variables.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /ai-agents/agent-builder/agents/variables/all ---- diff --git a/ai-agents/apis/get-all-tools-for-agent.mdx b/ai-agents/apis/get-all-tools-for-agent.mdx index 9bb4f9d78..ba89f481b 100644 --- a/ai-agents/apis/get-all-tools-for-agent.mdx +++ b/ai-agents/apis/get-all-tools-for-agent.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/agent-builder/agents/{uid}/all-tools +description: "GET /ai-agents/agent-builder/agents/{uid}/all-tools — CometChat API endpoint." --- diff --git a/ai-agents/apis/get-all-variables.mdx b/ai-agents/apis/get-all-variables.mdx index c2f3bb5c3..56592ce62 100644 --- a/ai-agents/apis/get-all-variables.mdx +++ b/ai-agents/apis/get-all-variables.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/agent-builder/agents/variables +description: "GET /ai-agents/agent-builder/agents/variables — CometChat API endpoint." --- diff --git a/ai-agents/apis/get-api-tool.mdx b/ai-agents/apis/get-api-tool.mdx index ee77362a3..f5c69aebb 100644 --- a/ai-agents/apis/get-api-tool.mdx +++ b/ai-agents/apis/get-api-tool.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/agent-builder/api-tools/{slug} +description: "Retrieves a specific API tool by its slug. Use this endpoint to inspect an API tool's configuration, parameters, and connected agents." --- diff --git a/ai-agents/apis/get-available-models.mdx b/ai-agents/apis/get-available-models.mdx index 4eca2cf69..2edf4ac85 100644 --- a/ai-agents/apis/get-available-models.mdx +++ b/ai-agents/apis/get-available-models.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/agent-builder/agents/available-models +description: "Retrieves the list of AI models available for agents. Use this endpoint to discover supported models before creating or updating an agent. **Model details:** Each model includes its provider, configu" --- diff --git a/ai-agents/apis/get-composio-tools.mdx b/ai-agents/apis/get-composio-tools.mdx index 540deedf6..0283205dd 100644 --- a/ai-agents/apis/get-composio-tools.mdx +++ b/ai-agents/apis/get-composio-tools.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/agent-builder/tools/agent/{uid} +description: "GET /ai-agents/agent-builder/tools/agent/{uid} — CometChat API endpoint." --- diff --git a/ai-agents/apis/get-custom-variables.mdx b/ai-agents/apis/get-custom-variables.mdx index 22d5de3d7..b6d5bd5a8 100644 --- a/ai-agents/apis/get-custom-variables.mdx +++ b/ai-agents/apis/get-custom-variables.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/agent-builder/agents/variables/custom +description: "Retrieves all custom variables defined for the application. Use this endpoint to view and manage dynamic variables used in agent instructions. **Variable types:** Custom variables can source values f" --- diff --git a/ai-agents/apis/get-discovered-urls.mdx b/ai-agents/apis/get-discovered-urls.mdx deleted file mode 100644 index 7070ced9c..000000000 --- a/ai-agents/apis/get-discovered-urls.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /ai-agents/agent-builder/knowledge-base/website/{parentUniqueId}/discovered-urls ---- diff --git a/ai-agents/apis/get-form-fields.mdx b/ai-agents/apis/get-form-fields.mdx index e29338e1b..6ad4b8978 100644 --- a/ai-agents/apis/get-form-fields.mdx +++ b/ai-agents/apis/get-form-fields.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/agents/form-fields +description: "GET /ai-agents/agents/form-fields — CometChat API endpoint." --- diff --git a/ai-agents/apis/get-frontend-action.mdx b/ai-agents/apis/get-frontend-action.mdx index 7063cb29e..d0b65088f 100644 --- a/ai-agents/apis/get-frontend-action.mdx +++ b/ai-agents/apis/get-frontend-action.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/agent-builder/frontend-actions/{id} +description: "Retrieves a specific frontend action by its unique ID. Use this endpoint to inspect a frontend action's configuration, parameters, and trigger function." --- diff --git a/ai-agents/apis/get-mcp-server.mdx b/ai-agents/apis/get-mcp-server.mdx index 2f8b40045..f9d8ece73 100644 --- a/ai-agents/apis/get-mcp-server.mdx +++ b/ai-agents/apis/get-mcp-server.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/agent-builder/mcp-servers/{slug} +description: "Retrieves a specific MCP server by its slug. Use this endpoint to inspect an MCP server's configuration and connected agents." --- diff --git a/ai-agents/apis/get-parent-urls.mdx b/ai-agents/apis/get-parent-urls.mdx index 9cb5ff7c5..33f146378 100644 --- a/ai-agents/apis/get-parent-urls.mdx +++ b/ai-agents/apis/get-parent-urls.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/agent-builder/knowledge-base/parent-urls +description: "GET /ai-agents/agent-builder/knowledge-base/parent-urls — CometChat API endpoint." --- diff --git a/ai-agents/apis/get-predefined-variables.mdx b/ai-agents/apis/get-predefined-variables.mdx index 7f3f00096..a0e2749c5 100644 --- a/ai-agents/apis/get-predefined-variables.mdx +++ b/ai-agents/apis/get-predefined-variables.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/agent-builder/agents/variables/predefined +description: "GET /ai-agents/agent-builder/agents/variables/predefined — CometChat API endpoint." --- diff --git a/ai-agents/apis/get-sitemap-discovered-urls.mdx b/ai-agents/apis/get-sitemap-discovered-urls.mdx index 5d4659edc..4ab7f6a67 100644 --- a/ai-agents/apis/get-sitemap-discovered-urls.mdx +++ b/ai-agents/apis/get-sitemap-discovered-urls.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/agent-builder/knowledge-base/website/site-map/{uniqueId}/discovered-urls +description: "GET /ai-agents/agent-builder/knowledge-base/website/site-map/{uniqueId}/discovered-urls — CometChat API endpoint." --- diff --git a/ai-agents/apis/get-source-pages.mdx b/ai-agents/apis/get-source-pages.mdx deleted file mode 100644 index 2a2888e5d..000000000 --- a/ai-agents/apis/get-source-pages.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /ai-agents/agent-builder/knowledge-base/{sourceType}/{uniqueId}/pages ---- diff --git a/ai-agents/apis/get-text-detail.mdx b/ai-agents/apis/get-text-detail.mdx index 2c3b702c0..f7029ebdd 100644 --- a/ai-agents/apis/get-text-detail.mdx +++ b/ai-agents/apis/get-text-detail.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/agent-builder/knowledge-base/text/{uniqueId} +description: "Retrieves a specific text-based knowledge base entry by its unique ID. Use this endpoint to inspect the content and status of a text entry." --- diff --git a/ai-agents/apis/get-tool-actions-for-agent.mdx b/ai-agents/apis/get-tool-actions-for-agent.mdx deleted file mode 100644 index 8f7d81638..000000000 --- a/ai-agents/apis/get-tool-actions-for-agent.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /ai-agents/agent-builder/agents/{uid}/tools/{slug}/actions ---- diff --git a/ai-agents/apis/get-tool-actions.mdx b/ai-agents/apis/get-tool-actions.mdx index 17063e41c..dc8e68ce9 100644 --- a/ai-agents/apis/get-tool-actions.mdx +++ b/ai-agents/apis/get-tool-actions.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/agent-builder/tools/{slug}/actions +description: "GET /ai-agents/agent-builder/tools/{slug}/actions — CometChat API endpoint." --- diff --git a/ai-agents/apis/get-tool-configurations.mdx b/ai-agents/apis/get-tool-configurations.mdx index 89761a006..b44ebdccb 100644 --- a/ai-agents/apis/get-tool-configurations.mdx +++ b/ai-agents/apis/get-tool-configurations.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/agent-builder/tools/{uid}/configurations +description: "GET /ai-agents/agent-builder/tools/{uid}/configurations — CometChat API endpoint." --- diff --git a/ai-agents/apis/get-tool-edit-form.mdx b/ai-agents/apis/get-tool-edit-form.mdx index c3c56a07a..b266579d0 100644 --- a/ai-agents/apis/get-tool-edit-form.mdx +++ b/ai-agents/apis/get-tool-edit-form.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/forms/tool-edit/{name} +description: "GET /ai-agents/forms/tool-edit/{name} — CometChat API endpoint." --- diff --git a/ai-agents/apis/get-tool.mdx b/ai-agents/apis/get-tool.mdx deleted file mode 100644 index 72baf1a9f..000000000 --- a/ai-agents/apis/get-tool.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /ai-agents/tools/{name} ---- diff --git a/ai-agents/apis/get-tools-creation-form.mdx b/ai-agents/apis/get-tools-creation-form.mdx index 249fff08e..8ea6352a1 100644 --- a/ai-agents/apis/get-tools-creation-form.mdx +++ b/ai-agents/apis/get-tools-creation-form.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/forms/tools-creation +description: "GET /ai-agents/forms/tools-creation — CometChat API endpoint." --- diff --git a/ai-agents/apis/get-tools-form.mdx b/ai-agents/apis/get-tools-form.mdx index 5bea618f5..c7ddfb3ba 100644 --- a/ai-agents/apis/get-tools-form.mdx +++ b/ai-agents/apis/get-tools-form.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/forms/tools +description: "GET /ai-agents/forms/tools — CometChat API endpoint." --- diff --git a/ai-agents/apis/get-upcoming-tools.mdx b/ai-agents/apis/get-upcoming-tools.mdx index a97b82ac8..7eb662935 100644 --- a/ai-agents/apis/get-upcoming-tools.mdx +++ b/ai-agents/apis/get-upcoming-tools.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/agent-builder/tools/upcoming-tools +description: "GET /ai-agents/agent-builder/tools/upcoming-tools — CometChat API endpoint." --- diff --git a/ai-agents/apis/initiate-file-uploads.mdx b/ai-agents/apis/initiate-file-uploads.mdx deleted file mode 100644 index 04acaf303..000000000 --- a/ai-agents/apis/initiate-file-uploads.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /ai-agents/agent-builder/knowledge-base/uploads/initiate ---- diff --git a/ai-agents/apis/kb-delete-integration.mdx b/ai-agents/apis/kb-delete-integration.mdx index 2fcfb4ba6..04b521a6a 100644 --- a/ai-agents/apis/kb-delete-integration.mdx +++ b/ai-agents/apis/kb-delete-integration.mdx @@ -1,3 +1,4 @@ --- openapi: delete /ai-agents/agent-builder/kb/integration/{integrationId}/{uniqueId} +description: "DELETE /ai-agents/agent-builder/kb/integration/{integrationId}/{uniqueId} — CometChat API endpoint." --- diff --git a/ai-agents/apis/kb-generate-auth-url.mdx b/ai-agents/apis/kb-generate-auth-url.mdx index 0f281a265..68a879ad8 100644 --- a/ai-agents/apis/kb-generate-auth-url.mdx +++ b/ai-agents/apis/kb-generate-auth-url.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/agent-builder/kb/integration/{integrationId}/auth-url +description: "GET /ai-agents/agent-builder/kb/integration/{integrationId}/auth-url — CometChat API endpoint." --- diff --git a/ai-agents/apis/kb-oauth-callback.mdx b/ai-agents/apis/kb-oauth-callback.mdx index ed4d944d3..f5fbf5e4d 100644 --- a/ai-agents/apis/kb-oauth-callback.mdx +++ b/ai-agents/apis/kb-oauth-callback.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/agent-builder/kb/integration/{integrationId}/oauth +description: "GET /ai-agents/agent-builder/kb/integration/{integrationId}/oauth — CometChat API endpoint." --- diff --git a/ai-agents/apis/kb-trigger-sync.mdx b/ai-agents/apis/kb-trigger-sync.mdx index ff05facb4..54b57bcab 100644 --- a/ai-agents/apis/kb-trigger-sync.mdx +++ b/ai-agents/apis/kb-trigger-sync.mdx @@ -1,3 +1,4 @@ --- openapi: post /ai-agents/agent-builder/kb/integration/{integrationId}/{uniqueId}/sync +description: "POST /ai-agents/agent-builder/kb/integration/{integrationId}/{uniqueId}/sync — CometChat API endpoint." --- diff --git a/ai-agents/apis/list-agent-tools-and-actions.mdx b/ai-agents/apis/list-agent-tools-and-actions.mdx deleted file mode 100644 index 97ad7ca63..000000000 --- a/ai-agents/apis/list-agent-tools-and-actions.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /ai-agents/agent-builder/agents/{uid}/enabled-items ---- diff --git a/ai-agents/apis/list-agents.mdx b/ai-agents/apis/list-agents.mdx deleted file mode 100644 index 83c5d0c0f..000000000 --- a/ai-agents/apis/list-agents.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /ai-agents/agent-builder/agents ---- diff --git a/ai-agents/apis/list-api-tools.mdx b/ai-agents/apis/list-api-tools.mdx deleted file mode 100644 index e9ea65da8..000000000 --- a/ai-agents/apis/list-api-tools.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /ai-agents/agent-builder/api-tools ---- diff --git a/ai-agents/apis/list-byo-agents.mdx b/ai-agents/apis/list-byo-agents.mdx deleted file mode 100644 index 471474bb6..000000000 --- a/ai-agents/apis/list-byo-agents.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /ai-agents/agents ---- diff --git a/ai-agents/apis/list-frontend-actions.mdx b/ai-agents/apis/list-frontend-actions.mdx deleted file mode 100644 index 4b4e15540..000000000 --- a/ai-agents/apis/list-frontend-actions.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /ai-agents/agent-builder/frontend-actions ---- diff --git a/ai-agents/apis/list-knowledge-base-records.mdx b/ai-agents/apis/list-knowledge-base-records.mdx deleted file mode 100644 index 5586a048a..000000000 --- a/ai-agents/apis/list-knowledge-base-records.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /ai-agents/agent-builder/knowledge-base ---- diff --git a/ai-agents/apis/list-mcp-servers.mdx b/ai-agents/apis/list-mcp-servers.mdx deleted file mode 100644 index 013fdd6d8..000000000 --- a/ai-agents/apis/list-mcp-servers.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /ai-agents/agent-builder/mcp-servers ---- diff --git a/ai-agents/apis/list-text-details.mdx b/ai-agents/apis/list-text-details.mdx index 3423ee219..5cd00ca86 100644 --- a/ai-agents/apis/list-text-details.mdx +++ b/ai-agents/apis/list-text-details.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/agent-builder/knowledge-base/text +description: "Retrieves all text-based knowledge base entries for the application. Use this endpoint to view and manage text content in the knowledge base." --- diff --git a/ai-agents/apis/list-tools.mdx b/ai-agents/apis/list-tools.mdx deleted file mode 100644 index e5c6b459a..000000000 --- a/ai-agents/apis/list-tools.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /ai-agents/tools ---- diff --git a/ai-agents/apis/oauth-redirect-composio.mdx b/ai-agents/apis/oauth-redirect-composio.mdx index 0c74f4bfc..05c8d0513 100644 --- a/ai-agents/apis/oauth-redirect-composio.mdx +++ b/ai-agents/apis/oauth-redirect-composio.mdx @@ -1,3 +1,4 @@ --- openapi: get /ai-agents/agent-builder/agents/tools/auth +description: "GET /ai-agents/agent-builder/agents/tools/auth — CometChat API endpoint." --- diff --git a/ai-agents/apis/poll-discovered-urls-status.mdx b/ai-agents/apis/poll-discovered-urls-status.mdx deleted file mode 100644 index b28e053de..000000000 --- a/ai-agents/apis/poll-discovered-urls-status.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /ai-agents/agent-builder/knowledge-base/website/{parentUniqueId}/discovered-urls/status/poll ---- diff --git a/ai-agents/apis/poll-knowledge-base-status.mdx b/ai-agents/apis/poll-knowledge-base-status.mdx deleted file mode 100644 index a8d419d0c..000000000 --- a/ai-agents/apis/poll-knowledge-base-status.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /ai-agents/agent-builder/knowledge-base/status/poll ---- diff --git a/ai-agents/apis/process-discovered-urls.mdx b/ai-agents/apis/process-discovered-urls.mdx deleted file mode 100644 index 9b561e5e6..000000000 --- a/ai-agents/apis/process-discovered-urls.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /ai-agents/agent-builder/knowledge-base/website/{parentUniqueId}/discovered-urls/process ---- diff --git a/ai-agents/apis/remove-api-tools-from-agent.mdx b/ai-agents/apis/remove-api-tools-from-agent.mdx deleted file mode 100644 index 23edeb189..000000000 --- a/ai-agents/apis/remove-api-tools-from-agent.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agent-builder/agents/{uid}/api-tools/remove ---- diff --git a/ai-agents/apis/remove-frontend-actions-from-agent.mdx b/ai-agents/apis/remove-frontend-actions-from-agent.mdx deleted file mode 100644 index 57d871fd7..000000000 --- a/ai-agents/apis/remove-frontend-actions-from-agent.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agent-builder/agents/{uid}/frontend-actions/remove ---- diff --git a/ai-agents/apis/remove-knowledge-base-files.mdx b/ai-agents/apis/remove-knowledge-base-files.mdx deleted file mode 100644 index e7126dc5f..000000000 --- a/ai-agents/apis/remove-knowledge-base-files.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agent-builder/agents/{uid}/knowledge-base/{sourceType}/remove ---- diff --git a/ai-agents/apis/remove-mcp-servers-from-agent.mdx b/ai-agents/apis/remove-mcp-servers-from-agent.mdx deleted file mode 100644 index e2620930a..000000000 --- a/ai-agents/apis/remove-mcp-servers-from-agent.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agent-builder/agents/{uid}/mcp/remove ---- diff --git a/ai-agents/apis/remove-tool-actions.mdx b/ai-agents/apis/remove-tool-actions.mdx deleted file mode 100644 index 2db9dd77c..000000000 --- a/ai-agents/apis/remove-tool-actions.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agent-builder/agents/{uid}/tools/{slug}/actions/remove ---- diff --git a/ai-agents/apis/remove-tools-from-agent.mdx b/ai-agents/apis/remove-tools-from-agent.mdx deleted file mode 100644 index 922cd940f..000000000 --- a/ai-agents/apis/remove-tools-from-agent.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agent-builder/agents/{uid}/tools/remove ---- diff --git a/ai-agents/apis/retry-indexing-for-website-pages.mdx b/ai-agents/apis/retry-indexing-for-website-pages.mdx deleted file mode 100644 index 91f50ab37..000000000 --- a/ai-agents/apis/retry-indexing-for-website-pages.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agent-builder/knowledge-base/website/{parentUniqueId}/discovered-urls/sync ---- diff --git a/ai-agents/apis/retry-knowledge-base-source-indexing.mdx b/ai-agents/apis/retry-knowledge-base-source-indexing.mdx deleted file mode 100644 index c1da30244..000000000 --- a/ai-agents/apis/retry-knowledge-base-source-indexing.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agent-builder/knowledge-base/{sourceType}/{uniqueId}/sync ---- diff --git a/ai-agents/apis/scrape-single-page.mdx b/ai-agents/apis/scrape-single-page.mdx deleted file mode 100644 index 12ac66e7b..000000000 --- a/ai-agents/apis/scrape-single-page.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /ai-agents/agent-builder/knowledge-base/website/individual-page ---- diff --git a/ai-agents/apis/scrape-website.mdx b/ai-agents/apis/scrape-website.mdx deleted file mode 100644 index 4e87ff062..000000000 --- a/ai-agents/apis/scrape-website.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /ai-agents/agent-builder/knowledge-base/website/scrape ---- diff --git a/ai-agents/apis/search-agent-tools.mdx b/ai-agents/apis/search-agent-tools.mdx deleted file mode 100644 index 521943845..000000000 --- a/ai-agents/apis/search-agent-tools.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /ai-agents/agent-builder/agents/{uid}/tools/search ---- diff --git a/ai-agents/apis/test-api-tool-variables.mdx b/ai-agents/apis/test-api-tool-variables.mdx index 70ac22c20..9995ec141 100644 --- a/ai-agents/apis/test-api-tool-variables.mdx +++ b/ai-agents/apis/test-api-tool-variables.mdx @@ -1,3 +1,4 @@ --- openapi: post /ai-agents/agent-builder/agents/{uid}/api-tools/{slug}/test-variables +description: "POST /ai-agents/agent-builder/agents/{uid}/api-tools/{slug}/test-variables — CometChat API endpoint." --- diff --git a/ai-agents/apis/test-byo-agent.mdx b/ai-agents/apis/test-byo-agent.mdx index dd2390d0d..dd78965c2 100644 --- a/ai-agents/apis/test-byo-agent.mdx +++ b/ai-agents/apis/test-byo-agent.mdx @@ -1,3 +1,4 @@ --- openapi: post /ai-agents/agents/test +description: "POST /ai-agents/agents/test — CometChat API endpoint." --- diff --git a/ai-agents/apis/test-variable-resolution.mdx b/ai-agents/apis/test-variable-resolution.mdx index a373f32bd..f60ebe858 100644 --- a/ai-agents/apis/test-variable-resolution.mdx +++ b/ai-agents/apis/test-variable-resolution.mdx @@ -1,3 +1,4 @@ --- openapi: post /ai-agents/agent-builder/agents/{uid}/variables/test +description: "POST /ai-agents/agent-builder/agents/{uid}/variables/test — CometChat API endpoint." --- diff --git a/ai-agents/apis/update-agent.mdx b/ai-agents/apis/update-agent.mdx deleted file mode 100644 index 4555de01a..000000000 --- a/ai-agents/apis/update-agent.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agent-builder/agents/{uid} ---- diff --git a/ai-agents/apis/update-api-tool.mdx b/ai-agents/apis/update-api-tool.mdx deleted file mode 100644 index 5ce342fff..000000000 --- a/ai-agents/apis/update-api-tool.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agent-builder/api-tools/{slug} ---- diff --git a/ai-agents/apis/update-byo-agent.mdx b/ai-agents/apis/update-byo-agent.mdx deleted file mode 100644 index de39efbd2..000000000 --- a/ai-agents/apis/update-byo-agent.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agents/{uid} ---- diff --git a/ai-agents/apis/update-custom-variable.mdx b/ai-agents/apis/update-custom-variable.mdx deleted file mode 100644 index 7a2c2b0ec..000000000 --- a/ai-agents/apis/update-custom-variable.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agent-builder/agents/variables/custom/{variableId} ---- diff --git a/ai-agents/apis/update-frontend-action.mdx b/ai-agents/apis/update-frontend-action.mdx deleted file mode 100644 index 2b97786bb..000000000 --- a/ai-agents/apis/update-frontend-action.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agent-builder/frontend-actions/{id} ---- diff --git a/ai-agents/apis/update-mcp-server.mdx b/ai-agents/apis/update-mcp-server.mdx deleted file mode 100644 index 425a8ca64..000000000 --- a/ai-agents/apis/update-mcp-server.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agent-builder/mcp-servers/{slug} ---- diff --git a/ai-agents/apis/update-tag.mdx b/ai-agents/apis/update-tag.mdx index 3424307ae..0b742080b 100644 --- a/ai-agents/apis/update-tag.mdx +++ b/ai-agents/apis/update-tag.mdx @@ -1,3 +1,4 @@ --- openapi: patch /ai-agents/tags/{id} +description: "PATCH /ai-agents/tags/{id} — CometChat API endpoint." --- diff --git a/ai-agents/apis/update-text-detail.mdx b/ai-agents/apis/update-text-detail.mdx deleted file mode 100644 index 28dfd41a3..000000000 --- a/ai-agents/apis/update-text-detail.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /ai-agents/agent-builder/knowledge-base/text/{uniqueId} ---- diff --git a/ai-agents/apis/update-tool.mdx b/ai-agents/apis/update-tool.mdx deleted file mode 100644 index 551844389..000000000 --- a/ai-agents/apis/update-tool.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: put /ai-agents/tools/{name} ---- diff --git a/ai-agents/langgraph.mdx b/ai-agents/langgraph.mdx index 71c41edb9..dd48f74e0 100644 --- a/ai-agents/langgraph.mdx +++ b/ai-agents/langgraph.mdx @@ -121,3 +121,16 @@ Choose how you’ll ship the experience (Widget or React UI Kit export). Export the variant as code if you need deeper theming or custom logic. Preview to confirm your LangGraph agent responds and streams correctly. + +## REST API Reference + +For programmatic agent management, see the [Agent Builder APIs](/rest-api/ai-agents-apis/overview) and [BYO Agent APIs](/rest-api/byo-ai-agents-apis/overview). + +## Troubleshooting + +| Issue | Solution | +| --- | --- | +| Agent not responding | Verify your LangGraph server is running and the endpoint URL is accessible from CometChat's servers. | +| Messages not appearing | Check that the `onBehalfOf` header is set correctly and the user exists in CometChat. | +| Tool calls failing | Ensure tools are properly registered in both LangGraph and CometChat. Check the agent logs for error details. | +| Webhook not triggering | Verify the webhook URL is publicly accessible and returns a 200 status code. | diff --git a/ai-agents/mastra-backend-tools-agent.mdx b/ai-agents/mastra-backend-tools-agent.mdx index 78bd40997..9e7431db5 100644 --- a/ai-agents/mastra-backend-tools-agent.mdx +++ b/ai-agents/mastra-backend-tools-agent.mdx @@ -125,7 +125,7 @@ Ensure your public route: **`/api/agents/deals/generate`** is reachable. Save and ensure the agent toggle shows Enabled. -> For more on CometChat AI Agents, see the docs: [Overview](/ai-agents/overview) · [Instructions](/ai-agents/instructions) · [Custom agents](/ai-agents/custom-agents) +> For more on CometChat AI Agents, see the docs: [Overview](/ai-agents/agent-builder/overview) · [Instructions](/ai-agents/agent-builder/instructions) · [Custom agents](/ai-agents/agent-builder/tools/overview) --- diff --git a/ai-agents/mastra-coordinator-agent.mdx b/ai-agents/mastra-coordinator-agent.mdx index d074471b8..8a29a2696 100644 --- a/ai-agents/mastra-coordinator-agent.mdx +++ b/ai-agents/mastra-coordinator-agent.mdx @@ -180,7 +180,7 @@ Ensure your public route: **`/api/agents/relay/generate`** is reachable. Save and ensure the agent toggle shows Enabled. -> For more on CometChat AI Agents, see the docs: [Overview](/ai-agents/overview) · [Instructions](/ai-agents/instructions) · [Custom agents](/ai-agents/custom-agents) +> For more on CometChat AI Agents, see the docs: [Overview](/ai-agents/agent-builder/overview) · [Instructions](/ai-agents/agent-builder/instructions) · [Custom agents](/ai-agents/agent-builder/tools/overview) --- diff --git a/ai-agents/mastra-frontend-actions-agent.mdx b/ai-agents/mastra-frontend-actions-agent.mdx index d34f297e9..f60384477 100644 --- a/ai-agents/mastra-frontend-actions-agent.mdx +++ b/ai-agents/mastra-frontend-actions-agent.mdx @@ -149,7 +149,7 @@ Ensure your public route: **`/api/agents/celebration/generate`** is reachable. Save and ensure the agent toggle shows Enabled. -> For more on CometChat AI Agents, see the docs: [Overview](/ai-agents/overview) · [Instructions](/ai-agents/instructions) · [Custom agents](/ai-agents/custom-agents) +> For more on CometChat AI Agents, see the docs: [Overview](/ai-agents/agent-builder/overview) · [Instructions](/ai-agents/agent-builder/instructions) · [Custom agents](/ai-agents/agent-builder/tools/overview) --- diff --git a/ai-agents/mastra-knowledge-agent.mdx b/ai-agents/mastra-knowledge-agent.mdx index 10f7d6fc5..5cfd0521d 100644 --- a/ai-agents/mastra-knowledge-agent.mdx +++ b/ai-agents/mastra-knowledge-agent.mdx @@ -182,7 +182,7 @@ Ensure the public route: **`/api/agents/knowledge/generate`** is reachable. Save and ensure the agent toggle shows Enabled. -> For more on CometChat AI Agents, see the docs: [Overview](/ai-agents/overview) · [Instructions](/ai-agents/instructions) · [Custom agents](/ai-agents/custom-agents) +> For more on CometChat AI Agents, see the docs: [Overview](/ai-agents/agent-builder/overview) · [Instructions](/ai-agents/agent-builder/instructions) · [Custom agents](/ai-agents/agent-builder/tools/overview) --- diff --git a/ai-agents/mastra-orchestrator-agent.mdx b/ai-agents/mastra-orchestrator-agent.mdx index f36f59d43..c4bd2e550 100644 --- a/ai-agents/mastra-orchestrator-agent.mdx +++ b/ai-agents/mastra-orchestrator-agent.mdx @@ -175,7 +175,7 @@ Ensure your public route: **`/api/agents/orchestratorAgent/generate`** is reacha Save and ensure the agent toggle shows Enabled. -> For more on CometChat AI Agents, see the docs: [Overview](/ai-agents/overview) · [Instructions](/ai-agents/instructions) · [Custom agents](/ai-agents/custom-agents) +> For more on CometChat AI Agents, see the docs: [Overview](/ai-agents/agent-builder/overview) · [Instructions](/ai-agents/agent-builder/instructions) · [Custom agents](/ai-agents/agent-builder/tools/overview) --- diff --git a/ai-agents/mastra.mdx b/ai-agents/mastra.mdx index e07c5f531..7f560c484 100644 --- a/ai-agents/mastra.mdx +++ b/ai-agents/mastra.mdx @@ -336,12 +336,6 @@ export default async function handler(req: VercelRequest, res: VercelResponse) { -{/* ## Next Steps +## REST API Reference - - - Define and handle custom frontend actions your AI agent can invoke. - - Create and manage tools your AI agent can use to enhance conversations. - - */} \ No newline at end of file +To manage agents, tools, knowledge bases, and MCP servers via API instead of the dashboard, see the [BYO Agent REST APIs](/rest-api/byo-ai-agents-apis/overview) for Mastra-based agents or the [Agent Builder REST APIs](/rest-api/ai-agents-apis/overview) for native agents. \ No newline at end of file diff --git a/ai-agents/vercel.mdx b/ai-agents/vercel.mdx index 1b0dc52e6..c3febabcc 100644 --- a/ai-agents/vercel.mdx +++ b/ai-agents/vercel.mdx @@ -427,4 +427,7 @@ The vercel-cometchat-adaptor library simplifies message and event t Create and manage tools your AI agent can use to enhance conversations. - */} \ No newline at end of file + */} +## REST API Reference + +For programmatic agent management, see the [Agent Builder APIs](/rest-api/ai-agents-apis/overview) and [BYO Agent APIs](/rest-api/byo-ai-agents-apis/overview). diff --git a/ai-chatbots/ai-bots/bots.mdx b/ai-chatbots/ai-bots/bots.mdx index b92344118..a85f389c2 100644 --- a/ai-chatbots/ai-bots/bots.mdx +++ b/ai-chatbots/ai-bots/bots.mdx @@ -1,8 +1,9 @@ --- title: "AI Bots" +description: "AI Bots — CometChat documentation." --- -AI Bots in CometChat are designed to facilitate conversations with users. Each AI Bot is associated with a specific [AI Instruction](/ai/instructions). +AI Bots in CometChat are designed to facilitate conversations with users. Each AI Bot is associated with a specific [AI Instruction](/ai-chatbots/ai-bots/instructions). ## Before you begin @@ -10,7 +11,7 @@ AI Bots in CometChat are designed to facilitate conversations with users. Each A -1. Configure the AI settings through the CometChat dashboard as detailed in the [Overview section](/ai-chatbots/overview). +1. Configure the AI settings through the CometChat dashboard as detailed in the [Overview section](/ai-chatbots/ai-bots/overview). 2. Navigate to AI Bots section and add a new bot by clicking on the **"+"** button. 3. Enter bot details like `UID`, `Avatar`, `Bot name` and assign a `Instruction` from the dropdown. Then "Enable" the bot. 4. These details can be edited by clicking on the three dots. Similarly, you can also delete a bot. diff --git a/ai-chatbots/ai-bots/instructions.mdx b/ai-chatbots/ai-bots/instructions.mdx index ef1148586..5311d6130 100644 --- a/ai-chatbots/ai-bots/instructions.mdx +++ b/ai-chatbots/ai-bots/instructions.mdx @@ -1,5 +1,6 @@ --- title: "AI Instructions" +description: "AI Instructions — CometChat documentation." --- CometChat AI Instructions can be linked to a bot to confer specific characteristics upon it. diff --git a/ai-chatbots/ai-bots/overview.mdx b/ai-chatbots/ai-bots/overview.mdx index 552654f59..6c7513b51 100644 --- a/ai-chatbots/ai-bots/overview.mdx +++ b/ai-chatbots/ai-bots/overview.mdx @@ -1,11 +1,16 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- ## AI-Enabled Messaging Experience For users seeking guidance or insights from automated assistants, the **AI Bots** and **Ask Bot** features are designed to maintain conversational momentum. + +**AI Bots vs AI Agents** — AI Bots are simple, OpenAI-powered chatbots configured directly from the CometChat dashboard with a model name, API key, and temperature setting. For more advanced capabilities — including multi-framework support (Mastra, Vercel AI SDK, LangGraph, CrewAI, and more), tool calling, knowledge bases, MCP servers, and RAG — see [AI Agents](/rest-api/ai-agents-apis/overview). + + ## Pre-requisite * Login to your [CometChat dashboard](https://app.cometchat.com/login) and choose your app. diff --git a/ai-chatbots/custom-agents.mdx b/ai-chatbots/custom-agents.mdx index 4b522d193..0f67328e2 100644 --- a/ai-chatbots/custom-agents.mdx +++ b/ai-chatbots/custom-agents.mdx @@ -1,5 +1,6 @@ --- title: "Custom Agents" +description: "Custom Agents — CometChat documentation." --- In CometChat, custom agents are unique users capable of autonomously sending and receiving messages. @@ -13,7 +14,7 @@ Users can interact with agents through private one-on-one conversations or withi 1. Your callback endpoint must be accessible over HTTPS. This is essential to ensure the security and integrity of data transmission. 2. This URL should be publicly accessible from the internet. 3. Ensure that your endpoint supports the HTTP POST method. Event payloads will be delivered via HTTP POST requests in JSON format. -4. Configure your endpoint to respond immediately to the CometChat server with a 200 OK response. (CHECK THIS). +4. Configure your endpoint to respond immediately to the CometChat server with a 200 OK response. ### Security @@ -29,7 +30,7 @@ Authorization: Basic CometChat requires each bot to be linked to a user account. This approach offers a significant benefit: It allows you to log in as the bot at any time and send personalized responses. -Therefore, before setting up a bot, you must first create a new user. You can create a user from CometChat dashboard or make use of CometChat's [Create user](https://api-explorer.cometchat.com/reference/creates-user) REST API to do so. +Therefore, before setting up a bot, you must first create a new user. You can create a user from CometChat dashboard or make use of CometChat's [Create user](/rest-api/users/create) REST API to do so. ### Create a bot @@ -56,4 +57,4 @@ The actual development and behavior of the agent are completely in your hands. A ### Responding as an agent -After your bot's callback endpoint has received and processed a message, and you're ready to send a response back, make use of CometChat's [Send Bot Message](https://api-explorer.cometchat.com/reference/sends-bot-message) REST API to do so. +After your bot's callback endpoint has received and processed a message, and you're ready to send a response back, make use of CometChat's [Send Bot Message](/rest-api/messages/send-bot-message) REST API to do so. diff --git a/ai-chatbots/custom-bots.mdx b/ai-chatbots/custom-bots.mdx index 6810c3ea8..0fa867f2c 100644 --- a/ai-chatbots/custom-bots.mdx +++ b/ai-chatbots/custom-bots.mdx @@ -1,5 +1,6 @@ --- title: "Custom Bots" +description: "Custom Bots — CometChat documentation." --- In CometChat, Custom bots are unique users capable of autonomously sending and receiving messages. @@ -13,7 +14,7 @@ Users can interact with bots through private one-on-one conversations or within 1. Your callback endpoint must be accessible over HTTPS. This is essential to ensure the security and integrity of data transmission. 2. This URL should be publicly accessible from the internet. 3. Ensure that your endpoint supports the HTTP POST method. Event payloads will be delivered via HTTP POST requests in JSON format. -4. Configure your endpoint to respond immediately to the CometChat server with a 200 OK response. (CHECK THIS). +4. Configure your endpoint to respond immediately to the CometChat server with a 200 OK response. ### Security @@ -29,7 +30,7 @@ Authorization: Basic CometChat requires each bot to be linked to a user account. This approach offers a significant benefit: It allows you to log in as the bot at any time and send personalized responses. -Therefore, before setting up a bot, you must first create a new user. You can create a user from CometChat dashboard or make use of CometChat's [Create user](https://api-explorer.cometchat.com/reference/creates-user) REST API to do so. +Therefore, before setting up a bot, you must first create a new user. You can create a user from CometChat dashboard or make use of CometChat's [Create user](/rest-api/users/create) REST API to do so. ### Create a bot @@ -56,4 +57,4 @@ The actual development and behavior of the bot are completely in your hands. All ### Responding as a bot -After your bot's callback endpoint has received and processed a message, and you're ready to send a response back, make use of CometChat's [Send Bot Message](https://api-explorer.cometchat.com/reference/sends-bot-message) REST API to do so. +After your bot's callback endpoint has received and processed a message, and you're ready to send a response back, make use of CometChat's [Send Bot Message](/rest-api/messages/send-bot-message) REST API to do so. diff --git a/articles/calendar-scheduling.mdx b/articles/calendar-scheduling.mdx index adf4f1930..74a6dc6af 100644 --- a/articles/calendar-scheduling.mdx +++ b/articles/calendar-scheduling.mdx @@ -1,5 +1,6 @@ --- title: "Calendar Scheduling" +description: "Calendar Scheduling — CometChat documentation." --- Enable users to book time on each other's calendars from CometChat. diff --git a/articles/docker.mdx b/articles/docker.mdx index 3f9e31a84..6d7a9717e 100644 --- a/articles/docker.mdx +++ b/articles/docker.mdx @@ -1,5 +1,6 @@ --- title: "Docker" +description: "Docker — CometChat documentation." --- It is suggested to be familiar with the various kinds of roles for the on-premise deployment. diff --git a/articles/error-guide.mdx b/articles/error-guide.mdx index 4a8c9742d..c34ac2647 100644 --- a/articles/error-guide.mdx +++ b/articles/error-guide.mdx @@ -1,6 +1,7 @@ --- title: "Error Guide" -sidebarTitle: "Help Center" +sidebarTitle: "Error Codes" +description: "Error Guide — CometChat integration guide." --- | Error Code | Error Description | @@ -11,6 +12,7 @@ sidebarTitle: "Help Center" | `AUTH_ERR_EMPTY_APIKEY` | Indicates empty API Key in the headers. | | `AUTH_ERR_APIKEY_NOT_FOUND` | Indicates incorrect API Key in the headers. | | `AUTH_ERR_NO_ACCESS` | Indicates API Key in the headers can not be used to perform the action. For example, the API key with authOnly scope cannot be used to create a user. | +| `AUTH_ERR_EMPTY_AUTH_HEADER` | Indicates the Basic Auth header is missing. Applies to Management APIs, which use HTTP Basic Auth instead of the `apikey` header. | | `AUTH_ERR_EMPTY_AUTH_TOKEN` | Indicates empty auth token in the headers. | | `AUTH_ERR_AUTH_TOKEN_NOT_FOUND` | Indicates incorrect auth token. | | **API Key Errors** | | @@ -31,7 +33,7 @@ sidebarTitle: "Help Center" | `ERR_ROLE_DELETE_FAILED` | Indicates that the API failed to delete the role. | | `ERR_ROLE_DELETE_DENIED` | Indicates that the API cannot delete the role as the default role can not be deleted. | | **User Errors** | | -| `ERR_UID_NOT_FOUND` | Indicates any one of the following: 1. UID does not exist. 2. User is soft deleted. | +| `ERR_UID_NOT_FOUND` | Indicates any one of the following: 1. UID does not exist. 2. User is deactivated. | | `ERR_UID_DELETE_FAILED` | Indicates that the API failed to delete the user. | | **Bots Errors** | | | `ERR_BOT_NOT_FOUND` | Indicates that a bot is not associated with the UID. | diff --git a/articles/limits.mdx b/articles/limits.mdx deleted file mode 100644 index 156ed8690..000000000 --- a/articles/limits.mdx +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: "Limits" ---- - -To ensure a reliable and seamless chat experience while minimizing downtime and errors, certain limits are in place. - - - -The limits may vary based on your subscription plan. If you have any questions, feel free to [contact us](https://www.cometchat.com/contact). - - - -### Groups - -1. Groups with all features enabled can support up to 300 members. -2. Groups without delivery/read receipts and typing indicators can support up to 100,000 members. - -### Users - -1. A single user can join a maximum of 2,000 groups. -2. A user can have up to 1,000 friends. -3. Presence subscriptions are capped at 1,000 concurrently online users. Once this threshold is exceeded, presence events (online/offline) will no longer be emitted. - -### Messages - -1. Each message, including metadata, must not exceed 65,536 characters (\~65KB). - -### Voice & Video Calling - -1. For the best experience, a maximum of 50 participants can join a single video call. - -### API - -1. REST API calls are rate-limited as follows: - - * **Standard operations**: 20,000 API calls per minute. - * **Core operations**: 10,000 API calls per minute (e.g., creating/deleting users, joining/leaving groups). All other operations fall under standard operations. diff --git a/articles/migration-guide.mdx b/articles/migration-guide.mdx index b195d998c..3f794af1a 100644 --- a/articles/migration-guide.mdx +++ b/articles/migration-guide.mdx @@ -1,5 +1,6 @@ --- title: "Migration Guide" +description: "Migration Guide — CometChat integration guide." --- This guide will help you upgrade your application(s) and platform(s) from CometChat v2 to v3. The upgrade process is simple, since there only a few code-level changes required. @@ -56,13 +57,13 @@ Android: [Upgrading from v3](/sdk/android/upgrading-from-v3-guide) React Native: [Upgrading from v2](/sdk/react-native/3.0/resources-upgrading-from-v2) -Ionic Cordova Capacitor: [Upgrading from v2](/sdk/ionic/3.0/resources-upgrading-from-v2) +Ionic Cordova Capacitor: [Upgrading from v2](/sdk/ionic-legacy/3.0/resources-upgrading-from-v2) *Note: if you mark your migration as complete without following the specified upgrade guide fully, your application may become stuck in a broken state, with out-of-sync SDK / API and application versions unable to communicate properly. If this happens, contact support.* ## Rest API Changes -This step is only applicable if you are using CometChat Rest APIs. Go to [Rest API documentation](https://api-explorer.cometchat.com/reference/create-apikey) Make sure you have selected V3. Select and update the API URLs applicable to your implementation. +This step is only applicable if you are using CometChat Rest APIs. Go to [Rest API documentation](/rest-api/chat-apis) Make sure you have selected V3. Select and update the API URLs applicable to your implementation. @@ -115,5 +116,5 @@ Once all the steps are done you'll be able to see that your app is migrated to v 1. Go to the dashboard and make a migration request for your application(s) 2. [Make any required platform-specific code changes](/articles/migration-guide#migrating-your-platform) - 3. [Make the API changes (Applicable if you are using CometChat Rest APIs)](https://api-explorer.cometchat.com/reference/create-apikey) + 3. [Make the API changes (Applicable if you are using CometChat Rest APIs)](/rest-api/chat-apis) 4. Mark the migration process as complete in the dashboard diff --git a/articles/properties-and-constraints.mdx b/articles/properties-and-constraints.mdx index 5cf74c756..326bc0e5e 100644 --- a/articles/properties-and-constraints.mdx +++ b/articles/properties-and-constraints.mdx @@ -1,99 +1,74 @@ --- -title: "Properties And Constraints" +title: "Properties and Constraints" +description: "Properties and Constraints — CometChat documentation." --- -This page lists the properties and limits which are applicable to various CometChat systems. - -## **Chat widgets:** **Properties and Constraints** - -| **Item** | **Property or Constraint** | **Notes** | -| ------------------------------------------------ | ------------------------------------------ | ----------------------------- | -| Number of Widgets that can be created for an app | Maximum 25 | | -| Widget name | UTF8mb4, 100 chars, No new line characters | | -| Widget version | v2 | Cannot be set programatically | -| Docked layout icon | Docked layout icon: PNG,JPG,GIF,SVG | | - -## **Webhooks: Properties** **and Constraints** - -| **Item** | **Property or Constraint** | **Notes** | -| ------------------------------------ | --------------------------------------------------------- | --------- | -| Maximum number of webhooks in an app | Maximum 25 | | -| Webhook URL | Valid URL, maximum 255 characters | | -| Webhook ID | 50 characters, UTF8mb4 set, alphanumeric (without spaces) | | -| Webhook authentication username | 50 characters, alphanumeric (without spaces) | | -| Webhook authentication password | 100 characters, alphanumeric (without spaces) | | - -## **Management APIs:** **Properties and Constraints** - -| Item | Property or Constraint | Notes | -| ------------------------------------------------------------- | --------------------------- | --------------------------------- | -| App length | 100 characters, UTF8mb4 set | | -| App version | v3 | This is the only option available | -| Number of Collaborators that can be created (team management) | Maximum 25 | | - -**REST APIs:** **Properties** **and Constraints** - -Also see REST API documentation for further information on properties and constraints for each endpoint. - -| **Item** | **Property or Constraint** | **Notes** | -| -------------------------------------------------- | ----------------------------------- | ------------------------------------------------------------------------------- | -| Number of Bot users that can be created | Maximum 25 | | -| API Keys | 100 characters (UTF8mb4 Characters) | This covers all the languages and even emojis. (One emoji uses two characters). | -| Number of APIs keys that can be created for an app | Maximum 25 | | - -## **Users and Groups:** **Properties and Constraints** - -| **Item** | **Property or Constraint** | **Notes** | -| ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | -| Character limits for UIDs and GUIDs | 100 characters | | -| Maximum users in a group (v3) | 100000 | | -| Maximum groups a user can be a part of | No limits | | -| Maximum number of friends for a user | No limits | | -| Maximum tokens for a user | No limits | | -| Maximum number of groups | No limits | | -| Maximum number of unread messages per user | No limits | | -| Maximum number of users that can be created for an app | No limits | | -| User and Group ID | 100 characters, alpha-dash (a-z, 0-9 with -and \_) without spaces . | CometChat forces the UID to all lowercase. | -| User and Group name | 100 characters, UTF8mb4 set | This covers all the languages and even emojis. | -| User and Group avatar | Must be a URL, limit of 3000 characters | CometChat doesn’t save the image on its servers.. There is no limit on the image resolution. It depends on the implementation. | -| User profile | Must be a URL, limit of 3000 characters | Same as above | -| User and Group metadata | The API limit for the POST request length is 10 KB. Hence, the user’s metadata information must fit in the same limit and must not exceed 1.6 KB. | | -| User and Group tag | A user can have up to 25 tags with 100 characters per tag. The tags can be in any language. The character set must be UTF8mb4 | | -| Group password | String up to 100 characters | | -| Group description | 255 characters, UTF8mb4 set | | -| Maximum active presence subscriptions | The presence subscription will be active until 1000 users are online for a single app. if more than 1000 users go online, the presence notification starting from the 1001st user will not be sent to other users. | Note, this is the higher limit applicable across subscription for friends, users with certain roles and all users | -| Typing indicators for groups | Typing indicator will be sent for a group of up to 1000 online users. | | -| Unread message counts for groups | For a group with more than 300 members, the conversations and unread message counts are not updated. | | -| Delivery and read receipts for groups | Delivery and read receipts will be sent for for a group of up to 300 online users. | | - -## **Roles: Properties and Constraints** - -| **Item** | **Property or Constraint** | **Notes** | -| ------------------------------------------- | ----------------------------------------------------------------- | ---------------------------------------------- | -| Maximum number of Roles that can be created | Maximum 25 | | -| Role UID | 100 characters, alpha-dash (a-z, 0-9 with -and \_) without spaces | CometChat forces the UID to lowercase. | -| Role name | 100 characters, UTF8mb4 | This covers all the languages and even emojis. | -| Role description | 255 characters, UTF8mb4 set, any language. | | -| Metadata | No limit | | - -## **Messages: Properties and Constraints** - -| **Item** | **Property or Constraint** | **Notes** | -| -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------- | -| Maximum file attachment size | 100 MB per message | (Includes not just the file size but entire POST body (including chat text and custom data) | -| Message data (Applicable for API calls) | Data is an arbitrary JSON structure. It accepts utf8mb4. It can have any user defined properties. but the below properties have meaning for CometChat: text, attachments, custome\_data, metadata. Note: The attachment size is separate. Here, the attachment is only the attachment properties (such as URL, size, etc.). The size must not exceed 10KB for the data object. | | -| Message tags | A message can have up to 25 tags with 100 characters per tag. The tags can be in any language. The character set must be UTF8mb4. | | -| User and Group conversation tags | A conversation can have up to 25 tags with 100 characters per tag. The tags can be in any language. The character set must be UTF8mb4. | | -| Does CometChat keep soft deleted messages in its database? | Yes | | -| Does CometChat keep permanently deleted messages (by API) in its database? | No | | - -## **Calling: Properties and Constraints** - -| **Item** | **Property or Constraint** | **Notes** | -| ---------------------------------- | ------------------------------ | --------------------------------------------------------------------------------- | -| Maximum users in a call | 50 | | -| Default frame rate for video calls | 30 FPS | | -| Resolution for video calls | Maximum - 720p, Minimum - 180p | This depends on the layout selected and the bandwidth available at the user’s end | -| Media encryption used | SRTP | | -| Audio codec used | OPUS | | -| Video codec used | H.264 | | +This page lists the properties and constraints applicable to various CometChat systems. + +## API Keys + +| **Property** | **Constraints** | +| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| API key value | System-generated, 40-character hexadecimal string | +| API key name | Max 100 characters, UTF8mb4 (supports all languages and emojis; one emoji = 2 characters) | +| API key scope | `authOnly` — can only create auth tokens for users. Referred to as "Auth Key" in the dashboard and docs. `fullAccess` — can perform all REST API operations (create/update/delete users, groups, messages, etc.). Referred to as "REST API Key" in the dashboard and docs. | +| Maximum API keys per app | 25 | + +## Users and Groups + +| **Property** | **Constraints** | +| ------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Maximum members per group (all features enabled) | 300 (with delivery/read receipts and typing indicators) | +| Maximum members per group (without receipts and typing indicators) | 100,000 | +| Maximum groups per user | 2,000 | +| Maximum friends per user | 1,000 | +| Maximum auth tokens per user | 100 active (rolling retention — oldest tokens archived when limit exceeded) | +| Maximum groups per app | No limit | +| Maximum unread messages per user | No limit | +| Maximum users per app | No limit | +| Maximum bot users per app | 25 | +| User/Group ID (`uid`, `guid`) | Max 100 characters, alpha-dash (`a-z`, `0-9`, `-`, `_`), no spaces. Automatically lowercased. | +| User/Group name | Max 100 characters, UTF8mb4 (supports all languages and emojis) | +| User/Group avatar | Must be a valid URL, max 3,000 characters. Image is not stored by CometChat — URL must remain accessible. | +| User profile link | Must be a valid URL, max 3,000 characters | +| User/Group metadata | Max 5 KB (within the 10 KB POST request body limit) | +| User/Group tags | Max 25 tags, each up to 100 characters, UTF8mb4 | +| Group password | Max 100 characters | +| Group description | Max 255 characters, UTF8mb4 | +| Presence subscriptions | Active for up to 1,000 concurrent online users per app. Beyond 1,000, presence notifications are not sent. Applies across friends, role-based, and all-user subscriptions. | +| Typing indicators (groups) | Sent for groups with up to 1,000 online members | +| Unread message counts (groups) | Not updated for groups with more than 300 members | +| Delivery/read receipts (groups) | Sent for groups with up to 300 online members | + +## Roles + +| **Property** | **Constraints** | +| --------------------- | --------------------------------------------------------------------------------------------- | +| Maximum roles per app | 25 | +| Role ID | Max 100 characters, alpha-dash (`a-z`, `0-9`, `-`, `_`), no spaces. Automatically lowercased. | +| Role name | Max 100 characters, UTF8mb4 (supports all languages and emojis) | +| Role description | Max 255 characters, UTF8mb4 | +| Role metadata | No limit | + +## Messages + +| **Property** | **Constraints** | +| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Maximum file upload size | 100 MB per message (includes file + entire POST body) | +| Maximum message size (including metadata) | 65,536 characters (~65 KB). Applies to the message JSON payload, not file uploads. | +| Message `data` object | Arbitrary JSON, UTF8mb4. Reserved keys: `text`, `attachments`, `custom_data`, `metadata`. Max 10 KB for the `data` object. Attachment file size is counted separately. | +| Message tags | Max 25 tags, each up to 100 characters, UTF8mb4 | +| Conversation tags | Max 25 tags, each up to 100 characters, UTF8mb4 | +| Soft-deleted messages retained | Yes | +| Permanently deleted messages (via API) retained | No | + +## Calling + +| **Property** | **Constraints** | +| ------------------------ | -------------------------------------------------------- | +| Maximum users per call | 50 | +| Default video frame rate | 30 FPS | +| Video resolution | Min 180p, max 720p (varies by layout and user bandwidth) | +| Media encryption | SRTP | +| Audio codec | OPUS | +| Video codec | H.264 | diff --git a/articles/rate-limits.mdx b/articles/rate-limits.mdx index bb48f297f..1db40e2b1 100644 --- a/articles/rate-limits.mdx +++ b/articles/rate-limits.mdx @@ -1,5 +1,6 @@ --- title: "Rate Limits" +description: "Rate Limits — CometChat documentation." --- ### CometChat REST API Rate Limits diff --git a/assets/version-aligner.css b/assets/version-aligner.css index 6b65525cb..5e4b62e05 100644 --- a/assets/version-aligner.css +++ b/assets/version-aligner.css @@ -108,4 +108,18 @@ html.cc-version-aligned #sidebar-content [data-version-aligner-button] { :not(pre)>code { padding: .125rem 0rem; -} \ No newline at end of file +} + +/* Fix font size inconsistency in API endpoint descriptions */ +/* Only applies to API reference pages */ +#content-area #header .mt-2.text-lg p { + font-size: 0.875rem !important; + line-height: 1.375rem !important; +} + +/* Fix deprecated badge wrapping in sidebar */ +#sidebar-content div.w-\[78px\].h-\[21px\] { + width: auto !important; + white-space: nowrap !important; + padding: 2px 6px !important; +} diff --git a/calls.json b/calls.json index 1429664ef..aae3b52f7 100644 --- a/calls.json +++ b/calls.json @@ -1,675 +1,588 @@ { - "openapi": "3.0.0", - "info": { - "title": "Calls APIs", - "description": "Manage calls using our API.", - "version": "3.0" - }, - "servers": [ - { - "url": "https://{appid}.call-{region}.cometchat.io/v3", - "variables": { - "appid": { - "default": "appId", - "description": "(Required) App ID" - }, - "region": { - "enum": [ - "us", - "eu", - "in" - ], - "default": "us", - "description": "Select Region" - } - } + "openapi": "3.1.0", + "info": { + "title": "calls-api", + "version": "3" + }, + "servers": [ + { + "url": "https://{appId}.call-{region}.cometchat.io/v3.0", + "variables": { + "appId": { + "default": "appId" + }, + "region": { + "default": "region" } - ], - "paths": { - "/calls": { - "get": { - "tags": [ - "Calls" - ], - "summary": "List Calls", - "description": "Retrieves all call logs for an app. The response may include participants and recordings details when available.", - "operationId": "list-calls", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - }, - { - "name": "type", - "in": "query", - "description": "Filter by call type. Values: voice, video.", - "schema": { + } + } + ], + "components": { + "securitySchemes": { + "sec0": { + "type": "apiKey", + "in": "header", + "name": "apikey" + } + } + }, + "security": [ + { + "sec0": [] + } + ], + "paths": { + "/calls": { + "get": { + "summary": "List Calls", + "description": "lists all the calls that are available in the app. It can include participants, and recordings property in the response (if present).", + "operationId": "list-calls", + "parameters": [ + { + "name": "type", + "in": "query", + "description": "It includes the type of the call, possible values: audio & video", + "schema": { + "type": "string", + "enum": [ + "audio", + "video" + ], + "description": "Allowed values: audio, video" + } + }, + { + "name": "mode", + "in": "query", + "description": "It represents the mode of call, possible values: call, meet & presenter.", + "schema": { + "type": "string", + "enum": [ + "call", + "meet", + "presenter" + ], + "description": "Allowed values: call, meet, presenter" + } + }, + { + "name": "participantsCount", + "in": "query", + "description": "This query parameter allows you to filter the list of calls based on the number of participants involved in each call. For example, participantsCount=5 will return calls that had exactly 5 participants.", + "schema": { + "type": "string" + } + }, + { + "name": "startedAt", + "in": "query", + "description": "It represents when the call was started. It's 10 digit unix timestamp.", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "status", + "in": "query", + "description": "It indicates the status of the call. Possible values are initiated, ongoing, ended, unanswered, rejected, canceled.", + "schema": { + "type": "string", + "enum": [ + "initiated", + "ongoing", + "ended", + "unanswered", + "rejected", + "canceled" + ], + "description": "Allowed values: initiated, ongoing, ended, unanswered, rejected, canceled" + } + }, + { + "name": "receiverType", + "in": "query", + "description": "It indicates if it was 1-1 call of group call. Possible values: user & group.", + "schema": { + "type": "string", + "enum": [ + "user", + "group" + ], + "description": "Allowed values: user, group" + } + }, + { + "name": "endedAt", + "in": "query", + "description": "It represents when the call was ended.", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "hasRecording", + "in": "query", + "description": "It's a boolean field indicating if the call has recording present or not.", + "schema": { + "type": "boolean" + } + }, + { + "name": "uid", + "in": "query", + "description": "It fetches only those calls in which the passed uid is a part of.", + "schema": { + "type": "string" + } + }, + { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the user on whose behalf the action is performed.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "200", + "content": { + "application/json": { + "examples": { + "Result": { + "value": "{\n \"data\": [\n {\n \"sessionId\": \"v1.us.31780434a95d45.1692368168aefba73a1e5938ad7a02f8e61ea1c9a287a08aeb\",\n \"totalAudioMinutes\": 0.31666666666666665,\n \"totalVideoMinutes\": 0,\n \"totalDuration\": \"00:00:19\",\n \"hasRecording\": false,\n \"initiatedAt\": 1692368168,\n \"initiator\": \"cometchat-uid-8\",\n \"mode\": \"call\",\n \"receiver\": \"sivamathewstestgroup\",\n \"receiverType\": \"group\",\n \"status\": \"ended\",\n \"totalDurationInMinutes\": 0.31666666666666665,\n \"totalParticipants\": 2,\n \"type\": \"audio\",\n \"mid\": \"3f7596ac-854b-484d-b36c-d623e193bd81\",\n \"startedAt\": 1692368180,\n \"endedAt\": 1692368199,\n \"participants\": [\n {\n \"uid\": \"cometchat-uid-2\",\n \"totalAudioMinutes\": 0.31666666666666665,\n \"totalVideoMinutes\": 0,\n \"isJoined\": true,\n \"state\": \"ended\",\n \"totalDuration\": 0.31666666666666665,\n \"deviceId\": \"b7683aaf-090a-4204-8f84-7ddd652923aa@rtc.cometchat.com/ucTKf4eq\",\n \"joinedAt\": 1692368180,\n \"mid\": \"3f7596ac-854b-484d-b36c-d623e193bd81\",\n \"leftAt\": 1692368199\n },\n {\n \"uid\": \"cometchat-uid-8\",\n \"totalAudioMinutes\": 0.2833333333333333,\n \"totalVideoMinutes\": 0,\n \"isJoined\": true,\n \"state\": \"ended\",\n \"totalDuration\": 0.2833333333333333,\n \"deviceId\": \"f55d46e5-2b1c-4b02-9072-382209a8753f@rtc.cometchat.com/K-s6dB3N\",\n \"joinedAt\": 1692368180,\n \"mid\": \"3f7596ac-854b-484d-b36c-d623e193bd81\",\n \"leftAt\": 1692368197\n },\n {\n \"uid\": \"cometchat-uid-4\",\n \"totalAudioMinutes\": 0,\n \"totalVideoMinutes\": 0,\n \"isJoined\": false,\n \"state\": \"unanswered\",\n \"totalDuration\": 0\n },\n {\n \"uid\": \"cometchat-uid-7\",\n \"totalAudioMinutes\": 0,\n \"totalVideoMinutes\": 0,\n \"isJoined\": false,\n \"state\": \"unanswered\",\n \"totalDuration\": 0\n },\n {\n \"uid\": \"cometchat-uid-6\",\n \"totalAudioMinutes\": 0,\n \"totalVideoMinutes\": 0,\n \"isJoined\": false,\n \"state\": \"unanswered\",\n \"totalDuration\": 0\n }\n ]\n },\n {\n \"sessionId\": \"v1.us.31780434a95d45.16923681138d75114d60d1345a22e4cc612263fb26c0b5cf92\",\n \"totalAudioMinutes\": 0.31666666666666665,\n \"totalVideoMinutes\": 0,\n \"totalDuration\": \"00:00:19\",\n \"hasRecording\": false,\n \"initiatedAt\": 1692368113,\n \"initiator\": \"cometchat-uid-8\",\n \"mode\": \"call\",\n \"receiver\": \"cometchat-uid-2\",\n \"receiverType\": \"user\",\n \"status\": \"ended\",\n \"totalDurationInMinutes\": 0.31666666666666665,\n \"totalParticipants\": 2,\n \"type\": \"audio\",\n \"mid\": \"855e1519-1244-4213-8e40-53044c1e9e43\",\n \"startedAt\": 1692368127,\n \"endedAt\": 1692368146,\n \"participants\": [\n {\n \"uid\": \"cometchat-uid-8\",\n \"totalAudioMinutes\": 0.26666666666666666,\n \"totalVideoMinutes\": 0,\n \"totalDuration\": 0.26666666666666666,\n \"deviceId\": \"70ecae89-b71c-4bb3-8220-b7c99ec1658f@rtc.cometchat.com/hsYWb5ul\",\n \"isJoined\": true,\n \"joinedAt\": 1692368128,\n \"mid\": \"855e1519-1244-4213-8e40-53044c1e9e43\",\n \"state\": \"ended\",\n \"leftAt\": 1692368144\n },\n {\n \"uid\": \"cometchat-uid-2\",\n \"totalAudioMinutes\": 0.23333333333333334,\n \"totalVideoMinutes\": 0,\n \"totalDuration\": 0.23333333333333334,\n \"deviceId\": \"c9ed493e-8495-428d-b6ee-b32019cc57ce@rtc.cometchat.com/CKT3xgR4\",\n \"isJoined\": true,\n \"joinedAt\": 1692368132,\n \"mid\": \"855e1519-1244-4213-8e40-53044c1e9e43\",\n \"state\": \"ended\",\n \"leftAt\": 1692368146\n }\n ]\n }\n ],\n \"meta\": {\n \"pagination\": {\n \"total\": 2,\n \"count\": 2,\n \"total_pages\": 1,\n \"current_page\": 1\n }\n }\n}" + } + }, + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "sessionId": { "type": "string", - "enum": [ - "voice", - "video" - ] - } - }, - { - "name": "types", - "in": "query", - "description": "Filter calls by multiple types. Accepts comma-separated values or array notation. Values: voice, video.", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "mode", - "in": "query", - "description": "It represents the mode of call, possible values: call, meet & presenter.", - "schema": { + "example": "v1.us.31780434a95d45.1692368168aefba73a1e5938ad7a02f8e61ea1c9a287a08aeb" + }, + "totalAudioMinutes": { + "type": "number", + "example": 0.31666666666666665, + "default": 0 + }, + "totalVideoMinutes": { + "type": "integer", + "example": 0, + "default": 0 + }, + "totalDuration": { "type": "string", - "enum": [ - "call", - "meet", - "presenter" - ] - } - }, - { - "name": "participantsCount", - "in": "query", - "description": "This query parameter allows you to filter the list of calls based on the number of participants involved in each call. For example, participantsCount=5 will return calls that had exactly 5 participants.", - "schema": { - "type": "integer" - } - }, - { - "name": "initiatedAt", - "in": "query", - "description": "Filter by call initiation time. Value is a 10-digit unix timestamp. Supports bracket notation operators: eq, gt, gte, lt, lte.\nFormat: initiatedAt[operator]=value.\nExample: initiatedAt[gte]=1692368168", - "schema": { - "type": "integer" - } - }, - { - "name": "startedAt", - "in": "query", - "description": "Filter by call start time. Value is a 10-digit unix timestamp. Supports bracket notation operators: eq, gt, gte, lt, lte.\nFormat: startedAt[operator]=value.\nExample: startedAt[gte]=1692368180", - "schema": { - "type": "integer" - } - }, - { - "name": "status", - "in": "query", - "description": "Filter by call status. Values: initiated, cancelled, unanswered, rejected, busy, ongoing, ended.", - "schema": { + "example": "00:00:19" + }, + "hasRecording": { + "type": "boolean", + "example": false, + "default": true + }, + "initiatedAt": { + "type": "integer", + "example": 1692368168, + "default": 0 + }, + "initiator": { "type": "string", - "enum": [ - "initiated", - "cancelled", - "unanswered", - "rejected", - "busy", - "ongoing", - "ended" - ] - } - }, - { - "name": "statuses", - "in": "query", - "description": "Filter calls by multiple statuses. Accepts comma-separated values or array notation. Values: initiated, cancelled, unanswered, rejected, busy, ongoing, ended.", - "style": "form", - "explode": false, - "schema": { + "example": "cometchat-uid-8" + }, + "mode": { + "type": "string", + "example": "call" + }, + "receiver": { + "type": "string", + "example": "sivamathewstestgroup" + }, + "receiverType": { + "type": "string", + "example": "group" + }, + "status": { + "type": "string", + "example": "ended" + }, + "totalDurationInMinutes": { + "type": "number", + "example": 0.31666666666666665, + "default": 0 + }, + "totalParticipants": { + "type": "integer", + "example": 2, + "default": 0 + }, + "type": { + "type": "string", + "example": "audio" + }, + "mid": { + "type": "string", + "example": "3f7596ac-854b-484d-b36c-d623e193bd81" + }, + "startedAt": { + "type": "integer", + "example": 1692368180, + "default": 0 + }, + "endedAt": { + "type": "integer", + "example": 1692368199, + "default": 0 + }, + "participants": { "type": "array", "items": { - "type": "string" - } - } - }, - { - "name": "receiverType", - "in": "query", - "description": "It indicates if it was 1-1 call of group call. Possible values: user & group.", - "schema": { - "type": "string", - "enum": [ - "user", - "group" - ] - } - }, - { - "name": "endedAt", - "in": "query", - "description": "Filter by call end time. Value is a 10-digit unix timestamp. Supports bracket notation operators: eq, gt, gte, lt, lte.\nFormat: endedAt[operator]=value.\nExample: endedAt[lte]=1692368199", - "schema": { - "type": "integer" - } - }, - { - "name": "duration", - "in": "query", - "description": "Filter by total call duration in minutes (decimal). Supports bracket notation operators: eq, gt, gte, lt, lte.\nFormat: duration[operator]=value.\nExample: duration[gte]=1.5", - "schema": { - "type": "number" - } - }, - { - "name": "totalParticipants", - "in": "query", - "description": "Filter by the number of participants in the call (integer). Supports bracket notation operators: eq, gt, gte, lt, lte.\nFormat: totalParticipants[operator]=value.\nExample: totalParticipants[gt]=2", - "schema": { - "type": "integer" - } - }, - { - "name": "voiceMinutes", - "in": "query", - "description": "Filter by total audio minutes consumed in the call (decimal). Supports bracket notation operators: eq, gt, gte, lt, lte.\nFormat: voiceMinutes[operator]=value.\nExample: voiceMinutes[eq]=0.75", - "schema": { - "type": "number" - } - }, - { - "name": "videoMinutes", - "in": "query", - "description": "Filter by total video minutes consumed in the call (decimal). Supports bracket notation operators: eq, gt, gte, lt, lte.\nFormat: videoMinutes[operator]=value.\nExample: videoMinutes[lte]=5", - "schema": { - "type": "number" - } - }, - { - "name": "hasRecording", - "in": "query", - "description": "It's a boolean field indicating if the call has recording present or not.", - "schema": { - "type": "boolean" - } - }, - { - "name": "uid", - "in": "query", - "description": "It fetches only those calls in which the passed uid is a part of.", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Lists Calls", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "properties": { - "": { - "$ref": "#/components/schemas/callSchema" - } - }, - "type": "object" - } - }, - "meta": { - "properties": { - "": { - "$ref": "#/components/schemas/metaSchema" - } - }, - "type": "object" - } - }, - "type": "object" + "type": "object", + "properties": { + "uid": { + "type": "string", + "example": "cometchat-uid-2" }, - "example": { - "data": [ - { - "sessionId": "v1.us.31780434a95d45.1692368168aefba73a1e5938ad7a02f8e61ea1c9a287a08aeb", - "totalAudioMinutes": 0.31666666666666665, - "totalVideoMinutes": 0, - "totalDuration": "00:00:19", - "hasRecording": false, - "initiatedAt": 1692368168, - "initiator": "superhero8", - "mode": "call", - "receiver": "sivamathewstestgroup", - "receiverType": "group", - "status": "ended", - "totalDurationInMinutes": 0.31666666666666665, - "totalParticipants": 2, - "type": "audio", - "mid": "3f7596ac-854b-484d-b36c-d623e193bd81", - "startedAt": 1692368180, - "endedAt": 1692368199, - "participants": [ - { - "uid": "superhero2", - "totalAudioMinutes": 0.31666666666666665, - "totalVideoMinutes": 0, - "isJoined": true, - "state": "ended", - "totalDuration": 0.31666666666666665, - "deviceId": "b7683aaf-090a-4204-8f84-7ddd652923aa@rtc.cometchat-staging.com/ucTKf4eq", - "joinedAt": 1692368180, - "mid": "3f7596ac-854b-484d-b36c-d623e193bd81", - "leftAt": 1692368199 - }, - { - "uid": "superhero8", - "totalAudioMinutes": 0.2833333333333333, - "totalVideoMinutes": 0, - "isJoined": true, - "state": "ended", - "totalDuration": 0.2833333333333333, - "deviceId": "f55d46e5-2b1c-4b02-9072-382209a8753f@rtc.cometchat-staging.com/K-s6dB3N", - "joinedAt": 1692368180, - "mid": "3f7596ac-854b-484d-b36c-d623e193bd81", - "leftAt": 1692368197 - }, - { - "uid": "superhero4", - "totalAudioMinutes": 0, - "totalVideoMinutes": 0, - "isJoined": false, - "state": "unanswered", - "totalDuration": 0 - }, - { - "uid": "superhero7", - "totalAudioMinutes": 0, - "totalVideoMinutes": 0, - "isJoined": false, - "state": "unanswered", - "totalDuration": 0 - }, - { - "uid": "superhero6", - "totalAudioMinutes": 0, - "totalVideoMinutes": 0, - "isJoined": false, - "state": "unanswered", - "totalDuration": 0 - } - ] - }, - { - "sessionId": "v1.us.31780434a95d45.16923681138d75114d60d1345a22e4cc612263fb26c0b5cf92", - "totalAudioMinutes": 0.31666666666666665, - "totalVideoMinutes": 0, - "totalDuration": "00:00:19", - "hasRecording": false, - "initiatedAt": 1692368113, - "initiator": "superhero8", - "mode": "call", - "receiver": "superhero2", - "receiverType": "user", - "status": "ended", - "totalDurationInMinutes": 0.31666666666666665, - "totalParticipants": 2, - "type": "audio", - "mid": "855e1519-1244-4213-8e40-53044c1e9e43", - "startedAt": 1692368127, - "endedAt": 1692368146, - "participants": [ - { - "uid": "superhero8", - "totalAudioMinutes": 0.26666666666666666, - "totalVideoMinutes": 0, - "totalDuration": 0.26666666666666666, - "deviceId": "70ecae89-b71c-4bb3-8220-b7c99ec1658f@rtc.cometchat-staging.com/hsYWb5ul", - "isJoined": true, - "joinedAt": 1692368128, - "mid": "855e1519-1244-4213-8e40-53044c1e9e43", - "state": "ended", - "leftAt": 1692368144 - }, - { - "uid": "superhero2", - "totalAudioMinutes": 0.23333333333333334, - "totalVideoMinutes": 0, - "totalDuration": 0.23333333333333334, - "deviceId": "c9ed493e-8495-428d-b6ee-b32019cc57ce@rtc.cometchat-staging.com/CKT3xgR4", - "isJoined": true, - "joinedAt": 1692368132, - "mid": "855e1519-1244-4213-8e40-53044c1e9e43", - "state": "ended", - "leftAt": 1692368146 - } - ] - } - ], - "meta": { - "pagination": { - "total": 2, - "count": 2, - "total_pages": 1, - "current_page": 1 - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/calls/{sessionId}": { - "get": { - "tags": [ - "Calls" - ], - "summary": "Get Call", - "description": "Fetches all the details of the call whose sessionId is passed in the URL.", - "operationId": "retreive-call-details", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - }, - { - "name": "sessionId", - "in": "path", - "description": "Call to Retreive", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Rereives Call Details", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/callSchema" - } - }, - "type": "object" - } - }, - "type": "object" + "totalAudioMinutes": { + "type": "number", + "example": 0.31666666666666665, + "default": 0 }, - "example": { - "data": { - "sessionId": "v1.us.31780434a95d45.16923681138d75114d60d1345a22e4cc612263fb26c0b5cf92", - "totalAudioMinutes": 0.31666666666666665, - "totalVideoMinutes": 0, - "totalDuration": "00:00:19", - "metaData": [], - "hasRecording": false, - "initiatedAt": 1692368113, - "initiator": "superhero8", - "mode": "call", - "receiver": "superhero2", - "receiverType": "user", - "status": "ended", - "tags": [], - "totalDurationInMinutes": 0.31666666666666665, - "totalParticipants": 2, - "type": "audio", - "mid": "855e1519-1244-4213-8e40-53044c1e9e43", - "startedAt": 1692368127, - "endedAt": 1692368146, - "participants": [ - { - "uid": "superhero2", - "totalAudioMinutes": 0.23333333333333334, - "totalVideoMinutes": 0, - "totalDuration": 0.23333333333333334, - "deviceId": "c9ed493e-8495-428d-b6ee-b32019cc57ce@rtc.cometchat-staging.com/CKT3xgR4", - "isJoined": true, - "joinedAt": 1692368132, - "mid": "855e1519-1244-4213-8e40-53044c1e9e43", - "state": "ended", - "leftAt": 1692368146 - }, - { - "uid": "superhero8", - "totalAudioMinutes": 0.26666666666666666, - "totalVideoMinutes": 0, - "totalDuration": 0.26666666666666666, - "deviceId": "70ecae89-b71c-4bb3-8220-b7c99ec1658f@rtc.cometchat-staging.com/hsYWb5ul", - "isJoined": true, - "joinedAt": 1692368128, - "mid": "855e1519-1244-4213-8e40-53044c1e9e43", - "state": "ended", - "leftAt": 1692368144 - } - ] - } + "totalVideoMinutes": { + "type": "integer", + "example": 0, + "default": 0 + }, + "isJoined": { + "type": "boolean", + "example": true, + "default": true + }, + "state": { + "type": "string", + "example": "ended" + }, + "totalDuration": { + "type": "number", + "example": 0.31666666666666665, + "default": 0 + }, + "deviceId": { + "type": "string", + "example": "b7683aaf-090a-4204-8f84-7ddd652923aa@rtc.cometchat.com/ucTKf4eq" + }, + "joinedAt": { + "type": "integer", + "example": 1692368180, + "default": 0 + }, + "mid": { + "type": "string", + "example": "3f7596ac-854b-484d-b36c-d623e193bd81" + }, + "leftAt": { + "type": "integer", + "example": 1692368199, + "default": 0 } + } } + } } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - } - }, - "components": { - "schemas": { - "callSchema": { - "description": "Response data", - "properties": { - "sessionId": { - "type": "string" - }, - "totalAudioMinutes": { - "type": "integer" - }, - "totalVideoMinutes": { - "type": "integer" - }, - "totalDuration": { - "type": "integer" - }, - "hasRecording": { - "type": "boolean" - }, - "initiatedAt": { - "type": "integer" - }, - "initiator": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "receiver": { - "type": "string" - }, - "receiverType": { - "type": "string" - }, - "status": { - "type": "string" - }, - "totalDurationInMinutes": { - "type": "integer" - }, - "totalParticipants": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "mid": { - "type": "string" - }, - "startedAt": { - "type": "integer" - }, - "endedAt": { - "type": "integer" - }, - "participants": { - "type": "array", - "items": { - "properties": { - "": { - "$ref": "#/components/schemas/participantSchema" - } - }, - "type": "object" - } - } - }, - "type": "object" - }, - "deleteSchema": { - "properties": { - "success": { - "type": "boolean" - }, - "message": { - "type": "string" - } - }, - "type": "object" - }, - "metaSchema": { - "properties": { - "pagination": { - "properties": { + } + }, + "meta": { + "type": "object", + "properties": { + "pagination": { + "type": "object", + "properties": { "total": { - "type": "integer" + "type": "integer", + "example": 2, + "default": 0 }, "count": { - "type": "integer" + "type": "integer", + "example": 2, + "default": 0 }, - "per_page": { - "type": "integer" + "total_pages": { + "type": "integer", + "example": 1, + "default": 0 }, "current_page": { - "type": "integer" - }, - "total_pages": { - "type": "integer" + "type": "integer", + "example": 1, + "default": 0 } - }, - "type": "object" - } - }, - "type": "object" - }, - "participantSchema": { - "properties": { - "uid": { - "type": "string" - }, - "totalAudioMinutes": { - "type": "integer" - }, - "totalVideoMinutes": { - "type": "integer" - }, - "isJoined": { - "type": "boolean" - }, - "state": { - "type": "string" - }, - "totalDuration": { - "type": "integer" - }, - "deviceId": { - "type": "integer" - }, - "joinedAt": { - "type": "integer" - }, - "mid": { - "type": "string" - }, - "leftAt": { - "type": "integer" + } + } + } } - }, - "type": "object" + } + } + } } - }, - "parameters": { - "uid": { - "name": "uid", - "in": "path", - "description": "An UID of a user.", - "required": true, - "schema": { - "type": "string" - }, + }, + "400": { + "description": "400", + "content": { + "application/json": { "examples": { - "string": { - "summary": "UID", - "value": "" - } - } - }, - "guid": { - "name": "guid", - "in": "path", - "description": "A GUID of a group.", - "required": true, - "schema": { - "type": "string" + "Result": { + "value": "{}" + } }, - "examples": { - "string": { - "summary": "GUID", - "value": "" - } + "schema": { + "type": "object", + "properties": {} } + } + } + } + }, + "deprecated": false + } + }, + "/calls/{sessionId}": { + "get": { + "summary": "Get Call", + "description": "Fetches all the details of the call whose sessionId is passed in the URL.", + "operationId": "get-call", + "parameters": [ + { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the user on whose behalf the action is performed.", + "schema": { + "type": "string" + } + }, + { + "name": "sessionId", + "in": "path", + "description": "Call to Retrieve", + "schema": { + "type": "string" }, - "requiredonBehalfOf": { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the user on whose behalf the action is performed.", - "required": true, + "required": true + } + ], + "responses": { + "200": { + "description": "200", + "content": { + "application/json": { + "examples": { + "Get Call": { + "value": "{\n \"data\": [\n {\n \"sessionId\": \"v1.eu.2574867aa2e6e417.17158459999d7fa95b1b4faea599f11eb5ecf07611b0b335c3\",\n \"totalAudioMinutes\": 0,\n \"totalVideoMinutes\": 0,\n \"totalDuration\": \"00:00:00\",\n \"hasRecording\": false,\n \"initiatedAt\": 1715845999,\n \"initiator\": \"cometchat-uid-1\",\n \"mode\": \"call\",\n \"receiver\": \"cometchat-uid-2\",\n \"receiverType\": \"user\",\n \"status\": \"initiated\",\n \"totalDurationInMinutes\": 0,\n \"totalParticipants\": 0,\n \"type\": \"audio\",\n \"participants\": [\n {\n \"uid\": \"cometchat-uid-1\",\n \"totalAudioMinutes\": 0,\n \"totalVideoMinutes\": 0,\n \"isJoined\": false,\n \"totalDurationInMinutes\": 0,\n \"name\": \"Andrew Joseph\",\n \"avatar\": \"https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp\"\n },\n {\n \"uid\": \"cometchat-uid-2\",\n \"totalAudioMinutes\": 0,\n \"totalVideoMinutes\": 0,\n \"isJoined\": false,\n \"state\": \"unanswered\",\n \"totalDurationInMinutes\": 0,\n \"name\": \"George Alan\",\n \"avatar\": \"https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp\"\n }\n ],\n \"data\": {\n \"entities\": {\n \"initiator\": {\n \"entity\": {\n \"uid\": \"cometchat-uid-1\",\n \"name\": \"Andrew Joseph\",\n \"avatar\": \"https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp\"\n }\n },\n \"receiver\": {\n \"entity\": {\n \"uid\": \"cometchat-uid-2\",\n \"name\": \"George Alan\",\n \"avatar\": \"https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp\"\n }\n }\n }\n }\n }\n ]\n}" + } + }, "schema": { - "type": "string" + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "sessionId": { + "type": "string", + "example": "v1.eu.2574867aa2e6e417.17158459999d7fa95b1b4faea599f11eb5ecf07611b0b335c3" + }, + "totalAudioMinutes": { + "type": "integer", + "example": 0, + "default": 0 + }, + "totalVideoMinutes": { + "type": "integer", + "example": 0, + "default": 0 + }, + "totalDuration": { + "type": "string", + "example": "00:00:00" + }, + "hasRecording": { + "type": "boolean", + "example": false, + "default": true + }, + "initiatedAt": { + "type": "integer", + "example": 1715845999, + "default": 0 + }, + "initiator": { + "type": "string", + "example": "cometchat-uid-1" + }, + "mode": { + "type": "string", + "example": "call" + }, + "receiver": { + "type": "string", + "example": "cometchat-uid-2" + }, + "receiverType": { + "type": "string", + "example": "user" + }, + "status": { + "type": "string", + "example": "initiated" + }, + "totalDurationInMinutes": { + "type": "integer", + "example": 0, + "default": 0 + }, + "totalParticipants": { + "type": "integer", + "example": 0, + "default": 0 + }, + "type": { + "type": "string", + "example": "audio" + }, + "participants": { + "type": "array", + "items": { + "type": "object", + "properties": { + "uid": { + "type": "string", + "example": "cometchat-uid-1" + }, + "totalAudioMinutes": { + "type": "integer", + "example": 0, + "default": 0 + }, + "totalVideoMinutes": { + "type": "integer", + "example": 0, + "default": 0 + }, + "isJoined": { + "type": "boolean", + "example": false, + "default": true + }, + "totalDurationInMinutes": { + "type": "integer", + "example": 0, + "default": 0 + }, + "name": { + "type": "string", + "example": "Andrew Joseph" + }, + "avatar": { + "type": "string", + "example": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp" + } + } + } + }, + "data": { + "type": "object", + "properties": { + "entities": { + "type": "object", + "properties": { + "initiator": { + "type": "object", + "properties": { + "entity": { + "type": "object", + "properties": { + "uid": { + "type": "string", + "example": "cometchat-uid-1" + }, + "name": { + "type": "string", + "example": "Andrew Joseph" + }, + "avatar": { + "type": "string", + "example": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp" + } + } + } + } + }, + "receiver": { + "type": "object", + "properties": { + "entity": { + "type": "object", + "properties": { + "uid": { + "type": "string", + "example": "cometchat-uid-2" + }, + "name": { + "type": "string", + "example": "George Alan" + }, + "avatar": { + "type": "string", + "example": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp" + } + } + } + } + } + } + } + } + } + } + } + } + } } - }, - "onBehalfOf": { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the user on whose behalf the action is performed.", + } + } + }, + "400": { + "description": "400", + "content": { + "application/json": { + "examples": { + "Result": { + "value": "{}" + } + }, "schema": { - "type": "string" + "type": "object", + "properties": {} } + } } + } }, - "securitySchemes": { - "apiKey": { - "type": "apiKey", - "description": "API Key with fullAccess scope(i.e. Rest API Key from the Dashboard).", - "name": "apikey", - "in": "header" - } - } - }, - "tags": [ - { - "name": "Calls", - "description": "The Calls tag" - } - ] + "deprecated": false + } + } + }, + "x-readme": { + "headers": [], + "explorer-enabled": true, + "proxy-enabled": true + }, + "x-readme-fauxas": true } \ No newline at end of file diff --git a/calls/android/actions.mdx b/calls/android/actions.mdx index 04f10bd94..33bd49ce2 100644 --- a/calls/android/actions.mdx +++ b/calls/android/actions.mdx @@ -1,6 +1,7 @@ --- title: "Actions" sidebarTitle: "Actions" +description: "Actions — CometChat documentation." --- Use call actions to create your own custom controls or trigger call functionality dynamically based on your use case. All actions are called on the `CallSession` singleton instance during an active call session. diff --git a/calls/android/audio-controls.mdx b/calls/android/audio-controls.mdx index 0a548c07d..cb35d1572 100644 --- a/calls/android/audio-controls.mdx +++ b/calls/android/audio-controls.mdx @@ -1,6 +1,7 @@ --- title: "Audio Controls" sidebarTitle: "Audio Controls" +description: "Audio Controls — CometChat documentation." --- Control audio during an active call session. These methods allow you to mute/unmute the local microphone and change the audio output device. diff --git a/calls/android/audio-modes.mdx b/calls/android/audio-modes.mdx index 91f8dc117..18f45020d 100644 --- a/calls/android/audio-modes.mdx +++ b/calls/android/audio-modes.mdx @@ -1,6 +1,7 @@ --- title: "Audio Modes" sidebarTitle: "Audio Modes" +description: "Audio Modes — CometChat documentation." --- Control audio output routing during calls. Switch between speaker, earpiece, Bluetooth, and wired headphones based on user preference or device availability. diff --git a/calls/android/authentication.mdx b/calls/android/authentication.mdx index e2d53d892..996c1dafe 100644 --- a/calls/android/authentication.mdx +++ b/calls/android/authentication.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Authentication" +description: "Authentication — CometChat documentation." --- Before users can make or receive calls, they must be authenticated with the CometChat Calls SDK. This guide covers the login and logout methods. @@ -112,7 +113,7 @@ This is the recommended authentication method for production applications. The A ### Auth Token Flow 1. User authenticates with your backend -2. Your backend calls the [CometChat Create Auth Token API](https://api-explorer.cometchat.com/reference/create-authtoken) +2. Your backend calls the [CometChat Create Auth Token API](/rest-api/chat-apis) 3. Your backend returns the Auth Token to the client 4. Client uses the Auth Token to login diff --git a/calls/android/background-handling.mdx b/calls/android/background-handling.mdx index c507d0bd4..6c5ccd8e1 100644 --- a/calls/android/background-handling.mdx +++ b/calls/android/background-handling.mdx @@ -1,6 +1,7 @@ --- title: "Background Handling" sidebarTitle: "Background Handling" +description: "Background Handling — CometChat documentation." --- Keep calls alive when users navigate away from your app. Background handling ensures the call continues running when users press the home button, switch to another app, or lock their device. diff --git a/calls/android/button-click-listener.mdx b/calls/android/button-click-listener.mdx index 6beadb973..b20274a92 100644 --- a/calls/android/button-click-listener.mdx +++ b/calls/android/button-click-listener.mdx @@ -1,6 +1,7 @@ --- title: "Button Click Listener" sidebarTitle: "Button Click Listener" +description: "Button Click Listener — CometChat documentation." --- Intercept UI button clicks with `ButtonClickListener`. This listener provides callbacks when users tap buttons in the call UI, allowing you to implement custom behavior or show confirmation dialogs. diff --git a/calls/android/call-layouts.mdx b/calls/android/call-layouts.mdx index 49d96683a..366c1b9d0 100644 --- a/calls/android/call-layouts.mdx +++ b/calls/android/call-layouts.mdx @@ -1,6 +1,7 @@ --- title: "Call Layouts" sidebarTitle: "Call Layouts" +description: "Call Layouts — CometChat documentation." --- Choose how participants are displayed during a call. The SDK provides multiple layout options to suit different use cases like team meetings, presentations, or one-on-one calls. diff --git a/calls/android/call-logs.mdx b/calls/android/call-logs.mdx index de1b14018..7e2576ed3 100644 --- a/calls/android/call-logs.mdx +++ b/calls/android/call-logs.mdx @@ -1,6 +1,7 @@ --- title: "Call Logs" sidebarTitle: "Call Logs" +description: "Call Logs — CometChat documentation." --- Retrieve call history for your application. Call logs provide detailed information about past calls including duration, participants, recordings, and status. diff --git a/calls/android/custom-control-panel.mdx b/calls/android/custom-control-panel.mdx index bdbc54ab9..a912e33e1 100644 --- a/calls/android/custom-control-panel.mdx +++ b/calls/android/custom-control-panel.mdx @@ -1,6 +1,7 @@ --- title: "Custom Control Panel" sidebarTitle: "Custom Control Panel" +description: "Custom Control Panel — CometChat documentation." --- Build a fully customized control panel for your call interface by hiding the default controls and implementing your own UI with call actions. This guide walks you through creating a custom control panel with essential call controls. diff --git a/calls/android/custom-participant-list.mdx b/calls/android/custom-participant-list.mdx index 6c793987e..2ed66ca32 100644 --- a/calls/android/custom-participant-list.mdx +++ b/calls/android/custom-participant-list.mdx @@ -1,6 +1,7 @@ --- title: "Custom Participant List" sidebarTitle: "Custom Participant List" +description: "Custom Participant List — CometChat documentation." --- Build a custom participant list UI that displays real-time participant information with full control over layout and interactions. This guide demonstrates how to hide the default participant list and create your own using participant events and actions. diff --git a/calls/android/events.mdx b/calls/android/events.mdx index d0566d502..706432e3c 100644 --- a/calls/android/events.mdx +++ b/calls/android/events.mdx @@ -1,6 +1,7 @@ --- title: "Events" sidebarTitle: "Events" +description: "Events — CometChat documentation." --- Handle call session events to build responsive UIs. The SDK provides five event listener interfaces to monitor session status, participant activities, media changes, button clicks, and layout changes. Each listener is lifecycle-aware and automatically cleaned up when the Activity or Fragment is destroyed. diff --git a/calls/android/idle-timeout.mdx b/calls/android/idle-timeout.mdx index 9efb4d9d8..84e202976 100644 --- a/calls/android/idle-timeout.mdx +++ b/calls/android/idle-timeout.mdx @@ -1,6 +1,7 @@ --- title: "Idle Timeout" sidebarTitle: "Idle Timeout" +description: "Idle Timeout — CometChat documentation." --- Configure automatic session termination when a user is alone in a call. Idle timeout helps manage resources by ending sessions that have no active participants. diff --git a/calls/android/in-call-chat.mdx b/calls/android/in-call-chat.mdx index 8274e55fb..7becc015f 100644 --- a/calls/android/in-call-chat.mdx +++ b/calls/android/in-call-chat.mdx @@ -1,6 +1,7 @@ --- title: "In-Call Chat" sidebarTitle: "In-Call Chat" +description: "In-Call Chat — CometChat documentation." --- Add real-time messaging to your call experience using CometChat UI Kit. This allows participants to send text messages, share files, and communicate via chat while on a call. diff --git a/calls/android/join-session.mdx b/calls/android/join-session.mdx index 199d84fa3..a0f12f96d 100644 --- a/calls/android/join-session.mdx +++ b/calls/android/join-session.mdx @@ -1,6 +1,7 @@ --- title: "Join Session" sidebarTitle: "Join Session" +description: "Join Session — CometChat documentation." --- Join a call session using one of two approaches: the quick start method with a session ID, or the advanced flow with manual token generation for more control. diff --git a/calls/android/layout-listener.mdx b/calls/android/layout-listener.mdx index b72324a69..770ea3d99 100644 --- a/calls/android/layout-listener.mdx +++ b/calls/android/layout-listener.mdx @@ -1,6 +1,7 @@ --- title: "Layout Listener" sidebarTitle: "Layout Listener" +description: "Layout Listener — CometChat documentation." --- Monitor layout changes with `LayoutListener`. This listener provides callbacks for call layout changes, participant list visibility, and Picture-in-Picture (PiP) mode state changes. diff --git a/calls/android/layout-ui.mdx b/calls/android/layout-ui.mdx index 838d98c38..a5ae2b2f6 100644 --- a/calls/android/layout-ui.mdx +++ b/calls/android/layout-ui.mdx @@ -1,6 +1,7 @@ --- title: "Layout & UI" sidebarTitle: "Layout & UI" +description: "Layout & UI — CometChat documentation." --- Control the call layout and UI elements during an active session. These methods allow you to change the call layout, enable Picture-in-Picture mode, and update UI badges. diff --git a/calls/android/link/changelog.mdx b/calls/android/link/changelog.mdx index 45c1d5e58..7bfbdf1de 100644 --- a/calls/android/link/changelog.mdx +++ b/calls/android/link/changelog.mdx @@ -1,4 +1,5 @@ --- title: "Changelog" url: "https://github.com/cometchat/calls-sdk-android/releases" +description: "Navigate to Changelog documentation." --- diff --git a/calls/android/link/github.mdx b/calls/android/link/github.mdx index e8a858228..c9f8d2520 100644 --- a/calls/android/link/github.mdx +++ b/calls/android/link/github.mdx @@ -1,4 +1,5 @@ --- title: "GitHub" url: "https://github.com/cometchat/calls-sdk-android" +description: "Navigate to GitHub documentation." --- diff --git a/calls/android/link/sample-apps.mdx b/calls/android/link/sample-apps.mdx index 4827ad673..ce80912b6 100644 --- a/calls/android/link/sample-apps.mdx +++ b/calls/android/link/sample-apps.mdx @@ -1,4 +1,5 @@ --- title: "Sample Apps" url: "https://github.com/cometchat/calls-sdk-android/tree/v5/samples" +description: "Navigate to Sample Apps documentation." --- diff --git a/calls/android/media-events-listener.mdx b/calls/android/media-events-listener.mdx index f9de1e9d5..68a51d283 100644 --- a/calls/android/media-events-listener.mdx +++ b/calls/android/media-events-listener.mdx @@ -1,6 +1,7 @@ --- title: "Media Events Listener" sidebarTitle: "Media Events Listener" +description: "Media Events Listener — CometChat documentation." --- Monitor local media state changes with `MediaEventsListener`. This listener provides callbacks for your own audio/video state changes, recording events, screen sharing, audio mode changes, and camera facing changes. diff --git a/calls/android/overview.mdx b/calls/android/overview.mdx index 58e8bcb42..e8a9848d6 100644 --- a/calls/android/overview.mdx +++ b/calls/android/overview.mdx @@ -1,6 +1,7 @@ --- title: "Calls SDK" sidebarTitle: "Overview" +description: "Overview of Calls SDK in CometChat." --- diff --git a/calls/android/participant-actions.mdx b/calls/android/participant-actions.mdx index 10e6c3a9f..38d33cb7f 100644 --- a/calls/android/participant-actions.mdx +++ b/calls/android/participant-actions.mdx @@ -1,6 +1,7 @@ --- title: "Participant Actions" sidebarTitle: "Participant Actions" +description: "Participant Actions — CometChat documentation." --- Manage other participants during an active call session. These methods allow you to mute participants, pause their video, and pin/unpin them in the call layout. diff --git a/calls/android/participant-event-listener.mdx b/calls/android/participant-event-listener.mdx index ae8788728..a773e117e 100644 --- a/calls/android/participant-event-listener.mdx +++ b/calls/android/participant-event-listener.mdx @@ -1,6 +1,7 @@ --- title: "Participant Event Listener" sidebarTitle: "Participant Event Listener" +description: "Participant Event Listener — CometChat documentation." --- Monitor participant activities with `ParticipantEventListener`. This listener provides callbacks for participant join/leave events, audio/video state changes, hand raise actions, screen sharing, recording, and more. diff --git a/calls/android/participant-management.mdx b/calls/android/participant-management.mdx index a06256b1e..fe8f4ba8c 100644 --- a/calls/android/participant-management.mdx +++ b/calls/android/participant-management.mdx @@ -1,6 +1,7 @@ --- title: "Participant Management" sidebarTitle: "Participant Management" +description: "Participant Management — CometChat documentation." --- Manage participants during a call with actions like muting, pausing video, and pinning. These features help maintain order in group calls and highlight important speakers. diff --git a/calls/android/picture-in-picture.mdx b/calls/android/picture-in-picture.mdx index 492d41875..b1aab5d54 100644 --- a/calls/android/picture-in-picture.mdx +++ b/calls/android/picture-in-picture.mdx @@ -1,6 +1,7 @@ --- title: "Picture-in-Picture" sidebarTitle: "Picture-in-Picture" +description: "Picture-in-Picture — CometChat documentation." --- Enable Picture-in-Picture (PiP) mode to allow users to continue their call in a floating window while using other apps. PiP provides a seamless multitasking experience during calls. diff --git a/calls/android/raise-hand.mdx b/calls/android/raise-hand.mdx index c51bf5963..a4c906748 100644 --- a/calls/android/raise-hand.mdx +++ b/calls/android/raise-hand.mdx @@ -1,6 +1,7 @@ --- title: "Raise Hand" sidebarTitle: "Raise Hand" +description: "Raise Hand — CometChat documentation." --- Allow participants to raise their hand to get attention during calls. This feature is useful for large meetings, webinars, or any scenario where participants need to signal they want to speak. diff --git a/calls/android/recording.mdx b/calls/android/recording.mdx index 0f0dad667..cd8c686c8 100644 --- a/calls/android/recording.mdx +++ b/calls/android/recording.mdx @@ -1,6 +1,7 @@ --- title: "Recording" sidebarTitle: "Recording" +description: "Recording — CometChat documentation." --- Record call sessions for later playback. Recordings are stored server-side and can be accessed through call logs or the CometChat Dashboard. diff --git a/calls/android/ringing.mdx b/calls/android/ringing.mdx index 85e9b7651..5492c4c79 100644 --- a/calls/android/ringing.mdx +++ b/calls/android/ringing.mdx @@ -1,6 +1,7 @@ --- title: "Ringing" sidebarTitle: "Ringing" +description: "Ringing — CometChat documentation." --- Implement incoming and outgoing call notifications with accept/reject functionality. Ringing enables real-time call signaling between users, allowing them to initiate calls and respond to incoming call requests. diff --git a/calls/android/screen-sharing.mdx b/calls/android/screen-sharing.mdx index 9133f1611..860777212 100644 --- a/calls/android/screen-sharing.mdx +++ b/calls/android/screen-sharing.mdx @@ -1,6 +1,7 @@ --- title: "Screen Sharing" sidebarTitle: "Screen Sharing" +description: "Screen Sharing — CometChat documentation." --- View screen shares from other participants during a call. The Android SDK can receive and display screen shares initiated from web clients. diff --git a/calls/android/session-control.mdx b/calls/android/session-control.mdx index 38d91d9fb..68eac0c89 100644 --- a/calls/android/session-control.mdx +++ b/calls/android/session-control.mdx @@ -1,6 +1,7 @@ --- title: "Session Control" sidebarTitle: "Session Control" +description: "Session Control — CometChat documentation." --- Control the call session lifecycle and participant interactions. These methods allow you to leave the session, raise/lower your hand, and check session status. diff --git a/calls/android/session-settings.mdx b/calls/android/session-settings.mdx index 24272810c..eb0baff83 100644 --- a/calls/android/session-settings.mdx +++ b/calls/android/session-settings.mdx @@ -1,6 +1,7 @@ --- title: "SessionSettingsBuilder" sidebarTitle: "SessionSettingsBuilder" +description: "SessionSettingsBuilder — CometChat documentation." --- The `SessionSettingsBuilder` is a powerful configuration tool that allows you to customize every aspect of your call session before participants join. From controlling the initial audio/video state to customizing the UI layout and hiding specific controls, this builder gives you complete control over the call experience. diff --git a/calls/android/session-status-listener.mdx b/calls/android/session-status-listener.mdx index 710706730..581f6478b 100644 --- a/calls/android/session-status-listener.mdx +++ b/calls/android/session-status-listener.mdx @@ -1,6 +1,7 @@ --- title: "Session Status Listener" sidebarTitle: "Session Status Listener" +description: "Session Status Listener — CometChat documentation." --- Monitor the call session lifecycle with `SessionStatusListener`. This listener provides callbacks for session join/leave events, connection status changes, and session timeouts. diff --git a/calls/android/setup.mdx b/calls/android/setup.mdx index 9429aca11..be4d80e87 100644 --- a/calls/android/setup.mdx +++ b/calls/android/setup.mdx @@ -1,6 +1,7 @@ --- title: "Setup" sidebarTitle: "Setup" +description: "Setup — CometChat documentation." --- This guide walks you through installing the CometChat Calls SDK and initializing it in your Android application. diff --git a/calls/android/share-invite.mdx b/calls/android/share-invite.mdx index ec67277e4..6bcaac26f 100644 --- a/calls/android/share-invite.mdx +++ b/calls/android/share-invite.mdx @@ -1,6 +1,7 @@ --- title: "Share Invite" sidebarTitle: "Share Invite" +description: "Share Invite — CometChat documentation." --- Enable participants to invite others to join a call by sharing a meeting link. The share invite button opens the system share sheet, allowing users to send the invite via any messaging app, email, or social media. diff --git a/calls/android/video-controls.mdx b/calls/android/video-controls.mdx index d512afe35..b3c163962 100644 --- a/calls/android/video-controls.mdx +++ b/calls/android/video-controls.mdx @@ -1,6 +1,7 @@ --- title: "Video Controls" sidebarTitle: "Video Controls" +description: "Video Controls — CometChat documentation." --- Control video during an active call session. These methods allow you to pause/resume the local camera and switch between front and back cameras. diff --git a/calls/android/voip-calling.mdx b/calls/android/voip-calling.mdx index a43b83ef4..58831418c 100644 --- a/calls/android/voip-calling.mdx +++ b/calls/android/voip-calling.mdx @@ -1,6 +1,7 @@ --- title: "VoIP Calling" sidebarTitle: "VoIP Calling" +description: "VoIP Calling — CometChat documentation." --- Implement native VoIP calling that works when your app is in the background or killed. This guide shows how to integrate Android's Telecom framework with CometChat to display system call UI, handle calls from the lock screen, and provide a native calling experience. diff --git a/calls/api/overview.mdx b/calls/api/overview.mdx deleted file mode 100644 index d309af3bf..000000000 --- a/calls/api/overview.mdx +++ /dev/null @@ -1,239 +0,0 @@ ---- -title: "Overview" -sidebarTitle: "Overview" ---- - -The Calls API provides programmatic access to call logs and analytics. Use these APIs to retrieve call history, participant details, duration metrics, and recording information for your application. - -## Base URL - -``` -https://{appId}.call-{region}.cometchat.io/v3 -``` - -| Variable | Description | -|----------|-------------| -| `appId` | Your CometChat App ID | -| `region` | Your app's region: `us`, `eu`, or `in` | - -## Authentication - -All API requests require authentication using your REST API Key in the header: - -```bash -curl -X GET "https://{appId}.call-{region}.cometchat.io/v3/calls" \ - -H "apikey: YOUR_REST_API_KEY" -``` - - -Use the REST API Key from your [CometChat Dashboard](https://app.cometchat.com). This key has full access scope and should only be used server-side. - - ---- - -## Available Endpoints - -| Endpoint | Method | Description | -|----------|--------|-------------| -| [/calls](/calls/api/list-calls) | GET | List all calls with filtering options | -| [/calls/{sessionId}](/calls/api/get-call) | GET | Get details of a specific call | - ---- - -## Use Cases - -| Use Case | Endpoint | Description | -|----------|----------|-------------| -| Call history | List Calls | Display call logs in your app | -| Analytics dashboard | List Calls | Aggregate call duration and participant metrics | -| Call details page | Get Call | Show detailed information for a specific call | -| Recording access | Get Call | Retrieve recording URLs for playback | -| Billing reports | List Calls | Calculate audio/video minutes for billing | - ---- - -## Call Object - -The call object contains all information about a call session. - -| Property | Type | Description | -|----------|------|-------------| -| `sessionId` | string | Unique identifier for the call | -| `type` | string | Call type: `audio` or `video` | -| `mode` | string | Call mode: `call`, `meet`, or `presenter` | -| `status` | string | Current status: `initiated`, `ongoing`, `ended`, `unanswered`, `rejected`, `canceled` | -| `receiverType` | string | Receiver type: `user` or `group` | -| `initiator` | string | UID of the user who initiated the call | -| `receiver` | string | UID of the user or GUID of the group receiving the call | -| `totalParticipants` | integer | Number of participants (multiple devices counted separately) | -| `totalAudioMinutes` | float | Total audio minutes across all participants | -| `totalVideoMinutes` | float | Total video minutes across all participants | -| `totalDurationInMinutes` | float | Total call duration (audio + video minutes) | -| `totalDuration` | string | Duration in timer format (e.g., "00:05:30") | -| `hasRecording` | boolean | Whether the call has recordings | -| `initiatedAt` | integer | Unix timestamp when call was initiated | -| `startedAt` | integer | Unix timestamp when call started (first participant joined) | -| `endedAt` | integer | Unix timestamp when call ended | -| `participants` | array | List of participant objects | -| `recordings` | array | List of recording objects (if `hasRecording` is true) | - -### Call Status Values - -| Status | Description | -|--------|-------------| -| `initiated` | Call has been initiated but no one has joined yet | -| `ongoing` | Call is currently in progress | -| `ended` | Call has ended normally | -| `unanswered` | Call was not answered within the timeout period | -| `rejected` | Receiver rejected the call | -| `canceled` | Caller canceled before receiver answered | - -### Call Mode Values - -| Mode | Description | -|------|-------------| -| `call` | Standard 1-on-1 or group call initiated via SDK | -| `meet` | Meeting/conference call with a shared session ID | -| `presenter` | Webinar-style call with presenter and viewers | - ---- - -## Participant Object - -Each participant in a call has the following properties: - -| Property | Type | Description | -|----------|------|-------------| -| `uid` | string | Unique identifier of the user | -| `deviceId` | string | Unique identifier of the device used to join | -| `isJoined` | boolean | Whether the user actually joined the call | -| `state` | string | Participant state: `ongoing`, `ended`, `unanswered`, `rejected` | -| `joinedAt` | integer | Unix timestamp when participant joined | -| `leftAt` | integer | Unix timestamp when participant left | -| `totalAudioMinutes` | float | Audio minutes for this participant | -| `totalVideoMinutes` | float | Video minutes for this participant | -| `totalDurationInMinutes` | float | Total duration for this participant | - - -If a user joins from multiple devices, each device is counted as a separate participant entry. - - ---- - -## Recording Object - -When a call has recordings, each recording contains: - -| Property | Type | Description | -|----------|------|-------------| -| `rid` | string | Unique identifier of the recording | -| `recording_url` | string | S3 URL to download/stream the recording | -| `duration` | float | Recording duration in minutes | -| `startTime` | integer | Unix timestamp when recording started | -| `endTime` | integer | Unix timestamp when recording ended | - ---- - -## Example Response - -```json -{ - "data": { - "sessionId": "v1.us.31780434a95d45.16923681138d75114d60d1345a22e4cc612263fb26c0b5cf92", - "type": "audio", - "mode": "call", - "status": "ended", - "receiverType": "user", - "initiator": "superhero8", - "receiver": "superhero2", - "totalParticipants": 2, - "totalAudioMinutes": 0.32, - "totalVideoMinutes": 0, - "totalDurationInMinutes": 0.32, - "totalDuration": "00:00:19", - "hasRecording": false, - "initiatedAt": 1692368113, - "startedAt": 1692368127, - "endedAt": 1692368146, - "participants": [ - { - "uid": "superhero8", - "deviceId": "70ecae89-b71c-4bb3-8220-b7c99ec1658f@rtc.cometchat.com/hsYWb5ul", - "isJoined": true, - "state": "ended", - "joinedAt": 1692368128, - "leftAt": 1692368144, - "totalAudioMinutes": 0.27, - "totalVideoMinutes": 0, - "totalDurationInMinutes": 0.27 - }, - { - "uid": "superhero2", - "deviceId": "c9ed493e-8495-428d-b6ee-b32019cc57ce@rtc.cometchat.com/CKT3xgR4", - "isJoined": true, - "state": "ended", - "joinedAt": 1692368132, - "leftAt": 1692368146, - "totalAudioMinutes": 0.23, - "totalVideoMinutes": 0, - "totalDurationInMinutes": 0.23 - } - ] - } -} -``` - ---- - -## Pagination - -List endpoints return paginated results with metadata: - -```json -{ - "data": [...], - "meta": { - "pagination": { - "total": 150, - "count": 25, - "per_page": 25, - "current_page": 1, - "total_pages": 6 - } - } -} -``` - -| Property | Description | -|----------|-------------| -| `total` | Total number of records | -| `count` | Number of records in current response | -| `per_page` | Records per page | -| `current_page` | Current page number | -| `total_pages` | Total number of pages | - ---- - -## Error Handling - -The API returns standard HTTP status codes: - -| Status Code | Description | -|-------------|-------------| -| `200` | Success | -| `400` | Bad request - Invalid parameters | -| `401` | Unauthorized - Invalid or missing API key | -| `404` | Not found - Call session doesn't exist | -| `429` | Rate limited - Too many requests | -| `500` | Server error | - -Error responses include a message: - -```json -{ - "error": { - "code": "ERR_SESSION_NOT_FOUND", - "message": "The specified session ID does not exist" - } -} -``` diff --git a/calls/flutter/actions.mdx b/calls/flutter/actions.mdx index 44a671ddf..722806074 100644 --- a/calls/flutter/actions.mdx +++ b/calls/flutter/actions.mdx @@ -1,6 +1,7 @@ --- title: "Actions" sidebarTitle: "Actions" +description: "Actions — CometChat documentation." --- Use call actions to create your own custom controls or trigger call functionality dynamically based on your use case. All actions are called on the `CallSession` singleton instance during an active call session. diff --git a/calls/flutter/audio-controls.mdx b/calls/flutter/audio-controls.mdx index 513c1972e..af81e6f31 100644 --- a/calls/flutter/audio-controls.mdx +++ b/calls/flutter/audio-controls.mdx @@ -1,6 +1,7 @@ --- title: "Audio Controls" sidebarTitle: "Audio Controls" +description: "Audio Controls — CometChat documentation." --- Control audio during an active call session. These methods allow you to mute/unmute the local microphone and change the audio output device. diff --git a/calls/flutter/audio-modes.mdx b/calls/flutter/audio-modes.mdx index ac1b49691..aed9073a8 100644 --- a/calls/flutter/audio-modes.mdx +++ b/calls/flutter/audio-modes.mdx @@ -1,6 +1,7 @@ --- title: "Audio Modes" sidebarTitle: "Audio Modes" +description: "Audio Modes — CometChat documentation." --- Control audio output routing during calls. Switch between speaker, earpiece, and Bluetooth based on user preference or device availability. diff --git a/calls/flutter/authentication.mdx b/calls/flutter/authentication.mdx index 47b2e3153..34af1dd1b 100644 --- a/calls/flutter/authentication.mdx +++ b/calls/flutter/authentication.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Authentication" +description: "Authentication — CometChat documentation." --- Before users can make or receive calls, they must be authenticated with the CometChat Calls SDK. This guide covers the login and logout methods. @@ -74,7 +75,7 @@ This is the recommended authentication method for production applications. The A ### Auth Token Flow 1. User authenticates with your backend -2. Your backend calls the [CometChat Create Auth Token API](https://api-explorer.cometchat.com/reference/create-authtoken) +2. Your backend calls the [CometChat Create Auth Token API](/rest-api/chat-apis) 3. Your backend returns the Auth Token to the client 4. Client uses the Auth Token to login diff --git a/calls/flutter/background-handling.mdx b/calls/flutter/background-handling.mdx index d66749517..ba96e7176 100644 --- a/calls/flutter/background-handling.mdx +++ b/calls/flutter/background-handling.mdx @@ -1,6 +1,7 @@ --- title: "Background Handling" sidebarTitle: "Background Handling" +description: "Background Handling — CometChat documentation." --- Keep calls alive when users navigate away from your app. Background handling ensures the call continues running when users press the home button, switch to another app, or lock their device. diff --git a/calls/flutter/button-click-listener.mdx b/calls/flutter/button-click-listener.mdx index 581d2457b..78da4944b 100644 --- a/calls/flutter/button-click-listener.mdx +++ b/calls/flutter/button-click-listener.mdx @@ -1,6 +1,7 @@ --- title: "Button Click Listener" sidebarTitle: "Button Click Listener" +description: "Button Click Listener — CometChat documentation." --- Intercept UI button clicks with `ButtonClickListeners`. This listener provides callbacks when users tap buttons in the call UI, allowing you to implement custom behavior or show confirmation dialogs. diff --git a/calls/flutter/call-layouts.mdx b/calls/flutter/call-layouts.mdx index 4de76fe15..e315b15ef 100644 --- a/calls/flutter/call-layouts.mdx +++ b/calls/flutter/call-layouts.mdx @@ -1,6 +1,7 @@ --- title: "Call Layouts" sidebarTitle: "Call Layouts" +description: "Call Layouts — CometChat documentation." --- Choose how participants are displayed during a call. The SDK provides multiple layout options to suit different use cases like team meetings, presentations, or one-on-one calls. diff --git a/calls/flutter/call-logs.mdx b/calls/flutter/call-logs.mdx index 84cb3e5cf..ffe0e0a75 100644 --- a/calls/flutter/call-logs.mdx +++ b/calls/flutter/call-logs.mdx @@ -1,6 +1,7 @@ --- title: "Call Logs" sidebarTitle: "Call Logs" +description: "Call Logs — CometChat documentation." --- Retrieve call history for your application. Call logs provide detailed information about past calls including duration, participants, recordings, and status. diff --git a/calls/flutter/custom-control-panel.mdx b/calls/flutter/custom-control-panel.mdx index 47f1258d8..f5b3ce645 100644 --- a/calls/flutter/custom-control-panel.mdx +++ b/calls/flutter/custom-control-panel.mdx @@ -1,6 +1,7 @@ --- title: "Custom Control Panel" sidebarTitle: "Custom Control Panel" +description: "Custom Control Panel — CometChat documentation." --- Build a fully customized control panel for your call interface by hiding the default controls and implementing your own UI with call actions. This guide walks you through creating a custom control panel with essential call controls. diff --git a/calls/flutter/custom-participant-list.mdx b/calls/flutter/custom-participant-list.mdx index 772e9cebe..532885dca 100644 --- a/calls/flutter/custom-participant-list.mdx +++ b/calls/flutter/custom-participant-list.mdx @@ -1,6 +1,7 @@ --- title: "Custom Participant List" sidebarTitle: "Custom Participant List" +description: "Custom Participant List — CometChat documentation." --- Build a custom participant list UI that displays real-time participant information with full control over layout and interactions. This guide demonstrates how to hide the default participant list and create your own using participant events and actions. diff --git a/calls/flutter/events.mdx b/calls/flutter/events.mdx index 434f43735..d4e0d58c9 100644 --- a/calls/flutter/events.mdx +++ b/calls/flutter/events.mdx @@ -1,6 +1,7 @@ --- title: "Events" sidebarTitle: "Events" +description: "Events — CometChat documentation." --- Handle call session events to build responsive UIs. The SDK provides five event listener interfaces to monitor session status, participant activities, media changes, button clicks, and layout changes. Unlike Android, Flutter listeners are not lifecycle-aware and must be manually removed in `dispose()` to prevent memory leaks. diff --git a/calls/flutter/idle-timeout.mdx b/calls/flutter/idle-timeout.mdx index b5eff71da..ebce46182 100644 --- a/calls/flutter/idle-timeout.mdx +++ b/calls/flutter/idle-timeout.mdx @@ -1,6 +1,7 @@ --- title: "Idle Timeout" sidebarTitle: "Idle Timeout" +description: "Idle Timeout — CometChat documentation." --- Configure automatic session termination when a user is alone in a call. Idle timeout helps manage resources by ending sessions that have no active participants. diff --git a/calls/flutter/in-call-chat.mdx b/calls/flutter/in-call-chat.mdx index 6c7730a3a..67180b892 100644 --- a/calls/flutter/in-call-chat.mdx +++ b/calls/flutter/in-call-chat.mdx @@ -1,6 +1,7 @@ --- title: "In-Call Chat" sidebarTitle: "In-Call Chat" +description: "In-Call Chat — CometChat documentation." --- Add real-time messaging to your call experience using CometChat UI Kit. This allows participants to send text messages, share files, and communicate via chat while on a call. diff --git a/calls/flutter/join-session.mdx b/calls/flutter/join-session.mdx index af404f9cf..b2941ed0b 100644 --- a/calls/flutter/join-session.mdx +++ b/calls/flutter/join-session.mdx @@ -1,6 +1,7 @@ --- title: "Join Session" sidebarTitle: "Join Session" +description: "Join Session — CometChat documentation." --- Join a call session using one of two approaches: the quick start method with a session ID, or the advanced flow with manual token generation for more control. diff --git a/calls/flutter/layout-listener.mdx b/calls/flutter/layout-listener.mdx index 62754f6e7..55ddba906 100644 --- a/calls/flutter/layout-listener.mdx +++ b/calls/flutter/layout-listener.mdx @@ -1,6 +1,7 @@ --- title: "Layout Listener" sidebarTitle: "Layout Listener" +description: "Layout Listener — CometChat documentation." --- Monitor layout changes with `LayoutListeners`. This listener provides callbacks for call layout changes, participant list visibility, and Picture-in-Picture (PiP) mode state changes. diff --git a/calls/flutter/layout-ui.mdx b/calls/flutter/layout-ui.mdx index a5a7c404f..79e9463fc 100644 --- a/calls/flutter/layout-ui.mdx +++ b/calls/flutter/layout-ui.mdx @@ -1,6 +1,7 @@ --- title: "Layout & UI" sidebarTitle: "Layout & UI" +description: "Layout & UI — CometChat documentation." --- Control the call layout and UI elements during an active session. These methods allow you to change the call layout, enable Picture-in-Picture mode, and update UI badges. diff --git a/calls/flutter/link/changelog.mdx b/calls/flutter/link/changelog.mdx index fe0cc99b6..8dc498e25 100644 --- a/calls/flutter/link/changelog.mdx +++ b/calls/flutter/link/changelog.mdx @@ -1,4 +1,5 @@ --- title: "Changelog" url: "https://github.com/cometchat/calls-sdk-flutter/releases" +description: "Navigate to Changelog documentation." --- diff --git a/calls/flutter/link/github.mdx b/calls/flutter/link/github.mdx index 8fe9fda0b..bccc1f2e9 100644 --- a/calls/flutter/link/github.mdx +++ b/calls/flutter/link/github.mdx @@ -1,4 +1,5 @@ --- title: "GitHub" url: "https://github.com/cometchat/calls-sdk-flutter" +description: "Navigate to GitHub documentation." --- diff --git a/calls/flutter/link/sample-apps.mdx b/calls/flutter/link/sample-apps.mdx index aad89a769..31899ff60 100644 --- a/calls/flutter/link/sample-apps.mdx +++ b/calls/flutter/link/sample-apps.mdx @@ -1,4 +1,5 @@ --- title: "Sample Apps" url: "https://github.com/cometchat/calls-sdk-flutter/tree/v5/sample-apps" +description: "Navigate to Sample Apps documentation." --- diff --git a/calls/flutter/media-events-listener.mdx b/calls/flutter/media-events-listener.mdx index b970bd8bb..b02d268df 100644 --- a/calls/flutter/media-events-listener.mdx +++ b/calls/flutter/media-events-listener.mdx @@ -1,6 +1,7 @@ --- title: "Media Events Listener" sidebarTitle: "Media Events Listener" +description: "Media Events Listener — CometChat documentation." --- Monitor local media state changes with `MediaEventListeners`. This listener provides callbacks for your own audio/video state changes, recording events, screen sharing, audio mode changes, and camera facing changes. diff --git a/calls/flutter/overview.mdx b/calls/flutter/overview.mdx index 48de70b08..b05aa128b 100644 --- a/calls/flutter/overview.mdx +++ b/calls/flutter/overview.mdx @@ -1,6 +1,7 @@ --- title: "Calls SDK" sidebarTitle: "Overview" +description: "Overview of Calls SDK in CometChat." --- diff --git a/calls/flutter/participant-actions.mdx b/calls/flutter/participant-actions.mdx index 0392c9f6b..9d7d61be3 100644 --- a/calls/flutter/participant-actions.mdx +++ b/calls/flutter/participant-actions.mdx @@ -1,6 +1,7 @@ --- title: "Participant Actions" sidebarTitle: "Participant Actions" +description: "Participant Actions — CometChat documentation." --- Manage other participants during an active call session. These methods allow you to mute participants, pause their video, and pin/unpin them in the call layout. diff --git a/calls/flutter/participant-event-listener.mdx b/calls/flutter/participant-event-listener.mdx index b6eb6f70a..6b014ae45 100644 --- a/calls/flutter/participant-event-listener.mdx +++ b/calls/flutter/participant-event-listener.mdx @@ -1,6 +1,7 @@ --- title: "Participant Event Listener" sidebarTitle: "Participant Event Listener" +description: "Participant Event Listener — CometChat documentation." --- Monitor participant activities with `ParticipantEventListeners`. This listener provides callbacks for participant join/leave events, audio/video state changes, hand raise actions, screen sharing, recording, and more. diff --git a/calls/flutter/participant-management.mdx b/calls/flutter/participant-management.mdx index 971f0e7d1..4e657d6e4 100644 --- a/calls/flutter/participant-management.mdx +++ b/calls/flutter/participant-management.mdx @@ -1,6 +1,7 @@ --- title: "Participant Management" sidebarTitle: "Participant Management" +description: "Participant Management — CometChat documentation." --- Manage participants during a call with actions like muting, pausing video, and pinning. These features help maintain order in group calls and highlight important speakers. diff --git a/calls/flutter/picture-in-picture.mdx b/calls/flutter/picture-in-picture.mdx index fb0914496..e2313974c 100644 --- a/calls/flutter/picture-in-picture.mdx +++ b/calls/flutter/picture-in-picture.mdx @@ -1,6 +1,7 @@ --- title: "Picture-in-Picture" sidebarTitle: "Picture-in-Picture" +description: "Picture-in-Picture — CometChat documentation." --- Enable Picture-in-Picture (PiP) mode to allow users to continue their call in a floating window while using other apps. PiP provides a seamless multitasking experience during calls. diff --git a/calls/flutter/raise-hand.mdx b/calls/flutter/raise-hand.mdx index 70b677977..05c504dd4 100644 --- a/calls/flutter/raise-hand.mdx +++ b/calls/flutter/raise-hand.mdx @@ -1,6 +1,7 @@ --- title: "Raise Hand" sidebarTitle: "Raise Hand" +description: "Raise Hand — CometChat documentation." --- Allow participants to raise their hand to get attention during calls. This feature is useful for large meetings, webinars, or any scenario where participants need to signal they want to speak. diff --git a/calls/flutter/recording.mdx b/calls/flutter/recording.mdx index 62f13ab87..a85c91a59 100644 --- a/calls/flutter/recording.mdx +++ b/calls/flutter/recording.mdx @@ -1,6 +1,7 @@ --- title: "Recording" sidebarTitle: "Recording" +description: "Recording — CometChat documentation." --- Record call sessions for later playback. Recordings are stored server-side and can be accessed through call logs or the CometChat Dashboard. diff --git a/calls/flutter/ringing.mdx b/calls/flutter/ringing.mdx index 11bb0bd39..729efebb5 100644 --- a/calls/flutter/ringing.mdx +++ b/calls/flutter/ringing.mdx @@ -1,6 +1,7 @@ --- title: "Ringing" sidebarTitle: "Ringing" +description: "Ringing — CometChat documentation." --- Implement incoming and outgoing call notifications with accept/reject functionality. Ringing enables real-time call signaling between users, allowing them to initiate calls and respond to incoming call requests. diff --git a/calls/flutter/screen-sharing.mdx b/calls/flutter/screen-sharing.mdx index c0a939376..32cb15897 100644 --- a/calls/flutter/screen-sharing.mdx +++ b/calls/flutter/screen-sharing.mdx @@ -1,6 +1,7 @@ --- title: "Screen Sharing" sidebarTitle: "Screen Sharing" +description: "Screen Sharing — CometChat documentation." --- View screen shares from other participants during a call. The Flutter SDK can receive and display screen shares initiated from web clients. diff --git a/calls/flutter/session-control.mdx b/calls/flutter/session-control.mdx index 45b8ad49f..07f44c09d 100644 --- a/calls/flutter/session-control.mdx +++ b/calls/flutter/session-control.mdx @@ -1,6 +1,7 @@ --- title: "Session Control" sidebarTitle: "Session Control" +description: "Session Control — CometChat documentation." --- Control the call session lifecycle and participant interactions. These methods allow you to leave the session, raise/lower your hand, and check session status. diff --git a/calls/flutter/session-settings.mdx b/calls/flutter/session-settings.mdx index 161a28ddc..2b5426971 100644 --- a/calls/flutter/session-settings.mdx +++ b/calls/flutter/session-settings.mdx @@ -1,6 +1,7 @@ --- title: "SessionSettingsBuilder" sidebarTitle: "SessionSettingsBuilder" +description: "SessionSettingsBuilder — CometChat documentation." --- The `SessionSettingsBuilder` is a powerful configuration tool that allows you to customize every aspect of your call session before participants join. From controlling the initial audio/video state to customizing the UI layout and hiding specific controls, this builder gives you complete control over the call experience. diff --git a/calls/flutter/session-status-listener.mdx b/calls/flutter/session-status-listener.mdx index d483d4e8b..d27f36984 100644 --- a/calls/flutter/session-status-listener.mdx +++ b/calls/flutter/session-status-listener.mdx @@ -1,6 +1,7 @@ --- title: "Session Status Listener" sidebarTitle: "Session Status Listener" +description: "Session Status Listener — CometChat documentation." --- Monitor the call session lifecycle with `SessionStatusListeners`. This listener provides callbacks for session join/leave events, connection status changes, and session timeouts. diff --git a/calls/flutter/setup.mdx b/calls/flutter/setup.mdx index 8ddbb7a34..ba80515e9 100644 --- a/calls/flutter/setup.mdx +++ b/calls/flutter/setup.mdx @@ -1,6 +1,7 @@ --- title: "Setup" sidebarTitle: "Setup" +description: "Setup — CometChat documentation." --- This guide walks you through installing the CometChat Calls SDK and initializing it in your Flutter application. diff --git a/calls/flutter/share-invite.mdx b/calls/flutter/share-invite.mdx index 4d9414eba..bbf2458d1 100644 --- a/calls/flutter/share-invite.mdx +++ b/calls/flutter/share-invite.mdx @@ -1,6 +1,7 @@ --- title: "Share Invite" sidebarTitle: "Share Invite" +description: "Share Invite — CometChat documentation." --- Enable participants to invite others to join a call by sharing a meeting link. The share invite button opens the platform's native share sheet, allowing users to send the invite via any messaging app, email, or social media. diff --git a/calls/flutter/video-controls.mdx b/calls/flutter/video-controls.mdx index 88f4cd666..448672bc2 100644 --- a/calls/flutter/video-controls.mdx +++ b/calls/flutter/video-controls.mdx @@ -1,6 +1,7 @@ --- title: "Video Controls" sidebarTitle: "Video Controls" +description: "Video Controls — CometChat documentation." --- Control video during an active call session. These methods allow you to pause/resume the local camera and switch between front and rear cameras. diff --git a/calls/flutter/voip-calling.mdx b/calls/flutter/voip-calling.mdx index 5f23f5b48..75b3812f9 100644 --- a/calls/flutter/voip-calling.mdx +++ b/calls/flutter/voip-calling.mdx @@ -1,6 +1,7 @@ --- title: "VoIP Calling" sidebarTitle: "VoIP Calling" +description: "VoIP Calling — CometChat documentation." --- Implement native VoIP calling that works when your app is in the background or killed. This guide shows how to integrate platform-specific push notification services with CometChat to display system call UI and provide a native calling experience. diff --git a/calls/ionic/overview.mdx b/calls/ionic/overview.mdx index 0761db868..e20d3cb71 100644 --- a/calls/ionic/overview.mdx +++ b/calls/ionic/overview.mdx @@ -1,6 +1,7 @@ --- title: "Calls SDK" sidebarTitle: "Overview" +description: "Overview of Calls SDK in CometChat." --- diff --git a/calls/ios/actions.mdx b/calls/ios/actions.mdx index 2b20e2f0d..2c62f7f26 100644 --- a/calls/ios/actions.mdx +++ b/calls/ios/actions.mdx @@ -1,6 +1,7 @@ --- title: "Actions" sidebarTitle: "Actions" +description: "Actions — CometChat documentation." --- Use call actions to create your own custom controls or trigger call functionality dynamically based on your use case. All actions are called on the `CallSession.shared` singleton instance during an active call session. diff --git a/calls/ios/audio-modes.mdx b/calls/ios/audio-modes.mdx index ab53af7ff..dd8465ce4 100644 --- a/calls/ios/audio-modes.mdx +++ b/calls/ios/audio-modes.mdx @@ -1,6 +1,7 @@ --- title: "Audio Modes" sidebarTitle: "Audio Modes" +description: "Audio Modes — CometChat documentation." --- Control audio output routing during calls. Switch between speaker, earpiece, Bluetooth, and wired headphones based on user preference or device availability. diff --git a/calls/ios/authentication.mdx b/calls/ios/authentication.mdx index 058c80327..f21dbaf49 100644 --- a/calls/ios/authentication.mdx +++ b/calls/ios/authentication.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Authentication" +description: "Authentication — CometChat documentation." --- Before users can make or receive calls, they must be authenticated with the CometChat Calls SDK. This guide covers the login and logout methods. @@ -103,7 +104,7 @@ This is the recommended authentication method for production applications. The A ### Auth Token Flow 1. User authenticates with your backend -2. Your backend calls the [CometChat Create Auth Token API](https://api-explorer.cometchat.com/reference/create-authtoken) +2. Your backend calls the [CometChat Create Auth Token API](/rest-api/chat-apis) 3. Your backend returns the Auth Token to the client 4. Client uses the Auth Token to login diff --git a/calls/ios/background-handling.mdx b/calls/ios/background-handling.mdx index 039d209e7..d68542af4 100644 --- a/calls/ios/background-handling.mdx +++ b/calls/ios/background-handling.mdx @@ -1,6 +1,7 @@ --- title: "Background Handling" sidebarTitle: "Background Handling" +description: "Background Handling — CometChat documentation." --- Keep calls alive when users navigate away from your app. Background handling ensures the call continues running when users press the home button, switch to another app, or lock their device. diff --git a/calls/ios/call-layouts.mdx b/calls/ios/call-layouts.mdx index d12409380..1432cff49 100644 --- a/calls/ios/call-layouts.mdx +++ b/calls/ios/call-layouts.mdx @@ -1,6 +1,7 @@ --- title: "Call Layouts" sidebarTitle: "Call Layouts" +description: "Call Layouts — CometChat documentation." --- Choose how participants are displayed during a call. The SDK provides multiple layout options to suit different use cases like team meetings, presentations, or one-on-one calls. diff --git a/calls/ios/call-logs.mdx b/calls/ios/call-logs.mdx index ca1165020..8038751c3 100644 --- a/calls/ios/call-logs.mdx +++ b/calls/ios/call-logs.mdx @@ -1,6 +1,7 @@ --- title: "Call Logs" sidebarTitle: "Call Logs" +description: "Call Logs — CometChat documentation." --- Retrieve call history for your application. Call logs provide detailed information about past calls including duration, participants, recordings, and status. diff --git a/calls/ios/custom-control-panel.mdx b/calls/ios/custom-control-panel.mdx index 856c9d838..357856adb 100644 --- a/calls/ios/custom-control-panel.mdx +++ b/calls/ios/custom-control-panel.mdx @@ -1,6 +1,7 @@ --- title: "Custom Control Panel" sidebarTitle: "Custom Control Panel" +description: "Custom Control Panel — CometChat documentation." --- Build a fully customized control panel for your call interface by hiding the default controls and implementing your own UI with call actions. This guide walks you through creating a custom control panel with essential call controls. diff --git a/calls/ios/custom-participant-list.mdx b/calls/ios/custom-participant-list.mdx index bad35682b..b5acacb0e 100644 --- a/calls/ios/custom-participant-list.mdx +++ b/calls/ios/custom-participant-list.mdx @@ -1,6 +1,7 @@ --- title: "Custom Participant List" sidebarTitle: "Custom Participant List" +description: "Custom Participant List — CometChat documentation." --- Build a custom participant list UI that displays real-time participant information with full control over layout and interactions. This guide demonstrates how to hide the default participant list and create your own using participant events and actions. diff --git a/calls/ios/events.mdx b/calls/ios/events.mdx index eadd2abbf..4f70556c6 100644 --- a/calls/ios/events.mdx +++ b/calls/ios/events.mdx @@ -1,6 +1,7 @@ --- title: "Events" sidebarTitle: "Events" +description: "Events — CometChat documentation." --- Handle call session events to build responsive UIs. The SDK provides five event listener protocols to monitor session status, participant activities, media changes, button clicks, and layout changes. diff --git a/calls/ios/idle-timeout.mdx b/calls/ios/idle-timeout.mdx index 8a4fdee4d..9bbbe8fdf 100644 --- a/calls/ios/idle-timeout.mdx +++ b/calls/ios/idle-timeout.mdx @@ -1,6 +1,7 @@ --- title: "Idle Timeout" sidebarTitle: "Idle Timeout" +description: "Idle Timeout — CometChat documentation." --- Configure automatic session termination when a user is alone in a call. Idle timeout helps manage resources by ending sessions that have no active participants. diff --git a/calls/ios/in-call-chat.mdx b/calls/ios/in-call-chat.mdx index d484552f2..7179be588 100644 --- a/calls/ios/in-call-chat.mdx +++ b/calls/ios/in-call-chat.mdx @@ -1,6 +1,7 @@ --- title: "In-Call Chat" sidebarTitle: "In-Call Chat" +description: "In-Call Chat — CometChat documentation." --- Add real-time messaging to your call experience using CometChat UI Kit. This allows participants to send text messages, share files, and communicate via chat while on a call. diff --git a/calls/ios/join-session.mdx b/calls/ios/join-session.mdx index c3c01e73c..3c74ec6ff 100644 --- a/calls/ios/join-session.mdx +++ b/calls/ios/join-session.mdx @@ -1,6 +1,7 @@ --- title: "Join Session" sidebarTitle: "Join Session" +description: "Join Session — CometChat documentation." --- Join a call session using one of two approaches: the quick start method with a session ID, or the advanced flow with manual token generation for more control. diff --git a/calls/ios/link/changelog.mdx b/calls/ios/link/changelog.mdx index 9c69dd793..df2e68f5e 100644 --- a/calls/ios/link/changelog.mdx +++ b/calls/ios/link/changelog.mdx @@ -1,4 +1,5 @@ --- title: "Changelog" url: "https://github.com/cometchat/calls-sdk-ios/releases" +description: "Navigate to Changelog documentation." --- diff --git a/calls/ios/link/github.mdx b/calls/ios/link/github.mdx index 3b20ac517..7580e658b 100644 --- a/calls/ios/link/github.mdx +++ b/calls/ios/link/github.mdx @@ -1,4 +1,5 @@ --- title: "GitHub" url: "https://github.com/cometchat/calls-sdk-ios" +description: "Navigate to GitHub documentation." --- diff --git a/calls/ios/link/sample-apps.mdx b/calls/ios/link/sample-apps.mdx index c1e6c9aca..206ef9cdd 100644 --- a/calls/ios/link/sample-apps.mdx +++ b/calls/ios/link/sample-apps.mdx @@ -1,4 +1,5 @@ --- title: "Sample Apps" url: "https://github.com/cometchat/calls-sdk-ios/tree/v5/sample-apps" +description: "Navigate to Sample Apps documentation." --- diff --git a/calls/ios/overview.mdx b/calls/ios/overview.mdx index 4b685ea0d..3a7f5bdeb 100644 --- a/calls/ios/overview.mdx +++ b/calls/ios/overview.mdx @@ -1,6 +1,7 @@ --- title: "Calls SDK" sidebarTitle: "Overview" +description: "Overview of Calls SDK in CometChat." --- diff --git a/calls/ios/participant-management.mdx b/calls/ios/participant-management.mdx index 74c5e8bd2..c307cf652 100644 --- a/calls/ios/participant-management.mdx +++ b/calls/ios/participant-management.mdx @@ -1,6 +1,7 @@ --- title: "Participant Management" sidebarTitle: "Participant Management" +description: "Participant Management — CometChat documentation." --- Manage participants during a call with actions like muting, pausing video, and pinning. These features help maintain order in group calls and highlight important speakers. diff --git a/calls/ios/picture-in-picture.mdx b/calls/ios/picture-in-picture.mdx index abc683869..d1e7cf5ad 100644 --- a/calls/ios/picture-in-picture.mdx +++ b/calls/ios/picture-in-picture.mdx @@ -1,6 +1,7 @@ --- title: "Picture-in-Picture" sidebarTitle: "Picture-in-Picture" +description: "Picture-in-Picture — CometChat documentation." --- Enable Picture-in-Picture (PiP) mode to allow users to continue their call in a floating window while using other apps. PiP provides a seamless multitasking experience during calls. diff --git a/calls/ios/raise-hand.mdx b/calls/ios/raise-hand.mdx index b7c746880..3863aad68 100644 --- a/calls/ios/raise-hand.mdx +++ b/calls/ios/raise-hand.mdx @@ -1,6 +1,7 @@ --- title: "Raise Hand" sidebarTitle: "Raise Hand" +description: "Raise Hand — CometChat documentation." --- Allow participants to raise their hand to get attention during calls. This feature is useful for large meetings, webinars, or any scenario where participants need to signal they want to speak. diff --git a/calls/ios/recording.mdx b/calls/ios/recording.mdx index 70909fe13..280c48e18 100644 --- a/calls/ios/recording.mdx +++ b/calls/ios/recording.mdx @@ -1,6 +1,7 @@ --- title: "Recording" sidebarTitle: "Recording" +description: "Recording — CometChat documentation." --- Record call sessions for later playback. Recordings are stored server-side and can be accessed through call logs or the CometChat Dashboard. diff --git a/calls/ios/ringing.mdx b/calls/ios/ringing.mdx index beeba43c5..d745283ac 100644 --- a/calls/ios/ringing.mdx +++ b/calls/ios/ringing.mdx @@ -1,6 +1,7 @@ --- title: "Ringing" sidebarTitle: "Ringing" +description: "Ringing — CometChat documentation." --- Implement incoming and outgoing call notifications with accept/reject functionality. Ringing enables real-time call signaling between users, allowing them to initiate calls and respond to incoming call requests. diff --git a/calls/ios/screen-sharing.mdx b/calls/ios/screen-sharing.mdx index 9b777c0de..2a56296fe 100644 --- a/calls/ios/screen-sharing.mdx +++ b/calls/ios/screen-sharing.mdx @@ -1,6 +1,7 @@ --- title: "Screen Sharing" sidebarTitle: "Screen Sharing" +description: "Screen Sharing — CometChat documentation." --- View screen shares from other participants during a call. The iOS SDK can receive and display screen shares initiated from web clients. diff --git a/calls/ios/session-settings.mdx b/calls/ios/session-settings.mdx index a94d84541..8eb03f1be 100644 --- a/calls/ios/session-settings.mdx +++ b/calls/ios/session-settings.mdx @@ -1,6 +1,7 @@ --- title: "SessionSettingsBuilder" sidebarTitle: "SessionSettingsBuilder" +description: "SessionSettingsBuilder — CometChat documentation." --- The `SessionSettingsBuilder` is a powerful configuration tool that allows you to customize every aspect of your call session before participants join. From controlling the initial audio/video state to customizing the UI layout and hiding specific controls, this builder gives you complete control over the call experience. diff --git a/calls/ios/setup.mdx b/calls/ios/setup.mdx index 342229b64..06b97fedd 100644 --- a/calls/ios/setup.mdx +++ b/calls/ios/setup.mdx @@ -1,6 +1,7 @@ --- title: "Setup" sidebarTitle: "Setup" +description: "Setup — CometChat documentation." --- This guide walks you through installing the CometChat Calls SDK and initializing it in your iOS application. diff --git a/calls/ios/share-invite.mdx b/calls/ios/share-invite.mdx index b51228041..d8e0cbe95 100644 --- a/calls/ios/share-invite.mdx +++ b/calls/ios/share-invite.mdx @@ -1,6 +1,7 @@ --- title: "Share Invite" sidebarTitle: "Share Invite" +description: "Share Invite — CometChat documentation." --- Enable participants to invite others to join a call by sharing a meeting link. The share invite button opens the system share sheet, allowing users to send the invite via any messaging app, email, or social media. diff --git a/calls/ios/voip-calling.mdx b/calls/ios/voip-calling.mdx index 24d8eff4c..78dd69240 100644 --- a/calls/ios/voip-calling.mdx +++ b/calls/ios/voip-calling.mdx @@ -1,6 +1,7 @@ --- title: "VoIP Calling" sidebarTitle: "VoIP Calling" +description: "VoIP Calling — CometChat documentation." --- Implement native VoIP calling that works when your app is in the background or killed. This guide shows how to integrate Apple's CallKit framework with CometChat to display system call UI, handle calls from the lock screen, and provide a native calling experience. diff --git a/calls/javascript/actions.mdx b/calls/javascript/actions.mdx index 116f9523b..6d7b18e2f 100644 --- a/calls/javascript/actions.mdx +++ b/calls/javascript/actions.mdx @@ -1,6 +1,7 @@ --- title: "Actions" sidebarTitle: "Actions" +description: "Actions — CometChat documentation." --- Use call actions to create your own custom controls or trigger call functionality dynamically based on your use case. All actions are called on the `CometChatCalls` class during an active call session. diff --git a/calls/javascript/angular-integration.mdx b/calls/javascript/angular-integration.mdx index 28b834054..4686c03f4 100644 --- a/calls/javascript/angular-integration.mdx +++ b/calls/javascript/angular-integration.mdx @@ -1,6 +1,7 @@ --- title: "Angular Integration" sidebarTitle: "Angular" +description: "Angular Integration — CometChat documentation." --- This guide walks you through integrating the CometChat Calls SDK into an Angular application. By the end, you'll have a working video call implementation with proper service architecture and lifecycle management. diff --git a/calls/javascript/authentication.mdx b/calls/javascript/authentication.mdx index 71dc99b3b..660923287 100644 --- a/calls/javascript/authentication.mdx +++ b/calls/javascript/authentication.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Authentication" +description: "Authentication — CometChat documentation." --- Before users can make or receive calls, they must be authenticated with the CometChat Calls SDK. This guide covers the login and logout methods. @@ -66,7 +67,7 @@ This is the recommended authentication method for production applications. The A ### Auth Token Flow 1. User authenticates with your backend -2. Your backend calls the [CometChat Create Auth Token API](https://api-explorer.cometchat.com/reference/create-authtoken) +2. Your backend calls the [CometChat Create Auth Token API](/rest-api/chat-apis) 3. Your backend returns the Auth Token to the client 4. Client uses the Auth Token to login diff --git a/calls/javascript/call-layouts.mdx b/calls/javascript/call-layouts.mdx index aa9b6c8a2..57fbf80db 100644 --- a/calls/javascript/call-layouts.mdx +++ b/calls/javascript/call-layouts.mdx @@ -1,6 +1,7 @@ --- title: "Call Layouts" sidebarTitle: "Call Layouts" +description: "Call Layouts — CometChat documentation." --- The CometChat Calls SDK provides three layout modes to display participants during a call. Each participant can independently choose their preferred layout without affecting others. diff --git a/calls/javascript/call-logs.mdx b/calls/javascript/call-logs.mdx index d656356d4..aa825dda2 100644 --- a/calls/javascript/call-logs.mdx +++ b/calls/javascript/call-logs.mdx @@ -1,6 +1,7 @@ --- title: "Call Logs" sidebarTitle: "Call Logs" +description: "Call Logs — CometChat documentation." --- Retrieve call history and details using the CometChat REST API. Call logs provide information about past calls including participants, duration, and recording URLs. diff --git a/calls/javascript/custom-control-panel.mdx b/calls/javascript/custom-control-panel.mdx index 0bdae429f..ac4c40924 100644 --- a/calls/javascript/custom-control-panel.mdx +++ b/calls/javascript/custom-control-panel.mdx @@ -1,6 +1,7 @@ --- title: "Custom Control Panel" sidebarTitle: "Custom Control Panel" +description: "Custom Control Panel — CometChat documentation." --- Build a custom control panel by hiding the default UI and using the SDK's action methods to control call functionality. diff --git a/calls/javascript/device-management.mdx b/calls/javascript/device-management.mdx index d6e3bd0b2..f5377b145 100644 --- a/calls/javascript/device-management.mdx +++ b/calls/javascript/device-management.mdx @@ -1,6 +1,7 @@ --- title: "Device Management" sidebarTitle: "Device Management" +description: "Device Management — CometChat documentation." --- Manage audio and video devices during calls, including selecting microphones, speakers, and cameras. diff --git a/calls/javascript/events.mdx b/calls/javascript/events.mdx index ab3c45afb..5a84e4b11 100644 --- a/calls/javascript/events.mdx +++ b/calls/javascript/events.mdx @@ -1,6 +1,7 @@ --- title: "Events" sidebarTitle: "Events" +description: "Events — CometChat documentation." --- Handle call session events to build responsive UIs. The SDK provides event listeners to monitor session status, participant activities, media changes, button clicks, and layout changes. diff --git a/calls/javascript/idle-timeout.mdx b/calls/javascript/idle-timeout.mdx index b62161429..6ed861281 100644 --- a/calls/javascript/idle-timeout.mdx +++ b/calls/javascript/idle-timeout.mdx @@ -1,6 +1,7 @@ --- title: "Idle Timeout" sidebarTitle: "Idle Timeout" +description: "Idle Timeout — CometChat documentation." --- The idle timeout feature automatically ends a call session when you're the only participant remaining. This prevents sessions from running indefinitely and consuming resources. diff --git a/calls/javascript/in-call-chat.mdx b/calls/javascript/in-call-chat.mdx index 62e06d184..db2a82235 100644 --- a/calls/javascript/in-call-chat.mdx +++ b/calls/javascript/in-call-chat.mdx @@ -1,6 +1,7 @@ --- title: "In-Call Chat" sidebarTitle: "In-Call Chat" +description: "In-Call Chat — CometChat documentation." --- Enable text messaging during calls by integrating the in-call chat feature. The SDK provides a chat button in the control panel and events to help you build a custom chat experience. diff --git a/calls/javascript/ionic-integration.mdx b/calls/javascript/ionic-integration.mdx index 77de909c0..f4a16c2bb 100644 --- a/calls/javascript/ionic-integration.mdx +++ b/calls/javascript/ionic-integration.mdx @@ -1,6 +1,7 @@ --- title: "Ionic Integration" sidebarTitle: "Ionic" +description: "Ionic Integration — CometChat documentation." --- This guide walks you through integrating the CometChat Calls SDK into an Ionic application. By the end, you'll have a working video call implementation with proper authentication and lifecycle handling. This guide covers Ionic with Angular, React, and Vue. diff --git a/calls/javascript/join-session.mdx b/calls/javascript/join-session.mdx index b4e88361d..28a4c336b 100644 --- a/calls/javascript/join-session.mdx +++ b/calls/javascript/join-session.mdx @@ -1,6 +1,7 @@ --- title: "Join Session" sidebarTitle: "Join Session" +description: "Join Session — CometChat documentation." --- Join a call session using one of two approaches: the quick start method with a session ID, or the advanced flow with manual token generation for more control. diff --git a/calls/javascript/link/changelog.mdx b/calls/javascript/link/changelog.mdx index 5709c38be..db81454a1 100644 --- a/calls/javascript/link/changelog.mdx +++ b/calls/javascript/link/changelog.mdx @@ -1,4 +1,5 @@ --- title: "Changelog" url: "https://github.com/cometchat/calls-sdk-javascript/releases" +description: "Navigate to Changelog documentation." --- diff --git a/calls/javascript/link/github.mdx b/calls/javascript/link/github.mdx index 680232f4d..25ac7a8ae 100644 --- a/calls/javascript/link/github.mdx +++ b/calls/javascript/link/github.mdx @@ -1,4 +1,5 @@ --- title: "GitHub" url: "https://github.com/cometchat/calls-sdk-javascript" +description: "Navigate to GitHub documentation." --- diff --git a/calls/javascript/link/live-demo.mdx b/calls/javascript/link/live-demo.mdx index 4dffdcdd0..070012d7e 100644 --- a/calls/javascript/link/live-demo.mdx +++ b/calls/javascript/link/live-demo.mdx @@ -1,4 +1,5 @@ --- title: "Live Demo" url: "https://calls.cometchat.io/" +description: "Navigate to Live Demo documentation." --- diff --git a/calls/javascript/link/sample-apps.mdx b/calls/javascript/link/sample-apps.mdx index 1262b4f2f..c5983ae67 100644 --- a/calls/javascript/link/sample-apps.mdx +++ b/calls/javascript/link/sample-apps.mdx @@ -1,4 +1,5 @@ --- title: "Sample Apps" url: "https://github.com/cometchat/calls-sdk-javascript/tree/v5/sample-apps" +description: "Navigate to Sample Apps documentation." --- diff --git a/calls/javascript/nextjs-integration.mdx b/calls/javascript/nextjs-integration.mdx index d59b3721c..b696b298d 100644 --- a/calls/javascript/nextjs-integration.mdx +++ b/calls/javascript/nextjs-integration.mdx @@ -1,6 +1,7 @@ --- title: "Next.js Integration" sidebarTitle: "Next.js" +description: "Next.js Integration — CometChat documentation." --- This guide walks you through integrating the CometChat Calls SDK into a Next.js application. By the end, you'll have a working video call implementation with proper server-side rendering handling and authentication. diff --git a/calls/javascript/overview.mdx b/calls/javascript/overview.mdx index 3b16d0503..69e87eb8d 100644 --- a/calls/javascript/overview.mdx +++ b/calls/javascript/overview.mdx @@ -1,6 +1,7 @@ --- title: "Calls SDK" sidebarTitle: "Overview" +description: "Overview of Calls SDK in CometChat." --- diff --git a/calls/javascript/participant-management.mdx b/calls/javascript/participant-management.mdx index 105430f95..1c0987647 100644 --- a/calls/javascript/participant-management.mdx +++ b/calls/javascript/participant-management.mdx @@ -1,6 +1,7 @@ --- title: "Participant Management" sidebarTitle: "Participant Management" +description: "Participant Management — CometChat documentation." --- Manage call participants including muting, pinning, and monitoring their status during a call. diff --git a/calls/javascript/permissions-handling.mdx b/calls/javascript/permissions-handling.mdx index b7b43fb46..4e4bc5cb7 100644 --- a/calls/javascript/permissions-handling.mdx +++ b/calls/javascript/permissions-handling.mdx @@ -1,6 +1,7 @@ --- title: "Permissions Handling" sidebarTitle: "Permissions Handling" +description: "Permissions Handling — CometChat documentation." --- Handle camera and microphone permissions gracefully to provide a good user experience when joining calls. diff --git a/calls/javascript/picture-in-picture.mdx b/calls/javascript/picture-in-picture.mdx index 1648a701b..fe210fd09 100644 --- a/calls/javascript/picture-in-picture.mdx +++ b/calls/javascript/picture-in-picture.mdx @@ -1,6 +1,7 @@ --- title: "Picture-in-Picture" sidebarTitle: "Picture-in-Picture" +description: "Picture-in-Picture — CometChat documentation." --- Picture-in-Picture (PiP) allows the call video to continue playing in a floating window while users interact with other content on the page or other browser tabs. diff --git a/calls/javascript/raise-hand.mdx b/calls/javascript/raise-hand.mdx index b012761d4..a48a54a3b 100644 --- a/calls/javascript/raise-hand.mdx +++ b/calls/javascript/raise-hand.mdx @@ -1,6 +1,7 @@ --- title: "Raise Hand" sidebarTitle: "Raise Hand" +description: "Raise Hand — CometChat documentation." --- The raise hand feature allows participants to signal that they want to speak or get attention during a call without interrupting the current speaker. diff --git a/calls/javascript/react-integration.mdx b/calls/javascript/react-integration.mdx index 132a14355..47848710c 100644 --- a/calls/javascript/react-integration.mdx +++ b/calls/javascript/react-integration.mdx @@ -1,6 +1,7 @@ --- title: "React Integration" sidebarTitle: "React" +description: "React Integration — CometChat documentation." --- This guide walks you through integrating the CometChat Calls SDK into a React application. By the end, you'll have a working video call implementation with proper state management and lifecycle handling. diff --git a/calls/javascript/recording.mdx b/calls/javascript/recording.mdx index ada4a3d41..366cf9847 100644 --- a/calls/javascript/recording.mdx +++ b/calls/javascript/recording.mdx @@ -1,6 +1,7 @@ --- title: "Recording" sidebarTitle: "Recording" +description: "Recording — CometChat documentation." --- Record call sessions for later playback, compliance, or training purposes. Recordings are stored server-side and can be accessed through the CometChat dashboard. diff --git a/calls/javascript/ringing.mdx b/calls/javascript/ringing.mdx index 74fc9b3e7..fc9df1a9c 100644 --- a/calls/javascript/ringing.mdx +++ b/calls/javascript/ringing.mdx @@ -1,6 +1,7 @@ --- title: "Ringing" sidebarTitle: "Ringing" +description: "Ringing — CometChat documentation." --- Implement incoming and outgoing call notifications by integrating the Calls SDK with the CometChat Chat SDK for call signaling. diff --git a/calls/javascript/screen-sharing.mdx b/calls/javascript/screen-sharing.mdx index d3c70c387..227e183c8 100644 --- a/calls/javascript/screen-sharing.mdx +++ b/calls/javascript/screen-sharing.mdx @@ -1,6 +1,7 @@ --- title: "Screen Sharing" sidebarTitle: "Screen Sharing" +description: "Screen Sharing — CometChat documentation." --- Share your screen with other participants during a call. The browser will prompt users to select which screen, window, or browser tab to share. diff --git a/calls/javascript/session-settings.mdx b/calls/javascript/session-settings.mdx index d2948b674..4597b66f4 100644 --- a/calls/javascript/session-settings.mdx +++ b/calls/javascript/session-settings.mdx @@ -1,6 +1,7 @@ --- title: "Session Settings" sidebarTitle: "Session Settings" +description: "Session Settings — CometChat documentation." --- The session settings object allows you to customize every aspect of your call session before participants join. From controlling the initial audio/video state to customizing the UI layout and hiding specific controls, these settings give you complete control over the call experience. diff --git a/calls/javascript/setup.mdx b/calls/javascript/setup.mdx index 321382759..252c9dae7 100644 --- a/calls/javascript/setup.mdx +++ b/calls/javascript/setup.mdx @@ -1,6 +1,7 @@ --- title: "Setup" sidebarTitle: "Setup" +description: "Setup — CometChat documentation." --- This guide walks you through installing the CometChat Calls SDK and initializing it in your web application. diff --git a/calls/javascript/share-invite.mdx b/calls/javascript/share-invite.mdx index 7865d62a6..25e74761f 100644 --- a/calls/javascript/share-invite.mdx +++ b/calls/javascript/share-invite.mdx @@ -1,6 +1,7 @@ --- title: "Share Invite" sidebarTitle: "Share Invite" +description: "Share Invite — CometChat documentation." --- Allow participants to share call invitations with others using the share invite feature. diff --git a/calls/javascript/virtual-background.mdx b/calls/javascript/virtual-background.mdx index bae8b1da5..8c6a274d0 100644 --- a/calls/javascript/virtual-background.mdx +++ b/calls/javascript/virtual-background.mdx @@ -1,6 +1,7 @@ --- title: "Virtual Background" sidebarTitle: "Virtual Background" +description: "Virtual Background — CometChat documentation." --- Apply virtual backgrounds to your video feed during calls. You can blur your background or replace it with a custom image. diff --git a/calls/javascript/vue-integration.mdx b/calls/javascript/vue-integration.mdx index 2cd5a4256..b2de00324 100644 --- a/calls/javascript/vue-integration.mdx +++ b/calls/javascript/vue-integration.mdx @@ -1,6 +1,7 @@ --- title: "Vue Integration" sidebarTitle: "Vue" +description: "Vue Integration — CometChat documentation." --- This guide walks you through integrating the CometChat Calls SDK into a Vue.js application. By the end, you'll have a working video call implementation with proper state management and lifecycle handling. diff --git a/calls/react-native/actions.mdx b/calls/react-native/actions.mdx index dd0a24770..daa38200d 100644 --- a/calls/react-native/actions.mdx +++ b/calls/react-native/actions.mdx @@ -1,6 +1,7 @@ --- title: "Actions" sidebarTitle: "Actions" +description: "Actions — CometChat documentation." --- Control the active call session programmatically using the static methods on `CometChatCalls`. These methods allow you to manage audio, video, screen sharing, and other call features. diff --git a/calls/react-native/audio-modes.mdx b/calls/react-native/audio-modes.mdx index b385f35b7..95a3066e0 100644 --- a/calls/react-native/audio-modes.mdx +++ b/calls/react-native/audio-modes.mdx @@ -1,6 +1,7 @@ --- title: "Audio Modes" sidebarTitle: "Audio Modes" +description: "Audio Modes — CometChat documentation." --- The CometChat Calls SDK supports multiple audio output modes on mobile devices. Users can switch between speaker, earpiece, Bluetooth, and wired headphones. diff --git a/calls/react-native/authentication.mdx b/calls/react-native/authentication.mdx index c5f66cf09..aa6b9a334 100644 --- a/calls/react-native/authentication.mdx +++ b/calls/react-native/authentication.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Authentication" +description: "Authentication — CometChat documentation." --- This guide covers initializing the CometChat Calls SDK and authenticating users in your React Native application. diff --git a/calls/react-native/background-handling.mdx b/calls/react-native/background-handling.mdx index f0b84327b..ea478d0e8 100644 --- a/calls/react-native/background-handling.mdx +++ b/calls/react-native/background-handling.mdx @@ -1,6 +1,7 @@ --- title: "Background Handling" sidebarTitle: "Background Handling" +description: "Background Handling — CometChat documentation." --- Keep calls active when your app goes to the background. This requires platform-specific configuration to maintain audio/video streams and handle system interruptions. diff --git a/calls/react-native/call-layouts.mdx b/calls/react-native/call-layouts.mdx index 248f78f74..c6dd6acf9 100644 --- a/calls/react-native/call-layouts.mdx +++ b/calls/react-native/call-layouts.mdx @@ -1,6 +1,7 @@ --- title: "Call Layouts" sidebarTitle: "Call Layouts" +description: "Call Layouts — CometChat documentation." --- The CometChat Calls SDK provides three layout modes for displaying participants during a call. You can set the initial layout in call settings or change it programmatically during the call. diff --git a/calls/react-native/call-logs.mdx b/calls/react-native/call-logs.mdx index 3693f70e6..a72a8341a 100644 --- a/calls/react-native/call-logs.mdx +++ b/calls/react-native/call-logs.mdx @@ -1,6 +1,7 @@ --- title: "Call Logs" sidebarTitle: "Call Logs" +description: "Call Logs — CometChat documentation." --- Call logs provide a history of calls made through your application. You can retrieve call logs using the CometChat Chat SDK's call log APIs. diff --git a/calls/react-native/custom-control-panel.mdx b/calls/react-native/custom-control-panel.mdx index 578b0df84..5ed48cb2f 100644 --- a/calls/react-native/custom-control-panel.mdx +++ b/calls/react-native/custom-control-panel.mdx @@ -1,6 +1,7 @@ --- title: "Custom Control Panel" sidebarTitle: "Custom Control Panel" +description: "Custom Control Panel — CometChat documentation." --- Build a custom control panel to replace or extend the default call controls. Hide the default layout and implement your own UI using the SDK's action methods. diff --git a/calls/react-native/custom-participant-list.mdx b/calls/react-native/custom-participant-list.mdx index 28c46d27e..b78a20b4f 100644 --- a/calls/react-native/custom-participant-list.mdx +++ b/calls/react-native/custom-participant-list.mdx @@ -1,6 +1,7 @@ --- title: "Custom Participant List" sidebarTitle: "Custom Participant List" +description: "Custom Participant List — CometChat documentation." --- Build a custom participant list UI to display and manage call participants. Listen for participant events and use the SDK's management methods. diff --git a/calls/react-native/events.mdx b/calls/react-native/events.mdx index c219d4dbf..f994d80a3 100644 --- a/calls/react-native/events.mdx +++ b/calls/react-native/events.mdx @@ -1,6 +1,7 @@ --- title: "Events" sidebarTitle: "Events" +description: "Events — CometChat documentation." --- The CometChat Calls SDK provides two ways to listen for call events: the `OngoingCallListener` class for legacy-style callbacks, and the `addEventListener` method for modern event subscriptions. diff --git a/calls/react-native/idle-timeout.mdx b/calls/react-native/idle-timeout.mdx index b8b24f838..cc4f3b4a5 100644 --- a/calls/react-native/idle-timeout.mdx +++ b/calls/react-native/idle-timeout.mdx @@ -1,6 +1,7 @@ --- title: "Idle Timeout" sidebarTitle: "Idle Timeout" +description: "Idle Timeout — CometChat documentation." --- The idle timeout feature automatically ends a call session when a participant is alone for a specified period. This prevents abandoned calls from running indefinitely. diff --git a/calls/react-native/in-call-chat.mdx b/calls/react-native/in-call-chat.mdx index 472fb98d2..596fe3c0d 100644 --- a/calls/react-native/in-call-chat.mdx +++ b/calls/react-native/in-call-chat.mdx @@ -1,6 +1,7 @@ --- title: "In-Call Chat" sidebarTitle: "In-Call Chat" +description: "In-Call Chat — CometChat documentation." --- Enable messaging during calls by integrating the CometChat Chat SDK. Users can send and receive text messages while on a call. diff --git a/calls/react-native/join-session.mdx b/calls/react-native/join-session.mdx index c5afbaae0..d94f0f732 100644 --- a/calls/react-native/join-session.mdx +++ b/calls/react-native/join-session.mdx @@ -1,6 +1,7 @@ --- title: "Join Session" sidebarTitle: "Join Session" +description: "Join Session — CometChat documentation." --- This guide covers generating call tokens and joining call sessions using the CometChat Calls SDK. diff --git a/calls/react-native/link/changelog.mdx b/calls/react-native/link/changelog.mdx index 63d3a39a8..0af07bdc8 100644 --- a/calls/react-native/link/changelog.mdx +++ b/calls/react-native/link/changelog.mdx @@ -1,4 +1,5 @@ --- title: "Changelog" url: "https://github.com/cometchat/calls-sdk-react-native/releases" +description: "Navigate to Changelog documentation." --- diff --git a/calls/react-native/link/github.mdx b/calls/react-native/link/github.mdx index 6c610b093..60233e5be 100644 --- a/calls/react-native/link/github.mdx +++ b/calls/react-native/link/github.mdx @@ -1,4 +1,5 @@ --- title: "GitHub" url: "https://github.com/cometchat/calls-sdk-react-native" +description: "Navigate to GitHub documentation." --- diff --git a/calls/react-native/link/sample-apps.mdx b/calls/react-native/link/sample-apps.mdx index af20be5d0..6561f4917 100644 --- a/calls/react-native/link/sample-apps.mdx +++ b/calls/react-native/link/sample-apps.mdx @@ -1,4 +1,5 @@ --- title: "Sample Apps" url: "https://github.com/cometchat/calls-sdk-react-native/tree/v5/sample-apps" +description: "Navigate to Sample Apps documentation." --- diff --git a/calls/react-native/overview.mdx b/calls/react-native/overview.mdx index 03755157e..e11367bfd 100644 --- a/calls/react-native/overview.mdx +++ b/calls/react-native/overview.mdx @@ -1,6 +1,7 @@ --- title: "Calls SDK" sidebarTitle: "Overview" +description: "Overview of Calls SDK in CometChat." --- diff --git a/calls/react-native/participant-management.mdx b/calls/react-native/participant-management.mdx index 439669338..71ddbb279 100644 --- a/calls/react-native/participant-management.mdx +++ b/calls/react-native/participant-management.mdx @@ -1,6 +1,7 @@ --- title: "Participant Management" sidebarTitle: "Participant Management" +description: "Participant Management — CometChat documentation." --- Manage call participants by muting, pinning, and monitoring their status during a call. diff --git a/calls/react-native/picture-in-picture.mdx b/calls/react-native/picture-in-picture.mdx index 82fdb9793..5e35a0979 100644 --- a/calls/react-native/picture-in-picture.mdx +++ b/calls/react-native/picture-in-picture.mdx @@ -1,6 +1,7 @@ --- title: "Picture-in-Picture" sidebarTitle: "Picture-in-Picture" +description: "Picture-in-Picture — CometChat documentation." --- Picture-in-Picture (PiP) mode allows users to continue their call in a floating window while using other apps. This feature requires platform-specific configuration. diff --git a/calls/react-native/raise-hand.mdx b/calls/react-native/raise-hand.mdx index 8aa46aa1c..a9a0f7b88 100644 --- a/calls/react-native/raise-hand.mdx +++ b/calls/react-native/raise-hand.mdx @@ -1,6 +1,7 @@ --- title: "Raise Hand" sidebarTitle: "Raise Hand" +description: "Raise Hand — CometChat documentation." --- The raise hand feature allows participants to signal that they want attention during a call, useful for Q&A sessions or large meetings. diff --git a/calls/react-native/recording.mdx b/calls/react-native/recording.mdx index 4dfab3e85..aa69cc939 100644 --- a/calls/react-native/recording.mdx +++ b/calls/react-native/recording.mdx @@ -1,6 +1,7 @@ --- title: "Recording" sidebarTitle: "Recording" +description: "Recording — CometChat documentation." --- The CometChat Calls SDK supports recording call sessions. Recordings can be started manually or automatically when the call begins. diff --git a/calls/react-native/ringing.mdx b/calls/react-native/ringing.mdx index ecd846cc7..0436ebe79 100644 --- a/calls/react-native/ringing.mdx +++ b/calls/react-native/ringing.mdx @@ -1,6 +1,7 @@ --- title: "Ringing" sidebarTitle: "Ringing" +description: "Ringing — CometChat documentation." --- Implement incoming and outgoing call notifications using the CometChat Chat SDK's calling features. The Calls SDK handles the actual call session, while the Chat SDK manages call signaling. diff --git a/calls/react-native/screen-sharing.mdx b/calls/react-native/screen-sharing.mdx index 2b48c17b3..e6863b438 100644 --- a/calls/react-native/screen-sharing.mdx +++ b/calls/react-native/screen-sharing.mdx @@ -1,6 +1,7 @@ --- title: "Screen Sharing" sidebarTitle: "Screen Sharing" +description: "Screen Sharing — CometChat documentation." --- The CometChat Calls SDK supports viewing screen shares from other participants. Screen sharing initiation on React Native requires platform-specific configuration. diff --git a/calls/react-native/session-settings.mdx b/calls/react-native/session-settings.mdx index 4102e94f8..677e07708 100644 --- a/calls/react-native/session-settings.mdx +++ b/calls/react-native/session-settings.mdx @@ -1,6 +1,7 @@ --- title: "Session Settings" sidebarTitle: "Session Settings" +description: "Session Settings — CometChat documentation." --- Configure call sessions using the `CallSettingsBuilder` class. This allows you to customize the call UI, behavior, and event handling. diff --git a/calls/react-native/setup.mdx b/calls/react-native/setup.mdx index 38ea2ece5..af83eee36 100644 --- a/calls/react-native/setup.mdx +++ b/calls/react-native/setup.mdx @@ -1,6 +1,7 @@ --- title: "Setup" sidebarTitle: "Setup" +description: "Setup — CometChat documentation." --- This guide walks you through installing the CometChat Calls SDK and configuring it in your React Native application. diff --git a/calls/react-native/share-invite.mdx b/calls/react-native/share-invite.mdx index c1f04d6c8..a56d66314 100644 --- a/calls/react-native/share-invite.mdx +++ b/calls/react-native/share-invite.mdx @@ -1,6 +1,7 @@ --- title: "Share Invite" sidebarTitle: "Share Invite" +description: "Share Invite — CometChat documentation." --- Allow users to share call invite links with others. When the share invite button is clicked, you can generate and share a link that others can use to join the call. diff --git a/calls/react-native/voip-calling.mdx b/calls/react-native/voip-calling.mdx index 3fe65c95d..1c66074f0 100644 --- a/calls/react-native/voip-calling.mdx +++ b/calls/react-native/voip-calling.mdx @@ -1,6 +1,7 @@ --- title: "VoIP Calling" sidebarTitle: "VoIP Calling" +description: "VoIP Calling — CometChat documentation." --- Implement VoIP push notifications to receive incoming calls even when your app is in the background or terminated. This requires platform-specific configuration for iOS CallKit and Android ConnectionService. diff --git a/chat-apis.json b/chat-apis.json index be0eb6746..3e0544938 100644 --- a/chat-apis.json +++ b/chat-apis.json @@ -1,20252 +1,15900 @@ { - "openapi": "3.0.0", - "info": { - "title": "Chat APIs", - "description": "Manage messages, users, groups for a particular app using our Chat API.", - "version": "3.0" - }, - "servers": [ - { - "url": "https://{appid}.api-{region}.cometchat.io/v3", - "variables": { - "appid": { - "default": "appId", - "description": "(Required) App ID" - }, - "region": { - "enum": [ - "us", - "eu", - "in" - ], - "default": "us", - "description": "Select Region" - } - } + "openapi": "3.0.0", + "info": { + "title": "Chat APIs", + "description": "Manage messages, users, groups for a particular app using our Chat API.", + "version": "3.0" + }, + "servers": [ + { + "url": "https://{appId}.api-{region}.cometchat.io/v3", + "variables": { + "appId": { + "default": "appId", + "description": "(Required) App ID" + }, + "region": { + "enum": [ + "us", + "eu", + "in" + ], + "default": "us", + "description": "Select Region" } - ], - "paths": { - "/apikeys": { - "post": { - "tags": [ - "API Keys" + } + } + ], + "paths": { + "/apikeys": { + "post": { + "tags": [ + "API Keys" + ], + "summary": "Create", + "description": "Creates a new API key", + "operationId": "create-apikey", + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": [ + "name", + "scope" ], - "summary": "Create", - "description": "Creates a new API key", - "operationId": "create-apikey", - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "name", - "scope" - ], - "properties": { - "name": { - "description": "Friendly name for the API key.", - "type": "string" - }, - "scope": { - "description": "Scope for the API key. Possible values: fullAccess, authOnly.", - "type": "string", - "default": "authOnly", - "enum": [ - "authOnly", - "fullAccess" - ] - } - }, - "type": "object" - } - } + "properties": { + "name": { + "description": "Friendly name for the API key.", + "type": "string" + }, + "scope": { + "description": "Scope for the API key.", + "type": "string", + "default": "authOnly", + "enum": [ + "authOnly", + "fullAccess" + ] + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Created API key", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Created API key", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "apiKey": "f1915e328e249ffaaafd97fb46a57ba55d233fbf", - "name": "John's apiKey", - "scope": "authOnly", - "createdAt": 1625206799 - } - } - } + "example": { + "data": { + "apiKey": "f1915e328e249ffaaafd97fb46a57ba55d233fbf", + "name": "John's apiKey", + "scope": "authOnly", + "createdAt": 1625206799 + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "get": { + "tags": [ + "API Keys" + ], + "summary": "List", + "description": "Lists API keys", + "operationId": "list-apikeys", + "parameters": [ + { + "name": "scope", + "in": "query", + "description": "Scope of the apikey. Available values: fullAccess, authOnly", + "schema": { + "type": "string", + "enum": [ + "fullAccess", + "authOnly" + ], + "description": "API key scope. fullAccess: all operations. authOnly: user auth only." + } + }, + { + "name": "searchKey", + "in": "query", + "description": "Searches for specified keyword in name", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Lists API keys", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "apiKey": { + "type": "string" + }, + "name": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "createdAt": { + "type": "integer" + } } + } + }, + "meta": { + "type": "object" } + }, + "type": "object" }, - "security": [ + "example": { + "data": [ { - "apiKey": [] - } - ] - }, - "get": { - "tags": [ - "API Keys" - ], - "summary": "List", - "description": "Lists API keys", - "operationId": "list-apikeys", - "parameters": [ + "apiKey": "fcf32d085482db7ef10e971967d70a91cdb6677a", + "name": "John's apiKey", + "scope": "authOnly", + "createdAt": 1631095584 + }, { - "name": "scope", - "in": "query", - "description": "Scope of the apikey. Available values: fullAccess, authOnly", - "schema": { - "type": "string", - "enum": [ - "fullAccess", - "authOnly" - ] - } + "apiKey": "0f40b2c254f33d429b1fca5e0eb1cef72c594ddc", + "name": "Auth Key", + "scope": "authOnly", + "createdAt": 1629869272 }, { - "name": "searchKey", - "in": "query", - "description": "Searches for specified keyword in name", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Lists API keys", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "apiKey": "fcf32d085482db7ef10e971967d70a91cdb6677a", - "name": "John's apiKey", - "scope": "authOnly", - "createdAt": 1631095584 - }, - { - "apiKey": "0f40b2c254f33d429b1fca5e0eb1cef72c594ddc", - "name": "Auth Key", - "scope": "authOnly", - "createdAt": 1629869272 - }, - { - "apiKey": "495318bc2e137fb2decf17078abd169a7bd50c8b", - "name": "Rest API Key", - "scope": "fullAccess", - "createdAt": 1629869272 - } - ], - "meta": { - "pagination": { - "total": 3, - "count": 3, - "per_page": 100, - "current_page": 1, - "total_pages": 1 - } - } - } - } - } + "apiKey": "495318bc2e137fb2decf17078abd169a7bd50c8b", + "name": "Rest API Key", + "scope": "fullAccess", + "createdAt": 1629869272 } - }, - "security": [ - { - "apiKey": [] + ], + "meta": { + "pagination": { + "total": 3, + "count": 3, + "per_page": 100, + "current_page": 1, + "total_pages": 1 } - ] + } + } + } } + } }, - "/apikeys/{apiKey}": { - "get": { - "tags": [ - "API Keys" - ], - "summary": "Get", - "description": "Retrieves API key", - "operationId": "get-apikey", - "parameters": [ - { - "name": "apiKey", - "in": "path", - "description": "An apikey to retrieve.", - "required": true, - "schema": { - "type": "string" - } + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/apikeys/{apiKey}": { + "get": { + "tags": [ + "API Keys" + ], + "summary": "Get", + "description": "Retrieves API key", + "operationId": "get-apikey", + "parameters": [ + { + "name": "apiKey", + "in": "path", + "description": "An apikey to retrieve.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieves API key", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } - ], - "responses": { - "200": { - "description": "Retrieves API key", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "apiKey": "f1915e328e249ffaaafd97fb46a57ba55d233fbf", - "name": "John's apiKey", - "scope": "authOnly", - "createdAt": 1625206799 - } - } - } - } + }, + "type": "object" + }, + "example": { + "data": { + "apiKey": "f1915e328e249ffaaafd97fb46a57ba55d233fbf", + "name": "John's apiKey", + "scope": "authOnly", + "createdAt": 1625206799 + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "put": { + "tags": [ + "API Keys" + ], + "summary": "Update", + "description": "Updates an API key", + "operationId": "update-apikey", + "parameters": [ + { + "name": "apiKey", + "in": "path", + "description": "An apikey to update.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "name": { + "description": "Friendly name for the API key.", + "type": "string" + }, + "scope": { + "description": "Scope for the API key.", + "type": "string", + "enum": [ + "authOnly", + "fullAccess" + ] + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Updated API Key", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "security": [ - { - "apiKey": [] + "example": { + "data": { + "apiKey": "f1915e328e249ffaaafd97fb46a57ba55d233fbf", + "name": "John's apiKey", + "scope": "authOnly", + "createdAt": 1625206799 + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "API Keys" + ], + "summary": "Delete", + "description": "Deletes an API key", + "operationId": "delete-apikey", + "parameters": [ + { + "name": "apiKey", + "in": "path", + "description": "An apikey to delete.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "API Key.", + "value": "f1915e328e249ffaaafd97fb46a57ba55d233fbf" + } + } + } + ], + "responses": { + "200": { + "description": "A list of api keys", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } - ] - }, - "put": { - "tags": [ - "API Keys" + }, + "type": "object" + }, + "example": { + "data": { + "success": true, + "message": "The Api Key fcf32d085482db7ef10e971967d70a91cdb6677a has been deleted successfully." + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/users": { + "post": { + "tags": [ + "Users" + ], + "summary": "Create", + "description": "Creates a new user", + "operationId": "create-user", + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": [ + "uid", + "name" ], - "summary": "Update", - "description": "Updates an API key", - "operationId": "update-apikey", - "parameters": [ - { - "name": "apiKey", - "in": "path", - "description": "An apikey to update.", - "required": true, - "schema": { + "properties": { + "uid": { + "description": "Unique identifier of the user. Please refer to https://prodocs.cometchat.com/docs/concepts#uid", + "type": "string" + }, + "name": { + "description": "Display name of the user.", + "type": "string" + }, + "avatar": { + "description": "URL to profile picture of the user.", + "type": "string" + }, + "link": { + "description": "URL to profile page.", + "type": "string" + }, + "role": { + "description": "User role of the user for role based access control.", + "type": "string" + }, + "statusMessage": { + "description": "A message providing context related to the user's current status or mood.", + "type": "string" + }, + "metadata": { + "description": "Additional information about the user as JSON. If you plan to use [Email Notification](doc:android-extensions-email-notification#section-configure-your-backend-to-store-emails) or [SMS Notification](doc:android-extensions-sms-notification#section-configure-your-backend-to-store-phone-number) extensions, Please add the private metadata here.", + "properties": { + "@private": { + "properties": { + "email": { "type": "string" - } + }, + "contactNumber": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object", + "default": { + "@private": { + "email": "user@email.com", + "contactNumber": "0123456789" + } + } + }, + "tags": { + "description": "A list of tags to identify specific users.", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "withAuthToken": { + "description": "Includes authToken of created user in response.", + "type": "boolean" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Create User", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" + }, + "example": { + "data": { + "uid": "cometchat-uid-6", + "name": "Barry Allen", + "link": "https://cometchat.com", + "avatar": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "metadata": { + "rawMetadata": "{'gender':'Male'}" + }, + "status": "offline", + "role": "manager", + "createdAt": 1638354015, + "tags": [ + "Engineer", + "manager" + ], + "authToken": "cometchat-uid-6_16383540156641d37a023c75d26f4c22a21ff126" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "get": { + "tags": [ + "Users" + ], + "summary": "List", + "description": "Lists all the users of an app", + "operationId": "list-users", + "parameters": [ + { + "name": "searchKey", + "in": "query", + "description": "The searchKey query parameter work for both name and uid:\nIt performs a LIKE% query, searching for uid/name values starting with the specified characters.", + "schema": { + "type": "string" + } + }, + { + "name": "searchIn", + "in": "query", + "description": "Searches for specified keyword in name,UID or both.", + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "name", + "uid" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "name": { - "description": "Friendly name for the API key.", - "type": "string" - }, - "scope": { - "description": "Scope for the API key. Possible values: fullAccess, authOnly.", - "type": "string", - "enum": [ - "fullAccess", - "authOnly" - ] - } - }, - "type": "object" - } + "description": "Search field." + } + } + }, + { + "name": "status", + "in": "query", + "description": "User list can be fetched depending on the user status. (available,offline).", + "schema": { + "type": "string", + "enum": [ + "available", + "offline" + ], + "description": "User status filter." + } + }, + { + "name": "count", + "in": "query", + "description": "Fetches users count.", + "schema": { + "type": "boolean" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of users to be fetched in a request. The default value is 100 and the maximum value is 1000.", + "schema": { + "type": "integer", + "default": "100" + } + }, + { + "name": "page", + "in": "query", + "description": "Page Number.", + "schema": { + "type": "integer", + "default": "1" + } + }, + { + "name": "role", + "in": "query", + "description": "Retrieves user list based on role.", + "schema": { + "type": "string" + } + }, + { + "name": "withTags", + "in": "query", + "description": "Includes tags in the response.", + "schema": { + "type": "boolean" + } + }, + { + "name": "tags", + "in": "query", + "description": "Fetches only those users that have these tags.", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "roles", + "in": "query", + "description": "Fetches users based on multiple roles.", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "onlyDeactivated", + "in": "query", + "description": "Fetches all the deactivated users of an app.", + "schema": { + "type": "boolean" + } + }, + { + "name": "withDeactivated", + "in": "query", + "description": "Fetches all the users including deactivated users.", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "A list of users", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "link": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "metadata": { + "type": "object" + }, + "status": { + "type": "string" + }, + "role": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } } + } + }, + "meta": { + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Updated API Key", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "apiKey": "f1915e328e249ffaaafd97fb46a57ba55d233fbf", - "name": "John's apiKey", - "scope": "authOnly", - "createdAt": 1625206799 - } - } - } + "example": { + "data": [ + { + "uid": "cometchat-uid-6", + "name": "Barry Allen", + "link": "https://cometchat.com", + "avatar": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "metadata": { + "email": "user@email.com", + "contactNumber": "0123456789" + }, + "status": "offline", + "role": "manager", + "createdAt": 1638354015, + "updatedAt": 1638354799, + "conversationId": "cometchat-uid-4_user_cometchat-uid-6" + }, + { + "uid": "cometchat-uid-2", + "name": "George Alan", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "status": "offline", + "role": "default", + "createdAt": 1629869270, + "updatedAt": 1630308676, + "conversationId": "cometchat-uid-2_user_cometchat-uid-4" + }, + { + "uid": "cometchat-uid-3", + "name": "George Alan", + "link": "https://data-us.cometchat.io/assets", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "metadata": { + "contactNumber": "0123456789" + }, + "status": "offline", + "role": "default", + "blockedByMe": true, + "blockedByMeAt": 1638346853, + "blockedAt": 1638346853, + "createdAt": 1629869270, + "updatedAt": 1638351060, + "conversationId": "cometchat-uid-3_user_cometchat-uid-4" + } + ], + "meta": { + "pagination": { + "total": 0, + "count": 5, + "per_page": 100, + "current_page": 1, + "total_pages": 1 + } + }, + "cursor": { + "updatedAt": 1638354799, + "affix": "prepend" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "put": { + "tags": [ + "Users" + ], + "summary": "Reactivate", + "description": "Reactivates users for the specified UIDs", + "operationId": "reactivate-users", + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "uidsToActivate": { + "description": "UIDs that needs to reactivated.", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "tag1" + ] + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "re-activated users", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "nonDeactivatedUids": { + "type": "array", + "items": {} } + }, + "type": "object" } + }, + "type": "object" }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "API Keys" - ], - "summary": "Delete", - "description": "Deletes an API key", - "operationId": "delete-apikey", - "parameters": [ - { - "name": "apiKey", - "in": "path", - "description": "An apikey to delete.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "API Key.", - "value": "" - } - } + "example": { + "data": { + "nonDeactivatedUids": [ + "cometchat-uid-2", + "cometchat-uid-3" + ] + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Users" + ], + "summary": "Deactivate", + "description": "Deactivates users for the specified UIDs", + "operationId": "deactivate-users", + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "uidsToDeactivate": { + "description": "UIDs that needs to deactivated.", + "type": "array", + "items": { + "type": "string" } - ], - "responses": { - "200": { - "description": "A list of api keys", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "The Api Key fcf32d085482db7ef10e971967d70a91cdb6677a has been deleted successfully." - } - } - } + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Deactivated Users", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "deactivatedUids": { + "type": "array", + "items": {} } + }, + "type": "object" } + }, + "type": "object" }, - "security": [ - { - "apiKey": [] + "example": { + "data": { + "deactivatedUids": [ + "cometchat-uid-2", + "cometchat-uid-3" + ] + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/users/{uid}": { + "get": { + "tags": [ + "Users" + ], + "summary": "Get", + "description": "Retrieves user details for a specified UID.", + "operationId": "get-user", + "parameters": [ + { + "name": "uid", + "in": "path", + "description": "UID of the user on whose behalf the action is performed.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "UID", + "value": "cometchat-uid-1" + } + } + }, + { + "$ref": "#/components/parameters/onBehalfOf" + } + ], + "responses": { + "200": { + "description": "Fetched User", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } - ] + }, + "type": "object" + }, + "example": { + "data": { + "uid": "cometchat-uid-6", + "name": "Barry Allen", + "link": "https://cometchat.com", + "avatar": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "status": "offline", + "role": "manager", + "createdAt": 1638354015 + } + } + } } + } }, - "/users": { - "post": { - "tags": [ - "Users" - ], - "summary": "Create", - "description": "Creates a new user", - "operationId": "creates-user", - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "uid", - "name" - ], - "properties": { - "uid": { - "description": "Unique identifier of the user. Please refer to https://www.cometchat.com/docs/rest-api/users", - "type": "string" - }, - "name": { - "description": "Display name of the user.", - "type": "string" - }, - "avatar": { - "description": "URL to profile picture of the user.", - "type": "string" - }, - "link": { - "description": "URL to profile page.", - "type": "string" - }, - "role": { - "description": "User role of the user for role based access control.", - "type": "string" - }, - "statusMessage": { - "description": "A message providing context related to the user's current status or mood.", - "type": "string" - }, - "metadata": { - "description": "Additional information about the user as JSON. If you plan to use [Email Notification](doc:android-extensions-email-notification#section-configure-your-backend-to-store-emails) or [SMS Notification](doc:android-extensions-sms-notification#section-configure-your-backend-to-store-phone-number) extensions, Please add the private metadata here.", - "properties": { - "@private": { - "properties": { - "email": { - "type": "string" - }, - "contactNumber": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object", - "default": { - "@private": { - "email": "user@email.com", - "contactNumber": "0123456789" - } - } - }, - "tags": { - "description": "A list of tags to identify specific users.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "withAuthToken": { - "description": "Includes authToken of created user in response.", - "type": "boolean" - } - }, - "type": "object" - } - } - } + "security": [ + { + "apiKey": [] + } + ] + }, + "put": { + "tags": [ + "Users" + ], + "summary": "Update", + "description": "Updates a user with the provided UID", + "operationId": "update-user", + "parameters": [ + { + "name": "uid", + "in": "path", + "description": "An UID of a user.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "UID", + "value": "cometchat-uid-1" + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "name": { + "description": "Display name of the user.", + "type": "string" + }, + "avatar": { + "description": "URL to profile picture of the user.", + "type": "string" + }, + "link": { + "description": "URL to profile page.", + "type": "string" + }, + "role": { + "description": "User role of the user for role based access control.", + "type": "string" + }, + "statusMessage": { + "description": "A message providing context related to the user's current status or mood.", + "type": "string" + }, + "metadata": { + "description": "Additional information about the user as JSON. If you plan to use [Email Notification](doc:android-extensions-email-notification#section-configure-your-backend-to-store-emails) or [SMS Notification](doc:android-extensions-sms-notification#section-configure-your-backend-to-store-phone-number) extensions, Please add the private metadata here.", + "properties": { + "@private": { + "properties": { + "email": { + "type": "string" + }, + "contactNumber": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object", + "default": { + "@private": { + "email": "user@email.com", + "contactNumber": "0123456789" + } + } + }, + "tags": { + "description": "A list of tags to identify specific users.", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "tag1" + ] + }, + "unset": { + "description": "The unsettable user attributes are avatar, link and metadata.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "avatar", + "link", + "metadata" + ], + "description": "User attributes that can be unset." + }, + "default": [ + "avatar" + ] + } }, - "responses": { - "200": { - "description": "Create User", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "uid": "superhero6", - "name": "Barry Allen", - "link": "http://placehold.it", - "avatar": "http://placehold.it/120x120&text=image1", - "metadata": { - "rawMetadata": "{'gender':'Male'}" - }, - "status": "offline", - "role": "manager", - "createdAt": 1638354015, - "tags": [ - "Engineer", - "manager" - ], - "authToken": "superhero6_16383540156641d37a023c75d26f4c22a21ff126" - } - } - } - } + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Updated user", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "security": [ - { - "apiKey": [] + "example": { + "data": { + "uid": "cometchat-uid-6", + "name": "Barry Allen", + "link": "https://cometchat.com", + "avatar": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "metadata": { + "email": "user@email.com", + "contactNumber": "0123456789" + }, + "status": "offline", + "role": "manager", + "createdAt": 1638354015, + "updatedAt": 1638354799, + "tags": [ + "cometchat-guid-1" + ] + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Users" + ], + "summary": "Delete", + "description": "Deletes a user for the specified UID", + "operationId": "delete-user", + "parameters": [ + { + "name": "uid", + "in": "path", + "description": "An UID of a user.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "UID", + "value": "cometchat-uid-1" + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "permanent": { + "description": "Permanently deletes the user along with all the messages, conversations, etc.", + "type": "boolean", + "default": "false" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Deleted User", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } - ] - }, - "get": { - "tags": [ - "Users" + }, + "type": "object" + }, + "example": { + "data": { + "success": true, + "message": "User with cometchat-uid-6 has been deleted successfully." + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/groups": { + "post": { + "tags": [ + "Groups" + ], + "summary": "Create", + "description": "Creates a group.", + "operationId": "create-group", + "parameters": [ + { + "$ref": "#/components/parameters/onBehalfOf" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": [ + "guid", + "name", + "type" ], - "summary": "List", - "description": "Lists all the users of an app", - "operationId": "list-users", - "parameters": [ - { - "name": "searchKey", - "in": "query", - "description": "The searchKey query parameter work for both name and uid:\nIt performs a LIKE% query, searching for uid/name values starting with the specified characters.", - "schema": { - "type": "string" - } - }, - { - "name": "searchIn", - "in": "query", - "description": "Searches for specified keyword in name,UID or both.", - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "name", - "uid" - ] - } - } - }, - { - "name": "status", - "in": "query", - "description": "User list can be fetched depending on the user status. (available,offline).", - "schema": { - "type": "string", - "enum": [ - "available", - "offline" - ] - } - }, - { - "name": "count", - "in": "query", - "description": "Fetches users count.", - "schema": { - "type": "boolean" - } - }, - { - "name": "perPage", - "in": "query", - "description": "Number of users to be fetched in a request. The default value is 100 and the maximum value is 1000.", - "schema": { - "type": "integer", - "default": "100" - } - }, - { - "name": "page", - "in": "query", - "description": "Page Number.", - "schema": { - "type": "integer", - "default": "1" - } + "properties": { + "guid": { + "description": "A unique identifier for a group.", + "type": "string" + }, + "name": { + "description": "Name of the group.", + "type": "string" + }, + "type": { + "description": "Type of the group. Can be public, password or private.", + "type": "string", + "enum": [ + "public", + "password", + "private" + ] + }, + "password": { + "description": "A password required to join the the group with type password", + "type": "string" + }, + "icon": { + "description": "An URL for a group icon.", + "type": "string" + }, + "description": { + "description": "Description about the group", + "type": "string" + }, + "metadata": { + "description": "Additional data for the group.", + "type": "object" + }, + "owner": { + "description": "The UID that you wish to make owner of the group", + "type": "string" + }, + "tags": { + "description": "List of tags to identify specific groups.", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "tag1" + ] + }, + "members": { + "description": "Add members to a group with scope admins,moderators and participants.", + "properties": { + "admins": { + "description": "UIDs of users to be made admins.", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "moderators": { + "description": "UIDs of users to be made moderators.", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "participants": { + "description": "UIDs of users to be made participants.", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "usersToBan": { + "description": "UIDs of the users to be banned from the group.", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + } }, - { - "name": "role", - "in": "query", - "description": "Retrieves user list based on role.", - "schema": { + "type": "object" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Create Group", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "guid": "project-group", + "name": "Project Group", + "description": "project related discussions between members", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "type": "public", + "scope": "admin", + "membersCount": 1, + "joinedAt": 1638440784, + "conversationId": "group_project-group", + "hasJoined": true, + "createdAt": 1638440784, + "owner": "cometchat-uid-4", + "tags": [ + "friends", + "project" + ] + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "get": { + "tags": [ + "Groups" + ], + "summary": "List", + "description": "Lists the groups.", + "operationId": "list-groups", + "parameters": [ + { + "$ref": "#/components/parameters/onBehalfOf" + }, + { + "name": "searchKey", + "in": "query", + "description": "Searches for given keyword in group's list (either GUID, name or email).", + "schema": { + "type": "string" + } + }, + { + "name": "searchIn", + "in": "query", + "description": "Searches for specified keyword in name,GUID or both.", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "sortBy", + "in": "query", + "description": "Sorts the group list by either Name,Guid or Created at . Available values: name, guid, createdAt", + "schema": { + "type": "string", + "enum": [ + "name", + "guid", + "createdAt" + ], + "description": "Sort field for listing groups." + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sorts the group list in ascending or descending order. Available values: asc, desc", + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "description": "Sort order." + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of groups to be fetched in a request. The default value is 100 and the maximum value is 1000.", + "schema": { + "type": "integer", + "default": "100" + } + }, + { + "name": "affix", + "in": "query", + "description": "Determines whether to fetch the groups either before or after createdAt/updatedAt timestamp. Possible values are append(after) and prepend(before).", + "schema": { + "type": "string", + "enum": [ + "append", + "prepend" + ], + "description": "Cursor pagination direction." + } + }, + { + "name": "updatedAt", + "in": "query", + "description": "Fetches the groups list after a particular updatedAt timestamp.", + "schema": { + "type": "integer" + } + }, + { + "name": "withTags", + "in": "query", + "description": "Includes those groups that have tags.", + "schema": { + "type": "boolean" + } + }, + { + "name": "tags", + "in": "query", + "description": "Fetches only those groups that have these tags.", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "type", + "in": "query", + "description": "Fetches groups based on group type(public, protected, password).", + "schema": { + "type": "string", + "enum": [ + "public", + "private", + "password" + ], + "description": "Group type. public: anyone can join. password: requires password. private: invitation only." + } + }, + { + "name": "types", + "in": "query", + "description": "Fetches groups based on multiple types.", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer" + } + }, + { + "name": "hasJoined", + "in": "query", + "description": "Fetches all the joined groups of a user. This will work only with onBehalfOf parameter in header. It accepts only true as a value, setting it as false simply removes this filter.", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "A list of groups", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "0": { + "type": "object" + }, + "guid": { "type": "string" - } - }, - { - "name": "withTags", - "in": "query", - "description": "Includes tags in the response.", - "schema": { + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "type": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "membersCount": { + "type": "integer" + }, + "joinedAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + }, + "hasJoined": { "type": "boolean" - } - }, - { - "name": "tags", - "in": "query", - "description": "Fetches only those users that have these tags.", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "roles", - "in": "query", - "description": "Fetches users based on multiple roles.", - "schema": { + }, + "createdAt": { + "type": "integer" + }, + "owner": { + "type": "string" + }, + "tags": { "type": "array", - "items": { - "type": "string" - } + "items": {} + } } + } }, - { - "name": "onlyDeactivated", - "in": "query", - "description": "Fetches all the deactivated users of an app.", - "schema": { - "type": "boolean" - } + "meta": { + "type": "object" }, - { - "name": "withDeactivated", - "in": "query", - "description": "Fetches all the users including deactivated users.", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "description": "A list of users", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "uid": "superhero6", - "name": "Barry Allen", - "link": "http://placehold.it", - "avatar": "http://placehold.it/120x120&text=image1", - "metadata": { - "email": "user@email.com", - "contactNumber": "0123456789" - }, - "status": "offline", - "role": "manager", - "createdAt": 1638354015, - "updatedAt": 1638354799, - "conversationId": "superhero4_user_superhero6" - }, - { - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/captainamerica.png", - "status": "offline", - "role": "default", - "createdAt": 1629869270, - "updatedAt": 1630308676, - "conversationId": "superhero2_user_superhero4" - }, - { - "uid": "superhero3", - "name": "Captain America", - "link": "https://data-us.cometchat.io/assets", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/captainamerica.png", - "metadata": { - "contactNumber": "0123456789" - }, - "status": "offline", - "role": "default", - "blockedByMe": true, - "blockedByMeAt": 1638346853, - "blockedAt": 1638346853, - "createdAt": 1629869270, - "updatedAt": 1638351060, - "conversationId": "superhero3_user_superhero4" - } - ], - "meta": { - "pagination": { - "total": 0, - "count": 5, - "per_page": 100, - "current_page": 1, - "total_pages": 1 - } - }, - "cursor": { - "updatedAt": 1638354799, - "affix": "prepend" - } - } - } + "cursor": { + "properties": { + "updatedAt": { + "type": "integer" + }, + "affix": { + "type": "string" } + }, + "type": "object" } + }, + "type": "object" }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "Users" - ], - "summary": "Reactivate", - "description": "Reactivates users for the specified UIDs", - "operationId": "reactivate-users", - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "uidsToActivate": { - "description": "UIDs that needs to reactivated.", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "tag1" - ] - } - }, - "type": "object" - } - } + "example": { + "data": { + "0": { + "0": { + "guid": "project-group-2", + "name": "Project Group 2", + "description": "project related discussions between members", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "type": "public", + "scope": "admin", + "membersCount": 1, + "joinedAt": 1638440784, + "conversationId": "group_project-group", + "hasJoined": true, + "createdAt": 1638440784, + "owner": "cometchat-uid-4", + "tags": [ + "friends", + "project" + ] + }, + "guid": "project-group", + "name": "Project Group", + "description": "project related discussions between members", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "type": "public", + "scope": "admin", + "membersCount": 1, + "joinedAt": 1638440784, + "conversationId": "group_project-group", + "hasJoined": true, + "createdAt": 1638440784, + "owner": "cometchat-uid-4", + "tags": [ + "friends", + "project" + ] + }, + "meta": { + "pagination": { + "total": 0, + "count": 5, + "per_page": 100, + "current_page": 1, + "total_pages": 1 + }, + "cursor": { + "updatedAt": 1638354799, + "affix": "prepend" + } + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/groups/{guid}": { + "get": { + "tags": [ + "Groups" + ], + "summary": "Get", + "description": "Retrieves details of a group for a given GUID.", + "operationId": "get-group", + "parameters": [ + { + "$ref": "#/components/parameters/onBehalfOf" + }, + { + "$ref": "#/components/parameters/guid" + } + ], + "responses": { + "200": { + "description": "Get group", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "re-activated users", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "nonDeactivatedUids": { - "type": "array", - "items": {} - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "nonDeactivatedUids": [ - "superhero2", - "superhero3" - ] - } - } - } - } - } + "example": { + "data": { + "guid": "project-group", + "name": "Project Group", + "description": "project related discussions between members", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "type": "public", + "scope": "admin", + "membersCount": 1, + "joinedAt": 1638440784, + "conversationId": "group_project-group", + "hasJoined": true, + "createdAt": 1638440784, + "owner": "cometchat-uid-4", + "tags": [ + "friends", + "project" + ] + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "put": { + "tags": [ + "Groups" + ], + "summary": "Update", + "description": "Updates the group details for a given GUID.", + "operationId": "update-group", + "parameters": [ + { + "$ref": "#/components/parameters/onBehalfOf" + }, + { + "$ref": "#/components/parameters/guid" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "name": { + "description": "Name of the group.", + "type": "string" + }, + "type": { + "description": "The type of the group. The available values are: public, password and private.", + "type": "string", + "enum": [ + "public", + "password", + "private" + ] + }, + "password": { + "description": "A password required to join the the group with type password", + "type": "string" + }, + "icon": { + "description": "An URL for a group icon.", + "type": "string" + }, + "description": { + "description": "Description about the group", + "type": "string" + }, + "metadata": { + "description": "Additional group data.", + "type": "object" + }, + "owner": { + "description": "The UID that you wish to make the owner of the group.This field will be ignored if onBehalfOf parameter in the header is present in the request.", + "type": "string" + }, + "tags": { + "description": "Updates tags of a group.", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "tag1" + ] + }, + "unset": { + "description": "The unsettable user attributes are icon, description and metadata.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "icon", + "description", + "metadata" + ], + "description": "Group attributes that can be unset." + } + } }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Users" - ], - "summary": "Deactivate", - "description": "Deactivates users for the specified UIDs", - "operationId": "deactivate-users", - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "uidsToDeactivate": { - "description": "UIDs that needs to deactivated.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - } - } + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Get group", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Deactivated Users", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "deactivatedUids": { - "type": "array", - "items": {} - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "deactivatedUids": [ - "superhero2", - "superhero3" - ] - } - } - } - } + "example": { + "data": { + "guid": "project-group", + "name": "Project Group", + "description": "project related discussions between members", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "type": "public", + "scope": "admin", + "membersCount": 1, + "joinedAt": 1638440784, + "conversationId": "group_project-group", + "hasJoined": true, + "createdAt": 1638440784, + "owner": "cometchat-uid-4", + "tags": [ + "friends", + "project" + ] + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Groups" + ], + "summary": "Delete", + "description": "Deletes a group with a given GUID.", + "operationId": "delete-group", + "parameters": [ + { + "$ref": "#/components/parameters/onBehalfOf" + }, + { + "$ref": "#/components/parameters/guid" + } + ], + "responses": { + "200": { + "description": "Deleted Group", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "security": [ - { - "apiKey": [] + "example": { + "data": { + "success": true, + "message": "Group with guid project-group has been deleted successfully." + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/messages": { + "post": { + "tags": [ + "Messages" + ], + "summary": "Send Message", + "description": "Sends Message on behalf of a user.", + "operationId": "send-message", + "parameters": [ + { + "$ref": "#/components/parameters/onBehalfOf" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "discriminator": { + "propertyName": "category", + "mapping": { + "message": "#/components/schemas/messageCategorySchema", + "custom": "#/components/schemas/customCategorySchema" + } + }, + "oneOf": [ + { + "title": "Message", + "$ref": "#/components/schemas/messageCategorySchema" + }, + { + "title": "Custom", + "$ref": "#/components/schemas/customCategorySchema" + } + ] + }, + "examples": {} + } + } + }, + "responses": { + "200": { + "description": "Create Message", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } - ] + }, + "type": "object" + }, + "example": { + "data": { + "id": "1", + "conversationId": "cometchat-uid-3_user_cometchat-uid-5", + "sender": "cometchat-uid-3", + "receiverType": "user", + "receiver": "cometchat-uid-5", + "category": "message", + "type": "text", + "data": { + "text": "test hello", + "metadata": { + "key1": "val1" + }, + "entities": { + "sender": { + "entity": { + "uid": "cometchat-uid-3", + "name": "Nancy Grace", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-3.webp", + "status": "offline", + "role": "default", + "createdAt": 1638361550 + }, + "entityType": "user" + }, + "receiver": { + "entity": { + "uid": "cometchat-uid-5", + "name": "John Paul", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-5.webp", + "status": "offline", + "role": "default", + "createdAt": 1638361550, + "conversationId": "cometchat-uid-3_user_cometchat-uid-5" + }, + "entityType": "user" + } + } + }, + "sentAt": 1638423490, + "updatedAt": 1638423490 + } + } + } } + } }, - "/users/{uid}": { - "get": { - "tags": [ - "Users" - ], - "summary": "Get", - "description": "Retrieves user details for a specified UID.", - "operationId": "get-user", - "parameters": [ - { - "name": "uid", - "in": "path", - "description": "UID of the user on whose behalf the action is performed.", - "required": true, - "schema": { + "security": [ + { + "apiKey": [] + } + ] + }, + "get": { + "tags": [ + "Messages" + ], + "summary": "List Messages", + "description": "Fetches the messages list.", + "operationId": "list-all-messages", + "parameters": [ + { + "$ref": "#/components/parameters/onBehalfOf" + }, + { + "name": "searchKey", + "in": "query", + "description": "Fetches messages that include the searchKey.", + "schema": { + "type": "string" + } + }, + { + "name": "hideMessagesFromBlockedUsers", + "in": "query", + "description": "Fetches messages sent by users who are blocked by the requesting user.", + "schema": { + "type": "boolean" + } + }, + { + "name": "hasAttachments", + "in": "query", + "description": "Fetches messages that include attachments.", + "schema": { + "type": "boolean" + } + }, + { + "name": "attachmentTypes", + "in": "query", + "description": "Displays messages according to the type of attachment. Supported types include: image, video, audio, and file.", + "schema": { + "type": "string", + "enum": [ + "image", + "video", + "audio", + "file" + ], + "description": "Media message type." + } + }, + { + "name": "hasMentions", + "in": "query", + "description": "Fetches messages that include mentions.", + "schema": { + "type": "boolean" + } + }, + { + "name": "hasLinks", + "in": "query", + "description": "Fetches messages that include links.", + "schema": { + "type": "boolean" + } + }, + { + "name": "mentionedUids", + "in": "query", + "description": "Fetches messages that include the mentioned comma-separated UIDs.", + "schema": { + "type": "boolean" + } + }, + { + "name": "hasReactions", + "in": "query", + "description": "Fetches messages that include reactions.", + "schema": { + "type": "boolean" + } + }, + { + "name": "receiverType", + "in": "query", + "description": "Displays messages based on receiverType (user/group)", + "schema": { + "type": "string", + "enum": [ + "user", + "group" + ], + "description": "Receiver type. user: one-on-one. group: group conversation." + } + }, + { + "name": "affix", + "in": "query", + "description": "Determines whether to pull the messages either before or after any message id. Possible values are append(after) and prepend(before).", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "query", + "description": "Retrieves all those messages after the passed id.", + "schema": { + "type": "string" + } + }, + { + "name": "category", + "in": "query", + "description": "Filters messages by category. Possible values: message, action and custom.", + "schema": { + "type": "string", + "enum": [ + "message", + "action", + "custom" + ], + "description": "Message category filter." + } + }, + { + "name": "type", + "in": "query", + "description": "Filters messages by type.", + "schema": { + "type": "string" + } + }, + { + "name": "sender", + "in": "query", + "description": "Filters messages with sender. If onBehalfOf header is also set then the messages from their common conversations will be filtered.", + "schema": { + "type": "string" + } + }, + { + "name": "mentionsWithBlockedInfo", + "in": "query", + "description": "For the mentioned users, provides blocked information with respect to the UID in onBehalfOf header.", + "schema": { + "type": "boolean" + } + }, + { + "name": "mentionsWithTagInfo", + "in": "query", + "description": "Provides user tags for the mentioned users.", + "schema": { + "type": "boolean" + } + }, + { + "name": "hideDeleted", + "in": "query", + "description": "Hides deleted messages from List.", + "schema": { + "type": "boolean" + } + }, + { + "name": "onlyDeleted", + "in": "query", + "description": "Includes only deleted messages in List.", + "schema": { + "type": "boolean" + } + }, + { + "name": "hideReplies", + "in": "query", + "description": "Shows only messages skipping the replies in the message thread.", + "schema": { + "type": "boolean" + } + }, + { + "name": "count", + "in": "query", + "description": "Includes unread message count in List.", + "schema": { + "type": "boolean" + } + }, + { + "name": "unread", + "in": "query", + "description": "Retrieves all the unread messages in a conversation. It must be used alongside count query parameter.", + "schema": { + "type": "boolean" + } + }, + { + "name": "sentAt", + "in": "query", + "description": "Fetches the messages list after a particular sentAt timestamp.", + "schema": { + "type": "integer" + } + }, + { + "name": "limit", + "in": "query", + "description": "The number of records to fetch. Minimum value: 1, Maximum value: 1000", + "schema": { + "type": "integer", + "default": "10" + } + }, + { + "name": "conversationId", + "in": "query", + "description": "Fetches all the messages belong to a particular conversation.", + "schema": { + "type": "string" + } + }, + { + "name": "withTags", + "in": "query", + "description": "This will fetch messages along with the tags.", + "schema": { + "type": "boolean" + } + }, + { + "name": "tags", + "in": "query", + "description": "This will fetch only those messages belonging to the mentioned tags.", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "categories", + "in": "query", + "description": "Fetches messages based on multiple categories.", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "types", + "in": "query", + "description": "Fetches messages based on multiple types.", + "schema": { + "type": "array", + "items": {} + } + }, + { + "name": "fromTimestamp", + "in": "query", + "description": "Fetches the messages from this timestamp.", + "schema": { + "type": "integer" + } + }, + { + "name": "toTimestamp", + "in": "query", + "description": "Fetches the messages till this timestamp. It will be ignored if fromTimestamp is missing or empty.", + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "List Message", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "string" - }, - "examples": { - "string": { - "summary": "UID", - "value": "" - } + }, + "conversationId": { + "type": "string" + }, + "sender": { + "type": "string" + }, + "receiverType": { + "type": "string" + }, + "receiver": { + "type": "string" + }, + "category": { + "type": "string" + }, + "type": { + "type": "string" + }, + "data": { + "type": "object" + }, + "sentAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + } } + } }, - { - "$ref": "#/components/parameters/onBehalfOf" - } - ], - "responses": { - "200": { - "description": "Fetched User", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "uid": "superhero6", - "name": "Barry Allen", - "link": "http://placehold.it", - "avatar": "http://placehold.it/120x120&text=image1", - "status": "offline", - "role": "manager", - "createdAt": 1638354015 - } - } - } - } + "meta": { + "type": "object" } + }, + "type": "object" }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "Users" - ], - "summary": "Update", - "description": "Updates a user with the provided UID", - "operationId": "update-user", - "parameters": [ - { - "name": "uid", - "in": "path", - "description": "An UID of a user.", - "required": true, - "schema": { - "type": "string" + "example": { + "data": [ + { + "id": "1", + "conversationId": "cometchat-uid-3_user_cometchat-uid-5", + "sender": "cometchat-uid-3", + "receiverType": "user", + "receiver": "cometchat-uid-5", + "category": "message", + "type": "text", + "data": { + "text": "test hello", + "entities": { + "sender": { + "entity": { + "uid": "cometchat-uid-3", + "name": "Nancy Grace", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-3.webp", + "status": "offline", + "createdAt": 1638361550 + }, + "entityType": "user" + }, + "receiver": { + "entity": { + "uid": "cometchat-uid-5", + "name": "John Paul", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-5.webp", + "status": "offline", + "createdAt": 1638361550, + "conversationId": "cometchat-uid-3_user_cometchat-uid-5" + }, + "entityType": "user" + } }, - "examples": { - "string": { - "summary": "UID", - "value": "" - } + "metadata": { + "key1": "val1" } + }, + "sentAt": 1638423490, + "updatedAt": 1638423490 } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "name": { - "description": "Display name of the user.", - "type": "string" - }, - "avatar": { - "description": "URL to profile picture of the user.", - "type": "string" - }, - "link": { - "description": "URL to profile page.", - "type": "string" - }, - "role": { - "description": "User role of the user for role based access control.", - "type": "string" - }, - "statusMessage": { - "description": "A message providing context related to the user's current status or mood.", - "type": "string" - }, - "metadata": { - "description": "Additional information about the user as JSON. If you plan to use [Email Notification](doc:android-extensions-email-notification#section-configure-your-backend-to-store-emails) or [SMS Notification](doc:android-extensions-sms-notification#section-configure-your-backend-to-store-phone-number) extensions, Please add the private metadata here.", - "properties": { - "@private": { - "properties": { - "email": { - "type": "string" - }, - "contactNumber": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object", - "default": { - "@private": { - "email": "user@email.com", - "contactNumber": "0123456789" - } - } - }, - "tags": { - "description": "A list of tags to identify specific users.", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "tag1" - ] - }, - "unset": { - "description": "The unsettable user attributes are avatar, link and metadata.", - "type": "array", - "items": { - "type": "string", - "enum": [ - "avatar", - "link", - "metadata" - ] - }, - "default": [ - "avatar" - ] - } - }, - "type": "object" - } - } + ], + "meta": { + "current": { + "limit": 100, + "count": 1 + }, + "next": { + "affix": "append", + "sentAt": 1638423490, + "id": "1" } - }, - "responses": { - "200": { - "description": "Updated user", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "uid": "superhero6", - "name": "Barry Allen", - "link": "http://placehold.it", - "avatar": "http://placehold.it/120x120&text=image1", - "metadata": { - "email": "user@email.com", - "contactNumber": "0123456789" - }, - "status": "offline", - "role": "manager", - "createdAt": 1638354015, - "updatedAt": 1638354799, - "tags": [ - "supergroup" - ] - } - } - } - } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/messages/{id}": { + "get": { + "tags": [ + "Messages" + ], + "summary": "Get Message", + "description": "Fetches the details of a message.", + "operationId": "get-message-details", + "parameters": [ + { + "$ref": "#/components/parameters/onBehalfOf" + }, + { + "name": "id", + "in": "path", + "description": "Id of the message whose details are to be fetched.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Message ID", + "value": "100" + } + } + } + ], + "responses": { + "200": { + "description": "Retreived Message", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "security": [ - { - "apiKey": [] + "example": { + "data": { + "id": "1", + "conversationId": "cometchat-uid-3_user_cometchat-uid-5", + "sender": "cometchat-uid-3", + "receiverType": "user", + "receiver": "cometchat-uid-5", + "category": "message", + "type": "text", + "data": { + "text": "test hello", + "metadata": { + "key1": "val1" + }, + "entities": { + "sender": { + "entity": { + "uid": "cometchat-uid-3", + "name": "Nancy Grace", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-3.webp", + "status": "offline", + "role": "default", + "createdAt": 1638361550 + }, + "entityType": "user" + }, + "receiver": { + "entity": { + "uid": "cometchat-uid-5", + "name": "John Paul", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-5.webp", + "status": "offline", + "role": "default", + "createdAt": 1638361550, + "conversationId": "cometchat-uid-3_user_cometchat-uid-5" + }, + "entityType": "user" + } + } + }, + "sentAt": 1638423490, + "updatedAt": 1638423490 + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "put": { + "tags": [ + "Messages" + ], + "summary": "Update Message", + "description": "Edits the message on behalf of a user.", + "operationId": "update-message", + "parameters": [ + { + "$ref": "#/components/parameters/onBehalfOf" + }, + { + "name": "id", + "in": "path", + "description": "Id of the message whose details are to be fetched.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Message ID", + "value": "100" + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "description": "The data that needs to be modified.", + "properties": { + "text": { + "type": "string" + }, + "metadata": { + "type": "object" + } + }, + "type": "object" + }, + "tags": { + "description": "A list of tags to identify specific messages.", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "tag1" + ] + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Updated Message", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } - ] - }, - "delete": { - "tags": [ - "Users" - ], - "summary": "Delete", - "description": "Deletes a user for the specified UID", - "operationId": "delete-user", - "parameters": [ - { - "name": "uid", - "in": "path", - "description": "An UID of a user.", - "required": true, - "schema": { - "type": "string" + }, + "type": "object" + }, + "example": { + "data": { + "id": "402", + "conversationId": "cometchat-uid-1_user_cometchat-uid-2", + "sender": "cometchat-uid-1", + "receiverType": "user", + "receiver": "cometchat-uid-2", + "category": "action", + "type": "message", + "data": { + "action": "edited", + "entities": { + "by": { + "entity": { + "uid": "cometchat-uid-1", + "name": "Updated Name", + "status": "offline", + "role": "default", + "createdAt": 1639448370, + "updatedAt": 1640599553 + }, + "entityType": "user" }, - "examples": { - "string": { - "summary": "UID", - "value": "" - } + "for": { + "entity": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "status": "offline", + "role": "default", + "createdAt": 1639448370 + }, + "entityType": "user" + }, + "on": { + "entity": { + "id": "69", + "conversationId": "cometchat-uid-1_user_cometchat-uid-2", + "sender": "cometchat-uid-1", + "receiverType": "user", + "receiver": "cometchat-uid-2", + "category": "message", + "type": "text", + "data": { + "text": "hello spider", + "entities": { + "sender": { + "entity": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", + "status": "offline", + "createdAt": 1639448370 + }, + "entityType": "user" + }, + "receiver": { + "entity": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "status": "offline", + "createdAt": 1639448370, + "conversationId": "cometchat-uid-1_user_cometchat-uid-2" + }, + "entityType": "user" + } + } + }, + "sentAt": 1640171302, + "editedAt": 1641477338, + "editedBy": "app_system", + "updatedAt": 1641477338, + "tags": [ + "t6" + ] + }, + "entityType": "message" } + } + }, + "sentAt": 1641477338, + "updatedAt": 1641477338 + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Messages" + ], + "summary": "Delete Message", + "description": "Deletes the message.", + "operationId": "delete-message", + "parameters": [ + { + "$ref": "#/components/parameters/onBehalfOf" + }, + { + "name": "id", + "in": "path", + "description": "Id of the message whose details are to be deleted.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Message ID", + "value": "100" + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "permanent": { + "description": "Deletes the message permanently.", + "type": "boolean" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Deleted Message", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "permanent": { - "description": "Permanently deletes the user along with all the messages, conversations, etc.", - "type": "boolean", - "default": "false" - } - }, - "type": "object" - } + }, + "type": "object" + }, + "example": { + "data": { + "id": "402", + "conversationId": "cometchat-uid-1_user_cometchat-uid-2", + "sender": "cometchat-uid-1", + "receiverType": "user", + "receiver": "cometchat-uid-2", + "category": "action", + "type": "message", + "data": { + "action": "edited", + "entities": { + "by": { + "entity": { + "uid": "cometchat-uid-1", + "name": "Updated Name", + "status": "offline", + "role": "default", + "createdAt": 1639448370 + }, + "entityType": "user" + }, + "for": { + "entity": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "status": "offline", + "role": "default", + "createdAt": 1639448370 + }, + "entityType": "user" + }, + "on": { + "entity": { + "id": "69", + "conversationId": "cometchat-uid-1_user_cometchat-uid-2", + "sender": "cometchat-uid-1", + "receiverType": "user", + "receiver": "cometchat-uid-2", + "category": "message", + "type": "text", + "data": { + "text": "hello spider", + "entities": { + "sender": { + "entity": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", + "status": "offline", + "createdAt": 1639448370 + }, + "entityType": "user" + }, + "receiver": { + "entity": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "status": "offline", + "createdAt": 1639448370, + "conversationId": "cometchat-uid-1_user_cometchat-uid-2" + }, + "entityType": "user" + } + } + }, + "sentAt": 1640171302, + "editedAt": 1641477338, + "editedBy": "app_system", + "updatedAt": 1641477338, + "tags": [ + "t6" + ] + }, + "entityType": "message" + } + } + }, + "sentAt": 1641477338, + "updatedAt": 1641477338 + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/messages/{id}/reactions": { + "get": { + "tags": [ + "Messages" + ], + "summary": "List all reactions", + "description": "Lists all the reactions for a message", + "operationId": "list-all-reactions", + "parameters": [ + { + "$ref": "#/components/parameters/onBehalfOf" + }, + { + "name": "id", + "in": "path", + "description": "Id of the message whose reactions are to be fetched.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Message ID", + "value": "100" + } + } + } + ], + "responses": { + "200": { + "description": "List Reactions", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "properties": { + "": { + "$ref": "#/components/schemas/reactionSchema" + } + }, + "type": "object" + } + }, + "meta": { + "properties": { + "": { + "$ref": "#/components/schemas/messageMetaSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Deleted User", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "User with superhero6 has been deleted successfully." - } - } - } + "example": { + "data": [ + { + "id": "1", + "messageId": "2", + "reaction": ":reaction", + "uid": "cometchat-uid-1", + "reactedAt": 1700210335, + "reactedBy": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph", + "status": "offline", + "role": "default", + "createdAt": 1698934972 + } + }, + { + "id": "2", + "messageId": "2", + "reaction": "😅", + "uid": "cometchat-uid-1", + "reactedAt": 1700210456, + "reactedBy": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph", + "status": "offline", + "role": "default", + "createdAt": 1698934972 + } + }, + { + "id": "5", + "messageId": "2", + "reaction": "😒", + "uid": "cometchat-uid-2", + "reactedAt": 1700230866, + "reactedBy": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "status": "offline", + "role": "default", + "createdAt": 1698934987, + "conversationId": "cometchat-uid-1_user_cometchat-uid-2" + } + } + ], + "meta": { + "current": { + "limit": 100, + "count": 3 + }, + "next": { + "affix": "append", + "id": "5" + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/messages/{id}/reactions/{reaction}": { + "get": { + "tags": [ + "Messages" + ], + "summary": "List reactions with a specific emoji/unicodes", + "description": "List reactions with a specific emoji/unicodes for a message", + "operationId": "get-message-reactions", + "parameters": [ + { + "$ref": "#/components/parameters/onBehalfOf" + }, + { + "name": "id", + "in": "path", + "description": "Id of the message whose reactions are to be fetched.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Message ID", + "value": "100" + } + } + }, + { + "name": "reaction", + "in": "path", + "description": "reaction whose details are to be fetched.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Reaction", + "value": "😀" + } + } + } + ], + "responses": { + "200": { + "description": "Get Reactions", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "properties": { + "": { + "$ref": "#/components/schemas/reactionSchema" + } + }, + "type": "object" + } + }, + "meta": { + "properties": { + "": { + "$ref": "#/components/schemas/messageMetaSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "security": [ - { - "apiKey": [] + "example": { + "data": [ + { + "id": "1", + "messageId": "1", + "reaction": "😅", + "uid": "cometchat-uid-1", + "reactedAt": 1702638595, + "reactedBy": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", + "status": "available", + "role": "default", + "lastActiveAt": 1689082633, + "createdAt": 1684751861 + } + } + ], + "meta": { + "current": { + "limit": 100, + "count": 1 + }, + "next": { + "affix": "append", + "id": "1" } - ] + } + } + } } + } }, - "/groups": { - "post": { - "tags": [ - "Groups" - ], - "summary": "Create", - "description": "Creates a group.", - "operationId": "create-group", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "guid", - "name", - "type" - ], - "properties": { - "guid": { - "description": "A unique identifier for a group.", - "type": "string" - }, - "name": { - "description": "Name of the group.", - "type": "string" - }, - "type": { - "description": "Type of the group. Can be public, password or private.", - "type": "string", - "enum": [ - "public", - "password", - "private" - ] - }, - "password": { - "description": "A password required to join the the group with type password", - "type": "string" - }, - "icon": { - "description": "An URL for a group icon.", - "type": "string" - }, - "description": { - "description": "Description about the group", - "type": "string" - }, - "metadata": { - "description": "Additional data for the group.", - "type": "object" - }, - "owner": { - "description": "The UID that you wish to make owner of the group", - "type": "string" - }, - "tags": { - "description": "List of tags to identify specific groups.", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "tag1" - ] - }, - "members": { - "description": "Add members to a group with scope admins,moderators and participants.", - "properties": { - "admins": { - "description": "UIDs of users to be made admins.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "moderators": { - "description": "UIDs of users to be made moderators.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "usersToBan": { - "description": "UIDs of the users to be banned from the group.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "participants": { - "description": "UIDs of users to be made participants.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - } - }, - "type": "object", - "additionalProperties": false, - "x-omitempty": true - } - }, - "type": "object" - }, - "examples": { - "Send Moderation Message": { - "summary": "Send Moderation Message", - "value": { - "guid": "testgroup", - "name": "Test Group", - "type": "public" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "Create Group", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "guid": "project-group", - "name": "Project Group", - "description": "project related discussions between members", - "icon": "http://placehold.it/120x120&text=image1", - "type": "public", - "scope": "admin", - "membersCount": 1, - "joinedAt": 1638440784, - "conversationId": "group_project-group", - "hasJoined": true, - "createdAt": 1638440784, - "owner": "superhero4", - "tags": [ - "friends", - "project" - ] - } - } - } + "security": [ + { + "apiKey": [] + } + ] + }, + "post": { + "tags": [ + "Messages" + ], + "summary": "Add reaction", + "description": "Adds a reaction to a message.", + "operationId": "add-message-reactions", + "parameters": [ + { + "$ref": "#/components/parameters/requiredonBehalfOf" + }, + { + "name": "id", + "in": "path", + "description": "Id of the message to react.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Message ID", + "value": "100" + } + } + }, + { + "name": "reaction", + "in": "path", + "description": "reaction to react.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Reaction", + "value": "😀" + } + } + } + ], + "responses": { + "200": { + "description": "Adding reaction", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/messageReactionSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "security": [ - { - "apiKey": [] - } - ] - }, - "get": { - "tags": [ - "Groups" - ], - "summary": "List", - "description": "Lists the groups.", - "operationId": "list-groups", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - }, - { - "name": "searchKey", - "in": "query", - "description": "Searches for given keyword in group's list (either GUID, name or email).", - "schema": { - "type": "string" - } - }, - { - "name": "searchIn", - "in": "query", - "description": "Searches for specified keyword in name,GUID or both.", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "sortBy", - "in": "query", - "description": "Sorts the group list by either Name,Guid or Created at . Available values: name, guid, createdAt", - "schema": { - "type": "string", - "enum": [ - "name", - "guid", - "createdAt" - ] - } - }, - { - "name": "sortOrder", - "in": "query", - "description": "Sorts the group list in ascending or descending order. Available values: asc, desc", - "schema": { - "type": "string", - "enum": [ - "asc", - "desc" - ] + "example": { + "data": { + "id": "2", + "conversationId": "cometchat-uid-1_user_cometchat-uid-2", + "sender": "cometchat-uid-1", + "receiverType": "user", + "receiver": "cometchat-uid-2", + "category": "message", + "type": "text", + "data": { + "text": "Hi,", + "entities": { + "sender": { + "entity": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph", + "role": "default", + "status": "offline" + }, + "entityType": "user" + }, + "receiver": { + "entity": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "role": "default", + "status": "offline", + "conversationId": "cometchat-uid-1_user_cometchat-uid-2" + }, + "entityType": "user" + } + }, + "reactions": [ + { + "reaction": ":reaction", + "count": 1 + }, + { + "reaction": "😅", + "count": 1 + }, + { + "reaction": "😒", + "count": 1, + "reactedByMe": true + }, + { + "reaction": "🤨", + "count": 1, + "reactedByMe": true } + ] }, - { - "name": "perPage", - "in": "query", - "description": "Number of groups to be fetched in a request. The default value is 100 and the maximum value is 1000.", - "schema": { - "type": "integer", - "default": "100" + "sentAt": 1700210266, + "updatedAt": 1700210266 + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Messages" + ], + "summary": "Remove reaction", + "description": "Removes a reaction from a message", + "operationId": "remove-message-reactions", + "parameters": [ + { + "$ref": "#/components/parameters/requiredonBehalfOf" + }, + { + "name": "id", + "in": "path", + "description": "Id of the message whose reaction is to be removed.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Message ID", + "value": "100" + } + } + }, + { + "name": "reaction", + "in": "path", + "description": "reaction to be removed.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Reaction", + "value": "😀" + } + } + } + ], + "responses": { + "200": { + "description": "Remove Reactions", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/messageReactionSchema" } - }, - { - "name": "affix", - "in": "query", - "description": "Determines whether to fetch the groups either before or after createdAt/updatedAt timestamp. Possible values are append(after) and prepend(before).", - "schema": { - "type": "string", - "enum": [ - "append", - "prepend" - ] + }, + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "id": "2", + "conversationId": "cometchat-uid-1_user_cometchat-uid-2", + "sender": "cometchat-uid-1", + "receiverType": "user", + "receiver": "cometchat-uid-2", + "category": "message", + "type": "text", + "data": { + "text": "Hi,", + "entities": { + "sender": { + "entity": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph", + "role": "default", + "status": "offline" + }, + "entityType": "user" + }, + "receiver": { + "entity": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "role": "default", + "status": "offline", + "conversationId": "cometchat-uid-1_user_cometchat-uid-2" + }, + "entityType": "user" + } + }, + "reactions": [ + { + "reaction": ":reaction", + "count": 1 + }, + { + "reaction": "😅", + "count": 1 + }, + { + "reaction": "😒", + "count": 1, + "reactedByMe": true } + ] }, - { - "name": "updatedAt", - "in": "query", - "description": "Fetches the groups list after a particular updatedAt timestamp.", - "schema": { + "sentAt": 1700210266, + "updatedAt": 1700210266 + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/conversations": { + "get": { + "tags": [ + "Conversations" + ], + "summary": "List conversations", + "description": "Fetching all the conversations", + "operationId": "list-all-conversations", + "parameters": [ + { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the user on whose behalf the action is performed.\n\n\nIf onBehalfOf header is not passed,then list Conversations API will be ordered based on `uid`, `updatedAt` and then `conversationWith`\n\nIf onBehalfOf header is passed, then list Conversations API will be ordered based on `updatedAt` and then `conversationWith`.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "searchKey", + "in": "query", + "description": "Fetches conversations that include the specified searchKey, allowing you to search for conversations based on the name of a User or Group.", + "schema": { + "type": "string" + } + }, + { + "name": "conversationType", + "in": "query", + "description": "Retrieves only the specified conversation type (user and group) while fetching conversations list.", + "schema": { + "type": "string" + } + }, + { + "name": "withTags", + "in": "query", + "description": "Includes those groups that have tags.", + "schema": { + "type": "boolean" + } + }, + { + "name": "tags", + "in": "query", + "description": "Fetches only those groups that have these tags.", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "withUserAndGroupTags", + "in": "query", + "description": "Retrieves conversations with tags", + "schema": { + "type": "boolean" + } + }, + { + "name": "userTags", + "in": "query", + "description": "Filters conversations by tags associated with the user entity in the conversationWith property.", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "groupTags", + "in": "query", + "description": "Filters conversations by tags associated with the group entity in the conversationWith property.", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "unread", + "in": "query", + "description": "Lists only unread conversations by excluding the conversations with conversation.unreadMessageCount=0", + "schema": { + "type": "boolean" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of conversations to be fetched in a request. The default value is 100 and the maximum value is 1000.", + "schema": { + "type": "integer", + "default": "100" + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "default": "1" + } + } + ], + "responses": { + "200": { + "description": "Get Conversations", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "conversationId": { + "type": "string" + }, + "conversationType": { + "type": "string" + }, + "unreadMessageCount": { + "type": "string" + }, + "createdAt": { "type": "integer" - } - }, - { - "name": "withTags", - "in": "query", - "description": "Includes those groups that have tags.", - "schema": { - "type": "boolean" - } - }, - { - "name": "tags", - "in": "query", - "description": "Fetches only those groups that have these tags.", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "type", - "in": "query", - "description": "Fetches groups based on group type(public, protected, password).", - "schema": { - "type": "string", - "enum": [ - "public", - "private", - "protected" - ] - } - }, - { - "name": "types", - "in": "query", - "description": "Fetches groups based on multiple types.", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "page", - "in": "query", - "description": "Page number.", - "schema": { + }, + "updatedAt": { "type": "integer" + }, + "lastMessage": { + "type": "object" + }, + "conversationWith": { + "type": "object" + } } + } }, - { - "name": "hasJoined", - "in": "query", - "description": "Fetches all the joined groups of a user. This will work only with onBehalfOf parameter in header. It accepts only true as a value, setting it as false simply removes this filter.", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "description": "A list of groups", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - }, - "cursor": { - "properties": { - "updatedAt": { - "type": "integer" - }, - "affix": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "guid": "project-group", - "name": "Project Group", - "description": "project related discussions between members", - "icon": "http://placehold.it/120x120&text=image1", - "type": "public", - "scope": "admin", - "membersCount": 1, - "joinedAt": 1638440784, - "conversationId": "group_project-group", - "hasJoined": true, - "createdAt": 1638440784, - "owner": "superhero4", - "tags": [ - "friends", - "project" - ] - }, - { - "guid": "project-group-2", - "name": "Project Group 2", - "description": "project related discussions between members", - "icon": "http://placehold.it/120x120&text=image1", - "type": "public", - "scope": "admin", - "membersCount": 1, - "joinedAt": 1638440784, - "conversationId": "group_project-group", - "hasJoined": true, - "createdAt": 1638440784, - "owner": "superhero4", - "tags": [ - "friends", - "project" - ] - } - ], - "meta": { - "pagination": { - "total": 0, - "count": 5, - "per_page": 100, - "current_page": 1, - "total_pages": 1 - }, - "cursor": { - "updatedAt": 1638354799, - "affix": "prepend" - } - } - } - } - } + "meta": { + "type": "object" } + }, + "type": "object" }, - "security": [ - { - "apiKey": [] + "example": { + "data": [ + { + "conversationId": "group_project-group", + "conversationType": "group", + "unreadMessageCount": "0", + "createdAt": 1630071782, + "updatedAt": 1630481413, + "lastMessage": { + "id": "50", + "conversationId": "group_project-group", + "sender": "cometchat-uid-4", + "receiverType": "group", + "receiver": "project-group", + "category": "action", + "type": "groupMember", + "data": { + "action": "unbanned", + "entities": { + "by": { + "entity": { + "uid": "cometchat-uid-4", + "name": "Susan Marie", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-4.webp", + "status": "offline", + "createdAt": 1629869270 + }, + "entityType": "user" + }, + "on": { + "entity": { + "uid": "cometchat-uid-3", + "link": "https://data-us.cometchat.io/assets", + "name": "George Alan", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "status": "offline", + "createdAt": 1629869270, + "updatedAt": 1629964825, + "conversationId": "cometchat-uid-3_user_cometchat-uid-4" + }, + "entityType": "user" + }, + "for": { + "entity": { + "guid": "project-group", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "name": "Project Group1", + "type": "private", + "owner": "cometchat-uid-4", + "createdAt": 1630071341, + "updatedAt": 1630305525, + "updatedBy": "cometchat-uid-4", + "description": "project related discussions between members", + "membersCount": 4, + "conversationId": "group_project-group" + }, + "entityType": "group" + } + } + }, + "sentAt": 1630305562, + "updatedAt": 1630305562, + "receipts": { + "data": [ + [] + ] + } + }, + "conversationWith": { + "guid": "project-group", + "name": "Project Group1", + "description": "project related discussions between members", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "type": "private", + "scope": "participant", + "membersCount": 4, + "joinedAt": 1630071782, + "conversationId": "group_project-group", + "hasJoined": true, + "createdAt": 1630071341, + "owner": "cometchat-uid-4", + "updatedAt": 1630308875, + "updatedBy": "cometchat-uid-4" + } + } + ], + "meta": { + "pagination": { + "total": 1, + "count": 1, + "per_page": 100, + "current_page": 1, + "total_pages": 1 } - ] + } + } + } } + } }, - "/groups/{guid}": { - "get": { - "tags": [ - "Groups" - ], - "summary": "Get", - "description": "Retrieves details of a group for a given GUID.", - "operationId": "get-group", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - }, - { - "$ref": "#/components/parameters/guid" - } - ], - "responses": { - "200": { - "description": "Get group", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "guid": "project-group", - "name": "Project Group", - "description": "project related discussions between members", - "icon": "http://placehold.it/120x120&text=image1", - "type": "public", - "scope": "admin", - "membersCount": 1, - "joinedAt": 1638440784, - "conversationId": "group_project-group", - "hasJoined": true, - "createdAt": 1638440784, - "owner": "superhero4", - "tags": [ - "friends", - "project" - ] - } - } - } - } + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/conversations/{conversationId}": { + "get": { + "tags": [ + "Conversations" + ], + "summary": "Get conversation", + "description": "This API is deprecated please use Get User/Group ConversationAPI", + "operationId": "get-conversation", + "parameters": [ + { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the user on whose behalf the action is performed.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/conversationId" + } + ], + "responses": { + "200": { + "description": "Get Conversations", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "Groups" - ], - "summary": "Update", - "description": "Updates the group details for a given GUID.", - "operationId": "update-group", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - }, - { - "$ref": "#/components/parameters/guid" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "name": { - "description": "Name of the group.", - "type": "string" - }, - "type": { - "description": "The type of the group. The available values are: public, password and private.", - "type": "string", - "enum": [ - "public", - "password", - "private" - ] - }, - "password": { - "description": "A password required to join the the group with type password", - "type": "string" - }, - "icon": { - "description": "An URL for a group icon.", - "type": "string" - }, - "description": { - "description": "Description about the group", - "type": "string" - }, - "metadata": { - "description": "Additional group data.", - "type": "object" - }, - "owner": { - "description": "The UID that you wish to make the owner of the group.This field will be ignored if onBehalfOf parameter in the header is present in the request.", - "type": "string" - }, - "tags": { - "description": "Updates tags of a group.", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "tag1" - ] - }, - "unset": { - "description": "The unsettable user attributes are icon, description and metadata.", - "type": "array", - "items": { - "type": "string", - "enum": [ - "icon", - "description", - "metadata" - ] - } - } - }, - "type": "object" - } - } + "example": { + "data": [ + { + "conversationId": "group_project-group", + "conversationType": "group", + "unreadMessageCount": "0", + "createdAt": 1630071782, + "updatedAt": 1630481413, + "lastMessage": { + "id": "50", + "conversationId": "group_project-group", + "sender": "cometchat-uid-4", + "receiverType": "group", + "receiver": "project-group", + "category": "action", + "type": "groupMember", + "data": { + "action": "unbanned", + "entities": { + "by": { + "entity": { + "uid": "cometchat-uid-4", + "name": "Susan Marie", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-4.webp", + "status": "offline", + "createdAt": 1629869270 + }, + "entityType": "user" + }, + "on": { + "entity": { + "uid": "cometchat-uid-3", + "link": "https://data-us.cometchat.io/assets", + "name": "George Alan", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "status": "offline", + "createdAt": 1629869270, + "updatedAt": 1629964825, + "conversationId": "cometchat-uid-3_user_cometchat-uid-4" + }, + "entityType": "user" + }, + "for": { + "entity": { + "guid": "project-group", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "name": "Project Group1", + "type": "private", + "owner": "cometchat-uid-4", + "createdAt": 1630071341, + "updatedAt": 1630305525, + "updatedBy": "cometchat-uid-4", + "description": "project related discussions between members", + "membersCount": 4, + "conversationId": "group_project-group" + }, + "entityType": "group" + } + } + }, + "sentAt": 1630305562, + "updatedAt": 1630305562, + "receipts": { + "data": [ + [] + ] + } + }, + "conversationWith": { + "guid": "project-group", + "name": "Project Group1", + "description": "project related discussions between members", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "type": "private", + "scope": "participant", + "membersCount": 4, + "joinedAt": 1630071782, + "conversationId": "group_project-group", + "hasJoined": true, + "createdAt": 1630071341, + "owner": "cometchat-uid-4", + "updatedAt": 1630308875, + "updatedBy": "cometchat-uid-4" + } + } + ] + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Conversations" + ], + "summary": "Delete Conversation", + "description": "This API is deprecated please use Reset User/GroupConversation API", + "operationId": "delete-conversation", + "parameters": [ + { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the user on whose behalf the action is performed.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/conversationId" + } + ], + "responses": { + "200": { + "description": "Deleted Conversations", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Get group", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "guid": "project-group", - "name": "Project Group", - "description": "project related discussions between members", - "icon": "http://placehold.it/120x120&text=image1", - "type": "public", - "scope": "admin", - "membersCount": 1, - "joinedAt": 1638440784, - "conversationId": "group_project-group", - "hasJoined": true, - "createdAt": 1638440784, - "owner": "superhero4", - "tags": [ - "friends", - "project" - ] - } - } - } - } + "example": { + "data": { + "success": true, + "message": "The conversation group_project-group has been deleted successfully for all the users." + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/users/{uid}/conversation": { + "get": { + "tags": [ + "Conversations" + ], + "summary": "Get User Conversation", + "description": "Getting user conversation", + "operationId": "get-user-conversations", + "parameters": [ + { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the user on whose behalf the action is performed.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/uid--conversation" + } + ], + "responses": { + "200": { + "description": "Get user Conversations", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Groups" - ], - "summary": "Delete", - "description": "Deletes a group with a given GUID.", - "operationId": "delete-group", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - }, - { - "$ref": "#/components/parameters/guid" - } - ], - "responses": { - "200": { - "description": "Deleted Group", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "Group with guid project-group has been deleted successfully." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/messages": { - "post": { - "tags": [ - "Messages" - ], - "summary": "Send Message", - "description": "Sends Message on behalf of a user.", - "operationId": "send-message", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "discriminator": { - "propertyName": "category", - "mapping": { - "message": "#/components/schemas/messageCategorySchema", - "interactive": "#/components/schemas/interactiveCategorySchema", - "custom": "#/components/schemas/customCategorySchema" - } - }, - "oneOf": [ - { - "$ref": "#/components/schemas/messageCategorySchema" - }, - { - "$ref": "#/components/schemas/customCategorySchema" - }, - { - "$ref": "#/components/schemas/interactiveCategorySchema" - } - ] - }, - "examples": { - "Text Message": { - "$ref": "#/components/examples/text-message" - }, - "Media Message": { - "$ref": "#/components/examples/media-message" - }, - "Custom Message": { - "$ref": "#/components/examples/custom-message" - } - } - } - } - }, - "responses": { - "200": { - "description": "Create Message", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "1", - "conversationId": "superhero3_user_superhero5", - "sender": "superhero3", - "receiverType": "user", - "receiver": "superhero5", - "category": "message", - "type": "text", - "data": { - "text": "test hello", - "metadata": { - "key1": "val1" - }, - "entities": { - "sender": { - "entity": { - "uid": "superhero3", - "name": "Spiderman", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/spiderman.png", - "status": "offline", - "role": "default", - "createdAt": 1638361550 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "superhero5", - "name": "Cyclops", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/cyclops.png", - "status": "offline", - "role": "default", - "createdAt": 1638361550, - "conversationId": "superhero3_user_superhero5" - }, - "entityType": "user" - } - } - }, - "sentAt": 1638423490, - "updatedAt": 1638423490 - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "get": { - "tags": [ - "Messages" - ], - "summary": "List Messages", - "description": "Fetches the messages list.", - "operationId": "list-all-messages", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - }, - { - "name": "searchKey", - "in": "query", - "description": "Fetches messages that include the searchKey.", - "schema": { - "type": "string" - } - }, - { - "name": "hideMessagesFromBlockedUsers", - "in": "query", - "description": "Fetches messages sent by users who are blocked by the requesting user.", - "schema": { - "type": "boolean" - } - }, - { - "name": "hasAttachments", - "in": "query", - "description": "Fetches messages that include attachments.", - "schema": { - "type": "boolean" - } - }, - { - "name": "attachmentTypes", - "in": "query", - "description": "Displays messages according to the type of attachment. Supported types include: image, video, audio, and file.", - "schema": { - "type": "string", - "enum": [ - "image", - "video", - "audio", - "file" - ] - } - }, - { - "name": "hasMentions", - "in": "query", - "description": "Fetches messages that include mentions.", - "schema": { - "type": "boolean" - } - }, - { - "name": "hasLinks", - "in": "query", - "description": "Fetches messages that include links.", - "schema": { - "type": "boolean" - } - }, - { - "name": "mentionedUids", - "in": "query", - "description": "Fetches messages that include the mentioned comma-separated UIDs.", - "schema": { - "type": "boolean" - } - }, - { - "name": "hasReactions", - "in": "query", - "description": "Fetches messages that include reactions.", - "schema": { - "type": "boolean" - } - }, - { - "name": "receiverType", - "in": "query", - "description": "Displays messages based on receiverType (user/group)", - "schema": { - "type": "string", - "enum": [ - "user", - "group" - ] - } - }, - { - "name": "affix", - "in": "query", - "description": "Determines whether to pull the messages either before or after any message id. Possible values are append(after) and prepend(before).", - "schema": { - "type": "string" - } - }, - { - "name": "id", - "in": "query", - "description": "Retrieves all those messages after the passed id.", - "schema": { - "type": "string" - } - }, - { - "name": "category", - "in": "query", - "description": "Filters messages by category. Possible values: message, action and custom.", - "schema": { - "type": "string", - "enum": [ - "message", - "action", - "custom" - ] - } - }, - { - "name": "type", - "in": "query", - "description": "Filters messages by type.", - "schema": { - "type": "string" - } - }, - { - "name": "sender", - "in": "query", - "description": "Filters messages with sender. If onBehalfOf header is also set then the messages from their common conversations will be filtered.", - "schema": { - "type": "string" - } - }, - { - "name": "mentionsWithBlockedInfo", - "in": "query", - "description": "For the mentioned users, provides blocked information with respect to the UID in onBehalfOf header.", - "schema": { - "type": "boolean" - } - }, - { - "name": "mentionswithTagInfo", - "in": "query", - "description": "Provides user tags for the mentioned users.", - "schema": { - "type": "boolean" - } - }, - { - "name": "hideDeleted", - "in": "query", - "description": "Hides deleted messages from List.", - "schema": { - "type": "boolean" - } - }, - { - "name": "onlyDeleted", - "in": "query", - "description": "Includes only deleted messages in List.", - "schema": { - "type": "boolean" - } - }, - { - "name": "hideReplies", - "in": "query", - "description": "Shows only messages skipping the replies in the message thread.", - "schema": { - "type": "boolean" - } - }, - { - "name": "count", - "in": "query", - "description": "Includes unread message count in List.", - "schema": { - "type": "boolean" - } - }, - { - "name": "unread", - "in": "query", - "description": "Retrieves all the unread messages in a conversation. It must be used alongside count query parameter.", - "schema": { - "type": "boolean" - } - }, - { - "name": "sentAt", - "in": "query", - "description": "Fetches the messages list after a particular sentAt timestamp.", - "schema": { - "type": "integer" - } - }, - { - "name": "limit", - "in": "query", - "description": "The number of records to fetch. Minimum value: 1, Maximum value: 1000", - "schema": { - "type": "integer", - "default": "10" - } - }, - { - "name": "conversationId", - "in": "query", - "description": "Fetches all the messages belong to a particular conversation.", - "schema": { - "type": "string" - } - }, - { - "name": "withTags", - "in": "query", - "description": "This will fetch messages along with the tags.", - "schema": { - "type": "boolean" - } - }, - { - "name": "tags", - "in": "query", - "description": "This will fetch only those messages belonging to the mentioned tags.", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "categories", - "in": "query", - "description": "Fetches messages based on multiple categories.", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "types", - "in": "query", - "description": "Fetches messages based on multiple types.", - "schema": { - "type": "array", - "items": {} - } - }, - { - "name": "fromTimestamp", - "in": "query", - "description": "Fetches the messages from this timestamp.", - "schema": { - "type": "integer" - } - }, - { - "name": "toTimestamp", - "in": "query", - "description": "Fetches the messages till this timestamp. It will be ignored if fromTimestamp is missing or empty.", - "schema": { - "type": "integer" - } - }, - { - "name": "hideQuotedMessages", - "in": "query", - "description": "If set to true, the API response will exclude all quotedMessage nodes from the returned messages. This allows clients to fetch only the messages without any quoted messages.", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "description": "List Message", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "id": "1", - "conversationId": "superhero3_user_superhero5", - "sender": "superhero3", - "receiverType": "user", - "receiver": "superhero5", - "category": "message", - "type": "text", - "data": { - "text": "test hello", - "entities": { - "sender": { - "entity": { - "uid": "superhero3", - "name": "Spiderman", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/spiderman.png", - "status": "offline", - "createdAt": 1638361550 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "superhero5", - "name": "Cyclops", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/cyclops.png", - "status": "offline", - "createdAt": 1638361550, - "conversationId": "superhero3_user_superhero5" - }, - "entityType": "user" - } - }, - "metadata": { - "key1": "val1" - } - }, - "sentAt": 1638423490, - "updatedAt": 1638423490 - } - ], - "meta": { - "current": { - "limit": 100, - "count": 1 - }, - "next": { - "affix": "append", - "sentAt": 1638423490, - "id": "1" - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/messages/{id}": { - "get": { - "tags": [ - "Messages" - ], - "summary": "Get Message", - "description": "Fetches the details of a message.", - "operationId": "get-message-details", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - }, - { - "name": "id", - "in": "path", - "description": "Id of the message whose details are to be fetched.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Message ID", - "value": "" - } - } - } - ], - "responses": { - "200": { - "description": "Retreived Message", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "1", - "conversationId": "superhero3_user_superhero5", - "sender": "superhero3", - "receiverType": "user", - "receiver": "superhero5", - "category": "message", - "type": "text", - "data": { - "text": "test hello", - "metadata": { - "key1": "val1" - }, - "entities": { - "sender": { - "entity": { - "uid": "superhero3", - "name": "Spiderman", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/spiderman.png", - "status": "offline", - "role": "default", - "createdAt": 1638361550 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "superhero5", - "name": "Cyclops", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/cyclops.png", - "status": "offline", - "role": "default", - "createdAt": 1638361550, - "conversationId": "superhero3_user_superhero5" - }, - "entityType": "user" - } - } - }, - "sentAt": 1638423490, - "updatedAt": 1638423490 - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "Messages" - ], - "summary": "Update Message", - "description": "Edits the message on behalf of a user.", - "operationId": "update-message", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - }, - { - "name": "id", - "in": "path", - "description": "Id of the message whose details are to be fetched.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Message ID", - "value": "" - } - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "description": "The data that needs to be modified.", - "properties": { - "text": { - "type": "string" - }, - "metadata": { - "type": "object" - } - }, - "type": "object" - }, - "tags": { - "description": "A list of tags to identify specific messages.", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "tag1" - ] - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Updated Message", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "402", - "conversationId": "superhero1_user_superhero2", - "sender": "superhero1", - "receiverType": "user", - "receiver": "superhero2", - "category": "action", - "type": "message", - "data": { - "action": "edited", - "entities": { - "by": { - "entity": { - "uid": "superhero1", - "name": "Updated Name", - "status": "offline", - "role": "default", - "createdAt": 1639448370, - "updatedAt": 1640599553 - }, - "entityType": "user" - }, - "for": { - "entity": { - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/captainamerica.png", - "status": "offline", - "role": "default", - "createdAt": 1639448370 - }, - "entityType": "user" - }, - "on": { - "entity": { - "id": "69", - "conversationId": "superhero1_user_superhero2", - "sender": "superhero1", - "receiverType": "user", - "receiver": "superhero2", - "category": "message", - "type": "text", - "data": { - "text": "hello spider", - "entities": { - "sender": { - "entity": { - "uid": "superhero1", - "name": "Iron Man", - "role": "default", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/ironman.png", - "status": "offline", - "createdAt": 1639448370 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "superhero2", - "name": "Captain America", - "role": "default", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/captainamerica.png", - "status": "offline", - "createdAt": 1639448370, - "conversationId": "superhero1_user_superhero2" - }, - "entityType": "user" - } - } - }, - "sentAt": 1640171302, - "editedAt": 1641477338, - "editedBy": "app_system", - "updatedAt": 1641477338, - "tags": [ - "t6" - ] - }, - "entityType": "message" - } - } - }, - "sentAt": 1641477338, - "updatedAt": 1641477338 - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Messages" - ], - "summary": "Delete Message", - "description": "Deletes the message.", - "operationId": "deletes-message", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - }, - { - "name": "id", - "in": "path", - "description": "Id of the message whose details are to be deleted.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Message ID", - "value": "" - } - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "permanent": { - "description": "Deletes the message permanently.", - "type": "boolean" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Deleted Message", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "402", - "conversationId": "superhero1_user_superhero2", - "sender": "superhero1", - "receiverType": "user", - "receiver": "superhero2", - "category": "action", - "type": "message", - "data": { - "action": "edited", - "entities": { - "by": { - "entity": { - "uid": "superhero1", - "name": "Updated Name", - "status": "offline", - "role": "default", - "createdAt": 1639448370 - }, - "entityType": "user" - }, - "for": { - "entity": { - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/captainamerica.png", - "status": "offline", - "role": "default", - "createdAt": 1639448370 - }, - "entityType": "user" - }, - "on": { - "entity": { - "id": "69", - "conversationId": "superhero1_user_superhero2", - "sender": "superhero1", - "receiverType": "user", - "receiver": "superhero2", - "category": "message", - "type": "text", - "data": { - "text": "hello spider", - "entities": { - "sender": { - "entity": { - "uid": "superhero1", - "name": "Iron Man", - "role": "default", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/ironman.png", - "status": "offline", - "createdAt": 1639448370 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "superhero2", - "name": "Captain America", - "role": "default", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/captainamerica.png", - "status": "offline", - "createdAt": 1639448370, - "conversationId": "superhero1_user_superhero2" - }, - "entityType": "user" - } - } - }, - "sentAt": 1640171302, - "editedAt": 1641477338, - "editedBy": "app_system", - "updatedAt": 1641477338, - "tags": [ - "t6" - ] - }, - "entityType": "message" - } - } - }, - "sentAt": 1641477338, - "updatedAt": 1641477338 - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/messages/{id}/interacted": { - "patch": { - "tags": [ - "Messages" - ], - "summary": "Mark message as Interacted", - "description": "Mark message as Interacted on behalf of a user.", - "operationId": "mark-message-as-interacted", - "parameters": [ - { - "$ref": "#/components/parameters/requiredonBehalfOf" - }, - { - "name": "id", - "in": "path", - "description": "Id of the message whose details are to be fetched.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Message ID", - "value": "" - } - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "interactions": { - "description": "A list of element Ids to be marked as interacted!", - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Marking Message as Interacted", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/deleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "The message id 7 has been marked as interacted for the user superhero1." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/messages/{id}/reactions": { - "get": { - "tags": [ - "Messages" - ], - "summary": "List all reactions", - "description": "Lists all the reactions for a message", - "operationId": "list-all-reactions", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - }, - { - "name": "id", - "in": "path", - "description": "Id of the message whose reactions are to be fetched.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Message ID", - "value": "" - } - } - } - ], - "responses": { - "200": { - "description": "List Reactions", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "properties": { - "": { - "$ref": "#/components/schemas/reactionSchema" - } - }, - "type": "object" - } - }, - "meta": { - "properties": { - "": { - "$ref": "#/components/schemas/messageMetaSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "id": "1", - "messageId": "2", - "reaction": ":reaction", - "uid": "superhero1", - "reactedAt": 1700210335, - "reactedBy": { - "uid": "superhero1", - "name": "Iron Man", - "status": "offline", - "role": "default", - "createdAt": 1698934972 - } - }, - { - "id": "2", - "messageId": "2", - "reaction": "😅", - "uid": "superhero1", - "reactedAt": 1700210456, - "reactedBy": { - "uid": "superhero1", - "name": "Iron Man", - "status": "offline", - "role": "default", - "createdAt": 1698934972 - } - }, - { - "id": "5", - "messageId": "2", - "reaction": "😒", - "uid": "superhero2", - "reactedAt": 1700230866, - "reactedBy": { - "uid": "superhero2", - "name": "Captain America", - "status": "offline", - "role": "default", - "createdAt": 1698934987, - "conversationId": "superhero1_user_superhero2" - } - } - ], - "meta": { - "current": { - "limit": 100, - "count": 3 - }, - "next": { - "affix": "append", - "id": "5" - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/messages/{id}/reactions/{reaction}": { - "get": { - "tags": [ - "Messages" - ], - "summary": "List reactions with a specific emoji/unicodes", - "description": "List reactions with a specific emoji/unicodes for a message", - "operationId": "get-message-reactions", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - }, - { - "name": "id", - "in": "path", - "description": "Id of the message whose reactions are to be fetched.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Message ID", - "value": "" - } - } - }, - { - "name": "reaction", - "in": "path", - "description": "reaction whose details are to be fetched.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Reaction", - "value": "" - } - } - } - ], - "responses": { - "200": { - "description": "Get Reactions", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "properties": { - "": { - "$ref": "#/components/schemas/reactionSchema" - } - }, - "type": "object" - } - }, - "meta": { - "properties": { - "": { - "$ref": "#/components/schemas/messageMetaSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "id": "1", - "messageId": "1", - "reaction": "😅", - "uid": "superhero1", - "reactedAt": 1702638595, - "reactedBy": { - "uid": "superhero1", - "name": "Iron Man", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/ironman.png", - "status": "available", - "role": "default", - "lastActiveAt": 1689082633, - "createdAt": 1684751861 - } - } - ], - "meta": { - "current": { - "limit": 100, - "count": 1 - }, - "next": { - "affix": "append", - "id": "1" - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "post": { - "tags": [ - "Messages" - ], - "summary": "Add reaction", - "description": "Adds a reaction to a message.", - "operationId": "add-message-reactions", - "parameters": [ - { - "$ref": "#/components/parameters/requiredonBehalfOf" - }, - { - "name": "id", - "in": "path", - "description": "Id of the message to react.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Message ID", - "value": "" - } - } - }, - { - "name": "reaction", - "in": "path", - "description": "reaction to react.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Reaction", - "value": "" - } - } - } - ], - "responses": { - "200": { - "description": "Adding reaction", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/messageReactionSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "2", - "conversationId": "superhero1_user_superhero2", - "sender": "superhero1", - "receiverType": "user", - "receiver": "superhero2", - "category": "message", - "type": "text", - "data": { - "text": "Hi,", - "entities": { - "sender": { - "entity": { - "uid": "superhero1", - "name": "Iron Man", - "role": "default", - "status": "offline" - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "superhero2", - "name": "Captain America", - "role": "default", - "status": "offline", - "conversationId": "superhero1_user_superhero2" - }, - "entityType": "user" - } - }, - "reactions": [ - { - "reaction": ":reaction", - "count": 1 - }, - { - "reaction": "😅", - "count": 1 - }, - { - "reaction": "😒", - "count": 1, - "reactedByMe": true - }, - { - "reaction": "🤨", - "count": 1, - "reactedByMe": true - } - ] - }, - "sentAt": 1700210266, - "updatedAt": 1700210266 - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Messages" - ], - "summary": "Remove reaction", - "description": "Removes a reaction from a message", - "operationId": "remove-message-reactions", - "parameters": [ - { - "$ref": "#/components/parameters/requiredonBehalfOf" - }, - { - "name": "id", - "in": "path", - "description": "Id of the message whose reaction is to be removed.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Message ID", - "value": "" - } - } - }, - { - "name": "reaction", - "in": "path", - "description": "reaction to be removed.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Reaction", - "value": "" - } - } - } - ], - "responses": { - "200": { - "description": "Remove Reactions", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/messageReactionSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "2", - "conversationId": "superhero1_user_superhero2", - "sender": "superhero1", - "receiverType": "user", - "receiver": "superhero2", - "category": "message", - "type": "text", - "data": { - "text": "Hi,", - "entities": { - "sender": { - "entity": { - "uid": "superhero1", - "name": "Iron Man", - "role": "default", - "status": "offline" - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "superhero2", - "name": "Captain America", - "role": "default", - "status": "offline", - "conversationId": "superhero1_user_superhero2" - }, - "entityType": "user" - } - }, - "reactions": [ - { - "reaction": ":reaction", - "count": 1 - }, - { - "reaction": "😅", - "count": 1 - }, - { - "reaction": "😒", - "count": 1, - "reactedByMe": true - } - ] - }, - "sentAt": 1700210266, - "updatedAt": 1700210266 - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/conversations": { - "get": { - "tags": [ - "Conversations" - ], - "summary": "List conversations", - "description": "Fetching all the conversations", - "operationId": "list-all-conversations", - "parameters": [ - { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the user on whose behalf the action is performed.\n\n\nIf onBehalfOf header is not passed,then list Conversations API will be ordered based on `uid`, `updatedAt` and then `conversationWith`\n\nIf onBehalfOf header is passed, then list Conversations API will be ordered based on `updatedAt` and then `conversationWith`.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "searchKey", - "in": "query", - "description": "Fetches conversations that include the specified searchKey, allowing you to search for conversations based on the name of a User or Group.", - "schema": { - "type": "string" - } - }, - { - "name": "conversationType", - "in": "query", - "description": "Retrieves only the specified conversation type (user and group) while fetching conversations list.", - "schema": { - "type": "string" - } - }, - { - "name": "withTags", - "in": "query", - "description": "Includes those groups that have tags.", - "schema": { - "type": "boolean" - } - }, - { - "name": "tags", - "in": "query", - "description": "Fetches only those groups that have these tags.", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "withUserAndGroupTags", - "in": "query", - "description": "Retrieves conversations with tags", - "schema": { - "type": "boolean" - } - }, - { - "name": "includeBlockedUsers", - "in": "query", - "description": "Set to true to include conversations with blocked users in the response.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "withBlockedInfo", - "in": "query", - "description": "Set to true to include block status details of users in each conversation.", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "userTags", - "in": "query", - "description": "Filters conversations by tags associated with the user entity in the conversationWith property.", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "groupTags", - "in": "query", - "description": "Filters conversations by tags associated with the group entity in the conversationWith property.", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "unread", - "in": "query", - "description": "Lists only unread conversations by excluding the conversations with conversation.unreadMessageCount=0", - "schema": { - "type": "boolean" - } - }, - { - "name": "perPage", - "in": "query", - "description": "Number of conversations to be fetched in a request. The default value is 100 and the maximum value is 1000.", - "schema": { - "type": "integer", - "default": "100" - } - }, - { - "name": "page", - "in": "query", - "description": "Page number.", - "schema": { - "type": "integer", - "default": "1" - } - }, - { - "name": "hideAgentic", - "in": "query", - "description": "Hides agentic conversations from the list.", - "schema": { - "type": "boolean" - } - }, - { - "name": "onlyAgentic", - "in": "query", - "description": "Shows only agentic conversations in the list.", - "schema": { - "type": "boolean" - } - }, - { - "name": "useCursoredIndex", - "in": "query", - "description": "Enables cursor-based pagination for more efficient conversations listing.", - "schema": { - "type": "integer", - "default": 1, - "enum": [ - 0, - 1 - ] - } - } - ], - "responses": { - "200": { - "description": "Get Conversations", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "conversationId": "group_project-group", - "conversationType": "group", - "unreadMessageCount": "0", - "createdAt": 1630071782, - "updatedAt": 1630481413, - "lastMessage": { - "id": "50", - "conversationId": "group_project-group", - "sender": "superhero4", - "receiverType": "group", - "receiver": "project-group", - "category": "action", - "type": "groupMember", - "data": { - "action": "unbanned", - "entities": { - "by": { - "entity": { - "uid": "superhero4", - "name": "Wolverine", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/wolverine.png", - "status": "offline", - "createdAt": 1629869270 - }, - "entityType": "user" - }, - "on": { - "entity": { - "uid": "superhero3", - "link": "https://data-us.cometchat.io/assets", - "name": "Captain America", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/captainamerica.png", - "status": "offline", - "createdAt": 1629869270, - "updatedAt": 1629964825, - "conversationId": "superhero3_user_superhero4" - }, - "entityType": "user" - }, - "for": { - "entity": { - "guid": "project-group", - "icon": "http://placehold.it/120x120&text=image1", - "name": "Project Group1", - "type": "private", - "owner": "superhero4", - "createdAt": 1630071341, - "updatedAt": 1630305525, - "updatedBy": "superhero4", - "description": "project related discussions between members", - "membersCount": 4, - "conversationId": "group_project-group" - }, - "entityType": "group" - } - } - }, - "sentAt": 1630305562, - "updatedAt": 1630305562, - "receipts": { - "data": [ - [] - ] - } - }, - "conversationWith": { - "guid": "project-group", - "name": "Project Group1", - "description": "project related discussions between members", - "icon": "http://placehold.it/120x120&text=image1", - "type": "private", - "scope": "participant", - "membersCount": 4, - "joinedAt": 1630071782, - "conversationId": "group_project-group", - "hasJoined": true, - "createdAt": 1630071341, - "owner": "superhero4", - "updatedAt": 1630308875, - "updatedBy": "superhero4" - } - } - ], - "meta": { - "pagination": { - "total": 1, - "count": 1, - "per_page": 100, - "current_page": 1, - "total_pages": 1 - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/conversations/{conversationId}": { - "get": { - "tags": [ - "Conversations" - ], - "summary": "Get conversation", - "description": "This API is deprecated please use Get User/Group ConversationAPI", - "operationId": "get-conversation", - "parameters": [ - { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the user on whose behalf the action is performed.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/conversationId" - } - ], - "responses": { - "200": { - "description": "Get Conversations", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "conversationId": "group_project-group", - "conversationType": "group", - "unreadMessageCount": "0", - "createdAt": 1630071782, - "updatedAt": 1630481413, - "lastMessage": { - "id": "50", - "conversationId": "group_project-group", - "sender": "superhero4", - "receiverType": "group", - "receiver": "project-group", - "category": "action", - "type": "groupMember", - "data": { - "action": "unbanned", - "entities": { - "by": { - "entity": { - "uid": "superhero4", - "name": "Wolverine", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/wolverine.png", - "status": "offline", - "createdAt": 1629869270 - }, - "entityType": "user" - }, - "on": { - "entity": { - "uid": "superhero3", - "link": "https://data-us.cometchat.io/assets", - "name": "Captain America", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/captainamerica.png", - "status": "offline", - "createdAt": 1629869270, - "updatedAt": 1629964825, - "conversationId": "superhero3_user_superhero4" - }, - "entityType": "user" - }, - "for": { - "entity": { - "guid": "project-group", - "icon": "http://placehold.it/120x120&text=image1", - "name": "Project Group1", - "type": "private", - "owner": "superhero4", - "createdAt": 1630071341, - "updatedAt": 1630305525, - "updatedBy": "superhero4", - "description": "project related discussions between members", - "membersCount": 4, - "conversationId": "group_project-group" - }, - "entityType": "group" - } - } - }, - "sentAt": 1630305562, - "updatedAt": 1630305562, - "receipts": { - "data": [ - [] - ] - } - }, - "conversationWith": { - "guid": "project-group", - "name": "Project Group1", - "description": "project related discussions between members", - "icon": "http://placehold.it/120x120&text=image1", - "type": "private", - "scope": "participant", - "membersCount": 4, - "joinedAt": 1630071782, - "conversationId": "group_project-group", - "hasJoined": true, - "createdAt": 1630071341, - "owner": "superhero4", - "updatedAt": 1630308875, - "updatedBy": "superhero4" - } - } - ] - } - } - } - } - }, - "deprecated": true, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Conversations" - ], - "summary": "Delete Conversation", - "description": "This API is deprecated please use Reset User/GroupConversation API", - "operationId": "deletes-conversation", - "parameters": [ - { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the user on whose behalf the action is performed.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/conversationId" - } - ], - "responses": { - "200": { - "description": "Deleted Conversations", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "The conversation group_project-group has been deleted successfully for all the users." - } - } - } - } - } - }, - "deprecated": true, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/users/{uid}/conversation": { - "get": { - "tags": [ - "Conversations" - ], - "summary": "Get User Conversation", - "description": "Getting user conversation", - "operationId": "get-user-conversations", - "parameters": [ - { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the user on whose behalf the action is performed.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/uid--conversation" - } - ], - "responses": { - "200": { - "description": "Get user Conversations", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "conversationId": "group_project-group", - "conversationType": "group", - "unreadMessageCount": "0", - "createdAt": 1630071782, - "updatedAt": 1630481413, - "lastMessage": { - "id": "50", - "conversationId": "group_project-group", - "sender": "superhero4", - "receiverType": "group", - "receiver": "project-group", - "category": "action", - "type": "groupMember", - "data": { - "action": "unbanned", - "entities": { - "by": { - "entity": { - "uid": "superhero4", - "name": "Wolverine", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/wolverine.png", - "status": "offline", - "createdAt": 1629869270 - }, - "entityType": "user" - }, - "on": { - "entity": { - "uid": "superhero3", - "link": "https://data-us.cometchat.io/assets", - "name": "Captain America", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/captainamerica.png", - "status": "offline", - "createdAt": 1629869270, - "updatedAt": 1629964825, - "conversationId": "superhero3_user_superhero4" - }, - "entityType": "user" - }, - "for": { - "entity": { - "guid": "project-group", - "icon": "http://placehold.it/120x120&text=image1", - "name": "Project Group1", - "type": "private", - "owner": "superhero4", - "createdAt": 1630071341, - "updatedAt": 1630305525, - "updatedBy": "superhero4", - "description": "project related discussions between members", - "membersCount": 4, - "conversationId": "group_project-group" - }, - "entityType": "group" - } - } - }, - "sentAt": 1630305562, - "updatedAt": 1630305562 - }, - "conversationWith": { - "guid": "project-group", - "name": "Project Group1", - "description": "project related discussions between members", - "icon": "http://placehold.it/120x120&text=image1", - "type": "private", - "scope": "participant", - "membersCount": 4, - "joinedAt": 1630071782, - "conversationId": "group_project-group", - "hasJoined": true, - "createdAt": 1630071341, - "owner": "superhero4", - "updatedAt": 1630308875, - "updatedBy": "superhero4" - } - } - ] - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "Conversations" - ], - "summary": "Update User Conversation", - "description": "Updating User Conversation", - "operationId": "updates-user-conversation", - "parameters": [ - { - "$ref": "#/components/parameters/uid--conversation" - }, - { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the user on whose behalf the action is performed.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "tags": { - "description": "List of tags to identify specific conversation.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Updated user Conversations", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "conversationId": "group_project-group", - "conversationType": "group", - "unreadMessageCount": "0", - "createdAt": 1630071782, - "updatedAt": 1630481413, - "lastMessage": { - "id": "50", - "conversationId": "group_project-group", - "sender": "superhero4", - "receiverType": "group", - "receiver": "project-group", - "category": "action", - "type": "groupMember", - "data": { - "action": "unbanned", - "entities": { - "by": { - "entity": { - "uid": "superhero4", - "name": "Wolverine", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/wolverine.png", - "status": "offline", - "createdAt": 1629869270 - }, - "entityType": "user" - }, - "on": { - "entity": { - "uid": "superhero3", - "link": "https://data-us.cometchat.io/assets", - "name": "Captain America", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/captainamerica.png", - "status": "offline", - "createdAt": 1629869270, - "updatedAt": 1629964825, - "conversationId": "superhero3_user_superhero4" - }, - "entityType": "user" - }, - "for": { - "entity": { - "guid": "project-group", - "icon": "http://placehold.it/120x120&text=image1", - "name": "Project Group1", - "type": "private", - "owner": "superhero4", - "createdAt": 1630071341, - "updatedAt": 1630305525, - "updatedBy": "superhero4", - "description": "project related discussions between members", - "membersCount": 4, - "conversationId": "group_project-group" - }, - "entityType": "group" - } - } - }, - "sentAt": 1630305562, - "updatedAt": 1630305562, - "receipts": { - "data": [ - [] - ] - } - }, - "conversationWith": { - "guid": "project-group", - "name": "Project Group1", - "description": "project related discussions between members", - "icon": "http://placehold.it/120x120&text=image1", - "type": "private", - "scope": "participant", - "membersCount": 4, - "joinedAt": 1630071782, - "conversationId": "group_project-group", - "hasJoined": true, - "createdAt": 1630071341, - "owner": "superhero4", - "updatedAt": 1630308875, - "updatedBy": "superhero4" - } - } - ] - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Conversations" - ], - "summary": "Reset User Conversation", - "description": "Resetting User Conversation", - "operationId": "resets-user-conversation", - "parameters": [ - { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the user on whose behalf the action is performed.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/uid--conversation" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "conversationWith": { - "description": "UID of a user", - "type": "string" - }, - "deleteMessagesPermanently": { - "description": "Permanently deletes messages in that particular conversation", - "type": "boolean" - }, - "preserveOrder": { - "description": "When set to true, maintains the conversation's position in the user's conversation list after reset.", - "type": "boolean", - "default": false - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Resetted user Conversations", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "The conversation superhero1_user_superhero2 has been deleted successfully for UID superhero1." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/users/{uid}/conversation/delivered": { - "post": { - "tags": [ - "Conversations" - ], - "summary": "Mark User Conversation As Delivered", - "description": "This API will mark the user conversation as delivered.", - "operationId": "mark-conversation-as-delivered", - "parameters": [ - { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the receiver of the message", - "required": true, - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/uid--conversation" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "messageId": { - "description": "The id of the message upto which the conversation needs to be marked as delivered.", - "type": "integer" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Marking Conversation as delivered", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "Message": "All the messages from the user {{UID}} are marked as delivered for the user {{onBehalfOf}}." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/users/{uid}/conversation/read": { - "post": { - "tags": [ - "Conversations" - ], - "summary": "Mark User Conversation As Read", - "description": "This API will mark the user conversation as read.", - "operationId": "mark-conversation-as-read", - "parameters": [ - { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the receiver of the message", - "required": true, - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/uid--conversation" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "messageId": { - "description": "The id of the message upto which the conversation needs to be marked as read.", - "type": "integer" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Marking Conversation as read", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "Message": "All the messages from the user {{UID}} are marked as read for the user {{onBehalfOf}}." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Conversations" - ], - "summary": "Mark conversation messages as unread", - "description": "Allows you to mark messages within a conversation as unread", - "operationId": "mark-conversation-as-unread", - "parameters": [ - { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the receiver of the message", - "required": true, - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/uid--conversation" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "messageId": { - "description": "The id of the message upto which the conversation needs to be marked as unread.", - "type": "integer" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Marking Conversation as unread", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "The messages after the message id 340 from the user demo1 are marked as unread for the user demo3." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/groups/{guid}/conversation": { - "get": { - "tags": [ - "Conversations" - ], - "summary": "Get Group Conversation", - "description": "Getting group conversation", - "operationId": "get-group-conversations", - "parameters": [ - { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the user on whose behalf the action is performed.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/guid--conversation" - } - ], - "responses": { - "200": { - "description": "Get user Conversations", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "conversationId": "group_project-group", - "conversationType": "group", - "unreadMessageCount": "0", - "createdAt": 1630071782, - "updatedAt": 1630481413, - "lastMessage": { - "id": "50", - "conversationId": "group_project-group", - "sender": "superhero4", - "receiverType": "group", - "receiver": "project-group", - "category": "action", - "type": "groupMember", - "data": { - "action": "unbanned", - "entities": { - "by": { - "entity": { - "uid": "superhero4", - "name": "Wolverine", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/wolverine.png", - "status": "offline", - "createdAt": 1629869270 - }, - "entityType": "user" - }, - "on": { - "entity": { - "uid": "superhero3", - "link": "https://data-us.cometchat.io/assets", - "name": "Captain America", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/captainamerica.png", - "status": "offline", - "createdAt": 1629869270, - "updatedAt": 1629964825, - "conversationId": "superhero3_user_superhero4" - }, - "entityType": "user" - }, - "for": { - "entity": { - "guid": "project-group", - "icon": "http://placehold.it/120x120&text=image1", - "name": "Project Group1", - "type": "private", - "owner": "superhero4", - "createdAt": 1630071341, - "updatedAt": 1630305525, - "updatedBy": "superhero4", - "description": "project related discussions between members", - "membersCount": 4, - "conversationId": "group_project-group" - }, - "entityType": "group" - } - } - }, - "sentAt": 1630305562, - "updatedAt": 1630305562 - }, - "conversationWith": { - "guid": "project-group", - "name": "Project Group1", - "description": "project related discussions between members", - "icon": "http://placehold.it/120x120&text=image1", - "type": "private", - "scope": "participant", - "membersCount": 4, - "joinedAt": 1630071782, - "conversationId": "group_project-group", - "hasJoined": true, - "createdAt": 1630071341, - "owner": "superhero4", - "updatedAt": 1630308875, - "updatedBy": "superhero4" - } - } - ] - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "Conversations" - ], - "summary": "Update Group Conversation", - "description": "Updating Group Conversation", - "operationId": "updates-group-conversation", - "parameters": [ - { - "$ref": "#/components/parameters/guid--conversation" - }, - { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the user on whose behalf the action is performed.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "tags": { - "description": "List of tags to identify specific conversation.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Updated user Conversations", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "conversationId": "group_project-group", - "conversationType": "group", - "unreadMessageCount": "0", - "createdAt": 1630071782, - "updatedAt": 1630481413, - "lastMessage": { - "id": "50", - "conversationId": "group_project-group", - "sender": "superhero4", - "receiverType": "group", - "receiver": "project-group", - "category": "action", - "type": "groupMember", - "data": { - "action": "unbanned", - "entities": { - "by": { - "entity": { - "uid": "superhero4", - "name": "Wolverine", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/wolverine.png", - "status": "offline", - "createdAt": 1629869270 - }, - "entityType": "user" - }, - "on": { - "entity": { - "uid": "superhero3", - "link": "https://data-us.cometchat.io/assets", - "name": "Captain America", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/captainamerica.png", - "status": "offline", - "createdAt": 1629869270, - "updatedAt": 1629964825, - "conversationId": "superhero3_user_superhero4" - }, - "entityType": "user" - }, - "for": { - "entity": { - "guid": "project-group", - "icon": "http://placehold.it/120x120&text=image1", - "name": "Project Group1", - "type": "private", - "owner": "superhero4", - "createdAt": 1630071341, - "updatedAt": 1630305525, - "updatedBy": "superhero4", - "description": "project related discussions between members", - "membersCount": 4, - "conversationId": "group_project-group" - }, - "entityType": "group" - } - } - }, - "sentAt": 1630305562, - "updatedAt": 1630305562, - "receipts": { - "data": [ - [] - ] - } - }, - "conversationWith": { - "guid": "project-group", - "name": "Project Group1", - "description": "project related discussions between members", - "icon": "http://placehold.it/120x120&text=image1", - "type": "private", - "scope": "participant", - "membersCount": 4, - "joinedAt": 1630071782, - "conversationId": "group_project-group", - "hasJoined": true, - "createdAt": 1630071341, - "owner": "superhero4", - "updatedAt": 1630308875, - "updatedBy": "superhero4" - } - } - ] - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Conversations" - ], - "summary": "Reset Group Conversation", - "description": "Resetting Group Conversation", - "operationId": "resets-group-conversation", - "parameters": [ - { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the user on whose behalf the action is performed.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/guid--conversation" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "preserveOrder": { - "description": "When set to true, maintains the conversation's position in the user's conversation list after reset.", - "type": "boolean", - "default": false - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Resetted user Conversations", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "The conversation superhero1_user_superhero2 has been deleted successfully for UID superhero1." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/groups/{guid}/conversation/delivered": { - "post": { - "tags": [ - "Conversations" - ], - "summary": "Mark Group Conversation As Delivered", - "description": "This API will mark the group conversation as delivered.", - "operationId": "mark-group-conversation-as-delivered", - "parameters": [ - { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the receiver of the message", - "required": true, - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/guid--conversation" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "messageId": { - "description": "The id of the message upto which the conversation needs to be marked as delivered.", - "type": "integer" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Marking Conversation as delivered", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "All the messages in group {{GUID}} are marked as delivered for the user {{onBehalfOf}}." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/groups/{guid}/conversation/read": { - "post": { - "tags": [ - "Conversations" - ], - "summary": "Mark Group Conversation As Read", - "description": "This API will mark the group conversation as read.", - "operationId": "mark-group-conversation-as-read", - "parameters": [ - { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the receiver of the message", - "required": true, - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/guid--conversation" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "messageId": { - "description": "The id of the message upto which the conversation needs to be marked as read.", - "type": "integer" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Marking Conversation as read", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "All the messages in group {{GUID}} are marked as read for the user {{onBehalfOf}}." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Conversations" - ], - "summary": "Mark Group Conversation As unread", - "description": "This API will mark the group conversation as unread.", - "operationId": "mark-group-conversation-as-unread", - "parameters": [ - { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the group member marking the messages as unread.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/guid--conversation" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "messageId": { - "description": "The id of the message upto which the conversation needs to be marked as unread.", - "type": "integer" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Marking Conversation as unread", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "The messages after the message id 340 from the user demo1 are marked as unread for the user demo3." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/users/{uid}/auth_tokens": { - "post": { - "tags": [ - "Auth Tokens" - ], - "summary": "Create", - "description": "Creates auth token for a user with the specified UID.", - "operationId": "create-authtoken", - "parameters": [ - { - "name": "uid", - "in": "path", - "description": "An UID of a user.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "UID", - "value": "" - } - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "force": { - "description": "Generates new auth token forcefully.", - "type": "boolean" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Created auth token", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "uid": "superhero1", - "authToken": "superhero1_1630306819c3027ce530b2367f3c97b4106f0cb8", - "createdAt": 1630306819 - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "get": { - "tags": [ - "Auth Tokens" - ], - "summary": "List", - "description": "Lists auth tokens for a user with the specified UID.", - "operationId": "list-authtokens", - "parameters": [ - { - "name": "uid", - "in": "path", - "description": "An UID of a user.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "UID", - "value": "" - } - } - } - ], - "responses": { - "200": { - "description": "A list of auth tokens", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "uid": "superhero1", - "authToken": "superhero1_1630306819c3027ce530b2367f3c97b4106f0cb8", - "createdAt": 1630306819 - } - ], - "meta": { - "pagination": { - "total": 1, - "count": 1, - "per_page": 100, - "current_page": 1, - "total_pages": 1 - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Auth Tokens" - ], - "summary": "Flush", - "description": "Deletes all the auth tokens for the specified UID.", - "operationId": "flush-authtokens", - "parameters": [ - { - "name": "uid", - "in": "path", - "description": "An UID of a user.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "UID", - "value": "" - } - } - } - ], - "responses": { - "200": { - "description": "A list of api keys", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "Cleared Auth Tokens successfully for uid superhero1." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/users/{uid}/auth_tokens/{authToken}": { - "get": { - "tags": [ - "Auth Tokens" - ], - "summary": "Get", - "description": "Retrieves details of an auth token for the specified UID andauth token.", - "operationId": "get-authtoken", - "parameters": [ - { - "name": "uid", - "in": "path", - "description": "An UID of a user.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "UID", - "value": "" - } - } - }, - { - "$ref": "#/components/parameters/authToken" - } - ], - "responses": { - "200": { - "description": "Retrieve Auth Token", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "uid": "superhero1", - "authToken": "superhero1_1630306819c3027ce530b2367f3c97b4106f0cb8", - "createdAt": 1630306819 - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "Auth Tokens" - ], - "summary": "Update", - "description": "Updates the details of an auth token for the specified UID andauth token.", - "operationId": "update-authtoken", - "parameters": [ - { - "name": "uid", - "in": "path", - "description": "An UID of a user.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "UID", - "value": "" - } - } - }, - { - "name": "authToken", - "in": "path", - "description": "An auth token of a user.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Auth Token", - "value": "" - } - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "platform": { - "description": "The platform on which the auth token is being used.", - "type": "string" - }, - "userAgent": { - "description": "userAgent from which the auth token is used.", - "type": "string" - }, - "appInfo": { - "description": "JSON data containing app information.", - "type": "object" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Updated Auth Token", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "uid": "superhero1", - "authToken": "superhero1_1630306819c3027ce530b2367f3c97b4106f0cb8", - "createdAt": 1630306819 - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Auth Tokens" - ], - "summary": "Delete", - "description": "Deletes an auth token for the specified UID.", - "operationId": "delete-authtoken", - "parameters": [ - { - "name": "uid", - "in": "path", - "description": "An UID of a user.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "UID", - "value": "" - } - } - }, - { - "name": "authToken", - "in": "path", - "description": "An auth token of a user.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Auth Token", - "value": "" - } - } - } - ], - "responses": { - "200": { - "description": "Deleted Auth token", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "User with superhero6 has been deleted successfully." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/groups/{guid}/members": { - "post": { - "tags": [ - "Group Members" - ], - "summary": "Add members", - "description": "Adds multiple users as per the scope.", - "operationId": "add-group-members", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - }, - { - "$ref": "#/components/parameters/guid" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "admins": { - "description": "UIDs of users to be made admins.", - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1 - }, - "moderators": { - "description": "UIDs of users to be made moderators.", - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1 - }, - "participants": { - "description": "UIDs of users to be made participants.", - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1 - }, - "usersToBan": { - "description": "UIDs of the users to be banned from the group.", - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1 - } - }, - "type": "object" - }, - "examples": { - "Add Members": { - "summary": "Add Members", - "value": { - "participants": [ - "cometchat-uid-1" - ] - } - } - } - } - } - }, - "responses": { - "200": { - "description": "Create Group Members", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "usersToBan": { - "superhero6": { - "success": true - } - }, - "admins": { - "superhero1": { - "success": true, - "data": { - "id": "32", - "conversationId": "group_project-group", - "sender": "app_system", - "receiverType": "group", - "receiver": "project-group", - "category": "action", - "type": "groupMember", - "data": { - "action": "added", - "entities": { - "by": { - "entity": { - "uid": "app_system", - "name": "System", - "role": "default", - "status": "offline", - "createdAt": 1596537299 - }, - "entityType": "user" - }, - "on": { - "entity": { - "uid": "superhero1", - "name": "Iron Man", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/ironman.png", - "status": "offline", - "createdAt": 1596537299 - }, - "entityType": "user" - }, - "for": { - "entity": { - "guid": "project-group", - "icon": "http://placehold.it/120x120&text=image1", - "name": "Project Group", - "tags": [ - "friends", - "project" - ], - "type": "public", - "owner": "superhero2", - "createdAt": 1625460947, - "description": "project related discussions between members", - "membersCount": 2, - "conversationId": "group_project-group" - }, - "entityType": "group" - } - } - }, - "sentAt": 1625460972, - "updatedAt": 1625460972 - } - } - }, - "moderators": { - "superhero3": { - "success": true, - "data": { - "id": "33", - "conversationId": "group_project-group", - "sender": "app_system", - "receiverType": "group", - "receiver": "project-group", - "category": "action", - "type": "groupMember", - "data": { - "action": "added", - "entities": { - "by": { - "entity": { - "uid": "app_system", - "name": "System", - "role": "default", - "status": "offline", - "createdAt": 1596537299 - }, - "entityType": "user" - }, - "on": { - "entity": { - "uid": "superhero3", - "name": "Spiderman", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/spiderman.png", - "status": "offline", - "createdAt": 1596537299, - "updatedAt": 1625234590 - }, - "entityType": "user" - }, - "for": { - "entity": { - "guid": "project-group", - "icon": "http://placehold.it/120x120&text=image1", - "name": "Project Group", - "tags": [ - "friends", - "project" - ], - "type": "public", - "owner": "superhero2", - "createdAt": 1625460947, - "updatedAt": 1625460972, - "description": "project related discussions between members", - "membersCount": 3, - "conversationId": "group_project-group" - }, - "entityType": "group" - } - } - }, - "sentAt": 1625460973, - "updatedAt": 1625460973 - } - } - }, - "participants": { - "superhero4": { - "success": true, - "data": { - "id": "34", - "conversationId": "group_project-group", - "sender": "app_system", - "receiverType": "group", - "receiver": "project-group", - "category": "action", - "type": "groupMember", - "data": { - "action": "added", - "entities": { - "by": { - "entity": { - "uid": "app_system", - "name": "System", - "role": "default", - "status": "offline", - "createdAt": 1596537299 - }, - "entityType": "user" - }, - "on": { - "entity": { - "uid": "superhero4", - "name": "Wolverine", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/wolverine.png", - "status": "offline", - "createdAt": 1596537299 - }, - "entityType": "user" - }, - "for": { - "entity": { - "guid": "project-group", - "icon": "http://placehold.it/120x120&text=image1", - "name": "Project Group", - "tags": [ - "friends", - "project" - ], - "type": "public", - "owner": "superhero2", - "createdAt": 1625460947, - "updatedAt": 1625460973, - "description": "project related discussions between members", - "membersCount": 4, - "conversationId": "group_project-group" - }, - "entityType": "group" - } - } - }, - "sentAt": 1625460973, - "updatedAt": 1625460973 - } - }, - "superhero5": { - "success": true, - "data": { - "id": "35", - "conversationId": "group_project-group", - "sender": "app_system", - "receiverType": "group", - "receiver": "project-group", - "category": "action", - "type": "groupMember", - "data": { - "action": "added", - "entities": { - "by": { - "entity": { - "uid": "app_system", - "name": "System", - "role": "default", - "status": "offline", - "createdAt": 1596537299 - }, - "entityType": "user" - }, - "on": { - "entity": { - "uid": "superhero5", - "name": "Cyclops", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/cyclops.png", - "status": "offline", - "createdAt": 1596537299 - }, - "entityType": "user" - }, - "for": { - "entity": { - "guid": "project-group", - "icon": "http://placehold.it/120x120&text=image1", - "name": "Project Group", - "tags": [ - "friends", - "project" - ], - "type": "public", - "owner": "superhero2", - "createdAt": 1625460947, - "updatedAt": 1625460973, - "description": "project related discussions between members", - "membersCount": 5, - "conversationId": "group_project-group" - }, - "entityType": "group" - } - } - }, - "sentAt": 1625460973, - "updatedAt": 1625460973 - } - } - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "get": { - "tags": [ - "Group Members" - ], - "summary": "List", - "description": "List the members of a group for a given GUID", - "operationId": "list-group-members", - "parameters": [ - { - "$ref": "#/components/parameters/guid" - }, - { - "name": "perPage", - "in": "query", - "description": "Number of users to be fetched in a request. The default value is 100 and the maximum value is 1000.", - "schema": { - "type": "integer", - "default": "100" - } - }, - { - "name": "status", - "in": "query", - "description": "Group members list can be fetched depending on the user status. (available,offline).", - "schema": { - "type": "string", - "enum": [ - "available", - "offline" - ] - } - }, - { - "name": "page", - "in": "query", - "description": "Page Number.", - "schema": { - "type": "integer", - "default": "1" - } - }, - { - "name": "scopes", - "in": "query", - "description": "Fetches group members based on multiple scope.", - "style": "form", - "explode": false, - "schema": { - "type": "array", - "items": {} - } - } - ], - "responses": { - "200": { - "description": "Create Group Members", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/captainamerica.png", - "status": "offline", - "role": "default", - "scope": "participant", - "joinedAt": 1638360106, - "createdAt": 1629869270, - "updatedAt": 1630308676, - "conversationId": "superhero2_user_superhero4" - }, - { - "uid": "superhero3", - "name": "Captain America", - "link": "https://data-us.cometchat.io/assets", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/captainamerica.png", - "metadata": { - "contactNumber": "0123456789" - }, - "status": "offline", - "role": "default", - "scope": "participant", - "joinedAt": 1638360106, - "createdAt": 1629869270, - "updatedAt": 1638351060, - "conversationId": "superhero3_user_superhero4" - }, - { - "uid": "superhero5", - "name": "Cyclops", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/cyclops.png", - "status": "offline", - "role": "default", - "scope": "moderator", - "joinedAt": 1638360106, - "createdAt": 1629869270, - "conversationId": "superhero4_user_superhero5" - }, - { - "uid": "superhero4", - "name": "Wolverine", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/wolverine.png", - "status": "offline", - "role": "default", - "scope": "admin", - "joinedAt": 1638359534, - "createdAt": 1629869270 - } - ], - "meta": { - "pagination": { - "total": 0, - "count": 5, - "per_page": 100, - "current_page": 1, - "total_pages": 1 - } - }, - "cursor": { - "updatedAt": 1638354799, - "affix": "prepend" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/groups/{guid}/members/{uid}": { - "put": { - "tags": [ - "Group Members" - ], - "summary": "Change Scope", - "description": "Change scope of a member to the group for a given GUID and UID", - "operationId": "change-group-member-scope", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - }, - { - "$ref": "#/components/parameters/guid" - }, - { - "$ref": "#/components/parameters/uid" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "scope": { - "description": "A scope for the user.", - "type": "string", - "default": "participant" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Changed Scope of Group Members", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "guid": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "joinedAt": { - "type": "integer" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "guid": "supergroup", - "uid": "superhero2", - "scope": "participant", - "joinedAt": 1631690303 - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Group Members" - ], - "summary": "Kick", - "description": "Removes a member with given UID from a group for a given GUID.", - "operationId": "kick-group-member", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - }, - { - "$ref": "#/components/parameters/guid" - }, - { - "$ref": "#/components/parameters/uid" - } - ], - "responses": { - "200": { - "description": "Kicked Group Members", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "The member with superhero3 has been kicked from the Group with supergroup." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/groups/{guid}/bannedusers/{uid}": { - "post": { - "tags": [ - "Banned Users" - ], - "summary": "Ban", - "description": "Bans a member from a group for a given GUID and UID.", - "operationId": "ban-group-user", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - }, - { - "$ref": "#/components/parameters/guid" - }, - { - "$ref": "#/components/parameters/uid" - } - ], - "responses": { - "200": { - "description": "Create Group", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "The user with uid superhero3 has been banned from the Group with supergroup." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Banned Users" - ], - "summary": "Unban", - "description": "Unban a member with given UID from a group for a given GUID.", - "operationId": "unban-group-user", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - }, - { - "$ref": "#/components/parameters/guid" - }, - { - "$ref": "#/components/parameters/uid" - } - ], - "responses": { - "200": { - "description": "Create Group", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "The user with uid superhero3 has been banned from the Group with supergroup." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/groups/{guid}/bannedusers": { - "get": { - "tags": [ - "Banned Users" - ], - "summary": "List", - "description": "Lists banned users from a group for a given GUID.", - "operationId": "list-banned-group-users", - "parameters": [ - { - "$ref": "#/components/parameters/guid" - } - ], - "responses": { - "200": { - "description": "get Banned User", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - }, - "meta": { - "type": "object" - }, - "cursor": { - "properties": { - "updatedAt": { - "type": "integer" - }, - "affix": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "uid": "superhero6", - "name": "Barry Allen", - "link": "http://placehold.it", - "avatar": "http://placehold.it/120x120&text=image1", - "metadata": { - "email": "user@email.com", - "contactNumber": "0123456789" - }, - "status": "offline", - "role": "manager", - "createdAt": 1638354015, - "updatedAt": 1638354799, - "conversationId": "superhero4_user_superhero6" - }, - { - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/captainamerica.png", - "status": "offline", - "role": "default", - "createdAt": 1629869270, - "updatedAt": 1630308676, - "conversationId": "superhero2_user_superhero4" - }, - { - "uid": "superhero3", - "name": "Captain America", - "link": "https://data-us.cometchat.io/assets", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/captainamerica.png", - "metadata": { - "contactNumber": "0123456789" - }, - "status": "offline", - "role": "default", - "blockedByMe": true, - "blockedByMeAt": 1638346853, - "blockedAt": 1638346853, - "createdAt": 1629869270, - "updatedAt": 1638351060, - "conversationId": "superhero3_user_superhero4" - } - ], - "meta": { - "pagination": { - "total": 0, - "count": 5, - "per_page": 100, - "current_page": 1, - "total_pages": 1 - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/users/{uid}/friends": { - "post": { - "tags": [ - "Friends" - ], - "summary": "Add Friends", - "description": "The API allows to add multiple friends for a given UID.", - "operationId": "add-friend", - "parameters": [ - { - "$ref": "#/components/parameters/uid" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "accepted": { - "description": "The array of UIDs of the friends.", - "type": "array", - "items": { - "type": "string" - } - }, - "addToConversations": { - "description": "When enabled, automatically creates chat conversations between users when they become friends.", - "type": "boolean", - "default": false - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Added Friend", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "type": "object" - }, - "": { - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "accepted": { - "superhero2": { - "success": true, - "message": "Created relationship with status accepted." - }, - "superhero3": { - "success": true, - "message": "Created relationship with status accepted." - } - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "get": { - "tags": [ - "Friends" - ], - "summary": "List Friends", - "description": "The API allows to fetch friends for a given UID.", - "operationId": "list-all-friends", - "parameters": [ - { - "$ref": "#/components/parameters/uid" - }, - { - "name": "searchKey", - "in": "query", - "description": "Searches for given keyword in friends list (either UID or name).", - "schema": { - "type": "string" - } - }, - { - "name": "perPage", - "in": "query", - "description": "Number of friends to be fetched in a request. The default value is 100 and the maximum value is 1000.", - "schema": { - "type": "integer", - "default": "100" - } - }, - { - "name": "page", - "in": "query", - "description": "Page Number.", - "schema": { - "type": "integer", - "default": "1" - } - } - ], - "responses": { - "200": { - "description": "A list of friends.", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "uid": "superhero6", - "name": "Barry Allen", - "link": "http://placehold.it", - "avatar": "http://placehold.it/120x120&text=image1", - "metadata": { - "email": "user@email.com", - "contactNumber": "0123456789" - }, - "status": "offline", - "role": "manager", - "createdAt": 1638354015, - "updatedAt": 1638354799, - "conversationId": "superhero4_user_superhero6" - }, - { - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/captainamerica.png", - "status": "offline", - "role": "default", - "createdAt": 1629869270, - "updatedAt": 1630308676, - "conversationId": "superhero2_user_superhero4" - }, - { - "uid": "superhero3", - "name": "Captain America", - "link": "https://data-us.cometchat.io/assets", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/captainamerica.png", - "metadata": { - "contactNumber": "0123456789" - }, - "status": "offline", - "role": "default", - "blockedByMe": true, - "blockedByMeAt": 1638346853, - "blockedAt": 1638346853, - "createdAt": 1629869270, - "updatedAt": 1638351060, - "conversationId": "superhero3_user_superhero4" - } - ], - "meta": { - "pagination": { - "total": 0, - "count": 5, - "per_page": 100, - "current_page": 1, - "total_pages": 1 - }, - "cursor": { - "updatedAt": 1638354799, - "affix": "prepend" - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Friends" - ], - "summary": "Remove Friends", - "description": "The API removes friends for a given UID.", - "operationId": "remove-friend", - "parameters": [ - { - "$ref": "#/components/parameters/uid" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "friends": { - "description": "The array of friends to remove.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "A list of api keys", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "Deleted the friend relations succussfully" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/users/{uid}/blockedusers": { - "post": { - "tags": [ - "Blocked Users" - ], - "summary": "Block User", - "description": "Blocks the specified user", - "parameters": [ - { - "name": "uid", - "in": "path", - "description": "An UID of a user.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "UID", - "value": "" - } - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "blockedUids" - ], - "properties": { - "blockedUids": { - "description": "UIDs of the users to be blocked", - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Blocked user", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "superhero4": { - "success": true, - "message": "The user with UID superhero1 has blocked user with UID superhero3 successfully." - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Blocked Users" - ], - "summary": "Unblock User", - "description": "Unblocks the specified user", - "parameters": [ - { - "name": "uid", - "in": "path", - "description": "An UID of a user.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "UID", - "value": "" - } - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "blockedUids" - ], - "properties": { - "blockedUids": { - "description": "UIDs of the users to be unblock", - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Blocked user", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "superhero4": { - "success": true, - "message": "The user with UID superhero1 has blocked user with UID superhero3 successfully." - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "get": { - "tags": [ - "Blocked Users" - ], - "summary": "List Blocked Users", - "description": "Retrieves the blocked users", - "parameters": [ - { - "name": "uid", - "in": "path", - "description": "An UID of a user.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "UID", - "value": "" - } - } - } - ], - "responses": { - "200": { - "description": "Blocked user", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/components/schemas/userSchema" - }, - { - "$ref": "#/components/schemas/blockedUserSchema" - } - ] - } - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "uid": "superhero6", - "name": "Barry Allen", - "link": "http://placehold.it", - "avatar": "http://placehold.it/120x120&text=image1", - "metadata": { - "rawMetadata": "{'gender':'Male'}" - }, - "status": "offline", - "role": "manager", - "blockedByMe": true, - "blockedByMeAt": 1638346853, - "blockedAt": 1638346853, - "createdAt": 1629869270, - "updatedAt": 1638351060, - "conversationId": "superhero3_user_superhero4" - }, - { - "uid": "superhero2", - "name": "Captain America", - "link": "http://placehold.it", - "avatar": "http://placehold.it/120x120&text=image1", - "metadata": { - "rawMetadata": "{'gender':'Male'}" - }, - "status": "offline", - "role": "manager", - "blockedByMe": true, - "blockedByMeAt": 1638346853, - "blockedAt": 1638346853, - "createdAt": 1629869270, - "updatedAt": 1638351060, - "conversationId": "superhero1_user_superhero2" - } - ], - "meta": { - "pagination": { - "total": 0, - "count": 5, - "per_page": 100, - "current_page": 1, - "total_pages": 1 - }, - "cursor": { - "updatedAt": 1638354799, - "affix": "prepend" - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/roles": { - "post": { - "tags": [ - "Roles" - ], - "summary": "Create", - "description": "Creates a new user role", - "operationId": "create-role", - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "role", - "name" - ], - "properties": { - "role": { - "description": "A unique identifier for the role.", - "type": "string", - "default": "" - }, - "name": { - "description": "Friendly name of the role.", - "type": "string", - "default": "" - }, - "description": { - "description": "Description of the role.", - "type": "string", - "default": "" - }, - "metadata": { - "description": "Addition information about the role as JSON.", - "type": "object" - }, - "settings": { - "description": "Role settings that is used for restricting list users/send message. Possible values for listUsers & sendMessagesTo are all and friendsOnly", - "type": "object" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Created a new Role", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "role": "manager", - "name": "manager", - "description": "This role gives an update access", - "metadata": { - "email": "managers@gmail.com" - }, - "settings": { - "listUsers": "all", - "sendMessagesTo": "friendsOnly" - }, - "createdAt": 1638343994 - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "get": { - "tags": [ - "Roles" - ], - "summary": "List", - "description": "Lists the user roles", - "operationId": "list-roles", - "responses": { - "200": { - "description": "Lists the user roles", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "role": "manager", - "name": "manager", - "description": "This role gives an update access", - "metadata": { - "email": "managers@gmail.com" - }, - "settings": { - "listUsers": "all", - "sendMessagesTo": "friendsOnly" - }, - "createdAt": 1638343994 - }, - { - "role": "default", - "name": "Default Role", - "description": "This role gives full access ", - "createdAt": 1629869270, - "updatedAt": 1630306291 - } - ], - "meta": { - "pagination": { - "total": 2, - "count": 2, - "per_page": 100, - "current_page": 1, - "total_pages": 1 - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/roles/{role}": { - "get": { - "tags": [ - "Roles" - ], - "summary": "Get", - "description": "Retrieves role details for a given role.", - "operationId": "get-role", - "parameters": [ - { - "name": "role", - "in": "path", - "description": "A role to get.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Role", - "value": "" - } - } - } - ], - "responses": { - "200": { - "description": "Fetched the role", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "role": "manager", - "name": "manager", - "description": "This role gives an update access", - "metadata": { - "email": "managers@gmail.com" - }, - "settings": { - "listUsers": "all", - "sendMessagesTo": "friendsOnly" - }, - "createdAt": 1638343994 - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "Roles" - ], - "summary": "Update", - "description": "Updates a given role.", - "operationId": "update-role", - "parameters": [ - { - "name": "role", - "in": "path", - "description": "A role to update.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Role", - "value": "" - } - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "name": { - "description": "Friendly name of the role.", - "type": "string", - "default": "" - }, - "description": { - "description": "Description of the role.", - "type": "string", - "default": "" - }, - "metadata": { - "description": "Additional information about the role.", - "type": "object", - "default": { - "email": "dummy@example.com" - } - }, - "unset": { - "description": "The unsettable role attributes are settings, description and metadata.", - "type": "array", - "items": { - "type": "string", - "enum": [ - "settings", - "description", - "metadata" - ] - }, - "default": [] - }, - "settings": { - "description": "Role settings that is used for restricting list users/send message. Possible values for listUsers & sendMessagesTo are all and friendsOnly", - "type": "object", - "default": [] - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Updated Role", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "role": "manager", - "name": "manager", - "description": "This role gives an update access", - "metadata": { - "email": "managers@gmail.com" - }, - "settings": { - "listUsers": "all", - "sendMessagesTo": "friendsOnly" - }, - "createdAt": 1638343994 - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Roles" - ], - "summary": "Delete", - "description": "Deletes a role.", - "operationId": "delete-role", - "parameters": [ - { - "name": "role", - "in": "path", - "description": "A role to delete.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Role", - "value": "" - } - } - } - ], - "responses": { - "200": { - "description": "Deleted Role", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "Role manager has been deleted successfully." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/roles/{role}/restrictedfeatures": { - "post": { - "tags": [ - "Restrict Features" - ], - "summary": "Restrict Features", - "description": "Restrict Features for a given role.", - "operationId": "restrict-features", - "parameters": [ - { - "name": "role", - "in": "path", - "description": "A role to which features to be restricted.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Role", - "value": "" - } - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "featuresToRestrict" - ], - "properties": { - "featuresToRestrict": { - "description": "Keys of the features to be restricted.", - "type": "array", - "items": { - "type": "string" - }, - "default": "" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Restricts Features", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "u.listUsers": { - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "u.listUsers": { - "success": true, - "message": "The feature u.listUsers has been restricted successfully." - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "get": { - "tags": [ - "Restrict Features" - ], - "summary": "List Restricted Features", - "description": "List all restricted features for a given role.", - "operationId": "get-restrictedfeatures", - "parameters": [ - { - "name": "role", - "in": "path", - "description": "A role for which features are restricted.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Role", - "value": "" - } - } - } - ], - "responses": { - "200": { - "description": "Lists Restricted Features", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "key": { - "type": "string" - }, - "path": { - "type": "string" - }, - "createdAt": { - "type": "integer" - } - }, - "type": "object" - } - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "title": "Delete Group", - "description": "Allows logged-in user to delete a group.", - "key": "u.deleteGroup", - "path": "/v3/groups/{{guid}}", - "createdAt": 1639448370 - }, - { - "title": "List Users", - "description": "Allows logged-in user to fetch the user list.", - "key": "u.listUsers", - "path": "/v3/users", - "createdAt": 1639448370 - } - ], - "meta": { - "pagination": { - "total": 2, - "count": 2, - "per_page": 100, - "current_page": 1, - "total_pages": 1 - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Restrict Features" - ], - "summary": "Allow Features", - "description": "Allow features access for a given role.", - "operationId": "allow-features", - "parameters": [ - { - "name": "role", - "in": "path", - "description": "A role to which allow features.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Role", - "value": "" - } - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "featuresToAllow": { - "description": "keys of the features to be allowed.", - "type": "array", - "items": { - "type": "string" - }, - "default": "" - }, - "allowAll": { - "description": "All features to be allowed.", - "type": "boolean", - "default": "" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Allows Restricted Features", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "The feature has been allowed successfully." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/roles/{role}/permissions": { - "get": { - "tags": [ - "RBAC" - ], - "summary": "List Role Permissions", - "description": "Lists role permissions", - "operationId": "list-role-permissions", - "responses": { - "200": { - "description": "Lists role permissions", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "id": "createGroup", - "type": "role", - "title": "Allows/Denies creating groups", - "description": "Allows/Denies creating groups", - "dataType": "string", - "availableValues": [ - "allow", - "deny" - ], - "defaultValue": "allow", - "createdAt": 1765962204, - "updatedAt": 1765962204 - }, - { - "id": "sendMessage", - "type": "role", - "title": "Allows/Denies sending messages", - "description": "Allows/Denies sending messages", - "dataType": "string", - "availableValues": [ - "allow", - "deny" - ], - "defaultValue": "allow", - "createdAt": 1765962204, - "updatedAt": 1765962204 - }, - { - "id": "sendMessage.allowedMessageTypes", - "type": "role", - "title": "Allows sending messages of the specified types", - "description": "Allows sending messages of the specified types", - "dataType": "stringArray", - "availableValues": [ - "text", - "image", - "audio", - "video", - "file" - ], - "createdAt": 1765962204, - "updatedAt": 1765962204, - "defaultValue": [] - } - ], - "meta": { - "pagination": { - "total": 28, - "count": 28, - "per_page": 100, - "current_page": 1, - "total_pages": 1 - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "RBAC" - ], - "summary": "Set Role Permissions", - "description": "Sets or updates permissions for a specific role", - "operationId": "set-role-permissions", - "parameters": [ - { - "name": "role", - "in": "path", - "description": "The role identifier to update permissions for", - "required": true, - "schema": { - "type": "string", - "example": "default" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "permissions" - ], - "properties": { - "permissions": { - "description": "Permissions object containing key-value pairs for role permissions", - "type": "object", - "example": { - "createGroup": "allow", - "listUsers.mode": "friends", - "createGroup.allowedGroupTypes": [ - "public" - ] - }, - "additionalProperties": true - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Role permissions updated successfully", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "sendMessage": { - "success": true, - "message": "Permission with id sendMessage have been mapped successfully to role default." - }, - "permissions": { - "listUsers": "allow", - "listUsers.mode": "all", - "listUsers.allowedRoles": [ - "new_role" - ], - "getUserDetails.mode": "friends", - "getUserDetails.allowedRoles": [ - "default" - ], - "sendMessage": "allow", - "sendMessage.mode": "all", - "sendMessage.allowedReceiverTypes": [ - "group" - ], - "sendMessage.allowedReceiverRoles": [ - "new_role", - "default" - ], - "sendMessage.allowedMessageTypes": [ - "file", - "audio", - "video", - "image", - "text" - ], - "sendMessage.allowedMessageCategories": [ - "message", - "custom" - ], - "editMessage": "deny", - "deleteMessage": "deny", - "sendMessage.allowedMimeTypes": [ - "image/png" - ], - "initiateCall": "allow", - "initiateCall.mode": "all", - "initiateCall.allowedReceiverRoles": [ - "new_role" - ], - "createGroup": "allow", - "createGroup.allowedGroupTypes": [ - "private" - ], - "listGroups": "allow", - "listGroups.allowedGroupTypes": [ - "password" - ], - "joinGroup": "allow", - "joinGroup.allowedGroupTypes": [ - "public" - ], - "listMessages.allowedMessageCategories": [ - "message" - ], - "listMessages.allowedMessageTypes": [ - "audio" - ] - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/groups/{guid}/scopes/{scope}/permissions": { - "get": { - "tags": [ - "RBAC" - ], - "summary": "List Scope Permissions", - "description": "Lists scope permissions", - "operationId": "list-scope-permissions", - "responses": { - "200": { - "description": "Lists scope permissions", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "id": "addReaction", - "type": "scope", - "title": "Allows member to list the members with specified scope", - "description": "Allows member to list the members with specified scope", - "dataType": "string", - "availableValues": [ - "allow", - "deny" - ], - "defaultValue": "allow", - "createdAt": 1765962204, - "updatedAt": 1765962204 - }, - { - "id": "sendMessage", - "type": "scope", - "title": "Allows/Denies sending messages", - "description": "Allows/Denies sending messages", - "dataType": "string", - "availableValues": [ - "allow", - "deny" - ], - "defaultValue": "allow", - "createdAt": 1765962204, - "updatedAt": 1765962204 - }, - { - "id": "initiateCall.allowedType", - "type": "scope", - "title": "Allows members to initiate call with the specified types", - "description": "Allows members to initiate call with the specified types", - "dataType": "stringArray", - "availableValues": [ - "audio", - "video" - ], - "createdAt": 1765962204, - "updatedAt": 1765962204, - "defaultValue": [] - } - ], - "meta": { - "pagination": { - "total": 11, - "count": 11, - "per_page": 100, - "current_page": 1, - "total_pages": 1 - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "RBAC" - ], - "summary": "Set Scope Permissions", - "description": "Sets or updates permissions for a specific group scope", - "operationId": "set-scope-permissions", - "parameters": [ - { - "name": "guid", - "in": "path", - "description": "The group GUID to update scope permissions for", - "required": true, - "schema": { - "type": "string", - "example": "supergroup" - } - }, - { - "name": "scope", - "in": "path", - "description": "The scope identifier (e.g., admin, moderator, participant)", - "required": true, - "schema": { - "type": "string", - "example": "admin" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "permissions" - ], - "properties": { - "permissions": { - "description": "Permissions object containing key-value pairs for scope permissions", - "type": "object", - "example": { - "sendMessage": "deny", - "initiateCall": "friends" - }, - "additionalProperties": true - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Scope permissions updated successfully", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "sendMessage": { - "success": true, - "message": "Permission with id sendMessage have been mapped successfully to scope admin on group cometchat-guid-1." - }, - "permissions": { - "sendMessage": "allow", - "listMembers": "allow", - "listMembers.allowedScopes": "participant", - "addReaction": "deny", - "listReactions.allowedScopes": "moderator", - "listReactions": "deny", - "sendThreadedMessage": "allow", - "initiateCall": "deny", - "initiateCall.allowedScopes": "participant", - "initiateCall.allowedType": "audio", - "editMessage": "allow" - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/roles/{role}/permissions/{permission}": { - "delete": { - "tags": [ - "RBAC" - ], - "summary": "Unset Role Permissions", - "description": "Removes a specific permission from a role", - "operationId": "unset-role-permissions", - "parameters": [ - { - "name": "role", - "in": "path", - "description": "The role identifier to remove permission from", - "required": true, - "schema": { - "type": "string", - "example": "default" - } - }, - { - "name": "permission", - "in": "path", - "description": "The permission key to unset (e.g., listUsers.mode, createGroup, etc.)", - "required": true, - "schema": { - "type": "string", - "example": "listUsers.mode" - } - } - ], - "responses": { - "200": { - "description": "Role permission unset successfully", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "permissions": { - "listUsers": "allow", - "listUsers.mode": "all", - "listUsers.allowedRoles": [ - "new_role" - ], - "getUserDetails.mode": "friends", - "getUserDetails.allowedRoles": [ - "default" - ], - "sendMessage": "allow", - "sendMessage.mode": "all", - "sendMessage.allowedReceiverTypes": [ - "group" - ], - "sendMessage.allowedReceiverRoles": [ - "new_role", - "default" - ], - "sendMessage.allowedMessageTypes": [ - "file", - "audio", - "video", - "image", - "text" - ], - "sendMessage.allowedMessageCategories": [ - "message", - "custom" - ], - "editMessage": "deny", - "editMessage.denyForScopes": [], - "deleteMessage": "deny", - "deleteMessage.denyForScopes": [], - "sendMessage.allowedCustomTypes": [], - "sendMessage.allowedMimeTypes": [ - "image/png" - ], - "initiateCall": "allow", - "initiateCall.mode": "all", - "initiateCall.allowedReceiverRoles": [ - "new_role" - ], - "createGroup": "allow", - "createGroup.allowedGroupTypes": [ - "private" - ], - "listGroups": "allow", - "listGroups.allowedGroupTypes": [ - "password" - ], - "joinGroup": "allow", - "joinGroup.allowedGroupTypes": [ - "public" - ], - "listMessages.allowedMessageCategories": [ - "message" - ], - "listMessages.allowedMessageTypes": [ - "audio" - ] - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/groups/{guid}/scopes/{scope}/permissions/{permission}": { - "delete": { - "tags": [ - "RBAC" - ], - "summary": "Unset Scope Permissions", - "description": "Removes a specific permission from a group scope", - "operationId": "unset-scope-permissions", - "parameters": [ - { - "name": "guid", - "in": "path", - "description": "The group GUID to remove scope permission from", - "required": true, - "schema": { - "type": "string", - "example": "supergroup" - } - }, - { - "name": "scope", - "in": "path", - "description": "The scope identifier (e.g., admin, moderator, participant)", - "required": true, - "schema": { - "type": "string", - "example": "admin" - } - }, - { - "name": "permission", - "in": "path", - "description": "The permission key to unset (e.g., sendMessage, initiateCall, etc.)", - "required": true, - "schema": { - "type": "string", - "example": "sendMessage" - } - } - ], - "responses": { - "200": { - "description": "Scope permission unset successfully", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "permissions": { - "sendMessage": "allow", - "listMembers": "allow", - "listMembers.allowedScopes": "participant", - "addReaction": "deny", - "listReactions.allowedScopes": "moderator", - "listReactions": "deny", - "sendThreadedMessage": "allow", - "initiateCall": "deny", - "initiateCall.allowedScopes": "participant", - "initiateCall.allowedType": "audio", - "editMessage": "allow" - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/messages/{id}/thread": { - "post": { - "tags": [ - "Messages" - ], - "summary": "Send Threaded Message", - "description": "Sends Threaded Message on behalf of a user.", - "operationId": "send-thread-message", - "parameters": [ - { - "$ref": "#/components/parameters/requiredonBehalfOf" - }, - { - "name": "id", - "in": "path", - "description": "Id of the message for which thread message to be sent", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Message ID", - "value": "" - } - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "receiver": { - "description": "The receiver of the message.", - "type": "string" - }, - "receiverType": { - "description": "The receiverType of the message. either user or group", - "type": "string", - "enum": [ - "user", - "group" - ] - }, - "category": { - "description": "Category of the message. The available categories are message and custom.", - "type": "string", - "default": "message", - "enum": [ - "message", - "custom" - ] - }, - "type": { - "description": "Type of the message. The available values are text, image, file, audio, video.", - "type": "string", - "default": "text", - "enum": [ - "text", - "image", - "file", - "audio", - "video" - ] - }, - "data": { - "description": "JSON containing message attributes.", - "type": "object", - "default": { - "text": "Hi Tom!", - "metadata": { - "key1": "value1", - "key2": "value2" - } - } - }, - "multipleReceivers": { - "description": "JSON containing array of UIDs and GUID for whom the message must be sent. Format for multiple receivers - {\"uids\": [\"uid1\",\"uid2\"], \"guids\":[\"guid1\"]}", - "type": "object", - "default": { - "uids": [ - "uid1", - "uid2" - ], - "guids": [ - "guid1" - ] - } - }, - "tags": { - "description": "A list of tags to identify specific messages.", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "tag1" - ] - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Create Message", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object", - "allOf": [ - { - "properties": { - "parentId": { - "readOnly": false - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/messageSchema" - } - ] - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "2", - "conversationId": "superhero3_user_superhero5", - "sender": "superhero3", - "receiverType": "user", - "receiver": "superhero5", - "category": "message", - "type": "text", - "data": { - "text": "test hello", - "metadata": { - "key1": "val1" - }, - "entities": { - "sender": { - "entity": { - "uid": "superhero3", - "name": "Spiderman", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/spiderman.png", - "status": "offline", - "role": "default", - "createdAt": 1638361550 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "superhero5", - "name": "Cyclops", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/cyclops.png", - "status": "offline", - "role": "default", - "createdAt": 1638361550, - "conversationId": "superhero3_user_superhero5" - }, - "entityType": "user" - } - } - }, - "sentAt": 1638423490, - "updatedAt": 1638423490, - "parentId": "1" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "get": { - "tags": [ - "Messages" - ], - "summary": "List Threaded Messages", - "description": "Fetches the messages list of a thread.", - "operationId": "list-all-thread-messages", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - }, - { - "name": "id", - "in": "path", - "description": "Id of the message whose thread messages are to be fetched.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Message ID", - "value": "" - } - } - } - ], - "responses": { - "200": { - "description": "Create Message", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "allOf": [ - { - "properties": { - "parentId": { - "readOnly": false - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/messageSchema" - } - ] - } - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "id": "2", - "conversationId": "superhero3_user_superhero5", - "sender": "superhero3", - "receiverType": "user", - "receiver": "superhero5", - "category": "message", - "type": "text", - "data": { - "text": "test hello", - "entities": { - "sender": { - "entity": { - "uid": "superhero3", - "name": "Spiderman", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/spiderman.png", - "status": "offline", - "createdAt": 1638361550 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "superhero5", - "name": "Cyclops", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/cyclops.png", - "status": "offline", - "createdAt": 1638361550, - "conversationId": "superhero3_user_superhero5" - }, - "entityType": "user" - } - }, - "metadata": { - "key1": "val1" - } - }, - "sentAt": 1638423490, - "updatedAt": 1638423490, - "parentId": "1" - } - ], - "meta": { - "current": { - "limit": 10, - "count": 1 - }, - "next": { - "affix": "append", - "sentAt": 1638423490, - "id": "3" - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/users/{uid}/messages": { - "get": { - "tags": [ - "Messages" - ], - "summary": "List User Messages", - "description": "Fetches messages between onBehalfOfuid and an uid from path param.", - "operationId": "user-list-user-messages", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - }, - { - "$ref": "#/components/parameters/uid" - }, - { - "name": "searchKey", - "in": "query", - "description": "searches for occurence of message.", - "schema": { - "type": "string" - } - }, - { - "name": "hasAttachments", - "in": "query", - "description": "Fetches messages that include attachments.", - "schema": { - "type": "boolean" - } - }, - { - "name": "attachmentTypes", - "in": "query", - "description": "Displays messages according to the type of attachment. Supported types include: image, video, audio, and file.", - "schema": { - "type": "string", - "enum": [ - "image", - "video", - "audio", - "file" - ] - } - }, - { - "name": "hasMentions", - "in": "query", - "description": "Fetches messages that include mentions.", - "schema": { - "type": "boolean" - } - }, - { - "name": "hasLinks", - "in": "query", - "description": "Fetches messages that include links.", - "schema": { - "type": "boolean" - } - }, - { - "name": "mentionedUids", - "in": "query", - "description": "Fetches messages that include the mentioned comma-separated UIDs.", - "schema": { - "type": "boolean" - } - }, - { - "name": "unread", - "in": "query", - "description": "displays all the unread messages of the user.", - "schema": { - "type": "boolean" - } - }, - { - "name": "undelivered", - "in": "query", - "description": "displays all the messages those are undelivered.", - "schema": { - "type": "boolean" - } - }, - { - "name": "count", - "in": "query", - "description": "displays the count of messages as per group/user", - "schema": { - "type": "boolean" - } - }, - { - "name": "hideReplies", - "in": "query", - "description": "Shows only messages skipping the replies in the message thread.", - "schema": { - "type": "boolean" - } - }, - { - "name": "affix", - "in": "query", - "description": "Determines whether to pull the messages either before or after any message id. Possible values are append(after) and prepend(before).", - "schema": { - "type": "string", - "enum": [ - "append", - "prepend" - ] - } - }, - { - "name": "id", - "in": "query", - "description": "Retrieves all those messages after the passed id.", - "schema": { - "type": "string" - } - }, - { - "name": "category", - "in": "query", - "description": "Fetches messages that belongs to specific category.", - "schema": { - "type": "string" - } - }, - { - "name": "categories", - "in": "query", - "description": "Fetches messages that contains multiple categories.", - "schema": { - "type": "array", - "items": {} - } - }, - { - "name": "type", - "in": "query", - "description": "Fetches messages that belongs to a specific type.", - "schema": { - "type": "string" - } - }, - { - "name": "types", - "in": "query", - "description": "Fetches messages with multiple types.", - "schema": { - "type": "array", - "items": {} - } - }, - { - "name": "myMentionsOnly", - "in": "query", - "description": "Filters messages with mentions for the UID in onBehalfOf header.", - "schema": { - "type": "boolean", - "default": "false" - } - }, - { - "name": "hasReactions", - "in": "query", - "description": "Filters messages sent by a the uid given in sender query param and has reactions. If onBehalfOf header is also set then the messages from their common conversations will be filtered.", - "schema": { - "type": "boolean", - "default": "false" - } - }, - { - "name": "sender", - "in": "query", - "description": "Filters messages with sender. If onBehalfOf header is also set then the messages from their common conversations will be filtered.", - "schema": { - "type": "string" - } - }, - { - "name": "mentionsWithBlockedInfo", - "in": "query", - "description": "For the mentioned users, provides blocked information with respect to the UID in onBehalfOf header.", - "schema": { - "type": "boolean", - "default": "false" - } - }, - { - "name": "mentionswithTagInfo", - "in": "query", - "description": "Provides user tags for the mentioned users.", - "schema": { - "type": "boolean", - "default": "false" - } - }, - { - "name": "perPage", - "in": "query", - "description": "The number of records to fetch. Minimum value: 1, Maximum value: 1000", - "schema": { - "type": "integer", - "default": "100" - } - }, - { - "name": "limit", - "in": "query", - "description": "The number of records to fetch. Minimum value: 1, Maximum value: 1000 (works alongside onBehalfOf header)", - "schema": { - "type": "integer", - "default": "10" - } - }, - { - "name": "fromTimestamp", - "in": "query", - "description": "Fetches the messages from this timestamp.", - "schema": { - "type": "integer" - } - }, - { - "name": "toTimestamp", - "in": "query", - "description": "Fetches the messages till this timestamp.", - "schema": { - "type": "integer" - } - }, - { - "name": "withTags", - "in": "query", - "description": "This will fetch messages along with the tags.", - "schema": { - "type": "boolean" - } - }, - { - "name": "tags", - "in": "query", - "description": "This will fetch only those messages belonging to the mentioned tags.", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "hideQuotedMessages", - "in": "query", - "description": "If set to true, the API response will exclude all quotedMessage nodes from the returned messages. This allows clients to fetch only the messages without any quoted messages.", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "description": "Get User Messages", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "id": "1776", - "conversationId": "superhero2_user_superhero3", - "sender": "superhero2", - "receiverType": "user", - "receiver": "superhero3", - "category": "call", - "type": "audio", - "data": { - "action": "initiated", - "entities": { - "by": { - "entity": { - "uid": "superhero2", - "name": "Captain America", - "role": "default", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/captainamerica.png", - "status": "offline" - }, - "entityType": "user" - }, - "on": { - "entity": { - "data": { - "entities": { - "sender": { - "entity": { - "uid": "superhero2", - "name": "Captain America", - "role": "default", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/captainamerica.png", - "status": "offline" - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "superhero3", - "name": "Spiderman", - "role": "default", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/spiderman.png", - "status": "offline", - "conversationId": "superhero2_user_superhero3" - }, - "entityType": "user" - } - }, - "metadata": { - "key": { - "one": "two" - } - } - }, - "type": "audio", - "sender": "superhero2", - "status": "initiated", - "joinedAt": 1646995097, - "receiver": "superhero3", - "sessionid": "16469950973f7f6a1ea6d5166db11c929cdbde6a61902e10ba", - "wsChannel": { - "secret": "083c2a7f660150e42c2bf07a17231e90980b290d", - "service": "19757e59e8b9669.call", - "identity": "[19757e59e8b9669]16469950973f7f6a1ea6d5166db11c929cdbde6a61902e10ba" - }, - "initiatedAt": 1646995097, - "receiverType": "user", - "conversationId": "superhero2_user_superhero3" - }, - "entityType": "call" - }, - "for": { - "entity": { - "uid": "superhero3", - "name": "Spiderman", - "role": "default", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/spiderman.png", - "status": "offline", - "conversationId": "superhero2_user_superhero3" - }, - "entityType": "user" - } - } - }, - "sentAt": 1646995097, - "updatedAt": 1646995097 - }, - { - "id": "1777", - "conversationId": "superhero2_user_superhero3", - "sender": "superhero3", - "receiverType": "user", - "receiver": "superhero2", - "category": "call", - "type": "video", - "data": { - "action": "ongoing", - "entities": { - "by": { - "entity": { - "uid": "superhero3", - "name": "Spiderman", - "role": "default", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/spiderman.png", - "status": "offline" - }, - "entityType": "user" - }, - "on": { - "entity": { - "data": { - "entities": { - "sender": { - "entity": { - "uid": "superhero2", - "name": "Captain America", - "role": "default", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/captainamerica.png", - "status": "offline" - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "superhero3", - "name": "Spiderman", - "role": "default", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/spiderman.png", - "status": "offline", - "conversationId": "superhero2_user_superhero3" - }, - "entityType": "user" - } - }, - "metadata": { - "key": { - "one": "two" - } - } - }, - "type": "video", - "sender": "superhero2", - "status": "ongoing", - "joinedAt": 1646995512, - "receiver": "superhero3", - "sessionid": "16469950973f7f6a1ea6d5166db11c929cdbde6a61902e10ba", - "startedAt": 1646995512, - "wsChannel": { - "secret": "083c2a7f660150e42c2bf07a17231e90980b290d", - "service": "19757e59e8b9669.call", - "identity": "[19757e59e8b9669]16469950973f7f6a1ea6d5166db11c929cdbde6a61902e10ba" - }, - "initiatedAt": 1646995097, - "receiverType": "user", - "conversationId": "superhero2_user_superhero3" - }, - "entityType": "call" - }, - "for": { - "entity": { - "uid": "superhero2", - "name": "Captain America", - "role": "default", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/captainamerica.png", - "status": "offline", - "conversationId": "superhero2_user_superhero3" - }, - "entityType": "user" - } - } - }, - "sentAt": 1646995512, - "updatedAt": 1646995512 - } - ], - "meta": { - "pagination": { - "total": 0, - "count": 2, - "per_page": 100, - "current_page": 1, - "total_pages": 1 - }, - "cursor": { - "id": 1786, - "affix": "prepend" - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/groups/{guid}/messages": { - "get": { - "tags": [ - "Messages" - ], - "summary": "List Group Messages", - "description": "Fetches the group message list for a user.", - "operationId": "user-list-group-messages", - "parameters": [ - { - "$ref": "#/components/parameters/onBehalfOf" - }, - { - "$ref": "#/components/parameters/guid" - }, - { - "name": "searchKey", - "in": "query", - "description": "searches for occurence of message.", - "schema": { - "type": "string" - } - }, - { - "name": "hasAttachments", - "in": "query", - "description": "Fetches messages that include attachments.", - "schema": { - "type": "boolean" - } - }, - { - "name": "attachmentTypes", - "in": "query", - "description": "Displays messages according to the type of attachment. Supported types include: image, video, audio, and file.", - "schema": { - "type": "string", - "enum": [ - "image", - "video", - "audio", - "file" - ] - } - }, - { - "name": "hasMentions", - "in": "query", - "description": "Fetches messages that include mentions.", - "schema": { - "type": "boolean" - } - }, - { - "name": "hasLinks", - "in": "query", - "description": "Fetches messages that include links.", - "schema": { - "type": "boolean" - } - }, - { - "name": "mentionedUids", - "in": "query", - "description": "Fetches messages that include the mentioned comma-separated UIDs.", - "schema": { - "type": "boolean" - } - }, - { - "name": "unread", - "in": "query", - "description": "displays all the unread messages of the user.", - "schema": { - "type": "boolean" - } - }, - { - "name": "undelivered", - "in": "query", - "description": "displays all the messages those are undelivered.", - "schema": { - "type": "boolean" - } - }, - { - "name": "count", - "in": "query", - "description": "displays the count of messages as per group/user", - "schema": { - "type": "boolean" - } - }, - { - "name": "hideMessagesFromBlockedUsers", - "in": "query", - "description": "Hides the messages from blocked users in group.", - "schema": { - "type": "boolean" - } - }, - { - "name": "hideReplies", - "in": "query", - "description": "Shows only messages skipping the replies in the message thread.", - "schema": { - "type": "boolean" - } - }, - { - "name": "affix", - "in": "query", - "description": "Determines whether to pull the messages either before or after any message id. Possible values are append(after) and prepend(before).", - "schema": { - "type": "string", - "enum": [ - "append", - "prepend" - ] - } - }, - { - "name": "id", - "in": "query", - "description": "Retrieves all those messages after the passed id.", - "schema": { - "type": "string" - } - }, - { - "name": "category", - "in": "query", - "description": "Fetches messages that belongs to specific category.", - "schema": { - "type": "string" - } - }, - { - "name": "categories", - "in": "query", - "description": "Fetches messages that contains multiple categories.", - "schema": { - "type": "array", - "items": {} - } - }, - { - "name": "type", - "in": "query", - "description": "Fetches messages that belongs to a specific type.", - "schema": { - "type": "string" - } - }, - { - "name": "types", - "in": "query", - "description": "Fetches messages with multiple types.", - "schema": { - "type": "array", - "items": {} - } - }, - { - "name": "myMentionsOnly", - "in": "query", - "description": "Filters messages with mentions for the UID in onBehalfOf header.", - "schema": { - "type": "boolean", - "default": "false" - } - }, - { - "name": "hasReactions", - "in": "query", - "description": "Filters messages sent by a the uid given in sender query param and has reactions. If onBehalfOf header is also set then the messages from their common conversations will be filtered.", - "schema": { - "type": "boolean", - "default": "false" - } - }, - { - "name": "sender", - "in": "query", - "description": "Filters messages with sender. If onBehalfOf header is also set then the messages from their common conversations will be filtered.", - "schema": { - "type": "string" - } - }, - { - "name": "mentionsWithBlockedInfo", - "in": "query", - "description": "For the mentioned users, provides blocked information with respect to the UID in onBehalfOf header.", - "schema": { - "type": "boolean", - "default": "false" - } - }, - { - "name": "mentionswithTagInfo", - "in": "query", - "description": "Provides user tags for the mentioned users.", - "schema": { - "type": "boolean", - "default": "false" - } - }, - { - "name": "limit", - "in": "query", - "description": "The number of records to fetch. Minimum value: 1, Maximum value: 1000", - "schema": { - "type": "integer", - "default": "10" - } - }, - { - "name": "fromTimestamp", - "in": "query", - "description": "Fetches the messages from this timestamp.", - "schema": { - "type": "integer" - } - }, - { - "name": "toTimestamp", - "in": "query", - "description": "Fetches the messages till this timestamp.", - "schema": { - "type": "integer" - } - }, - { - "name": "withTags", - "in": "query", - "description": "This will fetch messages along with the tags.", - "schema": { - "type": "boolean" - } - }, - { - "name": "tags", - "in": "query", - "description": "This will fetch only those messages belonging to the mentioned tags.", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "hideQuotedMessages", - "in": "query", - "description": "If set to true, the API response will exclude all quotedMessage nodes from the returned messages. This allows clients to fetch only the referenced messages without any quoted messages.", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "description": "Retreived Group Messages", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "id": "1", - "conversationId": "superhero3_user_superhero5", - "sender": "superhero3", - "receiverType": "user", - "receiver": "superhero5", - "category": "message", - "type": "text", - "data": { - "text": "test hello", - "entities": { - "sender": { - "entity": { - "uid": "superhero3", - "name": "Spiderman", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/spiderman.png", - "status": "offline", - "createdAt": 1638361550 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "superhero5", - "name": "Cyclops", - "role": "default", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/cyclops.png", - "status": "offline", - "createdAt": 1638361550, - "conversationId": "superhero3_user_superhero5" - }, - "entityType": "user" - } - }, - "metadata": { - "key1": "val1" - } - }, - "sentAt": 1638423490, - "updatedAt": 1638423490 - } - ], - "meta": { - "current": { - "limit": 100, - "count": 1 - }, - "next": { - "affix": "append", - "sentAt": 1638423490, - "id": "1" - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/bots/{uid}/messages": { - "post": { - "tags": [ - "Messages" - ], - "summary": "Send Bot Message", - "description": "Sends Message from a Bot.", - "operationId": "sends-bot-message", - "parameters": [ - { - "name": "uid", - "in": "path", - "description": "An UID of the Bot.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Message ID", - "value": "" - } - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "discriminator": { - "propertyName": "category", - "mapping": { - "message": "#/components/schemas/messageCategorySchema", - "interactive": "#/components/schemas/interactiveCategorySchema", - "custom": "#/components/schemas/customCategorySchema" - } - }, - "oneOf": [ - { - "$ref": "#/components/schemas/messageCategorySchema" - }, - { - "$ref": "#/components/schemas/customCategorySchema" - }, - { - "$ref": "#/components/schemas/interactiveCategorySchema" - } - ] - }, - "examples": { - "form-interactive": { - "summary": "Interactive form example", - "value": { - "receiverType": "user", - "data": { - "interactionGoal": { - "type": "allOf", - "elementIds": [ - "element8" - ] - }, - "allowSenderInteraction": true, - "interactiveData": { - "title": "Form Title", - "formFields": [ - { - "elementType": "textInput", - "elementId": "element1", - "defaultValue": "vivek", - "label": "Name", - "optional": false, - "maxLines": 1, - "placeholder": { - "text": "write your name here" - } - }, - { - "elementType": "textInput", - "elementId": "element2", - "label": "Last Name", - "optional": false, - "maxLines": 1 - }, - { - "elementType": "textInput", - "elementId": "element3", - "label": "Address", - "optional": false, - "maxLines": 5 - }, - { - "elementType": "dropdown", - "elementId": "element4", - "label": "Country", - "optional": false, - "defaultValue": "option1", - "options": [ - { - "value": "option1", - "label": "INDIA" - }, - { - "value": "option2", - "label": "AUSTRALIA" - } - ] - }, - { - "elementType": "checkbox", - "elementId": "element5", - "optional": true, - "label": "Services", - "options": [ - { - "value": "option1", - "label": "Garbage" - }, - { - "value": "option2", - "label": "Electricity Bill" - }, - { - "value": "option3", - "label": "Lift" - } - ], - "defaultValue": [ - "option1", - "option2" - ] - }, - { - "elementType": "singleSelect", - "elementId": "element6", - "optional": false, - "label": "Wing", - "defaultValue": "option1", - "options": [ - { - "value": "option1", - "label": "A Wing" - }, - { - "value": "option2", - "label": "B Wing" - } - ] - }, - { - "elementType": "button", - "elementId": "element9", - "buttonText": "About us", - "disableAfterInteracted": true, - "action": { - "actionType": "urlNavigation", - "url": "https://www.cometchat.com" - } - } - ], - "submitElement": { - "elementType": "button", - "elementId": "element8", - "buttonText": "Submit", - "disableAfterInteracted": true, - "action": { - "actionType": "apiAction", - "url": "https://10893f2ae68f59.api-us.cometchat-staging.com/v3.0/messages", - "method": "POST", - "payload": { - "category": "message", - "type": "text", - "data": { - "text": "Thanks For filling the Form!" - }, - "receiver": "superhero2", - "receiverType": "user" - }, - "headers": { - "appId": "10893f2ae68f59", - "Content-Type": "application/json", - "apiKey": "5797f2d3d103d7d78f085eb46bfd14d5c45ddfdf", - "onBehalfOf": "superhero1" - }, - "dataKey": "CometChatData" - } - } - } - }, - "category": "interactive", - "type": "form", - "receiver": "superhero1", - "tags": [ - "tag1" - ] - } - }, - "card-interactive": { - "summary": "Interactive card example", - "value": { - "receiverType": "user", - "data": { - "interactionGoal": { - "type": "none" - }, - "allowSenderInteraction": true, - "interactiveData": { - "imageUrl": "https://upload.wikimedia.org/wikipedia/en/e/e1/Thomas_D._Baird_%28low-resolution%29.jpg", - "text": "Thanks For filling the Form!.\n\nWant to make your gifts more special? Now its easy with our personalized card messages!\n\nOur new feature lets you add a custom message on a beautifully designed card, making your gift-giving extra personal and memorable.\nWhether its for a birthday , anniversary , or just because , our card messages will express your feelings perfectly.\n\nTo start creating your own card message:\nChoose the gift\nWrite your heartfelt message\nWell print it on a high-quality card and include it with your gift\nAdd a touch of your own sentiments with our personalized card messages. Make every gift unforgettable. Start creating your card message today!\nVisit our website Website Link or download our app App Link.\n\nExpress more than just words with our Personalized Card Messages.Because its not just a gift, its your feelings.\n", - "cardActions": [ - { - "elementType": "button", - "elementId": "element8", - "buttonText": "Buy now", - "disableAfterInteracted": true, - "action": { - "actionType": "apiAction", - "url": "https://10893f2ae68f59.api-us.cometchat-staging.com/v3.0/messages", - "method": "POST", - "payload": { - "category": "message", - "type": "text", - "data": { - "text": "Thanks For filling the Form!" - }, - "receiver": "group_1695921003310", - "receiverType": "group" - }, - "headers": { - "appId": "10893f2ae68f59", - "Content-Type": "application\\/json", - "apiKey": "5797f2d3d103d7d78f085eb46bfd14d5c45ddfdf", - "onBehalfOf": "superhero1" - }, - "dataKey": "CometChatData" - } - }, - { - "elementType": "button", - "elementId": "element9", - "buttonText": "Navigate", - "disableAfterInteracted": true, - "action": { - "actionType": "urlNavigation", - "url": "https://www.cometchat.com" - } - }, - { - "elementType": "button", - "elementId": "element10", - "buttonText": "Submit", - "disableAfterInteracted": true, - "action": { - "actionType": "apiAction", - "url": "https://10893f2ae68f59.api-us.cometchat-staging.com/v3.0/messages", - "method": "POST", - "payload": { - "category": "message", - "type": "text", - "data": { - "text": "Thanks For filling the Form!" - }, - "receiver": "group_1695921003310", - "receiverType": "group" - }, - "headers": { - "appId": "10893f2ae68f59", - "Content-Type": "application/json", - "apiKey": "5797f2d3d103d7d78f085eb46bfd14d5c45ddfdf", - "onBehalfOf": "superhero1" - }, - "dataKey": "CometChatData" - } - } - ] - } - }, - "category": "interactive", - "type": "card", - "receiver": "superhero1", - "tags": [ - "tag1" - ] - } - }, - "scheduler-interactive": { - "summary": "Interactive scheduler example", - "value": { - "receiverType": "user", - "receiver": "superhero2", - "category": "interactive", - "type": "scheduler", - "data": { - "receiverType": "user", - "receiver": "superhero2", - "muid": "16Jan3:41423PM", - "interactionGoal": { - "type": "anyAction", - "elementIds": [] - }, - "allowSenderInteraction": false, - "interactiveData": { - "title": "Meet with Dr. Jacob", - "avatarUrl": "https: //data-us.cometchat.io/assets/images/avatars/ironman.png", - "bufferTime": 15, - "icsFileUrl": "https://data-us.cometchat.io/23965108c9b89ad2/media/1704380186_864562419_ab59586ed5ab5f89d2c960457ceee249.ics", - "availability": { - "friday": [ - { - "to": "2359", - "from": "0000" - } - ], - "monday": [ - { - "to": "1700", - "from": "0600" - } - ], - "tuesday": [ - { - "to": "1400", - "from": "1000" - }, - { - "to": "2000", - "from": "1700" - } - ], - "thursday": [ - { - "to": "2359", - "from": "0000" - } - ], - "wednesday": [ - { - "to": "0800", - "from": "0600" - }, - { - "to": "1700", - "from": "1200" - } - ] - }, - "timezoneCode": "Asia/Kolkata", - "duration": 60, - "scheduleElement": { - "action": { - "url": "https://802bba5ae13a7.api-us.cometchat-staging.com/v3.0/messages", - "actionType": "apiAction", - "method": "post", - "dataKey": "", - "headers": { - "accept": "application/json", - "apiKey": "62a32b5140e6b630dab38e2e690d88de9c69d416", - "onBehalfOf": "suryansh1", - "content-type": "application/json" - }, - "payload": { - "data": { - "text": "Meeting Scheduled Successfully!" - }, - "type": "text", - "category": "message", - "receiver": "demo1", - "receiverType": "group" - } - }, - "elementId": "1", - "buttonText": "Schedule", - "elementType": "button", - "disableAfterInteracted": true - }, - "goalCompletionText": "Your meeting has been Scheduled", - "dateRangeStart": "2024-06-09", - "dateRangeEnd": "2024-06-09" - } - } - } - } - } - } - } - }, - "responses": { - "200": { - "description": "Send Bot Message", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "1", - "conversationId": "superhero3_user_superhero5", - "sender": "superhero3", - "receiverType": "user", - "receiver": "superhero5", - "category": "message", - "type": "text", - "data": { - "text": "test hello", - "metadata": { - "key1": "val1" - }, - "entities": { - "sender": { - "entity": { - "uid": "superhero3", - "name": "Spiderman", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/spiderman.png", - "status": "offline", - "role": "default", - "createdAt": 1638361550 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "superhero5", - "name": "Cyclops", - "avatar": "https://data-us.cometchat.io/assets/images/avatars/cyclops.png", - "status": "offline", - "role": "default", - "createdAt": 1638361550, - "conversationId": "superhero3_user_superhero5" - }, - "entityType": "user" - } - } - }, - "sentAt": 1638423490, - "updatedAt": 1638423490 - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/notifications/v1/settings": { - "get": { - "tags": [ - "Notifications" - ], - "summary": "List Settings", - "description": "List preferences, templates and sounds for the given app.", - "operationId": "notifications-push-list-settings", - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "preferences": { - "group": { - "messagesSetting": 2, - "messageEditedSetting": 2, - "messagesOverride": true, - "repliesSetting": 2, - "repliesOverride": true, - "messageDeletedSetting": 2, - "reactionsSetting": 2, - "reactionsOverride": true, - "memberLeftSetting": 1, - "memberLeftOverride": true, - "memberAddedSetting": 1, - "memberAddedOverride": true, - "memberJoinedSetting": 1, - "memberJoinedOverride": true, - "memberKickedSetting": 1, - "memberKickedOverride": true, - "memberBannedSetting": 1, - "memberBannedOverride": true, - "memberUnbannedSetting": 1, - "memberUnbannedOverride": true, - "memberScopeChangedSetting": 1, - "memberScopeChangedOverride": true - }, - "bypassPreferencesForMentions": false, - "bypassPreferencesForGroupMentions": false, - "call": { - "busySetting": 1, - "cancelledSetting": 1, - "endedSetting": 1, - "initiatedSetting": 1, - "ongoingSetting": 1, - "rejectedSetting": 1, - "unansweredSetting": 1, - "initiatedOverride": false, - "ongoingOverride": false, - "cancelledOverride": false, - "rejectedOverride": false, - "unansweredOverride": false, - "busyOverride": false, - "endedOverride": false - }, - "oneOnOne": { - "messagesSetting": 2, - "messagesOverride": true, - "repliesSetting": 2, - "repliesOverride": true, - "messageEditedSetting": 2, - "messageDeletedSetting": 2, - "reactionsSetting": 2, - "reactionsOverride": true - }, - "mute": { - "dndPreferenceSetting": 1, - "dndPreferenceOverride": true, - "schedulePreferenceSetting": { - "monday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "tuesday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "wednesday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "thursday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "friday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "saturday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "sunday": { - "from": 0, - "to": 2359, - "dnd": false - } - }, - "schedulePreferenceOverride": true, - "mutedGroupsOverride": true, - "mutedOneOnOnesOverride": true - }, - "email": { - "notifyForUnreadOnly": true, - "intervalInSeconds": 7200, - "maxPerDay": 20, - "maxPerDayPerConversation": 2, - "includeMessageObjectSetting": false, - "includeSenderMetadataSetting": true, - "includeReceiverMetadataSetting": true, - "includeMessageMetadataSetting": true - }, - "sms": { - "notifyForUnreadOnly": true, - "intervalInSeconds": 7200, - "maxPerDay": 20, - "maxPerDayPerConversation": 2, - "includeMessageObjectSetting": false, - "includeSenderMetadataSetting": true, - "includeReceiverMetadataSetting": true, - "includeMessageMetadataSetting": true - }, - "push": { - "includeMessageObjectSetting": false, - "includeSenderMetadataSetting": true, - "includeReceiverMetadataSetting": true, - "trimTextFieldSetting": false, - "includeMessageMetadataSetting": true, - "customJson": { - "hello": "world" - } - } - }, - "sound": { - "chat": "default", - "call": "default" - }, - "templates": { - "usePrivacyTemplate": 3, - "textMessageTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "{{message.data.text}}" - }, - "textMessageTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "New message" - }, - "mediaMessageTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body_audio": "🔈 Has sent an audio", - "body_file": "📄 Has sent a file", - "body_image": "📷 Has sent an image", - "body_video": "🎥 Has sent a video" - }, - "mediaMessageTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body_audio": "New audio message", - "body_file": "New file message", - "body_image": "New image message", - "body_video": "New video message" - }, - "customMessageTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "{{message.data.text}}", - "body_fallback": "New message" - }, - "customMessageTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "New message", - "body_fallback": "New message" - }, - "interactiveFormTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "{{message.data.interactiveData.title}}" - }, - "interactiveFormTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "New message" - }, - "interactiveCardTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "{{message.data.interactiveData.text}}" - }, - "interactiveCardTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}}", - "body": "New message" - }, - "interactiveSchedulerTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "New invite" - }, - "interactiveSchedulerTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "New invite" - }, - "interactiveCustomTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "New message" - }, - "interactiveCustomTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "New message" - }, - "emailSubjectTemplateDefault": { - "subjectGroup": "New messages in {{groupDetails.name}}", - "subjectOneOnOne": "New messages from {{senderDetails.name}}" - }, - "emailSubjectTemplatePrivacy": { - "subjectGroup": "New messages in {{groupDetails.name}}", - "subjectOneOnOne": "New messages from {{senderDetails.name}}" - }, - "smsContentTemplateDefault": { - "bodyGroup": "You've received {{messages.length}} message(s) in {{groupDetails.name}}! Read them at https://your-website.com.", - "bodyOneOnOne": "You've received {{messages.length}} message(s) from {{senderDetails.name}}! Read them at https://your-website.com." - }, - "smsContentTemplatePrivacy": { - "bodyGroup": "You've received {{messages.length}} message(s) in {{groupDetails.name}}! Read them at https://your-website.com.", - "bodyOneOnOne": "You've received {{messages.length}} message(s) from {{senderDetails.name}}! Read them at https://your-website.com." - } - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "patch": { - "tags": [ - "Notifications" - ], - "summary": "Update Settings", - "description": "Update preferences, templates and sounds for the given app.", - "operationId": "notifications-push-update-settings", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/pnSettingSchema" - } - } - } - }, - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Notifications" - ], - "summary": "Reset Settings", - "description": "Reset preferences, templates and sounds to default values for the given app.", - "operationId": "notifications-push-reset-settings", - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/notifications/push/v1/providers/fcm": { - "get": { - "tags": [ - "Notifications" - ], - "summary": "List FCM Providers", - "description": "List the configured FCM providers for the given app.", - "operationId": "notifications-push-list-fcm-providers", - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "pushProviders": [] - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "post": { - "tags": [ - "Notifications" - ], - "summary": "Add FCM Provider", - "description": "Add new FCM provider for the given app.", - "operationId": "notifications-push-add-fcm-provider", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/fcmCreateProviderSchema" - } - } - } - }, - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "Notifications" - ], - "summary": "Update FCM Provider", - "description": "Update existing FCM provider for the given app.", - "operationId": "notifications-push-update-fcm-provider", - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "properties": { - "providerId": { - "type": "string" - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/fcmCreateProviderSchema" - } - ] - } - } - } - }, - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/notifications/push/v1/providers/fcm/{providerId}": { - "delete": { - "tags": [ - "Notifications" - ], - "summary": "Delete FCM Provider", - "description": "Delete an FCM provider for the given app.", - "operationId": "notifications-push-delete-fcm-provider", - "parameters": [ - { - "$ref": "#/components/parameters/providerId" - } - ], - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/notifications/push/v1/providers/fcm/default/{providerId}": { - "put": { - "tags": [ - "Notifications" - ], - "summary": "Change default FCM Provider", - "description": "Change the default FCM provider for the given app.", - "operationId": "notifications-push-default-fcm-provider", - "parameters": [ - { - "$ref": "#/components/parameters/providerId" - } - ], - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/notifications/push/v1/providers/apns": { - "get": { - "tags": [ - "Notifications" - ], - "summary": "List APNS Providers", - "description": "List the configured APNS providers for the given app.", - "operationId": "notifications-push-list-apns-providers", - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": {} - }, - "type": "object" - }, - "example": { - "data": { - "pushProviders": [] - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "Notifications" - ], - "summary": "Update APNS Providers", - "description": "Update existing APNS provider for the given app.", - "operationId": "notifications-push-update-apns-provider", - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "properties": { - "providerId": { - "type": "string" - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/createApnsProvider" - } - ] - } - } - } - }, - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": {} - }, - "type": "object" - }, - "example": { - "data": { - "success": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "post": { - "tags": [ - "Notifications" - ], - "summary": "Add APNS Provider", - "description": "Add new APNS provider for the given app.", - "operationId": "notifications-push-add-apns-provider", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/createApnsProvider" - } - } - } - }, - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": {} - }, - "type": "object" - }, - "example": { - "data": { - "pushProviders": [] - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/notifications/push/v1/providers/apns/{providerId}": { - "delete": { - "tags": [ - "Notifications" - ], - "summary": "Delete APNS Providers", - "description": "Delete an APNS provider for the given app.", - "operationId": "notifications-push-delete-apns-provider", - "parameters": [ - { - "$ref": "#/components/parameters/providerId" - } - ], - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": {} - }, - "type": "object" - }, - "example": { - "data": { - "success": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/notifications/push/v1/providers/apns/default/{providerId}": { - "put": { - "tags": [ - "Notifications" - ], - "summary": "Change default APNS Provider", - "description": "Change the default APNS provider for the given app.", - "operationId": "notifications-push-default-apns-provider", - "parameters": [ - { - "$ref": "#/components/parameters/providerId" - } - ], - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": {} - }, - "type": "object" - }, - "example": { - "data": { - "success": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/notifications/v1/preferences": { - "get": { - "tags": [ - "Notifications" - ], - "summary": "List Preferences", - "description": "List the configured preferences for the given user.", - "operationId": "notifications-push-list-preferences", - "parameters": [ - { - "$ref": "#/components/parameters/requiredUID" - } - ], - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "preferences": { - "group": { - "messagesSetting": 2, - "messagesOverride": true, - "repliesSetting": 2, - "repliesOverride": true, - "reactionsSetting": 2, - "reactionsOverride": true, - "memberLeftSetting": 1, - "memberLeftOverride": true, - "memberAddedSetting": 1, - "memberAddedOverride": true, - "memberJoinedSetting": 1, - "memberJoinedOverride": true, - "memberKickedSetting": 1, - "memberKickedOverride": true, - "memberBannedSetting": 1, - "memberBannedOverride": true, - "memberUnbannedSetting": 1, - "memberUnbannedOverride": true, - "memberScopeChangedSetting": 1, - "memberScopeChangedOverride": true - }, - "oneOnOne": { - "messagesSetting": 2, - "messagesOverride": true, - "repliesSetting": 2, - "repliesOverride": true, - "reactionsSetting": 2, - "reactionsOverride": true - }, - "mute": { - "dndPreferenceSetting": 1, - "dndPreferenceOverride": true, - "schedulePreferenceSetting": { - "monday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "tuesday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "wednesday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "thursday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "friday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "saturday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "sunday": { - "from": 0, - "to": 2359, - "dnd": false - } - }, - "schedulePreferenceOverride": true, - "mutedGroupsOverride": true, - "mutedOneOnOnesOverride": true - } - }, - "sound": { - "chat": "default", - "call": "default" - }, - "templates": { - "usePrivacyTemplate": 3, - "textMessageTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "{{message.data.text}}" - }, - "textMessageTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "New message" - }, - "mediaMessageTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body_audio": "Has sent an {{message.type}}", - "body_file": "Has sent a {{message.type}}", - "body_image": "Has sent an {{message.type}}", - "body_video": "Has sent a {{message.type}}" - }, - "mediaMessageTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body_audio": "New message", - "body_file": "New message", - "body_image": "New message", - "body_video": "New message" - }, - "customMessageTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "{{message.data.text}}", - "body_fallback": "New message" - }, - "customMessageTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "{{message.data.text}}", - "body_fallback": "New message" - }, - "interactiveFormTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "{{data.interactiveData.title}}" - }, - "interactiveFormTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "New message" - }, - "interactiveCardTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "{{data.interactiveData.text}}" - }, - "interactiveCardTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}}", - "body": "New message" - }, - "interactiveSchedulerTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "New invite" - }, - "interactiveSchedulerTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "New invite" - }, - "interactiveCustomTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "New message" - }, - "interactiveCustomTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "New message" - } - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "patch": { - "tags": [ - "Notifications" - ], - "summary": "Update Preferences", - "description": "Update the preference for the given user.", - "operationId": "notifications-push-update-preferences", - "parameters": [ - { - "$ref": "#/components/parameters/requiredUID" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/pnUpdatePreferences" - } - } - } - }, - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "preferences": { - "group": { - "messagesSetting": 2, - "messagesOverride": true, - "repliesSetting": 2, - "repliesOverride": true, - "reactionsSetting": 2, - "reactionsOverride": true, - "memberLeftSetting": 1, - "memberLeftOverride": true, - "memberAddedSetting": 1, - "memberAddedOverride": true, - "memberJoinedSetting": 1, - "memberJoinedOverride": true, - "memberKickedSetting": 1, - "memberKickedOverride": true, - "memberBannedSetting": 1, - "memberBannedOverride": true, - "memberUnbannedSetting": 1, - "memberUnbannedOverride": true, - "memberScopeChangedSetting": 1, - "memberScopeChangedOverride": true - }, - "oneOnOne": { - "messagesSetting": 2, - "messagesOverride": true, - "repliesSetting": 2, - "repliesOverride": true, - "reactionsSetting": 2, - "reactionsOverride": true - }, - "mute": { - "dndPreferenceSetting": 1, - "dndPreferenceOverride": true, - "schedulePreferenceSetting": { - "monday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "tuesday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "wednesday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "thursday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "friday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "saturday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "sunday": { - "from": 0, - "to": 2359, - "dnd": false - } - }, - "schedulePreferenceOverride": true, - "mutedGroupsOverride": true, - "mutedOneOnOnesOverride": true - } - }, - "sound": { - "chat": "default", - "call": "default" - }, - "templates": { - "usePrivacyTemplate": 3, - "textMessageTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "{{message.data.text}}" - }, - "textMessageTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "New message" - }, - "mediaMessageTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body_audio": "Has sent an {{message.type}}", - "body_file": "Has sent a {{message.type}}", - "body_image": "Has sent an {{message.type}}", - "body_video": "Has sent a {{message.type}}" - }, - "mediaMessageTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body_audio": "New message", - "body_file": "New message", - "body_image": "New message", - "body_video": "New message" - }, - "customMessageTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "{{message.data.text}}", - "body_fallback": "New message" - }, - "customMessageTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "{{message.data.text}}", - "body_fallback": "New message" - }, - "interactiveFormTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "{{data.interactiveData.title}}" - }, - "interactiveFormTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "New message" - }, - "interactiveCardTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "{{data.interactiveData.text}}" - }, - "interactiveCardTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}}", - "body": "New message" - }, - "interactiveSchedulerTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "New invite" - }, - "interactiveSchedulerTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "New invite" - }, - "interactiveCustomTemplateDefault": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "New message" - }, - "interactiveCustomTemplatePrivacy": { - "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", - "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", - "body": "New message" - } - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Notifications" - ], - "summary": "Reset Preferences", - "description": "Reset the preferences for the given user.", - "operationId": "notifications-push-reset-preferences", - "parameters": [ - { - "$ref": "#/components/parameters/requiredUID" - } - ], - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "groupPreferences": { - "groupMessages": 2, - "groupReplies": 2, - "groupReactions": 2, - "groupMemberLeft": 1, - "groupMemberAdded": 1, - "groupMemberJoined": 1, - "groupMemberKicked": 1, - "groupMemberBanned": 1, - "groupMemberUnbanned": 1, - "groupMemberScopeChanged": 1 - }, - "oneOnOnePreferences": { - "oneOnOneMessages": 2, - "oneOnOneReplies": 2, - "oneOnOneReactions": 2 - }, - "mutePreferences": { - "dnd": 1, - "schedule": { - "sunday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "monday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "tuesday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "wednesday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "thursday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "friday": { - "from": 0, - "to": 2359, - "dnd": false - }, - "saturday": { - "from": 0, - "to": 2359, - "dnd": false - } - } - }, - "usePrivacyTemplate": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/notifications/push/v1/tokens": { - "post": { - "tags": [ - "Notifications" - ], - "summary": "Register push token", - "description": "Register a push token for the given auth token.", - "operationId": "notifications-push-register-token", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/pnTokenSchema" - } - } - } - }, - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "get": { - "tags": [ - "Notifications" - ], - "summary": "List push tokens", - "description": "List push tokens for the given auth token.", - "operationId": "notifications-push-list-tokens", - "parameters": [ - { - "name": "all", - "in": "query", - "description": "Displays all the tokens", - "schema": { - "type": "boolean" - } - }, - { - "name": "authToken", - "in": "query", - "description": "Fetches the results based on the auth Tokens", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "pushTokens": [ - { - "authToken": "superhero3_1710141033938cf7e3c67cc44465440d4efac8de", - "pushTokenType": "chat", - "createdAt": "2024-03-11T07:27:59.412Z", - "platform": "fcm_android", - "providerId": "fcm-provider-2", - "pushToken": "{{uid3}}_fcm_android_asia_kolkata_4_new_mgmt", - "uid": "superhero3", - "updatedAt": "2024-03-13T11:24:47.776Z" - } - ] - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Notifications" - ], - "summary": "Unregister push tokens for authToken", - "description": "Unregister push token(s) registered for the given auth token.", - "operationId": "notifications-push-unregister-tokens", - "parameters": [ - { - "name": "all", - "in": "query", - "description": "all=true: Deletes all the registered Push tokens for the user.\nall=false: Deletes the Push token registered for the current authToken.", - "schema": { - "type": "boolean" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/unregisterpnToken" - } - } - } - }, - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "pushTokens": [ - { - "authToken": "superhero3_1710141033938cf7e3c67cc44465440d4efac8de", - "pushTokenType": "chat", - "createdAt": "2024-03-11T07:27:59.412Z", - "platform": "fcm_android", - "providerId": "fcm-provider-2", - "pushToken": "{{uid3}}_fcm_android_asia_kolkata_4_new_mgmt", - "uid": "superhero3", - "updatedAt": "2024-03-13T11:24:47.776Z" - } - ] - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/notifications/push/v1/tokens/{pushToken}": { - "delete": { - "tags": [ - "Notifications" - ], - "summary": "Delete the given push token", - "description": "Deletes the given push token", - "operationId": "notifications-push-delete-token", - "parameters": [ - { - "$ref": "#/components/parameters/pushToken" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/unregisterpnToken" - } - } - } - }, - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "pushTokens": [ - { - "authToken": "superhero3_1710141033938cf7e3c67cc44465440d4efac8de", - "pushTokenType": "chat", - "createdAt": "2024-03-11T07:27:59.412Z", - "platform": "fcm_android", - "providerId": "fcm-provider-2", - "pushToken": "{{uid3}}_fcm_android_asia_kolkata_4_new_mgmt", - "uid": "superhero3", - "updatedAt": "2024-03-13T11:24:47.776Z" - } - ] - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/notifications/v1/preferences/mute": { - "get": { - "tags": [ - "Notifications" - ], - "summary": "List muted conversations", - "description": "List the conversations where notifications have been muted on behalf of the user.", - "operationId": "notifications-push-list-muted", - "parameters": [ - { - "$ref": "#/components/parameters/requiredUID" - } - ], - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "mutedConversations": [] - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "Notifications" - ], - "summary": "Mute notifications for conversations", - "description": "Mute notifications for the conversations on behalf of the given user.", - "operationId": "notifications-push-mute-conversations", - "parameters": [ - { - "$ref": "#/components/parameters/requiredUID" - } - ], - "requestBody": { - "description": "List of conversations", - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "conversations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/muteConversation" - } - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Notifications" - ], - "summary": "Unmute notifications for conversations", - "description": "Unmute notifications for the conversations on behalf of the given user.", - "operationId": "notifications-push-unmute-conversations", - "parameters": [ - { - "$ref": "#/components/parameters/requiredUID" - } - ], - "requestBody": { - "description": "Unmute Conversations", - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "conversations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/unmuteConversation" - } - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/notifications/v1/preferences/timezone": { - "get": { - "tags": [ - "Notifications" - ], - "summary": "Get timezone", - "description": "Get the timezone on behalf of the user.", - "operationId": "notifications-get-timezone", - "parameters": [ - { - "$ref": "#/components/parameters/requiredUID" - } - ], - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "timezone": "Asia/Kolkata" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "patch": { - "tags": [ - "Notifications" - ], - "summary": "Update timezone", - "description": "Update the timezone on behalf of the user.", - "operationId": "notifications-update-timezone", - "parameters": [ - { - "$ref": "#/components/parameters/requiredUID" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "timezone": { - "description": "Input a valid Timezone Identifier. Eg: Asia/Tokyo", - "type": "string", - "example": "Asia/Tokyo" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "timezone": "Asia/Kolkata" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/notifications/v1/contact-details": { - "get": { - "tags": [ - "Notifications" - ], - "summary": "Get contact details", - "description": "Fetches the contact details like Email ID and Phone number for a given user.", - "operationId": "notifications-get-contact-details", - "parameters": [ - { - "$ref": "#/components/parameters/requiredonBehalfOf" - } - ], - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "email": "someone@example.com", - "phno": "+919591128691" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "patch": { - "tags": [ - "Notifications" - ], - "summary": "Update contact details", - "description": "Updates the contact details like Email ID and Phone number for a given user.", - "operationId": "notifications-update-contact-details", - "parameters": [ - { - "$ref": "#/components/parameters/requiredonBehalfOf" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "email": { - "description": "The user's email address", - "type": "string", - "example": "someone@example.com" - }, - "phno": { - "description": "The user's phone number with country code (Ex: +1 for US, +91 for India, etc.)", - "type": "string", - "example": "+919591128691" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "email": "someone@example.com", - "phno": "+919591128691" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Notifications" - ], - "summary": "Delete contact details", - "description": "Deletes the stored contact details for a given user.", - "operationId": "notifications-delete-contact-details", - "parameters": [ - { - "$ref": "#/components/parameters/requiredonBehalfOf" - } - ], - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/notifications/sms/v1/providers/twilio": { - "get": { - "tags": [ - "Notifications" - ], - "summary": "Get Twilio credentials", - "description": "Fetches the Twilio credentials stored for the app.", - "operationId": "notifications-sms-list-twilio-details", - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "twilioAccountSID": "AC91e67951ff7e5e7be8122184e76ae0e6=", - "twilioAuthToken": "71c2301435733997e83db7a3445bc57", - "twilioSenderPhoneNumber": "+13611364718" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "post": { - "tags": [ - "Notifications" - ], - "summary": "Save Twilio credentials", - "description": "Store the Twilio credentials for the given app.", - "operationId": "notifications-sms-save-twilio-details", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "required": [ - "twilioAccountSID", - "twilioAuthToken", - "twilioSenderPhoneNumber" - ], - "properties": { - "twilioAccountSID": { - "description": "The Twilio Account SID", - "type": "string", - "example": "AC91e67951ff7e5e7be8122184e76ae0e6" - }, - "twilioAuthToken": { - "description": "The Twilio Auth Token", - "type": "string", - "example": "71c2301435733997e83db7a3445bc57" - }, - "twilioSenderPhoneNumber": { - "description": "The Twilio sender phone number", - "type": "string", - "example": "+13611364718" - }, - "isEnabled": { - "description": "Enable Twilio", - "type": "boolean" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "twilioAccountSID": "AC91e67951ff7e5e7be8122184e76ae0e6=", - "twilioAuthToken": "71c2301435733997e83db7a3445bc57", - "twilioSenderPhoneNumber": "+13611364718" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "Notifications" - ], - "summary": "Update Twilio credentials", - "description": "Updates the Twilio credentials for the given app.", - "operationId": "notifications-sms-update-twilio-details", - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "twilioAccountSID": { - "description": "The Twilio Account SID", - "type": "string", - "example": "AC91e67951ff7e5e7be8122184e76ae0e6" - }, - "twilioAuthToken": { - "description": "The Twilio Auth Token", - "type": "string", - "example": "71c2301435733997e83db7a3445bc57" - }, - "twilioSenderPhoneNumber": { - "description": "The Twilio sender phone number", - "type": "string", - "example": "+13611364718" - }, - "isEnabled": { - "description": "Enable Twilio", - "type": "boolean" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "twilioAccountSID": "AC91e67951ff7e5e7be8122184e76ae0e6=-", - "twilioAuthToken": "71c2301435733997e83db7a3445bc57", - "twilioSenderPhoneNumber": "+13611364718" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Notifications" - ], - "summary": "Delete Twilio credentials", - "description": "Deletes the stored Twilio credentials for the given app.", - "operationId": "notifications-sms-delete-twilio-details", - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/notifications/email/v1/providers/sendgrid": { - "get": { - "tags": [ - "Notifications" - ], - "summary": "Get SendGrid credentials", - "description": "Fetches the SendGrid credentials stored for the app.", - "operationId": "notifications-email-list-sendgrid-details", - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "sendGridApiKey": "SG.9ipFP4b17yT-Fff2GGrH8FF0GqdkBohXAEI4GnTSj9Q=", - "sendGridTemplateID": "d-8284bb9646a040499d5cfa28d272a094", - "sendGridUnsubscribeGroupID": "33832", - "senderEmail": "noreply@em123.example.com", - "senderName": "Emailer" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "post": { - "tags": [ - "Notifications" - ], - "summary": "Save SendGrid credentials", - "description": "Store the SendGrid credentials for the given app.", - "operationId": "notifications-email-save-sendgrid-details", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "required": [ - "sendGridApiKey", - "sendGridTemplateID", - "sendGridUnsubscribeGroupID", - "senderName", - "senderEmail", - "allowEmailReplies" - ], - "properties": { - "sendGridApiKey": { - "description": "The SendGrid API key", - "type": "string", - "example": "SG.9ipFP4b17yT-Fff2GGrH8FF0GqdkBohXAEI4GnTSj9Q=" - }, - "sendGridTemplateID": { - "description": "The SendGrid template ID", - "type": "string", - "example": "d-8284bb9646a040499d5cfa28d272a094" - }, - "sendGridUnsubscribeGroupID": { - "description": "The SendGrid unsubscribe group ID", - "type": "string", - "example": "33832" - }, - "senderName": { - "description": "The name of the sender", - "type": "string", - "example": "Emailer" - }, - "senderEmail": { - "description": "The email address of the sender", - "type": "string", - "example": "noreply@em123.example.com" - }, - "allowEmailReplies": { - "type": "boolean", - "default": false - }, - "senderEmailForReplies": { - "description": "The email address when replies are enabled (optional)", - "type": "string", - "example": "reply@em123.example.com", - "nullable": true - }, - "isEnabled": { - "description": "Enable SendGrid", - "type": "boolean" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "allowEmailReplies": true, - "sendGridApiKey": "sendgrid_key", - "sendGridTemplateID": "template_id", - "sendGridUnsubscribeGroupID": "12312", - "senderEmail": "noreply@em123.example.com", - "senderEmailForReplies": "reply@em123.example.com", - "senderName": "Emailer", - "repliesWebhook": "https://notifications-us.cometchat.io/email/v1/sendgrid/replies?token=GY40_1kWlnc2Lo7Lk8vWWxiNJ6BmEEpV4eZsUeMr328" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "Notifications" - ], - "summary": "Update SendGrid credentials", - "description": "Updates the SendGrid credentials for the given app.", - "operationId": "notifications-email-update-sendgrid-details", - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "sendGridApiKey": { - "description": "The SendGrid API key", - "type": "string", - "example": "SG.9ipFP4b17yT-Fff2GGrH8FF0GqdkBohXAEI4GnTSj9Q=" - }, - "sendGridTemplateID": { - "description": "The SendGrid template ID", - "type": "string", - "example": "d-8284bb9646a040499d5cfa28d272a094" - }, - "sendGridUnsubscribeGroupID": { - "description": "The SendGrid unsubscribe group ID", - "type": "string", - "example": "33832" - }, - "senderName": { - "description": "The name of the sender", - "type": "string", - "example": "Emailer" - }, - "senderEmail": { - "description": "The email address of the sender", - "type": "string", - "example": "noreply@em123.example.com" - }, - "allowEmailReplies": { - "type": "boolean", - "default": false - }, - "senderEmailForReplies": { - "description": "The email address when replies are enabled (optional)", - "type": "string", - "example": "reply@em123.example.com", - "nullable": true - }, - "isEnabled": { - "description": "Enable SendGrid", - "type": "boolean" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "allowEmailReplies": true, - "sendGridApiKey": "sendgrid_key", - "sendGridTemplateID": "template_id", - "sendGridUnsubscribeGroupID": "12312", - "senderEmail": "noreply@em123.example.com", - "senderEmailForReplies": "reply@em123.example.com", - "senderName": "Emailer", - "repliesWebhook": "https://notifications-us.cometchat.io/email/v1/sendgrid/replies?token=GY40_1kWlnc2Lo7Lk8vWWxiNJ6BmEEpV4eZsUeMr328" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Notifications" - ], - "summary": "Delete SendGrid credentials", - "description": "Deletes the stored SendGrid credentials for the given app.", - "operationId": "notifications-email-delete-sendgrid-details", - "responses": { - "200": { - "description": "A list of push notification's settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": {} - }, - "meta": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/notifications/push/v1/providers/custom": { - "get": { - "tags": [ - "Notifications" - ], - "summary": "Get Custom Provider for Push Notifications", - "description": "Fetches the custom provider for Push Notifications for a given app.", - "operationId": "notifications-list-push-custom-provider", - "responses": { - "200": { - "description": "A list of push notification's custom provider", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "pushProviders": [ - { - "basicAuthUsername": "user123", - "basicAuthPassword": "pass123", - "useBasicAuth": true, - "isEnabled": true, - "webhookURL": "https://trigger-push.example.com/cometchat" - } - ] - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "post": { - "tags": [ - "Notifications" - ], - "summary": "Save Custom Provider for Push Notifications", - "description": "Saves the custom provider for Push Notifications for a given app.", - "operationId": "notifications-save-push-custom-provider", - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "isEnabled", - "webhookURL", - "basicAuthUsername", - "basicAuthPassword", - "useBasicAuth" - ], - "properties": { - "isEnabled": { - "description": "Use custom provider", - "type": "boolean" - }, - "webhookURL": { - "description": "The webhook URL to be triggered for the respective events.", - "type": "string" - }, - "useBasicAuth": { - "description": "To enable basic auth for the URL", - "type": "boolean" - }, - "basicAuthUsername": { - "description": "The username for Basic auth", - "type": "string" - }, - "basicAuthPassword": { - "description": "The password for Basic auth", - "type": "string" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Save push notification's custom provider", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "pushProviders": [ - { - "basicAuthUsername": "user123", - "basicAuthPassword": "pass123", - "useBasicAuth": true, - "isEnabled": true, - "webhookURL": "https://trigger-push.example.com/cometchat" - } - ] - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "Notifications" - ], - "summary": "Update Custom Provider for Push Notifications", - "description": "Updates the custom provider for Push Notifications for a given app.", - "operationId": "notifications-update-push-custom-provider", - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "isEnabled": { - "description": "Use custom provider", - "type": "boolean" - }, - "webhookURL": { - "description": "The webhook URL to be triggered for the respective events.", - "type": "string" - }, - "useBasicAuth": { - "description": "To enable basic auth for the URL", - "type": "boolean" - }, - "basicAuthUsername": { - "description": "The username for Basic auth", - "type": "string" - }, - "basicAuthPassword": { - "description": "The password for Basic auth", - "type": "string" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "A list of push notification's custom provider", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "pushProviders": [ - { - "basicAuthUsername": "user123", - "basicAuthPassword": "pass123", - "useBasicAuth": true, - "isEnabled": true, - "webhookURL": "https://trigger-push.example.com/cometchat" - } - ] - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Notifications" - ], - "summary": "Delete the Custom Provider for Push Notifications", - "description": "Deletes the custom provider for Push Notifications for a given app.", - "operationId": "notifications-delete-push-custom-provider", - "responses": { - "200": { - "description": "A list of push notification's custom provider", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "success": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/notifications/sms/v1/providers/custom": { - "get": { - "tags": [ - "Notifications" - ], - "summary": "Get Custom Provider for SMS Notifications", - "description": "Fetches the custom provider for SMS Notifications for a given app.", - "operationId": "notifications-list-sms-custom-provider", - "responses": { - "200": { - "description": "A list of push notification's custom provider", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "basicAuthPassword": "user888", - "basicAuthUsername": "pass123", - "isEnabled": true, - "useBasicAuth": true, - "useStoredPhNo": false, - "webhookURL": "https://trigger-sms.example.com/cometchat" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "post": { - "tags": [ - "Notifications" - ], - "summary": "Save Custom Provider for SMS Notifications", - "description": "Saves the custom provider for SMS Notifications for a given app.", - "operationId": "notifications-save-sms-custom-provider", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "required": [ - "isEnabled", - "useStoredPhNo", - "webhookURL", - "basicAuthUsername", - "basicAuthPassword", - "useBasicAuth" - ], - "properties": { - "useStoredPhNo": { - "description": "If enabled, the webhook will be triggered for a user only if their phone number is stored within CometChat.", - "type": "boolean", - "default": false - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/CustomSMSProviderConfig" - } - ] - } - } - } - }, - "responses": { - "200": { - "description": "Save the push notification's SMS custom provider", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "basicAuthUsername": "user889", - "basicAuthPassword": "pass122", - "isEnabled": true, - "useBasicAuth": true, - "useStoredPhNo": false, - "webhookURL": "https://trigger-sms.example.com/cometchat" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "Notifications" - ], - "summary": "Update Custom Provider for SMS Notifications", - "description": "Updates the custom provider for SMS Notifications for a given app.", - "operationId": "notifications-update-sms-custom-provider", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CustomSMSProviderConfig" - } - } - } - }, - "responses": { - "200": { - "description": "Save the push notification's SMS custom provider", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "basicAuthUsername": "user889", - "basicAuthPassword": "pass122", - "isEnabled": true, - "useBasicAuth": true, - "useStoredPhNo": false, - "webhookURL": "https://trigger-sms.example.com/cometchat" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Notifications" - ], - "summary": "Delete the Custom Provider for SMS Notifications", - "description": "Deletes the custom provider for SMS Notifications for a given app.", - "operationId": "notifications-delete-sms-custom-provider", - "responses": { - "200": { - "description": "Delete push notification's SMS custom provider", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "success": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/notifications/email/v1/providers/custom": { - "get": { - "tags": [ - "Notifications" - ], - "summary": "Get Custom Provider for Email Notifications", - "description": "Fetches the custom provider for Email Notifications for a given app.", - "operationId": "notifications-list-email-custom-provider", - "responses": { - "200": { - "description": "A list of push notification's email custom provider", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "basicAuthUsername": "user889", - "basicAuthPassword": "pass122", - "isEnabled": true, - "useBasicAuth": true, - "useStoredEmailID": false, - "webhookURL": "https://trigger-email.example.com/cometchat" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "post": { - "tags": [ - "Notifications" - ], - "summary": "Save Custom Provider for Email Notifications", - "description": "Saves the custom provider for Email Notifications for a given app.", - "operationId": "notifications-save-email-custom-provider", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/CustomEmailProviderConfig" - }, - { - "required": [ - "isEnabled", - "useStoredEmailID", - "webhookURL", - "basicAuthUsername", - "basicAuthPassword", - "useBasicAuth" - ] - } - ] - } - } - } - }, - "responses": { - "200": { - "description": "Save the push notification's SMS custom provider", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "basicAuthUsername": "user889", - "basicAuthPassword": "pass122", - "isEnabled": true, - "useBasicAuth": true, - "useStoredEmailID": false, - "webhookURL": "https://trigger-email.example.com/cometchat" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "Notifications" - ], - "summary": "Update Custom Provider for Email Notifications", - "description": "Updates the custom provider for Email Notifications for a given app.", - "operationId": "notifications-update-email-custom-provider", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CustomEmailProviderConfig" - } - } - } - }, - "responses": { - "200": { - "description": "Update the push notification's Email custom provider", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "basicAuthUsername": "user889", - "basicAuthPassword": "pass122", - "isEnabled": true, - "useBasicAuth": true, - "useStoredEmailID": false, - "webhookURL": "https://trigger-email.example.com/cometchat" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Notifications" - ], - "summary": "Delete the Custom Provider for Email Notifications", - "description": "Deletes the custom provider for Email Notifications for a given app.", - "operationId": "notifications-delete-email-custom-provider", - "responses": { - "200": { - "description": "Delete push notification's Email custom provider", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "success": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/notifications/v1/logs": { - "get": { - "tags": [ - "Notifications" - ], - "summary": "Notifications logs", - "description": "Paginated API to fetch logs for notifications", - "operationId": "notifications-logs", - "parameters": [ - { - "name": "messageId", - "in": "query", - "description": "To filter based on the ID of message or reply.", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "reactionId", - "in": "query", - "description": "To filter based on the ID of the reaction added.", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "from", - "in": "query", - "description": "To get the logs for messages that are sent after the mentioned timestamp in milliseconds.", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "to", - "in": "query", - "description": "To get the logs for messages that are sent after the mentioned timestamp in milliseconds.", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "messageCategory", - "in": "query", - "description": "To filter logs based on the category of the message or reply. Values can be message, interactive.", - "required": false, - "schema": { - "type": "string", - "enum": [ - "message", - "interactive" - ] - } - }, - { - "name": "messageType", - "in": "query", - "description": "To filter logs based on the type of the message or reply. Values are based on the message category.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "trigger", - "in": "query", - "description": "To filter based on the trigger value of the event that is responsible for triggering the notification.\nFor a message or a reply, the value of this field is after_message.\nFor message actions, the values are message_deleted or message_edited or message_reaction_added.\nFor default calling feature, the values are initiated, rejected, cancelled, unanswered.\nFor group events, the values are: after_group_joined, after_group_left, after_group_members_added, after_group_members_kicked, after_group_members_banned, after_group_members_unbanned, after_scope_changed.", - "required": false, - "schema": { - "type": "string", - "enum": [ - "after_message", - "message_deleted", - "message_edited", - "message_reaction_added", - "initiated", - "rejected", - "cancelled", - "unanswered", - "after_group_joined", - "after_group_left", - "after_group_members_added", - "after_group_members_kicked", - "after_group_members_banned", - "after_group_members_unbanned", - "after_scope_changed" - ] - } - }, - { - "name": "sender", - "in": "query", - "description": "To filter based on the sender of the message. This has to be uid.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "reactionSender", - "in": "query", - "description": "To filter based on the user who reacted on a message.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "receiver", - "in": "query", - "description": "To filter based on the receiver of a message. This can be uid or guid based on the receiverType.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "receiverType", - "in": "query", - "description": "To filter based on the receiver's type. The value of this field can be user or group.", - "required": false, - "schema": { - "type": "string", - "enum": [ - "user", - "group" - ] - } - }, - { - "name": "reactionReceiver", - "in": "query", - "description": "To filter based on the user who is notified when a reaction is added.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "member", - "in": "query", - "description": "To filter based on the user who is notified in a given group. This is only present when the receiverType is group.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "channel", - "in": "query", - "description": "To filter based on whether the user was notified using push, email or sms notification.", - "required": false, - "schema": { - "type": "string", - "enum": [ - "push", - "email", - "sms" - ] - } - }, - { - "name": "provider", - "in": "query", - "description": "To filter based on the provider.\nFor channel as push, the value of this field can be fcm, apns, custom.\nFor channel as email, the value of this field can be sendgrid or custom.\nFor channel as sms, the value of this field can be twilio or custom.", - "required": false, - "schema": { - "type": "string", - "enum": [ - "fcm", - "apns", - "sendgrid", - "twilio", - "custom" - ] - } - }, - { - "name": "notificationTriggered", - "in": "query", - "description": "The value is true when the notification provider is triggered. If false, the notification was not triggered due to some preference that is mentioned in the reason field.", - "required": false, - "schema": { - "type": "boolean" - } - }, - { - "name": "reason", - "in": "query", - "description": "Available only when the value of notificationTriggered is false.\nThis contains the reason for not triggering the notification provider.\n\nTo filter logs using reason, use the following values: MESSAGES_PREFERENCE, REPLIES_PREFERENCE, MESSAGE_ACTIONS_PREFERENCE, REACTIONS_PREFERENCE, GROUP_ACTIONS_PREFERENCE, DND_PREFERENCE, MUTE_PREFERENCE, SCHEDULE_PREFERENCE, CALL_PREFERENCE, QUOTA_PREFERENCE, MISSING_EMAIL, MISSING_PHNO, INVALID_PUSH_PROVIDER_ID, TIMED_OUT, NOT_FOUND, TWILIO_CREATE_ERROR.", - "required": false, - "schema": { - "type": "string", - "enum": [ - "MESSAGES_PREFERENCE", - "REPLIES_PREFERENCE", - "MESSAGE_ACTIONS_PREFERENCE", - "REACTIONS_PREFERENCE", - "GROUP_ACTIONS_PREFERENCE", - "DND_PREFERENCE", - "MUTE_PREFERENCE", - "SCHEDULE_PREFERENCE", - "CALL_PREFERENCE", - "QUOTA_PREFERENCE", - "MISSING_EMAIL", - "MISSING_PHNO", - "INVALID_PUSH_PROVIDER_ID", - "TIMED_OUT", - "NOT_FOUND", - "TWILIO_CREATE_ERROR" - ] - } - }, - { - "name": "success", - "in": "query", - "description": "Available only when the value of notificationTriggered is true.\n\nTo filter based on whether the HTTP request to the provider was successful or not, true indicating that the provider returned success while false indicating that the provider returned an error.", - "required": false, - "schema": { - "type": "boolean" - } - }, - { - "name": "affix", - "in": "query", - "description": "To paginate over logs use the value of affix as prepend or append.", - "required": false, - "schema": { - "type": "string", - "enum": [ - "prepend", - "append" - ] - } - }, - { - "name": "logId", - "in": "query", - "description": "To be used with affix for pagination.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "A list of push notification's email custom provider", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": [ - { - "_id": "67e3c56babf90e20e2652edb", - "processingStartedAtMS": 1742980459696, - "processingEndedAtMS": 1742980459738, - "totalProcessingTimeInMS": 42, - "component": "notifications-core", - "channel": "push", - "provider": "apns", - "messageId": 3939, - "reactionId": 69, - "trigger": "message_reaction_added", - "messageSentAtMS": 1742980459000, - "sender": "cometchat-uid-4", - "reactionSender": "cometchat-uid-1", - "receiver": "cometchat-guid-1", - "reactionReceiver": "g-muted-yes", - "receiverType": "group", - "member": "g-muted-yes", - "tokenType": "apns_ios_device", - "pushToken": "pushtoken123", - "providerId": "apns-provider", - "payload": { - "payload": { - "title": "cometchat-uid-1", - "body": "Reacted to your message: 😂", - "tag": "69", - "sender": "cometchat-uid-1", - "senderName": "cometchat-uid-1", - "receiver": "cometchat-guid-1", - "receiverName": "cometchat-guid-1", - "receiverType": "group", - "conversationId": "group_cometchat-guid-1", - "type": "chat", - "sessionId": null, - "callAction": null, - "callType": null, - "sentAt": null - }, - "contentAvailable": 1, - "mutableContent": 1, - "topic": "com.example.com", - "alert": { - "title": "cometchat-uid-1", - "body": "Reacted to your message: 😂" - }, - "priority": 10, - "pushType": "alert", - "sound": "default", - "collapseId": "69", - "expiry": 1742984059, - "type": "apns" - }, - "notificationTriggered": false, - "reason": "MUTE_PREFERENCE" - } - ], - "meta": { - "previous": { - "affix": "prepend", - "messageId": 3939 - }, - "current": { - "limit": 20, - "count": 20 - }, - "next": { - "affix": "append", - "messageId": 3939 - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/moderation/rules": { - "post": { - "tags": [ - "Moderation" - ], - "summary": "Add Rule", - "description": "Create a new moderation rule to specify actions and conditions for detecting and handling inappropriate content.", - "operationId": "chat-api-create-rule", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ModerationRequestBody" - } - } - } - }, - "responses": { - "200": { - "description": "Created Rule", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/ModerationData" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "moderation-test", - "name": "Video Moderation", - "description": "AI-powered video moderation to detect unsafe content.", - "enabled": true, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": true, - "entity": "message", - "operand": "image", - "category": "word", - "operator": "contains", - "value": [ - "violence_greaterThan_30" - ], - "message": [ - "Image contains violence with confidence greater than 30" - ] - } - ], - "action": [ - "blockMessage" - ], - "active": true, - "createdAt": 1720003247, - "updatedAt": 1720003247, - "revisionId": "253179cf5f665257_moderation-test_1" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "get": { - "tags": [ - "Moderation" - ], - "summary": "List Rules", - "description": "Retrieve a list of all moderation rules.", - "operationId": "chat-api-list-rules", - "parameters": [ - { - "name": "limit", - "in": "query", - "description": "The number of records to fetch.", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "List Rule", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "id": "moderation-test", - "name": "Video Moderation", - "description": "AI-powered video moderation to detect unsafe content.", - "enabled": true, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": true, - "entity": "message", - "operand": "image", - "category": "word", - "operator": "contains", - "value": [ - "violence_greaterThan_30" - ], - "message": [ - "Image contains violence with confidence greater than 30" - ] - } - ], - "action": [ - "blockMessage" - ], - "active": true, - "createdAt": 1720003247, - "updatedAt": 1720003247, - "revisionId": "253179cf5f665257_moderation-test_1" - }, - { - "id": "video-moderation1", - "name": "Video Moderation", - "description": "AI-powered video moderation to detect unsafe content.", - "enabled": true, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": true, - "entity": "message", - "operand": "image", - "category": "word", - "operator": "contains", - "value": [ - "violence_greaterThan_30" - ], - "message": [ - "Image contains violence with confidence greater than 30" - ] - } - ], - "action": [ - "blockMessage" - ], - "active": true, - "createdAt": 1720000488, - "updatedAt": 1720000488, - "revisionId": "253179cf5f665257_video-moderation1_1" - }, - { - "id": "text-profanity-filter", - "name": "Text Profanity filter", - "description": "Detect and censor profanity in text messages.", - "enabled": true, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": true, - "isMediaPresent": false, - "entity": "message", - "operand": "text", - "category": "word", - "operator": "contains", - "value": [ - "profanity-list" - ] - } - ], - "action": [ - "blockMessage" - ], - "active": true, - "createdAt": 1718355386, - "updatedAt": 1720006272, - "revisionId": "253157108b5294c4_profanity-filter_25", - "default": true - }, - { - "id": "image-moderation", - "name": "AI Image Moderation", - "description": "AI-powered image moderation to detect unsafe content.", - "enabled": false, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": true, - "entity": "message", - "operand": "image", - "category": "word", - "operator": "contains", - "value": [ - "AnyOf_greaterThan_30" - ] - } - ], - "action": [ - "blockMessage" - ], - "active": true, - "createdAt": 1718350200, - "updatedAt": 1719932600, - "revisionId": "253157108b5294c4_image-moderation_11", - "default": true - }, - { - "id": "video-moderation", - "name": "AI Video Moderation", - "description": "AI-powered video moderation to detect unsafe content.", - "enabled": false, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": true, - "entity": "message", - "operand": "video", - "category": "word", - "operator": "contains", - "value": [ - "AnyOf_greaterThan_30" - ] - } - ], - "action": [ - "dropMessage" - ], - "active": true, - "createdAt": 1718350199, - "updatedAt": 1720006008, - "revisionId": "253157108b5294c4_video-moderation_10", - "default": true - }, - { - "id": "custom-profanity-filter", - "name": "Custom Profanity filter", - "description": "Detect and censor profanity in custom messages.", - "enabled": false, - "conditions": [ - { - "id": 1, - "isListReferencePresent": true, - "isMediaPresent": false, - "entity": "message", - "operand": "custom", - "category": "word", - "operator": "contains", - "value": [ - "profanity-list" - ] - } - ], - "action": [ - "dropMessage" - ], - "active": true, - "createdAt": 1718341200, - "updatedAt": 1719819136, - "revisionId": "253157108b5294c4_profanity-filter_8", - "default": true - }, - { - "id": "contact_details_filter", - "name": "Contact details filter", - "description": "Identifies and removes phone numbers from text", - "enabled": false, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": false, - "entity": "message", - "operand": "text", - "category": "pattern", - "operator": "contains", - "value": [ - "\\\\+?(\\\\d{1,3})?{-.\\\\s}?\\\\(?\\\\d{1,4}?\\\\)?{-.\\\\s}?\\\\d{1,4}{-.\\\\s}?\\\\d{1,4}{-.\\\\s}?\\\\d{1,9}" - ] - }, - { - "id": 2, - "isKeywordsReferencePresent": false, - "isMediaPresent": false, - "entity": "message", - "operand": "custom", - "category": "pattern", - "operator": "contains", - "value": [ - "\\\\+?(\\\\d{1,3})?{-.\\\\s}?\\\\(?\\\\d{1,4}?\\\\)?{-.\\\\s}?\\\\d{1,4}{-.\\\\s}?\\\\d{1,4}{-.\\\\s}?\\\\d{1,9}" - ] - } - ], - "action": [ - "blockMessage" - ], - "active": true, - "createdAt": 1718186338, - "updatedAt": 1719836048, - "revisionId": "2531882e5e289115_contact_details_filter_3", - "default": true - }, - { - "id": "email_filter", - "name": "Email filter", - "description": "Identify and remove email address from messages", - "enabled": false, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": false, - "entity": "message", - "operand": "text", - "category": "pattern", - "operator": "contains", - "value": [ - "^{a-zA-Z0-9._%+-}+@{a-zA-Z0-9.-}+\\\\.{a-zA-Z}{2,}$" - ] - }, - { - "id": 2, - "isKeywordsReferencePresent": false, - "isMediaPresent": false, - "entity": "message", - "operand": "custom", - "category": "pattern", - "operator": "contains", - "value": [ - "^{a-zA-Z0-9._%+-}+@{a-zA-Z0-9.-}+\\\\.{a-zA-Z}{2,}$" - ] - } - ], - "action": [ - "blockMessage" - ], - "active": true, - "createdAt": 1718099938, - "updatedAt": 1719836049, - "revisionId": "2531882e5e289115_contact_email_filter_5", - "default": true - } - ], - "meta": { - "current": { - "limit": 50, - "count": 8 - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/moderation/rules/{ruleId}": { - "get": { - "tags": [ - "Moderation" - ], - "summary": "Get Rule", - "description": "Retrieve details of a specific moderation rule by its ID.", - "operationId": "chat-api-get-rule", - "parameters": [ - { - "$ref": "#/components/parameters/ruleId" - } - ], - "responses": { - "200": { - "description": "Get Rule", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "profanity-list", - "name": "Profane Words", - "category": "word", - "isCSV": false, - "searchTerms": [ - "fuck", - "damn", - "shit", - "cunt", - "nigga", - "nigger", - "wanker", - "cunt", - "fag", - "shithead", - "jizz", - "hellbitch", - "retard", - "cocksucker", - "cock", - "kill", - "kike", - "twat", - "bastard", - "death", - "asshole", - "wop", - "scumbag", - "penis", - "murder", - "dick", - "gook", - "vagina", - "rape", - "bastard", - "spic", - "spunk", - "beat" - ], - "createdAt": 1718354412, - "updatedAt": 1718354412, - "revisionId": "253157108b5294c4_profanity-list_1", - "active": true, - "default": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "Moderation" - ], - "summary": "Update Rule", - "description": "Update an existing moderation rule with new actions or conditions.", - "operationId": "chat-api-update-rule", - "parameters": [ - { - "$ref": "#/components/parameters/ruleId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ModerationRequestBody" - } - } - } - }, - "responses": { - "200": { - "description": "Update Rule", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "moderation-test", - "name": "Video Moderation", - "description": "AI-powered video moderation to detect unsafe content.", - "enabled": true, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": true, - "entity": "message", - "operand": "image", - "category": "word", - "operator": "contains", - "value": [ - "violence_greaterThan_30" - ], - "message": [ - "Image contains violence with confidence greater than 30" - ] - } - ], - "action": [ - "blockMessage" - ], - "active": true, - "createdAt": 1720003247, - "updatedAt": 1720003247, - "revisionId": "253179cf5f665257_moderation-test_1" - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Moderation" - ], - "summary": "Remove rule", - "description": "Delete a specific moderation rule by its ID.", - "operationId": "chat-api-delete-rule", - "parameters": [ - { - "$ref": "#/components/parameters/ruleId" - } - ], - "responses": { - "200": { - "description": "Delete Rule", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "Rule with id moderation-test has been deleted successfully." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/moderation/keywords": { - "post": { - "tags": [ - "Moderation" - ], - "summary": "Add Keywords", - "description": "Create a new keyword list for moderation.", - "operationId": "chat-api-create-rule-keyword", - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "$ref": "#/components/schemas/KeywordList" - } - } - } - }, - "responses": { - "200": { - "description": "Created Keyword", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "profane-word-list-1", - "name": "profane word list", - "description": "Profane word list", - "category": "word", - "isCSV": true, - "searchTerms": [ - "\"a\"", - "\"b\"", - "\"c\"" - ], - "createdAt": 1720023805, - "updatedAt": 1720023805, - "revisionId": "253179cf5f665257_profane-word-list-1_1", - "active": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "get": { - "tags": [ - "Moderation" - ], - "summary": "List keywords", - "description": "Fetches all the keywords.", - "operationId": "chat-api-list-rule-keywords", - "responses": { - "200": { - "description": "List Keywords", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "_id": "66857afdb4bf371ddfba853b", - "id": "profane-word-list-1", - "appId": "253179cf5f665257", - "name": "profane word list", - "description": "Profane word list", - "category": "word", - "isCSV": true, - "searchTerms": [ - "\"a\"", - "\"b\"", - "\"c\"" - ], - "createdAt": 1720023805, - "updatedAt": 1720023805, - "revisionId": "253179cf5f665257_profane-word-list-1_1", - "active": true, - "__v": 0 - }, - { - "_id": "666c01eccfe97336757fb611", - "id": "profanity-list", - "name": "Profane Words", - "category": "word", - "isCSV": false, - "searchTerms": [ - "fuck", - "nigger", - "fuck", - "nigger", - "wanker", - "cunt", - "damn", - "shit", - "fag", - "shithead", - "jizz", - "hellbitch", - "retard", - "cocksucker", - "cock", - "kill", - "cunt", - "kike", - "twat", - "bastard", - "death", - "asshole", - "wop", - "scumbag", - "penis", - "murder", - "dick", - "gook", - "vagina", - "rape", - "bastard", - "spic", - "spunk", - "beat" - ], - "createdAt": 1718354412, - "updatedAt": 1718354412, - "revisionId": "253157108b5294c4_profanity-list_1", - "active": true, - "__v": 0, - "default": true, - "appId": "default" - } - ], - "meta": { - "current": { - "limit": 10, - "count": 2 - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/moderation/keywords/{keywordId}": { - "get": { - "tags": [ - "Moderation" - ], - "summary": "Get keyword", - "description": "Retrieve details of a specific keyword list by its ID.", - "operationId": "chat-api-get-rule-keyword", - "parameters": [ - { - "$ref": "#/components/parameters/keywordId" - } - ], - "responses": { - "200": { - "description": "Get Keyword", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "profanity-list", - "name": "Profane Words", - "category": "word", - "isCSV": false, - "searchTerms": [ - "fuck", - "nigger", - "fuck", - "nigger", - "wanker", - "cunt", - "damn", - "shit", - "fag", - "shithead", - "jizz", - "hellbitch", - "retard", - "cocksucker", - "cock", - "kill", - "cunt", - "kike", - "twat", - "bastard", - "death", - "asshole", - "wop", - "scumbag", - "penis", - "murder", - "dick", - "gook", - "vagina", - "rape", - "bastard", - "spic", - "spunk", - "beat" - ], - "createdAt": 1718354412, - "updatedAt": 1718354412, - "revisionId": "253157108b5294c4_profanity-list_1", - "active": true, - "default": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "Moderation" - ], - "summary": "Update keyword", - "description": "Update an existing keyword list.", - "operationId": "chat-api-update-rule-keyword", - "parameters": [ - { - "$ref": "#/components/parameters/keywordId" - } - ], - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "$ref": "#/components/schemas/KeywordList" - } - } - } - }, - "responses": { - "200": { - "description": "Update Keyword", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "profanity-list", - "name": "Profane Words", - "category": "word", - "isCSV": false, - "searchTerms": [ - "fuck", - "nigger", - "fuck", - "nigger", - "wanker", - "cunt", - "damn", - "shit", - "fag", - "shithead", - "jizz", - "hellbitch", - "retard", - "cocksucker", - "cock", - "kill", - "cunt", - "kike", - "twat", - "bastard", - "death", - "asshole", - "wop", - "scumbag", - "penis", - "murder", - "dick", - "gook", - "vagina", - "rape", - "bastard", - "spic", - "spunk", - "beat" - ], - "createdAt": 1718354412, - "updatedAt": 1718354412, - "revisionId": "253157108b5294c4_profanity-list_1", - "active": true, - "default": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Moderation" - ], - "summary": "Remove keyword", - "description": "Delete a keyword list by its ID.", - "operationId": "chat-api-delete-rule-keyword", - "parameters": [ - { - "$ref": "#/components/parameters/keywordId" - } - ], - "responses": { - "200": { - "description": "Delete Keyword", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "Keyword with id profanity-list has been deleted successfully." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/moderation/rules/{ruleId}/revisions": { - "get": { - "tags": [ - "Moderation" - ], - "summary": "Get Rule Revisions", - "description": "Fetches a rule's revisions.", - "operationId": "chat-api-list-rule-revisions", - "parameters": [ - { - "$ref": "#/components/parameters/ruleId" - } - ], - "responses": { - "200": { - "description": "List Rule revisions", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "id": "moderation-test", - "name": "Video Moderation", - "description": "AI-powered video moderation to detect unsafe content.", - "enabled": true, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": false, - "entity": "message", - "operand": "text", - "category": "word", - "operator": "equals", - "value": [ - "paris" - ] - } - ], - "action": [ - "blockMessage" - ], - "active": true, - "createdAt": 1720011899, - "updatedAt": 1720011905, - "revisionId": "253179cf5f665257_moderation-test_2" - }, - { - "id": "moderation-test", - "name": "Video Moderation", - "description": "AI-powered video moderation to detect unsafe content.", - "enabled": true, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": true, - "entity": "message", - "operand": "image", - "category": "word", - "operator": "contains", - "value": [ - "violence_greaterThan_30" - ], - "message": [ - "Image contains violence with confidence greater than 30" - ] - } - ], - "action": [ - "blockMessage" - ], - "active": false, - "createdAt": 1720011899, - "updatedAt": 1720011899, - "revisionId": "253179cf5f665257_moderation-test_1" - } - ], - "meta": { - "current": { - "limit": 10, - "count": 2 - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/moderation/blocked-messages": { - "get": { - "tags": [ - "Moderation" - ], - "summary": "List Blocked Messages", - "description": "Lists the messages blocked by the moderation service.", - "operationId": "chat-api-list-moderation-blocked-messages", - "responses": { - "200": { - "description": "List Blocked Messages", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "ruleId": "image-moderation", - "ruleName": "AI Image Moderation", - "revisionId": "253156be20433c97_image-moderation_4", - "condition": { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": true, - "entity": "message", - "operand": "image", - "category": "word", - "operator": "contains", - "value": [ - "Any unsafe content_greaterThan_70" - ], - "message": [ - "Image contains Any unsafe content with confidence greater than 70" - ], - "weight": 1 - }, - "message": { - "id": "65", - "muid": "_5zytzmceo", - "conversationId": "superhero1_user_superhero2", - "sender": "superhero1", - "receiverType": "user", - "receiver": "superhero2", - "category": "message", - "type": "image", - "data": { - "metadata": { - "file": [] - }, - "resource": "WEB-4_0_3-ffa565b2-476e-493d-aeb5-4c750aae3ab1-1719925738505", - "url": "https://data-eu.cometchat.io/2601293c931567f7/media/1719993037_336554568_9e044ea0ed5817381b189680f392bafe.jpeg", - "attachments": [ - { - "name": "download.jpeg", - "extension": "jpeg", - "size": 4761, - "mimeType": "image/jpeg", - "url": "https://data-eu.cometchat.io/2601293c931567f7/media/1719993037_336554568_9e044ea0ed5817381b189680f392bafe.jpeg" - } - ], - "entities": { - "sender": { - "entity": { - "uid": "superhero1", - "name": "Iron Man", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/ironman.png", - "status": "offline", - "role": "default" - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/captainamerica.png", - "status": "offline", - "role": "default", - "conversationId": "superhero1_user_superhero2" - }, - "entityType": "user" - } - }, - "moderation": { - "status": "pending" - } - }, - "sentAt": 1719993037, - "updatedAt": 1719993037 - }, - "action": [ - "blockMessage" - ], - "createdAt": 1719993038, - "updatedAt": 1719993038 - } - ], - "meta": { - "current": { - "limit": 50, - "count": 20 - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/moderation/blocked-messages/{messageId}": { - "patch": { - "tags": [ - "Moderation" - ], - "summary": "Approve Blocked Messages", - "description": "Approves the messages blocked by the moderation service.", - "operationId": "chat-api-approve-moderation-blocked-messages", - "parameters": [ - { - "$ref": "#/components/parameters/messageId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "status" - ], - "properties": { - "status": { - "description": "Moderation status of the message.", - "type": "string", - "example": "approved" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Approve Blocked Messages", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "Message with ID 268 has been approved." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/moderation/messages": { - "post": { - "tags": [ - "Moderation" - ], - "summary": "Send message", - "description": "This endpoint is used to submit a message for moderation before it is delivered to the recipient. The message is scanned against the moderation rules configured for the app.", - "operationId": "chat-api-send-message-moderation", - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "sender", - "receiver", - "receiverType" - ], - "properties": { - "muid": { - "description": "The unique identifier for the message", - "type": "string" - }, - "category": { - "description": "Category of the message. The available category is message", - "type": "string", - "enum": [ - "message" - ] - }, - "type": { - "description": "Defines the type of the message based on the selected category.\nWhen `category` is `message`, the allowed values for `type` are:\n\n`text` — Plain text message\n\n`image` — Image message\n\n`audio` — Audio message\n\n`video` — Video message\n\n`file` — File message\n\nWhen `category` is `custom`, any custom string can be used as the `type`. This allows developers to define and handle custom message types as needed in their UI implementation.", - "type": "string", - "enum": [ - "text", - "image", - "file", - "audio", - "video" - ] - }, - "sender": { - "description": "UID of the sender.", - "type": "string" - }, - "receiver": { - "description": "If the receiverType == “user” the UID of a user receiving the message. else GUID of the group.", - "type": "string" - }, - "receiverType": { - "description": "The receiverType of the message. either user or group", - "type": "string", - "enum": [ - "user", - "group" - ] - }, - "data": { - "$ref": "#/components/schemas/moderationMessageData" - }, - "senderUserDetails": { - "description": "This property contains information about the sender user. It is required only if the sender does not already exist in CometChat. If provided, the sender user will be created before the message is processed.", - "allOf": [ - { - "$ref": "#/components/schemas/userSenderDetails" - } - ] - }, - "receiverUserDetails": { - "description": "This property contains information about the receiver user (in case of one-to-one messages). It is required only if the receiver user does not already exist in CometChat. If provided, the user will be created before the message is sent.", - "allOf": [ - { - "$ref": "#/components/schemas/userSenderDetails" - } - ] - }, - "receiverGroupDetails": { - "description": "This property contains information about the group receiving the message.\nIt is required only if the group does not already exist in CometChat. If provided, the group will be created before the message is sent.", - "allOf": [ - { - "$ref": "#/components/schemas/groupReceiverDetails" - } - ] - }, - "tags": { - "description": "String array containing developer defined tags.", - "type": "array", - "items": { - "type": "string" - } - }, - "sentAt": { - "description": "10 digit unix timestamp at which the message would be sent. If left blank, the current timestamp would be used.", - "type": "integer" - } - }, - "type": "object" + "example": { + "data": [ + { + "conversationId": "group_project-group", + "conversationType": "group", + "unreadMessageCount": "0", + "createdAt": 1630071782, + "updatedAt": 1630481413, + "lastMessage": { + "id": "50", + "conversationId": "group_project-group", + "sender": "cometchat-uid-4", + "receiverType": "group", + "receiver": "project-group", + "category": "action", + "type": "groupMember", + "data": { + "action": "unbanned", + "entities": { + "by": { + "entity": { + "uid": "cometchat-uid-4", + "name": "Susan Marie", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-4.webp", + "status": "offline", + "createdAt": 1629869270 + }, + "entityType": "user" }, - "examples": { - "Send Moderation Message": { - "summary": "Send Moderation Message", - "value": { - "category": "message", - "type": "text", - "data": { - "text": "Hey there! Welcome aboard." - }, - "sender": "cometchat-test-user-1", - "receiver": "cometchat-test-user-2", - "senderUserDetails": { - "uid": "cometchat-test-user-1", - "name": "Test User 1" - }, - "receiverUserDetails": { - "uid": "cometchat-test-user-2", - "name": "Test User 2" - }, - "receiverType": "user" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "Import Message(s)", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "id": "1", - "conversationId": "cometchat-uid-1_user_cometchat-uid-2", - "sender": "cometchat-uid-2", - "receiverType": "user", - "receiver": "cometchat-uid-1", - "category": "message", - "type": "text", - "data": { - "text": "Hi new user", - "entities": { - "sender": { - "entity": { - "uid": "cometchat-uid-2", - "name": "George Alan", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "status": "offline", - "role": "default", - "lastActiveAt": 1751644824, - "createdAt": 1751644824, - "conversationId": "cometchat-uid-1_user_cometchat-uid-2" - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "offline", - "role": "default", - "lastActiveAt": 1751644824, - "createdAt": 1751644824 - }, - "entityType": "user" - } - }, - "moderation": { - "status": "pending" - } - }, - "sentAt": 1750335220, - "updatedAt": 1751644906 - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "get": { - "tags": [ - "Moderation" - ], - "summary": "List messages", - "description": "This endpoint is used to retrieve a list of messages that were submitted for moderation. Each message includes its current moderation status based on the rules configured for the app.", - "operationId": "chat-api-list-message-moderation", - "parameters": [ - { - "name": "sender", - "in": "query", - "description": "Filters messages by the sender’s uid.", - "schema": { - "type": "string" - } - }, - { - "name": "receiverUID", - "in": "query", - "description": "Filters messages by the receiver's uid.", - "schema": { - "type": "string" - } - }, - { - "name": "receiverGUID", - "in": "query", - "description": "Filters messages by the receiver's guid in case of group", - "schema": { - "type": "string" - } - }, - { - "name": "category", - "in": "query", - "description": "Filters messages by category. Possible values: message and custom.", - "schema": { - "type": "string", - "enum": [ - "message", - "custom" - ] - } - }, - { - "name": "type", - "in": "query", - "description": "Filters messages by type.", - "schema": { - "type": "string" - } - }, - { - "name": "moderationStatus", - "in": "query", - "description": "Filters messages by moderation status.", - "schema": { - "type": "string", - "enum": [ - "disapproved", - "pending" - ] - } - } - ], - "responses": { - "200": { - "description": "Get Message(s)", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": [ - { - "id": "1", - "conversationId": "cometchat-uid-1_user_cometchat-uid-2", - "sender": "cometchat-uid-2", - "receiverType": "user", - "receiver": "cometchat-uid-1", - "category": "message", - "type": "text", - "data": { - "entities": { - "receiver": { - "entity": { - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "createdAt": 1751644824, - "lastActiveAt": 1751644824, - "name": "Andrew Joseph", - "role": "default", - "status": "offline", - "uid": "cometchat-uid-1" - }, - "entityType": "user" - }, - "sender": { - "entity": { - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "conversationId": "cometchat-uid-1_user_cometchat-uid-2", - "createdAt": 1751644824, - "lastActiveAt": 1751644824, - "name": "George Alan", - "role": "default", - "status": "offline", - "uid": "cometchat-uid-2" - }, - "entityType": "user" - } - }, - "moderation": { - "status": "approved" - }, - "text": "Hi new user" - }, - "sentAt": 1750335220, - "updatedAt": 1751644906 - } - ], - "meta": { - "current": { - "limit": 100, - "count": 1 - }, - "next": { - "affix": "append", - "sentAt": 1750335220, - "id": "1" - } - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - } - }, - "/moderation/messages/{id}": { - "get": { - "tags": [ - "Moderation" - ], - "summary": "Get message", - "description": "This endpoint is used to retrieve the details of a message that was submitted for moderation. The message is fetched along with its current moderation status based on the app's configured rules.", - "operationId": "chat-api-get-message-moderation", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Id of the message whose details are to be fetched.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Message ID", - "value": "" - } - } - } - ], - "responses": { - "200": { - "description": "Get Message(s)", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "id": "1", - "conversationId": "cometchat-uid-1_user_cometchat-uid-2", - "sender": "cometchat-uid-2", - "receiverType": "user", - "receiver": "cometchat-uid-1", - "category": "message", - "type": "text", - "data": { - "entities": { - "receiver": { - "entity": { - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "createdAt": 1751644824, - "lastActiveAt": 1751644824, - "name": "Andrew Joseph", - "role": "default", - "status": "offline", - "uid": "cometchat-uid-1" - }, - "entityType": "user" - }, - "sender": { - "entity": { - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "conversationId": "cometchat-uid-1_user_cometchat-uid-2", - "createdAt": 1751644824, - "lastActiveAt": 1751644824, - "name": "George Alan", - "role": "default", - "status": "offline", - "uid": "cometchat-uid-2" - }, - "entityType": "user" - } - }, - "moderation": { - "status": "approved" - }, - "text": "Hi new user" - }, - "sentAt": 1750335220, - "updatedAt": 1751644906 - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "Moderation" - ], - "summary": "Update message", - "description": "This endpoint is responsible for editing the message, The moderation status is recalculated based on the app's configured rules for the edited message.", - "operationId": "chat-api-update-message-moderation", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Id of the message whose details are to be fetched.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Message ID", - "value": "" - } - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "$ref": "#/components/schemas/moderationMessageData" - } - }, - "type": "object" + "on": { + "entity": { + "uid": "cometchat-uid-3", + "link": "https://data-us.cometchat.io/assets", + "name": "George Alan", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "status": "offline", + "createdAt": 1629869270, + "updatedAt": 1629964825, + "conversationId": "cometchat-uid-3_user_cometchat-uid-4" + }, + "entityType": "user" }, - "examples": { - "Update Moderation Message": { - "summary": "Update Moderation Message", - "value": { - "data": { - "text": "This message has been updated." - } - } - } - } - } - } - }, - "responses": { - "200": { - "description": "Update Message(s)", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "id": "1", - "conversationId": "cometchat-uid-1_user_cometchat-uid-2", - "sender": "cometchat-uid-2", - "receiverType": "user", - "receiver": "cometchat-uid-1", - "category": "message", - "type": "text", - "data": { - "text": "heyaya, I'm updated", - "entities": { - "receiver": { - "entity": { - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "createdAt": 1751644824, - "lastActiveAt": 1751644824, - "name": "Andrew Joseph", - "role": "default", - "status": "offline", - "uid": "cometchat-uid-1" - }, - "entityType": "user" - }, - "sender": { - "entity": { - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "conversationId": "cometchat-uid-1_user_cometchat-uid-2", - "createdAt": 1751644824, - "lastActiveAt": 1751644824, - "name": "George Alan", - "role": "default", - "status": "offline", - "uid": "cometchat-uid-2" - }, - "entityType": "user" - } - }, - "moderation": { - "status": "approved" - } - }, - "sentAt": 1750335220, - "editedAt": 1751645607, - "editedBy": "cometchat-uid-1", - "updatedAt": 1751644906 - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Moderation" - ], - "summary": "Delete message", - "description": "This endpoint deletes a previously submitted message. The message is removed along with its associated moderation data, as per the app's configured rules.", - "operationId": "chat-api-delete-message-moderation", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Id of the message whose details are to be fetched.", - "required": true, - "schema": { - "type": "string" + "for": { + "entity": { + "guid": "project-group", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "name": "Project Group1", + "type": "private", + "owner": "cometchat-uid-4", + "createdAt": 1630071341, + "updatedAt": 1630305525, + "updatedBy": "cometchat-uid-4", + "description": "project related discussions between members", + "membersCount": 4, + "conversationId": "group_project-group" + }, + "entityType": "group" + } + } }, - "examples": { - "string": { - "summary": "Message ID", - "value": "" - } - } - } - ], - "responses": { - "200": { - "description": "Delete Message(s)", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "Message with id 20011 has been deleted successfully." - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] + "sentAt": 1630305562, + "updatedAt": 1630305562 + }, + "conversationWith": { + "guid": "project-group", + "name": "Project Group1", + "description": "project related discussions between members", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "type": "private", + "scope": "participant", + "membersCount": 4, + "joinedAt": 1630071782, + "conversationId": "group_project-group", + "hasJoined": true, + "createdAt": 1630071341, + "owner": "cometchat-uid-4", + "updatedAt": 1630308875, + "updatedBy": "cometchat-uid-4" + } + } + ] + } + } } + } }, - "/moderation/reasons": { - "post": { - "tags": [ - "Moderation" - ], - "summary": "Create Reasons", - "description": "Creates a new moderation reason in the app. This reason can then be selected by end users when flagging a message they find inappropriate.", - "operationId": "chat-api-create-reasons", - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Unique identifier for the content type.", - "type": "string", - "example": "unfiltered-content" - }, - "name": { - "description": "Display name for the content type.", - "type": "string", - "example": "RawContent" - }, - "description": { - "description": "Description of the content type.", - "type": "string", - "example": "Content delivered without moderation or filtering." - } - }, - "type": "object" - }, - "examples": { - "Send Moderation Reason": { - "summary": "Send Moderation Message", - "value": { - "id": "unfiltered-content", - "name": "RawContent", - "description": "Content delivered without moderation or filtering." - } - } - } - } - } - }, - "responses": { - "200": { - "description": "Create Reasons", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "id": "unfiltered-content", - "name": "RawContent", - "description": "Content delivered without moderation or filtering.", - "createdAt": 1760449410, - "updatedAt": 1760449410 - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "get": { - "tags": [ - "Moderation" - ], - "summary": "List Reasons", - "description": "Retrieves a list of moderation reasons configured for the app.", - "operationId": "chat-api-list-reasons", - "responses": { - "200": { - "description": "List Reasons", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": [ - { - "id": "unfiltered-content", - "name": "RawContent", - "description": "Content delivered without moderation or filtering.", - "createdAt": "1760449410", - "updatedAt": "1760449410" - }, - { - "id": "spam", - "name": "Spam / Unwanted Content", - "description": "Repeated, promotional, or irrelevant content", - "createdAt": "1760443648", - "updatedAt": "1760443648", - "default": true - }, - { - "id": "sexual", - "name": "Sexual Content", - "createdAt": "1758000762", - "updatedAt": "1758000762", - "description": "Explicit or inappropriate content" - }, - { - "id": "harassment", - "name": "Harassment / Bullying", - "createdAt": "1758000761", - "updatedAt": "1758000761", - "description": "Insulting or threatening behavior" - } - ], - "meta": { - "current": { - "limit": 10, - "count": 4 - } - } - } - } - } + "security": [ + { + "apiKey": [] + } + ] + }, + "put": { + "tags": [ + "Conversations" + ], + "summary": "Update User Conversation", + "description": "Updating User Conversation", + "operationId": "update-user-conversation", + "parameters": [ + { + "$ref": "#/components/parameters/uid--conversation" + }, + { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the user on whose behalf the action is performed.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "tags": { + "description": "List of tags to identify specific conversation.", + "type": "array", + "items": { + "type": "string" } + } }, - "security": [ - { - "apiKey": [] - } - ] + "type": "object" + } } + } }, - "/moderation/reasons/{id}": { - "get": { - "tags": [ - "Moderation" - ], - "summary": "Get Reason details", - "description": "Retrieves detailed information about a specific moderation reason configured in the app.", - "operationId": "chat-api-get-reasons-details", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Id of the reason which needs to be fetched.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Reason ID", - "value": "" - } - } - } - ], - "responses": { - "200": { - "description": "List Reasons", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "id": "spam", - "name": "Spam / Unwanted Content", - "description": "Repeated, promotional, or irrelevant content", - "createdAt": 1760443648, - "updatedAt": 1760443648, - "default": true - } - } - } - } + "responses": { + "200": { + "description": "Updated user Conversations", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "security": [ - { - "apiKey": [] - } - ] - }, - "put": { - "tags": [ - "Moderation" - ], - "summary": "Update Reason details", - "description": "Updates the details of an existing moderation reason", - "operationId": "chat-api-update-reasons-details", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Id of the reason which needs to be updated.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Reason ID", - "value": "" - } - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "name" - ], - "properties": { - "name": { - "description": "Updated display name for the content type.", - "type": "string", - "example": "Updated name for unfiltered content." - } - }, - "type": "object" + "example": { + "data": [ + { + "conversationId": "group_project-group", + "conversationType": "group", + "unreadMessageCount": "0", + "createdAt": 1630071782, + "updatedAt": 1630481413, + "lastMessage": { + "id": "50", + "conversationId": "group_project-group", + "sender": "cometchat-uid-4", + "receiverType": "group", + "receiver": "project-group", + "category": "action", + "type": "groupMember", + "data": { + "action": "unbanned", + "entities": { + "by": { + "entity": { + "uid": "cometchat-uid-4", + "name": "Susan Marie", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-4.webp", + "status": "offline", + "createdAt": 1629869270 + }, + "entityType": "user" }, - "examples": { - "Send Moderation Reason": { - "summary": "Send Moderation Message", - "value": { - "name": "Updated name for unfiltered content." - } - } - } - } - } - }, - "responses": { - "200": { - "description": "Update Reasons Details", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "id": "spam", - "name": "Spam / Unwanted Content", - "description": "Repeated, promotional, or irrelevant content", - "createdAt": 1760443648, - "updatedAt": 1760443648, - "default": true - } - } - } - } - } - }, - "security": [ - { - "apiKey": [] - } - ] - }, - "delete": { - "tags": [ - "Moderation" - ], - "summary": "Delete Reasons", - "description": "Deletes moderation reasons from the app configuration.", - "operationId": "chat-api-delete-reason", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Id of the reason which needs to be deleted.", - "required": true, - "schema": { - "type": "string" + "on": { + "entity": { + "uid": "cometchat-uid-3", + "link": "https://data-us.cometchat.io/assets", + "name": "George Alan", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "status": "offline", + "createdAt": 1629869270, + "updatedAt": 1629964825, + "conversationId": "cometchat-uid-3_user_cometchat-uid-4" + }, + "entityType": "user" + }, + "for": { + "entity": { + "guid": "project-group", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "name": "Project Group1", + "type": "private", + "owner": "cometchat-uid-4", + "createdAt": 1630071341, + "updatedAt": 1630305525, + "updatedBy": "cometchat-uid-4", + "description": "project related discussions between members", + "membersCount": 4, + "conversationId": "group_project-group" + }, + "entityType": "group" + } + } }, - "examples": { - "string": { - "summary": "Reason ID", - "value": "" - } - } - } - ], - "responses": { - "200": { - "description": "Delete Reasons", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "success": true, - "message": "The reason with id spam has been deleted successfully." - } - } - } - } + "sentAt": 1630305562, + "updatedAt": 1630305562, + "receipts": { + "data": [ + [] + ] + } + }, + "conversationWith": { + "guid": "project-group", + "name": "Project Group1", + "description": "project related discussions between members", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "type": "private", + "scope": "participant", + "membersCount": 4, + "joinedAt": 1630071782, + "conversationId": "group_project-group", + "hasJoined": true, + "createdAt": 1630071341, + "owner": "cometchat-uid-4", + "updatedAt": 1630308875, + "updatedBy": "cometchat-uid-4" + } + } + ] + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Conversations" + ], + "summary": "Reset User Conversation", + "description": "Resetting User Conversation", + "operationId": "reset-user-conversation", + "parameters": [ + { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the user on whose behalf the action is performed.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/uid--conversation" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "conversationWith": { + "description": "UID of a user", + "type": "string" + }, + "deleteMessagesPermanently": { + "description": "Permanently deletes messages in that particular conversation", + "type": "boolean" + } }, - "security": [ - { - "apiKey": [] - } - ] + "type": "object" + } } + } }, - "/messages/{id}/flagged": { - "post": { - "tags": [ - "Moderation" - ], - "summary": "Flag a message", - "description": "Flags a specific message for moderation review. The flagged message is presented to a moderator for evaluation, who can then decide to either block the message or approve it based on the review outcome.", - "operationId": "chat-api-flag-message", - "parameters": [ - { - "$ref": "#/components/parameters/requiredonBehalfOf" - }, - { - "name": "id", - "in": "path", - "description": "Id of the message of the message to be flagged.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Message ID", - "value": "" - } - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "id" - ], - "properties": { - "id": { - "description": "Unique identifier of the moderation reason used to flag the message.", - "type": "string", - "example": "spam" - } - }, - "type": "object" - }, - "examples": { - "Flag Message": { - "summary": "Flag a message for moderation", - "value": { - "id": "spam" - } - } - } - } + "responses": { + "200": { + "description": "Resetted user Conversations", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Delete Reasons", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "success": true, - "message": "Message 540092 has been flagged successfully." - } - } - } - } + "example": { + "data": { + "success": true, + "message": "The conversation cometchat-uid-1_user_cometchat-uid-2 has been deleted successfully for UID cometchat-uid-1." + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/users/{uid}/conversation/delivered": { + "post": { + "tags": [ + "Conversations" + ], + "summary": "Mark User Conversation As Delivered", + "description": "This API will mark the user conversation as delivered.", + "operationId": "mark-conversation-as-delivered", + "parameters": [ + { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the receiver of the message", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/uid--conversation" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "messageId": { + "description": "The id of the message upto which the conversation needs to be marked as delivered.", + "type": "integer" + } }, - "security": [ - { - "apiKey": [] - } - ] + "type": "object" + } } + } }, - "/moderation/blocked-messages/{id}": { - "patch": { - "tags": [ - "Moderation" - ], - "summary": "Review Blocked Message", - "description": "Updates the review status of a previously blocked message. This endpoint allows approving or rejecting the message based on the moderation evaluation results.", - "operationId": "chat-api-review-blocked-message", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Id of the message of the message to be flagged.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Message ID", - "value": "" - } - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "status", - "reviewed" - ], - "properties": { - "status": { - "description": "Indicates the review decision for the moderated message. Possible values: approved, rejected.", - "type": "string", - "example": "approved" - }, - "reviewed": { - "description": "Specifies whether the moderation request has been reviewed.", - "type": "boolean", - "example": true - } - }, - "type": "object" - }, - "examples": { - "Review Moderation Request": { - "summary": "Approve or reject a moderated message", - "value": { - "status": "approved", - "reviewed": true - } - } - } - } + "responses": { + "200": { + "description": "Marking Conversation as delivered", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Review Blocked Reasons", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "Message with ID 540185 has been reviewed successfully." - } - } - } - } - } + "example": { + "data": { + "success": true, + "Message": "All the messages from the user are marked as delivered for the requesting user." + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/users/{uid}/conversation/read": { + "post": { + "tags": [ + "Conversations" + ], + "summary": "Mark User Conversation As Read", + "description": "This API will mark the user conversation as read.", + "operationId": "mark-conversation-as-read", + "parameters": [ + { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the receiver of the message", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/uid--conversation" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "messageId": { + "description": "The id of the message upto which the conversation needs to be marked as read.", + "type": "integer" + } }, - "security": [ - { - "apiKey": [] - } - ] + "type": "object" + } } + } }, - "/moderation/flagged-messages": { - "get": { - "tags": [ - "Moderation" - ], - "summary": "List flagged messages", - "description": "Retrieves a list of messages that have been flagged for moderation review, including their current status, associated reasons, and review details.", - "operationId": "chat-api-list-flagged-messages", - "parameters": [ - { - "name": "limit", - "in": "query", - "description": "The number of items to return per page.", - "required": false, - "schema": { - "type": "integer", - "default": 50 - }, - "example": 50 - } - ], - "responses": { - "200": { - "description": "Delete Reasons", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": [ - { - "appId": "253626bf6512389d", - "id": "540190", - "conversationId": "cometchat-uid-1_user_cometchat-uid-3", - "sender": "cometchat-uid-1", - "receiverType": "user", - "receiver": "cometchat-uid-3", - "category": "message", - "type": "text", - "data": { - "entities": { - "receiver": { - "entity": { - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-3.webp", - "conversationId": "cometchat-uid-1_user_cometchat-uid-3", - "createdAt": 1730815502, - "lastActiveAt": 1754574851, - "name": "Nancy", - "role": "default", - "status": "offline", - "uid": "cometchat-uid-3", - "updatedAt": 1760607558 - }, - "entityType": "user" - }, - "sender": { - "entity": { - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "createdAt": 1730815502, - "lastActiveAt": 1761295157, - "name": "Andrew Joseph", - "role": "default", - "status": "online", - "uid": "cometchat-uid-1", - "updatedAt": 1738833132 - }, - "entityType": "user" - } - }, - "metadata": { - "@injected": { - "extensions": { - "link-preview": { - "links": [] - } - } - } - }, - "text": "heya man" - }, - "sentAt": 1761295196, - "updatedAt": 1761295196, - "flaggedBy": [ - { - "uid": "cometchat-uid-3", - "name": "Nancy", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-3.webp", - "role": "default", - "reasonId": "spam", - "reasonName": "Spam / Unwanted Content", - "description": "Repeated, promotional, or irrelevant content", - "remark": "He is continously spamming me", - "flaggedAt": 1761295210 - } - ], - "flaggedCount": 1 - } - ], - "meta": { - "current": { - "limit": 50, - "count": 1 - } - } - } - } - } + "responses": { + "200": { + "description": "Marking Conversation as read", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "security": [ - { - "apiKey": [] - } - ] + "example": { + "data": { + "success": true, + "Message": "All the messages from the user are marked as read for the requesting user." + } + } + } } + } }, - "/moderation/reviewed-messages": { - "get": { - "tags": [ - "Moderation" - ], - "summary": "List Reviewed messages", - "description": "Retrieves a list of messages that have been reviewed by the moderator.", - "operationId": "chat-api-list-reviewed-messages", - "parameters": [ - { - "name": "limit", - "in": "query", - "description": "The number of items to return per page.", - "required": false, - "schema": { - "type": "integer", - "default": 50 - }, - "example": 50 - } - ], - "responses": { - "200": { - "description": "List Reviewed Messages", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "data": [ - { - "ruleId": "toxicity", - "ruleName": "Toxicity Detection (English)", - "revisionId": "default_toxicity_1", - "condition": { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": false, - "entity": "message", - "operand": "text", - "category": "toxicity", - "operator": "contains", - "value": [ - "toxicity_greaterThan_70" - ], - "message": "Text message contains Toxicity greater than 70%", - "weight": 1 - }, - "message": { - "id": "390079", - "muid": "_b0zr29wvr", - "conversationId": "cometchat-uid-1_user_cometchat-uid-3", - "sender": "cometchat-uid-1", - "receiverType": "user", - "receiver": "cometchat-uid-3", - "category": "message", - "type": "text", - "data": { - "text": "nigger", - "resource": "WEB-4_1_1-7896d270-ea72-4510-b993-282ab6a6afdb-1757953564776", - "entities": { - "sender": { - "entity": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "online", - "role": "default", - "lastActiveAt": 1757955944 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "cometchat-uid-3", - "name": "Nancy Grace", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-3.webp", - "status": "offline", - "role": "default", - "lastActiveAt": 1754574851, - "conversationId": "cometchat-uid-1_user_cometchat-uid-3" - }, - "entityType": "user" - } - }, - "moderation": { - "status": "disapproved", - "rule": { - "id": "toxicity", - "name": "Toxicity Detection (English)" - } - } - }, - "sentAt": 1757955946, - "updatedAt": 1757955946 - }, - "action": [ - "blockMessage" - ], - "createdAt": 1757955951, - "updatedAt": 1757955951, - "blockedAt": "1757955951.000000000390079", - "appId": "253626bf6512389d" - } - ], - "meta": { - "current": { - "limit": 50, - "count": 46 - } - } - } - } - } - } + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Conversations" + ], + "summary": "Mark Conversation Messages As Unread", + "description": "Allows you to mark messages within a conversation as unread", + "operationId": "mark-conversation-as-unread", + "parameters": [ + { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the receiver of the message", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/uid--conversation" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "messageId": { + "description": "The id of the message upto which the conversation needs to be marked as unread.", + "type": "integer" + } }, - "security": [ - { - "apiKey": [] + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Marking Conversation as unread", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } - ] + }, + "type": "object" + }, + "example": { + "data": { + "success": true, + "message": "The messages after the message id 340 from the user demo1 are marked as unread for the user demo3." + } + } + } } + } }, - "/moderation/flagged-messages/{id}": { - "patch": { - "tags": [ - "Moderation" - ], - "summary": "Block/Review Flagged Message", - "description": "Enables moderators to review flagged messages and take action by either approving acceptable content or blocking policy violations, automatically transferring flagged messages to the reviewed list for tracking purposes.", - "operationId": "chat-api-review-block-flagged-message", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Id of the message which needs to be reviewed.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Message ID", - "value": "" - } - } + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/groups/{guid}/conversation": { + "get": { + "tags": [ + "Conversations" + ], + "summary": "Get Group Conversation", + "description": "Getting group conversation", + "operationId": "get-group-conversations", + "parameters": [ + { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the user on whose behalf the action is performed.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/guid--conversation" + } + ], + "responses": { + "200": { + "description": "Get user Conversations", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "status": { - "description": "Specifies the moderation action to apply to the flagged message (approve or disapprove).", - "type": "string", - "enum": [ - "approved", - "disapproved" - ] - } - }, - "type": "object" + }, + "type": "object" + }, + "example": { + "data": [ + { + "conversationId": "group_project-group", + "conversationType": "group", + "unreadMessageCount": "0", + "createdAt": 1630071782, + "updatedAt": 1630481413, + "lastMessage": { + "id": "50", + "conversationId": "group_project-group", + "sender": "cometchat-uid-4", + "receiverType": "group", + "receiver": "project-group", + "category": "action", + "type": "groupMember", + "data": { + "action": "unbanned", + "entities": { + "by": { + "entity": { + "uid": "cometchat-uid-4", + "name": "Susan Marie", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-4.webp", + "status": "offline", + "createdAt": 1629869270 + }, + "entityType": "user" }, - "examples": { - "Disapprove Flagged Message": { - "summary": "Disapprove Flagged Message", - "value": { - "status": "disapproved" - } - }, - "Approve Flagged Message": { - "summary": "Approve Flagged Message", - "value": { - "status": "approved" - } - } - } - } + "on": { + "entity": { + "uid": "cometchat-uid-3", + "link": "https://data-us.cometchat.io/assets", + "name": "George Alan", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "status": "offline", + "createdAt": 1629869270, + "updatedAt": 1629964825, + "conversationId": "cometchat-uid-3_user_cometchat-uid-4" + }, + "entityType": "user" + }, + "for": { + "entity": { + "guid": "project-group", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "name": "Project Group1", + "type": "private", + "owner": "cometchat-uid-4", + "createdAt": 1630071341, + "updatedAt": 1630305525, + "updatedBy": "cometchat-uid-4", + "description": "project related discussions between members", + "membersCount": 4, + "conversationId": "group_project-group" + }, + "entityType": "group" + } + } + }, + "sentAt": 1630305562, + "updatedAt": 1630305562 + }, + "conversationWith": { + "guid": "project-group", + "name": "Project Group1", + "description": "project related discussions between members", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "type": "private", + "scope": "participant", + "membersCount": 4, + "joinedAt": 1630071782, + "conversationId": "group_project-group", + "hasJoined": true, + "createdAt": 1630071341, + "owner": "cometchat-uid-4", + "updatedAt": 1630308875, + "updatedBy": "cometchat-uid-4" + } + } + ] + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "put": { + "tags": [ + "Conversations" + ], + "summary": "Update Group Conversation", + "description": "Updating Group Conversation", + "operationId": "update-group-conversation", + "parameters": [ + { + "$ref": "#/components/parameters/guid--conversation" + }, + { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the user on whose behalf the action is performed.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "tags": { + "description": "List of tags to identify specific conversation.", + "type": "array", + "items": { + "type": "string" } + } }, - "responses": { - "200": { - "description": "Review and Flag Message(s)", - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "example": { - "success": true, - "message": "Message with id 2 has been unflagged successfully." - } - } - } + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Updated user Conversations", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "security": [ - { - "apiKey": [] - } - ] + "example": { + "data": [ + { + "conversationId": "group_project-group", + "conversationType": "group", + "unreadMessageCount": "0", + "createdAt": 1630071782, + "updatedAt": 1630481413, + "lastMessage": { + "id": "50", + "conversationId": "group_project-group", + "sender": "cometchat-uid-4", + "receiverType": "group", + "receiver": "project-group", + "category": "action", + "type": "groupMember", + "data": { + "action": "unbanned", + "entities": { + "by": { + "entity": { + "uid": "cometchat-uid-4", + "name": "Susan Marie", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-4.webp", + "status": "offline", + "createdAt": 1629869270 + }, + "entityType": "user" + }, + "on": { + "entity": { + "uid": "cometchat-uid-3", + "link": "https://data-us.cometchat.io/assets", + "name": "George Alan", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "status": "offline", + "createdAt": 1629869270, + "updatedAt": 1629964825, + "conversationId": "cometchat-uid-3_user_cometchat-uid-4" + }, + "entityType": "user" + }, + "for": { + "entity": { + "guid": "project-group", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "name": "Project Group1", + "type": "private", + "owner": "cometchat-uid-4", + "createdAt": 1630071341, + "updatedAt": 1630305525, + "updatedBy": "cometchat-uid-4", + "description": "project related discussions between members", + "membersCount": 4, + "conversationId": "group_project-group" + }, + "entityType": "group" + } + } + }, + "sentAt": 1630305562, + "updatedAt": 1630305562, + "receipts": { + "data": [ + [] + ] + } + }, + "conversationWith": { + "guid": "project-group", + "name": "Project Group1", + "description": "project related discussions between members", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "type": "private", + "scope": "participant", + "membersCount": 4, + "joinedAt": 1630071782, + "conversationId": "group_project-group", + "hasJoined": true, + "createdAt": 1630071341, + "owner": "cometchat-uid-4", + "updatedAt": 1630308875, + "updatedBy": "cometchat-uid-4" + } + } + ] + } + } } + } }, - "/stats": { - "get": { - "tags": [ - "Metrics" - ], - "summary": "Usage Metrics", - "description": "Usage metrics of an app.", - "operationId": "usage-metrics", - "parameters": [ - { - "name": "fromDate", - "in": "query", - "description": "Unix timestamp from which usage has to be fetched.", - "required": true, - "schema": { - "type": "integer" - } - }, - { - "name": "toDate", - "in": "query", - "description": "Unix timestamp till which usage has to be fetched.", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "responses": { - "200": { - "description": "Usage metrics of an app.", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "metrics": { - "audio_minutes": 0, - "video_minutes": 0, - "recorded_minutes": 0, - "active_users": 0, - "concurrent_users": 0 - }, - "time_range": { - "fromDate": 1630164253000, - "toDate": 1632842653000 - } - } - } - } - } + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Conversations" + ], + "summary": "Reset Group Conversation", + "description": "Resetting Group Conversation", + "operationId": "reset-group-conversation", + "parameters": [ + { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the user on whose behalf the action is performed.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/guid--conversation" + } + ], + "responses": { + "200": { + "description": "Resetted user Conversations", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "security": [ - { - "apiKey": [] - } - ] + "example": { + "data": { + "success": true, + "message": "The conversation cometchat-uid-1_user_cometchat-uid-2 has been deleted successfully for UID cometchat-uid-1." + } + } + } } + } }, - "/stats/messages": { - "get": { - "tags": [ - "Metrics" - ], - "summary": "Message Metrics", - "description": "Gives the number of messages sent and receipts received in an interval of five minutes.", - "operationId": "message-receipt-metrics", - "responses": { - "200": { - "description": "Gives the number of messages sent and receipts received in an interval of five minutes.", - "content": { - "application/json": { - "schema": { - "properties": { - "dataPoints": { - "type": "array", - "items": {} - } - }, - "type": "object" - }, - "example": { - "data": { - "startTime": "1682676600000", - "endTime": "1682680200000", - "dataPoints": [ - { - "messagesSent": 0, - "readReceipts": 0, - "deliveryReceipts": 0, - "startTime": "1682676600000", - "endTime": "1682676900000" - }, - { - "messagesSent": 0, - "readReceipts": 0, - "deliveryReceipts": 0, - "startTime": "1682676900000", - "endTime": "1682677200000" - } - ], - "appId": "235391c94852dc7d" - } - } - } - } - } + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/groups/{guid}/conversation/delivered": { + "post": { + "tags": [ + "Conversations" + ], + "summary": "Mark Group Conversation As Delivered", + "description": "This API will mark the group conversation as delivered.", + "operationId": "mark-group-conversation-as-delivered", + "parameters": [ + { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the receiver of the message", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/guid--conversation" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "messageId": { + "description": "The id of the message upto which the conversation needs to be marked as delivered.", + "type": "integer" + } }, - "security": [ - { - "apiKey": [] + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Marking Conversation as delivered", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } - ] + }, + "type": "object" + }, + "example": { + "data": { + "success": true, + "message": "All the messages in the group are marked as delivered for the requesting user." + } + } + } } - } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } }, - "components": { - "schemas": { - "APIKeySchema": { - "description": "Response data", + "/groups/{guid}/conversation/read": { + "post": { + "tags": [ + "Conversations" + ], + "summary": "Mark Group Conversation As Read", + "description": "This API will mark the group conversation as read.", + "operationId": "mark-group-conversation-as-read", + "parameters": [ + { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the receiver of the message", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/guid--conversation" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { "properties": { - "apiKey": { - "type": "string" - }, - "name": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "createdAt": { - "type": "integer" - } + "messageId": { + "description": "The id of the message upto which the conversation needs to be marked as read.", + "type": "integer" + } }, "type": "object" - }, - "CategoryType": { - "description": "Type of entries in the list", - "type": "string", - "enum": [ - "word", - "pattern", - "sentence-similarity" - ] - }, - "CommonFields": { - "properties": { - "authToken": { - "type": "string", - "example": "superhero3_1710141033938cf7e3c67cc44465440d" - }, - "timezone": { - "type": "string", - "example": "Asia/Kolkata" + } + } + } + }, + "responses": { + "200": { + "description": "Marking Conversation as read", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "Condition": { + "example": { + "data": { + "success": true, + "message": "All the messages in the group are marked as read for the requesting user." + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Conversations" + ], + "summary": "Mark Group Conversation As Unread", + "description": "This API will mark the group conversation as unread.", + "operationId": "mark-group-conversation-as-unread", + "parameters": [ + { + "$ref": "#/components/parameters/guid--conversation" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { "properties": { - "id": { - "description": "Unique identifier of a condition", - "type": "integer", - "example": 1 - }, - "entity": { - "description": "Entity type in which moderation will be performed.", - "type": "string", - "example": "message" - }, - "operand": { - "description": "Type of message content to moderate (e.g., text, image, video, custom).", - "type": "string", - "enum": [ - "text", - "image", - "video", - "custom" - ], - "example": "image" - }, - "operator": { - "description": "Operation to be performed for condition evaluation (e.g., contains, equals).", - "type": "string", - "enum": [ - "contains", - "equals" - ], - "example": "contains" - }, - "category": { - "description": "Type of entries for evaluation, either 'word' or 'pattern'.", - "type": "string", - "enum": [ - "word", - "pattern" - ], - "example": "word" - }, - "isKeywordReferencePresent": { - "description": "Indicates if the value contains a reference to a keyword list.", - "type": "boolean", - "example": false - }, - "isMediaPresent": { - "description": "Indicates if the incoming message contains media content.", - "type": "boolean", - "example": true - }, - "value": { - "description": "Actual value for the condition, or reference ID if isKeywordReferencePresent is true, or a formula if isMediaPresent is true.", - "type": "string", - "example": "violence_greaterThan_30" - } + "messageId": { + "description": "The id of the message upto which the conversation needs to be marked as unread.", + "type": "integer" + } }, "type": "object" - }, - "CustomEmailProviderConfig": { - "properties": { - "isEnabled": { - "description": "Use custom provider", - "type": "boolean" - }, - "useStoredEmailID": { - "description": "If enabled, the webhook will be triggered for a user only if their email address is stored within CometChat.", - "type": "boolean" - }, - "webhookURL": { - "description": "The webhook URL to be triggered for the respective events.", - "type": "string" - }, - "useBasicAuth": { - "description": "To enable basic auth for the URL", - "type": "boolean" - }, - "basicAuthUsername": { - "description": "The username for Basic auth", - "type": "string" - }, - "basicAuthPassword": { - "description": "The password for Basic auth", - "type": "string" + } + } + } + }, + "responses": { + "200": { + "description": "Marking Conversation as unread", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "CustomSMSProviderConfig": { + "example": { + "data": { + "success": true, + "message": "The messages after the message id 340 from the user demo1 are marked as unread for the user demo3." + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/users/{uid}/auth_tokens": { + "post": { + "tags": [ + "Auth Tokens" + ], + "summary": "Create", + "description": "Creates auth token for a user with the specified UID.", + "operationId": "create-authtoken", + "parameters": [ + { + "name": "uid", + "in": "path", + "description": "An UID of a user.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "UID", + "value": "cometchat-uid-1" + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { "properties": { - "isEnabled": { - "description": "Use custom provider", - "type": "boolean" - }, - "useStoredPhNo": { - "description": "If enabled, the webhook will be triggered for a user only if their phone number is stored within CometChat.", - "type": "boolean" - }, - "webhookURL": { - "description": "The webhook URL triggered for respective events", - "type": "string" - }, - "useBasicAuth": { - "description": "To enable basic auth for the URL", - "type": "boolean" - }, - "basicAuthUsername": { - "description": "The username for Basic auth", - "type": "string" - }, - "basicAuthPassword": { - "description": "The password for Basic auth", - "type": "string" - } + "force": { + "description": "Generates new auth token forcefully.", + "type": "boolean" + } }, "type": "object" - }, - "Day": { - "properties": { - "from": { - "type": "integer", - "format": "int32", - "maximum": 2359, - "minimum": 0 - }, - "to": { - "type": "integer", - "format": "int32", - "maximum": 2359, - "minimum": 0 + } + } + } + }, + "responses": { + "200": { + "description": "Created auth token", + "content": { + "application/json": { + "schema": { + "type": "object" + }, + "example": { + "data": { + "uid": "cometchat-uid-1", + "authToken": "cometchat-uid-1_1630306819c3027ce530b2367f3c97b4106f0cb8", + "createdAt": 1630306819 + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "get": { + "tags": [ + "Auth Tokens" + ], + "summary": "List", + "description": "Lists auth tokens for a user with the specified UID.", + "operationId": "list-authtokens", + "parameters": [ + { + "name": "uid", + "in": "path", + "description": "An UID of a user.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "UID", + "value": "cometchat-uid-1" + } + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of auth tokens to return per page.", + "schema": { + "type": "number", + "default": 100 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number for paginated results.", + "schema": { + "type": "number", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "A list of auth tokens", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "authToken": { + "type": "string", + "description": "The authentication token string" + }, + "uid": { + "type": "string", + "description": "UID of the user this token belongs to" + }, + "createdAt": { + "type": "integer", + "description": "Unix timestamp of token creation" + }, + "platform": { + "type": "string", + "description": "Platform the token was created for" + }, + "userAgent": { + "type": "string", + "description": "User agent string of the client" + }, + "appInfo": { + "type": "string", + "description": "Application information" + } + } + } }, - "dnd": { - "type": "boolean" + "meta": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "Group": { - "properties": { - "messagesSetting": { - "description": "1: Don't notify\n2: Notify for all messages\n3: Notify for messages with mentions", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "messagesOverride": { - "type": "boolean" - }, - "repliesSetting": { - "description": "1: Don't notify\n2: Notify for all replies\n3: Notify for replies with mentions", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "repliesOverride": { - "type": "boolean" - }, - "reactionsSetting": { - "description": "1: Don't notify\n2: Notify for reactions received on own messages\n3: Notify for reactions received on all messages", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "reactionsOverride": { - "type": "boolean" - }, - "memberLeftSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "memberLeftOverride": { - "type": "boolean" - }, - "memberAddedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "memberAddedOverride": { - "type": "boolean" - }, - "memberJoinedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "memberJoinedOverride": { - "type": "boolean" - }, - "memberKickedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "memberKickedOverride": { - "type": "boolean" - }, - "memberBannedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "memberBannedOverride": { - "type": "boolean" - }, - "memberUnbannedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "memberUnbannedOverride": { - "type": "boolean" - }, - "memberScopeChangedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "memberScopeChangedOverride": { - "type": "boolean" - }, - "messageEditedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "messageDeletedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] + "example": { + "data": [ + { + "uid": "cometchat-uid-1", + "authToken": "cometchat-uid-1_1630306819c3027ce530b2367f3c97b4106f0cb8", + "createdAt": 1630306819 + } + ], + "meta": { + "pagination": { + "total": 1, + "count": 1, + "per_page": 100, + "current_page": 1, + "total_pages": 1 + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Auth Tokens" + ], + "summary": "Flush", + "description": "Deletes all the auth tokens for the specified UID.", + "operationId": "flush-authtokens", + "parameters": [ + { + "name": "uid", + "in": "path", + "description": "An UID of a user.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "UID", + "value": "cometchat-uid-1" + } + } + } + ], + "responses": { + "200": { + "description": "A list of api keys", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "GroupFilter": { - "required": [ - "entity", - "operand", - "operator", - "value", - "type" - ], - "properties": { - "entity": { - "description": "Type of entity for group filter", - "type": "string", - "enum": [ - "group" - ] - }, - "operand": { - "description": "Field to apply the filter on for 'group'", - "type": "string", - "enum": [ - "guid", - "name", - "type", - "tags", - "createdAt" - ] - }, - "operator": { - "description": "Operator to use for filtering", - "type": "string", - "enum": [ - "equals", - "notEquals", - "in", - "notIn", - "startsWith", - "endsWith", - "lessThan", - "greaterThan" - ], - "example": "equals" - }, - "value": { - "description": "Value for the filter", - "type": "string", - "example": "exampleValue" - }, - "type": { - "description": "Type of the filter, specifying sender or receiver", - "type": "string", - "enum": [ - "sender", - "receiver" - ], - "example": "sender" + "example": { + "data": { + "success": true, + "message": "Cleared Auth Tokens successfully for uid cometchat-uid-1." + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/users/{uid}/auth_tokens/{authToken}": { + "get": { + "tags": [ + "Auth Tokens" + ], + "summary": "Get", + "description": "Retrieves details of an auth token for the specified UID andauth token.", + "operationId": "get-authtoken", + "parameters": [ + { + "name": "uid", + "in": "path", + "description": "An UID of a user.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "UID", + "value": "cometchat-uid-1" + } + } + }, + { + "$ref": "#/components/parameters/authToken" + } + ], + "responses": { + "200": { + "description": "Retrieve Auth Token", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" + }, + "example": { + "data": { + "uid": "cometchat-uid-1", + "authToken": "cometchat-uid-1_1630306819c3027ce530b2367f3c97b4106f0cb8", + "createdAt": 1630306819 + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "put": { + "tags": [ + "Auth Tokens" + ], + "summary": "Update", + "description": "Updates the details of an auth token for the specified UID andauth token.", + "operationId": "update-authtoken", + "parameters": [ + { + "name": "uid", + "in": "path", + "description": "An UID of a user.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "UID", + "value": "cometchat-uid-1" + } + } + }, + { + "name": "authToken", + "in": "path", + "description": "An auth token of a user.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Auth Token", + "value": "cometchat-uid-1_1625206799abcdef" + } + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "platform": { + "description": "The platform on which the auth token is being used.", + "type": "string" + }, + "userAgent": { + "description": "userAgent from which the auth token is used.", + "type": "string" + }, + "appInfo": { + "description": "JSON data containing app information.", + "type": "object" + } }, "type": "object" - }, - "KeywordList": { - "discriminator": { - "propertyName": "category", - "mapping": { - "word": "#/components/schemas/WordPatternSchema", - "pattern": "#/components/schemas/PatternSchema", - "sentence-similarity": "#/components/schemas/SentenceSimilaritySchema" + } + } + } + }, + "responses": { + "200": { + "description": "Updated Auth Token", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "oneOf": [ - { - "$ref": "#/components/schemas/WordPatternSchema" - }, - { - "$ref": "#/components/schemas/PatternSchema" - }, - { - "$ref": "#/components/schemas/SentenceSimilaritySchema" + "example": { + "data": { + "uid": "cometchat-uid-1", + "authToken": "cometchat-uid-1_1630306819c3027ce530b2367f3c97b4106f0cb8", + "createdAt": 1630306819 + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Auth Tokens" + ], + "summary": "Delete", + "description": "Deletes an auth token for the specified UID.", + "operationId": "delete-authtoken", + "parameters": [ + { + "name": "uid", + "in": "path", + "description": "An UID of a user.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "UID", + "value": "cometchat-uid-1" + } + } + }, + { + "name": "authToken", + "in": "path", + "description": "An auth token of a user.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Auth Token", + "value": "cometchat-uid-1_1625206799abcdef" + } + } + } + ], + "responses": { + "200": { + "description": "Deleted Auth token", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } - ] - }, - "MediaMessageTemplate": { + }, + "type": "object" + }, + "example": { + "data": { + "success": true, + "message": "User with cometchat-uid-6 has been deleted successfully." + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/groups/{guid}/members": { + "post": { + "tags": [ + "Group Members" + ], + "summary": "Add members", + "description": "Adds multiple users as per the scope.", + "operationId": "add-group-members", + "parameters": [ + { + "$ref": "#/components/parameters/onBehalfOf" + }, + { + "$ref": "#/components/parameters/guid" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { "properties": { - "titleOneOnOne": { - "type": "string", - "example": "{{message.data.entities.sender.entity.name}}" - }, - "titleGroup": { - "type": "string", - "example": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}" - }, - "body_image": { - "type": "string", - "example": "Has sent an {{message.type}}" - }, - "body_audio": { - "type": "string", - "example": "Has sent an {{message.type}}" - }, - "body_video": { - "type": "string", - "example": "Has sent a {{message.type}}" - }, - "body_file": { - "type": "string", - "example": "Has sent a {{message.type}}" - } + "admins": { + "description": "UIDs of users to be made admins.", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "moderators": { + "description": "UIDs of users to be made moderators.", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "participants": { + "description": "UIDs of users to be made participants.", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "usersToBan": { + "description": "UIDs of the users to be banned from the group.", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + } }, "type": "object" - }, - "ModerationData": { - "properties": { - "id": { - "type": "string", - "example": "moderation-test" - }, - "name": { - "type": "string", - "example": "Video Moderation" - }, - "description": { - "type": "string", - "example": "AI-powered video moderation to detect unsafe content." - }, - "enabled": { - "type": "boolean", - "example": true - }, - "conditions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Condition" - } - }, - "action": { - "type": "array", - "items": { - "type": "string", - "example": "blockMessage" - } - }, - "active": { - "type": "boolean", - "example": true - }, - "createdAt": { - "type": "integer", - "example": 1720003247 - }, - "updatedAt": { - "type": "integer", - "example": 1720003247 - }, - "revisionId": { - "type": "string", - "example": "253179cf5f665257_moderation-test_1" + } + } + } + }, + "responses": { + "200": { + "description": "Create Group Members", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "ModerationRequestBody": { - "properties": { - "id": { - "description": "Unique identifier for the moderation rule.", - "type": "string", - "example": "moderation-test" - }, - "name": { - "description": "Descriptive name for the moderation rule.", - "type": "string", - "example": "Video Moderation" - }, - "enabled": { - "description": "Indicates whether the rule is active.", - "type": "boolean", - "example": true + "example": { + "data": { + "usersToBan": { + "cometchat-uid-6": { + "success": true + } }, - "description": { - "description": "Detailed explanation of the rule's purpose.", - "type": "string", - "example": "AI-powered video moderation to detect unsafe content." + "admins": { + "cometchat-uid-1": { + "success": true, + "data": { + "id": "32", + "conversationId": "group_project-group", + "sender": "app_system", + "receiverType": "group", + "receiver": "project-group", + "category": "action", + "type": "groupMember", + "data": { + "action": "added", + "entities": { + "by": { + "entity": { + "uid": "app_system", + "name": "System", + "role": "default", + "status": "offline", + "createdAt": 1596537299 + }, + "entityType": "user" + }, + "on": { + "entity": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", + "status": "offline", + "createdAt": 1596537299 + }, + "entityType": "user" + }, + "for": { + "entity": { + "guid": "project-group", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "name": "Project Group", + "tags": [ + "friends", + "project" + ], + "type": "public", + "owner": "cometchat-uid-2", + "createdAt": 1625460947, + "description": "project related discussions between members", + "membersCount": 2, + "conversationId": "group_project-group" + }, + "entityType": "group" + } + } + }, + "sentAt": 1625460972, + "updatedAt": 1625460972 + } + } }, - "action": { - "description": "Actions to be taken when a violation is detected.", - "type": "array", - "items": { - "type": "string", - "example": "blockMessage" - } + "moderators": { + "cometchat-uid-3": { + "success": true, + "data": { + "id": "33", + "conversationId": "group_project-group", + "sender": "app_system", + "receiverType": "group", + "receiver": "project-group", + "category": "action", + "type": "groupMember", + "data": { + "action": "added", + "entities": { + "by": { + "entity": { + "uid": "app_system", + "name": "System", + "role": "default", + "status": "offline", + "createdAt": 1596537299 + }, + "entityType": "user" + }, + "on": { + "entity": { + "uid": "cometchat-uid-3", + "name": "Nancy Grace", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-3.webp", + "status": "offline", + "createdAt": 1596537299, + "updatedAt": 1625234590 + }, + "entityType": "user" + }, + "for": { + "entity": { + "guid": "project-group", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "name": "Project Group", + "tags": [ + "friends", + "project" + ], + "type": "public", + "owner": "cometchat-uid-2", + "createdAt": 1625460947, + "updatedAt": 1625460972, + "description": "project related discussions between members", + "membersCount": 3, + "conversationId": "group_project-group" + }, + "entityType": "group" + } + } + }, + "sentAt": 1625460973, + "updatedAt": 1625460973 + } + } }, - "filters": { - "description": "List of filters to apply", - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/UserFilter" - }, - { - "$ref": "#/components/schemas/GroupFilter" - } - ] - } + "participants": { + "cometchat-uid-4": { + "success": true, + "data": { + "id": "34", + "conversationId": "group_project-group", + "sender": "app_system", + "receiverType": "group", + "receiver": "project-group", + "category": "action", + "type": "groupMember", + "data": { + "action": "added", + "entities": { + "by": { + "entity": { + "uid": "app_system", + "name": "System", + "role": "default", + "status": "offline", + "createdAt": 1596537299 + }, + "entityType": "user" + }, + "on": { + "entity": { + "uid": "cometchat-uid-4", + "name": "Susan Marie", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-4.webp", + "status": "offline", + "createdAt": 1596537299 + }, + "entityType": "user" + }, + "for": { + "entity": { + "guid": "project-group", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "name": "Project Group", + "tags": [ + "friends", + "project" + ], + "type": "public", + "owner": "cometchat-uid-2", + "createdAt": 1625460947, + "updatedAt": 1625460973, + "description": "project related discussions between members", + "membersCount": 4, + "conversationId": "group_project-group" + }, + "entityType": "group" + } + } + }, + "sentAt": 1625460973, + "updatedAt": 1625460973 + } + }, + "cometchat-uid-5": { + "success": true, + "data": { + "id": "35", + "conversationId": "group_project-group", + "sender": "app_system", + "receiverType": "group", + "receiver": "project-group", + "category": "action", + "type": "groupMember", + "data": { + "action": "added", + "entities": { + "by": { + "entity": { + "uid": "app_system", + "name": "System", + "role": "default", + "status": "offline", + "createdAt": 1596537299 + }, + "entityType": "user" + }, + "on": { + "entity": { + "uid": "cometchat-uid-5", + "name": "John Paul", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-5.webp", + "status": "offline", + "createdAt": 1596537299 + }, + "entityType": "user" + }, + "for": { + "entity": { + "guid": "project-group", + "icon": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "name": "Project Group", + "tags": [ + "friends", + "project" + ], + "type": "public", + "owner": "cometchat-uid-2", + "createdAt": 1625460947, + "updatedAt": 1625460973, + "description": "project related discussions between members", + "membersCount": 5, + "conversationId": "group_project-group" + }, + "entityType": "group" + } + } + }, + "sentAt": 1625460973, + "updatedAt": 1625460973 + } + } + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "get": { + "tags": [ + "Group Members" + ], + "summary": "List", + "description": "List the members of a group for a given GUID", + "operationId": "list-group-members", + "parameters": [ + { + "$ref": "#/components/parameters/guid" + }, + { + "name": "perPage", + "in": "query", + "description": "Number of users to be fetched in a request. The default value is 100 and the maximum value is 1000.", + "schema": { + "type": "integer", + "default": "100" + } + }, + { + "name": "status", + "in": "query", + "description": "Group members list can be fetched depending on the user status. (available,offline).", + "schema": { + "type": "string", + "enum": [ + "available", + "offline" + ], + "description": "User status filter." + } + }, + { + "name": "page", + "in": "query", + "description": "Page Number.", + "schema": { + "type": "integer", + "default": "1" + } + }, + { + "name": "scopes", + "in": "query", + "description": "Fetches group members based on multiple scope.", + "style": "form", + "explode": false, + "schema": { + "type": "array", + "items": {} + } + } + ], + "responses": { + "200": { + "description": "Create Group Members", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array" }, - "conditions": { - "description": "List of conditions that must be met for the rule to trigger.", - "type": "array", - "items": { - "$ref": "#/components/schemas/Condition" - } + "meta": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "Mute": { + "example": { + "data": [ + { + "uid": "cometchat-uid-2", + "name": "George Alan", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "status": "offline", + "role": "default", + "scope": "participant", + "joinedAt": 1638360106, + "createdAt": 1629869270, + "updatedAt": 1630308676, + "conversationId": "cometchat-uid-2_user_cometchat-uid-4" + }, + { + "uid": "cometchat-uid-3", + "name": "George Alan", + "link": "https://data-us.cometchat.io/assets", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "metadata": { + "contactNumber": "0123456789" + }, + "status": "offline", + "role": "default", + "scope": "participant", + "joinedAt": 1638360106, + "createdAt": 1629869270, + "updatedAt": 1638351060, + "conversationId": "cometchat-uid-3_user_cometchat-uid-4" + }, + { + "uid": "cometchat-uid-5", + "name": "John Paul", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-5.webp", + "status": "offline", + "role": "default", + "scope": "moderator", + "joinedAt": 1638360106, + "createdAt": 1629869270, + "conversationId": "cometchat-uid-4_user_cometchat-uid-5" + }, + { + "uid": "cometchat-uid-4", + "name": "Susan Marie", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-4.webp", + "status": "offline", + "role": "default", + "scope": "admin", + "joinedAt": 1638359534, + "createdAt": 1629869270 + } + ], + "meta": { + "pagination": { + "total": 0, + "count": 5, + "per_page": 100, + "current_page": 1, + "total_pages": 1 + } + }, + "cursor": { + "updatedAt": 1638354799, + "affix": "prepend" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/groups/{guid}/members/{uid}": { + "put": { + "tags": [ + "Group Members" + ], + "summary": "Change Scope", + "description": "Change scope of a member to the group for a given GUID and UID", + "operationId": "change-group-member-scope", + "parameters": [ + { + "$ref": "#/components/parameters/onBehalfOf" + }, + { + "$ref": "#/components/parameters/guid" + }, + { + "$ref": "#/components/parameters/uid" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { "properties": { - "dndPreferenceOverride": { - "type": "boolean" - }, - "mutedGroupsOverride": { - "type": "boolean" - }, - "mutedOneOnOnesOverride": { - "type": "boolean" - }, - "schedulePreferenceSetting": { - "properties": { - "monday": { - "$ref": "#/components/schemas/Day" - }, - "tuesday": { - "$ref": "#/components/schemas/Day" - }, - "wednesday": { - "$ref": "#/components/schemas/Day" - }, - "thursday": { - "$ref": "#/components/schemas/Day" - }, - "friday": { - "$ref": "#/components/schemas/Day" - }, - "saturday": { - "$ref": "#/components/schemas/Day" - }, - "sunday": { - "$ref": "#/components/schemas/Day" - } + "scope": { + "description": "A scope for the user.", + "type": "string", + "default": "participant" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Changed Scope of Group Members", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "guid": { + "type": "string" }, - "type": "object" - }, - "schedulePreferenceOverride": { - "type": "boolean" + "uid": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "joinedAt": { + "type": "integer" + } + }, + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "MutePreferences": { - "properties": { - "dnd": { - "description": "1: Disable DND\n2: Enable DND", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "schedule": { - "$ref": "#/components/schemas/Schedule" + "example": { + "data": { + "guid": "cometchat-guid-1", + "uid": "cometchat-uid-2", + "scope": "participant", + "joinedAt": 1631690303 + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Group Members" + ], + "summary": "Kick", + "description": "Removes a member with given UID from a group for a given GUID.", + "operationId": "kick-group-member", + "parameters": [ + { + "$ref": "#/components/parameters/onBehalfOf" + }, + { + "$ref": "#/components/parameters/guid" + }, + { + "$ref": "#/components/parameters/uid" + } + ], + "responses": { + "200": { + "description": "Kicked Group Members", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "PNSuccess": { - "properties": { - "success": { - "type": "boolean" + "example": { + "data": { + "success": true, + "message": "The member with cometchat-uid-3 has been kicked from the Group with cometchat-guid-1." + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/groups/{guid}/bannedusers/{uid}": { + "post": { + "tags": [ + "Banned Users" + ], + "summary": "Ban", + "description": "Bans a member from a group for a given GUID and UID.", + "operationId": "ban-group-user", + "parameters": [ + { + "$ref": "#/components/parameters/onBehalfOf" + }, + { + "$ref": "#/components/parameters/guid" + }, + { + "$ref": "#/components/parameters/uid" + } + ], + "responses": { + "200": { + "description": "Create Group", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "PatternSchema": { - "required": [ - "category", - "searchTerms" - ], - "properties": { - "file": { - "description": "CSV file containing the keywords or regex patterns for the list.", - "type": "string", - "format": "binary" - }, - "id": { - "description": "Unique identifier for the pattern list.", - "type": "string", - "example": "ID-of-the-pattern-list" - }, - "name": { - "description": "Descriptive name for the pattern list.", - "type": "string", - "example": "Name of the pattern list" - }, - "description": { - "description": "Detailed explanation of the pattern list's purpose.", - "type": "string", - "example": "Description of the pattern list" - }, - "category": { - "$ref": "#/components/schemas/CategoryType" - }, - "searchTerms": { - "description": "Comma-separated values of keywords or regex patterns if no file is provided.", - "type": "string", - "example": "AI-powered video moderation to detect unsafe content." + "example": { + "data": { + "success": true, + "message": "The user with uid cometchat-uid-3 has been banned from the Group with cometchat-guid-1." + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Banned Users" + ], + "summary": "Unban", + "description": "Unban a member with given UID from a group for a given GUID.", + "operationId": "unban-group-user", + "parameters": [ + { + "$ref": "#/components/parameters/onBehalfOf" + }, + { + "$ref": "#/components/parameters/guid" + }, + { + "$ref": "#/components/parameters/uid" + } + ], + "responses": { + "200": { + "description": "Create Group", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "PlatformAPNS": { - "allOf": [ - { + "example": { + "data": { + "success": true, + "message": "The user with uid cometchat-uid-3 has been banned from the Group with cometchat-guid-1." + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/groups/{guid}/bannedusers": { + "get": { + "tags": [ + "Banned Users" + ], + "summary": "List", + "description": "Lists banned users from a group for a given GUID.", + "operationId": "list-banned-group-users", + "parameters": [ + { + "$ref": "#/components/parameters/guid" + }, + { + "name": "perPage", + "in": "query", + "description": "Number of banned users to return per page.", + "schema": { + "type": "number", + "default": 100 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number for paginated results.", + "schema": { + "type": "number", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "get Banned User", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", "properties": { - "platform": { - "type": "string", - "enum": [ - "apns_ios_device", - "apns_flutter_device", - "apns_react_native_device", - "apns_ionic_cordova_device" - ] - }, - "providerId": { - "type": "string", - "example": "apns-provider-2" - }, - "deviceToken": { - "type": "string" - } - }, - "type": "object" + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "link": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "metadata": { + "type": "object" + }, + "status": { + "type": "string" + }, + "role": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } + } + } }, - { - "$ref": "#/components/schemas/CommonFields" - } - ] - }, - "PlatformFCM": { - "allOf": [ - { - "properties": { - "platform": { - "type": "string", - "enum": [ - "fcm_android", - "fcm_ios", - "fcm_web", - "fcm_flutter_android", - "fcm_flutter_ios", - "fcm_react_native_android", - "fcm_react_native_ios", - "fcm_ionic_cordova_android", - "fcm_ionic_cordova_ios" - ] - }, - "providerId": { - "type": "string", - "example": "fcm-provider-2" - }, - "fcmToken": { - "type": "string" - } - }, - "type": "object" + "meta": { + "type": "object" }, - { - "$ref": "#/components/schemas/CommonFields" - } - ] - }, - "PlatformVOIP": { - "allOf": [ - { - "properties": { - "platform": { - "type": "string", - "enum": [ - "apns_ios_voip", - "apns_flutter_voip", - "apns_ionic_cordova_voip", - "apns_react_native_voip" - ] - }, - "providerId": { - "type": "string", - "example": "apns-provider-2" - }, - "voipToken": { - "type": "string" - } + "cursor": { + "properties": { + "updatedAt": { + "type": "integer" }, - "type": "object" - }, - { - "$ref": "#/components/schemas/CommonFields" + "affix": { + "type": "string" + } + }, + "type": "object" } - ] - }, - "Preferences": { + }, + "type": "object" + }, + "example": { + "data": [ + { + "uid": "cometchat-uid-6", + "name": "Barry Allen", + "link": "https://cometchat.com", + "avatar": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "metadata": { + "email": "user@email.com", + "contactNumber": "0123456789" + }, + "status": "offline", + "role": "manager", + "createdAt": 1638354015, + "updatedAt": 1638354799, + "conversationId": "cometchat-uid-4_user_cometchat-uid-6" + }, + { + "uid": "cometchat-uid-2", + "name": "George Alan", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "status": "offline", + "role": "default", + "createdAt": 1629869270, + "updatedAt": 1630308676, + "conversationId": "cometchat-uid-2_user_cometchat-uid-4" + }, + { + "uid": "cometchat-uid-3", + "name": "George Alan", + "link": "https://data-us.cometchat.io/assets", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "metadata": { + "contactNumber": "0123456789" + }, + "status": "offline", + "role": "default", + "blockedByMe": true, + "blockedByMeAt": 1638346853, + "blockedAt": 1638346853, + "createdAt": 1629869270, + "updatedAt": 1638351060, + "conversationId": "cometchat-uid-3_user_cometchat-uid-4" + } + ], + "meta": { + "pagination": { + "total": 0, + "count": 5, + "per_page": 100, + "current_page": 1, + "total_pages": 1 + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/users/{uid}/friends": { + "post": { + "tags": [ + "Friends" + ], + "summary": "Add Friends", + "description": "The API allows to add multiple friends for a given UID.", + "operationId": "add-friend", + "parameters": [ + { + "$ref": "#/components/parameters/uid" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { "properties": { - "push": { - "properties": { - "includeMessageObjectSetting": { - "description": "Include the message object in the push payload", - "type": "boolean" - }, - "includeSenderMetadataSetting": { - "description": "Include the sender's metadata as part of the message object", - "type": "boolean" - }, - "includeReceiverMetadataSetting": { - "description": "Include the receiver's metadata as part of the message object", - "type": "boolean" - }, - "trimTextFieldSetting": { - "description": "Trim the text field if present.", - "type": "boolean" - }, - "includeMessageMetadataSetting": { - "description": "Include the message's metadata as part of the message object", - "type": "boolean" - }, - "customJson": { - "description": "A custom JSON object for miscellaneous data", - "type": "object" - } - }, - "type": "object" - }, - "call": { - "properties": { - "initiatedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ], - "example": 2 - }, - "ongoingSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ], - "example": 2 - }, - "cancelledSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ], - "example": 2 - }, - "busySetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ], - "example": 2 - }, - "rejectedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ], - "example": 2 - }, - "unansweredSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ], - "example": 2 - }, - "endedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ], - "example": 2 - } - }, - "type": "object" - }, - "bypassPreferencesForMentions": { - "type": "boolean" - }, - "bypassPreferencesForGroupMentions": { - "type": "boolean" - }, - "group": { - "$ref": "#/components/schemas/Group" - }, - "oneOnOne": { - "$ref": "#/components/schemas/oneOnOne" - }, - "mute": { - "$ref": "#/components/schemas/Mute" - }, - "email": { - "$ref": "#/components/schemas/email" - }, - "sms": { - "$ref": "#/components/schemas/sms" + "accepted": { + "description": "The array of UIDs of the friends.", + "type": "array", + "items": { + "type": "string" } + } }, "type": "object" - }, - "RolePermissionSchema": { - "description": "Role permission mapping", - "properties": { - "role": { - "description": "Role name", - "type": "string", - "example": "admin" - }, - "permissions": { - "description": "List of permissions mapped to the role", - "type": "object", - "example": { - "users.read": true, - "users.write": true, - "groups.read": true, - "groups.write": false + } + } + } + }, + "responses": { + "200": { + "description": "Added Friend", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "type": "object" }, - "additionalProperties": { - "type": "boolean" + "": { + "type": "object" } + }, + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "Schedule": { - "properties": { - "monday": { - "$ref": "#/components/schemas/Day" - }, - "tuesday": { - "$ref": "#/components/schemas/Day" - }, - "wednesday": { - "$ref": "#/components/schemas/Day" - }, - "thursday": { - "$ref": "#/components/schemas/Day" - }, - "friday": { - "$ref": "#/components/schemas/Day" + "example": { + "data": { + "accepted": { + "cometchat-uid-2": { + "success": true, + "message": "Created relationship with status accepted." + }, + "cometchat-uid-3": { + "success": true, + "message": "Created relationship with status accepted." + } + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "get": { + "tags": [ + "Friends" + ], + "summary": "List Friends", + "description": "The API allows to fetch friends for a given UID.", + "operationId": "list-all-friends", + "parameters": [ + { + "$ref": "#/components/parameters/uid" + }, + { + "name": "searchKey", + "in": "query", + "description": "Searches for given keyword in friends list (either UID or name).", + "schema": { + "type": "string" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of friends to be fetched in a request. The default value is 100 and the maximum value is 1000.", + "schema": { + "type": "integer", + "default": "100" + } + }, + { + "name": "page", + "in": "query", + "description": "Page Number.", + "schema": { + "type": "integer", + "default": "1" + } + } + ], + "responses": { + "200": { + "description": "A list of friends.", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "link": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "metadata": { + "type": "object" + }, + "status": { + "type": "string" + }, + "role": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } + } + } }, - "saturday": { - "$ref": "#/components/schemas/Day" + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": [ + { + "uid": "cometchat-uid-6", + "name": "Barry Allen", + "link": "https://cometchat.com", + "avatar": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "metadata": { + "email": "user@email.com", + "contactNumber": "0123456789" + }, + "status": "offline", + "role": "manager", + "createdAt": 1638354015, + "updatedAt": 1638354799, + "conversationId": "cometchat-uid-4_user_cometchat-uid-6" + }, + { + "uid": "cometchat-uid-2", + "name": "George Alan", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "status": "offline", + "role": "default", + "createdAt": 1629869270, + "updatedAt": 1630308676, + "conversationId": "cometchat-uid-2_user_cometchat-uid-4" + }, + { + "uid": "cometchat-uid-3", + "name": "George Alan", + "link": "https://data-us.cometchat.io/assets", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "metadata": { + "contactNumber": "0123456789" + }, + "status": "offline", + "role": "default", + "blockedByMe": true, + "blockedByMeAt": 1638346853, + "blockedAt": 1638346853, + "createdAt": 1629869270, + "updatedAt": 1638351060, + "conversationId": "cometchat-uid-3_user_cometchat-uid-4" + } + ], + "meta": { + "pagination": { + "total": 0, + "count": 5, + "per_page": 100, + "current_page": 1, + "total_pages": 1 }, - "sunday": { - "$ref": "#/components/schemas/Day" + "cursor": { + "updatedAt": 1638354799, + "affix": "prepend" + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Friends" + ], + "summary": "Remove Friends", + "description": "The API removes friends for a given UID.", + "operationId": "remove-friend", + "parameters": [ + { + "$ref": "#/components/parameters/uid" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "friends": { + "description": "The array of friends to remove.", + "type": "array", + "items": { + "type": "string" } + } }, "type": "object" - }, - "SchedulerSchema": { + } + } + } + }, + "responses": { + "200": { + "description": "A list of api keys", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "success": true, + "message": "Deleted the friend relations succussfully" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/users/{uid}/blockedusers": { + "post": { + "tags": [ + "Blocked Users" + ], + "summary": "Block User", + "operationId": "block-users", + "description": "Blocks the specified user", + "parameters": [ + { + "name": "uid", + "in": "path", + "description": "An UID of a user.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "UID", + "value": "cometchat-uid-1" + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { "required": [ - "interactionGoal", - "allowSenderInteraction", - "interactiveData" + "blockedUids" ], "properties": { - "interactionGoal": { - "required": [ - "type", - "elementIds" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "anyAction", - "allOf", - "oneOf", - "none" - ] - }, - "elementIds": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - }, - "allowSenderInteraction": { - "type": "boolean" - }, - "interactiveData": { - "required": [ - "title", - "avatarUrl", - "bufferTime", - "icsFileUrl", - "availability", - "timezoneCode", - "duration", - "scheduleElement", - "goalCompletionText", - "dateRangeStart", - "dateRangeEnd" - ], - "properties": { - "title": { - "type": "string" - }, - "avatarUrl": { - "type": "string" - }, - "bufferTime": { - "type": "integer" - }, - "icsFileUrl": { - "type": "string" - }, - "timezoneCode": { - "type": "string" - }, - "duration": { - "type": "integer" - }, - "scheduleElement": { - "required": [ - "action", - "elementId", - "buttonText", - "elementType", - "disableAfterInteracted" - ], - "properties": { - "action": { - "required": [ - "url", - "actionType", - "method", - "dataKey", - "headers", - "payload" - ], - "properties": { - "url": { - "type": "string" - }, - "actionType": { - "type": "string" - }, - "method": { - "type": "string" - }, - "dataKey": { - "type": "string" - }, - "headers": { - "type": "object" - }, - "payload": { - "required": [ - "data", - "type", - "category", - "receiver", - "receiverType" - ], - "properties": { - "data": { - "properties": { - "text": { - "type": "string" - } - }, - "type": "object" - }, - "type": { - "type": "string" - }, - "category": { - "type": "string" - }, - "receiver": { - "type": "string" - }, - "receiverType": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "elementId": { - "type": "string" - }, - "buttonText": { - "type": "string" - }, - "elementType": { - "type": "string" - }, - "disableAfterInteracted": { - "type": "boolean" - } - }, - "type": "object" - }, - "goalCompletionText": { - "type": "string" - }, - "dateRangeStart": { - "type": "string", - "format": "date" - }, - "dateRangeEnd": { - "type": "string", - "format": "date" - } - }, - "type": "object" + "blockedUids": { + "description": "UIDs of the users to be blocked", + "type": "array", + "items": { + "type": "string" } + } }, "type": "object" - }, - "ScopePermissionSchema": { - "description": "Scope permission details", - "properties": { - "scope": { - "description": "Scope identifier", - "type": "string", - "example": "users" - }, - "permissions": { - "description": "List of permissions available for this scope", - "type": "array", - "items": { - "properties": { - "permission": { - "description": "Permission identifier", - "type": "string", - "example": "read" - }, - "description": { - "description": "Permission description", - "type": "string", - "example": "View user information" - } - }, - "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Blocked user", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "type": "object" } + }, + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "SentenceSimilaritySchema": { + "example": { + "data": { + "cometchat-uid-4": { + "success": true, + "message": "The user with UID cometchat-uid-1 has blocked user with UID cometchat-uid-3 successfully." + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Blocked Users" + ], + "summary": "Unblock User", + "operationId": "unblock-users", + "description": "Unblocks the specified user", + "parameters": [ + { + "name": "uid", + "in": "path", + "description": "An UID of a user.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "UID", + "value": "cometchat-uid-1" + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { "required": [ - "category", - "disallowedSentences" + "blockedUids" ], "properties": { - "file": { - "description": "CSV file containing the keywords or regex patterns for the list.", - "type": "string", - "format": "binary" - }, - "id": { - "description": "Unique identifier for the keyword list.", - "type": "string", - "example": "ID-of-the-sentences-list" - }, - "name": { - "description": "Descriptive name for the keyword list.", - "type": "string", - "example": "Name of the sentences list" - }, - "description": { - "description": "Detailed explanation of the keyword list's purpose.", - "type": "string", - "example": "Description of the sentences list" - }, - "category": { - "$ref": "#/components/schemas/CategoryType" - }, - "disallowedSentences": { - "description": "Comma-separated sentences that are disallowed if the category is 'sentence-similarity'.", - "type": "array", - "items": { - "type": "string" - }, - "example": [ - "Hello, let's connect on Whatsapp." - ] + "blockedUids": { + "description": "UIDs of the users to be unblock", + "type": "array", + "items": { + "type": "string" } + } }, "type": "object" - }, - "ServiceAccountCreds": { - "properties": { - "project_id": { - "type": "string" - }, - "client_email": { - "type": "string" - }, - "private_key": { - "type": "string" - }, - "private_key_id": { - "type": "string" + } + } + } + }, + "responses": { + "200": { + "description": "Blocked user", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "type": "object" + } + }, + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "SetRolePermissionSchema": { - "description": "Set role permission response", - "properties": { - "role": { - "description": "Role identifier", - "type": "string", - "example": "default" - }, - "permissions": { - "description": "Permissions configuration for the role", - "type": "object", - "example": { - "createGroup": "allow", - "listUsers.mode": "friends", - "createGroup.allowedGroupTypes": [ - "public" - ] - }, - "additionalProperties": true - }, - "updatedAt": { - "description": "Timestamp when permissions were last updated", - "type": "integer", - "example": 1640000000 + "example": { + "data": { + "cometchat-uid-4": { + "success": true, + "message": "The user with UID cometchat-uid-1 has blocked user with UID cometchat-uid-3 successfully." } - }, - "type": "object" - }, - "SetScopePermissionSchema": { - "description": "Set scope permission response", - "properties": { - "guid": { - "description": "Group identifier", - "type": "string", - "example": "supergroup" - }, - "scope": { - "description": "Scope identifier", - "type": "string", - "example": "admin" - }, - "permissions": { - "description": "Permissions configuration for the scope", - "type": "object", - "example": { - "sendMessage": "deny", - "initiateCall": "friends" - }, - "additionalProperties": true + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "get": { + "tags": [ + "Blocked Users" + ], + "summary": "List Blocked Users", + "operationId": "list-blocked-users", + "description": "Retrieves the blocked users", + "parameters": [ + { + "name": "uid", + "in": "path", + "description": "An UID of a user.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "UID", + "value": "cometchat-uid-1" + } + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of blocked users to return per page.", + "schema": { + "type": "number", + "default": 100 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number for paginated results.", + "schema": { + "type": "number", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "Blocked user", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/userSchema" + }, + { + "$ref": "#/components/schemas/blockedUserSchema" + } + ] + } }, - "updatedAt": { - "description": "Timestamp when permissions were last updated", - "type": "integer", - "example": 1640000000 + "meta": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "SilentNotification": { - "properties": { - "chat": { - "type": "boolean" + "example": { + "data": [ + { + "uid": "cometchat-uid-6", + "name": "Barry Allen", + "link": "https://cometchat.com", + "avatar": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "metadata": { + "rawMetadata": "{'gender':'Male'}" + }, + "status": "offline", + "role": "manager", + "blockedByMe": true, + "blockedByMeAt": 1638346853, + "blockedAt": 1638346853, + "createdAt": 1629869270, + "updatedAt": 1638351060, + "conversationId": "cometchat-uid-3_user_cometchat-uid-4" + }, + { + "uid": "cometchat-uid-2", + "name": "George Alan", + "link": "https://cometchat.com", + "avatar": "https://assets.cometchat.io/sampleapp/v2/groups/cometchat-guid-1.webp", + "metadata": { + "rawMetadata": "{'gender':'Male'}" + }, + "status": "offline", + "role": "manager", + "blockedByMe": true, + "blockedByMeAt": 1638346853, + "blockedAt": 1638346853, + "createdAt": 1629869270, + "updatedAt": 1638351060, + "conversationId": "cometchat-uid-1_user_cometchat-uid-2" + } + ], + "meta": { + "pagination": { + "total": 0, + "count": 5, + "per_page": 100, + "current_page": 1, + "total_pages": 1 }, - "call": { - "type": "boolean" + "cursor": { + "updatedAt": 1638354799, + "affix": "prepend" } - }, - "type": "object" - }, - "Sound": { + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/roles": { + "post": { + "tags": [ + "Roles" + ], + "summary": "Create", + "description": "Creates a new user role", + "operationId": "create-role", + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": [ + "role", + "name" + ], "properties": { - "chat": { - "type": "string" - }, - "call": { - "type": "string" - } + "role": { + "description": "A unique identifier for the role.", + "type": "string", + "default": "" + }, + "name": { + "description": "Friendly name of the role.", + "type": "string", + "default": "" + }, + "description": { + "description": "Description of the role.", + "type": "string", + "default": "" + }, + "metadata": { + "description": "Addition information about the role as JSON.", + "type": "object" + }, + "settings": { + "description": "Role settings that is used for restricting list users/send message. Possible values for listUsers & sendMessagesTo are all and friendsOnly", + "type": "object" + } }, "type": "object" - }, - "Template": { - "properties": { - "titleOneOnOne": { - "type": "string", - "example": "{{message.data.entities.sender.entity.name}}" - }, - "titleGroup": { - "type": "string", - "example": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}" - }, - "body": { - "type": "string", - "example": "New text message" + } + } + } + }, + "responses": { + "200": { + "description": "Created a new Role", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "Templates": { - "properties": { - "usePrivacyTemplate": { - "description": "1: Use default templates\n2: Use privacy templates\n3: Use default templates with end-user privacy override", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "textMessageTemplateDefault": { - "$ref": "#/components/schemas/Template" - }, - "textMessageTemplatePrivacy": { - "$ref": "#/components/schemas/Template" - }, - "mediaMessageTemplateDefault": { - "$ref": "#/components/schemas/MediaMessageTemplate" - }, - "mediaMessageTemplatePrivacy": { - "$ref": "#/components/schemas/MediaMessageTemplate" - }, - "customMessageTemplateDefault": { - "allOf": [ - { - "properties": { - "body_fallback": { - "type": "string" - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/Template" - } - ] - }, - "customMessageTemplatePrivacy": { - "allOf": [ - { - "properties": { - "body_fallback": { - "type": "string" - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/Template" - } - ] - }, - "interactiveFormTemplateDefault": { - "$ref": "#/components/schemas/Template" - }, - "interactiveFormTemplatePrivacy": { - "$ref": "#/components/schemas/Template" - }, - "interactiveCardTemplateDefault": { - "$ref": "#/components/schemas/Template" - }, - "interactiveCardTemplatePrivacy": { - "$ref": "#/components/schemas/Template" - }, - "interactiveSchedulerTemplateDefault": { - "$ref": "#/components/schemas/Template" - }, - "interactiveSchedulerTemplatePrivacy": { - "$ref": "#/components/schemas/Template" - }, - "interactiveCustomTemplateDefault": { - "$ref": "#/components/schemas/Template" - }, - "interactiveCustomTemplatePrivacy": { - "$ref": "#/components/schemas/Template" - }, - "emailSubjectTemplateDefault": { - "properties": { - "subjectGroup": { - "type": "string", - "example": "While you were away..." - }, - "subjectOneOnOne": { - "type": "string", - "example": "While you were away..." - } - }, - "type": "object" + "example": { + "data": { + "role": "manager", + "name": "manager", + "description": "This role gives an update access", + "metadata": { + "email": "managers@gmail.com" }, - "emailSubjectTemplatePrivacy": { - "properties": { - "subjectGroup": { - "type": "string", - "example": "While you were away..." - }, - "subjectOneOnOne": { - "type": "string", - "example": "While you were away..." - } - }, - "type": "object" + "settings": { + "listUsers": "all", + "sendMessagesTo": "friendsOnly" }, - "smsContentTemplateDefault": { + "createdAt": 1638343994 + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "get": { + "tags": [ + "Roles" + ], + "summary": "List", + "description": "Lists the user roles", + "operationId": "list-roles", + "parameters": [ + { + "name": "perPage", + "in": "query", + "description": "Number of roles to return per page.", + "schema": { + "type": "number", + "default": 100 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number for paginated results.", + "schema": { + "type": "number", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "Lists the user roles", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", "properties": { - "bodyGroup": { - "type": "string", - "example": "You've received new messages in {{groupDetails.name}}! You can read the message at https://your-website.com." - }, - "bodyOneOnOne": { - "type": "string", - "example": "You've received new messages from {{sender.name}}! You can read the message at https://your-website.com." - } - }, - "type": "object" + "role": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "metadata": { + "type": "object" + }, + "settings": { + "type": "object" + }, + "createdAt": { + "type": "integer" + } + } + } }, - "smsContentTemplatePrivacy": { - "properties": { - "bodyGroup": { - "type": "string", - "example": "You've received new messages in {{groupDetails.name}}! You can read the message at https://your-website.com." - }, - "bodyOneOnOne": { - "type": "string", - "example": "You've received new messages from {{sender.name}}! You can read the message at https://your-website.com." - } - }, - "type": "object" + "meta": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "TimeRange": { - "required": [ - "from", - "to" - ], - "properties": { - "from": { - "type": "string" - }, - "to": { - "type": "string" + "example": { + "data": [ + { + "role": "manager", + "name": "manager", + "description": "This role gives an update access", + "metadata": { + "email": "managers@gmail.com" + }, + "settings": { + "listUsers": "all", + "sendMessagesTo": "friendsOnly" + }, + "createdAt": 1638343994 + }, + { + "role": "default", + "name": "Default Role", + "description": "This role gives full access ", + "createdAt": 1629869270, + "updatedAt": 1630306291 + } + ], + "meta": { + "pagination": { + "total": 2, + "count": 2, + "per_page": 100, + "current_page": 1, + "total_pages": 1 + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/roles/{role}": { + "get": { + "tags": [ + "Roles" + ], + "summary": "Get", + "description": "Retrieves role details for a given role.", + "operationId": "get-role", + "parameters": [ + { + "name": "role", + "in": "path", + "description": "A role to get.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Role", + "value": "default" + } + } + } + ], + "responses": { + "200": { + "description": "Fetched the role", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "UnsetRolePermissionSchema": { - "description": "Unset role permission response", - "properties": { - "role": { - "description": "Role identifier", - "type": "string", - "example": "default" - }, - "permission": { - "description": "The permission key that was removed", - "type": "string", - "example": "listUsers.mode" + "example": { + "data": { + "role": "manager", + "name": "manager", + "description": "This role gives an update access", + "metadata": { + "email": "managers@gmail.com" }, - "status": { - "description": "Status of the operation", - "type": "string", - "example": "removed" + "settings": { + "listUsers": "all", + "sendMessagesTo": "friendsOnly" }, - "updatedAt": { - "description": "Timestamp when permission was removed", - "type": "integer", - "example": 1640000000 - } + "createdAt": 1638343994 + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "put": { + "tags": [ + "Roles" + ], + "summary": "Update", + "description": "Updates a given role.", + "operationId": "update-role", + "parameters": [ + { + "name": "role", + "in": "path", + "description": "A role to update.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Role", + "value": "default" + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "name": { + "description": "Friendly name of the role.", + "type": "string", + "default": "" + }, + "description": { + "description": "Description of the role.", + "type": "string", + "default": "" + }, + "metadata": { + "description": "Additional information about the role.", + "type": "object", + "default": { + "email": "admin@yourcompany.com" + } + }, + "unset": { + "description": "The unsettable role attributes are settings, description and metadata.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "settings", + "description", + "metadata" + ], + "description": "Group attributes that can be unset." + }, + "default": [] + }, + "settings": { + "description": "Role settings that is used for restricting list users/send message. Possible values for listUsers & sendMessagesTo are all and friendsOnly", + "type": "object", + "default": [] + } }, "type": "object" - }, - "UnsetScopePermissionSchema": { - "description": "Unset scope permission response", - "properties": { - "guid": { - "description": "Group identifier", - "type": "string", - "example": "supergroup" - }, - "scope": { - "description": "Scope identifier", - "type": "string", - "example": "admin" - }, - "permission": { - "description": "The permission key that was removed", - "type": "string", - "example": "sendMessage" - }, - "status": { - "description": "Status of the operation", - "type": "string", - "example": "removed" - }, - "updatedAt": { - "description": "Timestamp when permission was removed", - "type": "integer", - "example": 1640000000 + } + } + } + }, + "responses": { + "200": { + "description": "Updated Role", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "UserFilter": { - "required": [ - "entity", - "operand", - "operator", - "value", - "type" - ], - "properties": { - "type": { - "description": "Type of the filter, specifying sender or receiver", - "type": "string", - "enum": [ - "sender", - "receiver" - ], - "example": "sender" - }, - "entity": { - "description": "Type of entity for user filter", - "type": "string", - "enum": [ - "user" - ] - }, - "operand": { - "description": "Field to apply the filter on for 'user'", - "type": "string", - "enum": [ - "uid", - "name", - "role", - "tags", - "createdAt" - ] + "example": { + "data": { + "role": "manager", + "name": "manager", + "description": "This role gives an update access", + "metadata": { + "email": "managers@gmail.com" }, - "operator": { - "description": "Operator to use for filtering", - "type": "string", - "enum": [ - "equals", - "not equals", - "in", - "not in", - "startsWith" - ], - "example": "equals" + "settings": { + "listUsers": "all", + "sendMessagesTo": "friendsOnly" }, - "value": { - "description": "Value for the filter", - "type": "string", - "example": "admin" + "createdAt": 1638343994 + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Roles" + ], + "summary": "Delete", + "description": "Deletes a role.", + "operationId": "delete-role", + "parameters": [ + { + "name": "role", + "in": "path", + "description": "A role to delete.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Role", + "value": "default" + } + } + } + ], + "responses": { + "200": { + "description": "Deleted Role", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "WordPatternSchema": { + "example": { + "data": { + "success": true, + "message": "Role manager has been deleted successfully." + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/roles/{role}/restrictedfeatures": { + "post": { + "tags": [ + "Restrict Features" + ], + "summary": "Restrict Features", + "description": "Restrict Features for a given role.", + "operationId": "restrict-features", + "parameters": [ + { + "name": "role", + "in": "path", + "description": "A role to which features to be restricted.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Role", + "value": "default" + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { "required": [ - "category", - "searchTerms" + "featuresToRestrict" ], "properties": { - "file": { - "description": "CSV file containing the keywords or regex patterns for the list.", - "type": "string", - "format": "binary" - }, - "id": { - "description": "Unique identifier for the word list.", - "type": "string", - "example": "ID-of-the-word-list" - }, - "name": { - "description": "Descriptive name for the word list.", - "type": "string", - "example": "Name of the word list" + "featuresToRestrict": { + "description": "Keys of the features to be restricted.", + "type": "array", + "items": { + "type": "string" }, - "description": { - "description": "Detailed explanation of the word list's purpose.", - "type": "string", - "example": "Description of the word list" - }, - "category": { - "$ref": "#/components/schemas/CategoryType" - }, - "searchTerms": { - "description": "Comma-separated values of keywords or regex patterns if no file is provided.", - "type": "string", - "example": "AI-powered video moderation to detect unsafe content." - } + "default": "" + } }, "type": "object" - }, - "authTokenSchema": { - "description": "Response data", - "properties": { - "uid": { - "type": "string" - }, - "authToken": { - "type": "string" - }, - "createdAt": { - "type": "integer" + } + } + } + }, + "responses": { + "200": { + "description": "Restricts Features", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "u.listUsers": { + "type": "object" + } + }, + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "bannedUserSchema": { - "description": "Response data", - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "role": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "isBanned": { - "type": "boolean" - }, - "joinedAt": { - "type": "integer" + "example": { + "data": { + "u.listUsers": { + "success": true, + "message": "The feature u.listUsers has been restricted successfully." + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "get": { + "tags": [ + "Restrict Features" + ], + "summary": "List Restricted Features", + "description": "List all restricted features for a given role.", + "operationId": "get-restrictedfeatures", + "parameters": [ + { + "name": "role", + "in": "path", + "description": "A role for which features are restricted.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Role", + "value": "default" + } + } + } + ], + "responses": { + "200": { + "description": "Lists Restricted Features", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "properties": { + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "key": { + "type": "string" + }, + "path": { + "type": "string" + }, + "createdAt": { + "type": "integer" + } + }, + "type": "object" + } }, - "createdAt": { - "type": "integer" + "meta": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "blockedUserSchema": { - "description": "Response data", - "properties": { - "blockedByMe": { - "type": "boolean" - }, - "blockedByMeAt": { - "type": "integer" - }, - "blockedAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" + "example": { + "data": [ + { + "title": "Delete Group", + "description": "Allows logged-in user to delete a group.", + "key": "u.deleteGroup", + "path": "/v3/groups/{{guid}}", + "createdAt": 1639448370 }, - "conversationId": { - "type": "string" + { + "title": "List Users", + "description": "Allows logged-in user to fetch the user list.", + "key": "u.listUsers", + "path": "/v3/users", + "createdAt": 1639448370 + } + ], + "meta": { + "pagination": { + "total": 2, + "count": 2, + "per_page": 100, + "current_page": 1, + "total_pages": 1 } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Restrict Features" + ], + "summary": "Allow Features", + "description": "Allow features access for a given role.", + "operationId": "allow-features", + "parameters": [ + { + "name": "role", + "in": "path", + "description": "A role to which allow features.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Role", + "value": "default" + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "featuresToAllow": { + "description": "keys of the features to be allowed.", + "type": "array", + "items": { + "type": "string" + }, + "default": "" + }, + "allowAll": { + "description": "All features to be allowed.", + "type": "boolean", + "default": "" + } }, "type": "object" - }, - "conversationSchema": { - "description": "Response data", + } + } + } + }, + "responses": { + "200": { + "description": "Allows Restricted Features", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "success": true, + "message": "The feature has been allowed successfully." + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/messages/{id}/thread": { + "post": { + "tags": [ + "Messages" + ], + "summary": "Send Threaded Message", + "description": "Sends Threaded Message on behalf of a user.", + "operationId": "send-thread-message", + "parameters": [ + { + "$ref": "#/components/parameters/requiredonBehalfOf" + }, + { + "name": "id", + "in": "path", + "description": "Id of the message for which thread message to be sent", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Message ID", + "value": "100" + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { "properties": { - "conversationId": { - "type": "string" - }, - "conversationType": { - "type": "string" - }, - "unreadMessageCount": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "lastMessage": { - "properties": { - "id": { - "type": "string" - }, - "conversationId": { - "type": "string" - }, - "sender": { - "type": "string" - }, - "receiverType": { - "type": "string" - }, - "receiver": { - "type": "string" - }, - "category": { - "type": "string" - }, - "type": { - "type": "string" - }, - "data": { - "type": "object", - "allOf": [ - { - "properties": { - "action": { - "type": "string" - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/objectEntitySchema" - } - ] - }, - "sentAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "receipts": { - "properties": { - "data": { - "type": "array", - "items": {} - } - }, - "type": "object" - } + "receiver": { + "description": "The receiver of the message.", + "type": "string" + }, + "receiverType": { + "description": "The receiverType of the message. either user or group", + "type": "string", + "enum": [ + "user", + "group" + ] + }, + "category": { + "description": "Category of the message. The available categories are message and custom.", + "type": "string", + "default": "message", + "enum": [ + "message", + "custom" + ] + }, + "type": { + "description": "Type of the message. The available values are text, image, file, audio, video.", + "type": "string", + "default": "text", + "enum": [ + "text", + "image", + "file", + "audio", + "video" + ] + }, + "data": { + "description": "JSON containing message attributes.", + "type": "object", + "default": { + "text": "Hi Tom!", + "metadata": { + "key1": "value1", + "key2": "value2" + } + } + }, + "multipleReceivers": { + "description": "JSON containing array of UIDs and GUID for whom the message must be sent. Format for multiple receivers - {\"uids\": [\"uid1\",\"uid2\"], \"guids\":[\"guid1\"]}", + "type": "object", + "default": { + "uids": [ + "uid1", + "uid2" + ], + "guids": [ + "guid1" + ] + } + }, + "tags": { + "description": "A list of tags to identify specific messages.", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "tag1" + ] + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Create Message", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object", + "allOf": [ + { + "properties": { + "parentId": { + "readOnly": false + } + }, + "type": "object" }, - "type": "object" - }, - "conversationWith": { - "type": "object" + { + "$ref": "#/components/schemas/messageSchema" + } + ] } + }, + "type": "object" }, - "type": "object" - }, - "conversationWithSchema": { - "properties": { - "guid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "type": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "membersCount": { - "type": "integer" - }, - "joinedAt": { - "type": "integer" - }, - "conversationId": { - "type": "string" - }, - "hasJoined": { - "type": "boolean", - "default": "true" - }, - "createdAt": { - "type": "integer" - }, - "owner": { - "type": "string" - }, - "updatedAt": { - "type": "integer" + "example": { + "data": { + "id": "2", + "conversationId": "cometchat-uid-3_user_cometchat-uid-5", + "sender": "cometchat-uid-3", + "receiverType": "user", + "receiver": "cometchat-uid-5", + "category": "message", + "type": "text", + "data": { + "text": "test hello", + "metadata": { + "key1": "val1" + }, + "entities": { + "sender": { + "entity": { + "uid": "cometchat-uid-3", + "name": "Nancy Grace", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-3.webp", + "status": "offline", + "role": "default", + "createdAt": 1638361550 + }, + "entityType": "user" + }, + "receiver": { + "entity": { + "uid": "cometchat-uid-5", + "name": "John Paul", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-5.webp", + "status": "offline", + "role": "default", + "createdAt": 1638361550, + "conversationId": "cometchat-uid-3_user_cometchat-uid-5" + }, + "entityType": "user" + } + } + }, + "sentAt": 1638423490, + "updatedAt": 1638423490, + "parentId": "1" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "get": { + "tags": [ + "Messages" + ], + "summary": "List Threaded Messages", + "description": "Fetches the messages list of a thread.", + "operationId": "list-all-thread-messages", + "parameters": [ + { + "$ref": "#/components/parameters/onBehalfOf" + }, + { + "name": "id", + "in": "path", + "description": "Id of the message whose thread messages are to be fetched.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Message ID", + "value": "100" + } + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of threaded messages to return per page.", + "schema": { + "type": "number", + "default": 100 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number for paginated results.", + "schema": { + "type": "number", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "Create Message", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "allOf": [ + { + "properties": { + "parentId": { + "readOnly": false + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/messageSchema" + } + ] + } }, - "updatedBy": { - "type": "string" + "meta": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "createApnsProvider": { - "properties": { - "providerId": { - "type": "string" - }, - "keyId": { - "type": "string" - }, - "teamId": { - "type": "string" - }, - "bundleId": { - "type": "string" - }, - "p8KeyFilename": { - "type": "string" - }, - "p8Key": { - "type": "string" - }, - "includeContentAvailable": { - "type": "boolean" + "example": { + "data": [ + { + "id": "2", + "conversationId": "cometchat-uid-3_user_cometchat-uid-5", + "sender": "cometchat-uid-3", + "receiverType": "user", + "receiver": "cometchat-uid-5", + "category": "message", + "type": "text", + "data": { + "text": "test hello", + "entities": { + "sender": { + "entity": { + "uid": "cometchat-uid-3", + "name": "Nancy Grace", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-3.webp", + "status": "offline", + "createdAt": 1638361550 + }, + "entityType": "user" + }, + "receiver": { + "entity": { + "uid": "cometchat-uid-5", + "name": "John Paul", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-5.webp", + "status": "offline", + "createdAt": 1638361550, + "conversationId": "cometchat-uid-3_user_cometchat-uid-5" + }, + "entityType": "user" + } + }, + "metadata": { + "key1": "val1" + } + }, + "sentAt": 1638423490, + "updatedAt": 1638423490, + "parentId": "1" + } + ], + "meta": { + "current": { + "limit": 10, + "count": 1 }, - "includeMutableContent": { - "type": "boolean" + "next": { + "affix": "append", + "sentAt": 1638423490, + "id": "3" + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/users/{uid}/messages": { + "get": { + "tags": [ + "Messages" + ], + "summary": "List User Messages", + "description": "Fetches messages between onBehalfOfuid and an uid from path param.", + "operationId": "user-list-user-messages", + "parameters": [ + { + "$ref": "#/components/parameters/onBehalfOf" + }, + { + "$ref": "#/components/parameters/uid" + }, + { + "name": "searchKey", + "in": "query", + "description": "searches for occurence of message.", + "schema": { + "type": "string" + } + }, + { + "name": "hasAttachments", + "in": "query", + "description": "Fetches messages that include attachments.", + "schema": { + "type": "boolean" + } + }, + { + "name": "attachmentTypes", + "in": "query", + "description": "Displays messages according to the type of attachment. Supported types include: image, video, audio, and file.", + "schema": { + "type": "string", + "enum": [ + "image", + "video", + "audio", + "file" + ], + "description": "Media message type." + } + }, + { + "name": "hasMentions", + "in": "query", + "description": "Fetches messages that include mentions.", + "schema": { + "type": "boolean" + } + }, + { + "name": "hasLinks", + "in": "query", + "description": "Fetches messages that include links.", + "schema": { + "type": "boolean" + } + }, + { + "name": "mentionedUids", + "in": "query", + "description": "Fetches messages that include the mentioned comma-separated UIDs.", + "schema": { + "type": "boolean" + } + }, + { + "name": "unread", + "in": "query", + "description": "displays all the unread messages of the user.", + "schema": { + "type": "boolean" + } + }, + { + "name": "undelivered", + "in": "query", + "description": "displays all the messages those are undelivered.", + "schema": { + "type": "boolean" + } + }, + { + "name": "count", + "in": "query", + "description": "displays the count of messages as per group/user", + "schema": { + "type": "boolean" + } + }, + { + "name": "hideReplies", + "in": "query", + "description": "Shows only messages skipping the replies in the message thread.", + "schema": { + "type": "boolean" + } + }, + { + "name": "affix", + "in": "query", + "description": "Determines whether to pull the messages either before or after any message id. Possible values are append(after) and prepend(before).", + "schema": { + "type": "string", + "enum": [ + "append", + "prepend" + ], + "description": "Cursor pagination direction." + } + }, + { + "name": "id", + "in": "query", + "description": "Retrieves all those messages after the passed id.", + "schema": { + "type": "string" + } + }, + { + "name": "category", + "in": "query", + "description": "Fetches messages that belongs to specific category.", + "schema": { + "type": "string" + } + }, + { + "name": "categories", + "in": "query", + "description": "Fetches messages that contains multiple categories.", + "schema": { + "type": "array", + "items": {} + } + }, + { + "name": "type", + "in": "query", + "description": "Fetches messages that belongs to a specific type.", + "schema": { + "type": "string" + } + }, + { + "name": "types", + "in": "query", + "description": "Fetches messages with multiple types.", + "schema": { + "type": "array", + "items": {} + } + }, + { + "name": "myMentionsOnly", + "in": "query", + "description": "Filters messages with mentions for the UID in onBehalfOf header.", + "schema": { + "type": "boolean", + "default": "false" + } + }, + { + "name": "hasReactions", + "in": "query", + "description": "Filters messages sent by a the uid given in sender query param and has reactions. If onBehalfOf header is also set then the messages from their common conversations will be filtered.", + "schema": { + "type": "boolean", + "default": "false" + } + }, + { + "name": "sender", + "in": "query", + "description": "Filters messages with sender. If onBehalfOf header is also set then the messages from their common conversations will be filtered.", + "schema": { + "type": "string" + } + }, + { + "name": "mentionsWithBlockedInfo", + "in": "query", + "description": "For the mentioned users, provides blocked information with respect to the UID in onBehalfOf header.", + "schema": { + "type": "boolean", + "default": "false" + } + }, + { + "name": "mentionsWithTagInfo", + "in": "query", + "description": "Provides user tags for the mentioned users.", + "schema": { + "type": "boolean", + "default": "false" + } + }, + { + "name": "perPage", + "in": "query", + "description": "The number of records to fetch. Minimum value: 1, Maximum value: 1000", + "schema": { + "type": "integer", + "default": "100" + } + }, + { + "name": "limit", + "in": "query", + "description": "The number of records to fetch. Minimum value: 1, Maximum value: 1000 (works alongside onBehalfOf header)", + "schema": { + "type": "integer", + "default": "10" + } + }, + { + "name": "fromTimestamp", + "in": "query", + "description": "Fetches the messages from this timestamp.", + "schema": { + "type": "integer" + } + }, + { + "name": "toTimestamp", + "in": "query", + "description": "Fetches the messages till this timestamp.", + "schema": { + "type": "integer" + } + }, + { + "name": "withTags", + "in": "query", + "description": "This will fetch messages along with the tags.", + "schema": { + "type": "boolean" + } + }, + { + "name": "tags", + "in": "query", + "description": "This will fetch only those messages belonging to the mentioned tags.", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Get User Messages", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "conversationId": { + "type": "string" + }, + "sender": { + "type": "string" + }, + "receiverType": { + "type": "string" + }, + "receiver": { + "type": "string" + }, + "category": { + "type": "string" + }, + "type": { + "type": "string" + }, + "data": { + "type": "object" + }, + "sentAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + } + } + } }, - "productionMode": { - "type": "boolean" + "meta": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "customCategorySchema": { - "properties": { - "receiver": { - "description": "The receiver of the message.", - "type": "string" - }, - "muid": { - "description": "The muid will be a unique Identifier of the message.", - "type": "string" - }, - "receiverType": { - "description": "The receiverType of the message. either user or group", - "type": "string", - "enum": [ - "user", - "group" - ] - }, - "category": { - "description": "Category of the message. The available categories is custom.", - "type": "string", - "default": "custom", - "enum": [ - "custom" - ] - }, - "quotedMessageId": { - "description": "ID of the message being quoted.\nIf provided, the send message response will include a `quotedMessage` node\nin the response containing the referenced message object.", - "type": "string", - "default": "message", - "enum": [ - "message" - ] - }, - "type": { - "description": "Type of the message.", - "type": "string" + "example": { + "data": [ + { + "id": "1776", + "conversationId": "cometchat-uid-2_user_cometchat-uid-3", + "sender": "cometchat-uid-2", + "receiverType": "user", + "receiver": "cometchat-uid-3", + "category": "call", + "type": "audio", + "data": { + "action": "initiated", + "entities": { + "by": { + "entity": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "status": "offline" + }, + "entityType": "user" + }, + "on": { + "entity": { + "data": { + "entities": { + "sender": { + "entity": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "status": "offline" + }, + "entityType": "user" + }, + "receiver": { + "entity": { + "uid": "cometchat-uid-3", + "name": "Nancy Grace", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-3.webp", + "status": "offline", + "conversationId": "cometchat-uid-2_user_cometchat-uid-3" + }, + "entityType": "user" + } + }, + "metadata": { + "key": { + "one": "two" + } + } + }, + "type": "audio", + "sender": "cometchat-uid-2", + "status": "initiated", + "joinedAt": 1646995097, + "receiver": "cometchat-uid-3", + "sessionid": "16469950973f7f6a1ea6d5166db11c929cdbde6a61902e10ba", + "wsChannel": { + "secret": "083c2a7f660150e42c2bf07a17231e90980b290d", + "service": "19757e59e8b9669.call", + "identity": "[19757e59e8b9669]16469950973f7f6a1ea6d5166db11c929cdbde6a61902e10ba" + }, + "initiatedAt": 1646995097, + "receiverType": "user", + "conversationId": "cometchat-uid-2_user_cometchat-uid-3" + }, + "entityType": "call" + }, + "for": { + "entity": { + "uid": "cometchat-uid-3", + "name": "Nancy Grace", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-3.webp", + "status": "offline", + "conversationId": "cometchat-uid-2_user_cometchat-uid-3" + }, + "entityType": "user" + } + } + }, + "sentAt": 1646995097, + "updatedAt": 1646995097 + }, + { + "id": "1777", + "conversationId": "cometchat-uid-2_user_cometchat-uid-3", + "sender": "cometchat-uid-3", + "receiverType": "user", + "receiver": "cometchat-uid-2", + "category": "call", + "type": "video", + "data": { + "action": "ongoing", + "entities": { + "by": { + "entity": { + "uid": "cometchat-uid-3", + "name": "Nancy Grace", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-3.webp", + "status": "offline" + }, + "entityType": "user" + }, + "on": { + "entity": { + "data": { + "entities": { + "sender": { + "entity": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "status": "offline" + }, + "entityType": "user" + }, + "receiver": { + "entity": { + "uid": "cometchat-uid-3", + "name": "Nancy Grace", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-3.webp", + "status": "offline", + "conversationId": "cometchat-uid-2_user_cometchat-uid-3" + }, + "entityType": "user" + } + }, + "metadata": { + "key": { + "one": "two" + } + } + }, + "type": "video", + "sender": "cometchat-uid-2", + "status": "ongoing", + "joinedAt": 1646995512, + "receiver": "cometchat-uid-3", + "sessionid": "16469950973f7f6a1ea6d5166db11c929cdbde6a61902e10ba", + "startedAt": 1646995512, + "wsChannel": { + "secret": "083c2a7f660150e42c2bf07a17231e90980b290d", + "service": "19757e59e8b9669.call", + "identity": "[19757e59e8b9669]16469950973f7f6a1ea6d5166db11c929cdbde6a61902e10ba" + }, + "initiatedAt": 1646995097, + "receiverType": "user", + "conversationId": "cometchat-uid-2_user_cometchat-uid-3" + }, + "entityType": "call" + }, + "for": { + "entity": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "status": "offline", + "conversationId": "cometchat-uid-2_user_cometchat-uid-3" + }, + "entityType": "user" + } + } + }, + "sentAt": 1646995512, + "updatedAt": 1646995512 + } + ], + "meta": { + "pagination": { + "total": 0, + "count": 2, + "per_page": 100, + "current_page": 1, + "total_pages": 1 }, + "cursor": { + "id": 1786, + "affix": "prepend" + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/groups/{guid}/messages": { + "get": { + "tags": [ + "Messages" + ], + "summary": "List Group Messages", + "description": "Fetches the group message list for a user.", + "operationId": "user-list-group-messages", + "parameters": [ + { + "$ref": "#/components/parameters/onBehalfOf" + }, + { + "$ref": "#/components/parameters/guid" + }, + { + "name": "searchKey", + "in": "query", + "description": "searches for occurence of message.", + "schema": { + "type": "string" + } + }, + { + "name": "hasAttachments", + "in": "query", + "description": "Fetches messages that include attachments.", + "schema": { + "type": "boolean" + } + }, + { + "name": "attachmentTypes", + "in": "query", + "description": "Displays messages according to the type of attachment. Supported types include: image, video, audio, and file.", + "schema": { + "type": "string", + "enum": [ + "image", + "video", + "audio", + "file" + ], + "description": "Media message type." + } + }, + { + "name": "hasMentions", + "in": "query", + "description": "Fetches messages that include mentions.", + "schema": { + "type": "boolean" + } + }, + { + "name": "hasLinks", + "in": "query", + "description": "Fetches messages that include links.", + "schema": { + "type": "boolean" + } + }, + { + "name": "mentionedUids", + "in": "query", + "description": "Fetches messages that include the mentioned comma-separated UIDs.", + "schema": { + "type": "boolean" + } + }, + { + "name": "unread", + "in": "query", + "description": "displays all the unread messages of the user.", + "schema": { + "type": "boolean" + } + }, + { + "name": "undelivered", + "in": "query", + "description": "displays all the messages those are undelivered.", + "schema": { + "type": "boolean" + } + }, + { + "name": "count", + "in": "query", + "description": "displays the count of messages as per group/user", + "schema": { + "type": "boolean" + } + }, + { + "name": "hideMessagesFromBlockedUsers", + "in": "query", + "description": "Hides the messages from blocked users in group.", + "schema": { + "type": "boolean" + } + }, + { + "name": "hideReplies", + "in": "query", + "description": "Shows only messages skipping the replies in the message thread.", + "schema": { + "type": "boolean" + } + }, + { + "name": "affix", + "in": "query", + "description": "Determines whether to pull the messages either before or after any message id. Possible values are append(after) and prepend(before).", + "schema": { + "type": "string", + "enum": [ + "append", + "prepend" + ], + "description": "Cursor pagination direction." + } + }, + { + "name": "id", + "in": "query", + "description": "Retrieves all those messages after the passed id.", + "schema": { + "type": "string" + } + }, + { + "name": "category", + "in": "query", + "description": "Fetches messages that belongs to specific category.", + "schema": { + "type": "string" + } + }, + { + "name": "categories", + "in": "query", + "description": "Fetches messages that contains multiple categories.", + "schema": { + "type": "array", + "items": {} + } + }, + { + "name": "type", + "in": "query", + "description": "Fetches messages that belongs to a specific type.", + "schema": { + "type": "string" + } + }, + { + "name": "types", + "in": "query", + "description": "Fetches messages with multiple types.", + "schema": { + "type": "array", + "items": {} + } + }, + { + "name": "myMentionsOnly", + "in": "query", + "description": "Filters messages with mentions for the UID in onBehalfOf header.", + "schema": { + "type": "boolean", + "default": "false" + } + }, + { + "name": "hasReactions", + "in": "query", + "description": "Filters messages sent by a the uid given in sender query param and has reactions. If onBehalfOf header is also set then the messages from their common conversations will be filtered.", + "schema": { + "type": "boolean", + "default": "false" + } + }, + { + "name": "sender", + "in": "query", + "description": "Filters messages with sender. If onBehalfOf header is also set then the messages from their common conversations will be filtered.", + "schema": { + "type": "string" + } + }, + { + "name": "mentionsWithBlockedInfo", + "in": "query", + "description": "For the mentioned users, provides blocked information with respect to the UID in onBehalfOf header.", + "schema": { + "type": "boolean", + "default": "false" + } + }, + { + "name": "mentionsWithTagInfo", + "in": "query", + "description": "Provides user tags for the mentioned users.", + "schema": { + "type": "boolean", + "default": "false" + } + }, + { + "name": "limit", + "in": "query", + "description": "The number of records to fetch. Minimum value: 1, Maximum value: 1000", + "schema": { + "type": "integer", + "default": "10" + } + }, + { + "name": "fromTimestamp", + "in": "query", + "description": "Fetches the messages from this timestamp.", + "schema": { + "type": "integer" + } + }, + { + "name": "toTimestamp", + "in": "query", + "description": "Fetches the messages till this timestamp.", + "schema": { + "type": "integer" + } + }, + { + "name": "withTags", + "in": "query", + "description": "This will fetch messages along with the tags.", + "schema": { + "type": "boolean" + } + }, + { + "name": "tags", + "in": "query", + "description": "This will fetch only those messages belonging to the mentioned tags.", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "Retreived Group Messages", + "content": { + "application/json": { + "schema": { + "properties": { "data": { - "description": "JSON containing message attributes.", + "type": "array", + "items": { + "type": "object", "properties": { - "customData": { - "description": "when category==”custom”, this property can have any JSON object.", - "type": "object" - } - }, - "type": "object" + "id": { + "type": "string" + }, + "conversationId": { + "type": "string" + }, + "sender": { + "type": "string" + }, + "receiverType": { + "type": "string" + }, + "receiver": { + "type": "string" + }, + "category": { + "type": "string" + }, + "type": { + "type": "string" + }, + "data": { + "type": "object" + }, + "sentAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + } + } + } }, - "multipleReceivers": { - "description": "JSON containing array of UIDs and GUID for whom the message must be sent. Format for multiple receivers - {\"uids\": [\"uid1\",\"uid2\"], \"guids\":[\"guid1\"]}", - "properties": { - "uids": { - "type": "array", - "items": { - "type": "string" - } - }, - "guids": { - "type": "array", - "items": { - "type": "string" - } - } + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": [ + { + "id": "1", + "conversationId": "cometchat-uid-3_user_cometchat-uid-5", + "sender": "cometchat-uid-3", + "receiverType": "user", + "receiver": "cometchat-uid-5", + "category": "message", + "type": "text", + "data": { + "text": "test hello", + "entities": { + "sender": { + "entity": { + "uid": "cometchat-uid-3", + "name": "Nancy Grace", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-3.webp", + "status": "offline", + "createdAt": 1638361550 + }, + "entityType": "user" + }, + "receiver": { + "entity": { + "uid": "cometchat-uid-5", + "name": "John Paul", + "role": "default", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-5.webp", + "status": "offline", + "createdAt": 1638361550, + "conversationId": "cometchat-uid-3_user_cometchat-uid-5" + }, + "entityType": "user" + } }, - "type": "object" - }, - "tags": { - "description": "A list of tags to identify specific messages.", - "type": "array", - "items": { - "type": "string" + "metadata": { + "key1": "val1" } + }, + "sentAt": 1638423490, + "updatedAt": 1638423490 + } + ], + "meta": { + "current": { + "limit": 100, + "count": 1 + }, + "next": { + "affix": "append", + "sentAt": 1638423490, + "id": "1" } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/bots/{uid}/messages": { + "post": { + "tags": [ + "Messages" + ], + "summary": "Send Bot Message", + "description": "Sends Message from a Bot.", + "operationId": "send-bot-message", + "parameters": [ + { + "name": "uid", + "in": "path", + "description": "An UID of the Bot.", + "required": true, + "schema": { + "type": "string" + }, + "examples": { + "string": { + "summary": "Message ID", + "value": "100" + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "discriminator": { + "propertyName": "category", + "mapping": { + "message": "#/components/schemas/messageCategorySchema", + "custom": "#/components/schemas/customCategorySchema" + } }, - "type": "object" - }, - "customInteractiveSchema": { - "title": "Custom Interactive Schema", - "properties": { + "oneOf": [ + { + "title": "Message", + "$ref": "#/components/schemas/messageCategorySchema" + }, + { + "title": "Custom", + "$ref": "#/components/schemas/customCategorySchema" + } + ] + }, + "examples": {} + } + } + }, + "responses": { + "200": { + "description": "Send Bot Message", + "content": { + "application/json": { + "schema": { + "properties": { "data": { - "type": "object" + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "dataPointSchema": { - "description": "Response data", - "properties": { - "messagesSent": { - "type": "integer" - }, - "readReceipts": { - "type": "integer" + "example": { + "data": { + "id": "1", + "conversationId": "cometchat-uid-3_user_cometchat-uid-5", + "sender": "cometchat-uid-3", + "receiverType": "user", + "receiver": "cometchat-uid-5", + "category": "message", + "type": "text", + "data": { + "text": "test hello", + "metadata": { + "key1": "val1" + }, + "entities": { + "sender": { + "entity": { + "uid": "cometchat-uid-3", + "name": "Nancy Grace", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-3.webp", + "status": "offline", + "role": "default", + "createdAt": 1638361550 + }, + "entityType": "user" + }, + "receiver": { + "entity": { + "uid": "cometchat-uid-5", + "name": "John Paul", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-5.webp", + "status": "offline", + "role": "default", + "createdAt": 1638361550, + "conversationId": "cometchat-uid-3_user_cometchat-uid-5" + }, + "entityType": "user" + } + } + }, + "sentAt": 1638423490, + "updatedAt": 1638423490 + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/notifications/v1/settings": { + "get": { + "tags": [ + "Notifications" + ], + "summary": "List Settings", + "description": "List preferences, templates and sounds for the given app.", + "operationId": "notifications-push-list-settings", + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "group": { + "type": "object" + }, + "bypassPreferencesForMentions": { + "type": "boolean" + }, + "call": { + "type": "object" + }, + "oneOnOne": { + "type": "object" + }, + "mute": { + "type": "object" + }, + "email": { + "type": "object" + }, + "sms": { + "type": "object" + }, + "push": { + "type": "object" + } + } + } }, - "deliveryReceipts": { - "type": "integer" + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "preferences": { + "group": { + "messagesSetting": 2, + "messageEditedSetting": 2, + "messagesOverride": true, + "repliesSetting": 2, + "repliesOverride": true, + "messageDeletedSetting": 2, + "reactionsSetting": 2, + "reactionsOverride": true, + "memberLeftSetting": 1, + "memberLeftOverride": true, + "memberAddedSetting": 1, + "memberAddedOverride": true, + "memberJoinedSetting": 1, + "memberJoinedOverride": true, + "memberKickedSetting": 1, + "memberKickedOverride": true, + "memberBannedSetting": 1, + "memberBannedOverride": true, + "memberUnbannedSetting": 1, + "memberUnbannedOverride": true, + "memberScopeChangedSetting": 1, + "memberScopeChangedOverride": true + }, + "bypassPreferencesForMentions": false, + "call": { + "busySetting": 1, + "cancelledSetting": 1, + "endedSetting": 1, + "initiatedSetting": 1, + "ongoingSetting": 1, + "rejectedSetting": 1, + "unansweredSetting": 1, + "initiatedOverride": false, + "ongoingOverride": false, + "cancelledOverride": false, + "rejectedOverride": false, + "unansweredOverride": false, + "busyOverride": false, + "endedOverride": false + }, + "oneOnOne": { + "messagesSetting": 2, + "messagesOverride": true, + "repliesSetting": 2, + "repliesOverride": true, + "messageEditedSetting": 2, + "messageDeletedSetting": 2, + "reactionsSetting": 2, + "reactionsOverride": true + }, + "mute": { + "dndPreferenceSetting": 1, + "dndPreferenceOverride": true, + "schedulePreferenceSetting": { + "monday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "tuesday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "wednesday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "thursday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "friday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "saturday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "sunday": { + "from": 0, + "to": 2359, + "dnd": false + } + }, + "schedulePreferenceOverride": true, + "mutedGroupsOverride": true, + "mutedOneOnOnesOverride": true + }, + "email": { + "notifyForUnreadOnly": true, + "intervalInSeconds": 7200, + "maxPerDay": 20, + "maxPerDayPerConversation": 2 + }, + "sms": { + "notifyForUnreadOnly": true, + "intervalInSeconds": 7200, + "maxPerDay": 20, + "maxPerDayPerConversation": 2 + }, + "push": { + "includeMessageObjectSetting": false, + "includeSenderMetadataSetting": true, + "includeReceiverMetadataSetting": true, + "trimTextFieldSetting": false, + "includeMessageMetadataSetting": true, + "customJson": { + "hello": "world" + } + } }, - "startTime": { - "type": "integer" + "sound": { + "chat": "default", + "call": "default" }, - "endTime": { - "type": "integer" + "templates": { + "usePrivacyTemplate": 3, + "textMessageTemplateDefault": { + "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", + "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", + "body": "{{message.data.text}}" + }, + "textMessageTemplatePrivacy": { + "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", + "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", + "body": "New message" + }, + "mediaMessageTemplateDefault": { + "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", + "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", + "body_audio": "🔈 Has sent an audio", + "body_file": "📄 Has sent a file", + "body_image": "📷 Has sent an image", + "body_video": "🎥 Has sent a video" + }, + "mediaMessageTemplatePrivacy": { + "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", + "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", + "body_audio": "New audio message", + "body_file": "New file message", + "body_image": "New image message", + "body_video": "New video message" + }, + "customMessageTemplateDefault": { + "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", + "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", + "body": "{{message.data.text}}", + "body_fallback": "New message" + }, + "customMessageTemplatePrivacy": { + "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", + "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", + "body": "New message", + "body_fallback": "New message" + }, + "emailSubjectTemplateDefault": { + "subjectGroup": "New messages in {{groupDetails.name}}", + "subjectOneOnOne": "New messages from {{senderDetails.name}}" + }, + "emailSubjectTemplatePrivacy": { + "subjectGroup": "New messages in {{groupDetails.name}}", + "subjectOneOnOne": "New messages from {{senderDetails.name}}" + }, + "smsContentTemplateDefault": { + "bodyGroup": "You've received {{messages.length}} message(s) in {{groupDetails.name}}! Read them at https://your-website.com.", + "bodyOneOnOne": "You've received {{messages.length}} message(s) from {{senderDetails.name}}! Read them at https://your-website.com." + }, + "smsContentTemplatePrivacy": { + "bodyGroup": "You've received {{messages.length}} message(s) in {{groupDetails.name}}! Read them at https://your-website.com.", + "bodyOneOnOne": "You've received {{messages.length}} message(s) from {{senderDetails.name}}! Read them at https://your-website.com." + } + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "patch": { + "tags": [ + "Notifications" + ], + "summary": "Update Settings", + "description": "Update preferences, templates and sounds for the given app.", + "operationId": "notifications-push-update-settings", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/pnSettingSchema" + } + } + } + }, + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": {} } + }, + "type": "object" }, - "type": "object" - }, - "deleteSchema": { - "properties": { - "success": { - "type": "boolean" - }, - "message": { - "type": "string" + "example": { + "data": { + "success": true + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Notifications" + ], + "summary": "Reset Settings", + "description": "Reset preferences, templates and sounds to default values for the given app.", + "operationId": "notifications-push-reset-settings", + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": {} } + }, + "type": "object" }, - "type": "object" - }, - "email": { - "properties": { - "notifyForUnreadOnly": { - "description": "If the value is false, the notification will contain all the messages, not just unread.", - "type": "boolean" - }, - "intervalInSeconds": { - "type": "integer" - }, - "maxPerDay": { - "type": "integer" - }, - "maxPerDayPerConversation": { - "type": "integer" - }, - "includeMessageObjectSetting": { - "description": "Includes the message object in the email payload", - "type": "boolean" - }, - "includeSenderMetadataSetting": { - "description": "Includes sender metadata in the message object", - "type": "boolean" - }, - "includeReceiverMetadataSetting": { - "description": "Includes receiver metadata in the message object", - "type": "boolean" + "example": { + "data": { + "success": true + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/notifications/push/v1/providers/fcm": { + "get": { + "tags": [ + "Notifications" + ], + "summary": "List FCM Providers", + "description": "List the configured FCM providers for the given app.", + "operationId": "notifications-push-list-fcm-providers", + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "type": "object" + } }, - "includeMessageMetadataSetting": { - "description": "Includes message metadata in the message object", - "type": "boolean" + "meta": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "fcmCreateProviderSchema": { - "properties": { - "providerId": { - "type": "string" - }, - "serviceAccountFilename": { - "type": "string" - }, - "serviceAccountCreds": { - "$ref": "#/components/schemas/ServiceAccountCreds" + "example": { + "data": { + "pushProviders": [] + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "post": { + "tags": [ + "Notifications" + ], + "summary": "Add FCM Provider", + "description": "Add new FCM provider for the given app.", + "operationId": "notifications-push-add-fcm-provider", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/fcmCreateProviderSchema" + } + } + } + }, + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": {} }, - "notificationInPayload": { - "properties": { - "ios": { - "$ref": "#/components/schemas/SilentNotification" - }, - "android": { - "$ref": "#/components/schemas/SilentNotification" - }, - "web": { - "$ref": "#/components/schemas/SilentNotification" - } - }, - "type": "object" + "meta": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "groupEntitySchema": { - "description": "Response data", - "properties": { - "id": { - "type": "string" - }, - "conversationId": { - "type": "string" - }, - "sender": { - "type": "string" - }, - "receiverType": { - "type": "string" - }, - "receiver": { + "example": { + "data": { + "success": true + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "put": { + "tags": [ + "Notifications" + ], + "summary": "Update FCM Provider", + "description": "Update existing FCM provider for the given app.", + "operationId": "notifications-push-update-fcm-provider", + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "properties": { + "providerId": { "type": "string" + } }, - "category": { - "type": "string" + "type": "object" + }, + { + "$ref": "#/components/schemas/fcmCreateProviderSchema" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": {} }, - "type": { - "type": "string" + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "success": true + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/notifications/push/v1/providers/fcm/{providerId}": { + "delete": { + "tags": [ + "Notifications" + ], + "summary": "Delete FCM Provider", + "description": "Delete an FCM provider for the given app.", + "operationId": "notifications-push-delete-fcm-provider", + "parameters": [ + { + "$ref": "#/components/parameters/providerId" + } + ], + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": {} }, + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "success": true + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/notifications/push/v1/providers/fcm/default/{providerId}": { + "put": { + "tags": [ + "Notifications" + ], + "summary": "Change default FCM Provider", + "description": "Change the default FCM provider for the given app.", + "operationId": "notifications-push-default-fcm-provider", + "parameters": [ + { + "$ref": "#/components/parameters/providerId" + } + ], + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { "data": { - "properties": { - "action": { - "type": "string" - }, - "entities": { - "properties": { - "by": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "status": { - "type": "string" - }, - "createdAt": { - "type": "integer" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - }, - "on": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "createdAt": { - "type": "integer" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - }, - "for": { - "properties": { - "entity": { - "properties": { - "guid": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "membersCount": { - "type": "integer" - }, - "conversationId": { - "type": "string" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" + "type": "array", + "items": {} }, - "avatar": { + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "success": true + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/notifications/push/v1/providers/apns": { + "get": { + "tags": [ + "Notifications" + ], + "summary": "List APNS Providers", + "description": "List the configured APNS providers for the given app.", + "operationId": "notifications-push-list-apns-providers", + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": {}, + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "pushProviders": [] + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "put": { + "tags": [ + "Notifications" + ], + "summary": "Update APNS Providers", + "description": "Update existing APNS provider for the given app.", + "operationId": "notifications-push-update-apns-provider", + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "properties": { + "providerId": { "type": "string" + } }, - "metadata": { + "type": "object" + }, + { + "$ref": "#/components/schemas/createApnsProvider" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": {} + }, + "type": "object" + }, + "example": { + "data": { + "success": true + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "post": { + "tags": [ + "Notifications" + ], + "summary": "Add APNS Provider", + "description": "Add new APNS provider for the given app.", + "operationId": "notifications-push-add-apns-provider", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/createApnsProvider" + } + } + } + }, + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": {} + }, + "type": "object" + }, + "example": { + "data": { + "pushProviders": [] + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/notifications/push/v1/providers/apns/{providerId}": { + "delete": { + "tags": [ + "Notifications" + ], + "summary": "Delete APNS Providers", + "description": "Delete an APNS provider for the given app.", + "operationId": "notifications-push-delete-apns-provider", + "parameters": [ + { + "$ref": "#/components/parameters/providerId" + } + ], + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": {} + }, + "type": "object" + }, + "example": { + "data": { + "success": true + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/notifications/push/v1/providers/apns/default/{providerId}": { + "put": { + "tags": [ + "Notifications" + ], + "summary": "Change default APNS Provider", + "description": "Change the default APNS provider for the given app.", + "operationId": "notifications-push-default-apns-provider", + "parameters": [ + { + "$ref": "#/components/parameters/providerId" + } + ], + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": {} + }, + "type": "object" + }, + "example": { + "data": { + "success": true + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/notifications/v1/preferences": { + "get": { + "tags": [ + "Notifications" + ], + "summary": "List Preferences", + "description": "List the configured preferences for the given user.", + "operationId": "notifications-push-list-preferences", + "parameters": [ + { + "$ref": "#/components/parameters/requiredUID" + } + ], + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", "properties": { - "email": { - "type": "string" - } - }, - "type": "object" - }, - "status": { - "type": "string" - }, - "role": { - "type": "string" + "group": { + "type": "object" + }, + "oneOnOne": { + "type": "object" + }, + "mute": { + "type": "object" + } + } + } }, - "createdAt": { - "type": "integer" + "meta": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "groupMemberListSchema": { - "description": "Response data", - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "role": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "joinedAt": { - "type": "integer" + "example": { + "data": { + "preferences": { + "group": { + "messagesSetting": 2, + "messagesOverride": true, + "repliesSetting": 2, + "repliesOverride": true, + "reactionsSetting": 2, + "reactionsOverride": true, + "memberLeftSetting": 1, + "memberLeftOverride": true, + "memberAddedSetting": 1, + "memberAddedOverride": true, + "memberJoinedSetting": 1, + "memberJoinedOverride": true, + "memberKickedSetting": 1, + "memberKickedOverride": true, + "memberBannedSetting": 1, + "memberBannedOverride": true, + "memberUnbannedSetting": 1, + "memberUnbannedOverride": true, + "memberScopeChangedSetting": 1, + "memberScopeChangedOverride": true + }, + "oneOnOne": { + "messagesSetting": 2, + "messagesOverride": true, + "repliesSetting": 2, + "repliesOverride": true, + "reactionsSetting": 2, + "reactionsOverride": true + }, + "mute": { + "dndPreferenceSetting": 1, + "dndPreferenceOverride": true, + "schedulePreferenceSetting": { + "monday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "tuesday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "wednesday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "thursday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "friday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "saturday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "sunday": { + "from": 0, + "to": 2359, + "dnd": false + } + }, + "schedulePreferenceOverride": true, + "mutedGroupsOverride": true, + "mutedOneOnOnesOverride": true + } }, - "createdAt": { - "type": "integer" + "sound": { + "chat": "default", + "call": "default" }, - "updatedAt": { - "type": "integer" + "templates": { + "usePrivacyTemplate": 3, + "textMessageTemplateDefault": { + "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", + "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", + "body": "{{message.data.text}}" + }, + "textMessageTemplatePrivacy": { + "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", + "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", + "body": "New message" + }, + "mediaMessageTemplateDefault": { + "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", + "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", + "body_audio": "Has sent an {{message.type}}", + "body_file": "Has sent a {{message.type}}", + "body_image": "Has sent an {{message.type}}", + "body_video": "Has sent a {{message.type}}" + }, + "mediaMessageTemplatePrivacy": { + "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", + "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", + "body_audio": "New message", + "body_file": "New message", + "body_image": "New message", + "body_video": "New message" + }, + "customMessageTemplateDefault": { + "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", + "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", + "body": "{{message.data.text}}", + "body_fallback": "New message" + }, + "customMessageTemplatePrivacy": { + "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", + "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", + "body": "{{message.data.text}}", + "body_fallback": "New message" + } + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "patch": { + "tags": [ + "Notifications" + ], + "summary": "Update Preferences", + "description": "Update the preference for the given user.", + "operationId": "notifications-push-update-preferences", + "parameters": [ + { + "$ref": "#/components/parameters/requiredUID" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/pnUpdatePreferences" + } + } + } + }, + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": {} }, - "conversationId": { - "type": "string" + "meta": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "groupMemberSchema": { - "description": "Response data", - "properties": { - "usersToBan": { - "properties": { - "": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } + "example": { + "data": { + "preferences": { + "group": { + "messagesSetting": 2, + "messagesOverride": true, + "repliesSetting": 2, + "repliesOverride": true, + "reactionsSetting": 2, + "reactionsOverride": true, + "memberLeftSetting": 1, + "memberLeftOverride": true, + "memberAddedSetting": 1, + "memberAddedOverride": true, + "memberJoinedSetting": 1, + "memberJoinedOverride": true, + "memberKickedSetting": 1, + "memberKickedOverride": true, + "memberBannedSetting": 1, + "memberBannedOverride": true, + "memberUnbannedSetting": 1, + "memberUnbannedOverride": true, + "memberScopeChangedSetting": 1, + "memberScopeChangedOverride": true + }, + "oneOnOne": { + "messagesSetting": 2, + "messagesOverride": true, + "repliesSetting": 2, + "repliesOverride": true, + "reactionsSetting": 2, + "reactionsOverride": true + }, + "mute": { + "dndPreferenceSetting": 1, + "dndPreferenceOverride": true, + "schedulePreferenceSetting": { + "monday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "tuesday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "wednesday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "thursday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "friday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "saturday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "sunday": { + "from": 0, + "to": 2359, + "dnd": false + } }, - "type": "object" + "schedulePreferenceOverride": true, + "mutedGroupsOverride": true, + "mutedOneOnOnesOverride": true + } }, - "admins": { - "properties": { - "": { - "properties": { - "success": { - "type": "boolean" - }, - "data": { - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" + "sound": { + "chat": "default", + "call": "default" }, - "moderators": { - "properties": { - "": { - "properties": { - "success": { - "type": "boolean" - }, - "data": { - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" + "templates": { + "usePrivacyTemplate": 3, + "textMessageTemplateDefault": { + "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", + "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", + "body": "{{message.data.text}}" + }, + "textMessageTemplatePrivacy": { + "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", + "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", + "body": "New message" + }, + "mediaMessageTemplateDefault": { + "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", + "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", + "body_audio": "Has sent an {{message.type}}", + "body_file": "Has sent a {{message.type}}", + "body_image": "Has sent an {{message.type}}", + "body_video": "Has sent a {{message.type}}" + }, + "mediaMessageTemplatePrivacy": { + "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", + "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", + "body_audio": "New message", + "body_file": "New message", + "body_image": "New message", + "body_video": "New message" + }, + "customMessageTemplateDefault": { + "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", + "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", + "body": "{{message.data.text}}", + "body_fallback": "New message" + }, + "customMessageTemplatePrivacy": { + "titleOneOnOne": "{{message.data.entities.sender.entity.name}}", + "titleGroup": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}", + "body": "{{message.data.text}}", + "body_fallback": "New message" + } + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Notifications" + ], + "summary": "Reset Preferences", + "description": "Reset the preferences for the given user.", + "operationId": "notifications-push-reset-preferences", + "parameters": [ + { + "$ref": "#/components/parameters/requiredUID" + } + ], + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": {} }, - "participants": { - "properties": { - "": { - "properties": { - "success": { - "type": "boolean" - }, - "data": { - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" + "meta": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "groupReceiverDetails": { - "required": [ - "guid", - "name", - "type" - ], - "properties": { - "guid": { - "description": "The primary-key/ unique identifier of the group.", - "type": "string" + "example": { + "data": { + "groupPreferences": { + "groupMessages": 2, + "groupReplies": 2, + "groupReactions": 2, + "groupMemberLeft": 1, + "groupMemberAdded": 1, + "groupMemberJoined": 1, + "groupMemberKicked": 1, + "groupMemberBanned": 1, + "groupMemberUnbanned": 1, + "groupMemberScopeChanged": 1 }, - "name": { - "description": "Name of the group.", - "type": "string" + "oneOnOnePreferences": { + "oneOnOneMessages": 2, + "oneOnOneReplies": 2, + "oneOnOneReactions": 2 }, - "icon": { - "description": "An URL for a group icon.", - "type": "string" + "mutePreferences": { + "dnd": 1, + "schedule": { + "sunday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "monday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "tuesday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "wednesday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "thursday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "friday": { + "from": 0, + "to": 2359, + "dnd": false + }, + "saturday": { + "from": 0, + "to": 2359, + "dnd": false + } + } }, - "type": { - "description": "Type of the group. Can be public, password or private.", - "type": "string", - "enum": [ - "public", - "password", - "private" - ] + "usePrivacyTemplate": true + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/notifications/push/v1/tokens": { + "post": { + "tags": [ + "Notifications" + ], + "summary": "Register push token", + "description": "Register a push token for the given auth token.", + "operationId": "notifications-push-register-token", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/pnTokenSchema" + } + } + } + }, + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": {} }, - "password": { - "description": "A password required to join the the group with type password", - "type": "string" + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "success": true + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "get": { + "tags": [ + "Notifications" + ], + "summary": "List push tokens", + "description": "List push tokens for the given auth token.", + "operationId": "notifications-push-list-tokens", + "parameters": [ + { + "name": "all", + "in": "query", + "description": "Displays all the tokens", + "schema": { + "type": "boolean" + } + }, + { + "name": "authToken", + "in": "query", + "description": "Fetches the results based on the auth Tokens", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "type": "object" + } }, - "owner": { - "description": "Owner of the group.", - "type": "string" + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "pushTokens": [ + { + "authToken": "cometchat-uid-3_1710141033938cf7e3c67cc44465440d4efac8de", + "pushTokenType": "chat", + "createdAt": "2024-03-11T07:27:59.412Z", + "platform": "fcm_android", + "providerId": "fcm-provider-2", + "pushToken": "{{uid3}}_fcm_android_asia_kolkata_4_new_mgmt", + "uid": "cometchat-uid-3", + "updatedAt": "2024-03-13T11:24:47.776Z" + } + ] + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Notifications" + ], + "summary": "Unregister push tokens for authToken", + "description": "Unregister push token(s) registered for the given auth token.", + "operationId": "notifications-push-unregister-tokens", + "parameters": [ + { + "name": "all", + "in": "query", + "description": "all=true: Deletes all the registered Push tokens for the user.\nall=false: Deletes the Push token registered for the current authToken.", + "schema": { + "type": "boolean" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/unregisterpnToken" + } + } + } + }, + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": {} }, - "createdAt": { - "description": " A 10-digit UNIX timestamp at which the group was created.", - "type": "integer" + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "pushTokens": [ + { + "authToken": "cometchat-uid-3_1710141033938cf7e3c67cc44465440d4efac8de", + "pushTokenType": "chat", + "createdAt": "2024-03-11T07:27:59.412Z", + "platform": "fcm_android", + "providerId": "fcm-provider-2", + "pushToken": "{{uid3}}_fcm_android_asia_kolkata_4_new_mgmt", + "uid": "cometchat-uid-3", + "updatedAt": "2024-03-13T11:24:47.776Z" + } + ] + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/notifications/push/v1/tokens/{pushToken}": { + "delete": { + "tags": [ + "Notifications" + ], + "summary": "Delete the given push token", + "description": "Deletes the given push token", + "operationId": "notifications-push-delete-token", + "parameters": [ + { + "$ref": "#/components/parameters/pushToken" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/unregisterpnToken" + } + } + } + }, + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": {} }, - "metadata": { - "description": "Additional data for the group.", + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "pushTokens": [ + { + "authToken": "cometchat-uid-3_1710141033938cf7e3c67cc44465440d4efac8de", + "pushTokenType": "chat", + "createdAt": "2024-03-11T07:27:59.412Z", + "platform": "fcm_android", + "providerId": "fcm-provider-2", + "pushToken": "{{uid3}}_fcm_android_asia_kolkata_4_new_mgmt", + "uid": "cometchat-uid-3", + "updatedAt": "2024-03-13T11:24:47.776Z" + } + ] + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/notifications/v1/preferences/mute": { + "get": { + "tags": [ + "Notifications" + ], + "summary": "List muted conversations", + "description": "List the conversations where notifications have been muted on behalf of the user.", + "operationId": "notifications-push-list-muted", + "parameters": [ + { + "$ref": "#/components/parameters/requiredUID" + } + ], + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { "type": "object" + } }, - "tags": { - "description": "A string array containing grouptags.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "meta": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "groupSchema": { - "description": "Response data", + "example": { + "data": { + "mutedConversations": [] + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "put": { + "tags": [ + "Notifications" + ], + "summary": "Mute notifications for conversations", + "description": "Mute notifications for the conversations on behalf of the given user.", + "operationId": "notifications-push-mute-conversations", + "parameters": [ + { + "$ref": "#/components/parameters/requiredUID" + } + ], + "requestBody": { + "description": "List of conversations", + "required": true, + "content": { + "application/json": { + "schema": { "properties": { - "guid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "type": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "membersCount": { - "type": "integer" - }, - "joinedAt": { - "type": "integer" - }, - "conversationId": { - "type": "string" - }, - "hasJoined": { - "type": "boolean" + "conversations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/muteConversation" + } + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": {} }, - "owner": { - "type": "string" + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "success": true + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Notifications" + ], + "summary": "Unmute notifications for conversations", + "description": "Unmute notifications for the conversations on behalf of the given user.", + "operationId": "notifications-push-unmute-conversations", + "parameters": [ + { + "$ref": "#/components/parameters/requiredUID" + } + ], + "requestBody": { + "description": "Unmute Conversations", + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "conversations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/unmuteConversation" + } + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": {} }, - "tags": { - "type": "array", - "items": { - "type": "string" - } + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "success": true + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/notifications/v1/preferences/timezone": { + "get": { + "tags": [ + "Notifications" + ], + "summary": "Get timezone", + "description": "Get the timezone on behalf of the user.", + "operationId": "notifications-get-timezone", + "parameters": [ + { + "$ref": "#/components/parameters/requiredUID" + } + ], + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" }, - "createdAt": { - "type": "integer" + "meta": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "interactionCardSchema": { - "title": "Card Schema", + "example": { + "data": { + "timezone": "Asia/Kolkata" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "patch": { + "tags": [ + "Notifications" + ], + "summary": "Update timezone", + "description": "Update the timezone on behalf of the user.", + "operationId": "notifications-update-timezone", + "parameters": [ + { + "$ref": "#/components/parameters/requiredUID" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { "properties": { - "interactionGoal": { - "properties": { - "type": { - "type": "string", - "enum": [ - "anyOf", - "allOf", - "oneOf", - "none" - ] - }, - "elementIds": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" + "timezone": { + "description": "Input a valid Timezone Identifier. Eg: Asia/Tokyo", + "type": "string", + "example": "Asia/Tokyo" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": {} }, - "allowSenderInteraction": { - "type": "boolean" + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "timezone": "Asia/Kolkata" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/notifications/v1/contact-details": { + "get": { + "tags": [ + "Notifications" + ], + "summary": "Get contact details", + "description": "Fetches the contact details like Email ID and Phone number for a given user.", + "operationId": "notifications-get-contact-details", + "parameters": [ + { + "$ref": "#/components/parameters/requiredonBehalfOf" + } + ], + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" }, - "interactiveData": { - "properties": { - "text": { - "type": "string" - }, - "cardActions": { - "type": "array", - "items": { - "properties": { - "elementType": { - "type": "string" - }, - "elementId": { - "type": "string" - }, - "defaultValue": { - "type": "string" - }, - "label": { - "type": "string" - }, - "optional": { - "type": "boolean" - }, - "maxLines": { - "type": "integer" - }, - "placeholder": { - "type": "object" - } - }, - "type": "object" - } - }, - "submitElement": { - "properties": { - "elementType": { - "type": "string" - }, - "elementId": { - "type": "string" - }, - "buttonText": { - "type": "string" - }, - "disableAfterInteracted": { - "type": "boolean" - }, - "optional": { - "type": "boolean" - }, - "action": { - "properties": { - "url": { - "type": "string" - }, - "method": { - "type": "string" - }, - "payload": { - "type": "object" - }, - "headers": { - "type": "object" - }, - "dataKey": { - "type": "string" - }, - "actionType": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" + "meta": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "interactionFormSchema": { - "title": "Form Schema", + "example": { + "data": { + "email": "someone@example.com", + "phno": "+919591128691" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "patch": { + "tags": [ + "Notifications" + ], + "summary": "Update contact details", + "description": "Updates the contact details like Email ID and Phone number for a given user.", + "operationId": "notifications-update-contact-details", + "parameters": [ + { + "$ref": "#/components/parameters/requiredonBehalfOf" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { "properties": { - "interactionGoal": { - "properties": { - "type": { - "type": "string", - "enum": [ - "anyOf", - "allOf", - "oneOf", - "none" - ] - }, - "elementIds": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" + "email": { + "description": "The user's email address", + "type": "string", + "example": "someone@example.com" + }, + "phno": { + "description": "The user's phone number with country code (Ex: +1 for US, +91 for India, etc.)", + "type": "string", + "example": "+919591128691" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": {} }, - "allowSenderInteraction": { - "type": "boolean" + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "email": "someone@example.com", + "phno": "+919591128691" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Notifications" + ], + "summary": "Delete contact details", + "description": "Deletes the stored contact details for a given user.", + "operationId": "notifications-delete-contact-details", + "parameters": [ + { + "$ref": "#/components/parameters/requiredonBehalfOf" + } + ], + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": {} }, - "interactiveData": { - "properties": { - "text": { - "type": "string" - }, - "formFields": { - "type": "array", - "items": { - "properties": { - "elementType": { - "type": "string" - }, - "elementId": { - "type": "string" - }, - "defaultValue": { - "type": "string" - }, - "label": { - "type": "string" - }, - "optional": { - "type": "boolean" - }, - "maxLines": { - "type": "integer" - }, - "placeholder": { - "type": "object" - } - }, - "type": "object" - } - }, - "submitElement": { - "properties": { - "elementType": { - "type": "string" - }, - "elementId": { - "type": "string" - }, - "buttonText": { - "type": "string" - }, - "disableAfterInteracted": { - "type": "boolean" - }, - "optional": { - "type": "boolean" - }, - "action": { - "properties": { - "url": { - "type": "string" - }, - "method": { - "type": "string" - }, - "payload": { - "type": "object" - }, - "headers": { - "type": "object" - }, - "dataKey": { - "type": "string" - }, - "actionType": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "success": true + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/notifications/sms/v1/providers/twilio": { + "get": { + "tags": [ + "Notifications" + ], + "summary": "Get Twilio credentials", + "description": "Fetches the Twilio credentials stored for the app.", + "operationId": "notifications-sms-list-twilio-details", + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { "type": "object" + } + }, + "meta": { + "type": "object" } + }, + "type": "object" + }, + "example": { + "data": { + "twilioAccountSID": "AC91e67951ff7e5e7be8122184e76ae0e6=", + "twilioAuthToken": "71c2301435733997e83db7a3445bc57", + "twilioSenderPhoneNumber": "+13611364718" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "post": { + "tags": [ + "Notifications" + ], + "summary": "Save Twilio credentials", + "description": "Store the Twilio credentials for the given app.", + "operationId": "notifications-sms-save-twilio-details", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "required": [ + "twilioAccountSID", + "twilioAuthToken", + "twilioSenderPhoneNumber" + ], + "properties": { + "twilioAccountSID": { + "description": "The Twilio Account SID", + "type": "string", + "example": "AC91e67951ff7e5e7be8122184e76ae0e6" + }, + "twilioAuthToken": { + "description": "The Twilio Auth Token", + "type": "string", + "example": "71c2301435733997e83db7a3445bc57" + }, + "twilioSenderPhoneNumber": { + "description": "The Twilio sender phone number", + "type": "string", + "example": "+13611364718" + }, + "isEnabled": { + "description": "Enable Twilio", + "type": "boolean" + } }, "type": "object" - }, - "interactiveCategorySchema": { - "properties": { - "receiver": { - "description": "The receiver of the message.", - "type": "string" - }, - "muid": { - "description": "The muid will be a unique Identifier of the message.", - "type": "string" + } + } + } + }, + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": {} }, - "receiverType": { - "description": "The receiverType of the message. either user or group", - "type": "string", - "enum": [ - "user", - "group" - ] + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "twilioAccountSID": "AC91e67951ff7e5e7be8122184e76ae0e6=", + "twilioAuthToken": "71c2301435733997e83db7a3445bc57", + "twilioSenderPhoneNumber": "+13611364718" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "put": { + "tags": [ + "Notifications" + ], + "summary": "Update Twilio credentials", + "description": "Updates the Twilio credentials for the given app.", + "operationId": "notifications-sms-update-twilio-details", + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "twilioAccountSID": { + "description": "The Twilio Account SID", + "type": "string", + "example": "AC91e67951ff7e5e7be8122184e76ae0e6" + }, + "twilioAuthToken": { + "description": "The Twilio Auth Token", + "type": "string", + "example": "71c2301435733997e83db7a3445bc57" + }, + "twilioSenderPhoneNumber": { + "description": "The Twilio sender phone number", + "type": "string", + "example": "+13611364718" + }, + "isEnabled": { + "description": "Enable Twilio", + "type": "boolean" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": {} }, - "category": { - "description": "Category of the message. The available categories is interactive.", - "type": "string", - "default": "interactive", - "enum": [ - "interactive" - ] + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "twilioAccountSID": "AC91e67951ff7e5e7be8122184e76ae0e6=-", + "twilioAuthToken": "71c2301435733997e83db7a3445bc57", + "twilioSenderPhoneNumber": "+13611364718" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Notifications" + ], + "summary": "Delete Twilio credentials", + "description": "Deletes the stored Twilio credentials for the given app.", + "operationId": "notifications-sms-delete-twilio-details", + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": {} }, - "type": { - "description": "Type of the message. The available values are card, form and customInteractive.", - "type": "string", - "default": "card", - "enum": [ - "card", - "form", - "customInteractive", - "scheduler" - ] + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "success": true + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/notifications/email/v1/providers/sendgrid": { + "get": { + "tags": [ + "Notifications" + ], + "summary": "Get SendGrid credentials", + "description": "Fetches the SendGrid credentials stored for the app.", + "operationId": "notifications-email-list-sendgrid-details", + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "type": "object" + } }, + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "sendGridApiKey": "SG.9ipFP4b17yT-Fff2GGrH8FF0GqdkBohXAEI4GnTSj9Q=", + "sendGridTemplateID": "d-8284bb9646a040499d5cfa28d272a094", + "sendGridUnsubscribeGroupID": "33832", + "senderEmail": "noreply@em123.example.com", + "senderName": "Emailer" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "post": { + "tags": [ + "Notifications" + ], + "summary": "Save SendGrid credentials", + "description": "Store the SendGrid credentials for the given app.", + "operationId": "notifications-email-save-sendgrid-details", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "required": [ + "sendGridApiKey", + "sendGridTemplateID", + "sendGridUnsubscribeGroupID", + "senderName", + "senderEmail", + "allowEmailReplies" + ], + "properties": { + "sendGridApiKey": { + "description": "The SendGrid API key", + "type": "string", + "example": "SG.9ipFP4b17yT-Fff2GGrH8FF0GqdkBohXAEI4GnTSj9Q=" + }, + "sendGridTemplateID": { + "description": "The SendGrid template ID", + "type": "string", + "example": "d-8284bb9646a040499d5cfa28d272a094" + }, + "sendGridUnsubscribeGroupID": { + "description": "The SendGrid unsubscribe group ID", + "type": "string", + "example": "33832" + }, + "senderName": { + "description": "The name of the sender", + "type": "string", + "example": "Emailer" + }, + "senderEmail": { + "description": "The email address of the sender", + "type": "string", + "example": "noreply@em123.example.com" + }, + "allowEmailReplies": { + "type": "boolean", + "default": false + }, + "senderEmailForReplies": { + "description": "The email address when replies are enabled (optional)", + "type": "string", + "example": "reply@em123.example.com", + "nullable": true + }, + "isEnabled": { + "description": "Enable SendGrid", + "type": "boolean" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { "data": { - "description": "JSON containing message attributes. Please select the appropriate schema based on the type property.", - "type": "object", - "oneOf": [ - { - "$ref": "#/components/schemas/interactionFormSchema" - }, - { - "$ref": "#/components/schemas/interactionCardSchema" - }, - { - "$ref": "#/components/schemas/SchedulerSchema" - }, - { - "$ref": "#/components/schemas/customInteractiveSchema" - } - ] + "type": "array", + "items": {} }, - "multipleReceivers": { - "description": "JSON containing array of UIDs and GUID for whom the message must be sent. Format for multiple receivers - {\"uids\": [\"uid1\",\"uid2\"], \"guids\":[\"guid1\"]}", - "properties": { - "uids": { - "type": "array", - "items": { - "type": "string" - } - }, - "guids": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "allowEmailReplies": true, + "sendGridApiKey": "sendgrid_key", + "sendGridTemplateID": "template_id", + "sendGridUnsubscribeGroupID": "12312", + "senderEmail": "noreply@em123.example.com", + "senderEmailForReplies": "reply@em123.example.com", + "senderName": "Emailer", + "repliesWebhook": "https://notifications-us.cometchat.io/email/v1/sendgrid/replies?token=GY40_1kWlnc2Lo7Lk8vWWxiNJ6BmEEpV4eZsUeMr328" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "put": { + "tags": [ + "Notifications" + ], + "summary": "Update SendGrid credentials", + "description": "Updates the SendGrid credentials for the given app.", + "operationId": "notifications-email-update-sendgrid-details", + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "sendGridApiKey": { + "description": "The SendGrid API key", + "type": "string", + "example": "SG.9ipFP4b17yT-Fff2GGrH8FF0GqdkBohXAEI4GnTSj9Q=" + }, + "sendGridTemplateID": { + "description": "The SendGrid template ID", + "type": "string", + "example": "d-8284bb9646a040499d5cfa28d272a094" + }, + "sendGridUnsubscribeGroupID": { + "description": "The SendGrid unsubscribe group ID", + "type": "string", + "example": "33832" + }, + "senderName": { + "description": "The name of the sender", + "type": "string", + "example": "Emailer" + }, + "senderEmail": { + "description": "The email address of the sender", + "type": "string", + "example": "noreply@em123.example.com" + }, + "allowEmailReplies": { + "type": "boolean", + "default": false + }, + "senderEmailForReplies": { + "description": "The email address when replies are enabled (optional)", + "type": "string", + "example": "reply@em123.example.com", + "nullable": true + }, + "isEnabled": { + "description": "Enable SendGrid", + "type": "boolean" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": {} }, - "tags": { - "description": "A list of tags to identify specific messages.", - "type": "array", - "items": { - "type": "string" - } + "meta": { + "type": "object" } + }, + "type": "object" }, - "type": "object", "example": { - "receiverType": "user", + "data": { + "allowEmailReplies": true, + "sendGridApiKey": "sendgrid_key", + "sendGridTemplateID": "template_id", + "sendGridUnsubscribeGroupID": "12312", + "senderEmail": "noreply@em123.example.com", + "senderEmailForReplies": "reply@em123.example.com", + "senderName": "Emailer", + "repliesWebhook": "https://notifications-us.cometchat.io/email/v1/sendgrid/replies?token=GY40_1kWlnc2Lo7Lk8vWWxiNJ6BmEEpV4eZsUeMr328" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Notifications" + ], + "summary": "Delete SendGrid credentials", + "description": "Deletes the stored SendGrid credentials for the given app.", + "operationId": "notifications-email-delete-sendgrid-details", + "responses": { + "200": { + "description": "A list of push notification's settings", + "content": { + "application/json": { + "schema": { + "properties": { "data": { - "interactionGoal": { - "type": "allOf", - "elementIds": [ - "element8" - ] - }, - "allowSenderInteraction": true, - "interactiveData": { - "title": "Form Title", - "formFields": [ - { - "elementType": "textInput", - "elementId": "element1", - "defaultValue": "vivek", - "label": "Name", - "optional": false, - "maxLines": 1, - "placeholder": { - "text": "write your name here" - } - }, - { - "elementType": "textInput", - "elementId": "element2", - "label": "Last Name", - "optional": false, - "maxLines": 1 - }, - { - "elementType": "textInput", - "elementId": "element3", - "label": "Address", - "optional": false, - "maxLines": 5 - }, - { - "elementType": "dropdown", - "elementId": "element4", - "label": "Country", - "optional": false, - "defaultValue": "option1", - "options": [ - { - "value": "option1", - "label": "INDIA" - }, - { - "value": "option2", - "label": "AUSTRALIA" - } - ] - }, - { - "elementType": "checkbox", - "elementId": "element5", - "optional": true, - "label": "Services", - "options": [ - { - "value": "option1", - "label": "Garbage" - }, - { - "value": "option2", - "label": "Electricity Bill" - }, - { - "value": "option3", - "label": "Lift" - } - ], - "defaultValue": [ - "option1", - "option2" - ] - }, - { - "elementType": "singleSelect", - "elementId": "element6", - "optional": false, - "label": "Wing", - "defaultValue": "option1", - "options": [ - { - "value": "option1", - "label": "A Wing" - }, - { - "value": "option2", - "label": "B Wing" - } - ] - }, - { - "elementType": "button", - "elementId": "element9", - "buttonText": "About us", - "disableAfterInteracted": true, - "action": { - "actionType": "urlNavigation", - "url": "https://www.cometchat.com" - } - } - ], - "submitElement": { - "elementType": "button", - "elementId": "element8", - "buttonText": "Submit", - "disableAfterInteracted": true, - "action": { - "actionType": "apiAction", - "url": "https://10893f2ae68f59.api-us.cometchat-staging.com/v3.0/messages", - "method": "POST", - "payload": { - "category": "message", - "type": "text", - "data": { - "text": "Thanks For filling the Form!" - }, - "receiver": "superhero2", - "receiverType": "user" - }, - "headers": { - "appId": "10893f2ae68f59", - "Content-Type": "application/json", - "apiKey": "5797f2d3d103d7d78f085eb46bfd14d5c45ddfdf", - "onBehalfOf": "superhero1" - }, - "dataKey": "CometChatData" - } - } - } + "type": "array", + "items": {} }, - "category": "interactive", - "type": "form", - "receiver": "superhero1", - "tags": [ - "tag1" + "meta": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "success": true + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/notifications/push/v1/providers/custom": { + "get": { + "tags": [ + "Notifications" + ], + "summary": "Get Custom Provider for Push Notifications", + "description": "Fetches the custom provider for Push Notifications for a given app.", + "operationId": "notifications-list-push-custom-provider", + "responses": { + "200": { + "description": "A list of push notification's custom provider", + "content": { + "application/json": { + "schema": { + "type": "object" + }, + "example": { + "data": { + "pushProviders": [ + { + "basicAuthUsername": "user123", + "basicAuthPassword": "pass123", + "useBasicAuth": true, + "isEnabled": true, + "webhookURL": "https://trigger-push.example.com/cometchat" + } ] + } } - }, - "interactiveMessageSchema": { + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "post": { + "tags": [ + "Notifications" + ], + "summary": "Save Custom Provider for Push Notifications", + "description": "Saves the custom provider for Push Notifications for a given app.", + "operationId": "notifications-save-push-custom-provider", + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": [ + "isEnabled", + "webhookURL", + "basicAuthUsername", + "basicAuthPassword", + "useBasicAuth" + ], "properties": { - "current": { - "properties": { - "limit": { - "type": "integer" - }, - "count": { - "type": "integer" - } - }, - "type": "object" + "isEnabled": { + "description": "Use custom provider", + "type": "boolean" + }, + "webhookURL": { + "description": "The webhook URL to be triggered for the respective events.", + "type": "string" + }, + "useBasicAuth": { + "description": "To enable basic auth for the URL", + "type": "boolean" + }, + "basicAuthUsername": { + "description": "The username for Basic auth", + "type": "string" + }, + "basicAuthPassword": { + "description": "The password for Basic auth", + "type": "string" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Save push notification's custom provider", + "content": { + "application/json": { + "schema": { + "type": "object" + }, + "example": { + "data": { + "pushProviders": [ + { + "basicAuthUsername": "user123", + "basicAuthPassword": "pass123", + "useBasicAuth": true, + "isEnabled": true, + "webhookURL": "https://trigger-push.example.com/cometchat" + } + ] + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "put": { + "tags": [ + "Notifications" + ], + "summary": "Update Custom Provider for Push Notifications", + "description": "Updates the custom provider for Push Notifications for a given app.", + "operationId": "notifications-update-push-custom-provider", + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "isEnabled": { + "description": "Use custom provider", + "type": "boolean" + }, + "webhookURL": { + "description": "The webhook URL to be triggered for the respective events.", + "type": "string" + }, + "useBasicAuth": { + "description": "To enable basic auth for the URL", + "type": "boolean" + }, + "basicAuthUsername": { + "description": "The username for Basic auth", + "type": "string" + }, + "basicAuthPassword": { + "description": "The password for Basic auth", + "type": "string" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "A list of push notification's custom provider", + "content": { + "application/json": { + "schema": { + "type": "object" + }, + "example": { + "data": { + "pushProviders": [ + { + "basicAuthUsername": "user123", + "basicAuthPassword": "pass123", + "useBasicAuth": true, + "isEnabled": true, + "webhookURL": "https://trigger-push.example.com/cometchat" + } + ] + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Notifications" + ], + "summary": "Delete the Custom Provider for Push Notifications", + "description": "Deletes the custom provider for Push Notifications for a given app.", + "operationId": "notifications-delete-push-custom-provider", + "responses": { + "200": { + "description": "A list of push notification's custom provider", + "content": { + "application/json": { + "schema": { + "type": "object" + }, + "example": { + "data": { + "success": true + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/notifications/sms/v1/providers/custom": { + "get": { + "tags": [ + "Notifications" + ], + "summary": "Get Custom Provider for SMS Notifications", + "description": "Fetches the custom provider for SMS Notifications for a given app.", + "operationId": "notifications-list-sms-custom-provider", + "responses": { + "200": { + "description": "A list of push notification's custom provider", + "content": { + "application/json": { + "schema": { + "type": "object" + }, + "example": { + "data": { + "basicAuthPassword": "user888", + "basicAuthUsername": "pass123", + "isEnabled": true, + "useBasicAuth": true, + "useStoredPhNo": false, + "webhookURL": "https://trigger-sms.example.com/cometchat" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "post": { + "tags": [ + "Notifications" + ], + "summary": "Save Custom Provider for SMS Notifications", + "description": "Saves the custom provider for SMS Notifications for a given app.", + "operationId": "notifications-save-sms-custom-provider", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "required": [ + "isEnabled", + "useStoredPhNo", + "webhookURL", + "basicAuthUsername", + "basicAuthPassword", + "useBasicAuth" + ], + "properties": { + "useStoredPhNo": { + "description": "If enabled, the webhook will be triggered for a user only if their phone number is stored within CometChat.", + "type": "boolean", + "default": false + } }, - "next": { - "properties": { - "affix": { - "type": "string" - }, - "sentAt": { - "type": "integer" - }, - "id": { - "type": "string" - } - }, - "type": "object" - } + "type": "object" + }, + { + "$ref": "#/components/schemas/CustomSMSProviderConfig" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Save the push notification's SMS custom provider", + "content": { + "application/json": { + "schema": { + "type": "object" + }, + "example": { + "data": { + "basicAuthUsername": "user889", + "basicAuthPassword": "pass122", + "isEnabled": true, + "useBasicAuth": true, + "useStoredPhNo": false, + "webhookURL": "https://trigger-sms.example.com/cometchat" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "put": { + "tags": [ + "Notifications" + ], + "summary": "Update Custom Provider for SMS Notifications", + "description": "Updates the custom provider for SMS Notifications for a given app.", + "operationId": "notifications-update-sms-custom-provider", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomSMSProviderConfig" + } + } + } + }, + "responses": { + "200": { + "description": "Save the push notification's SMS custom provider", + "content": { + "application/json": { + "schema": { + "type": "object" + }, + "example": { + "data": { + "basicAuthUsername": "user889", + "basicAuthPassword": "pass122", + "isEnabled": true, + "useBasicAuth": true, + "useStoredPhNo": false, + "webhookURL": "https://trigger-sms.example.com/cometchat" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Notifications" + ], + "summary": "Delete the Custom Provider for SMS Notifications", + "description": "Deletes the custom provider for SMS Notifications for a given app.", + "operationId": "notifications-delete-sms-custom-provider", + "responses": { + "200": { + "description": "Delete push notification's SMS custom provider", + "content": { + "application/json": { + "schema": { + "type": "object" + }, + "example": { + "data": { + "success": true + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/notifications/email/v1/providers/custom": { + "get": { + "tags": [ + "Notifications" + ], + "summary": "Get Custom Provider for Email Notifications", + "description": "Fetches the custom provider for Email Notifications for a given app.", + "operationId": "notifications-list-email-custom-provider", + "responses": { + "200": { + "description": "A list of push notification's email custom provider", + "content": { + "application/json": { + "schema": { + "type": "object" + }, + "example": { + "data": { + "basicAuthUsername": "user889", + "basicAuthPassword": "pass122", + "isEnabled": true, + "useBasicAuth": true, + "useStoredEmailID": false, + "webhookURL": "https://trigger-email.example.com/cometchat" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "post": { + "tags": [ + "Notifications" + ], + "summary": "Save Custom Provider for Email Notifications", + "description": "Saves the custom provider for Email Notifications for a given app.", + "operationId": "notifications-save-email-custom-provider", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomEmailProviderConfig" + }, + { + "required": [ + "isEnabled", + "useStoredEmailID", + "webhookURL", + "basicAuthUsername", + "basicAuthPassword", + "useBasicAuth" + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Save the push notification's SMS custom provider", + "content": { + "application/json": { + "schema": { + "type": "object" + }, + "example": { + "data": { + "basicAuthUsername": "user889", + "basicAuthPassword": "pass122", + "isEnabled": true, + "useBasicAuth": true, + "useStoredEmailID": false, + "webhookURL": "https://trigger-email.example.com/cometchat" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "put": { + "tags": [ + "Notifications" + ], + "summary": "Update Custom Provider for Email Notifications", + "description": "Updates the custom provider for Email Notifications for a given app.", + "operationId": "notifications-update-email-custom-provider", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomEmailProviderConfig" + } + } + } + }, + "responses": { + "200": { + "description": "Update the push notification's Email custom provider", + "content": { + "application/json": { + "schema": { + "type": "object" + }, + "example": { + "data": { + "basicAuthUsername": "user889", + "basicAuthPassword": "pass122", + "isEnabled": true, + "useBasicAuth": true, + "useStoredEmailID": false, + "webhookURL": "https://trigger-email.example.com/cometchat" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + }, + "delete": { + "tags": [ + "Notifications" + ], + "summary": "Delete the Custom Provider for Email Notifications", + "description": "Deletes the custom provider for Email Notifications for a given app.", + "operationId": "notifications-delete-email-custom-provider", + "responses": { + "200": { + "description": "Delete push notification's Email custom provider", + "content": { + "application/json": { + "schema": { + "type": "object" + }, + "example": { + "data": { + "success": true + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/notifications/v1/logs": { + "get": { + "tags": [ + "Notifications" + ], + "summary": "Notifications logs", + "description": "Paginated API to fetch logs for notifications", + "operationId": "notifications-logs", + "parameters": [ + { + "name": "messageId", + "in": "query", + "description": "To filter based on the ID of message or reply.", + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "reactionId", + "in": "query", + "description": "To filter based on the ID of the reaction added.", + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "from", + "in": "query", + "description": "To get the logs for messages that are sent after the mentioned timestamp in milliseconds.", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "to", + "in": "query", + "description": "To get the logs for messages that are sent after the mentioned timestamp in milliseconds.", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "messageCategory", + "in": "query", + "description": "To filter logs based on the category of the message or reply. Values can be message.", + "required": false, + "schema": { + "type": "string", + "enum": [ + "message" + ], + "description": "Message category filter." + } + }, + { + "name": "messageType", + "in": "query", + "description": "To filter logs based on the type of the message or reply. Values are based on the message category.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "trigger", + "in": "query", + "description": "To filter based on the trigger value of the event that is responsible for triggering the notification.\nFor a message or a reply, the value of this field is after_message.\nFor message actions, the values are message_deleted or message_edited or message_reaction_added.\nFor default calling feature, the values are initiated, rejected, cancelled, unanswered.\nFor group events, the values are: after_group_joined, after_group_left, after_group_members_added, after_group_members_kicked, after_group_members_banned, after_group_members_unbanned, after_scope_changed.", + "required": false, + "schema": { + "type": "string", + "enum": [ + "after_message", + "message_deleted", + "message_edited", + "message_reaction_added", + "initiated", + "rejected", + "cancelled", + "unanswered", + "after_group_joined", + "after_group_left", + "after_group_members_added", + "after_group_members_kicked", + "after_group_members_banned", + "after_group_members_unbanned", + "after_scope_changed" + ], + "description": "Webhook event trigger type." + } + }, + { + "name": "sender", + "in": "query", + "description": "To filter based on the sender of the message. This has to be uid.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "reactionSender", + "in": "query", + "description": "To filter based on the user who reacted on a message.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "receiver", + "in": "query", + "description": "To filter based on the receiver of a message. This can be uid or guid based on the receiverType.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "receiverType", + "in": "query", + "description": "To filter based on the receiver's type. The value of this field can be user or group.", + "required": false, + "schema": { + "type": "string", + "enum": [ + "user", + "group" + ], + "description": "Receiver type. user: one-on-one. group: group conversation." + } + }, + { + "name": "reactionReceiver", + "in": "query", + "description": "To filter based on the user who is notified when a reaction is added.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "member", + "in": "query", + "description": "To filter based on the user who is notified in a given group. This is only present when the receiverType is group.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "channel", + "in": "query", + "description": "To filter based on whether the user was notified using push, email or sms notification.", + "required": false, + "schema": { + "type": "string", + "enum": [ + "push", + "email", + "sms" + ], + "description": "Notification channel type." + } + }, + { + "name": "provider", + "in": "query", + "description": "To filter based on the provider.\nFor channel as push, the value of this field can be fcm, apns, custom.\nFor channel as email, the value of this field can be sendgrid or custom.\nFor channel as sms, the value of this field can be twilio or custom.", + "required": false, + "schema": { + "type": "string", + "enum": [ + "fcm", + "apns", + "sendgrid", + "twilio", + "custom" + ], + "description": "Notification provider type." + } + }, + { + "name": "notificationTriggered", + "in": "query", + "description": "The value is true when the notification provider is triggered. If false, the notification was not triggered due to some preference that is mentioned in the reason field.", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "reason", + "in": "query", + "description": "Available only when the value of notificationTriggered is false.\nThis contains the reason for not triggering the notification provider.\n\nTo filter logs using reason, use the following values: MESSAGES_PREFERENCE, REPLIES_PREFERENCE, MESSAGE_ACTIONS_PREFERENCE, REACTIONS_PREFERENCE, GROUP_ACTIONS_PREFERENCE, DND_PREFERENCE, MUTE_PREFERENCE, SCHEDULE_PREFERENCE, CALL_PREFERENCE, QUOTA_PREFERENCE, MISSING_EMAIL, MISSING_PHNO, INVALID_PUSH_PROVIDER_ID, TIMED_OUT, NOT_FOUND, TWILIO_CREATE_ERROR.", + "required": false, + "schema": { + "type": "string", + "enum": [ + "MESSAGES_PREFERENCE", + "REPLIES_PREFERENCE", + "MESSAGE_ACTIONS_PREFERENCE", + "REACTIONS_PREFERENCE", + "GROUP_ACTIONS_PREFERENCE", + "DND_PREFERENCE", + "MUTE_PREFERENCE", + "SCHEDULE_PREFERENCE", + "CALL_PREFERENCE", + "QUOTA_PREFERENCE", + "MISSING_EMAIL", + "MISSING_PHNO", + "INVALID_PUSH_PROVIDER_ID", + "TIMED_OUT", + "NOT_FOUND", + "TWILIO_CREATE_ERROR" + ], + "description": "Notification log status or reason code." + } + }, + { + "name": "success", + "in": "query", + "description": "Available only when the value of notificationTriggered is true.\n\nTo filter based on whether the HTTP request to the provider was successful or not, true indicating that the provider returned success while false indicating that the provider returned an error.", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "affix", + "in": "query", + "description": "To paginate over logs use the value of affix as prepend or append.", + "required": false, + "schema": { + "type": "string", + "enum": [ + "prepend", + "append" + ], + "description": "Cursor pagination direction." + } + }, + { + "name": "logId", + "in": "query", + "description": "To be used with affix for pagination.", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "A list of push notification's email custom provider", + "content": { + "application/json": { + "schema": { + "type": "object" }, - "type": "object" - }, - "messageCategorySchema": { - "properties": { - "receiver": { - "description": "The receiver of the message.", - "type": "string" - }, - "muid": { - "description": "The muid will be a unique Identifier of the message.", - "type": "string" - }, - "receiverType": { - "description": "The receiverType of the message. either user or group", - "type": "string", - "enum": [ - "user", - "group" - ] - }, - "category": { - "description": "Category of the message. The available categories are message and custom.", - "type": "string", - "default": "message", - "enum": [ - "message" - ] - }, - "quotedMessageId": { - "description": "ID of the message being quoted.\nIf provided, the send message response will include a `quotedMessage` node\nin the response containing the referenced message object.", - "type": "string" - }, - "type": { - "description": "Type of the message. The available values are text, image, file, audio, video.", - "type": "string", - "default": "text", - "enum": [ - "text", - "image", - "file", - "audio", - "video" - ] - }, - "data": { - "description": "JSON containing message attributes.", - "properties": { - "text": { - "type": "string" - }, - "metadata": { - "type": "object" - }, - "attachments": { - "description": "For the messages with image, video, audio or file type (i.e. category==\"message\" && type !=\"text\"), the property contains an array of attachment objects.", - "type": "array", - "items": { - "properties": { - "url": { - "description": "Contains the URL of the attachment.", - "type": "string" - }, - "name": { - "description": "Name of the attachment.", - "type": "string" - }, - "mimeType": { - "description": "Mime Type of attachment.", - "type": "string" - }, - "extension": { - "description": "The extension of the attachment.", - "type": "string" - }, - "size": { - "description": "The size of the attachment(in bytes).", - "type": "string" - } - }, - "type": "object" - } - } + "example": { + "data": [ + { + "_id": "67e3c56babf90e20e2652edb", + "processingStartedAtMS": 1742980459696, + "processingEndedAtMS": 1742980459738, + "totalProcessingTimeInMS": 42, + "component": "notifications-core", + "channel": "push", + "provider": "apns", + "messageId": 3939, + "reactionId": 69, + "trigger": "message_reaction_added", + "messageSentAtMS": 1742980459000, + "sender": "cometchat-uid-4", + "reactionSender": "cometchat-uid-1", + "receiver": "cometchat-guid-1", + "reactionReceiver": "g-muted-yes", + "receiverType": "group", + "member": "g-muted-yes", + "tokenType": "apns_ios_device", + "pushToken": "pushtoken123", + "providerId": "apns-provider", + "payload": { + "payload": { + "title": "cometchat-uid-1", + "body": "Reacted to your message: 😂", + "tag": "69", + "sender": "cometchat-uid-1", + "senderName": "cometchat-uid-1", + "receiver": "cometchat-guid-1", + "receiverName": "cometchat-guid-1", + "receiverType": "group", + "conversationId": "group_cometchat-guid-1", + "type": "chat", + "sessionId": null, + "callAction": null, + "callType": null, + "sentAt": null }, - "type": "object" - }, - "multipleReceivers": { - "description": "JSON containing array of UIDs and GUID for whom the message must be sent. Format for multiple receivers - {\"uids\": [\"uid1\",\"uid2\"], \"guids\":[\"guid1\"]}", - "properties": { - "uids": { - "type": "array", - "items": { - "type": "string" - } - }, - "guids": { - "type": "array", - "items": { - "type": "string" - } - } + "contentAvailable": 1, + "mutableContent": 1, + "topic": "com.example.com", + "alert": { + "title": "cometchat-uid-1", + "body": "Reacted to your message: 😂" }, - "type": "object" + "priority": 10, + "pushType": "alert", + "sound": "default", + "collapseId": "69", + "expiry": 1742984059, + "type": "apns" + }, + "notificationTriggered": false, + "reason": "MUTE_PREFERENCE" + } + ], + "meta": { + "previous": { + "affix": "prepend", + "messageId": 3939 }, - "tags": { - "description": "A list of tags to identify specific messages.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - }, - "messageMetaSchema": { - "properties": { "current": { - "properties": { - "limit": { - "type": "integer" - }, - "count": { - "type": "integer" - } - }, - "type": "object" + "limit": 20, + "count": 20 }, "next": { - "properties": { - "affix": { - "type": "string" - }, - "sentAt": { - "type": "integer" - }, - "id": { - "type": "string" - } - }, - "type": "object" + "affix": "append", + "messageId": 3939 } - }, - "type": "object" - }, - "messageReactionSchema": { - "description": "Response data", - "properties": { - "id": { - "type": "string" - }, - "conversationId": { - "type": "string" - }, - "sender": { - "type": "string" - }, - "receiverType": { - "type": "string" - }, - "receiver": { - "type": "string" - }, - "category": { - "type": "string" - }, - "type": { - "type": "string" - }, + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/stats": { + "get": { + "tags": [ + "Metrics" + ], + "summary": "Usage Metrics", + "description": "Usage metrics of an app.", + "operationId": "usage-metrics", + "parameters": [ + { + "name": "fromDate", + "in": "query", + "description": "Unix timestamp from which usage has to be fetched.", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "toDate", + "in": "query", + "description": "Unix timestamp till which usage has to be fetched.", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "Usage metrics of an app.", + "content": { + "application/json": { + "schema": { + "properties": { "data": { - "properties": { - "text": { - "type": "string" - }, - "metadata": { - "type": "object" - }, - "entities": { - "properties": { - "sender": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "conversationId": { - "type": "string" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - }, - "receiver": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "conversationId": { - "type": "string" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "reactions": { - "type": "array", - "items": { - "properties": { - "reaction": { - "type": "string" - }, - "count": { - "type": "integer" - }, - "reactedByMe": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "sentAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "messageSchema": { - "description": "Response data", - "properties": { - "id": { - "type": "string" - }, - "conversationId": { - "type": "string" - }, - "sender": { - "type": "string" - }, - "receiverType": { - "type": "string" - }, - "receiver": { - "type": "string" - }, - "category": { - "type": "string" - }, - "type": { - "type": "string" + "example": { + "data": { + "metrics": { + "audio_minutes": 0, + "video_minutes": 0, + "recorded_minutes": 0, + "active_users": 0, + "concurrent_users": 0 }, + "time_range": { + "fromDate": 1630164253000, + "toDate": 1632842653000 + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/stats/messages": { + "get": { + "tags": [ + "Metrics" + ], + "summary": "Message Metrics", + "description": "Gives the number of messages sent and receipts received in an interval of five minutes.", + "operationId": "message-receipt-metrics", + "responses": { + "200": { + "description": "Gives the number of messages sent and receipts received in an interval of five minutes.", + "content": { + "application/json": { + "schema": { + "properties": { + "dataPoints": { + "type": "array", + "items": {} + } + }, + "type": "object" + }, + "example": { + "data": { + "startTime": "1682676600000", + "endTime": "1682680200000", + "dataPoints": [ + { + "messagesSent": 0, + "readReceipts": 0, + "deliveryReceipts": 0, + "startTime": "1682676600000", + "endTime": "1682676900000" + }, + { + "messagesSent": 0, + "readReceipts": 0, + "deliveryReceipts": 0, + "startTime": "1682676900000", + "endTime": "1682677200000" + } + ], + "appId": "235391c94852dc7d" + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/roles/{role}/permissions": { + "get": { + "tags": [ + "RBAC" + ], + "summary": "List Role Permissions", + "description": "Lists role permissions", + "operationId": "list-role-permissions", + "responses": { + "200": { + "description": "Lists role permissions", + "content": { + "application/json": { + "schema": { + "properties": { "data": { + "type": "array", + "items": { + "type": "object", "properties": { - "text": { - "type": "string" - }, - "metadata": { - "type": "object" - }, - "entities": { - "properties": { - "sender": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "conversationId": { - "type": "string" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - }, - "receiver": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "conversationId": { - "type": "string" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "sentAt": { - "type": "integer" + "id": { + "type": "string" + }, + "type": { + "type": "string" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "dataType": { + "type": "string" + }, + "availableValues": { + "type": "array", + "items": {} + }, + "defaultValue": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + } + } + } }, - "updatedAt": { - "type": "integer" + "meta": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "metaSchema": { - "properties": { + "example": { + "data": [ + { + "id": "createGroup", + "type": "role", + "title": "Allows/Denies creating groups", + "description": "Allows/Denies creating groups", + "dataType": "string", + "availableValues": [ + "allow", + "deny" + ], + "defaultValue": "allow", + "createdAt": 1765962204, + "updatedAt": 1765962204 + }, + { + "id": "sendMessage", + "type": "role", + "title": "Allows/Denies sending messages", + "description": "Allows/Denies sending messages", + "dataType": "string", + "availableValues": [ + "allow", + "deny" + ], + "defaultValue": "allow", + "createdAt": 1765962204, + "updatedAt": 1765962204 + }, + { + "id": "sendMessage.allowedMessageTypes", + "type": "role", + "title": "Allows sending messages of the specified types", + "description": "Allows sending messages of the specified types", + "dataType": "stringArray", + "availableValues": [ + "text", + "image", + "audio", + "video", + "file" + ], + "createdAt": 1765962204, + "updatedAt": 1765962204, + "defaultValue": [] + } + ], + "meta": { "pagination": { - "properties": { - "total": { - "type": "integer" - }, - "count": { - "type": "integer" - }, - "per_page": { - "type": "integer" - }, - "current_page": { - "type": "integer" - }, - "total_pages": { - "type": "integer" - } - }, - "type": "object" + "total": 28, + "count": 28, + "per_page": 100, + "current_page": 1, + "total_pages": 1 } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ], + "parameters": [ + { + "name": "role", + "in": "path", + "description": "The role identifier to update permissions for", + "required": true, + "schema": { + "type": "string", + "example": "default" + } + } + ] + }, + "put": { + "tags": [ + "RBAC" + ], + "summary": "Set Role Permissions", + "description": "Sets or updates permissions for a specific role", + "operationId": "set-role-permissions", + "parameters": [ + { + "name": "role", + "in": "path", + "description": "The role identifier to update permissions for", + "required": true, + "schema": { + "type": "string", + "example": "default" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": [ + "permissions" + ], + "properties": { + "permissions": { + "description": "Permissions object containing key-value pairs for role permissions", + "type": "object", + "example": { + "createGroup": "allow", + "listUsers.mode": "friends", + "createGroup.allowedGroupTypes": [ + "public" + ] + }, + "additionalProperties": true + } }, "type": "object" - }, - "moderationMessageData": { - "description": "Can contain any additional properties except for the key properties.", - "properties": { - "text": { - "description": "The meaning of the `data.text` property depends on the values of `category` and `type`:\n1. When `category` is `'message'` and `type` is `'text'`, it represents the text content of the message.\n2. When `category` is `'message'` and `type` is not `'text'`, it represents the caption associated with the attachment.", - "type": "string" - }, - "customData": { - "description": "when category==”custom”, this property can have any JSON object.", - "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Role permissions updated successfully", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "sendMessage": { + "success": true, + "message": "Permission with id sendMessage have been mapped successfully to role default." }, - "attachments": { - "description": "For the messages with image, video, audio or file type (i.e. category==\"message\" && type !=\"text\"), the property contains an array of attachment objects.", - "type": "array", - "items": { - "required": [ - "name", - "mimeType", - "extension", - "url" - ], - "properties": { - "url": { - "description": "Contains the URL of the attachment. The developer has to make sure that the URL is accessible while calling the API. The API will be downloading the attachment from its current location and upload it to CometChat’s attachment storage.", - "type": "string" - }, - "name": { - "description": "Name of the attachment.", - "type": "string" - }, - "mimeType": { - "description": "Mime Type of attachment.", - "type": "string" - }, - "extension": { - "description": "The extension of the attachment.", - "type": "string" - }, - "size": { - "description": "The size of the attachment(in bytes).", - "type": "string" - } - }, - "type": "object" + "permissions": { + "listUsers": "allow", + "listUsers.mode": "all", + "listUsers.allowedRoles": [ + "new_role" + ], + "getUserDetails.mode": "friends", + "getUserDetails.allowedRoles": [ + "default" + ], + "sendMessage": "allow", + "sendMessage.mode": "all", + "sendMessage.allowedReceiverTypes": [ + "group" + ], + "sendMessage.allowedReceiverRoles": [ + "new_role", + "default" + ], + "sendMessage.allowedMessageTypes": [ + "file", + "audio", + "video", + "image", + "text" + ], + "sendMessage.allowedMessageCategories": [ + "message", + "custom" + ], + "editMessage": "deny", + "deleteMessage": "deny", + "sendMessage.allowedMimeTypes": [ + "image/png" + ], + "initiateCall": "allow", + "initiateCall.mode": "all", + "initiateCall.allowedReceiverRoles": [ + "new_role" + ], + "createGroup": "allow", + "createGroup.allowedGroupTypes": [ + "private" + ], + "listGroups": "allow", + "listGroups.allowedGroupTypes": [ + "password" + ], + "joinGroup": "allow", + "joinGroup.allowedGroupTypes": [ + "public" + ], + "listMessages.allowedMessageCategories": [ + "message" + ], + "listMessages.allowedMessageTypes": [ + "audio" + ] + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/roles/{role}/permissions/{permission}": { + "delete": { + "tags": [ + "RBAC" + ], + "summary": "Unset Role Permissions", + "description": "Removes a specific permission from a role", + "operationId": "unset-role-permissions", + "parameters": [ + { + "name": "role", + "in": "path", + "description": "The role identifier to remove permission from", + "required": true, + "schema": { + "type": "string", + "example": "default" + } + }, + { + "name": "permission", + "in": "path", + "description": "The permission key to unset (e.g., listUsers.mode, createGroup, etc.)", + "required": true, + "schema": { + "type": "string", + "example": "listUsers.mode" + } + } + ], + "responses": { + "200": { + "description": "Role permission unset successfully", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "permissions": { + "listUsers": "allow", + "listUsers.mode": "all", + "listUsers.allowedRoles": [ + "new_role" + ], + "getUserDetails.mode": "friends", + "getUserDetails.allowedRoles": [ + "default" + ], + "sendMessage": "allow", + "sendMessage.mode": "all", + "sendMessage.allowedReceiverTypes": [ + "group" + ], + "sendMessage.allowedReceiverRoles": [ + "new_role", + "default" + ], + "sendMessage.allowedMessageTypes": [ + "file", + "audio", + "video", + "image", + "text" + ], + "sendMessage.allowedMessageCategories": [ + "message", + "custom" + ], + "editMessage": "deny", + "editMessage.denyForScopes": [], + "deleteMessage": "deny", + "deleteMessage.denyForScopes": [], + "sendMessage.allowedCustomTypes": [], + "sendMessage.allowedMimeTypes": [ + "image/png" + ], + "initiateCall": "allow", + "initiateCall.mode": "all", + "initiateCall.allowedReceiverRoles": [ + "new_role" + ], + "createGroup": "allow", + "createGroup.allowedGroupTypes": [ + "private" + ], + "listGroups": "allow", + "listGroups.allowedGroupTypes": [ + "password" + ], + "joinGroup": "allow", + "joinGroup.allowedGroupTypes": [ + "public" + ], + "listMessages.allowedMessageCategories": [ + "message" + ], + "listMessages.allowedMessageTypes": [ + "audio" + ] + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/groups/{guid}/scopes/{scope}/permissions": { + "get": { + "tags": [ + "RBAC" + ], + "summary": "List Scope Permissions", + "description": "Lists scope permissions", + "operationId": "list-scope-permissions", + "responses": { + "200": { + "description": "Lists scope permissions", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "dataType": { + "type": "string" + }, + "availableValues": { + "type": "array", + "items": {} + }, + "defaultValue": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + } } + } }, - "metadata": { - "type": "object" + "meta": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "muteConversation": { + "example": { + "data": [ + { + "id": "addReaction", + "type": "scope", + "title": "Allows member to list the members with specified scope", + "description": "Allows member to list the members with specified scope", + "dataType": "string", + "availableValues": [ + "allow", + "deny" + ], + "defaultValue": "allow", + "createdAt": 1765962204, + "updatedAt": 1765962204 + }, + { + "id": "sendMessage", + "type": "scope", + "title": "Allows/Denies sending messages", + "description": "Allows/Denies sending messages", + "dataType": "string", + "availableValues": [ + "allow", + "deny" + ], + "defaultValue": "allow", + "createdAt": 1765962204, + "updatedAt": 1765962204 + }, + { + "id": "initiateCall.allowedType", + "type": "scope", + "title": "Allows members to initiate call with the specified types", + "description": "Allows members to initiate call with the specified types", + "dataType": "stringArray", + "availableValues": [ + "audio", + "video" + ], + "createdAt": 1765962204, + "updatedAt": 1765962204, + "defaultValue": [] + } + ], + "meta": { + "pagination": { + "total": 11, + "count": 11, + "per_page": 100, + "current_page": 1, + "total_pages": 1 + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ], + "parameters": [ + { + "name": "guid", + "in": "path", + "description": "The group GUID to update scope permissions for", + "required": true, + "schema": { + "type": "string", + "example": "supergroup" + } + }, + { + "name": "scope", + "in": "path", + "description": "The scope identifier (e.g., admin, moderator, participant)", + "required": true, + "schema": { + "type": "string", + "example": "admin" + } + } + ] + }, + "put": { + "tags": [ + "RBAC" + ], + "summary": "Set Scope Permissions", + "description": "Sets or updates permissions for a specific group scope", + "operationId": "set-scope-permissions", + "parameters": [ + { + "name": "guid", + "in": "path", + "description": "The group GUID to update scope permissions for", + "required": true, + "schema": { + "type": "string", + "example": "supergroup" + } + }, + { + "name": "scope", + "in": "path", + "description": "The scope identifier (e.g., admin, moderator, participant)", + "required": true, + "schema": { + "type": "string", + "example": "admin" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": [ + "permissions" + ], "properties": { - "id": { - "description": "uid or guid", - "type": "string" - }, - "type": { - "description": "oneOnOne or group", - "type": "string", - "enum": [ - "oneOnOne", - "group" - ] + "permissions": { + "description": "Permissions object containing key-value pairs for scope permissions", + "type": "object", + "example": { + "sendMessage": "deny", + "initiateCall": "friends" }, - "until": { - "description": "This is a valid timestamp from the future, E.g: 1710696964705", - "type": "integer", - "format": "int64" - } + "additionalProperties": true + } }, "type": "object" - }, - "objectEntitySchema": { - "properties": { - "entities": { - "properties": { - "by": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "status": { - "type": "string" - }, - "role": { - "type": "string" - }, - "createdAt": { - "type": "integer" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - }, - "for": { - "properties": { - "entity": { - "properties": { - "guid": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "updatedBy": { - "type": "integer" - }, - "description": { - "type": "integer" - }, - "membersCount": { - "type": "integer" - }, - "conversationId": { - "type": "integer" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - }, - "on": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "link": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "conversationId": { - "type": "string" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Scope permissions updated successfully", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "oneOnOne": { - "properties": { - "messagesSetting": { - "description": "1: Don't notify\n2: Notify for all messages\n3: Notify for messages with mentions", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "messagesOverride": { - "type": "boolean" - }, - "repliesSetting": { - "description": "1: Don't notify\n2: Notify for all replies\n3: Notify for replies with mentions", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "repliesOverride": { - "type": "boolean" - }, - "reactionsSetting": { - "description": "1: Don't notify\n2: Notify for reactions received on own messages\n3: Notify for reactions received on all messages", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "reactionsOverride": { - "type": "boolean" - }, - "messageEditedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] + "example": { + "data": { + "sendMessage": { + "success": true, + "message": "Permission with id sendMessage have been mapped successfully to scope admin on group cometchat-guid-1." }, - "messageDeletedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] + "permissions": { + "sendMessage": "allow", + "listMembers": "allow", + "listMembers.allowedScopes": "participant", + "addReaction": "deny", + "listReactions.allowedScopes": "moderator", + "listReactions": "deny", + "sendThreadedMessage": "allow", + "initiateCall": "deny", + "initiateCall.allowedScopes": "participant", + "initiateCall.allowedType": "audio", + "editMessage": "allow" + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/groups/{guid}/scopes/{scope}/permissions/{permission}": { + "delete": { + "tags": [ + "RBAC" + ], + "summary": "Unset Scope Permissions", + "description": "Removes a specific permission from a group scope", + "operationId": "unset-scope-permissions", + "parameters": [ + { + "name": "guid", + "in": "path", + "description": "The group GUID to remove scope permission from", + "required": true, + "schema": { + "type": "string", + "example": "supergroup" + } + }, + { + "name": "scope", + "in": "path", + "description": "The scope identifier (e.g., admin, moderator, participant)", + "required": true, + "schema": { + "type": "string", + "example": "admin" + } + }, + { + "name": "permission", + "in": "path", + "description": "The permission key to unset (e.g., sendMessage, initiateCall, etc.)", + "required": true, + "schema": { + "type": "string", + "example": "sendMessage" + } + } + ], + "responses": { + "200": { + "description": "Scope permission unset successfully", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "object" } + }, + "type": "object" }, + "example": { + "data": { + "permissions": { + "sendMessage": "allow", + "listMembers": "allow", + "listMembers.allowedScopes": "participant", + "addReaction": "deny", + "listReactions.allowedScopes": "moderator", + "listReactions": "deny", + "sendThreadedMessage": "allow", + "initiateCall": "deny", + "initiateCall.allowedScopes": "participant", + "initiateCall.allowedType": "audio", + "editMessage": "allow" + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + } + }, + "components": { + "schemas": { + "APIKeySchema": { + "description": "Response data", + "properties": { + "apiKey": { + "type": "string" + }, + "name": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "createdAt": { + "type": "integer" + } + }, + "type": "object" + }, + "CommonFields": { + "properties": { + "authToken": { + "type": "string", + "example": "cometchat-uid-3_1710141033938cf7e3c67cc44465440d" + }, + "timezone": { + "type": "string", + "example": "Asia/Kolkata" + } + }, + "type": "object" + }, + "CustomEmailProviderConfig": { + "properties": { + "isEnabled": { + "description": "Use custom provider", + "type": "boolean" + }, + "useStoredEmailID": { + "description": "If enabled, the webhook will be triggered for a user only if their email address is stored within CometChat.", + "type": "boolean" + }, + "webhookURL": { + "description": "The webhook URL to be triggered for the respective events.", + "type": "string" + }, + "useBasicAuth": { + "description": "To enable basic auth for the URL", + "type": "boolean" + }, + "basicAuthUsername": { + "description": "The username for Basic auth", + "type": "string" + }, + "basicAuthPassword": { + "description": "The password for Basic auth", + "type": "string" + } + }, + "type": "object" + }, + "CustomSMSProviderConfig": { + "properties": { + "isEnabled": { + "description": "Use custom provider", + "type": "boolean" + }, + "useStoredPhNo": { + "description": "If enabled, the webhook will be triggered for a user only if their phone number is stored within CometChat.", + "type": "boolean" + }, + "webhookURL": { + "description": "The webhook URL triggered for respective events", + "type": "string" + }, + "useBasicAuth": { + "description": "To enable basic auth for the URL", + "type": "boolean" + }, + "basicAuthUsername": { + "description": "The username for Basic auth", + "type": "string" + }, + "basicAuthPassword": { + "description": "The password for Basic auth", + "type": "string" + } + }, + "type": "object" + }, + "Day": { + "properties": { + "from": { + "type": "integer", + "format": "int32", + "maximum": 2359, + "minimum": 0 + }, + "to": { + "type": "integer", + "format": "int32", + "maximum": 2359, + "minimum": 0 + }, + "dnd": { + "type": "boolean" + } + }, + "type": "object" + }, + "Group": { + "properties": { + "messagesSetting": { + "description": "1: Don't notify\n2: Notify for all messages\n3: Notify for messages with mentions", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "messagesOverride": { + "type": "boolean" + }, + "repliesSetting": { + "description": "1: Don't notify\n2: Notify for all replies\n3: Notify for replies with mentions", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "repliesOverride": { + "type": "boolean" + }, + "reactionsSetting": { + "description": "1: Don't notify\n2: Notify for reactions received on own messages\n3: Notify for reactions received on all messages", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "reactionsOverride": { + "type": "boolean" + }, + "memberLeftSetting": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "memberLeftOverride": { + "type": "boolean" + }, + "memberAddedSetting": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "memberAddedOverride": { + "type": "boolean" + }, + "memberJoinedSetting": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "memberJoinedOverride": { + "type": "boolean" + }, + "memberKickedSetting": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "memberKickedOverride": { + "type": "boolean" + }, + "memberBannedSetting": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "memberBannedOverride": { + "type": "boolean" + }, + "memberUnbannedSetting": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "memberUnbannedOverride": { + "type": "boolean" + }, + "memberScopeChangedSetting": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "memberScopeChangedOverride": { + "type": "boolean" + }, + "messageEditedSetting": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "messageDeletedSetting": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ] + } + }, + "type": "object" + }, + "MediaMessageTemplate": { + "properties": { + "titleOneOnOne": { + "type": "string", + "example": "{{message.data.entities.sender.entity.name}}" + }, + "titleGroup": { + "type": "string", + "example": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}" + }, + "body_image": { + "type": "string", + "example": "Has sent an {{message.type}}" + }, + "body_audio": { + "type": "string", + "example": "Has sent an {{message.type}}" + }, + "body_video": { + "type": "string", + "example": "Has sent a {{message.type}}" + }, + "body_file": { + "type": "string", + "example": "Has sent a {{message.type}}" + } + }, + "type": "object" + }, + "Mute": { + "properties": { + "dndPreferenceOverride": { + "type": "boolean" + }, + "mutedGroupsOverride": { + "type": "boolean" + }, + "mutedOneOnOnesOverride": { + "type": "boolean" + }, + "schedulePreferenceSetting": { + "properties": { + "monday": { + "$ref": "#/components/schemas/Day" + }, + "tuesday": { + "$ref": "#/components/schemas/Day" + }, + "wednesday": { + "$ref": "#/components/schemas/Day" + }, + "thursday": { + "$ref": "#/components/schemas/Day" + }, + "friday": { + "$ref": "#/components/schemas/Day" + }, + "saturday": { + "$ref": "#/components/schemas/Day" + }, + "sunday": { + "$ref": "#/components/schemas/Day" + } + }, + "type": "object" + }, + "schedulePreferenceOverride": { + "type": "boolean" + } + }, + "type": "object" + }, + "MutePreferences": { + "properties": { + "dnd": { + "description": "1: Disable DND\n2: Enable DND", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "schedule": { + "$ref": "#/components/schemas/Schedule" + } + }, + "type": "object" + }, + "PNSuccess": { + "properties": { + "success": { + "type": "boolean" + } + }, + "type": "object" + }, + "PlatformAPNS": { + "allOf": [ + { + "properties": { + "platform": { + "type": "string", + "enum": [ + "apns_ios_device", + "apns_flutter_device", + "apns_react_native_device", + "apns_ionic_cordova_device" + ], + "description": "APNS device push token platform." + }, + "providerId": { + "type": "string", + "example": "apns-provider-2" + }, + "deviceToken": { + "type": "string" + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/CommonFields" + } + ] + }, + "PlatformFCM": { + "allOf": [ + { + "properties": { + "platform": { + "type": "string", + "enum": [ + "fcm_android", + "fcm_ios", + "fcm_web", + "fcm_flutter_android", + "fcm_flutter_ios", + "fcm_react_native_android", + "fcm_react_native_ios", + "fcm_ionic_cordova_android", + "fcm_ionic_cordova_ios" + ], + "description": "FCM push token platform." + }, + "providerId": { + "type": "string", + "example": "fcm-provider-2" + }, + "fcmToken": { + "type": "string" + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/CommonFields" + } + ] + }, + "PlatformVOIP": { + "allOf": [ + { + "properties": { + "platform": { + "type": "string", + "enum": [ + "apns_ios_voip", + "apns_flutter_voip", + "apns_ionic_cordova_voip", + "apns_react_native_voip" + ], + "description": "APNS VoIP push token platform." + }, + "providerId": { + "type": "string", + "example": "apns-provider-2" + }, + "voipToken": { + "type": "string" + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/CommonFields" + } + ] + }, + "Preferences": { + "properties": { + "push": { + "properties": { + "includeMessageObjectSetting": { + "description": "Include the message object in the push payload", + "type": "boolean" + }, + "includeSenderMetadataSetting": { + "description": "Include the sender's metadata as part of the message object", + "type": "boolean" + }, + "includeReceiverMetadataSetting": { + "description": "Include the receiver's metadata as part of the message object", + "type": "boolean" + }, + "trimTextFieldSetting": { + "description": "Trim the text field if present.", + "type": "boolean" + }, + "includeMessageMetadataSetting": { + "description": "Include the message's metadata as part of the message object", + "type": "boolean" + }, + "customJson": { + "description": "A custom JSON object for miscellaneous data", "type": "object" - }, - "pnSettingSchema": { - "description": "Response data", + } + }, + "type": "object" + }, + "call": { + "properties": { + "initiatedSetting": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ], + "example": 2 + }, + "ongoingSetting": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ], + "example": 2 + }, + "cancelledSetting": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ], + "example": 2 + }, + "busySetting": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ], + "example": 2 + }, + "rejectedSetting": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ], + "example": 2 + }, + "unansweredSetting": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ], + "example": 2 + }, + "endedSetting": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ], + "example": 2 + } + }, + "type": "object" + }, + "bypassPreferencesForMentions": { + "type": "boolean" + }, + "group": { + "$ref": "#/components/schemas/Group" + }, + "oneOnOne": { + "$ref": "#/components/schemas/oneOnOne" + }, + "mute": { + "$ref": "#/components/schemas/Mute" + }, + "email": { + "$ref": "#/components/schemas/email" + }, + "sms": { + "$ref": "#/components/schemas/sms" + } + }, + "type": "object" + }, + "Schedule": { + "properties": { + "monday": { + "$ref": "#/components/schemas/Day" + }, + "tuesday": { + "$ref": "#/components/schemas/Day" + }, + "wednesday": { + "$ref": "#/components/schemas/Day" + }, + "thursday": { + "$ref": "#/components/schemas/Day" + }, + "friday": { + "$ref": "#/components/schemas/Day" + }, + "saturday": { + "$ref": "#/components/schemas/Day" + }, + "sunday": { + "$ref": "#/components/schemas/Day" + } + }, + "type": "object" + }, + "ServiceAccountCreds": { + "properties": { + "project_id": { + "type": "string" + }, + "client_email": { + "type": "string" + }, + "private_key": { + "type": "string" + }, + "private_key_id": { + "type": "string" + } + }, + "type": "object" + }, + "SilentNotification": { + "properties": { + "chat": { + "type": "boolean" + }, + "call": { + "type": "boolean" + } + }, + "type": "object" + }, + "Sound": { + "properties": { + "chat": { + "type": "string" + }, + "call": { + "type": "string" + } + }, + "type": "object" + }, + "Template": { + "properties": { + "titleOneOnOne": { + "type": "string", + "example": "{{message.data.entities.sender.entity.name}}" + }, + "titleGroup": { + "type": "string", + "example": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}" + }, + "body": { + "type": "string", + "example": "New text message" + } + }, + "type": "object" + }, + "Templates": { + "properties": { + "usePrivacyTemplate": { + "description": "1: Use default templates\n2: Use privacy templates\n3: Use default templates with end-user privacy override", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "textMessageTemplateDefault": { + "$ref": "#/components/schemas/Template" + }, + "textMessageTemplatePrivacy": { + "$ref": "#/components/schemas/Template" + }, + "mediaMessageTemplateDefault": { + "$ref": "#/components/schemas/MediaMessageTemplate" + }, + "mediaMessageTemplatePrivacy": { + "$ref": "#/components/schemas/MediaMessageTemplate" + }, + "customMessageTemplateDefault": { + "allOf": [ + { "properties": { - "preferences": { - "$ref": "#/components/schemas/Preferences" - }, - "sound": { - "$ref": "#/components/schemas/Sound" - }, - "templates": { - "$ref": "#/components/schemas/Templates" - } + "body_fallback": { + "type": "string" + } }, "type": "object" - }, - "pnTokenSchema": { - "description": "Response data", - "oneOf": [ - { - "$ref": "#/components/schemas/PlatformFCM" - }, - { - "$ref": "#/components/schemas/PlatformAPNS" - }, - { - "$ref": "#/components/schemas/PlatformVOIP" - } - ] - }, - "pnUpdatePreferences": { - "description": "Response data", + }, + { + "$ref": "#/components/schemas/Template" + } + ] + }, + "customMessageTemplatePrivacy": { + "allOf": [ + { "properties": { - "groupPreferences": { - "properties": { - "groupMessages": { - "description": "1: Don't notify\n2: Notify for all messages\n3: Notify for messages with mentions", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "groupReplies": { - "description": "1: Don't notify\n2: Notify for all replies\n3: Notify for replies with mentions", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "groupReactions": { - "description": "1: Don't notify\n2: Notify for reactions received on own messages\n3: Notify for reactions received on all messages", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "groupMemberLeft": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "groupMemberAdded": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "groupMemberJoined": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "groupMemberKicked": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "groupMemberBanned": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "groupMemberUnbanned": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "groupMemberScopeChanged": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - } - }, - "type": "object" - }, - "oneOnOnePreferences": { - "properties": { - "oneOnOneMessages": { - "description": "1: Don't notify\n2: Notify for all messages\n3: Notify for messages with mentions", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "oneOnOneReplies": { - "description": "1: Don't notify\n2: Notify for all replies\n3: Notify for replies with mentions", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "oneOnOneReactions": { - "description": "1: Don't notify\n2: Notify for reactions received on own messages\n3: Notify for reactions received on all messages", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - } - }, - "type": "object" - }, - "mutePreferences": { - "$ref": "#/components/schemas/MutePreferences" - }, - "usePrivacyTemplate": { - "type": "boolean" - } + "body_fallback": { + "type": "string" + } }, "type": "object" + }, + { + "$ref": "#/components/schemas/Template" + } + ] + }, + "emailSubjectTemplateDefault": { + "properties": { + "subjectGroup": { + "type": "string", + "example": "While you were away..." + }, + "subjectOneOnOne": { + "type": "string", + "example": "While you were away..." + } + }, + "type": "object" + }, + "emailSubjectTemplatePrivacy": { + "properties": { + "subjectGroup": { + "type": "string", + "example": "While you were away..." + }, + "subjectOneOnOne": { + "type": "string", + "example": "While you were away..." + } + }, + "type": "object" + }, + "smsContentTemplateDefault": { + "properties": { + "bodyGroup": { + "type": "string", + "example": "You've received new messages in {{groupDetails.name}}! You can read the message at https://your-website.com." + }, + "bodyOneOnOne": { + "type": "string", + "example": "You've received new messages from {{sender.name}}! You can read the message at https://your-website.com." + } + }, + "type": "object" + }, + "smsContentTemplatePrivacy": { + "properties": { + "bodyGroup": { + "type": "string", + "example": "You've received new messages in {{groupDetails.name}}! You can read the message at https://your-website.com." + }, + "bodyOneOnOne": { + "type": "string", + "example": "You've received new messages from {{sender.name}}! You can read the message at https://your-website.com." + } }, - "pushNotificationSchema": { + "type": "object" + } + }, + "type": "object" + }, + "TimeRange": { + "required": [ + "from", + "to" + ], + "properties": { + "from": { + "type": "string" + }, + "to": { + "type": "string" + } + }, + "type": "object" + }, + "authTokenSchema": { + "description": "Response data", + "properties": { + "uid": { + "type": "string" + }, + "authToken": { + "type": "string" + }, + "createdAt": { + "type": "integer" + } + }, + "type": "object" + }, + "bannedUserSchema": { + "description": "Response data", + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "role": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "isBanned": { + "type": "boolean" + }, + "joinedAt": { + "type": "integer" + }, + "createdAt": { + "type": "integer" + } + }, + "type": "object" + }, + "blockedUserSchema": { + "description": "Response data", + "properties": { + "blockedByMe": { + "type": "boolean" + }, + "blockedByMeAt": { + "type": "integer" + }, + "blockedAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } + }, + "type": "object" + }, + "conversationSchema": { + "description": "Response data", + "properties": { + "conversationId": { + "type": "string" + }, + "conversationType": { + "type": "string" + }, + "unreadMessageCount": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + }, + "lastMessage": { + "properties": { + "id": { + "type": "string" + }, + "conversationId": { + "type": "string" + }, + "sender": { + "type": "string" + }, + "receiverType": { + "type": "string" + }, + "receiver": { + "type": "string" + }, + "category": { + "type": "string" + }, + "type": { + "type": "string" + }, + "data": { + "type": "object", + "allOf": [ + { + "properties": { + "action": { + "type": "string" + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/objectEntitySchema" + } + ] + }, + "sentAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + }, + "receipts": { "properties": { - "success": { - "type": "boolean" - } + "data": { + "type": "array", + "items": {} + } }, "type": "object" + } }, - "pushProviders": { - "description": "Response data", + "type": "object" + }, + "conversationWith": { + "type": "object" + } + }, + "type": "object" + }, + "conversationWithSchema": { + "properties": { + "guid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "type": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "membersCount": { + "type": "integer" + }, + "joinedAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + }, + "hasJoined": { + "type": "boolean", + "default": "true" + }, + "createdAt": { + "type": "integer" + }, + "owner": { + "type": "string" + }, + "updatedAt": { + "type": "integer" + }, + "updatedBy": { + "type": "string" + } + }, + "type": "object" + }, + "createApnsProvider": { + "properties": { + "providerId": { + "type": "string" + }, + "keyId": { + "type": "string" + }, + "teamId": { + "type": "string" + }, + "bundleId": { + "type": "string" + }, + "p8KeyFilename": { + "type": "string" + }, + "p8Key": { + "type": "string" + }, + "includeContentAvailable": { + "type": "boolean" + }, + "includeMutableContent": { + "type": "boolean" + }, + "productionMode": { + "type": "boolean" + } + }, + "type": "object" + }, + "customCategorySchema": { + "properties": { + "receiver": { + "description": "The receiver of the message.", + "type": "string" + }, + "muid": { + "description": "The muid will be a unique Identifier of the message.", + "type": "string" + }, + "receiverType": { + "description": "The receiverType of the message. either user or group", + "type": "string", + "enum": [ + "user", + "group" + ] + }, + "category": { + "description": "Category of the message. The available categories is custom.", + "type": "string", + "default": "custom", + "enum": [ + "custom" + ] + }, + "type": { + "description": "Type of the message.", + "type": "string" + }, + "data": { + "description": "JSON containing message attributes.", + "properties": { + "customData": { + "description": "when category==”custom”, this property can have any JSON object.", + "type": "object" + } + }, + "type": "object" + }, + "multipleReceivers": { + "description": "JSON containing array of UIDs and GUID for whom the message must be sent. Format for multiple receivers - {\"uids\": [\"uid1\",\"uid2\"], \"guids\":[\"guid1\"]}", + "properties": { + "uids": { "type": "array", - "items": {} - }, - "reactionSchema": { - "description": "Response data", + "items": { + "type": "string" + } + }, + "guids": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, + "tags": { + "description": "A list of tags to identify specific messages.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, + "dataPointSchema": { + "description": "Response data", + "properties": { + "messagesSent": { + "type": "integer" + }, + "readReceipts": { + "type": "integer" + }, + "deliveryReceipts": { + "type": "integer" + }, + "startTime": { + "type": "integer" + }, + "endTime": { + "type": "integer" + } + }, + "type": "object" + }, + "deleteSchema": { + "properties": { + "success": { + "type": "boolean" + }, + "message": { + "type": "string" + } + }, + "type": "object" + }, + "email": { + "properties": { + "notifyForUnreadOnly": { + "description": "If the value is false, the notification will contain all the messages, not just unread.", + "type": "boolean" + }, + "intervalInSeconds": { + "type": "integer" + }, + "maxPerDay": { + "type": "integer" + }, + "maxPerDayPerConversation": { + "type": "integer" + } + }, + "type": "object" + }, + "fcmCreateProviderSchema": { + "properties": { + "providerId": { + "type": "string" + }, + "serviceAccountFilename": { + "type": "string" + }, + "serviceAccountCreds": { + "$ref": "#/components/schemas/ServiceAccountCreds" + }, + "notificationInPayload": { + "properties": { + "ios": { + "$ref": "#/components/schemas/SilentNotification" + }, + "android": { + "$ref": "#/components/schemas/SilentNotification" + }, + "web": { + "$ref": "#/components/schemas/SilentNotification" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "groupEntitySchema": { + "description": "Response data", + "properties": { + "id": { + "type": "string" + }, + "conversationId": { + "type": "string" + }, + "sender": { + "type": "string" + }, + "receiverType": { + "type": "string" + }, + "receiver": { + "type": "string" + }, + "category": { + "type": "string" + }, + "type": { + "type": "string" + }, + "data": { + "properties": { + "action": { + "type": "string" + }, + "entities": { "properties": { - "id": { - "type": "string" - }, - "messageId": { - "type": "string" - }, - "reaction": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "reactedAt": { - "type": "integer" - }, - "reactedBy": { + "by": { + "properties": { + "entity": { "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "conversationId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "roleSchema": { - "description": "Response data", - "properties": { - "role": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "role": { + "type": "string" + }, + "status": { + "type": "string" + }, + "createdAt": { + "type": "integer" + } + }, + "type": "object" + }, + "entityType": { "type": "string" + } }, - "metadata": { + "type": "object" + }, + "on": { + "properties": { + "entity": { + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "role": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "createdAt": { + "type": "integer" + } + }, "type": "object" - }, - "email": { + }, + "entityType": { "type": "string" + } }, - "settings": { + "type": "object" + }, + "for": { + "properties": { + "entity": { "properties": { - "listUsers": { - "type": "string" - }, - "sendMessagesTo": { - "type": "string" + "guid": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "string" } + }, + "type": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + }, + "description": { + "type": "string" + }, + "membersCount": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } }, "type": "object" + }, + "entityType": { + "type": "string" + } }, - "createdAt": { - "type": "integer" - } + "type": "object" + } }, "type": "object" - }, - "sms": { + } + }, + "type": "object" + }, + "avatar": { + "type": "string" + }, + "metadata": { + "properties": { + "email": { + "type": "string" + } + }, + "type": "object" + }, + "status": { + "type": "string" + }, + "role": { + "type": "string" + }, + "createdAt": { + "type": "integer" + } + }, + "type": "object" + }, + "groupMemberListSchema": { + "description": "Response data", + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "role": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "joinedAt": { + "type": "integer" + }, + "createdAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } + }, + "type": "object" + }, + "groupMemberSchema": { + "description": "Response data", + "properties": { + "usersToBan": { + "properties": { + "": { "properties": { - "notifyForUnreadOnly": { - "description": "If the value is false, the notification will contain all the messages, not just unread.", - "type": "boolean" - }, - "intervalInSeconds": { - "type": "integer" - }, - "maxPerDay": { - "type": "integer" - }, - "maxPerDayPerConversation": { - "type": "integer" - }, - "includeMessageObjectSetting": { - "description": "Includes the message object in the SMS payload", - "type": "boolean" - }, - "includeSenderMetadataSetting": { - "description": "Includes sender metadata in the message object", - "type": "boolean" - }, - "includeReceiverMetadataSetting": { - "description": "Includes receiver metadata in the message object", - "type": "boolean" - }, - "includeMessageMetadataSetting": { - "description": "Includes message metadata in the message object", - "type": "boolean" - } + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "triggerSchema": { - "description": "Response data", + "type": "object" + }, + "admins": { + "properties": { + "": { "properties": { - "id": { - "type": "string" - }, - "category": { - "type": "string" - }, - "description": { - "type": "string" - } + "success": { + "type": "boolean" + }, + "data": { + "type": "object" + } }, "type": "object" + } }, - "unmuteConversation": { + "type": "object" + }, + "moderators": { + "properties": { + "": { "properties": { - "id": { - "description": "uid or guid", - "type": "string" - }, - "type": { - "description": "oneOnOne or group", - "type": "string", - "enum": [ - "oneOnOne", - "group" - ] - } + "success": { + "type": "boolean" + }, + "data": { + "type": "object" + } }, "type": "object" + } }, - "unregisterpnToken": { - "required": [ - "authToken" - ], + "type": "object" + }, + "participants": { + "properties": { + "": { "properties": { - "authToken": { - "type": "string" - } + "success": { + "type": "boolean" + }, + "data": { + "type": "object" + } }, "type": "object" + } }, - "updatemessageSchema": { - "description": "Response data", - "properties": { - "id": { - "type": "string" - }, - "conversationId": { - "type": "string" - }, - "sender": { - "type": "string" - }, - "receiverType": { - "type": "string" - }, - "receiver": { - "type": "string" - }, - "category": { - "type": "string" + "type": "object" + } + }, + "type": "object" + }, + "groupSchema": { + "description": "Response data", + "properties": { + "guid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "type": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "membersCount": { + "type": "integer" + }, + "joinedAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + }, + "hasJoined": { + "type": "boolean" + }, + "owner": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + }, + "createdAt": { + "type": "integer" + } + }, + "type": "object" + }, + "interactionCardSchema": { + "title": "Card Schema", + "properties": {}, + "type": "object" + }, + "interactionFormSchema": { + "title": "Form Schema", + "properties": {}, + "type": "object" + }, + "messageCategorySchema": { + "properties": { + "receiver": { + "description": "The receiver of the message.", + "type": "string" + }, + "muid": { + "description": "The muid will be a unique Identifier of the message.", + "type": "string" + }, + "receiverType": { + "description": "The receiverType of the message. either user or group", + "type": "string", + "enum": [ + "user", + "group" + ] + }, + "category": { + "description": "Category of the message. The available categories are message and custom.", + "type": "string", + "default": "message", + "enum": [ + "message" + ] + }, + "type": { + "description": "Type of the message. The available values are text, image, file, audio, video.", + "type": "string", + "default": "text", + "enum": [ + "text", + "image", + "file", + "audio", + "video" + ] + }, + "data": { + "description": "JSON containing message attributes.", + "properties": { + "text": { + "type": "string" + }, + "metadata": { + "type": "object" + }, + "attachments": { + "description": "For the messages with image, video, audio or file type (i.e. category==\"message\" && type !=\"text\"), the property contains an array of attachment objects.", + "type": "array", + "items": { + "properties": { + "url": { + "description": "Contains the URL of the attachment.", + "type": "string" }, - "type": { - "type": "string" + "name": { + "description": "Name of the attachment.", + "type": "string" }, - "data": { - "properties": { - "action": { - "type": "string" - }, - "entities": { - "properties": { - "by": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "status": { - "type": "string" - }, - "role": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - }, - "for": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "role": { - "type": "string" - }, - "createdAt": { - "type": "integer" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - }, - "on": { - "properties": { - "entity": { - "properties": { - "id": { - "type": "string" - }, - "conversationId": { - "type": "string" - }, - "sender": { - "type": "string" - }, - "receiverType": { - "type": "string" - }, - "receiver": { - "type": "string" - }, - "category": { - "type": "string" - }, - "type": { - "type": "string" - }, - "data": { - "properties": { - "text": { - "type": "string" - }, - "entities": { - "properties": { - "sender": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "createdAt": { - "type": "string" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - }, - "receiver": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "conversationId": { - "type": "string" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "sentAt": { - "type": "integer" - }, - "editedAt": { - "type": "integer" - }, - "editedBy": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "tags": { - "type": "array", - "items": {} - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" + "mimeType": { + "description": "Mime Type of attachment.", + "type": "string" }, - "sentAt": { - "type": "integer" + "extension": { + "description": "The extension of the attachment.", + "type": "string" }, - "updatedAt": { - "type": "integer" + "size": { + "description": "The size of the attachment(in bytes).", + "type": "string" } - }, + }, + "type": "object" + } + } + }, + "type": "object" + }, + "multipleReceivers": { + "description": "JSON containing array of UIDs and GUID for whom the message must be sent. Format for multiple receivers - {\"uids\": [\"uid1\",\"uid2\"], \"guids\":[\"guid1\"]}", + "properties": { + "uids": { + "type": "array", + "items": { + "type": "string" + } + }, + "guids": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, + "tags": { + "description": "A list of tags to identify specific messages.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, + "messageMetaSchema": { + "properties": { + "current": { + "properties": { + "limit": { + "type": "integer" + }, + "count": { + "type": "integer" + } + }, + "type": "object" + }, + "next": { + "properties": { + "affix": { + "type": "string" + }, + "sentAt": { + "type": "integer" + }, + "id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "messageReactionSchema": { + "description": "Response data", + "properties": { + "id": { + "type": "string" + }, + "conversationId": { + "type": "string" + }, + "sender": { + "type": "string" + }, + "receiverType": { + "type": "string" + }, + "receiver": { + "type": "string" + }, + "category": { + "type": "string" + }, + "type": { + "type": "string" + }, + "data": { + "properties": { + "text": { + "type": "string" + }, + "metadata": { "type": "object" - }, - "usageMetricsSchema": { - "description": "Response data", + }, + "entities": { "properties": { - "metrics": { + "sender": { + "properties": { + "entity": { "properties": { - "audio_minutes": { - "type": "integer" - }, - "video_minutes": { - "type": "integer" - }, - "recorded_minutes": { - "type": "integer" - }, - "active_users": { - "type": "integer" - }, - "concurrent_users": { - "type": "integer" - } + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "role": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } }, "type": "object" + }, + "entityType": { + "type": "string" + } }, - "time_range": { + "type": "object" + }, + "receiver": { + "properties": { + "entity": { "properties": { - "fromDate": { - "type": "integer" - }, - "toDate": { - "type": "integer" - } + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "role": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } }, "type": "object" - } + }, + "entityType": { + "type": "string" + } + }, + "type": "object" + } }, "type": "object" - }, - "userConversationSchema": { - "description": "Response data", + } + }, + "type": "object" + }, + "reactions": { + "type": "array", + "items": { + "properties": { + "reaction": { + "type": "string" + }, + "count": { + "type": "integer" + }, + "reactedByMe": { + "type": "boolean" + } + }, + "type": "object" + } + }, + "sentAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + } + }, + "type": "object" + }, + "messageSchema": { + "description": "Response data", + "properties": { + "id": { + "type": "string" + }, + "conversationId": { + "type": "string" + }, + "sender": { + "type": "string" + }, + "receiverType": { + "type": "string" + }, + "receiver": { + "type": "string" + }, + "category": { + "type": "string" + }, + "type": { + "type": "string" + }, + "data": { + "properties": { + "text": { + "type": "string" + }, + "metadata": { + "type": "object" + }, + "entities": { "properties": { - "conversationId": { - "type": "string" - }, - "conversationType": { - "type": "string" - }, - "unreadMessageCount": { + "sender": { + "properties": { + "entity": { + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "role": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } + }, + "type": "object" + }, + "entityType": { "type": "string" + } }, - "createdAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "lastMessage": { + "type": "object" + }, + "receiver": { + "properties": { + "entity": { "properties": { - "id": { - "type": "string" - }, - "conversationId": { - "type": "string" - }, - "sender": { - "type": "string" - }, - "receiverType": { - "type": "string" - }, - "receiver": { - "type": "string" - }, - "category": { - "type": "string" - }, - "type": { - "type": "string" - }, - "data": { - "type": "object", - "allOf": [ - { - "properties": { - "action": { - "type": "string" - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/objectEntitySchema" - } - ] - }, - "sentAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - } + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "role": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } }, "type": "object" + }, + "entityType": { + "type": "string" + } }, - "conversationWith": { - "type": "object" - } + "type": "object" + } }, "type": "object" - }, - "userReceiverDetails": { - "required": [ - "uid", - "name" - ], + } + }, + "type": "object" + }, + "sentAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + } + }, + "type": "object" + }, + "metaSchema": { + "properties": { + "pagination": { + "properties": { + "total": { + "type": "integer" + }, + "count": { + "type": "integer" + }, + "per_page": { + "type": "integer" + }, + "current_page": { + "type": "integer" + }, + "total_pages": { + "type": "integer" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "muteConversation": { + "properties": { + "id": { + "description": "uid or guid", + "type": "string" + }, + "type": { + "description": "oneOnOne or group", + "type": "string", + "enum": [ + "oneOnOne", + "group" + ] + }, + "until": { + "description": "This is a valid timestamp from the future, E.g: 1710696964705", + "type": "integer", + "format": "int64" + } + }, + "type": "object" + }, + "objectEntitySchema": { + "properties": { + "entities": { + "properties": { + "by": { "properties": { - "uid": { - "description": "The primary-key/ unique identifier of the receiver.", - "type": "string" - }, - "name": { - "description": "Name of the receiver.", + "entity": { + "properties": { + "uid": { "type": "string" - }, - "avatar": { - "description": "URL to the profile picture of the user receiving the message.", + }, + "name": { "type": "string" - }, - "link": { - "description": "Profile page URL of the receiver.", + }, + "status": { "type": "string" - }, - "role": { - "description": "Role of the receiver. Should be created already via the Create role API.", + }, + "role": { "type": "string" - }, - "createdAt": { - "description": "A 10-digit timestamp at which the receiver was created.", + }, + "createdAt": { "type": "integer" + } }, - "metadata": { - "description": "Additional details about the receiver.", - "type": "object" - }, - "tags": { - "description": "A string array containing receiver tags.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - } + "type": "object" + }, + "entityType": { + "type": "string" + } }, "type": "object" - }, - "userSchema": { - "description": "Response data", + }, + "for": { "properties": { - "uid": { + "entity": { + "properties": { + "guid": { "type": "string" - }, - "name": { + }, + "icon": { "type": "string" - }, - "avatar": { + }, + "name": { "type": "string" - }, - "metadata": { - "properties": { - "email": { - "type": "string" - } - }, - "type": "object" - }, - "status": { + }, + "type": { "type": "string" - }, - "role": { + }, + "owner": { "type": "string" - }, - "createdAt": { + }, + "createdAt": { "type": "integer" - } - }, - "type": "object" - }, - "userSenderDetails": { - "required": [ - "uid", - "name" - ], - "properties": { - "uid": { - "description": "The primary-key/ unique identifier of the sender.", - "type": "string" - }, - "name": { - "description": "Name of the sender.", - "type": "string" - }, - "avatar": { - "description": "URL to the profile picture of the user sending the message.", - "type": "string" - }, - "link": { - "description": "Profile page URL of the sender.", - "type": "string" - }, - "role": { - "description": "Role of the sender. Should be created already via the Create role API.", - "type": "string" - }, - "createdAt": { - "description": "A 10-digit timestamp at which the sender was created.", + }, + "updatedAt": { + "type": "integer" + }, + "updatedBy": { + "type": "integer" + }, + "description": { + "type": "integer" + }, + "membersCount": { + "type": "integer" + }, + "conversationId": { "type": "integer" + } }, - "metadata": { - "description": "Additional details about the sender.", - "type": "object" - }, - "tags": { - "description": "A string array containing sender tags.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - } + "type": "object" + }, + "entityType": { + "type": "string" + } }, "type": "object" - }, - "webhookSchema": { - "description": "Response data", + }, + "on": { "properties": { - "id": { + "entity": { + "properties": { + "uid": { "type": "string" - }, - "name": { + }, + "link": { "type": "string" - }, - "webhookURL": { + }, + "name": { "type": "string" - }, - "useBasicAuth": { - "type": "boolean" - }, - "username": { + }, + "role": { "type": "string" - }, - "password": { + }, + "avatar": { "type": "string" - }, - "enabled": { - "type": "boolean" - }, - "createdAt": { + }, + "status": { + "type": "string" + }, + "createdAt": { "type": "integer" - }, - "updatedAt": { + }, + "updatedAt": { "type": "integer" - } - }, - "type": "object" - } - }, - "parameters": { - "authToken": { - "name": "authToken", - "in": "path", - "description": "An auth token of a user.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Auth Token", - "value": "" - } - } - }, - "conversationId": { - "name": "conversationId", - "in": "path", - "description": "(Required) conversation id", - "required": true, - "schema": { - "type": "string" - } - }, - "uid--conversation": { - "name": "uid", - "in": "path", - "description": "UID of the user whose conversation needs to be fetched.", - "required": true, - "schema": { - "type": "string" - } - }, - "guid--conversation": { - "name": "guid", - "in": "path", - "description": "GUID of the group whose conversation needs to be fetched.", - "required": true, - "schema": { - "type": "string" - } - }, - "uid": { - "name": "uid", - "in": "path", - "description": "An UID of a user.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "UID", - "value": "" - } - } - }, - "guid": { - "name": "guid", - "in": "path", - "description": "A GUID of a group.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "GUID", - "value": "" - } - } - }, - "requiredonBehalfOf": { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the user on whose behalf the action is performed.", - "required": true, - "schema": { - "type": "string" - } - }, - "requiredAppId": { - "name": "appId", - "in": "header", - "description": "(Required) App ID", - "required": true, - "schema": { - "type": "string" - } - }, - "onBehalfOf": { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the user on whose behalf the action is performed.", - "schema": { - "type": "string" - } - }, - "messageId": { - "name": "messageId", - "in": "path", - "description": "messageId for the moderation service", - "required": true, - "schema": { - "type": "string" - } - }, - "ruleId": { - "name": "ruleId", - "in": "path", - "description": "Rule ID", - "required": true, - "schema": { - "type": "string" - } - }, - "keywordId": { - "name": "keywordId", - "in": "path", - "description": "Keyword ID", - "required": true, - "schema": { - "type": "string" - } - }, - "pushToken": { - "name": "pushToken", - "in": "path", - "description": "(Required) Push Token", - "required": true, - "schema": { - "type": "string" - } - }, - "providerId": { - "name": "providerId", - "in": "path", - "description": "Provider ID.", - "required": true, - "schema": { + }, + "conversationId": { + "type": "string" + } + }, + "type": "object" + }, + "entityType": { "type": "string" + } }, - "examples": { - "string": { - "summary": "Provider ID", - "value": "" - } - } + "type": "object" + } }, - "requiredUID": { - "name": "uid", - "in": "query", - "description": "(Required) UID", - "required": true, - "schema": { - "type": "string" - } - } + "type": "object" + } }, - "examples": { - "text-message": { - "summary": "Text Message example", - "value": { - "receiver": "cometchat-uid-2", - "receiverType": "user", - "category": "message", - "type": "text", - "data": { - "text": "Hello" - } - } - }, - "custom-message": { - "summary": "Custom Message example", - "value": { - "receiverType": "user", - "data": { - "customData": { - "text": "Hello there!" - } - }, - "category": "custom", - "type": "text", - "receiver": "cometchat-uid-2", - "tags": [ - "tag1" - ] - } - }, - "media-message": { - "summary": "Media Message example", - "value": { - "receiverType": "user", - "data": { - "text": "Hello there!", - "attachments": [ - { - "name": "ironman.png", - "extension": "png", - "mimeType": "image/png", - "url": "https: //files-.cometchat.io//media/.png?fat=" - } - ] - }, - "category": "message", - "type": "image", - "receiver": "cometchat-uid-2" - } - } + "type": "object" + }, + "oneOnOne": { + "properties": { + "messagesSetting": { + "description": "1: Don't notify\n2: Notify for all messages\n3: Notify for messages with mentions", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "messagesOverride": { + "type": "boolean" + }, + "repliesSetting": { + "description": "1: Don't notify\n2: Notify for all replies\n3: Notify for replies with mentions", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "repliesOverride": { + "type": "boolean" + }, + "reactionsSetting": { + "description": "1: Don't notify\n2: Notify for reactions received on own messages\n3: Notify for reactions received on all messages", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "reactionsOverride": { + "type": "boolean" + }, + "messageEditedSetting": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "messageDeletedSetting": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ] + } }, - "securitySchemes": { - "apiKey": { - "type": "apiKey", - "description": "API Key with fullAccess scope(i.e. Rest API Key from the Dashboard).", - "name": "apikey", - "in": "header" - } - } - }, - "tags": [ - { - "name": "API Keys", - "description": "The API keys are used to authorise the APIs" + "type": "object" + }, + "pnSettingSchema": { + "description": "Response data", + "properties": { + "preferences": { + "$ref": "#/components/schemas/Preferences" + }, + "sound": { + "$ref": "#/components/schemas/Sound" + }, + "templates": { + "$ref": "#/components/schemas/Templates" + } + }, + "type": "object" + }, + "pnTokenSchema": { + "description": "Response data", + "oneOf": [ + { + "title": "PlatformFCM", + "$ref": "#/components/schemas/PlatformFCM" + }, + { + "title": "PlatformAPNS", + "$ref": "#/components/schemas/PlatformAPNS" + }, + { + "title": "PlatformVOIP", + "$ref": "#/components/schemas/PlatformVOIP" + } + ] + }, + "pnUpdatePreferences": { + "description": "Response data", + "properties": { + "groupPreferences": { + "properties": { + "groupMessages": { + "description": "1: Don't notify\n2: Notify for all messages\n3: Notify for messages with mentions", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "groupReplies": { + "description": "1: Don't notify\n2: Notify for all replies\n3: Notify for replies with mentions", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "groupReactions": { + "description": "1: Don't notify\n2: Notify for reactions received on own messages\n3: Notify for reactions received on all messages", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "groupMemberLeft": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "groupMemberAdded": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "groupMemberJoined": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "groupMemberKicked": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "groupMemberBanned": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "groupMemberUnbanned": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "groupMemberScopeChanged": { + "description": "1: Don't notify\n2: Notify", + "type": "integer", + "enum": [ + 1, + 2 + ] + } + }, + "type": "object" + }, + "oneOnOnePreferences": { + "properties": { + "oneOnOneMessages": { + "description": "1: Don't notify\n2: Notify for all messages\n3: Notify for messages with mentions", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "oneOnOneReplies": { + "description": "1: Don't notify\n2: Notify for all replies\n3: Notify for replies with mentions", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "oneOnOneReactions": { + "description": "1: Don't notify\n2: Notify for reactions received on own messages\n3: Notify for reactions received on all messages", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + } + }, + "type": "object" + }, + "mutePreferences": { + "$ref": "#/components/schemas/MutePreferences" + }, + "usePrivacyTemplate": { + "type": "boolean" + } }, - { - "name": "Roles", - "description": "The roles are used to give user access rights" + "type": "object" + }, + "pushNotificationSchema": { + "properties": { + "success": { + "type": "boolean" + } }, - { - "name": "Users", - "description": "The REST collection for users." + "type": "object" + }, + "pushProviders": { + "description": "Response data", + "type": "array", + "items": {} + }, + "reactionSchema": { + "description": "Response data", + "properties": { + "id": { + "type": "string" + }, + "messageId": { + "type": "string" + }, + "reaction": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "reactedAt": { + "type": "integer" + }, + "reactedBy": { + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "role": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } + }, + "type": "object" + } }, - { - "name": "Auth Tokens", - "description": "The auth tokens are used to login end users using client SDKs." + "type": "object" + }, + "roleSchema": { + "description": "Response data", + "properties": { + "role": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "metadata": { + "type": "object" + }, + "email": { + "type": "string" + }, + "settings": { + "properties": { + "listUsers": { + "type": "string" + }, + "sendMessagesTo": { + "type": "string" + } + }, + "type": "object" + }, + "createdAt": { + "type": "integer" + } }, - { - "name": "Blocked Users", - "description": "The REST collections for blocked users." + "type": "object" + }, + "sms": { + "properties": { + "notifyForUnreadOnly": { + "description": "If the value is false, the notification will contain all the messages, not just unread.", + "type": "boolean" + }, + "intervalInSeconds": { + "type": "integer" + }, + "maxPerDay": { + "type": "integer" + }, + "maxPerDayPerConversation": { + "type": "integer" + } }, - { - "name": "Friends", - "description": "List,add and remove friends by passing UID in path variables" + "type": "object" + }, + "triggerSchema": { + "description": "Response data", + "properties": { + "id": { + "type": "string" + }, + "category": { + "type": "string" + }, + "description": { + "type": "string" + } }, - { - "name": "Groups", - "description": "The REST collections for groups." + "type": "object" + }, + "unmuteConversation": { + "properties": { + "id": { + "description": "uid or guid", + "type": "string" + }, + "type": { + "description": "oneOnOne or group", + "type": "string", + "enum": [ + "oneOnOne", + "group" + ] + } }, - { - "name": "Banned Users", - "description": "Ban and Unban user by passing other UID in path variables." + "type": "object" + }, + "unregisterpnToken": { + "required": [ + "authToken" + ], + "properties": { + "authToken": { + "type": "string" + } + }, + "type": "object" + }, + "updatemessageSchema": { + "description": "Response data", + "properties": { + "id": { + "type": "string" + }, + "conversationId": { + "type": "string" + }, + "sender": { + "type": "string" + }, + "receiverType": { + "type": "string" + }, + "receiver": { + "type": "string" + }, + "category": { + "type": "string" + }, + "type": { + "type": "string" + }, + "data": { + "properties": { + "action": { + "type": "string" + }, + "entities": { + "properties": { + "by": { + "properties": { + "entity": { + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "status": { + "type": "string" + }, + "role": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + } + }, + "type": "object" + }, + "entityType": { + "type": "string" + } + }, + "type": "object" + }, + "for": { + "properties": { + "entity": { + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "role": { + "type": "string" + }, + "createdAt": { + "type": "integer" + } + }, + "type": "object" + }, + "entityType": { + "type": "string" + } + }, + "type": "object" + }, + "on": { + "properties": { + "entity": { + "properties": { + "id": { + "type": "string" + }, + "conversationId": { + "type": "string" + }, + "sender": { + "type": "string" + }, + "receiverType": { + "type": "string" + }, + "receiver": { + "type": "string" + }, + "category": { + "type": "string" + }, + "type": { + "type": "string" + }, + "data": { + "properties": { + "text": { + "type": "string" + }, + "entities": { + "properties": { + "sender": { + "properties": { + "entity": { + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "role": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "createdAt": { + "type": "integer" + } + }, + "type": "object" + }, + "entityType": { + "type": "string" + } + }, + "type": "object" + }, + "receiver": { + "properties": { + "entity": { + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "role": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } + }, + "type": "object" + }, + "entityType": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "sentAt": { + "type": "integer" + }, + "editedAt": { + "type": "integer" + }, + "editedBy": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + }, + "tags": { + "type": "array", + "items": {} + } + }, + "type": "object" + }, + "entityType": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "sentAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + } }, - { - "name": "Group Members", - "description": "The REST collections for group members." + "type": "object" + }, + "usageMetricsSchema": { + "description": "Response data", + "properties": { + "metrics": { + "properties": { + "audio_minutes": { + "type": "integer" + }, + "video_minutes": { + "type": "integer" + }, + "recorded_minutes": { + "type": "integer" + }, + "active_users": { + "type": "integer" + }, + "concurrent_users": { + "type": "integer" + } + }, + "type": "object" + }, + "time_range": { + "properties": { + "fromDate": { + "type": "integer" + }, + "toDate": { + "type": "integer" + } + }, + "type": "object" + } }, - { - "name": "Messages", - "description": "The REST collections for messages." + "type": "object" + }, + "userConversationSchema": { + "description": "Response data", + "properties": { + "conversationId": { + "type": "string" + }, + "conversationType": { + "type": "string" + }, + "unreadMessageCount": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + }, + "lastMessage": { + "properties": { + "id": { + "type": "string" + }, + "conversationId": { + "type": "string" + }, + "sender": { + "type": "string" + }, + "receiverType": { + "type": "string" + }, + "receiver": { + "type": "string" + }, + "category": { + "type": "string" + }, + "type": { + "type": "string" + }, + "data": { + "type": "object", + "allOf": [ + { + "properties": { + "action": { + "type": "string" + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/objectEntitySchema" + } + ] + }, + "sentAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + } + }, + "type": "object" + }, + "conversationWith": { + "type": "object" + } }, - { - "name": "Conversations", - "description": "The REST collections for conversations." + "type": "object" + }, + "userSchema": { + "description": "Response data", + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "metadata": { + "properties": { + "email": { + "type": "string" + } + }, + "type": "object" + }, + "status": { + "type": "string" + }, + "role": { + "type": "string" + }, + "createdAt": { + "type": "integer" + } }, - { - "name": "Restrict Features", - "description": "Allows Restricting Features" + "type": "object" + }, + "webhookSchema": { + "description": "Response data", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "webhookURL": { + "type": "string" + }, + "useBasicAuth": { + "type": "boolean" + }, + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "createdAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + } }, - { - "name": "Metrics", - "description": "Allows accessing Data Metrics" + "type": "object" + } + }, + "parameters": { + "authToken": { + "name": "authToken", + "in": "path", + "description": "An auth token of a user.", + "required": true, + "schema": { + "type": "string" }, - { - "name": "Triggers", - "description": "Allows adding triggers to a webhook." + "examples": { + "string": { + "summary": "Auth Token", + "value": "cometchat-uid-1_1625206799abcdef" + } + } + }, + "conversationId": { + "name": "conversationId", + "in": "path", + "description": "(Required) conversation id", + "required": true, + "schema": { + "type": "string" + } + }, + "uid--conversation": { + "name": "uid", + "in": "path", + "description": "UID of the user whose conversation is being accessed.", + "required": true, + "schema": { + "type": "string" + } + }, + "guid--conversation": { + "name": "guid", + "in": "path", + "description": "GUID of the group whose conversation is being accessed.", + "required": true, + "schema": { + "type": "string" + } + }, + "uid": { + "name": "uid", + "in": "path", + "description": "An UID of a user.", + "required": true, + "schema": { + "type": "string" }, - { - "name": "Webhooks", - "description": "Allows accessing Webhooks." + "examples": { + "string": { + "summary": "UID", + "value": "cometchat-uid-1" + } + } + }, + "guid": { + "name": "guid", + "in": "path", + "description": "A GUID of a group.", + "required": true, + "schema": { + "type": "string" }, - { - "name": "Notifications", - "description": "Allows configuring Notifications core." + "examples": { + "string": { + "summary": "GUID", + "value": "cometchat-guid-1" + } + } + }, + "requiredonBehalfOf": { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the user on whose behalf the action is performed.", + "required": true, + "schema": { + "type": "string" + } + }, + "requiredAppId": { + "name": "appId", + "in": "header", + "description": "(Required) App ID", + "required": true, + "schema": { + "type": "string" + } + }, + "onBehalfOf": { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the user on whose behalf the action is performed.", + "schema": { + "type": "string" + } + }, + "pushToken": { + "name": "pushToken", + "in": "path", + "description": "(Required) Push Token", + "required": true, + "schema": { + "type": "string" + } + }, + "providerId": { + "name": "providerId", + "in": "path", + "description": "Provider ID.", + "required": true, + "schema": { + "type": "string" }, - { - "name": "Moderation", - "description": "The REST collections for Moderations." + "examples": { + "string": { + "summary": "Provider ID", + "value": "provider_12345" + } + } + }, + "requiredUID": { + "name": "uid", + "in": "query", + "description": "(Required) UID", + "required": true, + "schema": { + "type": "string" } - ] + } + }, + "securitySchemes": { + "apiKey": { + "type": "apiKey", + "description": "API Key with fullAccess scope(i.e. Rest API Key from the Dashboard).", + "name": "apikey", + "in": "header" + } + } + }, + "tags": [ + { + "name": "API Keys", + "description": "The API keys are used to authorise the APIs" + }, + { + "name": "Roles", + "description": "The roles are used to give user access rights" + }, + { + "name": "Users", + "description": "The REST collection for users." + }, + { + "name": "Auth Tokens", + "description": "The auth tokens are used to login end users using client SDKs." + }, + { + "name": "Blocked Users", + "description": "The REST collections for blocked users." + }, + { + "name": "Friends", + "description": "List,add and remove friends by passing UID in path variables" + }, + { + "name": "Groups", + "description": "The REST collections for groups." + }, + { + "name": "Banned Users", + "description": "Ban and Unban user by passing other UID in path variables." + }, + { + "name": "Group Members", + "description": "The REST collections for group members." + }, + { + "name": "Messages", + "description": "The REST collections for messages." + }, + { + "name": "Conversations", + "description": "The REST collections for conversations." + }, + { + "name": "Restrict Features", + "description": "Allows Restricting Features" + }, + { + "name": "Metrics", + "description": "Allows accessing Data Metrics" + }, + { + "name": "Triggers", + "description": "Allows adding triggers to a webhook." + }, + { + "name": "Webhooks", + "description": "Allows accessing Webhooks." + }, + { + "name": "Notifications", + "description": "Allows configuring Notifications core." + } + ] } \ No newline at end of file diff --git a/chat-builder/nextjs/integration.mdx b/chat-builder/nextjs/integration.mdx index e48ca17b4..5c5690fea 100644 --- a/chat-builder/nextjs/integration.mdx +++ b/chat-builder/nextjs/integration.mdx @@ -549,7 +549,7 @@ Pass the `user` or `group` prop to specify which conversation opens by default. Start your development server: -``` +```bash npm run dev ``` diff --git a/chat-builder/react-router/integration.mdx b/chat-builder/react-router/integration.mdx index ab15891b5..c79372269 100644 --- a/chat-builder/react-router/integration.mdx +++ b/chat-builder/react-router/integration.mdx @@ -487,13 +487,13 @@ Start your application with the appropriate command based on your setup: -``` +```bash npm run dev ``` -``` +```bash npm start ``` diff --git a/chat-builder/react/integration.mdx b/chat-builder/react/integration.mdx index 802d8c61d..9d1732ad7 100644 --- a/chat-builder/react/integration.mdx +++ b/chat-builder/react/integration.mdx @@ -487,13 +487,13 @@ Start your application with the appropriate command based on your setup: -``` +```bash npm run dev ``` -``` +```bash npm start ``` diff --git a/data-import-apis.json b/data-import-apis.json index 98f9ea677..5585c22e2 100644 --- a/data-import-apis.json +++ b/data-import-apis.json @@ -1,5669 +1,3896 @@ { - "openapi": "3.0.0", - "info": { - "title": "Data Import APIs", - "description": "Manage messages, users, groups for a particular app using our Chat API.", - "version": "3.0" - }, - "servers": [ - { - "url": "https://{appid}.api-{region}.cometchat.io/v3", - "variables": { - "appid": { - "default": "appId", - "description": "(Required) App ID" - }, - "region": { - "enum": [ - "us", - "eu", - "in" - ], - "default": "us", - "description": "Select Region" - } - } + "openapi": "3.0.0", + "info": { + "title": "Data Import APIs", + "description": "Manage messages, users, groups for a particular app using our Chat API.", + "version": "3.0" + }, + "servers": [ + { + "url": "https://{appId}.api-{region}.cometchat.io/v3", + "variables": { + "appId": { + "default": "appId", + "description": "(Required) App ID" + }, + "region": { + "enum": [ + "us", + "eu", + "in" + ], + "default": "us", + "description": "Select Region" } - ], - "paths": { - "/data_import/messages": { - "post": { - "tags": [ - "Messages" + } + } + ], + "paths": { + "/data_import/messages": { + "post": { + "tags": [ + "Messages" + ], + "summary": "Import Messages", + "description": "The CometChat message import API allows customers to import their messages’ data into the CometChat systems.", + "operationId": "import-messages", + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": [ + "guid", + "name", + "type" ], - "summary": "Import Messages", - "description": "The CometChat message import API allows customers to import their messages’ data into the CometChat systems.", - "operationId": "import-messages", - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "guid", + "properties": { + "messages": { + "description": "Wrapper for the messages.", + "required": [ + "muid" + ], + "properties": { + "": { + "description": "Wraps a single message object. The <muid> will be a primary key/unique Identifier of the message.", + "required": [ + "muid", + "sender", + "receiverType", + "receiver", + "sentAt" + ], + "properties": { + "muid": { + "description": "The value should be the same as value of the placeholder <muid> which wraps the message object.", + "type": "string" + }, + "sender": { + "description": "UID of the sender.", + "type": "string" + }, + "receiverType": { + "description": "The receiverType of the message. either user or group", + "type": "string", + "enum": [ + "user", + "group" + ] + }, + "receiver": { + "description": "If the receiverType == “user” the UID of a user receiving the message. else GUID of the group.", + "type": "string" + }, + "category": { + "description": "Category of the message. The available categories are message and custom.", + "type": "string", + "enum": [ + "message", + "custom" + ] + }, + "type": { + "description": "If category==”message” then the allowed values for the type are: text: for a plain text message. image: for an image message audio: for an audio message video: for a video message file: for any file if category==”custom” the customized type can be used. The developer can send the type as any random string and can use it in the implementation at the UI", + "type": "string", + "enum": [ + "text", + "image", + "file", + "audio", + "video" + ] + }, + "data": { + "description": "Can contain any additional properties except for the key properties.", + "properties": { + "text": { + "description": "The property has a fixed meaning for: 1. category==”message” && type ==”text” ⇒ it stores the text message 2. category==”message” && type !=”text” ⇒ it stores a caption for the attachment", + "type": "string" + }, + "customData": { + "description": "when category==”custom”, this property can have any JSON object.", + "type": "object" + }, + "attachments": { + "description": "For the messages with image, video, audio or file type (i.e. category==\"message\" && type !=\"text\"), the property contains an array of attachment objects.", + "type": "array", + "items": { + "required": [ "name", - "type" - ], - "properties": { - "messages": { - "description": "Wrapper for the messages.", - "required": [ - "muid" - ], - "properties": { - "": { - "description": "Wraps a single message object. The **<muid>** will be a primary key/unique Identifier of the message.", - "required": [ - "muid", - "sender", - "receiverType", - "receiver", - "sentAt" - ], - "properties": { - "muid": { - "description": "The value should be the same as value of the placeholder **<muid>** which wraps the message object.", - "type": "string" - }, - "sender": { - "description": "UID of the sender.", - "type": "string" - }, - "receiverType": { - "description": "The receiverType of the message. either user or group", - "type": "string", - "enum": [ - "user", - "group" - ] - }, - "receiver": { - "description": "If the receiverType == “user” the UID of a user receiving the message. else GUID of the group.", - "type": "string" - }, - "category": { - "description": "Category of the message. The available categories are message and custom.", - "type": "string", - "enum": [ - "message", - "custom" - ] - }, - "type": { - "description": "If category==”message” then the allowed values for the type are: text: for a plain text message. image: for an image message audio: for an audio message video: for a video message file: for any file if category==”custom” the customized type can be used. The developer can send the type as any random string and can use it in the implementation at the UI", - "type": "string", - "enum": [ - "text", - "image", - "file", - "audio", - "video" - ] - }, - "data": { - "description": "Can contain any additional properties except for the key properties.", - "properties": { - "text": { - "description": "The property has a fixed meaning for: 1. category==”message” && type ==”text” ⇒ it stores the text message 2. category==”message” && type !=”text” ⇒ it stores a caption for the attachment", - "type": "string" - }, - "customData": { - "description": "when category==”custom”, this property can have any JSON object.", - "type": "object" - }, - "attachments": { - "description": "For the messages with image, video, audio or file type (i.e. category==\"message\" && type !=\"text\"), the property contains an array of attachment objects.", - "type": "array", - "items": { - "required": [ - "name", - "mimeType", - "extension", - "url" - ], - "properties": { - "url": { - "description": "Publicly accessible URL of the attachment.", - "type": "string" - }, - "name": { - "description": "Name of the attachment.", - "type": "string" - }, - "mimeType": { - "description": "Mime Type of attachment.", - "type": "string" - }, - "extension": { - "description": "The extension of the attachment.", - "type": "string" - }, - "size": { - "description": "The size of the attachment(in bytes).", - "type": "string" - } - }, - "type": "object" - } - }, - "metadata": { - "type": "object" - } - }, - "type": "object" - }, - "tags": { - "description": "String array containing developer defined tags.", - "type": "array", - "items": { - "type": "string" - } - }, - "sentAt": { - "description": "10-digit UNIX timestamp for the time at which the message was sent.", - "type": "integer" - }, - "deliveredAt": { - "description": "A 10-digit UNIX timestamp at which the message was delivered to the receiver.", - "type": "integer" - }, - "readAt": { - "description": "A 10-digit UNIX timestamp at which the message was read by the receiver.", - "type": "integer" - }, - "senderUserDetails": { - "description": "If all the users are imported before importing the messages. The JSON object contains the user details of the sender.", - "required": [ - "uid", - "name" - ], - "properties": { - "uid": { - "description": "The primary-key/ unique identifier of the sender.", - "type": "string" - }, - "name": { - "description": "Name of the sender.", - "type": "string" - }, - "avatar": { - "description": "URL to the profile picture of the user sending the message.", - "type": "string" - }, - "link": { - "description": "Profile page URL of the sender.", - "type": "string" - }, - "role": { - "description": "Role of the sender. Should be created already via the Create role API.", - "type": "string" - }, - "createdAt": { - "description": "A 10-digit timestamp at which the sender was created.", - "type": "integer" - }, - "lastActiveAt": { - "description": "A 10-digit UNIX timestamp at which the sender was most recently online.", - "type": "integer" - }, - "metadata": { - "description": "Additional details about the sender.", - "type": "object" - }, - "tags": { - "description": "A string array containing sender tags.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "deactivatedAt": { - "description": "A 10-digit UNIX timestamp at which the sender was deactivated/soft-deleted/blocked to use the chat services.", - "type": "integer" - } - }, - "type": "object" - }, - "receiverUserDetails": { - "description": "If all the users are imported before importing the messages or else required if receiverType==”user”. The JSON object contains the user details of the receiver.", - "required": [ - "uid", - "name" - ], - "properties": { - "uid": { - "description": "The primary-key/ unique identifier of the user receiving the message.", - "type": "string" - }, - "name": { - "description": "Name of the receiver.", - "type": "string" - }, - "avatar": { - "description": " URL to the profile picture of the receiver.", - "type": "string" - }, - "link": { - "description": "Profile page URL of the receiver.", - "type": "string" - }, - "role": { - "description": "Role of the receiver. Should be created already via the Create role API.", - "type": "string" - }, - "createdAt": { - "description": "A 10-digit timestamp at which the receiver was created.", - "type": "integer" - }, - "lastActiveAt": { - "description": "A 10-digit UNIX timestamp at which the receiver was most recently online.", - "type": "integer" - }, - "metadata": { - "description": "Additional details about the receiver.", - "type": "object" - }, - "tags": { - "description": "A string array containing receiver tags.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "deactivatedAt": { - "description": "A 10-digit UNIX timestamp at which the receiver was deactivated/soft-deleted/blocked to use the chat services.", - "type": "integer" - } - }, - "type": "object" - }, - "receiverGroupDetails": { - "description": "The JSON object contains the group details of the receiver.", - "required": [ - "guid", - "name", - "type" - ], - "properties": { - "guid": { - "description": "The primary-key/ unique identifier of the group.", - "type": "string" - }, - "name": { - "description": "Name of the group.", - "type": "string" - }, - "icon": { - "description": "An URL for a group icon.", - "type": "string" - }, - "type": { - "description": "Type of the group. Can be public, password or private.", - "type": "string", - "enum": [ - "public", - "password", - "private" - ] - }, - "password": { - "description": "A password required to join the the group with type password", - "type": "string" - }, - "owner": { - "description": "Owner of the group.", - "type": "string" - }, - "createdAt": { - "description": " A 10-digit UNIX timestamp at which the group was created.", - "type": "integer" - }, - "metadata": { - "description": "Additional data for the group.", - "type": "object" - }, - "tags": { - "description": "A string array containing grouptags.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - } - }, - "type": "object" - }, - "receiverGroupOwnerDetails": { - "description": "The JSON object contains the user details of the owner.", - "required": [ - "uid", - "name" - ], - "properties": { - "uid": { - "description": "The primary-key/ unique identifier of the owner.", - "type": "string" - }, - "name": { - "description": "Name of the owner.", - "type": "string" - }, - "avatar": { - "description": "URL to the profile picture of the owner.", - "type": "string" - }, - "link": { - "description": "Profile page URL of the owner.", - "type": "string" - }, - "role": { - "description": "Role of the owner. Should be created already via the Create role API.", - "type": "string" - }, - "createdAt": { - "description": "A 10-digit timestamp at which the owner was created.", - "type": "integer" - }, - "lastActiveAt": { - "description": "A 10-digit UNIX timestamp at which the owner was most recently online.", - "type": "integer" - }, - "metadata": { - "description": "Additional details about the owner.", - "type": "object" - }, - "tags": { - "description": "A string array containing owner tags.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "deactivatedAt": { - "description": "A 10-digit UNIX timestamp at which the owner was deactivated/soft-deleted/blocked to use the chat services.", - "type": "integer" - } - }, - "type": "object" - }, - "mentionedUserDetails": { - "description": "Optional field that provides user details when data.text includes a mention, formatted using CometChat’s mention template (<@uid:UID>).", - "properties": { - "": { - "description": "A map where each key is a user’s unique identifier (UID) and the value is that user’s details. The <uid> will be replaced by the mentioned user’s primary key.", - "properties": { - "": { - "required": [ - "uid", - "name" - ], - "properties": { - "uid": { - "description": "The primary-key/ unique identifier of the owner. The value should be the same as value of the placeholder which wraps the mentionedUserDetails object.", - "type": "string" - }, - "name": { - "description": "Name of the owner.", - "type": "string" - }, - "avatar": { - "description": "URL to the profile picture of the owner.", - "type": "string" - }, - "link": { - "description": "Profile page URL of the owner.", - "type": "string" - }, - "role": { - "description": "Role of the owner. Should be created already via the Create role API.", - "type": "string" - }, - "createdAt": { - "description": "A 10-digit timestamp at which the owner was created.", - "type": "integer" - }, - "lastActiveAt": { - "description": "A 10-digit UNIX timestamp at which the owner was most recently online.", - "type": "integer" - }, - "metadata": { - "description": "Additional details about the owner.", - "type": "object" - }, - "tags": { - "description": "A string array containing owner tags.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "deactivatedAt": { - "description": "A 10-digit UNIX timestamp at which the owner was deactivated/soft-deleted/blocked to use the chat services.", - "type": "integer" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object", - "example": { - "3118": { - "muid": "3118", - "sender": "s12", - "receiverType": "user", - "receiver": "r123", - "type": "text", - "category": "message", - "data": { - "text": "Hi there", - "attachments": [ - { - "name": "hi.png", - "extension": "png", - "size": "350.2", - "mimeType": "image/png", - "url": "https://data-eu.cometchat.io/assets/images/avatars/ironman.png" - } - ], - "metadata": { - "key": "value" - }, - "custodata": { - "key": "value" - } - }, - "sentAt": "1674104348", - "deliveredAt": "1674224684", - "readAt": "1674224684", - "senderUserDetails": { - "uid": "s12", - "name": "user1", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/ironman.png", - "createdAt": "1674228536", - "metadata": { - "key": "value" - } - }, - "receiverUserDetails": { - "uid": "r123", - "name": "superhero", - "type": "public", - "description": "Hello group", - "icon": "https://data-eu.cometchat.io/assets/images/avatars/ironman.png", - "owner": "superhero1", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/ironman.png", - "createdAt": "1674228536", - "metadata": { - "key": "value" - } - }, - "tags": [ - "tag1" - ], - "mentionedUserDetails": { - "example-uid-new": { - "uid": "example-uid-new", - "name": "example-uid" - } - } - } - } + "mimeType", + "extension", + "url" + ], + "properties": { + "url": { + "description": "Contains the URL of the attachment. The developer has to make sure that the URL is accessible while calling the data_import API. The API will be downloading the attachment from its current location and upload it to CometChat’s attachment storage.", + "type": "string" + }, + "name": { + "description": "Name of the attachment.", + "type": "string" + }, + "mimeType": { + "description": "Mime Type of attachment.", + "type": "string" + }, + "extension": { + "description": "The extension of the attachment.", + "type": "string" + }, + "size": { + "description": "The size of the attachment(in bytes).", + "type": "string" } - }, + }, + "type": "object" + } + }, + "metadata": { "type": "object" + } + }, + "type": "object" + }, + "tags": { + "description": "String array containing developer defined tags.", + "type": "array", + "items": { + "type": "string" } - } - } - }, - "responses": { - "200": { - "description": "Import Message(s)", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "type": "object", - "allOf": [ - { - "properties": { - "sentAt": {}, - "deliveredAt": {}, - "readAt": {} - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/messageSchema" - } - ] - } - }, - "type": "object" - } - }, - "type": "object" + }, + "sentAt": { + "description": "10-digit UNIX timestamp for the time at which the message was sent.", + "type": "integer" + }, + "deliveredAt": { + "description": "A 10-digit UNIX timestamp at which the message was delivered to the receiver.", + "type": "integer" + }, + "readAt": { + "description": "A 10-digit UNIX timestamp at which the message was read by the receiver.", + "type": "integer" + }, + "senderUserDetails": { + "description": "If all the users are imported before importing the messages. The JSON object contains the user details of the sender.", + "required": [ + "uid", + "name" + ], + "properties": { + "uid": { + "description": "The primary-key/ unique identifier of the sender.", + "type": "string" + }, + "name": { + "description": "Name of the sender.", + "type": "string" + }, + "avatar": { + "description": "URL to the profile picture of the user sending the message.", + "type": "string" + }, + "link": { + "description": "Profile page URL of the sender.", + "type": "string" + }, + "role": { + "description": "Role of the sender. Should be created already via the Create role API.", + "type": "string" + }, + "createdAt": { + "description": "A 10-digit timestamp at which the sender was created.", + "type": "integer" + }, + "lastActiveAt": { + "description": "A 10-digit UNIX timestamp at which the sender was most recently online.", + "type": "integer" + }, + "metadata": { + "description": "Additional details about the sender.", + "type": "object" + }, + "tags": { + "description": "A string array containing sender tags.", + "type": "array", + "items": { + "type": "string" }, - "example": { - "data": { - "3117": { - "success": true, - "data": { - "id": "1029", - "muid": "3117", - "conversationId": "r123_user_s12", - "sender": "s12", - "receiverType": "user", - "receiver": "r123", - "category": "message", - "type": "text", - "data": { - "text": "Hi there,", - "attachments": [ - { - "name": "hi.png", - "extension": "png", - "size": "350.2", - "mimeType": "image/png", - "url": "https://data-eu.cometchat.io/assets/images/avatars/ironman.png" - } - ], - "metad2ata": { - "key": "value" - }, - "custodata": { - "key": "value" - }, - "entities": { - "sender": { - "entity": { - "uid": "s12", - "name": "user1", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/ironman.png", - "metadata": { - "key": "value" - }, - "status": "offline", - "role": "default", - "createdAt": 1674228536, - "updatedAt": 1674232131 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "r123", - "name": "superhero", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/ironman.png", - "metadata": { - "key": "value" - }, - "status": "offline", - "role": "default", - "createdAt": 1674228536, - "updatedAt": 1674232131, - "conversationId": "r123_user_s12" - }, - "entityType": "user" - } - } - }, - "sentAt": 1674104348, - "deliveredAt": 1674224684, - "readAt": 1674224684, - "updatedAt": 1674104348, - "tags": [ - "tag1" - ] - } - } - } - } + "default": [] + }, + "deactivatedAt": { + "description": "A 10-digit UNIX timestamp at which the sender was deactivated/soft-deleted/blocked to use the chat services.", + "type": "integer" + } + }, + "type": "object" + }, + "receiverUserDetails": { + "description": "If all the users are imported before importing the messages or else required if receiverType==”user”. The JSON object contains the user details of the receiver.", + "required": [ + "uid", + "name" + ], + "properties": { + "uid": { + "description": "The primary-key/ unique identifier of the user receiving the message.", + "type": "string" + }, + "name": { + "description": "Name of the receiver.", + "type": "string" + }, + "avatar": { + "description": " URL to the profile picture of the receiver.", + "type": "string" + }, + "link": { + "description": "Profile page URL of the receiver.", + "type": "string" + }, + "role": { + "description": "Role of the receiver. Should be created already via the Create role API.", + "type": "string" + }, + "createdAt": { + "description": "A 10-digit timestamp at which the receiver was created.", + "type": "integer" + }, + "lastActiveAt": { + "description": "A 10-digit UNIX timestamp at which the receiver was most recently online.", + "type": "integer" + }, + "metadata": { + "description": "Additional details about the receiver.", + "type": "object" + }, + "tags": { + "description": "A string array containing receiver tags.", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "deactivatedAt": { + "description": "A 10-digit UNIX timestamp at which the receiver was deactivated/soft-deleted/blocked to use the chat services.", + "type": "integer" + } + }, + "type": "object" + }, + "receiverGroupDetails": { + "description": "The JSON object contains the group details of the receiver.", + "required": [ + "guid", + "name", + "type" + ], + "properties": { + "guid": { + "description": "The primary-key/ unique identifier of the group.", + "type": "string" + }, + "name": { + "description": "Name of the group.", + "type": "string" + }, + "icon": { + "description": "An URL for a group icon.", + "type": "string" + }, + "type": { + "description": "Type of the group. Can be public, password or private.", + "type": "string", + "enum": [ + "public", + "password", + "private" + ] + }, + "password": { + "description": "A password required to join the the group with type password", + "type": "string" + }, + "owner": { + "description": "Owner of the group.", + "type": "string" + }, + "createdAt": { + "description": " A 10-digit UNIX timestamp at which the group was created.", + "type": "integer" + }, + "metadata": { + "description": "Additional data for the group.", + "type": "object" + }, + "tags": { + "description": "A string array containing grouptags.", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + } + }, + "type": "object" + }, + "receiverGroupOwnerDetails": { + "description": "The JSON object contains the user details of the owner.", + "required": [ + "uid", + "name" + ], + "properties": { + "uid": { + "description": "The primary-key/ unique identifier of the owner.", + "type": "string" + }, + "name": { + "description": "Name of the owner.", + "type": "string" + }, + "avatar": { + "description": "URL to the profile picture of the owner.", + "type": "string" + }, + "link": { + "description": "Profile page URL of the owner.", + "type": "string" + }, + "role": { + "description": "Role of the owner. Should be created already via the Create role API.", + "type": "string" + }, + "createdAt": { + "description": "A 10-digit timestamp at which the owner was created.", + "type": "integer" + }, + "lastActiveAt": { + "description": "A 10-digit UNIX timestamp at which the owner was most recently online.", + "type": "integer" + }, + "metadata": { + "description": "Additional details about the owner.", + "type": "object" + }, + "tags": { + "description": "A string array containing owner tags.", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "deactivatedAt": { + "description": "A 10-digit UNIX timestamp at which the owner was deactivated/soft-deleted/blocked to use the chat services.", + "type": "integer" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object", + "example": { + "3118": { + "muid": "3118", + "sender": "s12", + "receiverType": "user", + "receiver": "r123", + "type": "text", + "category": "message", + "data": { + "text": "Hi there,", + "attachments": [ + { + "name": "hi.png", + "extension": "png", + "size": "350.2", + "mimeType": "image/png", + "url": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp" } - } + ], + "metadata": { + "key": "value" + }, + "custodata": { + "key": "value" + } + }, + "sentAt": "1674104348", + "deliveredAt": "1674224684", + "readAt": "1674224684", + "senderUserDetails": { + "uid": "s12", + "name": "user1", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", + "createdAt": "1674228536", + "metadata": { + "key": "value" + } + }, + "receiverUserDetails": { + "uid": "r123", + "name": "cometchat-uid-", + "type": "public", + "description": "Hello group", + "icon": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", + "owner": "cometchat-uid-1", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", + "createdAt": "1674228536", + "metadata": { + "key": "value" + } + }, + "tags": [ + "tag1" + ] + } } + } }, - "security": [ - { - "apiKey": [] - } - ] + "type": "object" + } } + } }, - "/data_import/users": { - "post": { - "tags": [ - "Users" - ], - "summary": "Import Users", - "description": "The CometChat user import API allows customers to import their users’ data into the CometChat systems.", - "operationId": "import-users", - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "users": { - "description": "Wrapper for the users.", - "required": [ - "uid" - ], - "properties": { - "": { - "description": "Wraps a user object. The **<uid>** will be a primary key/unique Identifier of the user.", - "required": [ - "uid", - "name" - ], - "properties": { - "uid": { - "description": "The value should be the same as value of the placeholder **<uid>** which wraps the user object.", - "type": "string" - }, - "name": { - "description": "name of the user.", - "type": "string" - }, - "avatar": { - "description": "URL to the profile picture of the user.", - "type": "string" - }, - "link": { - "description": "Profile page URL of the user.", - "type": "string" - }, - "role": { - "description": "Role of the user. Should be created already via the Create role API.", - "type": "string" - }, - "createdAt": { - "description": " A 10-digit UNIX timestamp at which the user was created.", - "type": "integer" - }, - "lastActiveAt": { - "description": "A 10-digit UNIX timestamp at which the user was most recently online.", - "type": "integer" - }, - "metadata": { - "description": "JSON object containing Additional user information.", - "type": "object" - }, - "tags": { - "description": "A string array containing usertags.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "deactivatedAt": { - "description": "A 10-digit UNIX timestamp at which the user was deactivated/soft-deleted/blocked to use the chat services.", - "type": "integer" - } - }, - "type": "object" - } - }, - "type": "object", - "example": { - "uid1": { - "uid": "uid1", - "name": "uid1", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/ironman.png", - "createdAt": "1673421419", - "metadata": { - "key": "value" - }, - "lastActiveAt": "1673421425" - } - } - } + "responses": { + "200": { + "description": "Import Message(s)", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "type": "object", + "allOf": [ + { + "properties": { + "sentAt": { + "type": "integer", + "description": "Unix timestamp" }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Import User(s)", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "type": "object", - "allOf": [ - { - "properties": { - "lastActiveAt": {}, - "deactivatedAt": {} - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/userSchema" - } - ] - } - }, - "type": "object" - } - }, - "type": "object" + "deliveredAt": { + "type": "integer", + "description": "Unix timestamp" }, - "example": { - "data": { - "uid1": { - "success": true, - "data": { - "uid": "uid1", - "name": "uid1", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/ironman.png", - "metadata": { - "key": "value" - }, - "status": "offline", - "role": "default", - "lastActiveAt": 1673421425, - "createdAt": 1673421419 - } - } - } + "readAt": { + "type": "integer", + "description": "Unix timestamp" } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/messageSchema" } + ] } + }, + "type": "object" } + }, + "type": "object" }, - "security": [ - { - "apiKey": [] + "example": { + "data": { + "3117": { + "success": true, + "data": { + "id": "1029", + "muid": "3117", + "conversationId": "r123_user_s12", + "sender": "s12", + "receiverType": "user", + "receiver": "r123", + "category": "message", + "type": "text", + "data": { + "text": "Hi there,", + "attachments": [ + { + "name": "hi.png", + "extension": "png", + "size": "350.2", + "mimeType": "image/png", + "url": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp" + } + ], + "metad2ata": { + "key": "value" + }, + "custodata": { + "key": "value" + }, + "entities": { + "sender": { + "entity": { + "uid": "s12", + "name": "user1", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", + "metadata": { + "key": "value" + }, + "status": "offline", + "role": "default", + "createdAt": 1674228536, + "updatedAt": 1674232131 + }, + "entityType": "user" + }, + "receiver": { + "entity": { + "uid": "r123", + "name": "cometchat-uid-", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", + "metadata": { + "key": "value" + }, + "status": "offline", + "role": "default", + "createdAt": 1674228536, + "updatedAt": 1674232131, + "conversationId": "r123_user_s12" + }, + "entityType": "user" + } + } + }, + "sentAt": 1674104348, + "deliveredAt": 1674224684, + "readAt": 1674224684, + "updatedAt": 1674104348, + "tags": [ + "tag1" + ] + } } - ] + } + } + } } + } }, - "/data_import/groups": { - "post": { - "tags": [ - "Groups" - ], - "summary": "Import Groups", - "description": "The CometChat group import API allows customers to import their groups’ data into the CometChat systems.", - "operationId": "import-groups", - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "groups": { - "description": "Wrapper for the groups.", - "required": [ - "guid" - ], - "properties": { - "": { - "description": "Wraps a group object. The **<guid>** will be a primary key/unique Identifier of the group.", - "required": [ - "guid", - "name", - "type" - ], - "properties": { - "guid": { - "description": "The value should be the same as value of the placeholder **<guid>** which wraps the group object.", - "type": "string" - }, - "name": { - "description": "name of the group.", - "type": "string" - }, - "icon": { - "description": "An URL for a group icon.", - "type": "string" - }, - "type": { - "description": "Type of the group. Can be public, password or private.", - "type": "string", - "enum": [ - "public", - "password", - "private" - ] - }, - "password": { - "description": "A password required to join the the group with type password", - "type": "string" - }, - "owner": { - "description": "Owner of the group.", - "type": "string" - }, - "createdAt": { - "description": " A 10-digit UNIX timestamp at which the group was created.", - "type": "integer" - }, - "metadata": { - "description": "Additional data for the group.", - "type": "object" - }, - "tags": { - "description": "A string array containing grouptags.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "groupOwnerDetails": { - "description": "The JSON object contains the user details of the owner.", - "required": [ - "uid", - "name" - ], - "properties": { - "uid": { - "description": "The primary-key/ unique identifier of the owner.", - "type": "string" - }, - "name": { - "description": "Name of the owner.", - "type": "string" - }, - "avatar": { - "description": "URL to the profile picture of the owner.", - "type": "string" - }, - "link": { - "description": "Profile page URL of the owner.", - "type": "string" - }, - "role": { - "description": "Role of the owner. Should be created already via the Create role API.", - "type": "string" - }, - "createdAt": { - "description": "A 10-digit timestamp at which the owner was created.", - "type": "integer" - }, - "lastActiveAt": { - "description": "A 10-digit UNIX timestamp at which the owner was most recently online.", - "type": "integer" - }, - "metadata": { - "description": "Additional details about the owner.", - "type": "object" - }, - "tags": { - "description": "A string array containing owner tags.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "deactivatedAt": { - "description": "A 10-digit UNIX timestamp at which the owner was deactivated/soft-deleted/blocked to use the chat services.", - "type": "integer" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object", - "example": { - "guid1": { - "guid": "guid1", - "name": "guid1", - "createdAt": "1673421419", - "type": "public", - "owner": "superhero1", - "groupOwnerDetails": { - "uid": "superhero1", - "name": "superhero1" - } - } - } - } - }, - "type": "object" - } - } + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/data_import/users": { + "post": { + "tags": [ + "Users" + ], + "summary": "Import Users", + "description": "The CometChat user import API allows customers to import their users’ data into the CometChat systems.", + "operationId": "import-users", + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "users": { + "description": "Wrapper for the users.", + "required": [ + "uid" + ], + "properties": { + "": { + "description": "Wraps a user object. The <uid> will be a primary key/unique Identifier of the user.", + "required": [ + "uid", + "name" + ], + "properties": { + "uid": { + "description": "The value should be the same as value of the placeholder <uid> which wraps the user object.", + "type": "string" + }, + "name": { + "description": "name of the user.", + "type": "string" + }, + "avatar": { + "description": "URL to the profile picture of the user.", + "type": "string" + }, + "link": { + "description": "Profile page URL of the user.", + "type": "string" + }, + "role": { + "description": "Role of the user. Should be created already via the Create role API.", + "type": "string" + }, + "createdAt": { + "description": " A 10-digit UNIX timestamp at which the user was created.", + "type": "integer" + }, + "lastActiveAt": { + "description": "A 10-digit UNIX timestamp at which the user was most recently online.", + "type": "integer" + }, + "metadata": { + "description": "JSON object containing Additional user information.", + "type": "object" + }, + "tags": { + "description": "A string array containing usertags.", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "deactivatedAt": { + "description": "A 10-digit UNIX timestamp at which the user was deactivated/soft-deleted/blocked to use the chat services.", + "type": "integer" + } + }, + "type": "object" + } + }, + "type": "object", + "example": { + "uid1": { + "uid": "uid1", + "name": "uid1", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", + "createdAt": "1673421419", + "metadata": { + "key": "value" + }, + "lastActiveAt": "1673421425" + } } + } }, - "responses": { - "200": { - "description": "Import Group(s)", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/groupSchema" - } - ] - } - }, - "type": "object" - } - }, - "type": "object" + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Import User(s)", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "type": "object", + "allOf": [ + { + "properties": { + "lastActiveAt": { + "type": "integer", + "description": "Unix timestamp" }, - "example": { - "data": { - "guid1": { - "success": true, - "data": { - "guid": "guid1", - "name": "guid1", - "type": "public", - "conversationId": "group_guid1", - "createdAt": 1673421419, - "owner": "superhero1" - } - } - } + "deactivatedAt": { + "type": "integer", + "description": "Unix timestamp" } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/userSchema" } + ] } + }, + "type": "object" } + }, + "type": "object" }, - "security": [ - { - "apiKey": [] + "example": { + "data": { + "uid1": { + "success": true, + "data": { + "uid": "uid1", + "name": "uid1", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", + "metadata": { + "key": "value" + }, + "status": "offline", + "role": "default", + "lastActiveAt": 1673421425, + "createdAt": 1673421419 + } } - ] + } + } + } } + } }, - "/data_import/members": { - "post": { - "tags": [ - "Groups" - ], - "summary": "Import Group Members", - "description": "The CometChat group member import API allows customers to import their group members’ data into the CometChat systems.", - "operationId": "import-members", - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "members": { - "description": "Wrapper for the members.", - "required": [ - "memberId" - ], - "properties": { - "_member_": { - "description": "Wraps a single member object. The **<guid>_member_<uid>** will will be a primary key/unique Identifier of the member.", - "required": [ - "memberId", - "guid", - "uid" - ], - "properties": { - "memberId": { - "description": "The value should be the same as value of the placeholder **<guid>_member_<uid>** which wraps the member object.", - "type": "string" - }, - "guid": { - "description": "Id of the group.", - "type": "string" - }, - "uid": { - "description": "Id of user.", - "type": "string" - }, - "scope": { - "description": "Scope of the member in group.", - "type": "string" - }, - "isBanned": { - "description": "Specify if user is banned in group.", - "type": "boolean" - }, - "joinedAt": { - "description": " A 10-digit UNIX timestamp at which the member joined the group.", - "type": "integer" - }, - "groupDetails": { - "description": "The JSON object contains the group details of the member.", - "required": [ - "guid", - "name", - "type" - ], - "properties": { - "guid": { - "description": "The primary-key/ unique identifier of the group.", - "type": "string" - }, - "name": { - "description": "Name of the group.", - "type": "string" - }, - "icon": { - "description": "An URL for a group icon.", - "type": "string" - }, - "type": { - "description": "Type of the group. Can be public, password or private.", - "type": "string", - "enum": [ - "public", - "password", - "private" - ] - }, - "password": { - "description": "A password required to join the the group with type password", - "type": "string" - }, - "owner": { - "description": "Owner of the group.", - "type": "string" - }, - "createdAt": { - "description": " A 10-digit UNIX timestamp at which the group was created.", - "type": "integer" - }, - "metadata": { - "description": "Additional data for the group.", - "type": "object" - }, - "tags": { - "description": "A string array containing grouptags.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - } - }, - "type": "object" - }, - "userDetails": { - "description": "The JSON object contains the user details of the member.", - "required": [ - "uid", - "name" - ], - "properties": { - "uid": { - "description": "The primary-key/ unique identifier of the member.", - "type": "string" - }, - "name": { - "description": "Name of the member.", - "type": "string" - }, - "avatar": { - "description": "URL to the profile picture of the member.", - "type": "string" - }, - "link": { - "description": "Profile page URL of the user.", - "type": "string" - }, - "role": { - "description": "Role of the user. Should be created already via the Create role API.", - "type": "string" - }, - "createdAt": { - "description": "A 10-digit timestamp at which the member was created.", - "type": "integer" - }, - "lastActiveAt": { - "description": "A 10-digit UNIX timestamp at which the member was most recently online.", - "type": "integer" - }, - "metadata": { - "description": "JSON object containing Additional member information.", - "type": "object" - }, - "tags": { - "description": "A string array containing member tags.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "deactivatedAt": { - "description": "A 10-digit UNIX timestamp at which the member was deactivated/soft-deleted/blocked to use the chat services.", - "type": "integer" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object", - "example": { - "guid1_member_uid2": { - "memberId": "guid1_member_uid2", - "uid": "uid2", - "guid": "guid1", - "joinedAt": "1673421419", - "scope": "admin", - "groupDetails": { - "guid": "guid1", - "name": "guid1", - "type": "public", - "owner": "uid1", - "createdAt": "1673421419" - }, - "userDetails": { - "uid": "uid2", - "name": "uid2" - } - } - } - } - }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/data_import/groups": { + "post": { + "tags": [ + "Groups" + ], + "summary": "Import Groups", + "description": "The CometChat group import API allows customers to import their groups’ data into the CometChat systems.", + "operationId": "import-groups", + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "groups": { + "description": "Wrapper for the groups.", + "required": [ + "guid" + ], + "properties": { + "": { + "description": "Wraps a group object. The <guid> will be a primary key/unique Identifier of the group.", + "required": [ + "guid", + "name", + "type" + ], + "properties": { + "guid": { + "description": "The value should be the same as value of the placeholder <guid> which wraps the group object.", + "type": "string" + }, + "name": { + "description": "name of the group.", + "type": "string" + }, + "icon": { + "description": "An URL for a group icon.", + "type": "string" + }, + "type": { + "description": "Type of the group. Can be public, password or private.", + "type": "string", + "enum": [ + "public", + "password", + "private" + ] + }, + "password": { + "description": "A password required to join the the group with type password", + "type": "string" + }, + "owner": { + "description": "Owner of the group.", + "type": "string" + }, + "createdAt": { + "description": " A 10-digit UNIX timestamp at which the group was created.", + "type": "integer" + }, + "metadata": { + "description": "Additional data for the group.", + "type": "object" + }, + "tags": { + "description": "A string array containing grouptags.", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "groupOwnerDetails": { + "description": "The JSON object contains the user details of the owner.", + "required": [ + "uid", + "name" + ], + "properties": { + "uid": { + "description": "The primary-key/ unique identifier of the owner.", + "type": "string" + }, + "name": { + "description": "Name of the owner.", + "type": "string" + }, + "avatar": { + "description": "URL to the profile picture of the owner.", + "type": "string" + }, + "link": { + "description": "Profile page URL of the owner.", + "type": "string" + }, + "role": { + "description": "Role of the owner. Should be created already via the Create role API.", + "type": "string" + }, + "createdAt": { + "description": "A 10-digit timestamp at which the owner was created.", + "type": "integer" + }, + "lastActiveAt": { + "description": "A 10-digit UNIX timestamp at which the owner was most recently online.", + "type": "integer" + }, + "metadata": { + "description": "Additional details about the owner.", "type": "object" - } + }, + "tags": { + "description": "A string array containing owner tags.", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "deactivatedAt": { + "description": "A 10-digit UNIX timestamp at which the owner was deactivated/soft-deleted/blocked to use the chat services.", + "type": "integer" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object", + "example": { + "guid1": { + "guid": "guid1", + "name": "guid1", + "createdAt": "1673421419", + "type": "public", + "owner": "cometchat-uid-1", + "groupOwnerDetails": { + "uid": "cometchat-uid-1", + "name": "cometchat-uid-1" } + } } + } }, - "responses": { - "200": { - "description": "Import Group Member(s)", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/groupMemberSchema" - } - ] - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "guid1_member_uid2": { - "success": true, - "data": { - "guid": "guid1", - "uid": "uid2", - "scope": "admin", - "joinedAt": 1673421419 - } - } - } - } + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Import Group(s)", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/groupSchema" } + ] } + }, + "type": "object" } + }, + "type": "object" }, - "security": [ - { - "apiKey": [] - } - ] + "example": { + "data": { + "guid1": { + "success": true, + "data": { + "guid": "guid1", + "name": "guid1", + "type": "public", + "conversationId": "group_guid1", + "createdAt": 1673421419, + "owner": "cometchat-uid-1" + } + } + } + } + } } - } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } }, - "components": { - "schemas": { - "APIKeySchema": { - "description": "Response data", - "properties": { - "apiKey": { - "type": "string" - }, - "name": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "createdAt": { - "type": "integer" - } - }, - "type": "object" - }, - "CategoryType": { - "description": "Type of entries in the list", - "type": "string", - "enum": [ - "word", - "pattern", - "sentence-similarity" - ] - }, - "CommonFields": { - "properties": { - "authToken": { - "type": "string", - "example": "superhero3_1710141033938cf7e3c67cc44465440d" - }, - "timezone": { - "type": "string", - "example": "Asia/Kolkata" - } - }, - "type": "object" - }, - "Condition": { - "properties": { - "id": { - "description": "Unique identifier of a condition", - "type": "integer", - "example": 1 - }, - "entity": { - "description": "Entity type in which moderation will be performed.", - "type": "string", - "example": "message" - }, - "operand": { - "description": "Type of message content to moderate (e.g., text, image, video, custom).", - "type": "string", - "enum": [ - "text", - "image", - "video", - "custom" - ], - "example": "image" - }, - "operator": { - "description": "Operation to be performed for condition evaluation (e.g., contains, equals).", - "type": "string", - "enum": [ - "contains", - "equals" - ], - "example": "contains" - }, - "category": { - "description": "Type of entries for evaluation, either 'word' or 'pattern'.", - "type": "string", - "enum": [ - "word", - "pattern" - ], - "example": "word" - }, - "isKeywordReferencePresent": { - "description": "Indicates if the value contains a reference to a keyword list.", - "type": "boolean", - "example": false - }, - "isMediaPresent": { - "description": "Indicates if the incoming message contains media content.", - "type": "boolean", - "example": true - }, - "value": { - "description": "Actual value for the condition, or reference ID if isKeywordReferencePresent is true, or a formula if isMediaPresent is true.", - "type": "string", - "example": "violence_greaterThan_30" - } - }, - "type": "object" - }, - "CustomEmailProviderConfig": { - "properties": { - "isEnabled": { - "description": "Use custom provider", - "type": "boolean" - }, - "useStoredEmailID": { - "description": "If enabled, the webhook will be triggered for a user only if their email address is stored within CometChat.", - "type": "boolean" - }, - "webhookURL": { - "description": "The webhook URL to be triggered for the respective events.", - "type": "string" - }, - "useBasicAuth": { - "description": "To enable basic auth for the URL", - "type": "boolean" - }, - "basicAuthUsername": { - "description": "The username for Basic auth", - "type": "string" - }, - "basicAuthPassword": { - "description": "The password for Basic auth", - "type": "string" - } - }, - "type": "object" - }, - "CustomSMSProviderConfig": { - "properties": { - "isEnabled": { - "description": "Use custom provider", - "type": "boolean" - }, - "useStoredPhNo": { - "description": "If enabled, the webhook will be triggered for a user only if their phone number is stored within CometChat.", - "type": "boolean" - }, - "webhookURL": { - "description": "The webhook URL triggered for respective events", - "type": "string" - }, - "useBasicAuth": { - "description": "To enable basic auth for the URL", - "type": "boolean" - }, - "basicAuthUsername": { - "description": "The username for Basic auth", - "type": "string" - }, - "basicAuthPassword": { - "description": "The password for Basic auth", - "type": "string" - } - }, - "type": "object" - }, - "Day": { - "properties": { - "from": { - "type": "integer", - "format": "int32", - "maximum": 2359, - "minimum": 0 - }, - "to": { - "type": "integer", - "format": "int32", - "maximum": 2359, - "minimum": 0 - }, - "dnd": { - "type": "boolean" - } - }, - "type": "object" - }, - "Group": { - "properties": { - "messagesSetting": { - "description": "1: Don't notify\n2: Notify for all messages\n3: Notify for messages with mentions", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "messagesOverride": { - "type": "boolean" - }, - "repliesSetting": { - "description": "1: Don't notify\n2: Notify for all replies\n3: Notify for replies with mentions", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "repliesOverride": { - "type": "boolean" - }, - "reactionsSetting": { - "description": "1: Don't notify\n2: Notify for reactions received on own messages\n3: Notify for reactions received on all messages", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "reactionsOverride": { - "type": "boolean" - }, - "memberLeftSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "memberLeftOverride": { - "type": "boolean" - }, - "memberAddedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "memberAddedOverride": { - "type": "boolean" - }, - "memberJoinedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "memberJoinedOverride": { - "type": "boolean" - }, - "memberKickedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "memberKickedOverride": { - "type": "boolean" - }, - "memberBannedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "memberBannedOverride": { - "type": "boolean" - }, - "memberUnbannedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "memberUnbannedOverride": { - "type": "boolean" - }, - "memberScopeChangedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "memberScopeChangedOverride": { - "type": "boolean" - }, - "messageEditedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "messageDeletedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - } - }, - "type": "object" - }, - "GroupFilter": { - "required": [ - "entity", - "operand", - "operator", - "value", - "type" - ], - "properties": { - "entity": { - "description": "Type of entity for group filter", - "type": "string", - "enum": [ - "group" - ] - }, - "operand": { - "description": "Field to apply the filter on for 'group'", - "type": "string", - "enum": [ - "guid", - "name", - "type", - "tags", - "createdAt" - ] - }, - "operator": { - "description": "Operator to use for filtering", - "type": "string", - "enum": [ - "equals", - "notEquals", - "in", - "notIn", - "startsWith", - "endsWith", - "lessThan", - "greaterThan" - ], - "example": "equals" - }, - "value": { - "description": "Value for the filter", - "type": "string", - "example": "exampleValue" - }, - "type": { - "description": "Type of the filter, specifying sender or receiver", - "type": "string", - "enum": [ - "sender", - "receiver" - ], - "example": "sender" - } - }, - "type": "object" - }, - "KeywordList": { - "discriminator": { - "propertyName": "category", - "mapping": { - "word": "#/components/schemas/WordPatternSchema", - "pattern": "#/components/schemas/PatternSchema", - "sentence-similarity": "#/components/schemas/SentenceSimilaritySchema" - } - }, - "oneOf": [ - { - "$ref": "#/components/schemas/WordPatternSchema" - }, - { - "$ref": "#/components/schemas/PatternSchema" - }, - { - "$ref": "#/components/schemas/SentenceSimilaritySchema" - } - ] - }, - "MediaMessageTemplate": { - "properties": { - "titleOneOnOne": { - "type": "string", - "example": "{{message.data.entities.sender.entity.name}}" - }, - "titleGroup": { - "type": "string", - "example": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}" - }, - "body_image": { - "type": "string", - "example": "Has sent an {{message.type}}" - }, - "body_audio": { - "type": "string", - "example": "Has sent an {{message.type}}" - }, - "body_video": { - "type": "string", - "example": "Has sent a {{message.type}}" - }, - "body_file": { - "type": "string", - "example": "Has sent a {{message.type}}" - } - }, - "type": "object" - }, - "ModerationData": { - "properties": { - "id": { - "type": "string", - "example": "moderation-test" - }, - "name": { - "type": "string", - "example": "Video Moderation" - }, - "description": { - "type": "string", - "example": "AI-powered video moderation to detect unsafe content." - }, - "enabled": { - "type": "boolean", - "example": true - }, - "conditions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Condition" - } - }, - "action": { - "type": "array", - "items": { - "type": "string", - "example": "blockMessage" - } - }, - "active": { - "type": "boolean", - "example": true - }, - "createdAt": { - "type": "integer", - "example": 1720003247 - }, - "updatedAt": { - "type": "integer", - "example": 1720003247 - }, - "revisionId": { - "type": "string", - "example": "253179cf5f665257_moderation-test_1" - } - }, - "type": "object" - }, - "ModerationRequestBody": { - "properties": { - "id": { - "description": "Unique identifier for the moderation rule.", - "type": "string", - "example": "moderation-test" - }, - "name": { - "description": "Descriptive name for the moderation rule.", - "type": "string", - "example": "Video Moderation" - }, - "enabled": { - "description": "Indicates whether the rule is active.", - "type": "boolean", - "example": true - }, - "description": { - "description": "Detailed explanation of the rule's purpose.", - "type": "string", - "example": "AI-powered video moderation to detect unsafe content." - }, - "action": { - "description": "Actions to be taken when a violation is detected.", - "type": "array", - "items": { - "type": "string", - "example": "blockMessage" - } - }, - "filters": { - "description": "List of filters to apply", - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/UserFilter" - }, - { - "$ref": "#/components/schemas/GroupFilter" - } - ] - } - }, - "conditions": { - "description": "List of conditions that must be met for the rule to trigger.", - "type": "array", - "items": { - "$ref": "#/components/schemas/Condition" - } - } - }, - "type": "object" - }, - "Mute": { - "properties": { - "dndPreferenceOverride": { - "type": "boolean" - }, - "mutedGroupsOverride": { - "type": "boolean" - }, - "mutedOneOnOnesOverride": { - "type": "boolean" - }, - "schedulePreferenceSetting": { - "properties": { - "monday": { - "$ref": "#/components/schemas/Day" - }, - "tuesday": { - "$ref": "#/components/schemas/Day" - }, - "wednesday": { - "$ref": "#/components/schemas/Day" - }, - "thursday": { - "$ref": "#/components/schemas/Day" - }, - "friday": { - "$ref": "#/components/schemas/Day" - }, - "saturday": { - "$ref": "#/components/schemas/Day" - }, - "sunday": { - "$ref": "#/components/schemas/Day" - } - }, - "type": "object" - }, - "schedulePreferenceOverride": { - "type": "boolean" - } - }, - "type": "object" - }, - "MutePreferences": { - "properties": { - "dnd": { - "description": "1: Disable DND\n2: Enable DND", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "schedule": { - "$ref": "#/components/schemas/Schedule" - } - }, - "type": "object" - }, - "PNSuccess": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - }, - "PatternSchema": { - "required": [ - "category", - "searchTerms" - ], - "properties": { - "file": { - "description": "CSV file containing the keywords or regex patterns for the list.", - "type": "string", - "format": "binary" - }, - "id": { - "description": "Unique identifier for the pattern list.", - "type": "string", - "example": "ID-of-the-pattern-list" - }, - "name": { - "description": "Descriptive name for the pattern list.", - "type": "string", - "example": "Name of the pattern list" - }, - "description": { - "description": "Detailed explanation of the pattern list's purpose.", - "type": "string", - "example": "Description of the pattern list" - }, - "category": { - "$ref": "#/components/schemas/CategoryType" - }, - "searchTerms": { - "description": "Comma-separated values of keywords or regex patterns if no file is provided.", - "type": "string", - "example": "AI-powered video moderation to detect unsafe content." - } - }, - "type": "object" - }, - "PlatformAPNS": { - "allOf": [ - { - "properties": { - "platform": { - "type": "string", - "enum": [ - "apns_ios_device", - "apns_flutter_device", - "apns_react_native_device", - "apns_ionic_cordova_device" - ] - }, - "providerId": { - "type": "string", - "example": "apns-provider-2" - }, - "deviceToken": { - "type": "string" - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/CommonFields" - } - ] - }, - "PlatformFCM": { - "allOf": [ - { - "properties": { - "platform": { - "type": "string", - "enum": [ - "fcm_android", - "fcm_ios", - "fcm_web", - "fcm_flutter_android", - "fcm_flutter_ios", - "fcm_react_native_android", - "fcm_react_native_ios", - "fcm_ionic_cordova_android", - "fcm_ionic_cordova_ios" - ] - }, - "providerId": { - "type": "string", - "example": "fcm-provider-2" - }, - "fcmToken": { - "type": "string" - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/CommonFields" - } - ] - }, - "PlatformVOIP": { - "allOf": [ - { - "properties": { - "platform": { - "type": "string", - "enum": [ - "apns_ios_voip", - "apns_flutter_voip", - "apns_ionic_cordova_voip", - "apns_react_native_voip" - ] - }, - "providerId": { - "type": "string", - "example": "apns-provider-2" - }, - "voipToken": { - "type": "string" - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/CommonFields" - } - ] - }, - "Preferences": { - "properties": { - "push": { - "properties": { - "includeMessageObjectSetting": { - "description": "Include the message object in the push payload", - "type": "boolean" - }, - "includeSenderMetadataSetting": { - "description": "Include the sender's metadata as part of the message object", - "type": "boolean" - }, - "includeReceiverMetadataSetting": { - "description": "Include the receiver's metadata as part of the message object", - "type": "boolean" - }, - "trimTextFieldSetting": { - "description": "Trim the text field if present.", - "type": "boolean" - }, - "includeMessageMetadataSetting": { - "description": "Include the message's metadata as part of the message object", - "type": "boolean" - }, - "customJson": { - "description": "A custom JSON object for miscellaneous data", - "type": "object" - } - }, - "type": "object" - }, - "call": { - "properties": { - "initiatedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ], - "example": 2 - }, - "ongoingSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ], - "example": 2 - }, - "cancelledSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ], - "example": 2 - }, - "busySetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ], - "example": 2 - }, - "rejectedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ], - "example": 2 - }, - "unansweredSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ], - "example": 2 - }, - "endedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ], - "example": 2 - } - }, - "type": "object" - }, - "bypassPreferencesForMentions": { - "type": "boolean" - }, - "bypassPreferencesForGroupMentions": { - "type": "boolean" - }, - "group": { - "$ref": "#/components/schemas/Group" - }, - "oneOnOne": { - "$ref": "#/components/schemas/oneOnOne" - }, - "mute": { - "$ref": "#/components/schemas/Mute" - }, - "email": { - "$ref": "#/components/schemas/email" - }, - "sms": { - "$ref": "#/components/schemas/sms" - } - }, - "type": "object" - }, - "Schedule": { - "properties": { - "monday": { - "$ref": "#/components/schemas/Day" - }, - "tuesday": { - "$ref": "#/components/schemas/Day" - }, - "wednesday": { - "$ref": "#/components/schemas/Day" - }, - "thursday": { - "$ref": "#/components/schemas/Day" - }, - "friday": { - "$ref": "#/components/schemas/Day" - }, - "saturday": { - "$ref": "#/components/schemas/Day" - }, - "sunday": { - "$ref": "#/components/schemas/Day" - } - }, - "type": "object" - }, - "SchedulerSchema": { - "required": [ - "interactionGoal", - "allowSenderInteraction", - "interactiveData" - ], - "properties": { - "interactionGoal": { - "required": [ - "type", - "elementIds" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "anyAction", - "allOf", - "oneOf", - "none" - ] - }, - "elementIds": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - }, - "allowSenderInteraction": { - "type": "boolean" - }, - "interactiveData": { - "required": [ - "title", - "avatarUrl", - "bufferTime", - "icsFileUrl", - "availability", - "timezoneCode", - "duration", - "scheduleElement", - "goalCompletionText", - "dateRangeStart", - "dateRangeEnd" - ], - "properties": { - "title": { - "type": "string" - }, - "avatarUrl": { - "type": "string" - }, - "bufferTime": { - "type": "integer" - }, - "icsFileUrl": { - "type": "string" - }, - "timezoneCode": { - "type": "string" - }, - "duration": { - "type": "integer" - }, - "scheduleElement": { - "required": [ - "action", - "elementId", - "buttonText", - "elementType", - "disableAfterInteracted" - ], - "properties": { - "action": { - "required": [ - "url", - "actionType", - "method", - "dataKey", - "headers", - "payload" - ], - "properties": { - "url": { - "type": "string" - }, - "actionType": { - "type": "string" - }, - "method": { - "type": "string" - }, - "dataKey": { - "type": "string" - }, - "headers": { - "type": "object" - }, - "payload": { - "required": [ - "data", - "type", - "category", - "receiver", - "receiverType" - ], - "properties": { - "data": { - "properties": { - "text": { - "type": "string" - } - }, - "type": "object" - }, - "type": { - "type": "string" - }, - "category": { - "type": "string" - }, - "receiver": { - "type": "string" - }, - "receiverType": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "elementId": { - "type": "string" - }, - "buttonText": { - "type": "string" - }, - "elementType": { - "type": "string" - }, - "disableAfterInteracted": { - "type": "boolean" - } - }, - "type": "object" - }, - "goalCompletionText": { - "type": "string" - }, - "dateRangeStart": { - "type": "string", - "format": "date" - }, - "dateRangeEnd": { - "type": "string", - "format": "date" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "SentenceSimilaritySchema": { - "required": [ - "category", - "disallowedSentences" - ], - "properties": { - "file": { - "description": "CSV file containing the keywords or regex patterns for the list.", - "type": "string", - "format": "binary" - }, - "id": { - "description": "Unique identifier for the keyword list.", - "type": "string", - "example": "ID-of-the-sentences-list" - }, - "name": { - "description": "Descriptive name for the keyword list.", - "type": "string", - "example": "Name of the sentences list" - }, - "description": { - "description": "Detailed explanation of the keyword list's purpose.", - "type": "string", - "example": "Description of the sentences list" - }, - "category": { - "$ref": "#/components/schemas/CategoryType" - }, - "disallowedSentences": { - "description": "Comma-separated sentences that are disallowed if the category is 'sentence-similarity'.", - "type": "array", - "items": { - "type": "string" - }, - "example": [ - "Hello, let's connect on Whatsapp." - ] - } - }, - "type": "object" - }, - "ServiceAccountCreds": { - "properties": { - "project_id": { - "type": "string" - }, - "client_email": { - "type": "string" - }, - "private_key": { - "type": "string" - }, - "private_key_id": { - "type": "string" - } - }, - "type": "object" - }, - "SilentNotification": { - "properties": { - "chat": { - "type": "boolean" - }, - "call": { - "type": "boolean" - } - }, - "type": "object" - }, - "Sound": { - "properties": { - "chat": { - "type": "string" - }, - "call": { - "type": "string" - } - }, - "type": "object" - }, - "Template": { - "properties": { - "titleOneOnOne": { - "type": "string", - "example": "{{message.data.entities.sender.entity.name}}" - }, - "titleGroup": { - "type": "string", - "example": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}" - }, - "body": { - "type": "string", - "example": "New text message" - } - }, - "type": "object" - }, - "Templates": { - "properties": { - "usePrivacyTemplate": { - "description": "1: Use default templates\n2: Use privacy templates\n3: Use default templates with end-user privacy override", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "textMessageTemplateDefault": { - "$ref": "#/components/schemas/Template" - }, - "textMessageTemplatePrivacy": { - "$ref": "#/components/schemas/Template" - }, - "mediaMessageTemplateDefault": { - "$ref": "#/components/schemas/MediaMessageTemplate" - }, - "mediaMessageTemplatePrivacy": { - "$ref": "#/components/schemas/MediaMessageTemplate" - }, - "customMessageTemplateDefault": { - "allOf": [ - { - "properties": { - "body_fallback": { - "type": "string" - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/Template" - } - ] - }, - "customMessageTemplatePrivacy": { - "allOf": [ - { - "properties": { - "body_fallback": { - "type": "string" - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/Template" - } - ] - }, - "interactiveFormTemplateDefault": { - "$ref": "#/components/schemas/Template" - }, - "interactiveFormTemplatePrivacy": { - "$ref": "#/components/schemas/Template" - }, - "interactiveCardTemplateDefault": { - "$ref": "#/components/schemas/Template" - }, - "interactiveCardTemplatePrivacy": { - "$ref": "#/components/schemas/Template" - }, - "interactiveSchedulerTemplateDefault": { - "$ref": "#/components/schemas/Template" - }, - "interactiveSchedulerTemplatePrivacy": { - "$ref": "#/components/schemas/Template" - }, - "interactiveCustomTemplateDefault": { - "$ref": "#/components/schemas/Template" - }, - "interactiveCustomTemplatePrivacy": { - "$ref": "#/components/schemas/Template" - }, - "emailSubjectTemplateDefault": { - "properties": { - "subjectGroup": { - "type": "string", - "example": "While you were away..." - }, - "subjectOneOnOne": { - "type": "string", - "example": "While you were away..." - } - }, - "type": "object" - }, - "emailSubjectTemplatePrivacy": { - "properties": { - "subjectGroup": { - "type": "string", - "example": "While you were away..." - }, - "subjectOneOnOne": { - "type": "string", - "example": "While you were away..." - } - }, - "type": "object" - }, - "smsContentTemplateDefault": { - "properties": { - "bodyGroup": { - "type": "string", - "example": "You've received new messages in {{groupDetails.name}}! You can read the message at https://your-website.com." - }, - "bodyOneOnOne": { - "type": "string", - "example": "You've received new messages from {{sender.name}}! You can read the message at https://your-website.com." - } - }, - "type": "object" - }, - "smsContentTemplatePrivacy": { - "properties": { - "bodyGroup": { - "type": "string", - "example": "You've received new messages in {{groupDetails.name}}! You can read the message at https://your-website.com." - }, - "bodyOneOnOne": { - "type": "string", - "example": "You've received new messages from {{sender.name}}! You can read the message at https://your-website.com." - } - }, - "type": "object" - } - }, - "type": "object" - }, - "TimeRange": { - "required": [ - "from", - "to" - ], - "properties": { - "from": { - "type": "string" - }, - "to": { - "type": "string" - } - }, - "type": "object" - }, - "UserFilter": { - "required": [ - "entity", - "operand", - "operator", - "value", - "type" - ], - "properties": { - "type": { - "description": "Type of the filter, specifying sender or receiver", - "type": "string", - "enum": [ - "sender", - "receiver" - ], - "example": "sender" - }, - "entity": { - "description": "Type of entity for user filter", - "type": "string", - "enum": [ - "user" - ] - }, - "operand": { - "description": "Field to apply the filter on for 'user'", - "type": "string", - "enum": [ - "uid", - "name", - "role", - "tags", - "createdAt" - ] - }, - "operator": { - "description": "Operator to use for filtering", - "type": "string", - "enum": [ - "equals", - "not equals", - "in", - "not in", - "startsWith" - ], - "example": "equals" - }, - "value": { - "description": "Value for the filter", - "type": "string", - "example": "admin" - } - }, - "type": "object" - }, - "WordPatternSchema": { - "required": [ - "category", - "searchTerms" - ], - "properties": { - "file": { - "description": "CSV file containing the keywords or regex patterns for the list.", - "type": "string", - "format": "binary" - }, - "id": { - "description": "Unique identifier for the word list.", - "type": "string", - "example": "ID-of-the-word-list" - }, - "name": { - "description": "Descriptive name for the word list.", - "type": "string", - "example": "Name of the word list" - }, - "description": { - "description": "Detailed explanation of the word list's purpose.", - "type": "string", - "example": "Description of the word list" - }, - "category": { - "$ref": "#/components/schemas/CategoryType" - }, - "searchTerms": { - "description": "Comma-separated values of keywords or regex patterns if no file is provided.", - "type": "string", - "example": "AI-powered video moderation to detect unsafe content." - } - }, - "type": "object" - }, - "authTokenSchema": { - "description": "Response data", - "properties": { - "uid": { - "type": "string" - }, - "authToken": { - "type": "string" - }, - "createdAt": { - "type": "integer" - } - }, - "type": "object" - }, - "bannedUserSchema": { - "description": "Response data", - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "role": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "isBanned": { - "type": "boolean" - }, - "joinedAt": { - "type": "integer" - }, - "createdAt": { - "type": "integer" - } - }, - "type": "object" - }, - "blockedUserSchema": { - "description": "Response data", - "properties": { - "blockedByMe": { - "type": "boolean" - }, - "blockedByMeAt": { - "type": "integer" - }, - "blockedAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "conversationId": { - "type": "string" - } - }, - "type": "object" - }, - "conversationSchema": { - "description": "Response data", - "properties": { - "conversationId": { - "type": "string" - }, - "conversationType": { - "type": "string" - }, - "unreadMessageCount": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "lastMessage": { - "properties": { - "id": { - "type": "string" - }, - "conversationId": { - "type": "string" - }, - "sender": { - "type": "string" - }, - "receiverType": { - "type": "string" - }, - "receiver": { - "type": "string" - }, - "category": { - "type": "string" - }, - "type": { - "type": "string" - }, - "data": { - "type": "object", - "allOf": [ - { - "properties": { - "action": { - "type": "string" - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/objectEntitySchema" - } - ] - }, - "sentAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "receipts": { - "properties": { - "data": { - "type": "array", - "items": {} - } - }, - "type": "object" - } - }, - "type": "object" - }, - "conversationWith": { - "type": "object" - } - }, - "type": "object" - }, - "conversationWithSchema": { - "properties": { - "guid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "type": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "membersCount": { - "type": "integer" - }, - "joinedAt": { - "type": "integer" - }, - "conversationId": { - "type": "string" - }, - "hasJoined": { - "type": "boolean", - "default": "true" - }, - "createdAt": { - "type": "integer" - }, - "owner": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "updatedBy": { - "type": "string" - } - }, - "type": "object" - }, - "createApnsProvider": { - "properties": { - "providerId": { - "type": "string" - }, - "keyId": { - "type": "string" - }, - "teamId": { - "type": "string" - }, - "bundleId": { - "type": "string" - }, - "p8KeyFilename": { - "type": "string" - }, - "p8Key": { - "type": "string" - }, - "includeContentAvailable": { - "type": "boolean" - }, - "includeMutableContent": { - "type": "boolean" - }, - "productionMode": { - "type": "boolean" - } - }, - "type": "object" - }, - "customCategorySchema": { - "properties": { - "receiver": { - "description": "The receiver of the message.", - "type": "string" - }, - "muid": { - "description": "The muid will be a unique Identifier of the message.", - "type": "string" - }, - "receiverType": { - "description": "The receiverType of the message. either user or group", - "type": "string", - "enum": [ - "user", - "group" - ] - }, - "category": { - "description": "Category of the message. The available categories is custom.", - "type": "string", - "default": "custom", - "enum": [ - "custom" - ] - }, - "quotedMessageId": { - "description": "ID of the message being quoted.\nIf provided, the send message response will include a `quotedMessage` node\nin the response containing the referenced message object.", - "type": "string", - "default": "message", - "enum": [ - "message" - ] - }, - "type": { - "description": "Type of the message.", - "type": "string" - }, - "data": { - "description": "JSON containing message attributes.", - "properties": { - "customData": { - "description": "when category==”custom”, this property can have any JSON object.", - "type": "object" - } - }, - "type": "object" - }, - "multipleReceivers": { - "description": "JSON containing array of UIDs and GUID for whom the message must be sent. Format for multiple receivers - {\"uids\": [\"uid1\",\"uid2\"], \"guids\":[\"guid1\"]}", - "properties": { - "uids": { - "type": "array", - "items": { - "type": "string" - } - }, - "guids": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - }, - "tags": { - "description": "A list of tags to identify specific messages.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - }, - "customInteractiveSchema": { - "title": "Custom Interactive Schema", - "properties": { - "data": { - "type": "object" - } - }, - "type": "object" - }, - "dataPointSchema": { - "description": "Response data", - "properties": { - "messagesSent": { - "type": "integer" - }, - "readReceipts": { - "type": "integer" - }, - "deliveryReceipts": { - "type": "integer" - }, - "startTime": { - "type": "integer" - }, - "endTime": { - "type": "integer" - } - }, - "type": "object" - }, - "deleteSchema": { - "properties": { - "success": { - "type": "boolean" - }, - "message": { - "type": "string" - } - }, - "type": "object" - }, - "email": { - "properties": { - "notifyForUnreadOnly": { - "description": "If the value is false, the notification will contain all the messages, not just unread.", - "type": "boolean" - }, - "intervalInSeconds": { - "type": "integer" - }, - "maxPerDay": { - "type": "integer" - }, - "maxPerDayPerConversation": { - "type": "integer" - }, - "includeMessageObjectSetting": { - "description": "Includes the message object in the email payload", - "type": "boolean" - }, - "includeSenderMetadataSetting": { - "description": "Includes sender metadata in the message object", - "type": "boolean" - }, - "includeReceiverMetadataSetting": { - "description": "Includes receiver metadata in the message object", - "type": "boolean" - }, - "includeMessageMetadataSetting": { - "description": "Includes message metadata in the message object", - "type": "boolean" - } - }, - "type": "object" - }, - "fcmCreateProviderSchema": { - "properties": { - "providerId": { - "type": "string" - }, - "serviceAccountFilename": { - "type": "string" - }, - "serviceAccountCreds": { - "$ref": "#/components/schemas/ServiceAccountCreds" - }, - "notificationInPayload": { - "properties": { - "ios": { - "$ref": "#/components/schemas/SilentNotification" - }, - "android": { - "$ref": "#/components/schemas/SilentNotification" - }, - "web": { - "$ref": "#/components/schemas/SilentNotification" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "groupEntitySchema": { - "description": "Response data", - "properties": { - "id": { - "type": "string" - }, - "conversationId": { - "type": "string" - }, - "sender": { - "type": "string" - }, - "receiverType": { - "type": "string" - }, - "receiver": { - "type": "string" - }, - "category": { - "type": "string" - }, - "type": { - "type": "string" - }, - "data": { - "properties": { - "action": { - "type": "string" - }, - "entities": { - "properties": { - "by": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "status": { - "type": "string" - }, - "createdAt": { - "type": "integer" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - }, - "on": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "createdAt": { - "type": "integer" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - }, - "for": { - "properties": { - "entity": { - "properties": { - "guid": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "membersCount": { - "type": "integer" - }, - "conversationId": { - "type": "string" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "avatar": { - "type": "string" - }, - "metadata": { - "properties": { - "email": { - "type": "string" - } - }, - "type": "object" - }, - "status": { - "type": "string" - }, - "role": { - "type": "string" - }, - "createdAt": { - "type": "integer" - } - }, - "type": "object" - }, - "groupMemberListSchema": { - "description": "Response data", - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "role": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "joinedAt": { - "type": "integer" - }, - "createdAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "conversationId": { - "type": "string" - } - }, - "type": "object" - }, - "groupMemberSchema": { - "description": "Response data", - "properties": { - "usersToBan": { - "properties": { - "": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "admins": { - "properties": { - "": { - "properties": { - "success": { - "type": "boolean" - }, - "data": { - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "moderators": { - "properties": { - "": { - "properties": { - "success": { - "type": "boolean" - }, - "data": { - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "participants": { - "properties": { - "": { - "properties": { - "success": { - "type": "boolean" - }, - "data": { - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "groupReceiverDetails": { - "required": [ - "guid", - "name", - "type" - ], - "properties": { - "guid": { - "description": "The primary-key/ unique identifier of the group.", - "type": "string" - }, - "name": { - "description": "Name of the group.", - "type": "string" - }, - "icon": { - "description": "An URL for a group icon.", - "type": "string" - }, - "type": { - "description": "Type of the group. Can be public, password or private.", - "type": "string", - "enum": [ - "public", - "password", - "private" - ] - }, - "password": { - "description": "A password required to join the the group with type password", - "type": "string" - }, - "owner": { - "description": "Owner of the group.", - "type": "string" - }, - "createdAt": { - "description": " A 10-digit UNIX timestamp at which the group was created.", - "type": "integer" - }, - "metadata": { - "description": "Additional data for the group.", - "type": "object" - }, - "tags": { - "description": "A string array containing grouptags.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - } - }, - "type": "object" - }, - "groupSchema": { - "description": "Response data", - "properties": { - "guid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "type": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "membersCount": { - "type": "integer" - }, - "joinedAt": { - "type": "integer" - }, - "conversationId": { - "type": "string" - }, - "hasJoined": { - "type": "boolean" - }, - "owner": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "createdAt": { - "type": "integer" - } - }, - "type": "object" - }, - "interactionCardSchema": { - "title": "Card Schema", - "properties": { - "interactionGoal": { - "properties": { - "type": { - "type": "string", - "enum": [ - "anyOf", - "allOf", - "oneOf", - "none" - ] - }, - "elementIds": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - }, - "allowSenderInteraction": { - "type": "boolean" - }, - "interactiveData": { - "properties": { - "text": { - "type": "string" - }, - "cardActions": { - "type": "array", - "items": { - "properties": { - "elementType": { - "type": "string" - }, - "elementId": { - "type": "string" - }, - "defaultValue": { - "type": "string" - }, - "label": { - "type": "string" - }, - "optional": { - "type": "boolean" - }, - "maxLines": { - "type": "integer" - }, - "placeholder": { - "type": "object" - } - }, - "type": "object" - } - }, - "submitElement": { - "properties": { - "elementType": { - "type": "string" - }, - "elementId": { - "type": "string" - }, - "buttonText": { - "type": "string" - }, - "disableAfterInteracted": { - "type": "boolean" - }, - "optional": { - "type": "boolean" - }, - "action": { - "properties": { - "url": { - "type": "string" - }, - "method": { - "type": "string" - }, - "payload": { - "type": "object" - }, - "headers": { - "type": "object" - }, - "dataKey": { - "type": "string" - }, - "actionType": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "interactionFormSchema": { - "title": "Form Schema", - "properties": { - "interactionGoal": { - "properties": { - "type": { - "type": "string", - "enum": [ - "anyOf", - "allOf", - "oneOf", - "none" - ] - }, - "elementIds": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - }, - "allowSenderInteraction": { - "type": "boolean" - }, - "interactiveData": { - "properties": { - "text": { - "type": "string" - }, - "formFields": { - "type": "array", - "items": { - "properties": { - "elementType": { - "type": "string" - }, - "elementId": { - "type": "string" - }, - "defaultValue": { - "type": "string" - }, - "label": { - "type": "string" - }, - "optional": { - "type": "boolean" - }, - "maxLines": { - "type": "integer" - }, - "placeholder": { - "type": "object" - } - }, - "type": "object" - } - }, - "submitElement": { - "properties": { - "elementType": { - "type": "string" - }, - "elementId": { - "type": "string" - }, - "buttonText": { - "type": "string" - }, - "disableAfterInteracted": { - "type": "boolean" - }, - "optional": { - "type": "boolean" - }, - "action": { - "properties": { - "url": { - "type": "string" - }, - "method": { - "type": "string" - }, - "payload": { - "type": "object" - }, - "headers": { - "type": "object" - }, - "dataKey": { - "type": "string" - }, - "actionType": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "interactiveCategorySchema": { - "properties": { - "receiver": { - "description": "The receiver of the message.", - "type": "string" - }, - "muid": { - "description": "The muid will be a unique Identifier of the message.", - "type": "string" - }, - "receiverType": { - "description": "The receiverType of the message. either user or group", - "type": "string", - "enum": [ - "user", - "group" - ] - }, - "category": { - "description": "Category of the message. The available categories is interactive.", - "type": "string", - "default": "interactive", - "enum": [ - "interactive" - ] - }, - "type": { - "description": "Type of the message. The available values are card, form and customInteractive.", - "type": "string", - "default": "card", - "enum": [ - "card", - "form", - "customInteractive", - "scheduler" - ] - }, - "data": { - "description": "JSON containing message attributes. Please select the appropriate schema based on the type property.", - "type": "object", - "oneOf": [ - { - "$ref": "#/components/schemas/interactionFormSchema" - }, - { - "$ref": "#/components/schemas/interactionCardSchema" - }, - { - "$ref": "#/components/schemas/SchedulerSchema" - }, - { - "$ref": "#/components/schemas/customInteractiveSchema" - } - ] - }, - "multipleReceivers": { - "description": "JSON containing array of UIDs and GUID for whom the message must be sent. Format for multiple receivers - {\"uids\": [\"uid1\",\"uid2\"], \"guids\":[\"guid1\"]}", - "properties": { - "uids": { - "type": "array", - "items": { - "type": "string" - } - }, - "guids": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - }, - "tags": { - "description": "A list of tags to identify specific messages.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object", - "example": { - "receiverType": "user", - "data": { - "interactionGoal": { - "type": "allOf", - "elementIds": [ - "element8" - ] - }, - "allowSenderInteraction": true, - "interactiveData": { - "title": "Form Title", - "formFields": [ - { - "elementType": "textInput", - "elementId": "element1", - "defaultValue": "vivek", - "label": "Name", - "optional": false, - "maxLines": 1, - "placeholder": { - "text": "write your name here" - } - }, - { - "elementType": "textInput", - "elementId": "element2", - "label": "Last Name", - "optional": false, - "maxLines": 1 - }, - { - "elementType": "textInput", - "elementId": "element3", - "label": "Address", - "optional": false, - "maxLines": 5 - }, - { - "elementType": "dropdown", - "elementId": "element4", - "label": "Country", - "optional": false, - "defaultValue": "option1", - "options": [ - { - "value": "option1", - "label": "INDIA" - }, - { - "value": "option2", - "label": "AUSTRALIA" - } - ] - }, - { - "elementType": "checkbox", - "elementId": "element5", - "optional": true, - "label": "Services", - "options": [ - { - "value": "option1", - "label": "Garbage" - }, - { - "value": "option2", - "label": "Electricity Bill" - }, - { - "value": "option3", - "label": "Lift" - } - ], - "defaultValue": [ - "option1", - "option2" - ] - }, - { - "elementType": "singleSelect", - "elementId": "element6", - "optional": false, - "label": "Wing", - "defaultValue": "option1", - "options": [ - { - "value": "option1", - "label": "A Wing" - }, - { - "value": "option2", - "label": "B Wing" - } - ] - }, - { - "elementType": "button", - "elementId": "element9", - "buttonText": "About us", - "disableAfterInteracted": true, - "action": { - "actionType": "urlNavigation", - "url": "https://www.cometchat.com" - } - } - ], - "submitElement": { - "elementType": "button", - "elementId": "element8", - "buttonText": "Submit", - "disableAfterInteracted": true, - "action": { - "actionType": "apiAction", - "url": "https://10893f2ae68f59.api-us.cometchat-staging.com/v3.0/messages", - "method": "POST", - "payload": { - "category": "message", - "type": "text", - "data": { - "text": "Thanks For filling the Form!" - }, - "receiver": "superhero2", - "receiverType": "user" - }, - "headers": { - "appId": "10893f2ae68f59", - "Content-Type": "application/json", - "apiKey": "5797f2d3d103d7d78f085eb46bfd14d5c45ddfdf", - "onBehalfOf": "superhero1" - }, - "dataKey": "CometChatData" - } - } - } - }, - "category": "interactive", - "type": "form", - "receiver": "superhero1", - "tags": [ - "tag1" - ] - } - }, - "interactiveMessageSchema": { - "properties": { - "current": { - "properties": { - "limit": { - "type": "integer" - }, - "count": { - "type": "integer" - } - }, - "type": "object" - }, - "next": { - "properties": { - "affix": { - "type": "string" - }, - "sentAt": { - "type": "integer" - }, - "id": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "messageCategorySchema": { - "properties": { - "receiver": { - "description": "The receiver of the message.", - "type": "string" - }, - "muid": { - "description": "The muid will be a unique Identifier of the message.", - "type": "string" - }, - "receiverType": { - "description": "The receiverType of the message. either user or group", - "type": "string", - "enum": [ - "user", - "group" - ] - }, - "category": { - "description": "Category of the message. The available categories are message and custom.", - "type": "string", - "default": "message", - "enum": [ - "message" - ] - }, - "quotedMessageId": { - "description": "ID of the message being quoted.\nIf provided, the send message response will include a `quotedMessage` node\nin the response containing the referenced message object.", - "type": "string" - }, - "type": { - "description": "Type of the message. The available values are text, image, file, audio, video.", - "type": "string", - "default": "text", - "enum": [ - "text", - "image", - "file", - "audio", - "video" - ] - }, - "data": { - "description": "JSON containing message attributes.", - "properties": { - "text": { - "type": "string" - }, - "metadata": { - "type": "object" - }, - "attachments": { - "description": "For the messages with image, video, audio or file type (i.e. category==\"message\" && type !=\"text\"), the property contains an array of attachment objects.", - "type": "array", - "items": { - "properties": { - "url": { - "description": "Contains the URL of the attachment.", - "type": "string" - }, - "name": { - "description": "Name of the attachment.", - "type": "string" - }, - "mimeType": { - "description": "Mime Type of attachment.", - "type": "string" - }, - "extension": { - "description": "The extension of the attachment.", - "type": "string" - }, - "size": { - "description": "The size of the attachment(in bytes).", - "type": "string" - } - }, - "type": "object" - } - } - }, - "type": "object" - }, - "multipleReceivers": { - "description": "JSON containing array of UIDs and GUID for whom the message must be sent. Format for multiple receivers - {\"uids\": [\"uid1\",\"uid2\"], \"guids\":[\"guid1\"]}", - "properties": { - "uids": { - "type": "array", - "items": { - "type": "string" - } - }, - "guids": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - }, - "tags": { - "description": "A list of tags to identify specific messages.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - }, - "messageMetaSchema": { - "properties": { - "current": { - "properties": { - "limit": { - "type": "integer" - }, - "count": { - "type": "integer" - } - }, - "type": "object" - }, - "next": { - "properties": { - "affix": { - "type": "string" - }, - "sentAt": { - "type": "integer" - }, - "id": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "messageReactionSchema": { - "description": "Response data", - "properties": { - "id": { - "type": "string" - }, - "conversationId": { - "type": "string" - }, - "sender": { - "type": "string" - }, - "receiverType": { - "type": "string" - }, - "receiver": { - "type": "string" - }, - "category": { - "type": "string" - }, - "type": { - "type": "string" - }, - "data": { - "properties": { - "text": { - "type": "string" - }, - "metadata": { - "type": "object" - }, - "entities": { - "properties": { - "sender": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "conversationId": { - "type": "string" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - }, - "receiver": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "conversationId": { - "type": "string" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "reactions": { - "type": "array", - "items": { - "properties": { - "reaction": { - "type": "string" - }, - "count": { - "type": "integer" - }, - "reactedByMe": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "sentAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - } - }, - "type": "object" - }, - "messageSchema": { - "description": "Response data", - "properties": { - "id": { - "type": "string" - }, - "conversationId": { - "type": "string" - }, - "sender": { - "type": "string" - }, - "receiverType": { - "type": "string" - }, - "receiver": { - "type": "string" - }, - "category": { - "type": "string" - }, - "type": { - "type": "string" - }, - "data": { - "properties": { - "text": { - "type": "string" - }, - "metadata": { - "type": "object" - }, - "entities": { - "properties": { - "sender": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "conversationId": { - "type": "string" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - }, - "receiver": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "conversationId": { - "type": "string" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "sentAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - } - }, - "type": "object" - }, - "metaSchema": { - "properties": { - "pagination": { - "properties": { - "total": { - "type": "integer" - }, - "count": { - "type": "integer" - }, - "per_page": { - "type": "integer" - }, - "current_page": { - "type": "integer" - }, - "total_pages": { - "type": "integer" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "moderationMessageData": { - "description": "Can contain any additional properties except for the key properties.", - "properties": { - "text": { - "description": "The meaning of the `data.text` property depends on the values of `category` and `type`:\n1. When `category` is `'message'` and `type` is `'text'`, it represents the text content of the message.\n2. When `category` is `'message'` and `type` is not `'text'`, it represents the caption associated with the attachment.", - "type": "string" - }, - "customData": { - "description": "when category==”custom”, this property can have any JSON object.", - "type": "object" - }, - "attachments": { - "description": "For the messages with image, video, audio or file type (i.e. category==\"message\" && type !=\"text\"), the property contains an array of attachment objects.", - "type": "array", - "items": { + "/data_import/members": { + "post": { + "tags": [ + "Groups" + ], + "summary": "Import Group Members", + "description": "The CometChat group member import API allows customers to import their group members’ data into the CometChat systems.", + "operationId": "import-members", + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "members": { + "description": "Wrapper for the members.", + "required": [ + "memberId" + ], + "properties": { + "_member_": { + "description": "Wraps a single member object. The <guid>_member_<uid> will will be a primary key/unique Identifier of the member.", + "required": [ + "memberId", + "guid", + "uid" + ], + "properties": { + "memberId": { + "description": "The value should be the same as value of the placeholder <guid>_member_<uid> which wraps the member object.", + "type": "string" + }, + "guid": { + "description": "Id of the group.", + "type": "string" + }, + "uid": { + "description": "Id of user.", + "type": "string" + }, + "scope": { + "description": "Scope of the member in group.", + "type": "string" + }, + "isBanned": { + "description": "Specify if user is banned in group.", + "type": "boolean" + }, + "joinedAt": { + "description": " A 10-digit UNIX timestamp at which the member joined the group.", + "type": "integer" + }, + "groupDetails": { + "description": "The JSON object contains the group details of the member.", "required": [ - "name", - "mimeType", - "extension", - "url" + "guid", + "name", + "type" ], "properties": { - "url": { - "description": "Contains the URL of the attachment. The developer has to make sure that the URL is accessible while calling the API. The API will be downloading the attachment from its current location and upload it to CometChat’s attachment storage.", - "type": "string" - }, - "name": { - "description": "Name of the attachment.", - "type": "string" - }, - "mimeType": { - "description": "Mime Type of attachment.", - "type": "string" - }, - "extension": { - "description": "The extension of the attachment.", - "type": "string" + "guid": { + "description": "The primary-key/ unique identifier of the group.", + "type": "string" + }, + "name": { + "description": "Name of the group.", + "type": "string" + }, + "icon": { + "description": "An URL for a group icon.", + "type": "string" + }, + "type": { + "description": "Type of the group. Can be public, password or private.", + "type": "string", + "enum": [ + "public", + "password", + "private" + ] + }, + "password": { + "description": "A password required to join the the group with type password", + "type": "string" + }, + "owner": { + "description": "Owner of the group.", + "type": "string" + }, + "createdAt": { + "description": " A 10-digit UNIX timestamp at which the group was created.", + "type": "integer" + }, + "metadata": { + "description": "Additional data for the group.", + "type": "object" + }, + "tags": { + "description": "A string array containing grouptags.", + "type": "array", + "items": { + "type": "string" }, - "size": { - "description": "The size of the attachment(in bytes).", - "type": "string" - } + "default": [] + } }, "type": "object" - } - }, - "metadata": { - "type": "object" - } - }, - "type": "object" - }, - "muteConversation": { - "properties": { - "id": { - "description": "uid or guid", - "type": "string" - }, - "type": { - "description": "oneOnOne or group", - "type": "string", - "enum": [ - "oneOnOne", - "group" - ] - }, - "until": { - "description": "This is a valid timestamp from the future, E.g: 1710696964705", - "type": "integer", - "format": "int64" - } - }, - "type": "object" - }, - "objectEntitySchema": { - "properties": { - "entities": { - "properties": { - "by": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "status": { - "type": "string" - }, - "role": { - "type": "string" - }, - "createdAt": { - "type": "integer" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, + }, + "userDetails": { + "description": "The JSON object contains the user details of the member.", + "required": [ + "uid", + "name" + ], + "properties": { + "uid": { + "description": "The primary-key/ unique identifier of the member.", + "type": "string" + }, + "name": { + "description": "Name of the member.", + "type": "string" + }, + "avatar": { + "description": "URL to the profile picture of the member.", + "type": "string" + }, + "link": { + "description": "Profile page URL of the user.", + "type": "string" + }, + "role": { + "description": "Role of the user. Should be created already via the Create role API.", + "type": "string" + }, + "createdAt": { + "description": "A 10-digit timestamp at which the member was created.", + "type": "integer" + }, + "lastActiveAt": { + "description": "A 10-digit UNIX timestamp at which the member was most recently online.", + "type": "integer" + }, + "metadata": { + "description": "JSON object containing Additional member information.", "type": "object" - }, - "for": { - "properties": { - "entity": { - "properties": { - "guid": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - }, - "owner": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "updatedBy": { - "type": "integer" - }, - "description": { - "type": "integer" - }, - "membersCount": { - "type": "integer" - }, - "conversationId": { - "type": "integer" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } + }, + "tags": { + "description": "A string array containing member tags.", + "type": "array", + "items": { + "type": "string" }, - "type": "object" + "default": [] + }, + "deactivatedAt": { + "description": "A 10-digit UNIX timestamp at which the member was deactivated/soft-deleted/blocked to use the chat services.", + "type": "integer" + } }, - "on": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "link": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "conversationId": { - "type": "string" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } + }, + "type": "object", + "example": { + "guid1_member_uid2": { + "memberId": "guid1_member_uid2", + "uid": "uid2", + "guid": "guid1", + "joinedAt": "1673421419", + "scope": "admin", + "groupDetails": { + "guid": "guid1", + "name": "guid1", + "type": "public", + "owner": "uid1", + "createdAt": "1673421419" + }, + "userDetails": { + "uid": "uid2", + "name": "uid2" + } + } } + } }, "type": "object" - }, - "oneOnOne": { - "properties": { - "messagesSetting": { - "description": "1: Don't notify\n2: Notify for all messages\n3: Notify for messages with mentions", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "messagesOverride": { - "type": "boolean" - }, - "repliesSetting": { - "description": "1: Don't notify\n2: Notify for all replies\n3: Notify for replies with mentions", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "repliesOverride": { - "type": "boolean" - }, - "reactionsSetting": { - "description": "1: Don't notify\n2: Notify for reactions received on own messages\n3: Notify for reactions received on all messages", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "reactionsOverride": { - "type": "boolean" - }, - "messageEditedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "messageDeletedSetting": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - } - }, - "type": "object" - }, - "pnSettingSchema": { - "description": "Response data", - "properties": { - "preferences": { - "$ref": "#/components/schemas/Preferences" - }, - "sound": { - "$ref": "#/components/schemas/Sound" - }, - "templates": { - "$ref": "#/components/schemas/Templates" - } - }, - "type": "object" - }, - "pnTokenSchema": { - "description": "Response data", - "oneOf": [ - { - "$ref": "#/components/schemas/PlatformFCM" - }, - { - "$ref": "#/components/schemas/PlatformAPNS" - }, - { - "$ref": "#/components/schemas/PlatformVOIP" - } - ] - }, - "pnUpdatePreferences": { - "description": "Response data", - "properties": { - "groupPreferences": { - "properties": { - "groupMessages": { - "description": "1: Don't notify\n2: Notify for all messages\n3: Notify for messages with mentions", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "groupReplies": { - "description": "1: Don't notify\n2: Notify for all replies\n3: Notify for replies with mentions", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "groupReactions": { - "description": "1: Don't notify\n2: Notify for reactions received on own messages\n3: Notify for reactions received on all messages", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "groupMemberLeft": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "groupMemberAdded": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "groupMemberJoined": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "groupMemberKicked": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "groupMemberBanned": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "groupMemberUnbanned": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - }, - "groupMemberScopeChanged": { - "description": "1: Don't notify\n2: Notify", - "type": "integer", - "enum": [ - 1, - 2 - ] - } - }, - "type": "object" - }, - "oneOnOnePreferences": { - "properties": { - "oneOnOneMessages": { - "description": "1: Don't notify\n2: Notify for all messages\n3: Notify for messages with mentions", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "oneOnOneReplies": { - "description": "1: Don't notify\n2: Notify for all replies\n3: Notify for replies with mentions", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] - }, - "oneOnOneReactions": { - "description": "1: Don't notify\n2: Notify for reactions received on own messages\n3: Notify for reactions received on all messages", - "type": "integer", - "enum": [ - 1, - 2, - 3 - ] + } + } + } + }, + "responses": { + "200": { + "description": "Import Group Member(s)", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/groupMemberSchema" } - }, - "type": "object" - }, - "mutePreferences": { - "$ref": "#/components/schemas/MutePreferences" - }, - "usePrivacyTemplate": { - "type": "boolean" + ] + } + }, + "type": "object" } + }, + "type": "object" }, - "type": "object" - }, - "pushNotificationSchema": { - "properties": { - "success": { - "type": "boolean" - } + "example": { + "data": { + "guid1_member_uid2": { + "success": true, + "data": { + "guid": "guid1", + "uid": "uid2", + "scope": "admin", + "joinedAt": 1673421419 + } + } + } + } + } + } + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + } + }, + "components": { + "schemas": { + "APIKeySchema": { + "description": "Response data", + "properties": { + "apiKey": { + "type": "string" + }, + "name": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "createdAt": { + "type": "integer" + } + }, + "type": "object" + }, + "CommonFields": { + "properties": { + "authToken": { + "type": "string", + "example": "cometchat-uid-3_1710141033938cf7e3c67cc44465440d" + }, + "timezone": { + "type": "string", + "example": "Asia/Kolkata" + } + }, + "type": "object" + }, + "Day": { + "properties": { + "from": { + "type": "integer", + "format": "int32", + "maximum": 2359, + "minimum": 0 + }, + "to": { + "type": "integer", + "format": "int32", + "maximum": 2359, + "minimum": 0 + }, + "dnd": { + "type": "boolean" + } + }, + "type": "object" + }, + "Group": { + "properties": { + "messagesSetting": { + "description": "1: Don't subscribe\n2: Subscribe to all messages\n3: Subscribe to messages with mentions", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "messagesOverride": { + "type": "boolean" + }, + "repliesSetting": { + "description": "1: Don't subscribe\n2: Subscribe to all replies\n3: Subscribe to replies with mentions", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "repliesOverride": { + "type": "boolean" + }, + "reactionsSetting": { + "description": "1: Don't subscribe\n2: Subscribe to reactions for own messages\n3: Subscribe to reactions for all messages", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "reactionsOverride": { + "type": "boolean" + }, + "memberLeftSetting": { + "description": "1: Don't subscribe\n2: Subscribe", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "memberLeftOverride": { + "type": "boolean" + }, + "memberAddedSetting": { + "description": "1: Don't subscribe\n2: Subscribe", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "memberAddedOverride": { + "type": "boolean" + }, + "memberJoinedSetting": { + "description": "1: Don't subscribe\n2: Subscribe", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "memberJoinedOverride": { + "type": "boolean" + }, + "memberKickedSetting": { + "description": "1: Don't subscribe\n2: Subscribe", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "memberKickedOverride": { + "type": "boolean" + }, + "memberBannedSetting": { + "description": "1: Don't subscribe\n2: Subscribe", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "memberBannedOverride": { + "type": "boolean" + }, + "memberUnbannedSetting": { + "description": "1: Don't subscribe\n2: Subscribe", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "memberUnbannedOverride": { + "type": "boolean" + }, + "memberScopeChangedSetting": { + "description": "1: Don't subscribe\n2: Subscribe", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "memberScopeChangedOverride": { + "type": "boolean" + } + }, + "type": "object" + }, + "MediaMessageTemplate": { + "properties": { + "titleOneOnOne": { + "type": "string", + "example": "{{message.data.entities.sender.entity.name}}" + }, + "titleGroup": { + "type": "string", + "example": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}" + }, + "body_image": { + "type": "string", + "example": "Has sent an {{message.type}}" + }, + "body_audio": { + "type": "string", + "example": "Has sent an {{message.type}}" + }, + "body_video": { + "type": "string", + "example": "Has sent a {{message.type}}" + }, + "body_file": { + "type": "string", + "example": "Has sent a {{message.type}}" + } + }, + "type": "object" + }, + "Mute": { + "properties": { + "dndPreferenceOverride": { + "type": "boolean" + }, + "mutedGroupsOverride": { + "type": "boolean" + }, + "mutedOneOnOnesOverride": { + "type": "boolean" + }, + "schedulePreferenceSetting": { + "properties": { + "monday": { + "$ref": "#/components/schemas/Day" + }, + "tuesday": { + "$ref": "#/components/schemas/Day" + }, + "wednesday": { + "$ref": "#/components/schemas/Day" + }, + "thursday": { + "$ref": "#/components/schemas/Day" + }, + "friday": { + "$ref": "#/components/schemas/Day" + }, + "saturday": { + "$ref": "#/components/schemas/Day" + }, + "sunday": { + "$ref": "#/components/schemas/Day" + } + }, + "type": "object" + }, + "schedulePreferenceOverride": { + "type": "boolean" + } + }, + "type": "object" + }, + "MutePreferences": { + "properties": { + "dnd": { + "description": "1: Disable DND\n2: Enable DND", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "schedule": { + "$ref": "#/components/schemas/Schedule" + } + }, + "type": "object" + }, + "PNSuccess": { + "properties": { + "success": { + "type": "boolean" + } + }, + "type": "object" + }, + "PlatformAPNS": { + "allOf": [ + { + "properties": { + "platform": { + "type": "string", + "enum": [ + "apns_ios_device", + "apns_flutter_device", + "apns_react_native_device", + "apns_ionic_cordova_device" + ], + "description": "Allowed values: apns_ios_device, apns_flutter_device, apns_react_native_device, apns_ionic_cordova_device" + }, + "providerId": { + "type": "string", + "example": "apns-provider-2" + }, + "deviceToken": { + "type": "string" + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/CommonFields" + } + ] + }, + "PlatformFCM": { + "allOf": [ + { + "properties": { + "platform": { + "type": "string", + "enum": [ + "fcm_android", + "fcm_ios", + "fcm_web", + "fcm_flutter_android", + "fcm_flutter_ios", + "fcm_react_native_android", + "fcm_react_native_ios", + "fcm_ionic_cordova_android", + "fcm_ionic_cordova_ios" + ], + "description": "Allowed values: fcm_android, fcm_ios, fcm_web, fcm_flutter_android, fcm_flutter_ios, fcm_react_native_android, fcm_react_native_ios, fcm_ionic_cordova_android, fcm_ionic_cordova_ios" + }, + "providerId": { + "type": "string", + "example": "fcm-provider-2" + }, + "fcmToken": { + "type": "string" + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/CommonFields" + } + ] + }, + "PlatformVOIP": { + "allOf": [ + { + "properties": { + "platform": { + "type": "string", + "enum": [ + "apns_ios_voip", + "apns_flutter_voip", + "apns_ionic_cordova_voip", + "apns_react_native_voip" + ], + "description": "Allowed values: apns_ios_voip, apns_flutter_voip, apns_ionic_cordova_voip, apns_react_native_voip" + }, + "providerId": { + "type": "string", + "example": "apns-provider-2" + }, + "voipToken": { + "type": "string" + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/CommonFields" + } + ] + }, + "Preferences": { + "properties": { + "group": { + "$ref": "#/components/schemas/Group" + }, + "oneOnOne": { + "$ref": "#/components/schemas/oneOnOne" + }, + "mute": { + "$ref": "#/components/schemas/Mute" + } + }, + "type": "object" + }, + "Schedule": { + "properties": { + "monday": { + "$ref": "#/components/schemas/Day" + }, + "tuesday": { + "$ref": "#/components/schemas/Day" + }, + "wednesday": { + "$ref": "#/components/schemas/Day" + }, + "thursday": { + "$ref": "#/components/schemas/Day" + }, + "friday": { + "$ref": "#/components/schemas/Day" + }, + "saturday": { + "$ref": "#/components/schemas/Day" + }, + "sunday": { + "$ref": "#/components/schemas/Day" + } + }, + "type": "object" + }, + "ServiceAccountCreds": { + "properties": { + "project_id": { + "type": "string" + }, + "client_email": { + "type": "string" + }, + "private_key": { + "type": "string" + }, + "private_key_id": { + "type": "string" + } + }, + "type": "object" + }, + "SilentNotification": { + "properties": { + "chat": { + "type": "boolean" + }, + "call": { + "type": "boolean" + } + }, + "type": "object" + }, + "Sound": { + "properties": { + "chat": { + "type": "string" + }, + "call": { + "type": "string" + } + }, + "type": "object" + }, + "Template": { + "properties": { + "titleOneOnOne": { + "type": "string", + "example": "{{message.data.entities.sender.entity.name}}" + }, + "titleGroup": { + "type": "string", + "example": "{{message.data.entities.sender.entity.name}} @ {{message.data.entities.receiver.entity.name}}" + }, + "body": { + "type": "string", + "example": "New text message" + } + }, + "type": "object" + }, + "Templates": { + "properties": { + "usePrivacyTemplate": { + "description": "1: Use default templates\n2: Use privacy templates\n3: Use default templates with end-user privacy override", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "textMessageTemplateDefault": { + "$ref": "#/components/schemas/Template" + }, + "textMessageTemplatePrivacy": { + "$ref": "#/components/schemas/Template" + }, + "mediaMessageTemplateDefault": { + "$ref": "#/components/schemas/MediaMessageTemplate" + }, + "mediaMessageTemplatePrivacy": { + "$ref": "#/components/schemas/MediaMessageTemplate" + }, + "customMessageTemplateDefault": { + "allOf": [ + { + "properties": { + "body_fallback": { + "type": "string" + } }, "type": "object" - }, - "pushProviders": { - "description": "Response data", - "type": "array", - "items": {} - }, - "reactionSchema": { - "description": "Response data", + }, + { + "$ref": "#/components/schemas/Template" + } + ] + }, + "customMessageTemplatePrivacy": { + "allOf": [ + { "properties": { - "id": { - "type": "string" - }, - "messageId": { - "type": "string" - }, - "reaction": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "reactedAt": { - "type": "integer" - }, - "reactedBy": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "conversationId": { - "type": "string" - } - }, - "type": "object" - } + "body_fallback": { + "type": "string" + } }, "type": "object" - }, - "roleSchema": { - "description": "Response data", - "properties": { - "role": { - "type": "string" - }, - "name": { + }, + { + "$ref": "#/components/schemas/Template" + } + ] + } + }, + "type": "object" + }, + "authTokenSchema": { + "description": "Response data", + "properties": { + "uid": { + "type": "string" + }, + "authToken": { + "type": "string" + }, + "createdAt": { + "type": "integer" + } + }, + "type": "object" + }, + "bannedUserSchema": { + "description": "Response data", + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "role": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "isBanned": { + "type": "boolean" + }, + "joinedAt": { + "type": "integer" + }, + "createdAt": { + "type": "integer" + } + }, + "type": "object" + }, + "blockedUserSchema": { + "description": "Response data", + "properties": { + "blockedByMe": { + "type": "boolean" + }, + "blockedByMeAt": { + "type": "integer" + }, + "blockedAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } + }, + "type": "object" + }, + "conversationSchema": { + "description": "Response data", + "properties": { + "conversationId": { + "type": "string" + }, + "conversationType": { + "type": "string" + }, + "unreadMessageCount": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + }, + "lastMessage": { + "properties": { + "id": { + "type": "string" + }, + "conversationId": { + "type": "string" + }, + "sender": { + "type": "string" + }, + "receiverType": { + "type": "string" + }, + "receiver": { + "type": "string" + }, + "category": { + "type": "string" + }, + "type": { + "type": "string" + }, + "data": { + "type": "object", + "allOf": [ + { + "properties": { + "action": { "type": "string" + } }, - "description": { + "type": "object" + }, + { + "$ref": "#/components/schemas/objectEntitySchema" + } + ] + }, + "sentAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + }, + "receipts": { + "properties": { + "data": { + "type": "array", + "items": {} + } + }, + "type": "object" + } + }, + "type": "object" + }, + "conversationWith": { + "type": "object" + } + }, + "type": "object" + }, + "conversationWithSchema": { + "properties": { + "guid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "type": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "membersCount": { + "type": "integer" + }, + "joinedAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + }, + "hasJoined": { + "type": "boolean", + "default": "true" + }, + "createdAt": { + "type": "integer" + }, + "owner": { + "type": "string" + }, + "updatedAt": { + "type": "integer" + }, + "updatedBy": { + "type": "string" + } + }, + "type": "object" + }, + "createApnsProvider": { + "properties": { + "providerId": { + "type": "string" + }, + "keyId": { + "type": "string" + }, + "teamId": { + "type": "string" + }, + "bundleId": { + "type": "string" + }, + "p8KeyFilename": { + "type": "string" + }, + "p8Key": { + "type": "string" + }, + "includeContentAvailable": { + "type": "boolean" + }, + "includeMutableContent": { + "type": "boolean" + }, + "productionMode": { + "type": "boolean" + } + }, + "type": "object" + }, + "customCategorySchema": { + "properties": { + "receiver": { + "description": "The receiver of the message.", + "type": "string" + }, + "muid": { + "description": "The muid will be a unique Identifier of the message.", + "type": "string" + }, + "receiverType": { + "description": "The receiverType of the message. either user or group", + "type": "string", + "enum": [ + "user", + "group" + ] + }, + "category": { + "description": "Category of the message. The available categories is custom.", + "type": "string", + "default": "custom", + "enum": [ + "custom" + ] + }, + "type": { + "description": "Type of the message.", + "type": "string" + }, + "data": { + "description": "JSON containing message attributes.", + "properties": { + "customData": { + "description": "when category==”custom”, this property can have any JSON object.", + "type": "object" + } + }, + "type": "object" + }, + "multipleReceivers": { + "description": "JSON containing array of UIDs and GUID for whom the message must be sent. Format for multiple receivers - {\"uids\": [\"uid1\",\"uid2\"], \"guids\":[\"guid1\"]}", + "properties": { + "uids": { + "type": "array", + "items": { + "type": "string" + } + }, + "guids": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, + "tags": { + "description": "A list of tags to identify specific messages.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, + "dataPointSchema": { + "description": "Response data", + "properties": { + "messagesSent": { + "type": "integer" + }, + "readReceipts": { + "type": "integer" + }, + "deliveryReceipts": { + "type": "integer" + }, + "startTime": { + "type": "integer" + }, + "endTime": { + "type": "integer" + } + }, + "type": "object" + }, + "deleteSchema": { + "properties": { + "success": { + "type": "boolean" + }, + "message": { + "type": "string" + } + }, + "type": "object" + }, + "fcmCreateProviderSchema": { + "properties": { + "providerId": { + "type": "string" + }, + "serviceAccountFilename": { + "type": "string" + }, + "serviceAccountCreds": { + "$ref": "#/components/schemas/ServiceAccountCreds" + }, + "notificationInPayload": { + "properties": { + "ios": { + "$ref": "#/components/schemas/SilentNotification" + }, + "android": { + "$ref": "#/components/schemas/SilentNotification" + }, + "web": { + "$ref": "#/components/schemas/SilentNotification" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "groupEntitySchema": { + "description": "Response data", + "properties": { + "id": { + "type": "string" + }, + "conversationId": { + "type": "string" + }, + "sender": { + "type": "string" + }, + "receiverType": { + "type": "string" + }, + "receiver": { + "type": "string" + }, + "category": { + "type": "string" + }, + "type": { + "type": "string" + }, + "data": { + "properties": { + "action": { + "type": "string" + }, + "entities": { + "properties": { + "by": { + "properties": { + "entity": { + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "role": { + "type": "string" + }, + "status": { + "type": "string" + }, + "createdAt": { + "type": "integer" + } + }, + "type": "object" + }, + "entityType": { "type": "string" + } }, - "metadata": { + "type": "object" + }, + "on": { + "properties": { + "entity": { + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "role": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "createdAt": { + "type": "integer" + } + }, "type": "object" - }, - "email": { + }, + "entityType": { "type": "string" + } }, - "settings": { + "type": "object" + }, + "for": { + "properties": { + "entity": { "properties": { - "listUsers": { - "type": "string" - }, - "sendMessagesTo": { - "type": "string" + "guid": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "string" } + }, + "type": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + }, + "description": { + "type": "string" + }, + "membersCount": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } }, "type": "object" - }, - "createdAt": { - "type": "integer" - } - }, - "type": "object" - }, - "sms": { + }, + "entityType": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "avatar": { + "type": "string" + }, + "metadata": { + "properties": { + "email": { + "type": "string" + } + }, + "type": "object" + }, + "status": { + "type": "string" + }, + "role": { + "type": "string" + }, + "createdAt": { + "type": "integer" + } + }, + "type": "object" + }, + "groupMemberListSchema": { + "description": "Response data", + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "role": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "joinedAt": { + "type": "integer" + }, + "createdAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } + }, + "type": "object" + }, + "groupMemberSchema": { + "description": "Response data", + "properties": { + "usersToBan": { + "properties": { + "": { "properties": { - "notifyForUnreadOnly": { - "description": "If the value is false, the notification will contain all the messages, not just unread.", - "type": "boolean" - }, - "intervalInSeconds": { - "type": "integer" - }, - "maxPerDay": { - "type": "integer" - }, - "maxPerDayPerConversation": { - "type": "integer" - }, - "includeMessageObjectSetting": { - "description": "Includes the message object in the SMS payload", - "type": "boolean" - }, - "includeSenderMetadataSetting": { - "description": "Includes sender metadata in the message object", - "type": "boolean" - }, - "includeReceiverMetadataSetting": { - "description": "Includes receiver metadata in the message object", - "type": "boolean" - }, - "includeMessageMetadataSetting": { - "description": "Includes message metadata in the message object", - "type": "boolean" - } + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "triggerSchema": { - "description": "Response data", + "type": "object" + }, + "admins": { + "properties": { + "": { "properties": { - "id": { - "type": "string" - }, - "category": { - "type": "string" - }, - "description": { - "type": "string" - } + "success": { + "type": "boolean" + }, + "data": { + "type": "object" + } }, "type": "object" + } }, - "unmuteConversation": { + "type": "object" + }, + "moderators": { + "properties": { + "": { "properties": { - "id": { - "description": "uid or guid", - "type": "string" - }, - "type": { - "description": "oneOnOne or group", - "type": "string", - "enum": [ - "oneOnOne", - "group" - ] - } + "success": { + "type": "boolean" + }, + "data": { + "type": "object" + } }, "type": "object" + } }, - "unregisterpnToken": { - "required": [ - "authToken" - ], + "type": "object" + }, + "participants": { + "properties": { + "": { "properties": { - "authToken": { - "type": "string" - } + "success": { + "type": "boolean" + }, + "data": { + "type": "object" + } }, "type": "object" + } }, - "updatemessageSchema": { - "description": "Response data", - "properties": { - "id": { - "type": "string" - }, - "conversationId": { - "type": "string" - }, - "sender": { - "type": "string" + "type": "object" + } + }, + "type": "object" + }, + "groupSchema": { + "description": "Response data", + "properties": { + "guid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "type": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "membersCount": { + "type": "integer" + }, + "joinedAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + }, + "hasJoined": { + "type": "boolean" + }, + "owner": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + }, + "createdAt": { + "type": "integer" + } + }, + "type": "object" + }, + "messageCategorySchema": { + "properties": { + "receiver": { + "description": "The receiver of the message.", + "type": "string" + }, + "muid": { + "description": "The muid will be a unique Identifier of the message.", + "type": "string" + }, + "receiverType": { + "description": "The receiverType of the message. either user or group", + "type": "string", + "enum": [ + "user", + "group" + ] + }, + "category": { + "description": "Category of the message. The available categories are message and custom.", + "type": "string", + "default": "message", + "enum": [ + "message" + ] + }, + "type": { + "description": "Type of the message. The available values are text, image, file, audio, video.", + "type": "string", + "default": "text", + "enum": [ + "text", + "image", + "file", + "audio", + "video" + ] + }, + "data": { + "description": "JSON containing message attributes.", + "properties": { + "text": { + "type": "string" + }, + "metadata": { + "type": "object" + }, + "attachments": { + "description": "For the messages with image, video, audio or file type (i.e. category==\"message\" && type !=\"text\"), the property contains an array of attachment objects.", + "type": "array", + "items": { + "properties": { + "url": { + "description": "Contains the URL of the attachment.", + "type": "string" }, - "receiverType": { - "type": "string" + "name": { + "description": "Name of the attachment.", + "type": "string" }, - "receiver": { - "type": "string" + "mimeType": { + "description": "Mime Type of attachment.", + "type": "string" }, - "category": { - "type": "string" + "extension": { + "description": "The extension of the attachment.", + "type": "string" }, - "type": { + "size": { + "description": "The size of the attachment(in bytes).", + "type": "string" + } + }, + "type": "object" + } + } + }, + "type": "object" + }, + "multipleReceivers": { + "description": "JSON containing array of UIDs and GUID for whom the message must be sent. Format for multiple receivers - {\"uids\": [\"uid1\",\"uid2\"], \"guids\":[\"guid1\"]}", + "properties": { + "uids": { + "type": "array", + "items": { + "type": "string" + } + }, + "guids": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, + "tags": { + "description": "A list of tags to identify specific messages.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, + "messageMetaSchema": { + "properties": { + "current": { + "properties": { + "limit": { + "type": "integer" + }, + "count": { + "type": "integer" + } + }, + "type": "object" + }, + "next": { + "properties": { + "affix": { + "type": "string" + }, + "sentAt": { + "type": "integer" + }, + "id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "messageReactionSchema": { + "description": "Response data", + "properties": { + "id": { + "type": "string" + }, + "conversationId": { + "type": "string" + }, + "sender": { + "type": "string" + }, + "receiverType": { + "type": "string" + }, + "receiver": { + "type": "string" + }, + "category": { + "type": "string" + }, + "type": { + "type": "string" + }, + "data": { + "properties": { + "text": { + "type": "string" + }, + "metadata": { + "type": "object" + }, + "entities": { + "properties": { + "sender": { + "properties": { + "entity": { + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "role": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } + }, + "type": "object" + }, + "entityType": { "type": "string" + } }, - "data": { + "type": "object" + }, + "receiver": { + "properties": { + "entity": { "properties": { - "action": { - "type": "string" - }, - "entities": { - "properties": { - "by": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "status": { - "type": "string" - }, - "role": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - }, - "for": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "role": { - "type": "string" - }, - "createdAt": { - "type": "integer" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - }, - "on": { - "properties": { - "entity": { - "properties": { - "id": { - "type": "string" - }, - "conversationId": { - "type": "string" - }, - "sender": { - "type": "string" - }, - "receiverType": { - "type": "string" - }, - "receiver": { - "type": "string" - }, - "category": { - "type": "string" - }, - "type": { - "type": "string" - }, - "data": { - "properties": { - "text": { - "type": "string" - }, - "entities": { - "properties": { - "sender": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "createdAt": { - "type": "string" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - }, - "receiver": { - "properties": { - "entity": { - "properties": { - "uid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "status": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "conversationId": { - "type": "string" - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "sentAt": { - "type": "integer" - }, - "editedAt": { - "type": "integer" - }, - "editedBy": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "tags": { - "type": "array", - "items": {} - } - }, - "type": "object" - }, - "entityType": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "role": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } }, "type": "object" + }, + "entityType": { + "type": "string" + } }, - "sentAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - } + "type": "object" + } }, "type": "object" + } }, - "usageMetricsSchema": { - "description": "Response data", - "properties": { - "metrics": { - "properties": { - "audio_minutes": { - "type": "integer" - }, - "video_minutes": { - "type": "integer" - }, - "recorded_minutes": { - "type": "integer" - }, - "active_users": { - "type": "integer" - }, - "concurrent_users": { - "type": "integer" - } - }, - "type": "object" - }, - "time_range": { + "type": "object" + }, + "reactions": { + "type": "array", + "items": { + "properties": { + "reaction": { + "type": "string" + }, + "count": { + "type": "integer" + }, + "reactedByMe": { + "type": "boolean" + } + }, + "type": "object" + } + }, + "sentAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + } + }, + "type": "object" + }, + "messageSchema": { + "description": "Response data", + "properties": { + "id": { + "type": "string" + }, + "conversationId": { + "type": "string" + }, + "sender": { + "type": "string" + }, + "receiverType": { + "type": "string" + }, + "receiver": { + "type": "string" + }, + "category": { + "type": "string" + }, + "type": { + "type": "string" + }, + "data": { + "properties": { + "text": { + "type": "string" + }, + "metadata": { + "type": "object" + }, + "entities": { + "properties": { + "sender": { + "properties": { + "entity": { "properties": { - "fromDate": { - "type": "integer" - }, - "toDate": { - "type": "integer" - } + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "role": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } }, "type": "object" - } - }, - "type": "object" - }, - "userConversationSchema": { - "description": "Response data", - "properties": { - "conversationId": { - "type": "string" - }, - "conversationType": { - "type": "string" - }, - "unreadMessageCount": { + }, + "entityType": { "type": "string" + } }, - "createdAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "lastMessage": { + "type": "object" + }, + "receiver": { + "properties": { + "entity": { "properties": { - "id": { - "type": "string" - }, - "conversationId": { - "type": "string" - }, - "sender": { - "type": "string" - }, - "receiverType": { - "type": "string" - }, - "receiver": { - "type": "string" - }, - "category": { - "type": "string" - }, - "type": { - "type": "string" - }, - "data": { - "type": "object", - "allOf": [ - { - "properties": { - "action": { - "type": "string" - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/objectEntitySchema" - } - ] - }, - "sentAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - } + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "role": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } }, "type": "object" - }, - "conversationWith": { - "type": "object" - } - }, - "type": "object" - }, - "userReceiverDetails": { - "required": [ - "uid", - "name" - ], - "properties": { - "uid": { - "description": "The primary-key/ unique identifier of the receiver.", - "type": "string" - }, - "name": { - "description": "Name of the receiver.", + }, + "entityType": { "type": "string" + } }, - "avatar": { - "description": "URL to the profile picture of the user receiving the message.", - "type": "string" - }, - "link": { - "description": "Profile page URL of the receiver.", - "type": "string" - }, - "role": { - "description": "Role of the receiver. Should be created already via the Create role API.", - "type": "string" - }, - "createdAt": { - "description": "A 10-digit timestamp at which the receiver was created.", - "type": "integer" - }, - "metadata": { - "description": "Additional details about the receiver.", - "type": "object" - }, - "tags": { - "description": "A string array containing receiver tags.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - } + "type": "object" + } }, "type": "object" + } }, - "userSchema": { - "description": "Response data", + "type": "object" + }, + "sentAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + } + }, + "type": "object" + }, + "metaSchema": { + "properties": { + "pagination": { + "properties": { + "total": { + "type": "integer" + }, + "count": { + "type": "integer" + }, + "per_page": { + "type": "integer" + }, + "current_page": { + "type": "integer" + }, + "total_pages": { + "type": "integer" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "muteConversation": { + "properties": { + "id": { + "description": "uid or guid", + "type": "string" + }, + "type": { + "description": "oneOnOne or group", + "type": "string", + "enum": [ + "oneOnOne", + "group" + ] + }, + "until": { + "description": "This is a valid timestamp from the future, E.g: 1710696964705", + "type": "integer", + "format": "int64" + } + }, + "type": "object" + }, + "objectEntitySchema": { + "properties": { + "entities": { + "properties": { + "by": { "properties": { - "uid": { + "entity": { + "properties": { + "uid": { "type": "string" - }, - "name": { - "type": "string" - }, - "avatar": { + }, + "name": { "type": "string" - }, - "metadata": { - "properties": { - "email": { - "type": "string" - } - }, - "type": "object" - }, - "status": { + }, + "status": { "type": "string" - }, - "role": { + }, + "role": { "type": "string" - }, - "createdAt": { + }, + "createdAt": { "type": "integer" - } + } + }, + "type": "object" + }, + "entityType": { + "type": "string" + } }, "type": "object" - }, - "userSenderDetails": { - "required": [ - "uid", - "name" - ], + }, + "for": { "properties": { - "uid": { - "description": "The primary-key/ unique identifier of the sender.", + "entity": { + "properties": { + "guid": { "type": "string" - }, - "name": { - "description": "Name of the sender.", + }, + "icon": { "type": "string" - }, - "avatar": { - "description": "URL to the profile picture of the user sending the message.", + }, + "name": { "type": "string" - }, - "link": { - "description": "Profile page URL of the sender.", + }, + "type": { "type": "string" - }, - "role": { - "description": "Role of the sender. Should be created already via the Create role API.", + }, + "owner": { "type": "string" - }, - "createdAt": { - "description": "A 10-digit timestamp at which the sender was created.", + }, + "createdAt": { "type": "integer" + }, + "updatedAt": { + "type": "integer" + }, + "updatedBy": { + "type": "integer" + }, + "description": { + "type": "integer" + }, + "membersCount": { + "type": "integer" + }, + "conversationId": { + "type": "integer" + } }, - "metadata": { - "description": "Additional details about the sender.", - "type": "object" - }, - "tags": { - "description": "A string array containing sender tags.", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - } + "type": "object" + }, + "entityType": { + "type": "string" + } }, "type": "object" - }, - "webhookSchema": { - "description": "Response data", + }, + "on": { "properties": { - "id": { + "entity": { + "properties": { + "uid": { "type": "string" - }, - "name": { + }, + "link": { "type": "string" - }, - "webhookURL": { + }, + "name": { "type": "string" - }, - "useBasicAuth": { - "type": "boolean" - }, - "username": { + }, + "role": { "type": "string" - }, - "password": { + }, + "avatar": { "type": "string" - }, - "enabled": { - "type": "boolean" - }, - "createdAt": { + }, + "status": { + "type": "string" + }, + "createdAt": { "type": "integer" - }, - "updatedAt": { + }, + "updatedAt": { "type": "integer" - } - }, - "type": "object" - } - }, - "parameters": { - "authToken": { - "name": "authToken", - "in": "path", - "description": "An auth token of a user.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "Auth Token", - "value": "" - } - } - }, - "conversationId": { - "name": "conversationId", - "in": "path", - "description": "(Required) conversation id", - "required": true, - "schema": { - "type": "string" - } - }, - "uid--conversation": { - "name": "uid", - "in": "path", - "description": "UID of the user whose conversation needs to be fetched.", - "required": true, - "schema": { - "type": "string" - } - }, - "guid--conversation": { - "name": "guid", - "in": "path", - "description": "GUID of the group whose conversation needs to be fetched.", - "required": true, - "schema": { - "type": "string" - } - }, - "uid": { - "name": "uid", - "in": "path", - "description": "An UID of a user.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "UID", - "value": "" - } - } - }, - "guid": { - "name": "guid", - "in": "path", - "description": "A GUID of a group.", - "required": true, - "schema": { - "type": "string" - }, - "examples": { - "string": { - "summary": "GUID", - "value": "" - } - } - }, - "requiredonBehalfOf": { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the user on whose behalf the action is performed.", - "required": true, - "schema": { - "type": "string" - } - }, - "requiredAppId": { - "name": "appId", - "in": "header", - "description": "(Required) App ID", - "required": true, - "schema": { - "type": "string" - } - }, - "onBehalfOf": { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the user on whose behalf the action is performed.", - "schema": { - "type": "string" - } - }, - "messageId": { - "name": "messageId", - "in": "path", - "description": "messageId for the moderation service", - "required": true, - "schema": { - "type": "string" - } - }, - "ruleId": { - "name": "ruleId", - "in": "path", - "description": "Rule ID", - "required": true, - "schema": { - "type": "string" - } - }, - "keywordId": { - "name": "keywordId", - "in": "path", - "description": "Keyword ID", - "required": true, - "schema": { - "type": "string" - } - }, - "pushToken": { - "name": "pushToken", - "in": "path", - "description": "(Required) Push Token", - "required": true, - "schema": { - "type": "string" - } - }, - "providerId": { - "name": "providerId", - "in": "path", - "description": "Provider ID.", - "required": true, - "schema": { + }, + "conversationId": { + "type": "string" + } + }, + "type": "object" + }, + "entityType": { "type": "string" + } }, - "examples": { - "string": { - "summary": "Provider ID", - "value": "" - } - } + "type": "object" + } }, - "requiredUID": { - "name": "uid", - "in": "query", - "description": "(Required) UID", - "required": true, - "schema": { - "type": "string" - } - } + "type": "object" + } }, - "examples": { - "text-message": { - "summary": "Text Message example", - "value": { - "receiver": "cometchat-uid-2", - "receiverType": "user", - "category": "message", - "type": "text", - "data": { - "text": "Hello" - } - } - }, - "custom-message": { - "summary": "Custom Message example", - "value": { - "receiverType": "user", - "data": { - "customData": { - "text": "Hello there!" - } - }, - "category": "custom", - "type": "text", - "receiver": "cometchat-uid-2", - "tags": [ - "tag1" - ] - } - }, - "media-message": { - "summary": "Media Message example", - "value": { - "receiverType": "user", - "data": { - "text": "Hello there!", - "attachments": [ - { - "name": "ironman.png", - "extension": "png", - "mimeType": "image/png", - "url": "https: //files-.cometchat.io//media/.png?fat=" - } - ] - }, - "category": "message", - "type": "image", - "receiver": "cometchat-uid-2" - } - } + "type": "object" + }, + "oneOnOne": { + "properties": { + "messagesSetting": { + "description": "1: Don't subscribe\n2: Subscribe to all messages\n3: Subscribe to messages with mentions", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "messagesOverride": { + "type": "boolean" + }, + "repliesSetting": { + "description": "1: Don't subscribe\n2: Subscribe to all replies\n3: Subscribe to replies with mentions", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "repliesOverride": { + "type": "boolean" + }, + "reactionsSetting": { + "description": "1: Don't subscribe\n2: Subscribe to reactions for own messages\n3: Subscribe to reactions for all messages", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "reactionsOverride": { + "type": "boolean" + } }, - "securitySchemes": { - "apiKey": { - "type": "apiKey", - "description": "API Key with fullAccess scope(i.e. Rest API Key from the Dashboard).", - "name": "apikey", - "in": "header" - } - } - }, - "tags": [ - { - "name": "API Keys", - "description": "The API keys are used to authorise the APIs" + "type": "object" + }, + "pnSettingSchema": { + "description": "Response data", + "properties": { + "preferences": { + "$ref": "#/components/schemas/Preferences" + }, + "sound": { + "$ref": "#/components/schemas/Sound" + }, + "templates": { + "$ref": "#/components/schemas/Templates" + } + }, + "type": "object" + }, + "pnTokenSchema": { + "description": "Response data", + "oneOf": [ + { + "$ref": "#/components/schemas/PlatformFCM" + }, + { + "$ref": "#/components/schemas/PlatformAPNS" + }, + { + "$ref": "#/components/schemas/PlatformVOIP" + } + ] + }, + "pnUpdatePreferences": { + "description": "Response data", + "properties": { + "groupPreferences": { + "properties": { + "groupMessages": { + "description": "1: Don't subscribe\n2: Subscribe to all messages\n3: Subscribe to messages with mentions", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "groupReplies": { + "description": "1: Don't subscribe\n2: Subscribe to all replies\n3: Subscribe to replies with mentions", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "groupReactions": { + "description": "1: Don't subscribe\n2: Subscribe to reactions for own messages\n3: Subscribe to reactions for all messages", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "groupMemberLeft": { + "description": "1: Don't subscribe\n2: Subscribe", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "groupMemberAdded": { + "description": "1: Don't subscribe\n2: Subscribe", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "groupMemberJoined": { + "description": "1: Don't subscribe\n2: Subscribe", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "groupMemberKicked": { + "description": "1: Don't subscribe\n2: Subscribe", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "groupMemberBanned": { + "description": "1: Don't subscribe\n2: Subscribe", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "groupMemberUnbanned": { + "description": "1: Don't subscribe\n2: Subscribe", + "type": "integer", + "enum": [ + 1, + 2 + ] + }, + "groupMemberScopeChanged": { + "description": "1: Don't subscribe\n2: Subscribe", + "type": "integer", + "enum": [ + 1, + 2 + ] + } + }, + "type": "object" + }, + "oneOnOnePreferences": { + "properties": { + "oneOnOneMessages": { + "description": "1: Don't subscribe\n2: Subscribe to all messages\n3: Subscribe to messages with mentions", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "oneOnOneReplies": { + "description": "1: Don't subscribe\n2: Subscribe to all replies\n3: Subscribe to replies with mentions", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + }, + "oneOnOneReactions": { + "description": "1: Don't subscribe\n2: Subscribe to reactions for own messages\n3: Subscribe to reactions for all messages", + "type": "integer", + "enum": [ + 1, + 2, + 3 + ] + } + }, + "type": "object" + }, + "mutePreferences": { + "$ref": "#/components/schemas/MutePreferences" + }, + "usePrivacyTemplate": { + "type": "boolean" + } }, - { - "name": "Roles", - "description": "The roles are used to give user access rights" + "type": "object" + }, + "pushNotificationSchema": { + "properties": { + "success": { + "type": "boolean" + } }, - { - "name": "Users", - "description": "The REST collection for users." + "type": "object" + }, + "pushProviders": { + "description": "Response data", + "type": "array", + "items": {} + }, + "reactionSchema": { + "description": "Response data", + "properties": { + "id": { + "type": "string" + }, + "messageId": { + "type": "string" + }, + "reaction": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "reactedAt": { + "type": "integer" + }, + "reactedBy": { + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "role": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } + }, + "type": "object" + } }, - { - "name": "Auth Tokens", - "description": "The auth tokens are used to login end users using client SDKs." + "type": "object" + }, + "roleSchema": { + "description": "Response data", + "properties": { + "role": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "metadata": { + "type": "object" + }, + "email": { + "type": "string" + }, + "settings": { + "properties": { + "listUsers": { + "type": "string" + }, + "sendMessagesTo": { + "type": "string" + } + }, + "type": "object" + }, + "createdAt": { + "type": "integer" + } }, - { - "name": "Blocked Users", - "description": "The REST collections for blocked users." + "type": "object" + }, + "triggerSchema": { + "description": "Response data", + "properties": { + "id": { + "type": "string" + }, + "category": { + "type": "string" + }, + "description": { + "type": "string" + } }, - { - "name": "Friends", - "description": "List,add and remove friends by passing UID in path variables" + "type": "object" + }, + "unmuteConversation": { + "properties": { + "id": { + "description": "uid or guid", + "type": "string" + }, + "type": { + "description": "oneOnOne or group", + "type": "string", + "enum": [ + "oneOnOne", + "group" + ] + } }, - { - "name": "Groups", - "description": "The REST collections for groups." + "type": "object" + }, + "unregisterpnToken": { + "required": [ + "authToken" + ], + "properties": { + "authToken": { + "type": "string" + } }, - { - "name": "Banned Users", - "description": "Ban and Unban user by passing other UID in path variables." + "type": "object" + }, + "updatemessageSchema": { + "description": "Response data", + "properties": { + "id": { + "type": "string" + }, + "conversationId": { + "type": "string" + }, + "sender": { + "type": "string" + }, + "receiverType": { + "type": "string" + }, + "receiver": { + "type": "string" + }, + "category": { + "type": "string" + }, + "type": { + "type": "string" + }, + "data": { + "properties": { + "action": { + "type": "string" + }, + "entities": { + "properties": { + "by": { + "properties": { + "entity": { + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "status": { + "type": "string" + }, + "role": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + } + }, + "type": "object" + }, + "entityType": { + "type": "string" + } + }, + "type": "object" + }, + "for": { + "properties": { + "entity": { + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "role": { + "type": "string" + }, + "createdAt": { + "type": "integer" + } + }, + "type": "object" + }, + "entityType": { + "type": "string" + } + }, + "type": "object" + }, + "on": { + "properties": { + "entity": { + "properties": { + "id": { + "type": "string" + }, + "conversationId": { + "type": "string" + }, + "sender": { + "type": "string" + }, + "receiverType": { + "type": "string" + }, + "receiver": { + "type": "string" + }, + "category": { + "type": "string" + }, + "type": { + "type": "string" + }, + "data": { + "properties": { + "text": { + "type": "string" + }, + "entities": { + "properties": { + "sender": { + "properties": { + "entity": { + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "role": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "createdAt": { + "type": "integer" + } + }, + "type": "object" + }, + "entityType": { + "type": "string" + } + }, + "type": "object" + }, + "receiver": { + "properties": { + "entity": { + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "role": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "status": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "conversationId": { + "type": "string" + } + }, + "type": "object" + }, + "entityType": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "sentAt": { + "type": "integer" + }, + "editedAt": { + "type": "integer" + }, + "editedBy": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + }, + "tags": { + "type": "array", + "items": {} + } + }, + "type": "object" + }, + "entityType": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "sentAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + } }, - { - "name": "Group Members", - "description": "The REST collections for group members." + "type": "object" + }, + "usageMetricsSchema": { + "description": "Response data", + "properties": { + "metrics": { + "properties": { + "audio_minutes": { + "type": "integer" + }, + "video_minutes": { + "type": "integer" + }, + "recorded_minutes": { + "type": "integer" + }, + "active_users": { + "type": "integer" + }, + "concurrent_users": { + "type": "integer" + } + }, + "type": "object" + }, + "time_range": { + "properties": { + "fromDate": { + "type": "integer" + }, + "toDate": { + "type": "integer" + } + }, + "type": "object" + } }, - { - "name": "Messages", - "description": "The REST collections for messages." + "type": "object" + }, + "userConversationSchema": { + "description": "Response data", + "properties": { + "conversationId": { + "type": "string" + }, + "conversationType": { + "type": "string" + }, + "unreadMessageCount": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + }, + "lastMessage": { + "properties": { + "id": { + "type": "string" + }, + "conversationId": { + "type": "string" + }, + "sender": { + "type": "string" + }, + "receiverType": { + "type": "string" + }, + "receiver": { + "type": "string" + }, + "category": { + "type": "string" + }, + "type": { + "type": "string" + }, + "data": { + "type": "object", + "allOf": [ + { + "properties": { + "action": { + "type": "string" + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/objectEntitySchema" + } + ] + }, + "sentAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + } + }, + "type": "object" + }, + "conversationWith": { + "type": "object" + } }, - { - "name": "Conversations", - "description": "The REST collections for conversations." + "type": "object" + }, + "userSchema": { + "description": "Response data", + "properties": { + "uid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "metadata": { + "properties": { + "email": { + "type": "string" + } + }, + "type": "object" + }, + "status": { + "type": "string" + }, + "role": { + "type": "string" + }, + "createdAt": { + "type": "integer" + } }, - { - "name": "Restrict Features", - "description": "Allows Restricting Features" + "type": "object" + }, + "webhookSchema": { + "description": "Response data", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "webhookURL": { + "type": "string" + }, + "useBasicAuth": { + "type": "boolean" + }, + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "createdAt": { + "type": "integer" + }, + "updatedAt": { + "type": "integer" + } }, - { - "name": "Metrics", - "description": "Allows accessing Data Metrics" + "type": "object" + } + }, + "parameters": { + "authToken": { + "name": "authToken", + "in": "path", + "description": "An auth token of a user.", + "required": true, + "schema": { + "type": "string" }, - { - "name": "Triggers", - "description": "Allows adding triggers to a webhook." + "examples": { + "string": { + "summary": "Auth Token", + "value": "cometchat-uid-1_1625206799abcdef" + } + } + }, + "conversationId": { + "name": "conversationId", + "in": "path", + "description": "(Required) conversation id", + "required": true, + "schema": { + "type": "string" + } + }, + "uid--conversation": { + "name": "uid", + "in": "path", + "description": "UID of the user whose conversation is being accessed.", + "required": true, + "schema": { + "type": "string" + } + }, + "guid--conversation": { + "name": "guid", + "in": "path", + "description": "GUID of the group whose conversation is being accessed.", + "required": true, + "schema": { + "type": "string" + } + }, + "uid": { + "name": "uid", + "in": "path", + "description": "An UID of a user.", + "required": true, + "schema": { + "type": "string" }, - { - "name": "Webhooks", - "description": "Allows accessing Webhooks." + "examples": { + "string": { + "summary": "UID", + "value": "cometchat-uid-1" + } + } + }, + "guid": { + "name": "guid", + "in": "path", + "description": "A GUID of a group.", + "required": true, + "schema": { + "type": "string" }, - { - "name": "Notifications", - "description": "Allows configuring Notifications core." + "examples": { + "string": { + "summary": "GUID", + "value": "cometchat-guid-1" + } + } + }, + "requiredonBehalfOf": { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the user on whose behalf the action is performed.", + "required": true, + "schema": { + "type": "string" + } + }, + "requiredAppId": { + "name": "appId", + "in": "header", + "description": "(Required) App ID", + "required": true, + "schema": { + "type": "string" + } + }, + "onBehalfOf": { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the user on whose behalf the action is performed.", + "schema": { + "type": "string" + } + }, + "pushToken": { + "name": "pushToken", + "in": "path", + "description": "(Required) Push Token", + "required": true, + "schema": { + "type": "string" + } + }, + "providerId": { + "name": "providerId", + "in": "path", + "description": "Provider ID.", + "required": true, + "schema": { + "type": "string" }, - { - "name": "Moderation", - "description": "The REST collections for Moderations." + "examples": { + "string": { + "summary": "Provider ID", + "value": "provider_12345" + } + } + }, + "requiredUID": { + "name": "uid", + "in": "query", + "description": "(Required) UID", + "required": true, + "schema": { + "type": "string" } - ] + } + }, + "securitySchemes": { + "apiKey": { + "type": "apiKey", + "description": "API Key with fullAccess scope(i.e. Rest API Key from the Dashboard).", + "name": "apikey", + "in": "header" + } + } + }, + "tags": [ + { + "name": "API Keys", + "description": "The API keys are used to authorise the APIs" + }, + { + "name": "Roles", + "description": "The roles are used to give user access rights" + }, + { + "name": "Users", + "description": "The REST collection for users." + }, + { + "name": "Auth Tokens", + "description": "The auth tokens are used to login end users using client SDKs." + }, + { + "name": "Blocked Users", + "description": "The REST collections for blocked users." + }, + { + "name": "Friends", + "description": "List,add and remove friends by passing UID in path variables" + }, + { + "name": "Groups", + "description": "The REST collections for groups." + }, + { + "name": "Banned Users", + "description": "Ban and Unban user by passing other UID in path variables." + }, + { + "name": "Group Members", + "description": "The REST collections for group members." + }, + { + "name": "Messages", + "description": "The REST collections for messages." + }, + { + "name": "Conversations", + "description": "The REST collections for conversations." + }, + { + "name": "Restrict Features", + "description": "Allows Restricting Features" + }, + { + "name": "Metrics", + "description": "Allows accessing Data Metrics" + }, + { + "name": "Triggers", + "description": "Allows adding triggers to a webhook." + }, + { + "name": "Webhooks", + "description": "Allows accessing Webhooks." + }, + { + "name": "Push Notifications", + "description": "Allows configuring Push Notifications." + } + ], + "x-readme": { + "explorer-enabled": true, + "proxy-enabled": true + } } \ No newline at end of file diff --git a/docs.json b/docs.json index fd6231642..e2f374c98 100644 --- a/docs.json +++ b/docs.json @@ -196,32 +196,22 @@ "fundamentals/ai-user-copilot/smart-replies", "fundamentals/ai-user-copilot/conversation-summary" ] - } - ] - }, - { - "group": "Multi tenancy", - "pages": [ - "fundamentals/multi-tenancy-overview", - "fundamentals/multi-tenancy-best-practices" + }, + "fundamentals/multi-tenancy", + "fundamentals/data-import-and-migration", + "fundamentals/webhooks" ] }, - "fundamentals/limits", { - "group": "Data import and migration", + "group": "User-Roles", "pages": [ - "fundamentals/data-import-and-migration-overview", - "fundamentals/import-historical-data", - "fundamentals/live-data-migration" + "fundamentals/user-roles-and-permissions" ] }, { - "group": "Webhooks", + "group": "Guides", "pages": [ - "fundamentals/webhooks-overview", - "fundamentals/webhooks-management", - "fundamentals/webhooks-events", - "fundamentals/webhooks-legacy" + "fundamentals/user-auth" ] }, { @@ -4689,294 +4679,238 @@ "pages": [ "rest-api/chat-apis", { - "group": "API Keys", - "pages": [ - "rest-api/api-keys", - "rest-api/api-keys/list", - "rest-api/api-keys/create", - "rest-api/api-keys/get", - "rest-api/api-keys/update", - "rest-api/api-keys/delete" - ] - }, - { - "group": "Roles", - "pages": [ - "rest-api/roles", - "rest-api/roles/list", - "rest-api/roles/create", - "rest-api/roles/get", - "rest-api/roles/update", - "rest-api/roles/delete" - ] - }, - { - "group": "Users", - "pages": [ - "rest-api/users", - "rest-api/users/list", - "rest-api/users/reactivate", - "rest-api/users/create", - "rest-api/users/deactivate", - "rest-api/users/get", - "rest-api/users/update", - "rest-api/users/delete" - ] - }, - { - "group": "Auth Tokens", - "pages": [ - "rest-api/auth-tokens", - "rest-api/auth-tokens/list", - "rest-api/auth-tokens/create", - "rest-api/auth-tokens/flush", - "rest-api/auth-tokens/get", - "rest-api/auth-tokens/update", - "rest-api/auth-tokens/delete" - ] - }, - { - "group": "Blocked Users", - "pages": [ - "rest-api/blocked-users", - "rest-api/blocked-users/list-blocked-users", - "rest-api/blocked-users/block-user", - "rest-api/blocked-users/unblock-user" - ] - }, - { - "group": "Calls", - "pages": [ - "rest-api/calls", - "rest-api/list-calls", - "rest-api/get-call" - ] - }, - { - "group": "Friends", - "pages": [ - "rest-api/friends", - "rest-api/friends/list-friends", - "rest-api/friends/add-friends", - "rest-api/friends/remove-friends" - ] - }, - { - "group": "Groups", - "pages": [ - "rest-api/groups", - "rest-api/groups/list", - "rest-api/groups/create", - "rest-api/groups/get", - "rest-api/groups/update", - "rest-api/groups/delete" - ] - }, - { - "group": "Banned Users", - "pages": [ - "rest-api/banned-users", - "rest-api/banned-users/ban", - "rest-api/banned-users/unban", - "rest-api/banned-users/list" - ] - }, - { - "group": "Group Members", - "pages": [ - "rest-api/group-members", - "rest-api/group-members/list", - "rest-api/group-members/add-members", - "rest-api/group-members/change-scope", - "rest-api/group-members/kick" - ] - }, - { - "group": "Messages", - "pages": [ - "rest-api/messages", - "rest-api/messages/list-messages", - "rest-api/messages/send-message", - "rest-api/messages/get-message", - "rest-api/messages/update-message", - "rest-api/messages/delete-message", - "rest-api/messages/mark-message-as-interacted", - "rest-api/messages/list-all-reactions", - "rest-api/messages/list-reactions-with-a-specific-emojiunicodes", - "rest-api/messages/add-reaction", - "rest-api/messages/remove-reaction", - "rest-api/messages/list-threaded-messages", - "rest-api/messages/send-threaded-message", - "rest-api/messages/list-user-messages", - "rest-api/messages/list-group-messages", - "rest-api/messages/send-bot-message" - ] - }, - { - "group": "Conversations", - "pages": [ - "rest-api/conversations", - "rest-api/conversations/list-conversations", - "rest-api/conversations/get-conversation", - "rest-api/conversations/delete-conversation", - "rest-api/conversations/get-user-conversation", - "rest-api/conversations/update-user-conversation", - "rest-api/conversations/reset-user-conversation", - "rest-api/conversations/mark-user-conversation-as-delivered", - "rest-api/conversations/mark-user-conversation-as-read", - "rest-api/conversations/mark-conversation-messages-as-unread", - "rest-api/conversations/get-group-conversation", - "rest-api/conversations/update-group-conversation", - "rest-api/conversations/reset-group-conversation", - "rest-api/conversations/mark-group-conversation-as-delivered", - "rest-api/conversations/mark-group-conversation-as-read", - "rest-api/conversations/mark-group-conversation-as-unread" - ] - }, - { - "group": "Restrict Features", - "pages": [ - "rest-api/restrict-features", - "rest-api/restrict-features/list-restricted-features", - "rest-api/restrict-features/restrict-features", - "rest-api/restrict-features/allow-features" - ] - }, - { - "group": "Role Based Access Control", - "pages": [ - "rest-api/rbac-overview", - "rest-api/rbac/list-role-permissions", - "rest-api/rbac/set-role-permissions", - "rest-api/rbac/unset-role-permissions", - "rest-api/rbac/list-scope-permissions", - "rest-api/rbac/set-scope-permissions", - "rest-api/rbac/unset-scope-permissions" - ] - }, - { - "group": "Metrics", + "group": "Setup & Authentication", + "expanded": false, + "icon": "key", "pages": [ - "rest-api/metrics/usage-metrics", - "rest-api/metrics/message-metrics" + "rest-api/authentication", + { + "group": "API Keys", + "pages": [ + "rest-api/api-keys", + "rest-api/api-keys/list", + "rest-api/api-keys/create", + "rest-api/api-keys/get", + "rest-api/api-keys/update", + "rest-api/api-keys/delete" + ] + }, + { + "group": "Auth Tokens", + "pages": [ + "rest-api/auth-tokens", + "rest-api/auth-tokens/list", + "rest-api/auth-tokens/create", + "rest-api/auth-tokens/flush", + "rest-api/auth-tokens/get", + "rest-api/auth-tokens/update", + "rest-api/auth-tokens/delete" + ] + } ] }, { - "group": "AI Moderation", + "group": "Users & Groups", + "expanded": false, + "icon": "users", "pages": [ - "rest-api/moderation", - "rest-api/moderation/list-rules", - "rest-api/moderation/add-rule", - "rest-api/moderation/get-rule", - "rest-api/moderation/update-rule", - "rest-api/moderation/remove-rule", - "rest-api/moderation/list-keywords", - "rest-api/moderation/add-keywords", - "rest-api/moderation/get-keyword", - "rest-api/moderation/update-keyword", - "rest-api/moderation/remove-keyword", - "rest-api/moderation/get-rule-revisions", - "rest-api/moderation/list-blocked-messages", - "rest-api/moderation/approve-blocked-messages", - "rest-api/moderation/send-message", - "rest-api/moderation/list-messages", - "rest-api/moderation/get-message", - "rest-api/moderation/update-message", - "rest-api/moderation/delete-message", - "rest-api/moderation/create-reasons", - "rest-api/moderation/list-reasons", - "rest-api/moderation/get-reason-details", - "rest-api/moderation/update-reason-details", - "rest-api/moderation/delete-reasons", - "rest-api/moderation/flag-a-message", - "rest-api/moderation/review-blocked-message", - "rest-api/moderation/approve-blocked-messages", - "rest-api/moderation/blockreview-flagged-message", - "rest-api/moderation/list-flagged-messages", - "rest-api/moderation/list-reviewed-messages" + { + "group": "User Roles", + "pages": [ + "rest-api/roles", + "rest-api/roles/list", + "rest-api/roles/create", + "rest-api/roles/get", + "rest-api/roles/update", + "rest-api/roles/delete", + { + "group": "Restrict Features", + "pages": [ + "rest-api/restrict-features", + "rest-api/restrict-features/list-restricted-features", + "rest-api/restrict-features/restrict-features", + "rest-api/restrict-features/allow-features" + ] + }, + { + "group": "Role Based Access Control", + "pages": [ + "rest-api/rbac-overview", + "rest-api/rbac/list-role-permissions", + "rest-api/rbac/set-role-permissions", + "rest-api/rbac/unset-role-permissions", + "rest-api/rbac/list-scope-permissions", + "rest-api/rbac/set-scope-permissions", + "rest-api/rbac/unset-scope-permissions" + ] + } + ] + }, + { + "group": "Users", + "pages": [ + "rest-api/users", + "rest-api/users/list", + "rest-api/users/reactivate", + "rest-api/users/create", + "rest-api/users/deactivate", + "rest-api/users/get", + "rest-api/users/update", + "rest-api/users/delete" + ] + }, + { + "group": "Blocked Users", + "pages": [ + "rest-api/blocked-users", + "rest-api/blocked-users/list-blocked-users", + "rest-api/blocked-users/block-user", + "rest-api/blocked-users/unblock-user" + ] + }, + { + "group": "Friends", + "pages": [ + "rest-api/friends", + "rest-api/friends/list-friends", + "rest-api/friends/add-friends", + "rest-api/friends/remove-friends" + ] + }, + { + "group": "Groups", + "pages": [ + "rest-api/groups", + "rest-api/groups/list", + "rest-api/groups/create", + "rest-api/groups/get", + "rest-api/groups/update", + "rest-api/groups/delete" + ] + }, + { + "group": "Group Members", + "pages": [ + "rest-api/group-members", + "rest-api/group-members/list", + "rest-api/group-members/add-members", + "rest-api/group-members/change-scope", + "rest-api/group-members/kick" + ] + }, + { + "group": "Banned Users", + "pages": [ + "rest-api/banned-users", + "rest-api/banned-users/ban", + "rest-api/banned-users/unban", + "rest-api/banned-users/list" + ] + } ] }, { - "group": "Notifications", + "group": "Chat & Messaging", + "expanded": false, + "icon": "comments", "pages": [ - "rest-api/notifications/list-settings", - "rest-api/notifications/reset-settings", - "rest-api/notifications/update-settings", - "rest-api/notifications/list-fcm-providers", - "rest-api/notifications/update-fcm-provider", - "rest-api/notifications/add-fcm-provider", - "rest-api/notifications/delete-fcm-provider", - "rest-api/notifications/change-default-fcm-provider", - "rest-api/notifications/list-apns-providers", - "rest-api/notifications/update-apns-providers", - "rest-api/notifications/add-apns-provider", - "rest-api/notifications/delete-apns-providers", - "rest-api/notifications/change-default-apns-provider", - "rest-api/notifications/list-preferences", - "rest-api/notifications/reset-preferences", - "rest-api/notifications/update-preferences", - "rest-api/notifications/list-push-tokens", - "rest-api/notifications/register-push-token", - "rest-api/notifications/unregister-push-tokens-for-authtoken", - "rest-api/notifications/delete-the-given-push-token", - "rest-api/notifications/list-muted-conversations", - "rest-api/notifications/mute-notifications-for-conversations", - "rest-api/notifications/unmute-notifications-for-conversations", - "rest-api/notifications/get-timezone", - "rest-api/notifications/update-timezone", - "rest-api/notifications/get-contact-details", - "rest-api/notifications/delete-contact-details", - "rest-api/notifications/update-contact-details", - "rest-api/notifications/get-twilio-credentials", - "rest-api/notifications/update-twilio-credentials", - "rest-api/notifications/save-twilio-credentials", - "rest-api/notifications/delete-twilio-credentials", - "rest-api/notifications/get-sendgrid-credentials", - "rest-api/notifications/update-sendgrid-credentials", - "rest-api/notifications/save-sendgrid-credentials", - "rest-api/notifications/delete-sendgrid-credentials", - "rest-api/notifications/get-custom-provider-for-push-notifications", - "rest-api/notifications/update-custom-provider-for-push-notifications", - "rest-api/notifications/save-custom-provider-for-push-notifications", - "rest-api/notifications/delete-the-custom-provider-for-push-notifications", - "rest-api/notifications/get-custom-provider-for-sms-notifications", - "rest-api/notifications/update-custom-provider-for-sms-notifications", - "rest-api/notifications/save-custom-provider-for-sms-notifications", - "rest-api/notifications/delete-the-custom-provider-for-sms-notifications", - "rest-api/notifications/get-custom-provider-for-email-notifications", - "rest-api/notifications/update-custom-provider-for-email-notifications", - "rest-api/notifications/save-custom-provider-for-email-notifications", - "rest-api/notifications/delete-the-custom-provider-for-email-notifications", - "rest-api/notifications/notifications-logs" + { + "group": "Messages", + "pages": [ + "rest-api/messages", + "rest-api/messages/list-messages", + "rest-api/messages/send-message", + "rest-api/messages/get-message", + "rest-api/messages/update-message", + "rest-api/messages/delete-message", + "rest-api/messages/list-all-reactions", + "rest-api/messages/list-reactions-with-a-specific-emoji-unicode", + "rest-api/messages/add-reaction", + "rest-api/messages/remove-reaction", + "rest-api/messages/list-threaded-messages", + "rest-api/messages/send-threaded-message", + "rest-api/messages/list-user-messages", + "rest-api/messages/list-group-messages", + "rest-api/messages/send-bot-message" + ] + }, + { + "group": "Conversations", + "pages": [ + "rest-api/conversations", + "rest-api/conversations/list-conversations", + "rest-api/conversations/get-conversation", + "rest-api/conversations/delete-conversation", + "rest-api/conversations/get-user-conversation", + "rest-api/conversations/update-user-conversation", + "rest-api/conversations/reset-user-conversation", + "rest-api/conversations/mark-user-conversation-as-delivered", + "rest-api/conversations/mark-user-conversation-as-read", + "rest-api/conversations/mark-conversation-messages-as-unread", + "rest-api/conversations/get-group-conversation", + "rest-api/conversations/update-group-conversation", + "rest-api/conversations/reset-group-conversation", + "rest-api/conversations/mark-group-conversation-as-delivered", + "rest-api/conversations/mark-group-conversation-as-read", + "rest-api/conversations/mark-group-conversation-as-unread" + ] + } ] }, - "rest-api/constraints-rate-limits-and-errors" - ] - }, - { - "group": "Data Import APIs", - "pages": [ - "rest-api/data-import", + "rest-api/calls-link", { - "group": "Messages", + "group": "Platform Features", + "expanded": false, + "icon": "sliders", "pages": [ - "rest-api/data-import-apis/messages/import-messages" + { + "group": "Metrics", + "pages": [ + "rest-api/metrics/usage-metrics", + "rest-api/metrics/message-metrics" + ] + }, + "rest-api/moderation-link", + "rest-api/notifications-link" ] }, { - "group": "Users", + "group": "Data Import", + "expanded": false, + "icon": "file-import", "pages": [ - "rest-api/data-import-apis/users/import-users" + "rest-api/data-import", + { + "group": "Messages", + "pages": [ + "rest-api/data-import-apis/messages/import-messages" + ] + }, + { + "group": "Users", + "pages": [ + "rest-api/data-import-apis/users/import-users" + ] + }, + { + "group": "Groups", + "pages": [ + "rest-api/data-import-apis/groups/import-groups", + "rest-api/data-import-apis/groups/import-group-members" + ] + } ] }, { - "group": "Groups", + "group": "Troubleshoot", + "expanded": false, + "icon": "circle-question", "pages": [ - "rest-api/data-import-apis/groups/import-groups", - "rest-api/data-import-apis/groups/import-group-members" + "articles/error-guide", + "articles/properties-and-constraints", + "rest-api/rate-limits" ] - }, - "rest-api/data-migration-constraints-rate-limits-and-errors" + } ] }, { @@ -4984,149 +4918,165 @@ "pages": [ "rest-api/management-apis", { - "group": "App", - "pages": [ - "rest-api/management-apis/app/list", - "rest-api/management-apis/app/create", - "rest-api/management-apis/app/delete", - "rest-api/management-apis/app/fetch-usage" - ] - }, - { - "group": "Extensions", - "pages": [ - "rest-api/extensions-overview", - "rest-api/management-apis/extensions/list-extensions", - "rest-api/management-apis/extensions/enabledisable", - "rest-api/management-apis/extensions/chat-widgets-list", - "rest-api/management-apis/extensions/chat-widgets-update", - "rest-api/management-apis/extensions/chat-widgets-create", - "rest-api/management-apis/extensions/giphy-get-settings", - "rest-api/management-apis/extensions/giphy-update-settings", - "rest-api/management-apis/extensions/giphy-store-settings", - "rest-api/management-apis/extensions/giphy-delete-settings-for-giphy", - "rest-api/management-apis/extensions/xss-filter-get-settings", - "rest-api/management-apis/extensions/xss-filter-update-settings", - "rest-api/management-apis/extensions/xss-filter-store-settings", - "rest-api/management-apis/extensions/xss-filter-delete-settings", - "rest-api/management-apis/extensions/image-moderation-get-settings", - "rest-api/management-apis/extensions/image-moderation-update-settings", - "rest-api/management-apis/extensions/image-moderation-store-settings", - "rest-api/management-apis/extensions/image-moderation-delete-settings", - "rest-api/management-apis/extensions/report-user-get-settings", - "rest-api/management-apis/extensions/report-user-update-settings", - "rest-api/management-apis/extensions/report-user-store-settings", - "rest-api/management-apis/extensions/report-user-delete-settings", - "rest-api/management-apis/extensions/report-message-get-settings", - "rest-api/management-apis/extensions/report-message-update-settings", - "rest-api/management-apis/extensions/report-message-store-settings", - "rest-api/management-apis/extensions/report-message-delete-settings", - "rest-api/management-apis/extensions/voice-transcription-get-settings", - "rest-api/management-apis/extensions/voice-transcription-update-settings", - "rest-api/management-apis/extensions/voice-transcription-store-settings", - "rest-api/management-apis/extensions/voice-transcription-delete-settings", - "rest-api/management-apis/extensions/stipop-get-settings", - "rest-api/management-apis/extensions/stipop-update-settings", - "rest-api/management-apis/extensions/stipop-store-settings", - "rest-api/management-apis/extensions/stipop-delete-settings", - "rest-api/management-apis/extensions/sentiment-analysis-get-settings", - "rest-api/management-apis/extensions/sentiment-analysis-update-settings", - "rest-api/management-apis/extensions/sentiment-analysis-store-settings", - "rest-api/management-apis/extensions/sentiment-analysis-delete-settings", - "rest-api/management-apis/extensions/tinyurl-get-settings", - "rest-api/management-apis/extensions/tinyurl-update-settings", - "rest-api/management-apis/extensions/tinyurl-store-settings", - "rest-api/management-apis/extensions/tinyurl-delete-settings", - "rest-api/management-apis/extensions/intercom-get-settings", - "rest-api/management-apis/extensions/intercom-update-settings", - "rest-api/management-apis/extensions/intercom-store-settings", - "rest-api/management-apis/extensions/intercom-delete-settings", - "rest-api/management-apis/extensions/bitly-get-settings", - "rest-api/management-apis/extensions/bitly-update-settings", - "rest-api/management-apis/extensions/bitly-store-settings", - "rest-api/management-apis/extensions/bitly-delete-settings", - "rest-api/management-apis/extensions/rich-media-preview-get-settings", - "rest-api/management-apis/extensions/rich-media-preview-update-settings", - "rest-api/management-apis/extensions/rich-media-preview-store-settings", - "rest-api/management-apis/extensions/rich-media-preview-delete-settings", - "rest-api/management-apis/extensions/virus-malware-scanner-get-settings", - "rest-api/management-apis/extensions/virus-malware-scanner-update-settings", - "rest-api/management-apis/extensions/virus-malware-scanner-store-settings", - "rest-api/management-apis/extensions/virus-malware-scanner-delete-settings", - "rest-api/management-apis/extensions/video-broadcasting-get-settings", - "rest-api/management-apis/extensions/video-broadcasting-update-settings", - "rest-api/management-apis/extensions/video-broadcasting-store-settings", - "rest-api/management-apis/extensions/video-broadcasting-delete-settings", - "rest-api/management-apis/extensions/tenor-gifs-get-settings", - "rest-api/management-apis/extensions/tenor-gifs-update-settings", - "rest-api/management-apis/extensions/tenor-gifs-store-settings", - "rest-api/management-apis/extensions/tenor-gifs-delete-settings", - "rest-api/management-apis/extensions/in-flight-message-moderation-get-settings", - "rest-api/management-apis/extensions/in-flight-message-moderation-update-settings", - "rest-api/management-apis/extensions/in-flight-message-moderation-store-settings", - "rest-api/management-apis/extensions/in-flight-message-moderation-delete-settings", - "rest-api/management-apis/extensions/end-to-end-encryption-get-settings", - "rest-api/management-apis/extensions/end-to-end-encryption-update-settings", - "rest-api/management-apis/extensions/end-to-end-encryption-store-settings", - "rest-api/management-apis/extensions/end-to-end-encryption-delete-settings", - "rest-api/management-apis/extensions/stickers-extension-get-settings", - "rest-api/management-apis/extensions/stickers-extension-update-settings", - "rest-api/management-apis/extensions/stickers-extension-delete-settings", - "rest-api/management-apis/extensions/push-notification-upload-p12-certificate", - "rest-api/management-apis/extensions/push-notification-upload-p8-certificate", - "rest-api/management-apis/extensions/push-notification-get-certificate", - "rest-api/management-apis/extensions/email-replies-get-settings", - "rest-api/management-apis/extensions/email-replies-update-settings", - "rest-api/management-apis/extensions/email-replies-store-settings", - "rest-api/management-apis/extensions/email-replies-delete-settings", - "rest-api/management-apis/extensions/sms-notification-get-settings", - "rest-api/management-apis/extensions/sms-notification-update-settings", - "rest-api/management-apis/extensions/sms-notification-store-settings", - "rest-api/management-apis/extensions/sms-notification-delete-settings", - "rest-api/management-apis/extensions/push-notification-get-settings", - "rest-api/management-apis/extensions/push-notification-update-settings", - "rest-api/management-apis/extensions/push-notification-store-settings", - "rest-api/management-apis/extensions/push-notification-delete-settings", - "rest-api/management-apis/extensions/chatwoot-get-settings", - "rest-api/management-apis/extensions/chatwoot-update-settings", - "rest-api/management-apis/extensions/chatwoot-store-settings", - "rest-api/management-apis/extensions/chatwoot-delete-settings", - "rest-api/management-apis/extensions/message-shortcuts-get-settings", - "rest-api/management-apis/extensions/message-shortcuts-update-settings", - "rest-api/management-apis/extensions/message-shortcuts-store-settings", - "rest-api/management-apis/extensions/message-shortcuts-delete-settings", - "rest-api/management-apis/extensions/email-notification-get-settings", - "rest-api/management-apis/extensions/email-notification-update-settings", - "rest-api/management-apis/extensions/email-notification-store-settings", - "rest-api/management-apis/extensions/email-notification-delete-settings", - "rest-api/management-apis/extensions/data-masking-get-settings", - "rest-api/management-apis/extensions/data-masking-store-or-update-settings", - "rest-api/management-apis/extensions/data-masking-delete-settings", - "rest-api/management-apis/extensions/profanity-filter-get-settings", - "rest-api/management-apis/extensions/profanity-filter-update-settings", - "rest-api/management-apis/extensions/profanity-filter-adds-settings", - "rest-api/management-apis/extensions/profanity-filter-delete-settings" - ] - }, - { - "group": "Team Management", + "group": "App Management", + "expanded": false, + "icon": "grid-2", "pages": [ - "rest-api/management-apis/team-management/list-collaborators", - "rest-api/management-apis/team-management/addsremove-collaborators" + { + "group": "App", + "pages": [ + "rest-api/management-apis/app/list", + "rest-api/management-apis/app/create", + "rest-api/management-apis/app/delete", + "rest-api/management-apis/app/fetch-usage" + ] + }, + { + "group": "Extensions", + "pages": [ + "rest-api/extensions-overview", + "rest-api/management-apis/extensions/list-extensions", + "rest-api/management-apis/extensions/enabledisable", + "rest-api/management-apis/extensions/chat-widgets-list", + "rest-api/management-apis/extensions/chat-widgets-update", + "rest-api/management-apis/extensions/chat-widgets-create", + "rest-api/management-apis/extensions/giphy-get-settings", + "rest-api/management-apis/extensions/giphy-update-settings", + "rest-api/management-apis/extensions/giphy-store-settings", + "rest-api/management-apis/extensions/giphy-delete-settings-for-giphy", + "rest-api/management-apis/extensions/xss-filter-get-settings", + "rest-api/management-apis/extensions/xss-filter-update-settings", + "rest-api/management-apis/extensions/xss-filter-store-settings", + "rest-api/management-apis/extensions/xss-filter-delete-settings", + "rest-api/management-apis/extensions/image-moderation-get-settings", + "rest-api/management-apis/extensions/image-moderation-update-settings", + "rest-api/management-apis/extensions/image-moderation-store-settings", + "rest-api/management-apis/extensions/image-moderation-delete-settings", + "rest-api/management-apis/extensions/report-user-get-settings", + "rest-api/management-apis/extensions/report-user-update-settings", + "rest-api/management-apis/extensions/report-user-store-settings", + "rest-api/management-apis/extensions/report-user-delete-settings", + "rest-api/management-apis/extensions/report-message-get-settings", + "rest-api/management-apis/extensions/report-message-update-settings", + "rest-api/management-apis/extensions/report-message-store-settings", + "rest-api/management-apis/extensions/report-message-delete-settings", + "rest-api/management-apis/extensions/voice-transcription-get-settings", + "rest-api/management-apis/extensions/voice-transcription-update-settings", + "rest-api/management-apis/extensions/voice-transcription-store-settings", + "rest-api/management-apis/extensions/voice-transcription-delete-settings", + "rest-api/management-apis/extensions/stipop-get-settings", + "rest-api/management-apis/extensions/stipop-update-settings", + "rest-api/management-apis/extensions/stipop-store-settings", + "rest-api/management-apis/extensions/stipop-delete-settings", + "rest-api/management-apis/extensions/sentiment-analysis-get-settings", + "rest-api/management-apis/extensions/sentiment-analysis-update-settings", + "rest-api/management-apis/extensions/sentiment-analysis-store-settings", + "rest-api/management-apis/extensions/sentiment-analysis-delete-settings", + "rest-api/management-apis/extensions/tinyurl-get-settings", + "rest-api/management-apis/extensions/tinyurl-update-settings", + "rest-api/management-apis/extensions/tinyurl-store-settings", + "rest-api/management-apis/extensions/tinyurl-delete-settings", + "rest-api/management-apis/extensions/intercom-get-settings", + "rest-api/management-apis/extensions/intercom-update-settings", + "rest-api/management-apis/extensions/intercom-store-settings", + "rest-api/management-apis/extensions/intercom-delete-settings", + "rest-api/management-apis/extensions/bitly-get-settings", + "rest-api/management-apis/extensions/bitly-update-settings", + "rest-api/management-apis/extensions/bitly-store-settings", + "rest-api/management-apis/extensions/bitly-delete-settings", + "rest-api/management-apis/extensions/rich-media-preview-get-settings", + "rest-api/management-apis/extensions/rich-media-preview-update-settings", + "rest-api/management-apis/extensions/rich-media-preview-store-settings", + "rest-api/management-apis/extensions/rich-media-preview-delete-settings", + "rest-api/management-apis/extensions/virus-malware-scanner-get-settings", + "rest-api/management-apis/extensions/virus-malware-scanner-update-settings", + "rest-api/management-apis/extensions/virus-malware-scanner-store-settings", + "rest-api/management-apis/extensions/virus-malware-scanner-delete-settings", + "rest-api/management-apis/extensions/video-broadcasting-get-settings", + "rest-api/management-apis/extensions/video-broadcasting-update-settings", + "rest-api/management-apis/extensions/video-broadcasting-store-settings", + "rest-api/management-apis/extensions/video-broadcasting-delete-settings", + "rest-api/management-apis/extensions/tenor-gifs-get-settings", + "rest-api/management-apis/extensions/tenor-gifs-update-settings", + "rest-api/management-apis/extensions/tenor-gifs-store-settings", + "rest-api/management-apis/extensions/tenor-gifs-delete-settings", + "rest-api/management-apis/extensions/in-flight-message-moderation-get-settings", + "rest-api/management-apis/extensions/in-flight-message-moderation-update-settings", + "rest-api/management-apis/extensions/in-flight-message-moderation-store-settings", + "rest-api/management-apis/extensions/in-flight-message-moderation-delete-settings", + "rest-api/management-apis/extensions/end-to-end-encryption-get-settings", + "rest-api/management-apis/extensions/end-to-end-encryption-update-settings", + "rest-api/management-apis/extensions/end-to-end-encryption-store-settings", + "rest-api/management-apis/extensions/end-to-end-encryption-delete-settings", + "rest-api/management-apis/extensions/stickers-extension-get-settings", + "rest-api/management-apis/extensions/stickers-extension-update-settings", + "rest-api/management-apis/extensions/stickers-extension-delete-settings", + "rest-api/management-apis/extensions/push-notification-upload-p12-certificate", + "rest-api/management-apis/extensions/push-notification-upload-p8-certificate", + "rest-api/management-apis/extensions/push-notification-get-certificate", + "rest-api/management-apis/extensions/email-replies-get-settings", + "rest-api/management-apis/extensions/email-replies-update-settings", + "rest-api/management-apis/extensions/email-replies-store-settings", + "rest-api/management-apis/extensions/email-replies-delete-settings", + "rest-api/management-apis/extensions/sms-notification-get-settings", + "rest-api/management-apis/extensions/sms-notification-update-settings", + "rest-api/management-apis/extensions/sms-notification-store-settings", + "rest-api/management-apis/extensions/sms-notification-delete-settings", + "rest-api/management-apis/extensions/push-notification-get-settings", + "rest-api/management-apis/extensions/push-notification-update-settings", + "rest-api/management-apis/extensions/push-notification-store-settings", + "rest-api/management-apis/extensions/push-notification-delete-settings", + "rest-api/management-apis/extensions/chatwoot-get-settings", + "rest-api/management-apis/extensions/chatwoot-update-settings", + "rest-api/management-apis/extensions/chatwoot-store-settings", + "rest-api/management-apis/extensions/chatwoot-delete-settings", + "rest-api/management-apis/extensions/message-shortcuts-get-settings", + "rest-api/management-apis/extensions/message-shortcuts-update-settings", + "rest-api/management-apis/extensions/message-shortcuts-store-settings", + "rest-api/management-apis/extensions/message-shortcuts-delete-settings", + "rest-api/management-apis/extensions/email-notification-get-settings", + "rest-api/management-apis/extensions/email-notification-update-settings", + "rest-api/management-apis/extensions/email-notification-store-settings", + "rest-api/management-apis/extensions/email-notification-delete-settings", + "rest-api/management-apis/extensions/data-masking-get-settings", + "rest-api/management-apis/extensions/data-masking-store-or-update-settings", + "rest-api/management-apis/extensions/data-masking-delete-settings", + "rest-api/management-apis/extensions/profanity-filter-get-settings", + "rest-api/management-apis/extensions/profanity-filter-update-settings", + "rest-api/management-apis/extensions/profanity-filter-adds-settings", + "rest-api/management-apis/extensions/profanity-filter-delete-settings" + ] + }, + { + "group": "Settings", + "pages": [ + "rest-api/settings", + "rest-api/management-apis/settings/list-settings", + "rest-api/management-apis/settings/maps-settings", + "rest-api/management-apis/settings/unmaps-settings" + ] + } ] }, { - "group": "Settings", + "group": "Access Control", + "expanded": false, + "icon": "lock", "pages": [ - "rest-api/settings", - "rest-api/management-apis/settings/list-settings", - "rest-api/management-apis/settings/maps-settings", - "rest-api/management-apis/settings/unmaps-settings" + { + "group": "Team Management", + "pages": [ + "rest-api/management-apis/team-management/list-collaborators", + "rest-api/management-apis/team-management/addsremove-collaborators" + ] + } ] }, { "group": "Webhooks", + "icon": "webhook", "pages": [ + "rest-api/management-apis/webhooks/overview", "rest-api/management-apis/webhooks/list-webhooks", "rest-api/management-apis/webhooks/create-webhook", "rest-api/management-apis/webhooks/get-webhook", @@ -5138,25 +5088,14 @@ ] }, { - "group": "AI Moderation", + "group": "Troubleshoot", + "expanded": false, + "icon": "circle-question", "pages": [ - "rest-api/moderation", - "rest-api/management-apis/moderation/list-rules", - "rest-api/management-apis/moderation/add-rule", - "rest-api/management-apis/moderation/get-rule", - "rest-api/management-apis/moderation/update-rule", - "rest-api/management-apis/moderation/remove-rule", - "rest-api/management-apis/moderation/list-keywords", - "rest-api/management-apis/moderation/add-keywords", - "rest-api/management-apis/moderation/get-keyword", - "rest-api/management-apis/moderation/update-keyword", - "rest-api/management-apis/moderation/remove-keyword", - "rest-api/management-apis/moderation/get-rule-revisions", - "rest-api/management-apis/moderation/list-blocked-messages", - "rest-api/management-apis/moderation/approve-blocked-messages" + "rest-api/management-apis/error-codes", + "rest-api/management-apis/properties-and-constraints" ] - }, - "rest-api/multi-tenancy-constraints-rate-limits-and-errors" + } ] } ] @@ -5513,15 +5452,32 @@ ] }, { - "tab": "API", - "tab-id": "calls-api", - "pages": [ + "tab": "APIs", + "groups": [ { - "group": "Calls", + "group": "Calls APIs", "pages": [ - "calls/api/overview", - "calls/api/list-calls", - "calls/api/get-call" + "rest-api/calls-apis/overview", + "rest-api/calls-apis/setup-and-authentication", + "rest-api/calls-apis/users-and-groups", + { + "group": "Calls", + "expanded": false, + "icon": "phone", + "pages": [ + "rest-api/calls-apis/list-calls", + "rest-api/calls-apis/get-call" + ] + }, + { + "group": "Troubleshoot", + "expanded": false, + "icon": "circle-question", + "pages": [ + "rest-api/calls-apis/error-codes", + "rest-api/calls-apis/properties-and-constraints" + ] + } ] } ] @@ -5745,16 +5701,18 @@ { "group": "BYO Agent APIs", "pages": [ - "ai-agents/byo-api-explorer", + "rest-api/byo-ai-agents-apis/overview", + "rest-api/byo-ai-agents-apis/setup-and-authentication", + "rest-api/byo-ai-agents-apis/users-and-groups", { "group": "BYO Agents", "expanded": false, "icon": "robot", "pages": [ - "ai-agents/apis/create-byo-agent", - "ai-agents/apis/list-byo-agents", - "ai-agents/apis/update-byo-agent", - "ai-agents/apis/delete-byo-agent" + "rest-api/byo-ai-agents-apis/agents/create-byo-agent", + "rest-api/byo-ai-agents-apis/agents/list-byo-agents", + "rest-api/byo-ai-agents-apis/agents/update-byo-agent", + "rest-api/byo-ai-agents-apis/agents/delete-byo-agent" ] }, { @@ -5762,11 +5720,20 @@ "expanded": false, "icon": "wrench", "pages": [ - "ai-agents/apis/list-tools", - "ai-agents/apis/get-tool", - "ai-agents/apis/create-tool", - "ai-agents/apis/update-tool", - "ai-agents/apis/delete-tool" + "rest-api/byo-ai-agents-apis/tools/list-tools", + "rest-api/byo-ai-agents-apis/tools/get-tool", + "rest-api/byo-ai-agents-apis/tools/create-tool", + "rest-api/byo-ai-agents-apis/tools/update-tool", + "rest-api/byo-ai-agents-apis/tools/delete-tool" + ] + }, + { + "group": "Troubleshoot", + "expanded": false, + "icon": "circle-question", + "pages": [ + "rest-api/byo-ai-agents-apis/error-codes", + "rest-api/byo-ai-agents-apis/properties-and-constraints" ] } ] @@ -5774,19 +5741,22 @@ { "group": "Agent Builder APIs", "pages": [ - "ai-agents/api-explorer", + "rest-api/ai-agents-apis/overview", + "rest-api/ai-agents-apis/setup-and-authentication", + "rest-api/ai-agents-apis/users-and-groups", { "group": "Agents", "expanded": false, "icon": "robot", "pages": [ - "ai-agents/apis/create-agent", - "ai-agents/apis/list-agents", - "ai-agents/apis/get-agent", - "ai-agents/apis/update-agent", - "ai-agents/apis/delete-agent", - "ai-agents/apis/search-agent-tools", - "ai-agents/apis/list-agent-tools-and-actions" + "rest-api/ai-agents-apis/agents/create-agent", + "rest-api/ai-agents-apis/agents/list-agents", + "rest-api/ai-agents-apis/agents/get-agent", + "rest-api/ai-agents-apis/agents/update-agent", + "rest-api/ai-agents-apis/agents/delete-agent", + "rest-api/ai-agents-apis/agents/search-agent-tools", + "rest-api/ai-agents-apis/agents/list-agent-tools-and-actions", + "rest-api/ai-agents-apis/agents/list-available-models" ] }, { @@ -5794,11 +5764,11 @@ "expanded": false, "icon": "wrench", "pages": [ - "ai-agents/apis/add-tools-to-agent", - "ai-agents/apis/remove-tools-from-agent", - "ai-agents/apis/get-tool-actions-for-agent", - "ai-agents/apis/enable-tool-actions", - "ai-agents/apis/remove-tool-actions" + "rest-api/ai-agents-apis/tools/add-tools-to-agent", + "rest-api/ai-agents-apis/tools/remove-tools-from-agent", + "rest-api/ai-agents-apis/tools/get-tool-actions-for-agent", + "rest-api/ai-agents-apis/tools/enable-tool-actions", + "rest-api/ai-agents-apis/tools/remove-tool-actions" ] }, { @@ -5806,12 +5776,13 @@ "expanded": false, "icon": "code", "pages": [ - "ai-agents/apis/list-api-tools", - "ai-agents/apis/create-api-tool", - "ai-agents/apis/update-api-tool", - "ai-agents/apis/delete-api-tool", - "ai-agents/apis/add-api-tools-to-agent", - "ai-agents/apis/remove-api-tools-from-agent" + "rest-api/ai-agents-apis/custom-api-tools/list-api-tools", + "rest-api/ai-agents-apis/custom-api-tools/get-api-tool", + "rest-api/ai-agents-apis/custom-api-tools/create-api-tool", + "rest-api/ai-agents-apis/custom-api-tools/update-api-tool", + "rest-api/ai-agents-apis/custom-api-tools/delete-api-tool", + "rest-api/ai-agents-apis/custom-api-tools/add-api-tools-to-agent", + "rest-api/ai-agents-apis/custom-api-tools/remove-api-tools-from-agent" ] }, { @@ -5819,12 +5790,13 @@ "expanded": false, "icon": "window", "pages": [ - "ai-agents/apis/list-frontend-actions", - "ai-agents/apis/create-frontend-action", - "ai-agents/apis/update-frontend-action", - "ai-agents/apis/delete-frontend-action", - "ai-agents/apis/add-frontend-actions-to-agent", - "ai-agents/apis/remove-frontend-actions-from-agent" + "rest-api/ai-agents-apis/frontend-actions/list-frontend-actions", + "rest-api/ai-agents-apis/frontend-actions/get-frontend-action", + "rest-api/ai-agents-apis/frontend-actions/create-frontend-action", + "rest-api/ai-agents-apis/frontend-actions/update-frontend-action", + "rest-api/ai-agents-apis/frontend-actions/delete-frontend-action", + "rest-api/ai-agents-apis/frontend-actions/add-frontend-actions-to-agent", + "rest-api/ai-agents-apis/frontend-actions/remove-frontend-actions-from-agent" ] }, { @@ -5832,12 +5804,13 @@ "expanded": false, "icon": "server", "pages": [ - "ai-agents/apis/list-mcp-servers", - "ai-agents/apis/create-mcp-server", - "ai-agents/apis/update-mcp-server", - "ai-agents/apis/delete-mcp-server", - "ai-agents/apis/add-mcp-servers-to-agent", - "ai-agents/apis/remove-mcp-servers-from-agent" + "rest-api/ai-agents-apis/mcp-servers/list-mcp-servers", + "rest-api/ai-agents-apis/mcp-servers/get-mcp-server", + "rest-api/ai-agents-apis/mcp-servers/create-mcp-server", + "rest-api/ai-agents-apis/mcp-servers/update-mcp-server", + "rest-api/ai-agents-apis/mcp-servers/delete-mcp-server", + "rest-api/ai-agents-apis/mcp-servers/add-mcp-servers-to-agent", + "rest-api/ai-agents-apis/mcp-servers/remove-mcp-servers-from-agent" ] }, { @@ -5845,24 +5818,26 @@ "expanded": false, "icon": "book", "pages": [ - "ai-agents/apis/list-knowledge-base-records", - "ai-agents/apis/get-source-pages", - "ai-agents/apis/retry-knowledge-base-source-indexing", - "ai-agents/apis/initiate-file-uploads", - "ai-agents/apis/delete-uploaded-file", - "ai-agents/apis/create-text-detail", - "ai-agents/apis/update-text-detail", - "ai-agents/apis/delete-text-detail", - "ai-agents/apis/poll-knowledge-base-status", - "ai-agents/apis/add-knowledge-base-files", - "ai-agents/apis/remove-knowledge-base-files", - "ai-agents/apis/scrape-single-page", - "ai-agents/apis/scrape-website", - "ai-agents/apis/get-discovered-urls", - "ai-agents/apis/process-discovered-urls", - "ai-agents/apis/delete-website", - "ai-agents/apis/poll-discovered-urls-status", - "ai-agents/apis/retry-indexing-for-website-pages" + "rest-api/ai-agents-apis/knowledge-base/list-knowledge-base-records", + "rest-api/ai-agents-apis/knowledge-base/get-source-pages", + "rest-api/ai-agents-apis/knowledge-base/retry-knowledge-base-source-indexing", + "rest-api/ai-agents-apis/knowledge-base/initiate-file-uploads", + "rest-api/ai-agents-apis/knowledge-base/delete-uploaded-file", + "rest-api/ai-agents-apis/knowledge-base/list-text-entries", + "rest-api/ai-agents-apis/knowledge-base/get-text-entry", + "rest-api/ai-agents-apis/knowledge-base/create-text-detail", + "rest-api/ai-agents-apis/knowledge-base/update-text-detail", + "rest-api/ai-agents-apis/knowledge-base/delete-text-detail", + "rest-api/ai-agents-apis/knowledge-base/poll-knowledge-base-status", + "rest-api/ai-agents-apis/knowledge-base/add-knowledge-base-files", + "rest-api/ai-agents-apis/knowledge-base/remove-knowledge-base-files", + "rest-api/ai-agents-apis/knowledge-base/scrape-single-page", + "rest-api/ai-agents-apis/knowledge-base/scrape-website", + "rest-api/ai-agents-apis/knowledge-base/get-discovered-urls", + "rest-api/ai-agents-apis/knowledge-base/process-discovered-urls", + "rest-api/ai-agents-apis/knowledge-base/delete-website", + "rest-api/ai-agents-apis/knowledge-base/poll-discovered-urls-status", + "rest-api/ai-agents-apis/knowledge-base/retry-indexing-for-website-pages" ] }, { @@ -5870,10 +5845,19 @@ "expanded": false, "icon": "brackets-curly", "pages": [ - "ai-agents/apis/get-all-available-variables", - "ai-agents/apis/create-custom-variable", - "ai-agents/apis/update-custom-variable", - "ai-agents/apis/delete-custom-variable" + "rest-api/ai-agents-apis/variables/get-all-available-variables", + "rest-api/ai-agents-apis/variables/create-custom-variable", + "rest-api/ai-agents-apis/variables/update-custom-variable", + "rest-api/ai-agents-apis/variables/delete-custom-variable" + ] + }, + { + "group": "Troubleshoot", + "expanded": false, + "icon": "circle-question", + "pages": [ + "rest-api/ai-agents-apis/error-codes", + "rest-api/ai-agents-apis/properties-and-constraints" ] } ] @@ -5890,34 +5874,132 @@ "pages": [ "moderation/overview", "moderation/getting-started", - "moderation/rules-management", - "moderation/lists-management", - "moderation/flagged-messages", - "moderation/blocked-messages", - "moderation/reviewed-messages", - "moderation/constraints-and-limits", { - "group": "OpenAI", + "group": "Setup", + "icon": "gear", + "pages": [ + "moderation/rules-management", + "moderation/lists-management" + ] + }, + { + "group": "Message Management", + "icon": "envelope-open-text", "pages": [ - "moderation/open-ai/openai-overview", - "moderation/open-ai/openai-custom" + "moderation/flagged-messages", + "moderation/blocked-messages", + "moderation/reviewed-messages" ] }, { - "group": "Custom API", + "group": "Integrations", + "icon": "plug", "pages": [ - "moderation/custom/custom-api-overview", - "moderation/custom/custom-api" + { + "group": "OpenAI", + "pages": [ + "moderation/open-ai/openai-overview", + "moderation/open-ai/openai-custom" + ] + }, + { + "group": "Custom API", + "pages": [ + "moderation/custom/custom-api-overview", + "moderation/custom/custom-api" + ] + } ] }, { - "group": "Resources", + "group": "Reference", + "icon": "book", "pages": [ - "moderation/api-explorer", + "moderation/constraints-and-limits", "moderation/legacy-extensions" ] } ] + }, + { + "tab": "APIs", + "groups": [ + { + "group": "Moderation APIs", + "pages": [ + "rest-api/moderation-apis/overview", + "rest-api/moderation-apis/setup-and-authentication", + "rest-api/moderation-apis/users-and-groups", + { + "group": "Rules", + "expanded": false, + "icon": "gavel", + "pages": [ + "rest-api/moderation-apis/list-rules", + "rest-api/moderation-apis/add-rule", + "rest-api/moderation-apis/get-rule", + "rest-api/moderation-apis/update-rule", + "rest-api/moderation-apis/remove-rule", + "rest-api/moderation-apis/get-rule-revisions" + ] + }, + { + "group": "Keywords", + "expanded": false, + "icon": "font", + "pages": [ + "rest-api/moderation-apis/list-keywords", + "rest-api/moderation-apis/add-keywords", + "rest-api/moderation-apis/get-keyword", + "rest-api/moderation-apis/update-keyword", + "rest-api/moderation-apis/remove-keyword" + ] + }, + { + "group": "Blocked Messages", + "expanded": false, + "icon": "ban", + "pages": [ + "rest-api/moderation-apis/list-blocked-messages", + "rest-api/moderation-apis/approve-blocked-messages", + "rest-api/moderation-apis/review-blocked-message" + ] + }, + { + "group": "Flagged Messages", + "expanded": false, + "icon": "flag", + "pages": [ + "rest-api/moderation-apis/flag-a-message", + "rest-api/moderation-apis/blockreview-flagged-message", + "rest-api/moderation-apis/list-flagged-messages", + "rest-api/moderation-apis/list-reviewed-messages" + ] + }, + { + "group": "Reasons", + "expanded": false, + "icon": "clipboard-list", + "pages": [ + "rest-api/moderation-apis/create-reasons", + "rest-api/moderation-apis/list-reasons", + "rest-api/moderation-apis/get-reason-details", + "rest-api/moderation-apis/update-reason-details", + "rest-api/moderation-apis/delete-reasons" + ] + }, + { + "group": "Troubleshoot", + "expanded": false, + "icon": "circle-question", + "pages": [ + "rest-api/moderation-apis/error-codes", + "rest-api/moderation-apis/properties-and-constraints" + ] + } + ] + } + ] } ] }, @@ -5955,13 +6037,8 @@ "notifications/badge-count", "notifications/custom-providers", "notifications/logs", - "notifications/constraints-and-limits" - ] - }, - { - "group": " ", - "pages": [ - "notifications/push-notifications-extension-legacy" + "notifications/constraints-and-limits", + "notifications/push-notifications-extension-legacy" ] } ] @@ -5974,12 +6051,7 @@ "notifications/email-preferences", "notifications/email-templates", "notifications/email-custom-providers", - { - "group": " ", - "pages": [ - "notifications/email-notifications-extension-legacy" - ] - } + "notifications/email-notifications-extension-legacy" ] }, { @@ -5990,10 +6062,165 @@ "notifications/sms-preferences", "notifications/sms-templates", "notifications/sms-custom-providers", + "notifications/sms-notifications-extension-legacy" + ] + }, + { + "tab": "APIs", + "groups": [ { - "group": " ", + "group": "Notification APIs", "pages": [ - "notifications/sms-notifications-extension-legacy" + "rest-api/notifications-apis/overview", + "rest-api/notifications-apis/setup-and-authentication", + "rest-api/notifications-apis/users-and-groups", + { + "group": "Settings", + "expanded": false, + "icon": "gear", + "pages": [ + "rest-api/notifications-apis/push/list-settings", + "rest-api/notifications-apis/push/reset-settings", + "rest-api/notifications-apis/push/update-settings" + ] + }, + { + "group": "Preferences", + "expanded": false, + "icon": "sliders", + "pages": [ + "rest-api/notifications-apis/push/list-preferences", + "rest-api/notifications-apis/push/reset-preferences", + "rest-api/notifications-apis/push/update-preferences", + "rest-api/notifications-apis/push/list-muted-conversations", + "rest-api/notifications-apis/push/mute-conversations", + "rest-api/notifications-apis/push/unmute-conversations", + "rest-api/notifications-apis/push/get-timezone", + "rest-api/notifications-apis/push/update-timezone" + ] + }, + { + "group": "Contacts", + "expanded": false, + "icon": "address-book", + "pages": [ + "rest-api/notifications-apis/push/get-contact-details", + "rest-api/notifications-apis/push/update-contact-details", + "rest-api/notifications-apis/push/delete-contact-details" + ] + }, + { + "group": "Push Notifications", + "expanded": false, + "icon": "bell", + "pages": [ + { + "group": "FCM Provider", + "pages": [ + "rest-api/notifications-apis/push/list-fcm-providers", + "rest-api/notifications-apis/push/add-fcm-provider", + "rest-api/notifications-apis/push/update-fcm-provider", + "rest-api/notifications-apis/push/delete-fcm-provider", + "rest-api/notifications-apis/push/change-default-fcm-provider" + ] + }, + { + "group": "APNS Provider", + "pages": [ + "rest-api/notifications-apis/push/list-apns-providers", + "rest-api/notifications-apis/push/add-apns-provider", + "rest-api/notifications-apis/push/update-apns-providers", + "rest-api/notifications-apis/push/delete-apns-providers", + "rest-api/notifications-apis/push/change-default-apns-provider" + ] + }, + { + "group": "Custom Provider", + "pages": [ + "rest-api/notifications-apis/push/get-custom-provider", + "rest-api/notifications-apis/push/save-custom-provider", + "rest-api/notifications-apis/push/update-custom-provider", + "rest-api/notifications-apis/push/delete-custom-provider" + ] + }, + { + "group": "Push Tokens", + "pages": [ + "rest-api/notifications-apis/push/list-push-tokens", + "rest-api/notifications-apis/push/register-push-token", + "rest-api/notifications-apis/push/unregister-push-tokens", + "rest-api/notifications-apis/push/delete-push-token" + ] + } + ] + }, + { + "group": "Email Notifications", + "expanded": false, + "icon": "envelope", + "pages": [ + { + "group": "SendGrid Provider", + "pages": [ + "rest-api/notifications-apis/email/get-sendgrid-credentials", + "rest-api/notifications-apis/email/save-sendgrid-credentials", + "rest-api/notifications-apis/email/update-sendgrid-credentials", + "rest-api/notifications-apis/email/delete-sendgrid-credentials" + ] + }, + { + "group": "Custom Provider", + "pages": [ + "rest-api/notifications-apis/email/get-custom-provider", + "rest-api/notifications-apis/email/save-custom-provider", + "rest-api/notifications-apis/email/update-custom-provider", + "rest-api/notifications-apis/email/delete-custom-provider" + ] + } + ] + }, + { + "group": "SMS Notifications", + "expanded": false, + "icon": "message-sms", + "pages": [ + { + "group": "Twilio Provider", + "pages": [ + "rest-api/notifications-apis/sms/get-twilio-credentials", + "rest-api/notifications-apis/sms/save-twilio-credentials", + "rest-api/notifications-apis/sms/update-twilio-credentials", + "rest-api/notifications-apis/sms/delete-twilio-credentials" + ] + }, + { + "group": "Custom Provider", + "pages": [ + "rest-api/notifications-apis/sms/get-custom-provider", + "rest-api/notifications-apis/sms/save-custom-provider", + "rest-api/notifications-apis/sms/update-custom-provider", + "rest-api/notifications-apis/sms/delete-custom-provider" + ] + } + ] + }, + { + "group": "Notification Logs", + "expanded": false, + "icon": "scroll", + "pages": [ + "rest-api/notifications-apis/push/notifications-logs" + ] + }, + { + "group": "Troubleshoot", + "expanded": false, + "icon": "circle-question", + "pages": [ + "rest-api/notifications-apis/error-codes", + "rest-api/notifications-apis/properties-and-constraints" + ] + } ] } ] @@ -6040,7 +6267,7 @@ "redirects": [ { "source": "/react-native/getting-started", - "destination": "/react-native/react-native-cli-integration" + "destination": "/ui-kit/react-native/react-native-cli-integration" }, { "source": "/ui-kit/react/property-changes", @@ -6076,15 +6303,15 @@ }, { "source": "/webhooks/overview", - "destination": "/fundamentals/webhooks-overview" + "destination": "/fundamentals/webhooks" }, { "source": "/webhooks/webhooks-management", - "destination": "/fundamentals/webhooks-management" + "destination": "/fundamentals/webhooks" }, { "source": "/webhooks/webhooks-events", - "destination": "/fundamentals/webhooks-events" + "destination": "/fundamentals/webhooks" }, { "source": "/webhooks/webhooks-legacy-overview", @@ -6112,11 +6339,11 @@ }, { "source": "/ai/bots", - "destination": "/ai-chatbots/bots" + "destination": "/ai-chatbots/ai-bots/bots" }, { "source": "/ai/personalities", - "destination": "/ai-chatbots/instructions" + "destination": "/ai-chatbots/ai-bots/instructions" }, { "source": "/bots/overview", @@ -6264,7 +6491,7 @@ }, { "source": "/extensions/android-connection-service", - "destination": "/notifications/android-connection-service" + "destination": "/notifications/android-push-notifications" }, { "source": "/extensions/ios-fcm-push-notifications", @@ -6276,27 +6503,27 @@ }, { "source": "/extensions/flutter-push-notifications", - "destination": "/notifications/flutter-push-notifications" + "destination": "/notifications/flutter-push-notifications-android" }, { "source": "/extensions/react-native-push-notifications", - "destination": "/notifications/react-native-push-notifications" + "destination": "/notifications/react-native-push-notifications-android" }, { "source": "/extensions/capacitor-cordova-ionic-push-notifications", - "destination": "/notifications/capacitor-cordova-ionic-push-notifications" + "destination": "/notifications/push-overview" }, { "source": "/extensions/migration-guide-push-notifications", - "destination": "/notifications/migration-guide-push-notifications" + "destination": "/notifications/push-overview" }, { "source": "/extensions/mute-functionality", - "destination": "/notifications/mute-functionality" + "destination": "/notifications/preferences" }, { "source": "/extensions/token-management", - "destination": "/notifications/token-management" + "destination": "/notifications/push-overview" }, { "source": "/extensions/legacy-push-notifications", @@ -6568,11 +6795,11 @@ }, { "source": "/widget/wordpress-buddypress", - "destination": "/widget/legacy/wordpress-buddypress" + "destination": "/widget/wordpress/legacy" }, { "source": "/widget/html-bootstrap-jquery", - "destination": "/widget/legacy/html-bootstrap-jquery" + "destination": "/widget/html/legacy" }, { "source": "/widget/custom-build", @@ -6696,7 +6923,7 @@ }, { "source": "/notifications/push-notification-extension-overview", - "destination": "/notifications/push-notification-extension-legacy" + "destination": "/notifications/push-notifications-extension-legacy" }, { "source": "/notifications/push-notification-extension-legacy", @@ -7381,6 +7608,570 @@ { "source": "/sdk/ionic/3.0/bots", "destination": "/sdk/ionic-legacy/3.0/bots" + }, + { + "source": "/rest-api/messages/list-reactions-with-a-specific-emojiunicodes", + "destination": "/rest-api/messages/list-reactions-with-a-specific-emoji-unicode" + }, + { + "source": "/rest-api/messages/mark-message-as-interacted", + "destination": "/rest-api/messages" + }, + { + "source": "/calls/api/overview", + "destination": "/rest-api/calls-apis/overview" + }, + { + "source": "/calls/api/list-calls", + "destination": "/rest-api/calls-apis/list-calls" + }, + { + "source": "/calls/api/get-call", + "destination": "/rest-api/calls-apis/get-call" + }, + { + "source": "/ai-agents/byo-api-explorer", + "destination": "/rest-api/byo-ai-agents-apis/overview" + }, + { + "source": "/ai-agents/apis/create-byo-agent", + "destination": "/rest-api/byo-ai-agents-apis/agents/create-byo-agent" + }, + { + "source": "/ai-agents/apis/list-byo-agents", + "destination": "/rest-api/byo-ai-agents-apis/agents/list-byo-agents" + }, + { + "source": "/ai-agents/apis/update-byo-agent", + "destination": "/rest-api/byo-ai-agents-apis/agents/update-byo-agent" + }, + { + "source": "/ai-agents/apis/delete-byo-agent", + "destination": "/rest-api/byo-ai-agents-apis/agents/delete-byo-agent" + }, + { + "source": "/ai-agents/apis/list-tools", + "destination": "/rest-api/byo-ai-agents-apis/tools/list-tools" + }, + { + "source": "/ai-agents/apis/get-tool", + "destination": "/rest-api/byo-ai-agents-apis/tools/get-tool" + }, + { + "source": "/ai-agents/apis/create-tool", + "destination": "/rest-api/byo-ai-agents-apis/tools/create-tool" + }, + { + "source": "/ai-agents/apis/update-tool", + "destination": "/rest-api/byo-ai-agents-apis/tools/update-tool" + }, + { + "source": "/ai-agents/apis/delete-tool", + "destination": "/rest-api/byo-ai-agents-apis/tools/delete-tool" + }, + { + "source": "/ai-agents/api-explorer", + "destination": "/rest-api/ai-agents-apis/overview" + }, + { + "source": "/ai-agents/apis/create-agent", + "destination": "/rest-api/ai-agents-apis/agents/create-agent" + }, + { + "source": "/ai-agents/apis/list-agents", + "destination": "/rest-api/ai-agents-apis/agents/list-agents" + }, + { + "source": "/ai-agents/apis/get-agent", + "destination": "/rest-api/ai-agents-apis/agents/get-agent" + }, + { + "source": "/ai-agents/apis/update-agent", + "destination": "/rest-api/ai-agents-apis/agents/update-agent" + }, + { + "source": "/ai-agents/apis/delete-agent", + "destination": "/rest-api/ai-agents-apis/agents/delete-agent" + }, + { + "source": "/ai-agents/apis/search-agent-tools", + "destination": "/rest-api/ai-agents-apis/agents/search-agent-tools" + }, + { + "source": "/ai-agents/apis/list-agent-tools-and-actions", + "destination": "/rest-api/ai-agents-apis/agents/list-agent-tools-and-actions" + }, + { + "source": "/ai-agents/apis/add-tools-to-agent", + "destination": "/rest-api/ai-agents-apis/tools/add-tools-to-agent" + }, + { + "source": "/ai-agents/apis/remove-tools-from-agent", + "destination": "/rest-api/ai-agents-apis/tools/remove-tools-from-agent" + }, + { + "source": "/ai-agents/apis/get-tool-actions-for-agent", + "destination": "/rest-api/ai-agents-apis/tools/get-tool-actions-for-agent" + }, + { + "source": "/ai-agents/apis/enable-tool-actions", + "destination": "/rest-api/ai-agents-apis/tools/enable-tool-actions" + }, + { + "source": "/ai-agents/apis/remove-tool-actions", + "destination": "/rest-api/ai-agents-apis/tools/remove-tool-actions" + }, + { + "source": "/ai-agents/apis/list-api-tools", + "destination": "/rest-api/ai-agents-apis/custom-api-tools/list-api-tools" + }, + { + "source": "/ai-agents/apis/create-api-tool", + "destination": "/rest-api/ai-agents-apis/custom-api-tools/create-api-tool" + }, + { + "source": "/ai-agents/apis/update-api-tool", + "destination": "/rest-api/ai-agents-apis/custom-api-tools/update-api-tool" + }, + { + "source": "/ai-agents/apis/delete-api-tool", + "destination": "/rest-api/ai-agents-apis/custom-api-tools/delete-api-tool" + }, + { + "source": "/ai-agents/apis/add-api-tools-to-agent", + "destination": "/rest-api/ai-agents-apis/custom-api-tools/add-api-tools-to-agent" + }, + { + "source": "/ai-agents/apis/remove-api-tools-from-agent", + "destination": "/rest-api/ai-agents-apis/custom-api-tools/remove-api-tools-from-agent" + }, + { + "source": "/ai-agents/apis/list-frontend-actions", + "destination": "/rest-api/ai-agents-apis/frontend-actions/list-frontend-actions" + }, + { + "source": "/ai-agents/apis/create-frontend-action", + "destination": "/rest-api/ai-agents-apis/frontend-actions/create-frontend-action" + }, + { + "source": "/ai-agents/apis/update-frontend-action", + "destination": "/rest-api/ai-agents-apis/frontend-actions/update-frontend-action" + }, + { + "source": "/ai-agents/apis/delete-frontend-action", + "destination": "/rest-api/ai-agents-apis/frontend-actions/delete-frontend-action" + }, + { + "source": "/ai-agents/apis/add-frontend-actions-to-agent", + "destination": "/rest-api/ai-agents-apis/frontend-actions/add-frontend-actions-to-agent" + }, + { + "source": "/ai-agents/apis/remove-frontend-actions-from-agent", + "destination": "/rest-api/ai-agents-apis/frontend-actions/remove-frontend-actions-from-agent" + }, + { + "source": "/ai-agents/apis/list-mcp-servers", + "destination": "/rest-api/ai-agents-apis/mcp-servers/list-mcp-servers" + }, + { + "source": "/ai-agents/apis/create-mcp-server", + "destination": "/rest-api/ai-agents-apis/mcp-servers/create-mcp-server" + }, + { + "source": "/ai-agents/apis/update-mcp-server", + "destination": "/rest-api/ai-agents-apis/mcp-servers/update-mcp-server" + }, + { + "source": "/ai-agents/apis/delete-mcp-server", + "destination": "/rest-api/ai-agents-apis/mcp-servers/delete-mcp-server" + }, + { + "source": "/ai-agents/apis/add-mcp-servers-to-agent", + "destination": "/rest-api/ai-agents-apis/mcp-servers/add-mcp-servers-to-agent" + }, + { + "source": "/ai-agents/apis/remove-mcp-servers-from-agent", + "destination": "/rest-api/ai-agents-apis/mcp-servers/remove-mcp-servers-from-agent" + }, + { + "source": "/ai-agents/apis/list-knowledge-base-records", + "destination": "/rest-api/ai-agents-apis/knowledge-base/list-knowledge-base-records" + }, + { + "source": "/ai-agents/apis/get-source-pages", + "destination": "/rest-api/ai-agents-apis/knowledge-base/get-source-pages" + }, + { + "source": "/ai-agents/apis/retry-knowledge-base-source-indexing", + "destination": "/rest-api/ai-agents-apis/knowledge-base/retry-knowledge-base-source-indexing" + }, + { + "source": "/ai-agents/apis/initiate-file-uploads", + "destination": "/rest-api/ai-agents-apis/knowledge-base/initiate-file-uploads" + }, + { + "source": "/ai-agents/apis/delete-uploaded-file", + "destination": "/rest-api/ai-agents-apis/knowledge-base/delete-uploaded-file" + }, + { + "source": "/ai-agents/apis/create-text-detail", + "destination": "/rest-api/ai-agents-apis/knowledge-base/create-text-detail" + }, + { + "source": "/ai-agents/apis/update-text-detail", + "destination": "/rest-api/ai-agents-apis/knowledge-base/update-text-detail" + }, + { + "source": "/ai-agents/apis/delete-text-detail", + "destination": "/rest-api/ai-agents-apis/knowledge-base/delete-text-detail" + }, + { + "source": "/ai-agents/apis/poll-knowledge-base-status", + "destination": "/rest-api/ai-agents-apis/knowledge-base/poll-knowledge-base-status" + }, + { + "source": "/ai-agents/apis/add-knowledge-base-files", + "destination": "/rest-api/ai-agents-apis/knowledge-base/add-knowledge-base-files" + }, + { + "source": "/ai-agents/apis/remove-knowledge-base-files", + "destination": "/rest-api/ai-agents-apis/knowledge-base/remove-knowledge-base-files" + }, + { + "source": "/ai-agents/apis/scrape-single-page", + "destination": "/rest-api/ai-agents-apis/knowledge-base/scrape-single-page" + }, + { + "source": "/ai-agents/apis/scrape-website", + "destination": "/rest-api/ai-agents-apis/knowledge-base/scrape-website" + }, + { + "source": "/ai-agents/apis/get-discovered-urls", + "destination": "/rest-api/ai-agents-apis/knowledge-base/get-discovered-urls" + }, + { + "source": "/ai-agents/apis/process-discovered-urls", + "destination": "/rest-api/ai-agents-apis/knowledge-base/process-discovered-urls" + }, + { + "source": "/ai-agents/apis/delete-website", + "destination": "/rest-api/ai-agents-apis/knowledge-base/delete-website" + }, + { + "source": "/ai-agents/apis/poll-discovered-urls-status", + "destination": "/rest-api/ai-agents-apis/knowledge-base/poll-discovered-urls-status" + }, + { + "source": "/ai-agents/apis/retry-indexing-for-website-pages", + "destination": "/rest-api/ai-agents-apis/knowledge-base/retry-indexing-for-website-pages" + }, + { + "source": "/ai-agents/apis/get-all-available-variables", + "destination": "/rest-api/ai-agents-apis/variables/get-all-available-variables" + }, + { + "source": "/ai-agents/apis/create-custom-variable", + "destination": "/rest-api/ai-agents-apis/variables/create-custom-variable" + }, + { + "source": "/ai-agents/apis/update-custom-variable", + "destination": "/rest-api/ai-agents-apis/variables/update-custom-variable" + }, + { + "source": "/ai-agents/apis/delete-custom-variable", + "destination": "/rest-api/ai-agents-apis/variables/delete-custom-variable" + }, + { + "source": "/moderation/api-explorer", + "destination": "/rest-api/moderation-apis/overview" + }, + { + "source": "/moderation/apis/add-keywords", + "destination": "/rest-api/moderation-apis/add-keywords" + }, + { + "source": "/moderation/apis/add-rule", + "destination": "/rest-api/moderation-apis/add-rule" + }, + { + "source": "/moderation/apis/approve-blocked-messages", + "destination": "/rest-api/moderation-apis/approve-blocked-messages" + }, + { + "source": "/moderation/apis/blockreview-flagged-message", + "destination": "/rest-api/moderation-apis/blockreview-flagged-message" + }, + { + "source": "/moderation/apis/create-reasons", + "destination": "/rest-api/moderation-apis/create-reasons" + }, + { + "source": "/moderation/apis/delete-reasons", + "destination": "/rest-api/moderation-apis/delete-reasons" + }, + { + "source": "/moderation/apis/flag-a-message", + "destination": "/rest-api/moderation-apis/flag-a-message" + }, + { + "source": "/moderation/apis/get-keyword", + "destination": "/rest-api/moderation-apis/get-keyword" + }, + { + "source": "/moderation/apis/get-reason-details", + "destination": "/rest-api/moderation-apis/get-reason-details" + }, + { + "source": "/moderation/apis/get-rule", + "destination": "/rest-api/moderation-apis/get-rule" + }, + { + "source": "/moderation/apis/get-rule-revisions", + "destination": "/rest-api/moderation-apis/get-rule-revisions" + }, + { + "source": "/moderation/apis/list-blocked-messages", + "destination": "/rest-api/moderation-apis/list-blocked-messages" + }, + { + "source": "/moderation/apis/list-flagged-messages", + "destination": "/rest-api/moderation-apis/list-flagged-messages" + }, + { + "source": "/moderation/apis/list-keywords", + "destination": "/rest-api/moderation-apis/list-keywords" + }, + { + "source": "/moderation/apis/list-reasons", + "destination": "/rest-api/moderation-apis/list-reasons" + }, + { + "source": "/moderation/apis/list-reviewed-messages", + "destination": "/rest-api/moderation-apis/list-reviewed-messages" + }, + { + "source": "/moderation/apis/list-rules", + "destination": "/rest-api/moderation-apis/list-rules" + }, + { + "source": "/moderation/apis/remove-keyword", + "destination": "/rest-api/moderation-apis/remove-keyword" + }, + { + "source": "/moderation/apis/remove-rule", + "destination": "/rest-api/moderation-apis/remove-rule" + }, + { + "source": "/moderation/apis/review-blocked-message", + "destination": "/rest-api/moderation-apis/review-blocked-message" + }, + { + "source": "/moderation/apis/update-keyword", + "destination": "/rest-api/moderation-apis/update-keyword" + }, + { + "source": "/moderation/apis/update-reason-details", + "destination": "/rest-api/moderation-apis/update-reason-details" + }, + { + "source": "/moderation/apis/update-rule", + "destination": "/rest-api/moderation-apis/update-rule" + }, + { + "source": "/notifications/apis/sms/get-twilio-credentials", + "destination": "/rest-api/notifications-apis/sms/get-twilio-credentials" + }, + { + "source": "/notifications/apis/sms/save-custom-provider", + "destination": "/rest-api/notifications-apis/sms/save-custom-provider" + }, + { + "source": "/notifications/apis/sms/save-twilio-credentials", + "destination": "/rest-api/notifications-apis/sms/save-twilio-credentials" + }, + { + "source": "/notifications/apis/sms/get-custom-provider", + "destination": "/rest-api/notifications-apis/sms/get-custom-provider" + }, + { + "source": "/notifications/apis/sms/update-custom-provider", + "destination": "/rest-api/notifications-apis/sms/update-custom-provider" + }, + { + "source": "/notifications/apis/sms/delete-twilio-credentials", + "destination": "/rest-api/notifications-apis/sms/delete-twilio-credentials" + }, + { + "source": "/notifications/apis/sms/delete-custom-provider", + "destination": "/rest-api/notifications-apis/sms/delete-custom-provider" + }, + { + "source": "/notifications/apis/sms/update-twilio-credentials", + "destination": "/rest-api/notifications-apis/sms/update-twilio-credentials" + }, + { + "source": "/notifications/apis/push/reset-preferences", + "destination": "/rest-api/notifications-apis/push/reset-preferences" + }, + { + "source": "/notifications/apis/push/update-timezone", + "destination": "/rest-api/notifications-apis/push/update-timezone" + }, + { + "source": "/notifications/apis/push/list-muted-conversations", + "destination": "/rest-api/notifications-apis/push/list-muted-conversations" + }, + { + "source": "/notifications/apis/push/delete-fcm-provider", + "destination": "/rest-api/notifications-apis/push/delete-fcm-provider" + }, + { + "source": "/notifications/apis/push/list-apns-providers", + "destination": "/rest-api/notifications-apis/push/list-apns-providers" + }, + { + "source": "/notifications/apis/push/add-apns-provider", + "destination": "/rest-api/notifications-apis/push/add-apns-provider" + }, + { + "source": "/notifications/apis/push/update-apns-providers", + "destination": "/rest-api/notifications-apis/push/update-apns-providers" + }, + { + "source": "/notifications/apis/push/unregister-push-tokens", + "destination": "/rest-api/notifications-apis/push/unregister-push-tokens" + }, + { + "source": "/notifications/apis/push/reset-settings", + "destination": "/rest-api/notifications-apis/push/reset-settings" + }, + { + "source": "/notifications/apis/push/save-custom-provider", + "destination": "/rest-api/notifications-apis/push/save-custom-provider" + }, + { + "source": "/notifications/apis/push/change-default-apns-provider", + "destination": "/rest-api/notifications-apis/push/change-default-apns-provider" + }, + { + "source": "/notifications/apis/push/change-default-fcm-provider", + "destination": "/rest-api/notifications-apis/push/change-default-fcm-provider" + }, + { + "source": "/notifications/apis/push/list-fcm-providers", + "destination": "/rest-api/notifications-apis/push/list-fcm-providers" + }, + { + "source": "/notifications/apis/push/get-contact-details", + "destination": "/rest-api/notifications-apis/push/get-contact-details" + }, + { + "source": "/notifications/apis/push/get-custom-provider", + "destination": "/rest-api/notifications-apis/push/get-custom-provider" + }, + { + "source": "/notifications/apis/push/mute-conversations", + "destination": "/rest-api/notifications-apis/push/mute-conversations" + }, + { + "source": "/notifications/apis/push/add-fcm-provider", + "destination": "/rest-api/notifications-apis/push/add-fcm-provider" + }, + { + "source": "/notifications/apis/push/update-contact-details", + "destination": "/rest-api/notifications-apis/push/update-contact-details" + }, + { + "source": "/notifications/apis/push/list-settings", + "destination": "/rest-api/notifications-apis/push/list-settings" + }, + { + "source": "/notifications/apis/push/notifications-logs", + "destination": "/rest-api/notifications-apis/push/notifications-logs" + }, + { + "source": "/notifications/apis/push/update-custom-provider", + "destination": "/rest-api/notifications-apis/push/update-custom-provider" + }, + { + "source": "/notifications/apis/push/update-fcm-provider", + "destination": "/rest-api/notifications-apis/push/update-fcm-provider" + }, + { + "source": "/notifications/apis/push/update-settings", + "destination": "/rest-api/notifications-apis/push/update-settings" + }, + { + "source": "/notifications/apis/push/delete-push-token", + "destination": "/rest-api/notifications-apis/push/delete-push-token" + }, + { + "source": "/notifications/apis/push/delete-contact-details", + "destination": "/rest-api/notifications-apis/push/delete-contact-details" + }, + { + "source": "/notifications/apis/push/register-push-token", + "destination": "/rest-api/notifications-apis/push/register-push-token" + }, + { + "source": "/notifications/apis/push/list-push-tokens", + "destination": "/rest-api/notifications-apis/push/list-push-tokens" + }, + { + "source": "/notifications/apis/push/delete-custom-provider", + "destination": "/rest-api/notifications-apis/push/delete-custom-provider" + }, + { + "source": "/notifications/apis/push/delete-apns-providers", + "destination": "/rest-api/notifications-apis/push/delete-apns-providers" + }, + { + "source": "/notifications/apis/push/get-timezone", + "destination": "/rest-api/notifications-apis/push/get-timezone" + }, + { + "source": "/notifications/apis/push/update-preferences", + "destination": "/rest-api/notifications-apis/push/update-preferences" + }, + { + "source": "/notifications/apis/push/unmute-conversations", + "destination": "/rest-api/notifications-apis/push/unmute-conversations" + }, + { + "source": "/notifications/apis/push/list-preferences", + "destination": "/rest-api/notifications-apis/push/list-preferences" + }, + { + "source": "/notifications/apis/email/delete-sendgrid-credentials", + "destination": "/rest-api/notifications-apis/email/delete-sendgrid-credentials" + }, + { + "source": "/notifications/apis/email/update-sendgrid-credentials", + "destination": "/rest-api/notifications-apis/email/update-sendgrid-credentials" + }, + { + "source": "/notifications/apis/email/save-custom-provider", + "destination": "/rest-api/notifications-apis/email/save-custom-provider" + }, + { + "source": "/notifications/apis/email/save-sendgrid-credentials", + "destination": "/rest-api/notifications-apis/email/save-sendgrid-credentials" + }, + { + "source": "/notifications/apis/email/get-sendgrid-credentials", + "destination": "/rest-api/notifications-apis/email/get-sendgrid-credentials" + }, + { + "source": "/notifications/apis/email/get-custom-provider", + "destination": "/rest-api/notifications-apis/email/get-custom-provider" + }, + { + "source": "/notifications/apis/email/update-custom-provider", + "destination": "/rest-api/notifications-apis/email/update-custom-provider" + }, + { + "source": "/notifications/apis/email/delete-custom-provider", + "destination": "/rest-api/notifications-apis/email/delete-custom-provider" } ], "integrations": { diff --git a/fundamentals/ai-user-copilot/conversation-starter.mdx b/fundamentals/ai-user-copilot/conversation-starter.mdx index 28f493ce8..a16ecd8a9 100644 --- a/fundamentals/ai-user-copilot/conversation-starter.mdx +++ b/fundamentals/ai-user-copilot/conversation-starter.mdx @@ -1,5 +1,6 @@ --- title: "Conversation Starter" +description: "Conversation Starter — CometChat documentation." --- **Conversation Starter** enables you to retrieve an initial message in a new conversation, often used to set the context for the conversation that is about to begin. This can be particularly useful for guiding users on how to interact within the chat or for delivering automated messages that engage users when they initiate a chat. diff --git a/fundamentals/ai-user-copilot/conversation-summary.mdx b/fundamentals/ai-user-copilot/conversation-summary.mdx index 3edde4882..b094fad17 100644 --- a/fundamentals/ai-user-copilot/conversation-summary.mdx +++ b/fundamentals/ai-user-copilot/conversation-summary.mdx @@ -1,5 +1,6 @@ --- title: "Conversation Summary" +description: "Conversation Summary — CometChat documentation." --- **Conversation Summary** enables the summarization of conversations using AI. diff --git a/fundamentals/ai-user-copilot/overview.mdx b/fundamentals/ai-user-copilot/overview.mdx index f8bd53889..c9ebb9d08 100644 --- a/fundamentals/ai-user-copilot/overview.mdx +++ b/fundamentals/ai-user-copilot/overview.mdx @@ -1,6 +1,7 @@ --- title: "AI User Copilot" sidebarTitle: "Overview" +description: "Overview of AI User Copilot in CometChat." --- ## AI-Enabled Messaging Experience diff --git a/fundamentals/ai-user-copilot/smart-replies.mdx b/fundamentals/ai-user-copilot/smart-replies.mdx index 789614bff..90730ab13 100644 --- a/fundamentals/ai-user-copilot/smart-replies.mdx +++ b/fundamentals/ai-user-copilot/smart-replies.mdx @@ -1,5 +1,6 @@ --- title: "Smart Replies" +description: "Smart Replies — CometChat documentation." --- **Smart Replies** enable the retrieval of an AI-generated response message within a conversation. diff --git a/fundamentals/avatars.mdx b/fundamentals/avatars.mdx index f4e1beb98..590a77bd4 100644 --- a/fundamentals/avatars.mdx +++ b/fundamentals/avatars.mdx @@ -1,5 +1,6 @@ --- title: "Avatars (Deprecated)" +description: "Avatars (Deprecated) — CometChat documentation." --- diff --git a/fundamentals/bitly.mdx b/fundamentals/bitly.mdx index 6f206b2b0..c25f5a4a8 100644 --- a/fundamentals/bitly.mdx +++ b/fundamentals/bitly.mdx @@ -1,5 +1,6 @@ --- title: "Bitly" +description: "Bitly — CometChat documentation." --- *Learn how to minify the long website links in your text messages using Bitly.* diff --git a/fundamentals/chatwoot.mdx b/fundamentals/chatwoot.mdx index c86831fc1..b9e913c0f 100644 --- a/fundamentals/chatwoot.mdx +++ b/fundamentals/chatwoot.mdx @@ -1,5 +1,6 @@ --- title: "Chatwoot" +description: "Chatwoot — CometChat documentation." --- The Chatwoot extension makes customer support seamless for your users. Instead of having two interfaces- one for chat between users and one for chat with your support team, you can use CometChat as a front-end for your customer support use case as well! diff --git a/fundamentals/collaborative-document.mdx b/fundamentals/collaborative-document.mdx index 6ea7bcf52..4775439f3 100644 --- a/fundamentals/collaborative-document.mdx +++ b/fundamentals/collaborative-document.mdx @@ -1,5 +1,6 @@ --- title: "Collaborative Document" +description: "Collaborative Document — CometChat documentation." --- Learn how to collaborate using a document. diff --git a/fundamentals/collaborative-whiteboard.mdx b/fundamentals/collaborative-whiteboard.mdx index d0b415dd7..ef1383f73 100644 --- a/fundamentals/collaborative-whiteboard.mdx +++ b/fundamentals/collaborative-whiteboard.mdx @@ -1,5 +1,6 @@ --- title: "Collaborative Whiteboard" +description: "Collaborative Whiteboard — CometChat documentation." --- Connect with other users of the app and collaborate using a Whiteboard. diff --git a/fundamentals/data-import-and-migration-overview.mdx b/fundamentals/data-import-and-migration-overview.mdx deleted file mode 100644 index 242e7a675..000000000 --- a/fundamentals/data-import-and-migration-overview.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "Overview" ---- - -Data import and migration, in the context of CometChat, involves transferring your existing chat-related data from your own servers or another chat service provider to the CometChat platform. This process typically encompasses the migration of users, their messages, any chat groups, and the list of members within those groups. The goal of migration is to ensure a seamless transition and continuity of the chat service for your users. - -CometChat offers the follow ways to migrate your data: - -### 1. [Import historical data](/fundamentals/import-historical-data) - -This process is designed to transfer all of your pre-existing data at rest, that is, the data that is stored and not currently in transit, from your existing database to the CometChat database. This transfer is made possible through the use of CometChat's Data Import APIs, which are designed to handle the ingestion of large volumes of historical chat data, including users, messages, and group information. - -### 2. [Live data migration](/fundamentals/live-data-migration) - -Live data migration is a process designed to minimize service disruption during the transition from one chat system to CometChat. It ensures that users who have updated their applications and are now on the new system (CometChat) can still communicate seamlessly with users who have not yet updated their applications and are on the old system. This approach is crucial for maintaining uninterrupted communication between all users throughout the migration period. diff --git a/fundamentals/data-import-and-migration.mdx b/fundamentals/data-import-and-migration.mdx new file mode 100644 index 000000000..a52dc3c08 --- /dev/null +++ b/fundamentals/data-import-and-migration.mdx @@ -0,0 +1,46 @@ +--- +title: "Data Import and Migration" +sidebarTitle: "Data Import and Migration" +description: "Data Import and Migration — CometChat documentation." +--- + +Data import and migration enables you to transfer existing chat data from your own servers or another chat provider to CometChat. This ensures continuity of service and preserves your users' conversation history during the transition. + +## What Can Be Migrated? + +CometChat's migration capabilities cover: + +- **Users**: User profiles, metadata, and account information +- **Messages**: Complete message history including text, media, and metadata +- **Groups**: Group configurations and membership information +- **Conversations**: Conversation threads and their associated data + +## Migration Approaches + +CometChat offers two approaches to data migration, depending on your needs: + +### Historical Data Import + +Import all your existing data at rest—stored messages, users, and groups—into CometChat before going live. This approach is ideal when: + +- You're doing a complete platform switch +- You want all historical data available from day one +- Your migration can happen during a maintenance window + +The Data Import APIs handle bulk ingestion of historical chat data, allowing you to transfer large volumes of users, messages, and group information efficiently. + +### Live Data Migration + +Maintain communication between users on your old system and users who have already migrated to CometChat. This approach is ideal when: + +- You need zero downtime during migration +- Users will upgrade to the new app version gradually +- Seamless communication must continue throughout the transition period + +Live migration bridges both systems during the upgrade cycle, ensuring no messages are lost regardless of which system a user is currently on. + +## Getting Started + +**For Historical Data Import**: Use the [Data Import REST APIs](/rest-api/data-import) to programmatically import your users, messages, and groups. + +**For Live Data Migration**: [Contact our Sales team](https://www.cometchat.com/contact-sales) to discuss your migration requirements and set up the live migration process. diff --git a/fundamentals/disappearing-messages.mdx b/fundamentals/disappearing-messages.mdx index 73d8ec55a..b7cd4c987 100644 --- a/fundamentals/disappearing-messages.mdx +++ b/fundamentals/disappearing-messages.mdx @@ -1,5 +1,6 @@ --- title: "Disappearing Messages" +description: "Disappearing Messages — CometChat documentation." --- The Disappearing Messages extension allows end-users to send messages that disappear after a certain interval of time. This extension works for both private (one-on-one) and group messages. diff --git a/fundamentals/email-replies.mdx b/fundamentals/email-replies.mdx index e80576d82..d33df6c61 100644 --- a/fundamentals/email-replies.mdx +++ b/fundamentals/email-replies.mdx @@ -1,5 +1,6 @@ --- title: "Email Replies (Legacy)" +description: "Email Replies (Legacy) — CometChat documentation." --- @@ -16,7 +17,7 @@ The Email Replies adds extra functionality to the Email Notifications extension ## Pre-requisite -To start using Email Notifications with Replies, you need to first enable and save the settings for Email Notifications extension. [Learn more](/fundamentals/email-notifications). +To start using Email Notifications with Replies, you need to first enable and save the settings for Email Notifications extension. [Learn more](/notifications/email-overview). Once it is set up, you can come back and proceed from here. diff --git a/fundamentals/emojis.mdx b/fundamentals/emojis.mdx index 4b654a790..e890b4b2c 100644 --- a/fundamentals/emojis.mdx +++ b/fundamentals/emojis.mdx @@ -1,5 +1,6 @@ --- title: "Emojis (Deprecated)" +description: "Emojis (Deprecated) — CometChat documentation." --- diff --git a/fundamentals/end-to-end-encryption.mdx b/fundamentals/end-to-end-encryption.mdx index 1fd501de3..71b00500d 100644 --- a/fundamentals/end-to-end-encryption.mdx +++ b/fundamentals/end-to-end-encryption.mdx @@ -1,5 +1,6 @@ --- title: "End To End Encryption (Deprecated)" +description: "End To End Encryption (Deprecated) — CometChat documentation." --- diff --git a/fundamentals/extensions-overview.mdx b/fundamentals/extensions-overview.mdx index 3aa338a73..a0d9e4393 100644 --- a/fundamentals/extensions-overview.mdx +++ b/fundamentals/extensions-overview.mdx @@ -1,6 +1,7 @@ --- title: "Extensions" sidebarTitle: "Overview" +description: "Overview of Extensions in CometChat." --- We believe that building a great chat product does not consist of just voice, video and text chat. It's much more than that. And Extensions are our answer to this. @@ -65,8 +66,8 @@ Extensions that help you add support to your app. *Recommended for advanced apps Extensions that help alert users of new messages. *Recommended for all apps.* [Push Notification](/notifications/web-push-notifications)\ -[Email Notification](/notifications/email-notification-extension)\ -[SMS Notification](/notifications/sms-notification-extension) +[Email Notification](/notifications/email-notifications-extension-legacy)\ +[SMS Notification](/notifications/sms-notifications-extension-legacy) ### Moderation diff --git a/fundamentals/features-core.mdx b/fundamentals/features-core.mdx index 5f2c7a2b5..bf17586c3 100644 --- a/fundamentals/features-core.mdx +++ b/fundamentals/features-core.mdx @@ -1,6 +1,7 @@ --- title: "Core In App Messaging Features" sidebarTitle: "Core" +description: "Core In App Messaging Features — CometChat documentation." --- CometChat provides a powerful suite of messaging features. A subset of these features called 'Messaging Core' provide features which are bare minimum to build a good chat user experience. diff --git a/fundamentals/gfycat.mdx b/fundamentals/gfycat.mdx index 0bc837504..6027da83b 100644 --- a/fundamentals/gfycat.mdx +++ b/fundamentals/gfycat.mdx @@ -1,5 +1,6 @@ --- title: "Gfycat (Deprecated)" +description: "Gfycat (Deprecated) — CometChat documentation." --- diff --git a/fundamentals/giphy.mdx b/fundamentals/giphy.mdx index a80ed343a..43eda9aa2 100644 --- a/fundamentals/giphy.mdx +++ b/fundamentals/giphy.mdx @@ -1,5 +1,6 @@ --- title: "Giphy" +description: "Giphy — CometChat documentation." --- GIFs are a great way to change the tone or convey emotions in your conversations. Here's a guide which helps to implement Gifphy in an easy and quick way. Let's get started! diff --git a/fundamentals/implementation-checklist.mdx b/fundamentals/implementation-checklist.mdx index 8a5a03a09..db8de021b 100644 --- a/fundamentals/implementation-checklist.mdx +++ b/fundamentals/implementation-checklist.mdx @@ -1,5 +1,6 @@ --- title: "Implementation Checklist" +description: "Implementation Checklist — CometChat documentation." --- ### 1. Complete the Signup Process @@ -25,7 +26,7 @@ title: "Implementation Checklist" * Choose to integration CometChat in your app either by using UI Kits or SDKs. * Have a look at our Sample apps for quickly checking out features and functionalities. * UI Kits: [React](/ui-kit/react/overview), [React Native](/ui-kit/react-native/overview), [iOS](/ui-kit/ios/overview), [Android](/ui-kit/android/overview), [Flutter](/ui-kit/flutter/overview), [Angular](/ui-kit/angular/overview), [Vue](/ui-kit/vue/overview)\ - SDKs: [JavaScript](/sdk/javascript/overview), [React Native](/sdk/react-native/overview), [iOS](/sdk/ios/overview), [Android](/sdk/android/overview), [Flutter](/sdk/flutter/overview), [Ionic/Capacitor](/sdk/ionic/overview) & [Sample apps](https://github.com/cometchat) + SDKs: [JavaScript](/sdk/javascript/overview), [React Native](/sdk/react-native/overview), [iOS](/sdk/ios/overview), [Android](/sdk/android/overview), [Flutter](/sdk/flutter/overview), [Ionic/Capacitor](/sdk/ionic-legacy/overview) & [Sample apps](https://github.com/cometchat) ### 3. Synchronize users and groups utilizing the APIs @@ -69,7 +70,7 @@ title: "Implementation Checklist" -* [Bots](/ai-chatbots/overview) are unique users capable of autonomously sending and receiving messages. You can define a bot's behaviour by implementing and exposing your business logic using Callback URLs. +* [Bots](/ai-chatbots/custom-bots) are unique users capable of autonomously sending and receiving messages. You can define a bot's behaviour by implementing and exposing your business logic using Callback URLs. ### 7. Set up webhooks @@ -79,16 +80,16 @@ title: "Implementation Checklist" -* [Webhooks](/fundamentals/webhooks-overview) faciliate real-time event-driven communication with your system, enabling you to receive HTTP POST requests from CometChat that carry details about different events. +* [Webhooks](/fundamentals/webhooks) faciliate real-time event-driven communication with your system, enabling you to receive HTTP POST requests from CometChat that carry details about different events. ### 9. Secure user logins with authentication tokens -* Ensuring safe and secure authentication of users in CometChat is crucial. Achieve this by utilizing [auth tokens](https://api-explorer.cometchat.com/reference/create-authtoken). -* Generate and retrieve the [auth token](https://api-explorer.cometchat.com/reference/create-authtoken) through your backend system, then supply it to the frontend. +* Ensuring safe and secure authentication of users in CometChat is crucial. Achieve this by utilizing [auth tokens](/rest-api/chat-apis). +* Generate and retrieve the [auth token](/rest-api/chat-apis) through your backend system, then supply it to the frontend. ### 10. Set up data import and migration -* To seamlessly transition from your existing chat solution to CometChat's comprehensive solution, you will need to [import your existing data](/fundamentals/import-historical-data) as well as migrate the [live data](/fundamentals/live-data-migration) to CometChat. +* To seamlessly transition from your existing chat solution to CometChat's comprehensive solution, you will need to [import your existing data](/fundamentals/data-import-and-migration) as well as migrate the [live data](/fundamentals/data-import-and-migration) to CometChat. ### 11. Launch your applications with the new messaging capabilities diff --git a/fundamentals/import-historical-data.mdx b/fundamentals/import-historical-data.mdx deleted file mode 100644 index c8b60a5de..000000000 --- a/fundamentals/import-historical-data.mdx +++ /dev/null @@ -1,203 +0,0 @@ ---- -title: "Import Historical Data" ---- - -The CometChat message import API allows application owners and admins to import existing chat messages data from any source into CometChat. - -## General Instructions: - -1. The authentication mechanism for these APIs follows the same authentication as all public CometChat REST APIs. Please use your app REST API Key in the header. -2. The Base URL for the APIs is `https://.api-.cometchat.io/v3/data_import/` -3. The HTTP request data will be in JSON format. -4. The HTTP response from CometChat will also be in JSON format. - -## Import Messages API Usage - -To import messages send post requests to the import api with bulk arrays of message records in chronological. To process large set of records multiple requests can be made. Each record in the array must contain a single message `data` record that conform with the restrictions as specified by the [Send Message APIs](https://api-explorer.cometchat.com/reference/send-message). - -The total message count of all imported messages must be within the limit shared in the import support ticket. Each record contains a unique message id referred to as `muid`. The array key and the `muid` value must be the same. - -The return status for each `muid` will be documented in the response messages under `data..success`. The value of this parameter can be: - -1. `true`: indicating import execution success for that `muid`. -2. `false`: indicating import execution failure for that `muid`. - -In case of a failure, the error details will be noted in `data..error`. - -Please note that the request can have many messages to be imported, each with a separate `muid`. It is possible that a message may not be imported due to incorrect data supplied or a runtime error. In this case, its error code will be documented under its `muid` structure in the response. - -In case of such an error, correct the data being supplied in the API as per the error code indicated and resend the failed message data in a new API call. It is not expected to include the messages which were successfully imported in the preceding API call which resulted in the error for certain messages. - -Visit [Message Import API](https://api-explorer.cometchat.com/reference/import-messages) to start with your imports. - -### Request Format - -```json -{ - "messages": { - "1": { - "id": "200", - "muid": "123e4567-e89b-12d3-a456-426652340000", - "sender": "", - "receiverType": "user", - "receiver": "", - "type": "text", - "category": "message", - "data": { - "text": "Hi there,", - "attachments": [ - { - "name": "hi.png", - "extension": "png", - "size": "350.2", - "mimeType": "image_png", - "url": "https:__data-eu.cometchat.io_assets_images_avatars_cometchat-uid-1.webp" - } - ], - "metad2ata": { - "key": "value" - }, - "custodata": { - "key": "value" - } - }, - "sentAt": "1674104348", - "deliveredAt": "1674224684", - "readAt": "1674224684", - "tags": [ - "tag1" - ] - } - } -} -``` - -### Response Format - -```json -{ - "data": { - "201": { - "success": true, - "data": { - "data": { - "muid": "123e4567-e89b-12d3-a456-426652340000", - "id": "201", - "conversationId": "", - "sender": "", - "receiverType": "user", - "receiver": "", - "category": "message", - "type": "text", - "data": { - "text": "Hi there!!", - "entities": { - "sender": { - "entity": { - "uid": "", - "name": "", - "avatar": "", - "status": "offline", - "role": "default", - "createdAt": 1674211544 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "", - "name": "", - "avatar": "", - "status": "offline", - "role": "default", - "createdAt": 1674211544 - }, - "entityType": "user" - } - } - }, - "sentAt": 1674104348, - "deliveredAt": 1674224684, - "readAt": 1674224684, - "updatedAt": 1674104348, - "tags": [ - "tag1" - ] - } - } - } - } -} -``` - -## Import Users API Usage - -To import users send post requests to the import api with bulk arrays of user records. To process large set of records multiple requests can be made. Each record in the array must contain a single user record. The array key and the `uid` value must be the same. - -The return status for each `uid` will be documented in the response messages under `data..success`. The value of this parameter can be: - -1. `true` -> indicating import execution success for that `uid`. -2. `false` -> indicating import execution failure for that `uid`. - -In case of a failure, the error details will be noted in `data..error`. - -Please note that the request can have many users to be imported, each with a separate `uid`. It is possible that a user may not be imported due to incorrect data supplied or a runtime error. In this case, its error code will be documented under its `uid` structure in the response. - -In case of such an error, correct the data being supplied in the API as per the error code indicated and resend the failed user data in a new API call. It is not expected to include the users which were successfully imported in the preceding API call which resulted in the error for certain users. - -Visit [User Import API](https://api-explorer.cometchat.com/reference/import-users) to start with your imports. - -### Request Format - -```json -{ - "users": { - "": { - "uid": "", - "name": "", - "role": "", - "link": "", - "avatar": "", - "createdAt": "", - "lasActiveAt": "", - "metadata": { - }, - "tags": [], - "deactivatedAt": "" - } - } - } -``` - -### Response Format - -```json -{ - "data": { - "user33": { - "success": true, - "data": { - "data": { - "uid": "user33", - "name": "user 31", - "avatar": "https:__data-eu.cometchat.io_assets_images_avatars_cometchat-uid-1.webp", - "metadata": { - "key": "value" - }, - "status": "offline", - "role": "default", - "lastActiveAt": 1673421419, - "deactivatedAt": 1673421419, - "createdAt": 1673421419, - "updatedAt": 1674155164 - }, - - } - } - } -} -``` - -## Next steps - -To learn more about importing data in to CometChat, visit our [Data import API docs](https://api-explorer.cometchat.com/reference/data-import) diff --git a/fundamentals/intercom.mdx b/fundamentals/intercom.mdx index 3695949a0..6f1b8a54b 100644 --- a/fundamentals/intercom.mdx +++ b/fundamentals/intercom.mdx @@ -1,5 +1,6 @@ --- title: "Intercom" +description: "Intercom — CometChat documentation." --- The Intercom extension makes customer support seamless for your users. Instead of having two interfaces- one for chat between users and one for chat with your support team, you can use CometChat as a front-end for your customer support use case as well! diff --git a/fundamentals/key-concepts.mdx b/fundamentals/key-concepts.mdx index 8e58b7a29..cb289b907 100644 --- a/fundamentals/key-concepts.mdx +++ b/fundamentals/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- ## Dashboard diff --git a/fundamentals/limits.mdx b/fundamentals/limits.mdx deleted file mode 100644 index 156ed8690..000000000 --- a/fundamentals/limits.mdx +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: "Limits" ---- - -To ensure a reliable and seamless chat experience while minimizing downtime and errors, certain limits are in place. - - - -The limits may vary based on your subscription plan. If you have any questions, feel free to [contact us](https://www.cometchat.com/contact). - - - -### Groups - -1. Groups with all features enabled can support up to 300 members. -2. Groups without delivery/read receipts and typing indicators can support up to 100,000 members. - -### Users - -1. A single user can join a maximum of 2,000 groups. -2. A user can have up to 1,000 friends. -3. Presence subscriptions are capped at 1,000 concurrently online users. Once this threshold is exceeded, presence events (online/offline) will no longer be emitted. - -### Messages - -1. Each message, including metadata, must not exceed 65,536 characters (\~65KB). - -### Voice & Video Calling - -1. For the best experience, a maximum of 50 participants can join a single video call. - -### API - -1. REST API calls are rate-limited as follows: - - * **Standard operations**: 20,000 API calls per minute. - * **Core operations**: 10,000 API calls per minute (e.g., creating/deleting users, joining/leaving groups). All other operations fall under standard operations. diff --git a/fundamentals/link-preview.mdx b/fundamentals/link-preview.mdx index 0cbd7861b..ab683e0ea 100644 --- a/fundamentals/link-preview.mdx +++ b/fundamentals/link-preview.mdx @@ -1,5 +1,6 @@ --- title: "Link Preview" +description: "Link Preview — CometChat documentation." --- The Link Preview extension will help you show a preview of the web page for every link in your message. diff --git a/fundamentals/live-data-migration.mdx b/fundamentals/live-data-migration.mdx deleted file mode 100644 index a639e8e29..000000000 --- a/fundamentals/live-data-migration.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: "Live Data Migration" ---- - -Upon integrating with our messaging solution, you may encounter a scenario where your application is transitioning from a homegrown chat feature to our comprehensive services. During this transition phase, a live migration process is necessary to ensure continuity of communication. - -Live migration accommodates the interaction between the legacy chat system and the new implementation. It ensures that users on different versions of your app—with some utilizing the original chat and others leveraging the latest version with CometChat integrated—can communicate seamlessly. - -Implementing live migration effectively bridges the gap between the two systems during the upgrade cycle, until all users have transitioned to the updated application featuring our robust messaging capabilities. - -To initiate live migration, please contact our [Sales team](https://www.cometchat.com/contact-sales). diff --git a/fundamentals/mentions.mdx b/fundamentals/mentions.mdx index c75def2c1..bf7bffb59 100644 --- a/fundamentals/mentions.mdx +++ b/fundamentals/mentions.mdx @@ -1,5 +1,6 @@ --- title: "Mentions (Legacy)" +description: "Mentions (Legacy) — CometChat documentation." --- diff --git a/fundamentals/message-shortcuts.mdx b/fundamentals/message-shortcuts.mdx index e025cb540..7a5a51340 100644 --- a/fundamentals/message-shortcuts.mdx +++ b/fundamentals/message-shortcuts.mdx @@ -1,5 +1,6 @@ --- title: "Message Shortcuts" +description: "Message Shortcuts — CometChat documentation." --- The Message Shortcuts extension enables your users to send each other predefined messages. diff --git a/fundamentals/message-translation.mdx b/fundamentals/message-translation.mdx index 64932b088..80cdb38ca 100644 --- a/fundamentals/message-translation.mdx +++ b/fundamentals/message-translation.mdx @@ -1,5 +1,6 @@ --- title: "Message Translation" +description: "Message Translation — CometChat documentation." --- The Message Translation extension helps you translate messages into multiple languages. diff --git a/fundamentals/moderation-extensions.mdx b/fundamentals/moderation-extensions.mdx index 4314fc670..07a1ee186 100644 --- a/fundamentals/moderation-extensions.mdx +++ b/fundamentals/moderation-extensions.mdx @@ -1,5 +1,6 @@ --- title: "Moderation" +description: "Moderation — CometChat documentation." --- CometChat Moderation features come in two variants: diff --git a/fundamentals/multi-tenancy-best-practices.mdx b/fundamentals/multi-tenancy-best-practices.mdx deleted file mode 100644 index c43b92ff2..000000000 --- a/fundamentals/multi-tenancy-best-practices.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: "Best Practices" ---- - -## Configuration as code - -Rather than configure apps manually in the CometChat app dashboard, it is advantageous, especially with high volume app creation, to create and manage apps using the CometChat App Management API. By using a configuration template and/or a process based code pattern, apps can be created and managed in a consistent manner. - -## Tenancy and apps - -Tenancy can be modeled in CometChat based on the inherent tenancy of the use case. - -In most multi-tenant use cases, the CometChat App is also associated to some type of entity related to the use case, such as a location, customer or partner. The CometChat App ID for each such app created should be stored as an associated data with that entity. - -The app configuration other than App ID and credentials is best stored only in CometChat after app creation and initial configuration. The configuration can be queried and modified using the API. Instead of storing the app configuration outside CometChat, simply use code patterns to get and set the app configuration within CometChat based on the logic related to the use case. - -## Metrics and Usage - -Because all multi-tenant apps consume from the limits associated with the base app, it is recommended to use the stats and metrics APIs to review usage for each app to determine any usage irregularities on a per app basis. diff --git a/fundamentals/multi-tenancy-overview.mdx b/fundamentals/multi-tenancy-overview.mdx deleted file mode 100644 index 1a3773097..000000000 --- a/fundamentals/multi-tenancy-overview.mdx +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: "Multi Tenancy Plans And Apps" -sidebarTitle: "Overview" ---- - -## What is an app? - -CometChat apps are a way to combine a set of users, groups, roles and other configuration that results in a particular experience for chat users. - -## What is a multi-app setup? - -To provide different experiences to a different set of users, a developer can create many CometChat apps. - -Each of these apps have their own data within them, like it's users, messages, etc., and do not interact or share data with other apps. Similarly, each of these apps have their own billing plans and cycles which do not interact with each other. - -## What is a multi-tenant setup? - -To provide a similar experience to a different set of users, a developer can create many similar CometChat apps that consume from the limits and quotas of the same CometChat billing plan. The data is still not shared between apps, but the billing plan is. - -This provides economies of scale as well as a streamlined experience in configuring, deploying and managing many CometChat apps. - -## When should you use a multi-tenant plan? - -Multi-tenant plans are quite suitable for certain use cases such as for aggregators and vertical-specific software. Think of situations such as\ -the following or ones adjacent to it. - -* You're building an app that allows schools and teachers to communicate with students and parents. You'd create a multi tenant account for yourself and each school, their students, teachers, announcements etc. would be an app of their own. -* A business app that lets business owners or franchises of a particular chain, their employees, and customers talk to each other. Something like Slack. Each business would be a separate app in this case, and the account would work on multi tenancy mode. - -These, and many more similar use cases can be addressed using a multi-tenant model. As an example of something that is not a great use case for multi-tenant but rather multi-app is, is when you are running 2 or 3 apps within the same organization with different user bases, separate P & Ls, or are owned by different departments for different purposes. Multi-app setup with clearly separate billing and metrics are a better choice in such cases. - -## Setting up a multi-tenant plan - -To begin using the multi-tenant functionality of CometChat, an account must be enabled for multi-tenancy. File a support ticket to learn more and enable multi-tenancy for your account. Upon approval, the account will be configured with a base app that is associated with a billing plan and all other apps created in the multi-tenant account will be associated with this base app. - -## Multi-tenant usage, billing and features - -All usage from all apps created in the mulit-tenant account will consume from the quotas (MAU, PCC, Voice and Video Minutes) of the base app. This usage will be added as a pooled bill on the base app, including overages, and charged as a combined bill to the payment method of the base app. All apps created in a multi-tenant account will have access to all the features included in the plan and configurations associated with the base app. - -## App Management APIs - -Once an account has been enabled for muti-tenant usage, an App Management key and secret will be provided to you. The key and secret allow for the use of the App Management APIs to programmatically create and configure CometChat apps. - -App Management APIs provide the capabilities to manage apps including enable, disabling and configuring extensions, managing app team members, configuring webhooks and managing widgets. diff --git a/fundamentals/multi-tenancy.mdx b/fundamentals/multi-tenancy.mdx new file mode 100644 index 000000000..193ce6e73 --- /dev/null +++ b/fundamentals/multi-tenancy.mdx @@ -0,0 +1,69 @@ +--- +title: "Multi-Tenancy" +sidebarTitle: "Multi-Tenancy" +description: "Multi-Tenancy — CometChat documentation." +--- + +Multi-tenancy in CometChat enables you to manage multiple isolated chat environments under a single billing plan, providing economies of scale and streamlined management for applications serving multiple organizations or customer segments. + +## Understanding Apps and Multi-Tenancy + +### What is a CometChat App? + +A CometChat app represents a self-contained chat environment with its own users, groups, messages, roles, and configurations. Each app operates independently with isolated data. + +### Multi-App vs Multi-Tenant Setup + +**Multi-App Setup**: Create separate CometChat apps with independent billing plans and configurations. Best suited for: +- Different products within an organization +- Separate departments with distinct P&Ls +- Applications requiring completely independent billing and metrics + +**Multi-Tenant Setup**: Create multiple CometChat apps that share quotas and billing from a single base plan. Best suited for: +- SaaS platforms serving multiple customers +- Aggregator applications +- Vertical-specific software (education, healthcare, etc.) + +## Authentication + +All Management API requests must be authenticated using the key and secret provided when multi-tenancy is enabled for your account. Include these credentials in the request headers: + +``` +key: YOUR_KEY +secret: YOUR_SECRET +``` + +## Common Use Cases + +Multi-tenancy works well for scenarios like: + +- **Education platforms**: Each school operates as a separate app, with teachers, students, and parents communicating within their school's isolated environment +- **Business communication tools**: Each business or franchise gets its own app, keeping employee and customer conversations separate +- **White-label solutions**: Provide branded chat experiences to multiple clients while managing everything from a single account + +## How Multi-Tenancy Works + +When multi-tenancy is enabled for your account: + +1. A **base app** is created and associated with your billing plan +2. All additional apps created in the account consume from the base app's quotas (MAU, PCC, Voice/Video minutes) +3. Usage across all apps is pooled and billed together through the base app +4. All apps inherit features and configurations from the base plan + +## App Management APIs + +Once multi-tenancy is enabled, you receive App Management credentials (key and secret) that allow you to programmatically: + +- Create and configure new apps +- Enable/disable extensions +- Manage app team members +- Configure webhooks +- Manage widgets + +This enables automation and "configuration as code" patterns for managing large numbers of apps consistently. + +## Getting Started + +To enable multi-tenancy for your account, [contact our support team](https://www.cometchat.com/contact-sales). Once approved, you'll receive your App Management key and secret, and can begin creating tenant apps. + +For detailed API documentation on managing apps programmatically, refer to the [Management REST APIs](/rest-api/management-apis). diff --git a/fundamentals/notification-extensions.mdx b/fundamentals/notification-extensions.mdx index 0243ec6cf..531c99b62 100644 --- a/fundamentals/notification-extensions.mdx +++ b/fundamentals/notification-extensions.mdx @@ -1,5 +1,6 @@ --- title: "Notifications" +description: "Notifications — CometChat documentation." --- CometChat Notifications come in two variants: @@ -13,7 +14,7 @@ CometChat Notifications come in two variants: 2. The Legacy Notification Extensions based on CometChat Extensions. * [Legacy Push Notifications Extension](/notifications/web-push-notifications) - * [Legacy Email Notifications Extension](/notifications/email-notification-extension) - * [Legacy SMS Notifications Extension](/notifications/sms-notification-extension) + * [Legacy Email Notifications Extension](/notifications/email-notifications-extension-legacy) + * [Legacy SMS Notifications Extension](/notifications/sms-notifications-extension-legacy) For the best experience, we recommend to use the mordern [Notifications](/notifications/overview) platform. Please visit the above mentioned links for more details. diff --git a/fundamentals/overview.mdx b/fundamentals/overview.mdx index 59774cad1..4e4be0416 100644 --- a/fundamentals/overview.mdx +++ b/fundamentals/overview.mdx @@ -1,6 +1,7 @@ --- title: "What Is CometChat?" sidebarTitle: "Overview" +description: "Overview of What Is CometChat? in CometChat." --- CometChat is a comprehensive communications platform that empowers businesses to seamlessly integrate real-time chat, voice and video calling functionalities. These integrations can be done picking up the implementation methods that align best with your goals. diff --git a/fundamentals/pin-message.mdx b/fundamentals/pin-message.mdx index 39512de01..468b7cd25 100644 --- a/fundamentals/pin-message.mdx +++ b/fundamentals/pin-message.mdx @@ -1,5 +1,6 @@ --- title: "Pin Message" +description: "Pin Message — CometChat documentation." --- ## Extension settings diff --git a/fundamentals/polls.mdx b/fundamentals/polls.mdx index ef678a3a3..54eb98e51 100644 --- a/fundamentals/polls.mdx +++ b/fundamentals/polls.mdx @@ -1,5 +1,6 @@ --- title: "Polls" +description: "Polls — CometChat documentation." --- Polls let you quickly record the opinions directly in the Conversations and also view the results. diff --git a/fundamentals/reactions.mdx b/fundamentals/reactions.mdx index da464d7c9..2af474536 100644 --- a/fundamentals/reactions.mdx +++ b/fundamentals/reactions.mdx @@ -1,5 +1,6 @@ --- title: "Reactions (Legacy)" +description: "Reactions (Legacy) — CometChat documentation." --- diff --git a/fundamentals/reminders.mdx b/fundamentals/reminders.mdx index 83d90b2b1..6a76d465d 100644 --- a/fundamentals/reminders.mdx +++ b/fundamentals/reminders.mdx @@ -1,5 +1,6 @@ --- title: "Reminders" +description: "Reminders — CometChat documentation." --- Create reminders for messages or anything else. diff --git a/fundamentals/rich-media-preview.mdx b/fundamentals/rich-media-preview.mdx index 637d353a0..290979f8b 100644 --- a/fundamentals/rich-media-preview.mdx +++ b/fundamentals/rich-media-preview.mdx @@ -1,5 +1,6 @@ --- title: "Rich Media Preview" +description: "Rich Media Preview — CometChat documentation." --- The Rich Media Preview Extension allows the developer to generate rich preview panels for all the popular sites. This extension fetches the first URL from the message for the generation of a preview. diff --git a/fundamentals/save-message.mdx b/fundamentals/save-message.mdx index 57ea4eebc..fb6fbc682 100644 --- a/fundamentals/save-message.mdx +++ b/fundamentals/save-message.mdx @@ -1,5 +1,6 @@ --- title: "Save Message" +description: "Save Message — CometChat documentation." --- ## Extension settings diff --git a/fundamentals/smart-replies.mdx b/fundamentals/smart-replies.mdx index a785c055d..2ce8c1dd3 100644 --- a/fundamentals/smart-replies.mdx +++ b/fundamentals/smart-replies.mdx @@ -1,5 +1,6 @@ --- title: "Smart Replies (Legacy)" +description: "Smart Replies (Legacy) — CometChat documentation." --- diff --git a/fundamentals/stickers-stipop.mdx b/fundamentals/stickers-stipop.mdx index b7affea8f..3dec113f8 100644 --- a/fundamentals/stickers-stipop.mdx +++ b/fundamentals/stickers-stipop.mdx @@ -1,5 +1,6 @@ --- title: "Stipop" +description: "Stipop — CometChat documentation." --- *Learn how to integrate stickers by Stipop in your app.* diff --git a/fundamentals/stickers.mdx b/fundamentals/stickers.mdx index a4d2bd43f..bfbeb8682 100644 --- a/fundamentals/stickers.mdx +++ b/fundamentals/stickers.mdx @@ -1,5 +1,6 @@ --- title: "Stickers" +description: "Stickers — CometChat documentation." --- The Stickers Extension is more like an image manager which allows you to quickly add/remove stickers directly from the dashboard. diff --git a/fundamentals/tenor.mdx b/fundamentals/tenor.mdx index f8c49f5af..bedad15ad 100644 --- a/fundamentals/tenor.mdx +++ b/fundamentals/tenor.mdx @@ -1,5 +1,6 @@ --- title: "Tenor" +description: "Tenor — CometChat documentation." --- GIFs are a great way to change the tone or convey emotions in your conversations. Here's a guide which helps to implement Tenor in an easy and quick way. Let's get started! diff --git a/fundamentals/thumbnail-generation.mdx b/fundamentals/thumbnail-generation.mdx index 023f132ad..25983dfd3 100644 --- a/fundamentals/thumbnail-generation.mdx +++ b/fundamentals/thumbnail-generation.mdx @@ -1,5 +1,6 @@ --- title: "Thumbnail Generation" +description: "Thumbnail Generation — CometChat documentation." --- The Thumbnail Generation extension will help you generate a thumbnail preview of an image or a video message. diff --git a/fundamentals/tinyurl.mdx b/fundamentals/tinyurl.mdx index 8c9a33559..e75152ac9 100644 --- a/fundamentals/tinyurl.mdx +++ b/fundamentals/tinyurl.mdx @@ -1,5 +1,6 @@ --- title: "TinyURL" +description: "TinyURL — CometChat documentation." --- *Learn how to minify the long website links in your text messages using TinyURL.* diff --git a/fundamentals/user-auth.mdx b/fundamentals/user-auth.mdx index 7e0799364..b3414baef 100644 --- a/fundamentals/user-auth.mdx +++ b/fundamentals/user-auth.mdx @@ -27,7 +27,7 @@ Once the user is successfully logged into CometChat, we can proceed to request o 1. Handle the user creation endpoint in your application. 2. Add the user to your database. -3. Invoke the [CometChat API endpoint to create a user](https://api-explorer.cometchat.com/reference/creates-user). +3. Invoke the [CometChat API endpoint to create a user](/rest-api/chat-apis). * Optionally, pass a parameter to generate an authentication token for this user. @@ -42,7 +42,7 @@ Once the user is successfully logged into CometChat, we can proceed to request o ## Log In an Existing User 1. Authenticate the user within your application. -2. Your API will then request a CometChat auth token for the user. You can call the [create auth token API endpoint](https://api-explorer.cometchat.com/reference/create-authtoken) to create a new one. +2. Your API will then request a CometChat auth token for the user. You can call the [create auth token API endpoint](/rest-api/chat-apis) to create a new one. 3. Your server responds with the successful retrieval of the CometChat auth token to your front-end application. 4. Utilize the CometChat auth token to log the user into the [CometChat SDK / UI Kit](https://www.cometchat.com/docs/javascript-chat-sdk/authentication#login-using-auth-token), 5. If you’re using the **Widget Builder**, refer to the documentation on **[auth token–based user login](/widget/html/integration#3-backend-created-user-auth-token-login)**. diff --git a/fundamentals/user-roles-and-permissions.mdx b/fundamentals/user-roles-and-permissions.mdx index 59fca7262..6b503362a 100644 --- a/fundamentals/user-roles-and-permissions.mdx +++ b/fundamentals/user-roles-and-permissions.mdx @@ -1,6 +1,7 @@ --- title: "User Roles And Permissions In CometChat" sidebarTitle: "User Roles And Permissions" +description: "User Roles And Permissions In CometChat — CometChat documentation." --- CometChat provides a comprehensive roles and permissions system to ensure that team members have the appropriate level of access to platform features and settings. Properly assigning these roles helps maintain security, streamline workflows, and delegate responsibilities effectively. diff --git a/fundamentals/video-broadcasting.mdx b/fundamentals/video-broadcasting.mdx index 4826f61fe..240317512 100644 --- a/fundamentals/video-broadcasting.mdx +++ b/fundamentals/video-broadcasting.mdx @@ -1,5 +1,6 @@ --- title: "Live Streaming By API Video (Deprecated)" +description: "Live Streaming By API Video (Deprecated) — CometChat documentation." --- diff --git a/fundamentals/voice-transcription.mdx b/fundamentals/voice-transcription.mdx index f68309a47..01bff9b7a 100644 --- a/fundamentals/voice-transcription.mdx +++ b/fundamentals/voice-transcription.mdx @@ -1,5 +1,6 @@ --- title: "Voice Transcription" +description: "Voice Transcription — CometChat documentation." --- Voice transcription extension allows you to convert an audio message into text. diff --git a/fundamentals/webhooks-events.mdx b/fundamentals/webhooks-events.mdx deleted file mode 100644 index 44289fa52..000000000 --- a/fundamentals/webhooks-events.mdx +++ /dev/null @@ -1,2183 +0,0 @@ ---- -title: "Events" ---- - -### Why is Idempotency Important? - -Idempotency ensures that your system processes webhook events reliably, even in cases duplicate events due to retries. Webhooks are inherently asynchronous, and network issues or endpoint failures can lead to retries. Without idempotency, the same event could be processed multiple times, causing unintended side effects such as duplicate records, inconsistent states, or incorrect business logic execution. - -By implementing idempotency, you can: - -Prevent Duplicate Processing: Ensure that the same event is not processed more than once, even if it is retried. Maintain Data Integrity: Avoid creating duplicate records or inconsistent states in your database. Improve System Reliability: Handle retries gracefully and ensure your system behaves predictably under all circumstances. Enhance Debugging and Monitoring: Easily identify and resolve issues related to duplicate or failed events. - -## Messaging events - -### message\_sent - -The hook triggers after the message is sent. - -**Idempotency Details** - -* **Key**: `webhook`,`trigger`,`data.message.id` -* **Purpose**: Ensures the message is processed only once. - -```json -{ - "trigger": "message_sent", - "data": { - "message": { - "id": "1", - "conversationId": "cometchat-uid-1_user_cometchat-uid-2", - "sender": "cometchat-uid-1", - "receiverType": "user", - "receiver": "cometchat-uid-2", - "category": "message", - "type": "text", - "data": { - "text": "hi", - "entities": { - "sender": { - "entity": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696934440 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "cometchat-uid-2", - "name": "George Alan", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696934491, - "conversationId": "cometchat-uid-1_user_cometchat-uid-2" - }, - "entityType": "user" - } - } - }, - "sentAt": 1696934912, - "updatedAt": 1696934912 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### message\_edited - -The hook triggers after the message is edited. - -**Idempotency Details** - -* **Key**: `webhook`,`trigger`,`data.message.id` & `data.message.editedAt` -* **Purpose**: Tracks edits to ensure the same edit is not processed multiple times. - -```json -{ - "trigger": "message_edited", - "data": { - "message": { - "id": "2", - "conversationId": "cometchat-uid-1_user_cometchat-uid-2", - "sender": "cometchat-uid-1", - "receiverType": "user", - "receiver": "cometchat-uid-2", - "category": "action", - "type": "message", - "data": { - "action": "edited", - "entities": { - "by": { - "entity": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696934440 - }, - "entityType": "user" - }, - "for": { - "entity": { - "uid": "cometchat-uid-2", - "name": "George Alan", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696934491, - "conversationId": "cometchat-uid-1_user_cometchat-uid-2" - }, - "entityType": "user" - }, - "on": { - "entity": { - "id": "1", - "conversationId": "cometchat-uid-1_user_cometchat-uid-2", - "sender": "cometchat-uid-1", - "receiverType": "user", - "receiver": "cometchat-uid-2", - "category": "message", - "type": "text", - "data": { - "text": "hello", - "entities": { - "sender": { - "entity": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "role": "default", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "available", - "lastActiveAt": 1696934440 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "cometchat-uid-2", - "name": "George Alan", - "role": "default", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "status": "available", - "lastActiveAt": 1696934491, - "conversationId": "cometchat-uid-1_user_cometchat-uid-2" - }, - "entityType": "user" - } - } - }, - "sentAt": 1696934912, - "editedAt": 1696934985, - "editedBy": "cometchat-uid-1", - "deliveredAt": 1696934912, - "readAt": 1696934950, - "updatedAt": 1696934985 - }, - "entityType": "message" - } - }, - }, - "sentAt": 1696934985, - "updatedAt": 1696934985 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### message\_deleted - -The hook triggers after the message is deleted. - -**Idempotency Details** - -* **Key**: `webhook`,`trigger` & `data.message.id` -* **Purpose**: Tracks deletions to prevent duplicate processing. - -```json -{ - "trigger": "message_deleted", - "data": { - "message": { - "id": "3", - "conversationId": "cometchat-uid-1_user_cometchat-uid-2", - "sender": "cometchat-uid-1", - "receiverType": "user", - "receiver": "cometchat-uid-2", - "category": "action", - "type": "message", - "data": { - "action": "deleted", - "entities": { - "by": { - "entity": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696934440 - }, - "entityType": "user" - }, - "for": { - "entity": { - "uid": "cometchat-uid-2", - "name": "George Alan", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696934491, - "conversationId": "cometchat-uid-1_user_cometchat-uid-2" - }, - "entityType": "user" - }, - "on": { - "entity": { - "id": "2", - "conversationId": "cometchat-uid-1_user_cometchat-uid-2", - "sender": "cometchat-uid-1", - "receiverType": "user", - "receiver": "cometchat-uid-2", - "category": "message", - "type": "text", - "data": { - "entities": { - "sender": { - "entity": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "role": "default", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "available", - "lastActiveAt": 1696934440 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "cometchat-uid-2", - "name": "George Alan", - "role": "default", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "status": "available", - "lastActiveAt": 1696934491, - "conversationId": "cometchat-uid-1_user_cometchat-uid-2" - }, - "entityType": "user" - } - } - }, - "sentAt": 1696934912, - "deliveredAt": 1696934912, - "readAt": 1696934950, - "deletedAt": 1696935005, - "updatedAt": 1696935005, - "deletedBy": "cometchat-uid-1" - }, - "entityType": "message" - } - }, - }, - "sentAt": 1696935005, - "updatedAt": 1696935005 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### message\_delivery\_receipt - -The hook triggers when the client chat application confirms with Cometchat servers that a message was delivered. - -**Idempotency Details** - -* **Key**: `webhook`,`trigger`,`data.body.messageId`,`data.body.timestamp` & `data.sender` -* **Purpose**: Tracks delivery receipts to ensure they are processed only once. - -```json -{ - "trigger": "message_delivery_receipt", - "data": { - "receiver": "cometchat-uid-1", - "receiverType": "user", - "type": "receipts", - "sender": "cometchat-uid-2", - "messageSender": "cometchat-uid-1", - "body": { - "action": "delivered", - "messageId": "57", - "user": { - "hasBlockedMe": false, - "blockedByMe": false, - "deactivatedAt": 0, - "uid": "cometchat-uid-2", - "name": "George Alan", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "lastActiveAt": 1696934489, - "role": "default", - "status": "online" - }, - "timestamp": 1696934912 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### message\_read\_receipt - -The hook triggers when the client chat application confirms with Cometchat servers that a message was read. - -**Idempotency Details** - -* **Key**: `webhook`,`trigger`,`data.body.messageId`,`data.body.timestamp` & `data.sender` -* **Purpose**: Tracks read receipts to ensure they are processed only once. - -```json -{ - "trigger": "message_read_receipt", - "data": { - "receiver": "cometchat-uid-1", - "receiverType": "user", - "type": "receipts", - "sender": "cometchat-uid-2", - "messageSender": "cometchat-uid-1", - "body": { - "action": "read", - "messageId": "57", - "user": { - "hasBlockedMe": false, - "blockedByMe": false, - "deactivatedAt": 0, - "uid": "cometchat-uid-2", - "name": "George Alan", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "lastActiveAt": 1696934489, - "role": "default", - "status": "online" - }, - "timestamp": 1696934950 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### message\_reaction\_added - -The hook triggers after a user reacts to a message. - -**Idempotency Details** - -* **Key**: `webhook`,`trigger`,`data.reaction.id` & `data.reaction.uid` -* **Purpose**: Tracks reactions to ensure they are processed only once. - -```json -{ - "trigger": "message_reaction_added", - "data": { - "reaction": { - "id": "", - "messageId": "", - "reaction": "🏒", - "uid": "cometchat-uid-1", - "reactedAt": 1700655536, - "reactedBy": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "offline", - "role": "default", - "lastActiveAt": 1700652818 - } - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### message\_reaction\_removed - -The hook triggers after a user un-reacts to a message. - -**Idempotency Details** - -* **Key**: `webhook`,`trigger`,`data.reaction.id` & `data.reaction.uid` -* **Purpose**: Tracks reaction removals to ensure they are processed only once. - -```json -{ - "trigger": "message_reaction_removed", - "data": { - "reaction": { - "id": "", - "messageId": "", - "reaction": "🏒", - "uid": "cometchat-uid-1", - "reactedAt": 1700231289, - "reactedBy": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "offline", - "role": "default", - "lastActiveAt": 1700652818 - } - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### user\_mentioned - -The hook triggers after a user is mentioned in the message. - -**Idempotency Details** - -* **Key**: `webhook`,`trigger`,`data.message.id` & `data.message.mentions.uid` -* **Purpose**: Tracks mentions to ensure they are processed only once. - -```json -{ - "trigger": "user_mentioned", - "data": { - "message": { - "id": "4", - "conversationId": "cometchat-uid-1_user_cometchat-uid-2", - "sender": "cometchat-uid-1", - "receiverType": "user", - "receiver": "cometchat-uid-2", - "category": "message", - "type": "text", - "data": { - "text": "Hi <@uid:cometchat-uid-2>", - "entities": { - "sender": { - "entity": { - "uid": "cometchat-uid-1", - "name": "George Alan", - "status": "offline", - "role": "default", - "createdAt": 1702025699 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "cometchat-uid-2", - "name": "cometchat-uid-1", - "status": "available", - "role": "default", - "lastActiveAt": 1702028122, - "createdAt": 1701931840, - "conversationId": "cometchat-uid-1_user_cometchat-uid-2" - }, - "entityType": "user" - } - }, - "mentions": { - "cometchat-uid-2": { - "uid": "cometchat-uid-2", - "name": "cometchat-uid-1", - "status": "available", - "role": "default", - "lastActiveAt": 1702028122, - "createdAt": 1701931840, - "conversationId": "cometchat-uid-1_user_cometchat-uid-2" - } - } - }, - "sentAt": 1702028666, - "updatedAt": 1702028666 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### message\_delivered\_to\_all - -The hook triggers when the client chat application confirms with Cometchat servers that a message was delivered to all the participants of the group. - -**Idempotency Details** - -* **Key**: `webhook`,`trigger`,`data.body.messageId` & `data.body.timestamp` -* **Purpose**: Tracks group delivery to ensure it is processed only once. - -```json -{ - "trigger": "message_delivered_to_all", - "data": { - "receiver": "group__1720436412627", - "receiverType": "group", - "type": "receipts", - "sender": "app_system", - "messageSender": "superhero2", - "body": { - "messageId": "385", - "timestamp": 1722245922, - "action": "deliveredToAll", - "user": { - "uid": "app_system", - "name": "System", - "avatar": "", - "role": "default", - "status": "offline" - } - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### message\_read\_by\_all - -The hook triggers when the client chat application confirms with Cometchat servers that a message was read by all the participants of a group. - -**Idempotency Details** - -* **Key**: `webhook`,`trigger`,`data.body.messageId` & `data.body.timestamp` -* **Purpose**: Tracks group read receipts to ensure they are processed only once. - -```json -{ - "trigger": "message_read_by_all", - "data": { - "receiver": "group__1720436412627", - "receiverType": "group", - "type": "receipts", - "sender": "app_system", - "messageSender": "superhero2", - "body": { - "messageId": "385", - "timestamp": 1722245922, - "action": "readByAll", - "user": { - "uid": "app_system", - "name": "System", - "avatar": "", - "role": "default", - "status": "offline" - } - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -The following events will be available only if the **Enhanced Messaging Status** feature is enabled for your app. - -* `message_delivered_to_all`, -* `message_read_by_all` - - - -## User-related events - -### user\_blocked - -The hook triggers when a user blocks another user. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.users.uid` -* **Purpose**: Tracks user block events to ensure they are processed only once. - -```json -{ - "trigger": "user_blocked", - "data": { - "users": { - "cometchat-uid-2": { - "uid": "cometchat-uid-2", - "name": "George Alan", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696934491, - "conversationId": "cometchat-uid-1_user_cometchat-uid-2" - } - }, - "by": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696935105 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### user\_unblocked - -The hook triggers when a user unblocks another user. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.users.uid` -* **Purpose**: Tracks user unblock events to ensure they are processed only once. - -```json -{ - "trigger": "user_unblocked", - "data": { - "users": { - "cometchat-uid-2": { - "uid": "cometchat-uid-2", - "name": "George Alan", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696934491, - "conversationId": "cometchat-uid-1_user_cometchat-uid-2" - } - }, - "by": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696935105 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### user\_connection\_status\_changed - -The hook triggers after a user connects/disconnects from the websocket server. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.user.uid`+`data.user.status`+`data.timestamp` -* **Purpose**: Tracks user connection status changes to ensure they are processed only once. - -```json -{ - "trigger": "user_connection_status_changed", - "data": { - "timestamp": 1696935103114, - "user": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "offline", - "role": "default", - "lastActiveAt": 1693916686 - }, - "status": "offline", - "currentConnection": { - "action": "disconnected", - "appInfo": { - "version": "3.0.12", - "apiVersion": "v3.0", - "origin": "http://localhost:5173", - "uts": 1696934440846, - "clientIp": "3.128.113.92" - }, - "platform": "javascript", - "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", - "connectedAt": 1696934440982 - }, - "userPresenceChanged": true - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -## Group events - -### group\_member\_banned - -This hooks triggers after members are banned from a group. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.group.guid`+`data.members.uid`+`data.group.updatedAt` -* **Purpose**: Tracks group member bans to ensure they are processed only once. - -```json -{ - "trigger": "group_member_banned", - "data": { - "group": { - "guid": "cometchat-guid-1", - "name": "Hiking Group", - "type": "public", - "membersCount": 1, - "conversationId": "group_group__1696932914913", - "createdAt": 1696932915, - "owner": "cometchat-uid-1", - "updatedAt": 1696933533, - "onlineMembersCount": 1 - }, - "members": { - "cometchat-uid-2": { - "uid": "cometchat-uid-2", - "name": "George Alan", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "status": "offline", - "role": "default", - "lastActiveAt": 1695751453, - "conversationId": "cometchat-uid-1_user_cometchat-uid-2" - } - }, - "by": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696932834 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### group\_member\_unbanned - -The hook triggers after members are unbanned from a group. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.group.guid`+`data.members.uid`+`data.group.updatedAt` -* **Purpose**: Tracks group member unbans to ensure they are processed only once. - -```json -{ - "trigger": "group_member_unbanned", - "data": { - "members": { - "cometchat-uid-2": { - "uid": "cometchat-uid-2", - "name": "George Alan", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "status": "offline", - "role": "default", - "lastActiveAt": 1695751453, - "conversationId": "cometchat-uid-1_user_cometchat-uid-2" - } - }, - "group": { - "guid": "cometchat-guid-1", - "name": "Hiking Group", - "type": "public", - "membersCount": 1, - "conversationId": "group_cometchat-guid-1", - "createdAt": 1696932915, - "owner": "cometchat-uid-1", - "updatedAt": 1696933533, - "onlineMembersCount": 1 - }, - "by": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696932834 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### group\_member\_scope\_changed - -The hook triggers if the scope of a member changes in a group. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.group.guid`+`data.members.uid`+`data.group.updatedAt` -* **Purpose**: Tracks group member scope changes to ensure they are processed only once. - -```json -{ - "trigger": "group_member_scope_changed", - "data": { - "members": { - "cometchat-uid-2": { - "uid": "cometchat-uid-2", - "name": "George Alan", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696933928, - "conversationId": "cometchat-uid-1_user_cometchat-uid-2", - "scope": "admin", - "oldScope": "participant" - } - }, - "group": { - "guid": "cometchat-guid-1", - "name": "Hiking Group", - "type": "public", - "membersCount": 2, - "conversationId": "group_cometchat-guid-1", - "createdAt": 1695722891, - "owner": "cometchat-uid-1", - "updatedAt": 1696933925, - "onlineMembersCount": 2 - }, - "by": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696933934 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### group\_created - -The hook triggers after the group is created. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.group.guid`+`data.group.createdAt` -* **Purpose**: Tracks group creation to ensure it is processed only once. - -```json -{ - "trigger":"group_created", - "data":{ - "group":{ - "guid":"cometchat-guid-1", - "name":"Hiking Group", - "type":"public", - "scope":"admin", - "membersCount":1, - "joinedAt":1696932915, - "conversationId":"group_cometchat-guid-1", - "hasJoined":true, - "createdAt":1696932915, - "owner":"cometchat-uid-1" - }, - "members":{ - "cometchat-uid-1":{ - "uid":"cometchat-uid-1", - "name":"Andrew Joseph", - "status":"available", - "role":"default", - "lastActiveAt":1696932834 - } - } - }, - "appId":"", - "region":"", - "webhook":"" -} -``` - -### group\_updated - -The hook triggers after the group is updated. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.group.guid`+`data.group.updatedAt` -* **Purpose**: Tracks group updates to ensure they are processed only once. - -```json -{ - "trigger": "group_updated", - "data": { - "group": { - "guid": "cometchat-guid-1", - "name": "Hiking Group", - "type": "public", - "membersCount": 2, - "conversationId": "group_cometchat-guid-1", - "createdAt": 1695728507, - "owner": "cometchat-uid-2", - "updatedAt": 1696934048, - "updatedBy": "cometchat-uid-1", - "onlineMembersCount": 2 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### group\_deleted - -The hook triggers after the group is deleted. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.group.guid`+`data.group.createdAt` -* **Purpose**: Tracks group deletions to ensure they are processed only once. - -```json -{ - "trigger": "group_deleted", - "data": { - "group": { - "guid": "cometchat-guid-1", - "name": "1234", - "type": "public", - "membersCount": 1, - "conversationId": "group_cometchat-guid-1", - "createdAt": 1695722912, - "owner": "cometchat-uid-1", - "updatedAt": 1695817083, - "updatedBy": "cometchat-uid-1", - "onlineMembersCount": 1 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### group\_member\_joined - -The hook triggers after a user joins a group. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.group.guid`+`data.members.uid`+`data.group.updatedAt` -* **Purpose**: Tracks group member joins to ensure they are processed only once. - -```json -{ - "trigger": "group_member_joined", - "data": { - "members": { - "cometchat-uid-2": { - "uid": "cometchat-uid-2", - "name": "George Alan", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696933689 - } - }, - "group": { - "guid": "cometchat-guid-1", - "name": "Hiking Group", - "type": "public", - "membersCount": 2, - "conversationId": "group_cometchat-guid-1", - "createdAt": 1695728507, - "owner": "cometchat-uid-1", - "updatedAt": 1696933691, - "onlineMembersCount": 1 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### group\_member\_left - -The hook triggers after a user leaves the group. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.group.guid`+`data.members.uid`+`data.group.updatedAt` -* **Purpose**: Tracks group member departures to ensure they are processed only once. - -```json -{ - "trigger": "group_member_left", - "data": { - "members": { - "cometchat-uid-2": { - "uid": "cometchat-uid-2", - "name": "George Alan", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696933689 - } - }, - "group": { - "guid": "cometchat-guid-1", - "name": "Hiking Group", - "type": "public", - "membersCount": 1, - "conversationId": "group_cometchat-guid-1", - "createdAt": 1695722891, - "owner": "cometchat-uid-1", - "updatedAt": 1696933827, - "onlineMembersCount": 1 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### group\_member\_added - -The hook triggers after members are added to a group. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.group.guid`+`data.members.uid`+`data.group.updatedAt` -* **Purpose**: Tracks group member additions to ensure they are processed only once. - -```json -{ - "trigger": "group_member_added", - "data": { - "group": { - "guid": "cometchat-guid-1", - "name": "Hiking Group", - "type": "public", - "membersCount": 2, - "conversationId": "group_cometchat-guid-1", - "createdAt": 1696932915, - "owner": "cometchat-uid-1", - "onlineMembersCount": 1 - }, - "members": { - "cometchat-uid-2": { - "uid": "cometchat-uid-2", - "name": "George Alan", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "status": "offline", - "role": "default", - "lastActiveAt": 1695751453, - "conversationId": "cometchat-uid-1_user_cometchat-uid-2" - } - }, - "by": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696932834 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### group\_member\_kicked - -This hook triggers after members are kicked from a group. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.group.guid`+`data.members.uid`+`data.group.updatedAt` -* **Purpose**: Tracks group member removals to ensure they are processed only once. - -```json -{ - "trigger": "group_member_kicked", - "data": { - "members": { - "cometchat-uid-2": { - "uid": "cometchat-uid-2", - "name": "George Alan", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696933689, - "conversationId": "cometchat-uid-1_user_cometchat-uid-2" - } - }, - "group": { - "guid": "cometchat-guid-1", - "name": "Hiking Group", - "type": "public", - "membersCount": 1, - "conversationId": "group_cometchat-guid-1", - "createdAt": 1695722891, - "owner": "cometchat-uid-1", - "updatedAt": 1696933889, - "onlineMembersCount": 8 - }, - "by": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696933881 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### group\_owner\_transferred - -The hook triggers if the owner of the group is changed. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.group.guid`+`data.group.updatedAt` -* **Purpose**: Tracks group ownership transfers to ensure they are processed only once. - -```json -{ - "trigger": "group_owner_transferred", - "data": { - "group": { - "guid": "cometchat-guid-1", - "name": "Hiking Group", - "type": "public", - "membersCount": 2, - "conversationId": "group_cometchat-guid-1", - "createdAt": 1695728507, - "owner": "cometchat-uid-2", - "updatedAt": 1696933737, - "updatedBy": "cometchat-uid-1", - "onlineMembersCount": 2, - "oldOwner": "cometchat-uid-1" - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -## Call & Meeting events - -### call\_initiated - -The hook triggers when the call is initiated. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.call.id`+`data.call.sentAt` -* **Purpose**: Tracks call initiation to ensure it is processed only once. - -```json -{ - "trigger": "call_initiated", - "data": { - "call": { - "id": "52", - "conversationId": "cometchat-uid-1_user_cometchat-uid-5", - "sender": "cometchat-uid-1", - "receiverType": "user", - "receiver": "cometchat-uid-5", - "category": "call", - "type": "audio", - "data": { - "action": "initiated", - "entities": { - "by": { - "entity": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696933934 - }, - "entityType": "user" - }, - "for": { - "entity": { - "uid": "cometchat-uid-5", - "name": "John Paul", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-5.webp", - "status": "offline", - "role": "default", - "conversationId": "cometchat-uid-1_user_cometchat-uid-5" - }, - "entityType": "user" - }, - "on": { - "entity": { - "sessionid": "", - "conversationId": "cometchat-uid-1_user_cometchat-uid-5", - "sender": "cometchat-uid-1", - "receiverType": "user", - "receiver": "cometchat-uid-5", - "status": "initiated", - "type": "audio", - "data": { - "entities": { - "sender": { - "entity": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1696933934 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "cometchat-uid-5", - "name": "John Paul", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-5.webp",, - "status": "offline", - "role": "default", - "conversationId": "cometchat-uid-1_user_cometchat-uid-5" - }, - "entityType": "user" - } - } - }, - "initiatedAt": 1696934199, - "joinedAt": 1696934199 - }, - "entityType": "call" - } - }, - "resource": "WEB-3_0_12-acfa8397-42f0-4f19-bc28-bc7db316ecaf-1696933879599" - }, - "sentAt": 1696934199, - "updatedAt": 1696934199 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### call\_started - -The hook triggers when the call is started. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.sessionId`+`data.created_at` -* **Purpose**: Tracks call start events to ensure they are processed only once. - -```json -{ - "trigger": "call_started", - "data": { - "created_at": 1696934572, - "sessionId": "" - }, - "type": "call", - "appId": "", - "region": "", - "webhook": "" -} -``` - -### call\_participant\_joined - -The hook triggers when a participant joins the call. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.sessionId`+`data.occupant.joined_at` -* **Purpose**: Tracks participant joins to ensure they are processed only once. - -```json -{ - "trigger": "call_participant_joined", - "data": { - "occupant": { - "joined_at": 1696934573, - "audio_call": "true", - "name": "Andrew Joseph" - }, - "initial_config": { - "is_video_muted": "false", - "start_recording_on_call_start": "false", - "call_version": "2.3.0", - "is_audio_muted": "false", - "sdk": "react", - "mode": "DEFAULT", - "platform": "web", - "is_audio_only": "true" - }, - "sessionId": "" - }, - "type": "call", - "appId": "", - "region": "", - "webhook": "" -} -``` - -### call\_participant\_left - -The hook triggers when a participant leaves the call. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.sessionId`+`data.occupant.left_at` -* **Purpose**: Tracks participant departures to ensure they are processed only once. - -```json -{ - "trigger": "call_participant_left", - "data": { - "occupant": { - "joined_at": 1696934501, - "audio_call": "true", - "left_at": 1696934553, - "name": "George Alan" - }, - "sessionId": "" - }, - "type": "call", - "appId": "", - "region": "", - "webhook": "" -} -``` - -### call\_ended - -The hook triggers when the call is ended. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.sessionId`+`data.destroyed_at` -* **Purpose**: Tracks call end events to ensure they are processed only once. - -```json -{ - "trigger": "call_ended", - "data": { - "all_occupants": [ - { - "joined_at": 1696934501, - "audio_call": "true", - "left_at": 1696934553, - "name": "George Alan" - }, - { - "joined_at": 1696934501, - "audio_call": "true", - "left_at": 1696934551, - "name": "Andrew Joseph" - } - ], - "destroyed_at": 1696934553, - "created_at": 1696934501, - "sessionId": "" - }, - "type": "call", - "appId": "", - "region": "", - "webhook": "" -} -``` - -### call\_busy - -This hook is triggered when a 1-on-1 call cannot be connected because the recipient is already on another call (i.e., their line is busy). Note: This event is exclusive to 1-on-1 calls. In group calls, all participants can join at any time, so a "busy" state does not apply. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.call.id`+`data.call.sentAt` -* **Purpose**: Tracks call busy events to ensure they are processed only once. - -```json -{ - "trigger": "call_busy", - "data": { - "call": { - "id": "43414", - "conversationId": "superhero1_user_superhero3", - "sender": "superhero3", - "receiverType": "user", - "receiver": "superhero1", - "category": "call", - "type": "audio", - "data": { - "action": "busy", - "entities": { - "by": { - "entity": { - "uid": "superhero3", - "name": "Spiderman", - "status": "available", - "role": "default", - "lastActiveAt": 1744959907 - }, - "entityType": "user" - }, - "for": { - "entity": { - "uid": "superhero1", - "name": "Iron Man New 2", - "metadata": { - "metadata": "updated_653" - }, - "status": "available", - "lastActiveAt": 1744960245, - "conversationId": "superhero1_user_superhero3" - }, - "entityType": "user" - }, - "on": { - "entity": { - "sessionid": "v1.us.258520c054f20343.1744960250fba0641a3d6f635262e35c07dca5acfb6fa94127", - "conversationId": "superhero1_user_superhero3", - "sender": "superhero1", - "receiverType": "user", - "receiver": "superhero3", - "status": "busy", - "type": "audio", - "data": { - "entities": { - "receiver": { - "entity": { - "conversationId": "superhero1_user_superhero3", - "lastActiveAt": 1744959907, - "name": "Spiderman", - "role": "default", - "status": "available", - "uid": "superhero3" - }, - "entityType": "user" - }, - "sender": { - "entity": { - "lastActiveAt": 1744960245, - "metadata": { - "metadata": "updated_653" - }, - "name": "Iron Man New 2", - "status": "available", - "uid": "superhero1" - }, - "entityType": "user" - } - } - }, - "initiatedAt": 1744960250 - }, - "entityType": "call" - } - }, - "resource": "WEB-4_0_10-942b534c-b606-4d44-90c3-878c60eb3a63-1744959889623" - }, - "sentAt": 1744960250, - "updatedAt": 1744960250 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### call\_cancelled - -The hook triggers when the call is cancelled. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.call.id`+`data.call.sentAt` -* **Purpose**: Tracks call cancelled events to ensure they are processed only once. - -```json -{ - "trigger": "call_cancelled", - "data": { - "call": { - "id": "43408", - "conversationId": "superhero3_user_superhero4", - "sender": "superhero4", - "receiverType": "user", - "receiver": "superhero3", - "category": "call", - "type": "audio", - "data": { - "action": "cancelled", - "entities": { - "by": { - "entity": { - "uid": "superhero4", - "name": "Wolverine", - "status": "available", - "role": "default", - "lastActiveAt": 1744959814 - }, - "entityType": "user" - }, - "for": { - "entity": { - "uid": "superhero3", - "name": "Spiderman", - "status": "available", - "role": "default", - "lastActiveAt": 1744959907, - "conversationId": "superhero3_user_superhero4" - }, - "entityType": "user" - }, - "on": { - "entity": { - "sessionid": "v1.us.258520c054f20343.1744960108582f85230d0552516bdac185a6bd862eeac55f78", - "conversationId": "superhero3_user_superhero4", - "sender": "superhero4", - "receiverType": "user", - "receiver": "superhero3", - "status": "cancelled", - "type": "audio", - "data": { - "entities": { - "receiver": { - "entity": { - "conversationId": "superhero3_user_superhero4", - "lastActiveAt": 1744959907, - "name": "Spiderman", - "role": "default", - "status": "available", - "uid": "superhero3" - }, - "entityType": "user" - }, - "sender": { - "entity": { - "lastActiveAt": 1744959814, - "name": "Wolverine", - "role": "default", - "status": "available", - "uid": "superhero4" - }, - "entityType": "user" - } - } - }, - "initiatedAt": 1744960108 - }, - "entityType": "call" - } - }, - "resource": "WEB-4_0_10-837115e3-f277-4105-8f1f-4e19a1a7f2be-1744959734040" - }, - "sentAt": 1744960111, - "updatedAt": 1744960111 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### call\_rejected - -This hook is triggered when a 1-on-1 call is explicitly rejected by the recipient. In group calls, this event is not triggered—since the call remains active as long as at least one member joins, even if others reject it. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.call.id`+`data.call.sentAt` -* **Purpose**: Tracks call rejected events to ensure they are processed only once. - -```json -{ - "trigger": "call_rejected", - "data": { - "call": { - "id": "43406", - "conversationId": "superhero3_user_superhero4", - "sender": "superhero3", - "receiverType": "user", - "receiver": "superhero4", - "category": "call", - "type": "audio", - "data": { - "action": "rejected", - "entities": { - "by": { - "entity": { - "uid": "superhero3", - "name": "Spiderman", - "status": "available", - "role": "default", - "lastActiveAt": 1744959907 - }, - "entityType": "user" - }, - "for": { - "entity": { - "uid": "superhero4", - "name": "Wolverine", - "status": "available", - "role": "default", - "lastActiveAt": 1744959814, - "conversationId": "superhero3_user_superhero4" - }, - "entityType": "user" - }, - "on": { - "entity": { - "sessionid": "v1.us.258520c054f20343.1744960087681ed39d02b69199ee4e0cf9d9173dc6c643461e", - "conversationId": "superhero3_user_superhero4", - "sender": "superhero4", - "receiverType": "user", - "receiver": "superhero3", - "status": "rejected", - "type": "audio", - "data": { - "entities": { - "receiver": { - "entity": { - "conversationId": "superhero3_user_superhero4", - "lastActiveAt": 1744959907, - "name": "Spiderman", - "role": "default", - "status": "available", - "uid": "superhero3" - }, - "entityType": "user" - }, - "sender": { - "entity": { - "lastActiveAt": 1744959814, - "name": "Wolverine", - "role": "default", - "status": "available", - "uid": "superhero4" - }, - "entityType": "user" - } - } - }, - "initiatedAt": 1744960087 - }, - "entityType": "call" - } - }, - "resource": "WEB-4_0_10-942b534c-b606-4d44-90c3-878c60eb3a63-1744959889623" - }, - "sentAt": 1744960092, - "updatedAt": 1744960092 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### call\_unanswered - -This hook is triggered when a call goes unanswered. For group calls, the call is considered unanswered only if none of the members join. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.call.id`+`data.call.sentAt` -* **Purpose**: Tracks call unanswered events to ensure they are processed only once. - -```json -{ - "trigger": "call_unanswered", - "data": { - "call": { - "id": "43410", - "conversationId": "superhero3_user_superhero4", - "sender": "superhero4", - "receiverType": "user", - "receiver": "superhero3", - "category": "call", - "type": "audio", - "data": { - "action": "unanswered", - "entities": { - "by": { - "entity": { - "uid": "superhero4", - "name": "Wolverine", - "status": "available", - "role": "default", - "lastActiveAt": 1744959814 - }, - "entityType": "user" - }, - "for": { - "entity": { - "uid": "superhero3", - "name": "Spiderman", - "status": "available", - "role": "default", - "lastActiveAt": 1744959907, - "conversationId": "superhero3_user_superhero4" - }, - "entityType": "user" - }, - "on": { - "entity": { - "sessionid": "v1.us.258520c054f20343.17449601247f75e0a5c7b9601b32e9fb26645c34975bc6c93d", - "conversationId": "superhero3_user_superhero4", - "sender": "superhero4", - "receiverType": "user", - "receiver": "superhero3", - "status": "unanswered", - "type": "audio", - "data": { - "entities": { - "receiver": { - "entity": { - "conversationId": "superhero3_user_superhero4", - "lastActiveAt": 1744959907, - "name": "Spiderman", - "role": "default", - "status": "available", - "uid": "superhero3" - }, - "entityType": "user" - }, - "sender": { - "entity": { - "lastActiveAt": 1744959814, - "name": "Wolverine", - "role": "default", - "status": "available", - "uid": "superhero4" - }, - "entityType": "user" - } - } - }, - "initiatedAt": 1744960124 - }, - "entityType": "call" - } - }, - "resource": "WEB-4_0_10-837115e3-f277-4105-8f1f-4e19a1a7f2be-1744959734040" - }, - "sentAt": 1744960170, - "updatedAt": 1744960170 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### meeting\_started - -The hook triggers when a meeting is started. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.sessionId`+`data.created_at` -* **Purpose**: Tracks meeting start events to ensure they are processed only once. - -```json -{ - "trigger": "meeting_started", - "data": { - "created_at": 1696934692, - "sessionId": "" - }, - "type": "meet", - "appId": "", - "region": "", - "webhook": "" -} -``` - -### recording\_generated - -The hook triggers when the recording is generated. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.sessionId`+`data.startTime` -* **Purpose**: Tracks recording generation to ensure it is processed only once. - -```json -{ - "trigger": "recording_generated", - "data": { - "recordingDate": "2023-10-10", - "duration": "21.433000", - "startTime": "1696937627", - "sessionId": "", - "recording_url": "" - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### meeting\_participant\_joined - -The hook triggers when a participant joins the meeting. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.sessionId`+`data.occupant.joined_at` -* **Purpose**: Tracks participant joins in meetings to ensure they are processed only once. - -```json -{ - "trigger": "meeting_participant_joined", - "data": { - "occupant": { - "joined_at": 1696934692, - "audio_call": "false", - "name": "Andrew Joseph" - }, - "initial_config": { - "is_video_muted": "false", - "start_recording_on_call_start": "false", - "call_version": "2.3.0", - "is_audio_muted": "false", - "sdk": "react", - "mode": "DEFAULT", - "platform": "web", - "is_audio_only": "false" - }, - "sessionId": "" - }, - "type": "meet", - "appId": "", - "region": "", - "webhook": "" -} -``` - -### meeting\_participant\_left - -The hook triggers when a participant leaves the meeting. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.sessionId`+`data.occupant.left_at` -* **Purpose**: Tracks participant departures in meetings to ensure they are processed only once. - -```json -{ - "trigger": "meeting_participant_left", - "data": { - "occupant": { - "joined_at": 1696934692, - "audio_call": "false", - "left_at": 1696934730, - "name": "Andrew Joseph" - }, - "sessionId": "" - }, - "type": "meet", - "appId": "", - "region": "", - "webhook": "" -} -``` - -### meeting\_ended - -The hook triggers when the meeting is ended. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.sessionId`+`data.destroyed_at` -* **Purpose**: Tracks meeting end events to ensure they are processed only once. - -```json -{ - "trigger": "meeting_ended", - "data": { - "all_occupants": [ - { - "joined_at": 1696934692, - "audio_call": "false", - "left_at": 1696934730, - "name": "Andrew Joseph" - } - ], - "destroyed_at": 1696934730, - "created_at": 1696934692, - "sessionId": "" - }, - "type": "meet", - "appId": "", - "region": "", - "webhook": "" -} -``` - -## Moderation Events - -### moderation\_engine\_approved - -The hook triggers when a message is marked as approved by the moderation engine. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.message.id`+`data.message.sentAt` -* **Purpose**: Tracks moderation approvals to ensure they are processed only once. - -```json -{ - "trigger": "moderation_engine_approved", - "data": { - "message": { - "id": "38437", - "muid": "_4b6na3agb", - "conversationId": "cometchat-uid-1_user_cometchat-uid-2", - "sender": "cometchat-uid-2", - "receiverType": "user", - "receiver": "cometchat-uid-1", - "category": "message", - "type": "text", - "data": { - "text": "hello", - "resource": "WEB-4_0_10-a10f2a72-8d27-4fbc-aceb-05a2258e98f4-1738586366602", - "entities": { - "sender": { - "entity": { - "uid": "cometchat-uid-2", - "name": "George Alan", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1738589887 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1738589887, - "conversationId": "cometchat-uid-1_user_cometchat-uid-2" - }, - "entityType": "user" - } - } - }, - "sentAt": 1738591120, - "updatedAt": 1738591120 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### moderation\_engine\_blocked - -The hook triggers when a message is marked as disapproved by the moderation engine. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.message.id`+`data.message.updatedAt` -* **Purpose**: Tracks moderation blocks to ensure they are processed only once. - -```json -{ - "trigger": "moderation_engine_blocked", - "data": { - "message": { - "id": "38439", - "muid": "_zhovsxqdo", - "conversationId": "cometchat-uid-1_user_cometchat-uid-2", - "sender": "cometchat-uid-2", - "receiverType": "user", - "receiver": "cometchat-uid-1", - "category": "message", - "type": "text", - "data": { - "text": "andrew@gmail.com", - "resource": "WEB-4_0_10-a10f2a72-8d27-4fbc-aceb-05a2258e98f4-1738586366602", - "moderation": { - "status": "disapproved", - "rule": { - "id": "email_filter", - "name": "Email Filter" - } - }, - "entities": { - "sender": { - "entity": { - "uid": "cometchat-uid-2", - "name": "George Alan", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1738589887 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1738589887, - "conversationId": "cometchat-uid-1_user_cometchat-uid-2" - }, - "entityType": "user" - } - } - }, - "sentAt": 1738591286, - "updatedAt": 1738591286 - }, - "moderation": [ - { - "condition": { - "entity": "message", - "operand": "text", - "category": "pattern", - "operator": "contains", - "value": [ - "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$" - ], - "message": "Text message contains a pattern matching an email address" - }, - "rule": { - "id": "email_filter", - "name": "Email filter", - "revisionId": "2531882e5e289115_contact_email_filter_7", - "action": [ - "blockMessage" - ], - "blockedAt": 1738591286 - } - } - ] - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - -### moderation\_manual\_approved - -The hook triggers when a blocked message is manually marked as approved. - -**Idempotency Details** - -* **Key**: `webhook`+`trigger`+`data.message.id`+`data.message.updatedAt` -* **Purpose**: Tracks manual moderation approvals to ensure they are processed only once. - -```json -{ - "trigger": "moderation_manual_approved", - "data": { - "message": { - "id": "38439", - "muid": "_zhovsxqdo", - "conversationId": "cometchat-uid-1_user_cometchat-uid-2", - "sender": "cometchat-uid-2", - "receiverType": "user", - "receiver": "cometchat-uid-1", - "category": "message", - "type": "text", - "data": { - "text": "andrew@gmail.com", - "resource": "WEB-4_0_10-a10f2a72-8d27-4fbc-aceb-05a2258e98f4-1738586366602", - "moderation": { - "status": "approved" - }, - "entities": { - "sender": { - "entity": { - "uid": "cometchat-uid-2", - "name": "George Alan", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1738589887 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "cometchat-uid-1", - "name": "Andrew Joseph", - "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", - "status": "available", - "role": "default", - "lastActiveAt": 1738589887, - "conversationId": "cometchat-uid-1_user_cometchat-uid-2" - }, - "entityType": "user" - } - } - }, - "sentAt": 1738591286, - "updatedAt": 1738591286 - }, - "moderation": [ - { - "rule": { - "id": "email_filter", - "name": "Email filter", - "revisionId": "2531882e5e289115_contact_email_filter_7", - "action": [ - "blockMessage" - ], - "blockedAt": 1738591286, - "condition": { - "entity": "message", - "operand": "text", - "category": "pattern", - "operator": "contains", - "value": [ - "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$" - ], - "message": "Text message contains a pattern matching an email address" - } - } - } - ] - }, - "appId": "", - "region": "", - "webhook": "" -} -``` diff --git a/fundamentals/webhooks-legacy.mdx b/fundamentals/webhooks-legacy.mdx index 44a02d0fa..ed7e5e073 100644 --- a/fundamentals/webhooks-legacy.mdx +++ b/fundamentals/webhooks-legacy.mdx @@ -1,13 +1,14 @@ --- title: "Webhooks (Legacy)" sidebarTitle: "Webhooks (Legacy)" +description: "Webhooks (Legacy) — CometChat documentation." --- **Legacy Notice**: Legacy extensions are no longer actively maintained and will not receive feature updates or enhancements. -For new projects, use **[Webhooks](/fundamentals/webhooks-overview)**. +For new projects, use **[Webhooks](/fundamentals/webhooks)**. @@ -87,19 +88,19 @@ CometChat also provides Management APIs to automate webhook and trigger manageme | Operation | API Reference | | --- | --- | -| Create a new webhook | [Create Webhook](https://api-explorer.cometchat.com/reference/create-webhook) | -| Update an existing webhook | [Update Webhook](https://api-explorer.cometchat.com/reference/update-webhook) | -| List all webhooks | [List Webhooks](https://api-explorer.cometchat.com/reference/list-webhooks) | -| Get a webhook by ID | [Get Webhook](https://api-explorer.cometchat.com/reference/get-webhook) | -| Delete a webhook | [Delete Webhook](https://api-explorer.cometchat.com/reference/delete-webhook) | +| Create a new webhook | [Create Webhook](/rest-api/chat-apis) | +| Update an existing webhook | [Update Webhook](/rest-api/chat-apis) | +| List all webhooks | [List Webhooks](/rest-api/chat-apis) | +| Get a webhook by ID | [Get Webhook](/rest-api/chat-apis) | +| Delete a webhook | [Delete Webhook](/rest-api/chat-apis) | #### Trigger management endpoints | Operation | API Reference | | --- | --- | -| Add triggers to a webhook | [Add Triggers](https://api-explorer.cometchat.com/reference/add-triggers) | -| List all triggers of a webhook | [List Triggers](https://api-explorer.cometchat.com/reference/list-triggers) | -| Remove triggers from a webhook | [Remove Triggers](https://api-explorer.cometchat.com/reference/remove-triggers) | +| Add triggers to a webhook | [Add Triggers](/rest-api/chat-apis) | +| List all triggers of a webhook | [List Triggers](/rest-api/chat-apis) | +| Remove triggers from a webhook | [Remove Triggers](/rest-api/chat-apis) | *** diff --git a/fundamentals/webhooks-management.mdx b/fundamentals/webhooks-management.mdx deleted file mode 100644 index aa9bcd1ef..000000000 --- a/fundamentals/webhooks-management.mdx +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: "Managing Webhook Triggers" -sidebarTitle: "Managing Triggers" ---- - -CometChat allows you to configure and manage webhook triggers either through the **CometChat Dashboard** or by using the **Management APIs**. This guide walks you through both methods. - -*** - -## Option 1: Managing Webhooks via Dashboard - -You can easily configure webhook triggers through the CometChat dashboard. - -### Steps to Configure: - -1. Log in to the [CometChat Dashboard](https://app.cometchat.com/login) and select your app. - -2. Navigate to **Settings** > **Webhooks** in the left-hand menu. - -3. Click **Add Webhook** to create a new webhook. - -4. Provide the following details: - - * **Webhook ID** – A unique identifier. - * **URL** – Your server endpoint where event payloads will be sent. - * **Triggers** – Enable events you wish to listen to. - * **Security** – Enable authentication for enhanced security. - -5. Enable the webhook. - -6. Click **Save** to apply your configuration. - - - - - -*** - -## Option 2: Managing Webhooks via Management APIs - -If you prefer automation or need to manage webhooks programmatically, you can use our REST APIs. - -### Webhook Operations - -| Operation | API Reference | -| -------------------------- | --------------------------------------------------------------------------------- | -| Create a new webhook | [Create Webhook](/rest-api/management-apis/webhooks/create-webhook) | -| Update an existing webhook | [Update Webhook](/rest-api/management-apis/webhooks/update-webhook) | -| List all webhooks | [List Webhooks](/rest-api/management-apis/webhooks/list-webhooks) | -| Get webhook by ID | [Get Webhook](/rest-api/management-apis/webhooks/get-webhook) | -| Delete a webhook | [Delete Webhook](/rest-api/management-apis/webhooks/delete-webhook) | - -### Trigger Operations - -| Operation | API Reference | -| ------------------------------ | ----------------------------------------------------------------------------------- | -| Add triggers to a webhook | [Add Triggers](/rest-api/management-apis/webhooks/add-triggers) | -| List triggers for a webhook | [List Triggers](/rest-api/management-apis/webhooks/list-triggers) | -| Remove triggers from a webhook | [Remove Triggers](/rest-api/management-apis/webhooks/remove-triggers) | - -*** - -Choose the method that best fits your use case—Dashboard for quick setup, or APIs for advanced and automated configurations. diff --git a/fundamentals/webhooks-overview.mdx b/fundamentals/webhooks-overview.mdx deleted file mode 100644 index 5950d4e2e..000000000 --- a/fundamentals/webhooks-overview.mdx +++ /dev/null @@ -1,188 +0,0 @@ ---- -title: "Webhooks Overview" -sidebarTitle: "Overview" ---- - -CometChat Webhooks enable real-time, event-driven communication with your server by sending HTTP POST requests for specific events such as messages, user actions, group updates, calls, and moderation results. - -You can use webhooks to build custom workflows such as sending SMS or email notifications, logging activity, syncing with external systems, or triggering automation. - -*** - -## Setting Up Your Webhook Endpoint - -To successfully receive and process events from CometChat, your webhook endpoint must meet the following criteria: - -1. **Use HTTPS** – All webhook URLs must be secured with SSL. -2. **Be publicly accessible** – Your server should be reachable from the internet. -3. **Support POST method** – Events will be delivered as `HTTP POST` requests with `application/json` content. -4. **Return a 200 OK** – Your endpoint must acknowledge receipt by responding with `HTTP 200`. - -*** - -## Securing Your Webhook - -### Basic Authentication (Recommended) - -To ensure only authorized systems can access your endpoint, use Basic Authentication: - -```html -Authorization: Basic -``` - -You can configure this with a username and password known only to your system. - -### Token-based files access - -Token-based file access provides improved control over media files through pre-signed URLs. When this feature is enabled, media URLs in webhook payloads may return a 401 Unauthorized response. - -You can enable this feature in the **Settings** section under **Chats** in the CometChat dashboard. Once enabled, it cannot be disabled. - - - - - -To access media files, use the media URL from the webhook payload to obtain a URL secured with a file access token (FAT). This URL redirects to a pre-signed URL that remains valid for 5 minutes. - -**Sample request:** - -```html -curl --location 'https://files-.cometchat.io//media/audio3.mp3' \ - --header 'appId: ' \ - --header 'apiKey: ' -``` - -**Sample response:** - -```json -{ - "data": { - "url": "https://files-.cometchat.io//media/audio3.mp3?fat=" - } -} -``` - -*** - -## Webhook Best Practices - -To maximize reliability and avoid common issues, follow these recommendations: - -### 1. Handle Retries Gracefully - -* Use the `retryOnFailure` flag when setting up webhooks. - -* If enabled, CometChat retries failed deliveries: - - * First retry: after 10 seconds. - * Second retry: after 30 seconds. - -* Use unique event IDs from payloads to **deduplicate** retries. - -### 2. Respond Quickly - -* Respond within **2 seconds** to prevent timeouts. -* For long processing tasks, enqueue events to systems like **Kafka, RabbitMQ, or AWS SQS**, and process them asynchronously. - -### 3. Log and Monitor - -* Maintain detailed logs of all incoming webhook requests and your server responses. -* Track failures, latency, and retry attempts. - -### 4. Implement Robust Error Handling - -* Return appropriate HTTP status codes: - - * `200 OK` for success. - * `4xx` for client-side errors (e.g., bad request). - * `5xx` for server-side issues. - -### 5. Thoroughly Test Before Production - -* Simulate various conditions: successful delivery, retries, and failures. -* Ensure your implementation handles all cases gracefully. - -*** - -## Webhook Event Triggers - -CometChat supports webhook triggers for different categories of events. Click each event name to see its payload and details. - -*** - -### Message Events - -| Event | Description | -| ----------------------------------------------------------------------------------------- | ---------------------------------------------------- | -| [message\_sent](/fundamentals/webhooks-events#message_sent) | Triggered after a message is sent. | -| [message\_edited](/fundamentals/webhooks-events#message_edited) | Triggered after a message is edited. | -| [message\_deleted](/fundamentals/webhooks-events#message_deleted) | Triggered after a message is deleted. | -| [message\_delivery\_receipt](/fundamentals/webhooks-events#message_delivery_receipt) | Triggered when a message is delivered to the client. | -| [message\_read\_receipt](/fundamentals/webhooks-events#message_read_receipt) | Triggered when a message is marked as read. | -| [message\_reaction\_added](/fundamentals/webhooks-events#message_reaction_added) | Triggered when a user reacts to a message. | -| [message\_reaction\_removed](/fundamentals/webhooks-events#message_reaction_removed) | Triggered when a reaction is removed. | -| [user\_mentioned](/fundamentals/webhooks-events#user_mentioned) | Triggered when a user is mentioned in a message. | - -*** - -### User Events - -| Event | Description | -| ------------------------------------------------------------------------------------------------------ | -------------------------------------------- | -| [user\_blocked](/fundamentals/webhooks-events#user_blocked) | Triggered when a user blocks another user. | -| [user\_unblocked](/fundamentals/webhooks-events#user_unblocked) | Triggered when a user unblocks another user. | -| [user\_connection\_status\_changed](/fundamentals/webhooks-events#user_connection_status_changed) | Triggered when a user connects/disconnects. | - -*** - -### Group Events - -| Event | Description | -| ---------------------------------------------------------------------------------------------- | ---------------------------------------------- | -| [group\_created](/fundamentals/webhooks-events#group_created) | Triggered after a group is created. | -| [group\_updated](/fundamentals/webhooks-events#group_updated) | Triggered after a group is updated. | -| [group\_deleted](/fundamentals/webhooks-events#group_deleted) | Triggered after a group is deleted. | -| [group\_member\_added](/fundamentals/webhooks-events#group_member_added) | Triggered when a member is added. | -| [group\_member\_removed](/fundamentals/webhooks-events#group_member_removed) | Triggered when a member is removed. | -| [group\_member\_banned](/fundamentals/webhooks-events#group_member_banned) | Triggered when a member is banned. | -| [group\_member\_unbanned](/fundamentals/webhooks-events#group_member_unbanned) | Triggered when a member is unbanned. | -| [group\_member\_joined](/fundamentals/webhooks-events#group_member_joined) | Triggered when a user joins a group. | -| [group\_member\_left](/fundamentals/webhooks-events#group_member_left) | Triggered when a user leaves a group. | -| [group\_member\_kicked](/fundamentals/webhooks-events#group_member_kicked) | Triggered when a member is kicked. | -| [group\_member\_scope\_changed](/fundamentals/webhooks-events#group_member_scope_changed) | Triggered when a member's scope changes. | -| [group\_owner\_transferred](/fundamentals/webhooks-events#group_owner_transferred) | Triggered when group ownership is transferred. | - -*** - -### Call and Meeting Events - -| Event | Description | -| --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | -| [call\_initiated](/fundamentals/webhooks-events#call_initiated) | Triggered when a call is initiated. | -| [call\_started](/fundamentals/webhooks-events#call_started) | Triggered when a call starts. | -| [call\_ended](/fundamentals/webhooks-events#call_ended) | Triggered when a call ends. | -| [call\_participant\_joined](/fundamentals/webhooks-events#call_participant_joined) | Triggered when a participant joins a call. | -| [call\_participant\_left](/fundamentals/webhooks-events#call_participant_left) | Triggered when a participant leaves a call. | -| [call\_busy](/fundamentals/webhooks-events#call_busy) | This hook is triggered when a 1-on-1 call cannot be connected because the recipient is already on another call (i.e., their line is busy). | -| [call\_cancelled](/fundamentals/webhooks-events#call_cancelled) | The hook triggers when the call is cancelled. | -| [call\_rejected](/fundamentals/webhooks-events#call_rejected) | This hook is triggered when a 1-on-1 call is explicitly rejected by the recipient. | -| [call\_unanswered](/fundamentals/webhooks-events#call_unanswered) | This hook is triggered when a call goes unanswered. | -| [meeting\_started](/fundamentals/webhooks-events#meeting_started) | Triggered when a meeting starts. | -| [meeting\_ended](/fundamentals/webhooks-events#meeting_ended) | Triggered when a meeting ends. | -| [meeting\_participant\_joined](/fundamentals/webhooks-events#meeting_participant_joined) | Triggered when a participant joins a meeting. | -| [meeting\_participant\_left](/fundamentals/webhooks-events#meeting_participant_left) | Triggered when a participant leaves a meeting. | -| [recording\_generated](/fundamentals/webhooks-events#recording_generated) | Triggered when a recording is generated. | - -*** - -### Moderation Events - -| Event | Description | -| --------------------------------------------------------------------------------------------- | ------------------------------------------------------ | -| [moderation\_engine\_approved](/fundamentals/webhooks-events#moderation_engine_approved) | Triggered when a message is auto-approved. | -| [moderation\_engine\_blocked](/fundamentals/webhooks-events#moderation_engine_blocked) | Triggered when a message is auto-blocked. | -| [moderation\_manual\_approved](/fundamentals/webhooks-events#moderation_manual_approved) | Triggered when a blocked message is manually approved. | - -*** - -By following this guide, you can seamlessly integrate CometChat webhooks into your system and build event-driven experiences at scale. diff --git a/fundamentals/webhooks.mdx b/fundamentals/webhooks.mdx new file mode 100644 index 000000000..fee7fc4a7 --- /dev/null +++ b/fundamentals/webhooks.mdx @@ -0,0 +1,66 @@ +--- +title: "Webhooks" +sidebarTitle: "Webhooks" +description: "Webhooks — CometChat documentation." +--- + +CometChat Webhooks enable real-time, event-driven communication with your server by sending HTTP POST requests whenever specific events occur in your chat application. + +## What Are Webhooks? + +Webhooks are automated notifications that CometChat sends to your server when events happen—such as messages being sent, users coming online, or group membership changes. Instead of polling for updates, your server receives instant notifications, enabling real-time integrations. + +## Common Use Cases + +Webhooks enable you to build powerful integrations and automations: + +- **Notifications**: Send SMS, email, or push notifications when users receive messages +- **Analytics**: Track messaging activity and user engagement in your analytics platform +- **Moderation**: Trigger content review workflows when messages are flagged +- **Sync**: Keep external systems (CRM, support tools, databases) in sync with chat activity +- **Automation**: Trigger business workflows based on chat events + +## Supported Events + +CometChat webhooks cover a comprehensive range of events across different categories: + +### Message Events +Notifications for message lifecycle events including sent, edited, deleted, delivered, read, and reactions. + +### User Events +Notifications for user actions such as blocking/unblocking users and connection status changes (online/offline). + +### Group Events +Notifications for group lifecycle and membership events including creation, updates, member joins/leaves, bans, and scope changes. + +### Call and Meeting Events +Notifications for voice/video call events including initiation, start, end, participant joins/leaves, and recording generation. + +### Moderation Events +Notifications for content moderation outcomes including auto-approved, auto-blocked, and manually approved messages. + +## Webhook Requirements + +Your webhook endpoint must: + +- Use **HTTPS** for secure communication +- Be **publicly accessible** from the internet +- Accept **HTTP POST** requests with JSON content +- Respond with **HTTP 200 OK** to acknowledge receipt + +## Security + +CometChat supports **Basic Authentication** to secure your webhook endpoints. When configured, every webhook request includes an Authorization header with your credentials, ensuring only authorized requests are processed. + +## Best Practices + +- **Handle retries gracefully**: Use event IDs to deduplicate retried deliveries +- **Respond quickly**: Return 200 OK within 2 seconds; queue longer processing tasks +- **Log everything**: Maintain detailed logs for debugging and monitoring +- **Test thoroughly**: Simulate various conditions before going to production + +## Getting Started + +You can configure webhooks through the CometChat Dashboard or programmatically via the Management APIs. + +For detailed setup instructions and API documentation, refer to the [Webhooks REST APIs](/rest-api/management-apis/webhooks/overview). diff --git a/images/72e46214-2b1ac60-sample_curl.png b/images/72e46214-2b1ac60-sample_curl.png index 192c52dbd..f11ca231d 100644 Binary files a/images/72e46214-2b1ac60-sample_curl.png and b/images/72e46214-2b1ac60-sample_curl.png differ diff --git a/index.mdx b/index.mdx index e8aa02068..b161b7282 100644 --- a/index.mdx +++ b/index.mdx @@ -5,20 +5,19 @@ description: "Technical documentation & Implementation guides to add In-app Mess canonical: "https://cometchat.com/docs" --- - {/* Hero Section */}
-{/** Products Section */} +{/* * Products Section */}
-

+

Products -

+ -

+

Explore our core offerings to power your in-app communication needs.

@@ -27,27 +26,29 @@ canonical: "https://cometchat.com/docs" } - iconType="solid" - href="/chat-call" - > + iconType="solid" + href="/chat-call" +> Lightning-fast conversations & calling with enterprise scalability - + } - iconType="solid" - href="/calls" - > + icon={ + Voice & Video Calling + } + iconType="solid" + href="/calls" +> Add real-time voice and video calling to your apps with ease. } - iconType="solid" - href="/ai-agents" - > + iconType="solid" + href="/ai-agents" +> Automate conversations using AI-powered chatbot technology. @@ -55,46 +56,48 @@ canonical: "https://cometchat.com/docs"
- -{/** Features Section */} +{/* * Features Section */}
-

+

Features -

+ -

+

Enhance your app with these powerful communication features.

- } - iconType="solid" - href="/moderation/overview" - > + icon={ + AI Moderation + } + iconType="solid" + href="/moderation/overview" +> Ensure safety with advanced content filtering tools. } - iconType="solid" - href="/notifications" - > + icon={ + Notifications + } + iconType="solid" + href="/notifications" +> Boost engagement by sending instant user notifications. } - iconType="solid" - href="/insights" - > + iconType="solid" + href="/insights" +> Generate AI-powered insights for meaningful conversations. @@ -102,39 +105,32 @@ canonical: "https://cometchat.com/docs"
- -{/** More Section */} +{/* * More Section */}
-

- More -

+

More

-

+

Additional solutions to customize your CometChat experience.

- } - iconType="solid" - href="/on-premise-deployment/docker/overview" - > + title="On-Premise Deployment" + icon={ + On-Premise Deployment + } + iconType="solid" + href="/on-premise-deployment/docker/overview" +> Deploy CometChat on your own infrastructure for maximum control and security. - + Add CometChat Docs MCP to your AI tools for instant documentation access. - + @@ -144,12 +140,13 @@ canonical: "https://cometchat.com/docs"
-

+

Resources -

+ -

- Quick links to deeper integration guides, API references, and community support. +

+ Quick links to deeper integration guides, API references, and community + support.

@@ -184,35 +181,60 @@ canonical: "https://cometchat.com/docs" cta="Learn more" > Stay informed of any service interruptions. - +
-
+
-
- 2026 © CometChat -
+
2026 © CometChat
- - - + + + LinkedIn - - - + + + Twitter - - - + + + GitHub diff --git a/management-apis.json b/management-apis.json index dc505bc9f..b568edcdd 100644 --- a/management-apis.json +++ b/management-apis.json @@ -1,17543 +1,17614 @@ { - "openapi": "3.0.0", - "info": { - "title": "Management APIs (Multi-Tenancy)", - "description": "Create and manage apps on-the-fly using our app management APIs", - "version": "1.0" - }, - "servers": [ - { - "url": "https://apimgmt.cometchat.io" - } - ], - "paths": { - "/apps": { - "post": { - "tags": [ - "App" + "openapi": "3.0.0", + "info": { + "title": "Management APIs (Multi-Tenancy)", + "description": "Create and manage apps on-the-fly using our app management APIs", + "version": "1.0" + }, + "servers": [ + { + "url": "https://apimgmt.cometchat.io" + } + ], + "paths": { + "/apps": { + "post": { + "tags": [ + "App" + ], + "summary": "Create", + "operationId": "create-app", + "description": "Creates an app in the account. It returns all the app related information.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": [ + "name", + "region" ], - "summary": "Create", - "description": "Creates an app in the account. It returns all the app related information.", - "parameters": [ - { - "$ref": "#/components/parameters/key" + "properties": { + "name": { + "description": "name of the app.", + "type": "string" + }, + "region": { + "description": "Region of the app", + "type": "string", + "default": "us", + "enum": [ + "us", + "eu", + "in" + ] + }, + "version": { + "description": "version of an app", + "type": "string", + "default": "3" + }, + "skipSampleData": { + "description": "skips sample data if it is set true", + "type": "boolean" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Created App", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/appSchema" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "id": "", + "name": "", + "plan": "trial", + "trialEndsAt": 1588887393, + "state": "active", + "owner": 1656, + "region": "us", + "createdAt": 1586295393, + "appOwner": { + "id": "1656", + "name": "", + "email": "youremail@domain.com" }, - { - "$ref": "#/components/parameters/secret" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "name", - "region" - ], - "properties": { - "name": { - "description": "name of the app.", - "type": "string" - }, - "region": { - "description": "Region of the app", - "type": "string", - "default": "us", - "enum": [ - "us", - "eu", - "in" - ] - }, - "version": { - "description": "version of an app", - "type": "string", - "default": "3" - }, - "skipSampleData": { - "description": "skips sample data if it is set true", - "type": "boolean" - } - }, - "type": "object" - } + "appRegion": { + "id": "us", + "name": "USA", + "description": "The USA region has serverslocated at Ohio." + }, + "apiKeys": { + "": { + "apiKey": "", + "name": "Rest API Key", + "scope": "fullAccess", + "createdBy": "app_system" + }, + "": { + "apiKey": "", + "name": "Auth Key", + "scope": "authOnly", + "createdBy": "app_system" + } + } + } + } + } + } + } + } + }, + "get": { + "tags": [ + "App" + ], + "summary": "List", + "operationId": "list-apps", + "description": "Lists all the apps for an account.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "name": "searchKey", + "in": "query", + "description": "The \"searchKey\" query parameter allows filtering results based on either the ID or name properties of the apps.", + "schema": { + "type": "string" + } + }, + { + "name": "perPage", + "in": "query", + "description": "The \"perPage\" property specifies the total number of records to be fetched in a single request. It determines the maximum number of items returned per page.", + "schema": { + "type": "integer" + } + }, + { + "name": "page", + "in": "query", + "description": "The \"page\" property is utilized for navigating through the available pages of results. It indicates the specific page of results that is being retrieved or accessed.", + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "List Apps", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "properties": { + "": { + "$ref": "#/components/schemas/appSchema" + } + }, + "type": "object" + } + }, + "meta": { + "properties": { + "": { + "$ref": "#/components/schemas/metaSchema" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "id": "", + "name": "", + "plan": "trial", + "trialEndsAt": 1588887393, + "state": "active", + "owner": 1656, + "region": "us", + "createdAt": 1586295393, + "appOwner": { + "id": "1656", + "name": "", + "email": "youremail@domain.com" + }, + "appRegion": { + "id": "us", + "name": "USA", + "description": "The USA region has serverslocated at Ohio." + }, + "accessKey": "", + "apiKeys": { + "": { + "apiKey": "", + "name": "Rest API Key", + "scope": "fullAccess", + "createdBy": "app_system" + }, + "": { + "apiKey": "", + "name": "Auth Key", + "scope": "authOnly", + "createdBy": "app_system" + } + } + } + } + } + } + } + } + } + }, + "/apps/{appId}": { + "delete": { + "tags": [ + "App" + ], + "summary": "Delete", + "operationId": "delete-app", + "description": "Schedule a specific app for deletion.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "List Apps", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/deleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Created App", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/appSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "", - "name": "", - "plan": "trial", - "trialEndsAt": 1588887393, - "state": "active", - "owner": 1656, - "region": "us", - "createdAt": 1586295393, - "appOwner": { - "id": "1656", - "name": "", - "email": "youremail@domain.com" - }, - "appRegion": { - "id": "us", - "name": "USA", - "description": "The USA region has serverslocated at Ohio." - }, - "apiKeys": { - "": { - "apiKey": "", - "name": "Rest API Key", - "scope": "fullAccess", - "createdBy": "app_system" - }, - "": { - "apiKey": "", - "name": "Auth Key", - "scope": "authOnly", - "createdBy": "app_system" - } - } - } - } - } + "example": { + "data": { + "success": true, + "scheduledToDeleteAt": 1631203178 + } + } + } + } + } + } + } + }, + "/apps/{appId}/usage": { + "post": { + "tags": [ + "App" + ], + "summary": "Fetch usage", + "description": "Retrieves usage data for multi-tenant apps.", + "operationId": "fetch-multi-tenant-usage", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "name": "appId", + "in": "path", + "description": "The parent appId to which the subscription is linked.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "usePreviousBillingCycle": { + "description": "Indicates whether the usage from the previous billing cycle should be retrieved.\n\nIf set to false, the usage for the current cycle will be fetched.\n\nIf set to true, the usage from the previous cycle will be fetched.", + "type": "boolean" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Updated App", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/appSchema" } + }, + "type": "object" } + }, + "type": "object" + }, + "example": { + "data": { + "success": true, + "message": "Your usage request has been accepted and is being processed for . You will receive an email with the details at @example.com" + } } - }, - "get": { - "tags": [ - "App" - ], - "summary": "List", - "description": "Lists all the apps for an account.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "name": "searchKey", - "in": "query", - "description": "The \"searchKey\" query parameter allows filtering results based on either the ID or name properties of the apps.", - "schema": { - "type": "string" + } + } + } + } + } + }, + "/apps/{appId}/extensions": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Enable/Disable", + "operationId": "enable-extension", + "description": "Enables or disables the extension for an app.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "enabled": { + "description": "Array of extension IDs that has to be enabled.", + "type": "array", + "items": { + "type": "string" + } + }, + "disabled": { + "description": "Array of extension IDs that has to be disabled.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Enabled/Disabled Extension", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/extensionSchema" } + }, + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "enabled": { + "extention_id1": { + "success": true, + "message": "The extension extension_id1 has been enabled successfully." + }, + "extention_id2": { + "success": true, + "message": "The extension extension_id2 has been enabled successfully." + } }, - { - "name": "perPage", - "in": "query", - "description": "The \"perPage\" property specifies the total number of records to be fetched in a single request. It determines the maximum number of items returned per page.", - "schema": { - "type": "integer" + "disabled": { + "extention_id3": { + "success": true, + "message": "The extension extension_id1 has been enabled successfully." + } + } + } + } + } + } + } + } + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "List Extensions", + "operationId": "list-extensions", + "description": "List the Extensions.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + }, + { + "$ref": "#/components/parameters/perPage--extensions" + } + ], + "responses": { + "200": { + "description": "Enabled/Disabled Extension", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/extensionListSchema" } + }, + "type": "object" }, - { - "name": "page", - "in": "query", - "description": "The \"page\" property is utilized for navigating through the available pages of results. It indicates the specific page of results that is being retrieved or accessed.", - "schema": { - "type": "integer" + "meta": { + "properties": { + "": { + "$ref": "#/components/schemas/metaSchema" } + }, + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": [ + { + "id": "widget", + "name": "Chat Widget", + "tagLine": "Drag-n-drop chat plugin for your website", + "description": "Drag-n-drop chat plugin for your website", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://widget-eu.cometchats.io", + "accessToAppData": false, + "adminURL": "https://widget-eu.cometchat.io/v1/show-setting?appToken=BArL8wLC1jkTws5bgH1DDvAMDevHdiAmMI5NGyQXs-I=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1591812821, + "hooks": { + "data": [] + }, + "categories": { + "data": [] + } + }, + { + "id": "document", + "name": "Collaborative document", + "tagLine": "Allows you create and share documents for collaboration", + "description": "Allows you create and share documents for collaboration", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://document-eu.cometchat.io/v1/create", + "accessToAppData": false, + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1592815197, + "hooks": { + "data": [] + }, + "categories": { + "data": [] + } + }, + { + "id": "whiteboard", + "name": "Collaborative whiteboard", + "tagLine": "Allows you create and share whiteboards for collaboration", + "description": "Allows you create and share whiteboards for collaboration", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://whiteboard-eu.cometchat.io/v1/create", + "accessToAppData": false, + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1595838286, + "hooks": { + "data": [] + }, + "categories": { + "data": [] + } + }, + { + "id": "data-masking", + "name": "Data Masking", + "tagLine": "Hide phone numbers, email addresses and other sensitive information in messages.", + "description": "Hide phone numbers, email addresses and other sensitive information in messages.", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://data-masking-eu.cometchat.io/v1/filter", + "accessToAppData": false, + "adminURL": "https://data-masking-eu.cometchat.io/v1/show-setting?appToken=DSjVCnryJFoSIgvIaCJUWF5sS1mMLy7V-pD6HoNlA3A=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1592815197, + "hooks": { + "data": [ + { + "hook": "before_message", + "description": "The hook will be triggered before adding message to database.", + "isActive": true, + "enabled": 1, + "createdAt": 1552383451 + } + ] + }, + "categories": { + "data": [] + } + }, + { + "id": "email-notification", + "name": "Email Notification", + "tagLine": "Notify users via email for unread messages.", + "description": "Notify users via email for unread messages.", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://email-notification-eu.cometchat.io/v1/send-email", + "accessToAppData": false, + "adminURL": "https://email-notification-eu.cometchat.io/v1/show-setting?appToken=c2JH61Mw2dnThPa_tHfP284hF6-8kbAvVfIlNSSzgKk=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": true, + "createdAt": 1568373595, + "hooks": { + "data": [ + { + "hook": "after_message", + "description": "The hook triggers after sending a message.", + "isActive": true, + "enabled": 1, + "createdAt": 1555001765 + } + ] + }, + "categories": { + "data": [] + } + }, + { + "id": "email-replies", + "name": "Email Replies", + "tagLine": "Reply to texts directly via emails", + "description": "Replying in a conversation from Email notifications just got simpler. With Email Replies, users can respond in a conversation by replying to the email.", + "author": "CometChat", + "email": "help@cometchat.com", + "accessToAppData": false, + "adminURL": "https://email-replies-eu.cometchat.io/v1/show-setting?appToken=slIAhyFb4PCG5R4dJBM4lTlYTdYznNORCBPL-Rxw_Qs=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1592815197, + "hooks": { + "data": [] + }, + "categories": { + "data": [] + } + }, + { + "id": "emojis", + "name": "Emojis", + "tagLine": "Emojis for web", + "description": "Emojis for web", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://emojis-eu.cometchat.io/v1/emojis", + "accessToAppData": false, + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1592829829, + "hooks": { + "data": [ + { + "hook": "before_message", + "description": "The hook will be triggered before adding message to database.", + "isActive": true, + "enabled": 1, + "createdAt": 1552383451 + } + ] + }, + "categories": { + "data": [] + } + }, + { + "id": "gifs-gfycat", + "name": "Gfycat", + "tagLine": "Get the best GIFS for all your conversations", + "description": "Get the best GIFS for all your conversations", + "author": "CometChat", + "email": "help@cometchat.com", + "accessToAppData": false, + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1622447638, + "hooks": { + "data": [] + }, + "categories": { + "data": [] + } + }, + { + "id": "gifs-giphy", + "name": "Giphy", + "tagLine": "Be Animated", + "description": "Be Animated", + "author": "CometChat", + "email": "help@cometchat.com", + "accessToAppData": false, + "adminURL": "https://gifs-giphy-eu.cometchat.io/v1/show-setting?appToken=Lv2_oE3L6JHOMbOiNNBjWsi0v6mV9r-aKVLofy_KZ7s=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1622447638, + "hooks": { + "data": [] + }, + "categories": { + "data": [] + } + }, + { + "id": "image-moderation", + "name": "Image Moderation", + "tagLine": "AI-powered image moderation to detect unsafe content.", + "description": "AI-powered image moderation to detect unsafe content.", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://image-moderation-eu.cometchat.io/v1/analyze", + "accessToAppData": false, + "adminURL": "https://image-moderation-eu.cometchat.io/v1/show-setting?appToken=cDnVkg8SFY7wjiaHjpGWyTqYaw9ekcrk-tAHhSyxkDc=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": true, + "createdAt": 1568373925, + "hooks": { + "data": [ + { + "hook": "before_message", + "description": "The hook will be triggered before adding message to database.", + "isActive": true, + "enabled": 1, + "createdAt": 1552383451 + } + ] + }, + "categories": { + "data": [] + } + }, + { + "id": "report-user", + "name": "Report User", + "tagLine": "Enable users to report other users", + "description": "Enable users to report other users", + "author": "CometChat", + "email": "help@cometchat.com", + "accessToAppData": false, + "adminURL": "https://report-user-eu.cometchat.io/v1/show-setting?appToken=cDnVkg8SFY7wjiaHjpGWyTqYaw9ekcrk-tAHhSyxkDc=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1655375268, + "hooks": { + "data": [] + }, + "categories": { + "data": [] + } + }, + { + "id": "report-message", + "name": "Report User", + "tagLine": "Enable users to report messages in chat", + "description": "Enable users to report messages in chat", + "author": "CometChat", + "email": "help@cometchat.com", + "accessToAppData": false, + "adminURL": "https://report-message-eu.cometchat.io/v1/show-setting?appToken=cDnVkg8SFY7wjiaHjpGWyTqYaw9ekcrk-tAHhSyxkDc=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1655447120, + "hooks": { + "data": [] + }, + "categories": { + "data": [] + } + }, + { + "id": "stickers-stipop", + "name": "Stipop", + "tagLine": "Used to create meaningful experiences in your app with stickers that users love.", + "description": "Used to create meaningful experiences in your app with stickers that users love.", + "author": "CometChat", + "email": "help@cometchat.com", + "accessToAppData": false, + "adminURL": "https://stickers-stipop-eu.cometchat.io/v1/show-setting?appToken=cDnVkg8SFY7wjiaHjpGWyTqYaw9ekcrk-tAHhSyxkDc=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": true, + "createdAt": 1655375268, + "hooks": { + "data": [] + }, + "categories": { + "data": [] + } + }, + { + "id": "url-shortener-tinyurl", + "name": "TinyURL", + "tagLine": "Helps you convert your long website links into short, manageable URLs that are reliable, secure and never expire.", + "description": "Helps you convert your long website links into short, manageable URLs that are reliable, secure and never expire.", + "author": "CometChat", + "email": "help@cometchat.com", + "accessToAppData": false, + "adminURL": "https://url-shortener-tinyurl-eu.cometchat.io/v1/show-setting?appToken=cDnVkg8SFY7wjiaHjpGWyTqYaw9ekcrk-tAHhSyxkDc=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": true, + "createdAt": 1655375268, + "hooks": { + "data": [] + }, + "categories": { + "data": [] + } + }, + { + "id": "url-shortener-bitly", + "name": "Bitly", + "tagLine": "Helps you create and share branded links with custom domains at scale", + "description": "Helps you create and share branded links with custom domains at scale", + "author": "CometChat", + "email": "help@cometchat.com", + "accessToAppData": false, + "adminURL": "https://url-shortener-bitly-eu.cometchat.io/v1/show-setting?appToken=cDnVkg8SFY7wjiaHjpGWyTqYaw9ekcrk-tAHhSyxkDc=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": true, + "createdAt": 1655375268, + "hooks": { + "data": [] + }, + "categories": { + "data": [] + } + }, + { + "id": "human-moderation", + "name": "In-flight Message Moderation", + "tagLine": "Manually moderate content to ensure a safe messaging environment.", + "description": "Manually moderate content to ensure a safe messaging environment.", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://human-moderation-eu.cometchat.io/v1/moderate-message", + "accessToAppData": false, + "adminURL": "https://human-moderation-eu.cometchat.io/v1/show-setting?appToken=-NxCcxlAt1qBHn8nibcc98qw5XqTmFB4QYCbJaGO3fo=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": true, + "createdAt": 1568373980, + "hooks": { + "data": [ + { + "hook": "before_message", + "description": "The hook will be triggered before adding message to database.", + "isActive": true, + "enabled": 1, + "createdAt": 1552383451 + } + ] + }, + "categories": { + "data": [] + } + }, + { + "id": "link-preview", + "name": "Link Preview", + "tagLine": "Generate meta description for URLs.", + "description": "Generate meta description for URLs.", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://link-preview-eu.cometchat.io/v1/generate-preview", + "accessToAppData": false, + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": true, + "createdAt": 1568374120, + "hooks": { + "data": [ + { + "hook": "before_message", + "description": "The hook will be triggered before adding message to database.", + "isActive": true, + "enabled": 1, + "createdAt": 1552383451 + } + ] + }, + "categories": { + "data": [] + } + }, + { + "id": "mentions", + "name": "Mentions", + "tagLine": "Mention users in conversations", + "description": "Mention users in conversations", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://mentions-eu.cometchat.io/v1/save", + "accessToAppData": false, + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1622447638, + "hooks": { + "data": [ + { + "hook": "after_message", + "description": "The hook triggers after sending a message.", + "isActive": true, + "enabled": 1, + "createdAt": 1555001765 + } + ] + }, + "categories": { + "data": [] + } + }, + { + "id": "voice-transcription", + "name": "Voice transcription", + "tagLine": "Used to transcribe Audio Messages", + "description": "Used to transcribe Audio Messages", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://voice-transcription-eu.cometchat.io/v1/transcribe", + "accessToAppData": false, + "adminURL": "https://voice-transcription-eu.cometchat.io/v1/show-setting?appToken=NTxjUhEcKA1uIQ-lCyaYy0hrM2C77fs8y6wRtEZ04wg=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": true, + "createdAt": 1622447638, + "hooks": { + "data": [ + { + "hook": "after_message", + "description": "The hook triggers after sending a message.", + "isActive": true, + "enabled": 1, + "createdAt": 1555001765 + } + ] + }, + "categories": { + "data": [] + } + }, + { + "id": "message-translation", + "name": "Message Translation", + "tagLine": "Translate text messages in different languages on-the-fly.", + "description": "Translate text messages in different languages on-the-fly.", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://message-translation-eu.cometchat.io/v1/translate", + "accessToAppData": false, + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": true, + "createdAt": 1568373749, + "hooks": { + "data": [ + { + "hook": "before_message", + "description": "The hook will be triggered before adding message to database.", + "isActive": true, + "enabled": 1, + "createdAt": 1552383451 + } + ] + }, + "categories": { + "data": [] + } + }, + { + "id": "pin-message", + "name": "Pin Message", + "tagLine": "Pin messages in group conversations", + "description": "Pin message for all the users in a conversation.", + "author": "CometChat", + "email": "help@cometchat.com", + "accessToAppData": false, + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1614671943, + "hooks": { + "data": [] + }, + "categories": { + "data": [] + } + }, + { + "id": "polls", + "name": "Polls", + "tagLine": "Polls to quickly ask for opinions in chats", + "description": "Polls to quickly ask for opinions in chats", + "author": "CometChat", + "email": "help@cometchat.com", + "accessToAppData": false, + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1594721219, + "hooks": { + "data": [] + }, + "categories": { + "data": [] + } + }, + { + "id": "profanity-filter", + "name": "Profanity Filter", + "tagLine": "Detect and censor profanity in messages.", + "description": "Detect and censor profanity in messages.", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://profanity-filter-eu.cometchat.io/v1/filter", + "accessToAppData": false, + "adminURL": "https://profanity-filter-eu.cometchat.io/v1/show-setting?appToken=NTxjUhEcKA1uIQ-lCyaYy0hrM2C77fs8y6wRtEZ04wg=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1568373871, + "hooks": { + "data": [ + { + "hook": "before_message", + "description": "The hook will be triggered before adding message to database.", + "isActive": true, + "enabled": 1, + "createdAt": 1552383451 + } + ] + }, + "categories": { + "data": [] + } + }, + { + "id": "push-notification", + "name": "Push Notification", + "tagLine": "Notify users via push notifications.", + "description": "Notify users via push notifications.", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://push-notification-eu.cometchat.io/v1/send-push", + "accessToAppData": false, + "adminURL": "https://push-notification-eu.cometchat.io/v1/show-sett*ing?appToken=TW6rWujmViKwmmPfp68L4kK_YGWCaYw_wLYjtr0R1-A=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1568373479, + "hooks": { + "data": [ + { + "hook": "after_auth_token_created", + "description": "The hook triggers after the auth token is created.", + "isActive": true, + "enabled": 1, + "createdAt": 1589548874 + }, + { + "hook": "after_auth_token_deleted", + "description": "The hook triggers after the auth token is deleted.", + "isActive": true, + "enabled": 1, + "createdAt": 1589548874 + }, + { + "hook": "after_auth_token_updated", + "description": "The hook triggers after the auth token is updated.", + "isActive": true, + "enabled": 1, + "createdAt": 1589548874 + }, + { + "hook": "after_group_created", + "description": "The hook triggers after group is created.", + "isActive": true, + "enabled": 1, + "createdAt": 1589548874 + }, + { + "hook": "after_group_deleted", + "description": "The hook triggers after group is deleted.", + "isActive": true, + "enabled": 1, + "createdAt": 1589548874 + }, + { + "hook": "after_group_joined", + "description": "The hook triggers after user joins a group.", + "isActive": true, + "enabled": 1, + "createdAt": 1589548874 + }, + { + "hook": "after_group_left", + "description": "The hook triggers after user leaves a group.", + "isActive": true, + "enabled": 1, + "createdAt": 1589548874 + }, + { + "hook": "after_group_members_added", + "description": "The hook triggers after members are added to group.", + "isActive": true, + "enabled": 1, + "createdAt": 1589548874 + }, + { + "hook": "after_group_members_banned", + "description": "The hook triggers after members are banned from group.", + "isActive": true, + "enabled": 1, + "createdAt": 1589548874 + }, + { + "hook": "after_group_members_kicked", + "description": "The hook triggers after member is kicked from group.", + "isActive": true, + "enabled": 1, + "createdAt": 1589548874 + }, + { + "hook": "after_group_members_unbanned", + "description": "The hook triggers after members are unbanned from group.", + "isActive": true, + "enabled": 1, + "createdAt": 1589548874 + }, + { + "hook": "after_logged_out", + "description": "The hook triggers after user logs out.", + "isActive": true, + "enabled": 1, + "createdAt": 1589548874 + }, + { + "hook": "after_message", + "description": "The hook triggers after sending a message.", + "isActive": true, + "enabled": 1, + "createdAt": 1555001765 + }, + { + "hook": "after_scope_changed", + "description": "The hook will be triggered after changing the scope.", + "isActive": true, + "enabled": 1, + "createdAt": 1552383451 + }, + { + "hook": "after_user_deleted", + "description": "The hook triggers after user is deleted.", + "isActive": true, + "enabled": 1, + "createdAt": 1589548874 + } + ] + }, + "categories": { + "data": [] + } + }, + { + "id": "reactions", + "name": "Reactions", + "tagLine": "React to an individual message with a specific emotion quickly.", + "description": "React to an individual message with a specific emotion quickly.", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://reactions-eu.cometchat.io/v1/react", + "accessToAppData": false, + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1592815197, + "hooks": { + "data": [] + }, + "categories": { + "data": [] + } + }, + { + "id": "rich-media", + "name": "Rich Media Preview", + "tagLine": "Generate rich media previews for all popular sites", + "description": "Generate rich media previews for all popular sites", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://rich-media-eu.cometchat.io/v1/preview", + "accessToAppData": false, + "adminURL": "https://rich-media-eu.cometchat.io/v1/show-setting?appToken=08RBa07frnTq8VnnGpR6XeHaKCHwplEXcsevSP5xz*Q4=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": true, + "createdAt": 1592815197, + "hooks": { + "data": [ + { + "hook": "after_message", + "description": "The hook triggers after sending a message.", + "isActive": true, + "enabled": 1, + "createdAt": 1555001765 + } + ] + }, + "categories": { + "data": [] + } + }, + { + "id": "save-message", + "name": "Save Message", + "tagLine": "Saved messages in one-on-one and group conversations", + "description": "Enable users to save messages from one-on-one and group conversations\\n", + "author": "CometChat", + "email": "help@cometchat.com", + "accessToAppData": false, + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1614671960, + "hooks": { + "data": [] + }, + "categories": { + "data": [] + } + }, + { + "id": "sentiment-analysis", + "name": "Sentiment Analysis", + "tagLine": "AI-powered sentiment analysis for messages.", + "description": "AI-powered sentiment analysis for messages.", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://sentiment-analysis-eu.cometchat.io/v1/analyze", + "accessToAppData": false, + "adminURL": "https://sentiment-analysis-eu.cometchat.io/v1/show-setting?appToken=TEj2rzc_KW_lvlzMnVBUgWnEjmOHhZ_mVs4yktn37s0=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": true, + "createdAt": 1568374255, + "hooks": { + "data": [ + { + "hook": "before_message", + "description": "The hook will be triggered before adding message to database.", + "isActive": true, + "enabled": 1, + "createdAt": 1552383451 + } + ] + }, + "categories": { + "data": [] + } + }, + { + "id": "smart-reply", + "name": "Smart Reply", + "tagLine": "Suggest ML-powered ready replies for messages.", + "description": "Suggest ML-powered ready replies for messages.", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://smart-reply-eu.cometchat.io/v1/fetch-reply", + "accessToAppData": false, + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": true, + "createdAt": 1568374179, + "hooks": { + "data": [ + { + "hook": "before_message", + "description": "The hook will be triggered before adding message to database.", + "isActive": true, + "enabled": 1, + "createdAt": 1552383451 + } + ] + }, + "categories": { + "data": [] + } + }, + { + "id": "sms-notification", + "name": "SMS Notification", + "tagLine": "Notify users via sms for unread messages.", + "description": "Notify users via sms for unread messages.", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://sms-notification-eu.cometchat.io/v1/send-sms", + "accessToAppData": false, + "adminURL": "https://sms-notification-eu.cometchat.io/v1/show-sett*ing?appToken=6E7gznI3V1RJHCxAb8J7aUZBlltU2c6W7iydzfrWIGM=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": true, + "createdAt": 1568373671, + "hooks": { + "data": [ + { + "hook": "after_message", + "description": "The hook triggers after sending a message.", + "isActive": true, + "enabled": 1, + "createdAt": 1555001765 + } + ] + }, + "categories": { + "data": [] + } + }, + { + "id": "gifs-tenor", + "name": "Tenor Gifs", + "tagLine": "Send Gifs", + "description": "Send Gifs", + "author": "CometChat", + "email": "help@cometchat.com", + "accessToAppData": false, + "adminURL": "https://gifs-tenor-eu.cometchat.io/v1/show-setting?appToken=08RBa07frnTq8VnnGpR6XeHaKCHwplEXcsevSP5xz*Q4=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": true, + "createdAt": 1592815197, + "hooks": { + "data": [] + }, + "categories": { + "data": [] + } + }, + { + "id": "e2ee", + "name": "End-to-end Encryption", + "tagLine": "End-to-end encryption is intended to prevent data being read or modified by anyone but the sender and recipient(s).", + "description": "End-to-end encryption is intended to prevent data being read or modified by anyone but the sender and recipient(s).", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://e2ee-eu.cometchat.io/v1/action", + "accessToAppData": false, + "adminURL": "https://e2ee-eu.cometchat.io/v1/show-setting?appToken=08RBa07frnTq8VnnGpR6XeHaKCHwplEXcsevSP5xz*Q4=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": true, + "createdAt": 1592815197, + "hooks": { + "data": [ + { + "hook": "before_message", + "description": "The hook will be triggered before adding message to database.", + "isActive": true, + "enabled": 1, + "createdAt": 1555001765 + } + ] + }, + "categories": { + "data": [] + } + }, + { + "id": "stickers", + "name": "Stickers", + "tagLine": "Send & manage stickers", + "description": "Send & manage stickers", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://stickers-eu.cometchat.io/v1/react", + "accessToAppData": false, + "adminURL": "https://stickers-eu.cometchat.io/v1/show-setting?appToken=geCcCA2y__JXNDpLJVdERM1ysruVsaoABrxO9Xzqu*bk=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1592815197, + "hooks": { + "data": [] + }, + "categories": { + "data": [] + } + }, + { + "id": "intercom", + "name": "Intercom", + "tagLine": "Connect and exchange messages between CometChat and Intercom", + "description": "Connect and exchange messages between CometChat and Intercom", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://intercom-eu.cometchat.io/v1/contact-support", + "accessToAppData": false, + "adminURL": "https://intercom-eu.cometchat.io/v1/show-setting?appToken=geCcCA2y__JXNDpLJVdERM1ysruVsaoABrxO9Xzqu*bk=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": true, + "createdAt": 1622447638, + "hooks": { + "data": [ + { + "hook": "after_message", + "description": "The hook triggers after sending a message.", + "isActive": true, + "enabled": 1, + "createdAt": 1555001765 + } + ] + }, + "categories": { + "data": [] + } + }, + { + "id": "broadcast", + "name": "Video Broadcasting", + "tagLine": "Real-time live video streaming & broadcasting to 1000s of viewers", + "description": "Real-time live video streaming & broadcasting to 1000s of viewers", + "author": "CometChat", + "email": "help@cometchat.com", + "accessToAppData": false, + "adminURL": "https://broadcasting-eu.cometchat.io/v1/show-setting?appToken=Lv2_oE3L6JHOMbOiNNBjWsi0v6mV9r-aKVLofy_KZ7s=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": true, + "createdAt": 1622447638, + "hooks": { + "data": [] + }, + "categories": { + "data": [] + } + }, + { + "id": "virus-malware-scanner", + "name": "Virus Malware Scanner", + "tagLine": "Scan user uploaded files & media for viruses and malware.", + "description": "Scan user uploaded files & media for viruses and malware.", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://virus-malware-scanner-eu.cometchat.io/v1/scan", + "accessToAppData": false, + "adminURL": "https://virus-malware-scanner-eu.cometchat.io/v1/show-setting?appToken=cDnVkg8SFY7wjiaHjpGWyTqYaw9ekcrk-tAHhSyxkDc=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": true, + "createdAt": 1568373925, + "hooks": { + "data": [ + { + "hook": "after_message", + "description": "The hook triggers after sending a message", + "isActive": true, + "enabled": 1, + "createdAt": 1552383451 + } + ] + }, + "categories": { + "data": [] + } + }, + { + "id": "stickers", + "name": "Stickers", + "tagLine": "Enables Stickers.", + "description": "The Stickers Extension is more like an image manager which allows you to quickly add/remove stickers directly from the dashboard.", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://stickers-eu.cometchat.io/v1/", + "accessToAppData": false, + "adminURL": "https://stickers-eu.cometchat.io/v1/show-setting?appToken=cDnVkg8SFY7wjiaHjpGWyTqYaw9ekcrk-tAHhSyxkDc=.eyJhcHB6dd", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1568373925, + "hooks": { + "data": [ + { + "hook": "after_message", + "description": "The hook triggers after sending a message", + "isActive": true, + "enabled": 1, + "createdAt": 1552383451 + } + ] + }, + "categories": { + "data": [] + } + }, + { + "id": "sms-notification", + "name": "SMS Notification", + "tagLine": "Notify users via sms for unread messages.", + "description": "Notify users via sms for unread messages.", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://sms-notification-eu.cometchat.io/v1/send-sms", + "accessToAppData": false, + "adminURL": "https://sms-notification-eu.cometchat.io/v1/show-setting?appToken=cDnVkg8SFY7wjiaHjpGWyWqAaw1ekcrk", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1568373925, + "hooks": { + "data": [ + { + "hook": "after_message", + "description": "The hook triggers after sending a message", + "isActive": true, + "enabled": 1, + "createdAt": 1552383451 + } + ] + }, + "categories": { + "data": [] + } + }, + { + "id": "email-replies", + "name": "Email Replies", + "tagLine": "Respond to conversations by replying to email notifications", + "description": "Respond to conversations by replying to email notifications", + "author": "CometChat", + "email": "help@cometchat.com", + "webhookURL": "https://email-replies-eu.cometchat.io/v1/", + "accessToAppData": false, + "adminURL": "https://email-replies-eu.cometchat.io/v1/show-setting?appToken=cDnVkg8SFY7wjiaHjpGWyTqYaw9ekcrk-tAHhSyxkDc=.eyJhcHBJZzQ0OGU3NzlmMGZhYyJ9", + "websiteURL": "https://www.cometchat.com", + "isActive": true, + "isPrivate": false, + "isInvisible": false, + "isThirdParty": false, + "createdAt": 1568373925, + "hooks": { + "data": [ + { + "hook": "after_message", + "description": "The hook triggers after sending a message", + "isActive": true, + "enabled": 1, + "createdAt": 1552383451 + } + ] + }, + "categories": { + "data": [] + } } - ], - "responses": { - "200": { - "description": "List Apps", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "properties": { - "": { - "$ref": "#/components/schemas/appSchema" - } - }, - "type": "object" - } - }, - "meta": { - "properties": { - "": { - "$ref": "#/components/schemas/metaSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "", - "name": "", - "plan": "trial", - "trialEndsAt": 1588887393, - "state": "active", - "owner": 1656, - "region": "us", - "createdAt": 1586295393, - "appOwner": { - "id": "1656", - "name": "", - "email": "youremail@domain.com" - }, - "appRegion": { - "id": "us", - "name": "USA", - "description": "The USA region has serverslocated at Ohio." - }, - "accessKey": "", - "apiKeys": { - "": { - "apiKey": "", - "name": "Rest API Key", - "scope": "fullAccess", - "createdBy": "app_system" - }, - "": { - "apiKey": "", - "name": "Auth Key", - "scope": "authOnly", - "createdBy": "app_system" - } - } - } + ], + "meta": { + "pagination": { + "total": 32, + "count": 25, + "per_page": 25, + "current_page": 1, + "total_pages": 2, + "links": { + "next": "http://apimgmt-local.cometchat-dev.com//apps/197448e779f0fac/extensions?page=2" + } + } + } + } + } + } + } + } + } + }, + "/apps/{appId}/extensions/widget/v2/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Chat Widgets Create", + "description": "Chat Widgets Create a new Chat Widget.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chatWidgetRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Create Chat Widget", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "integer" + }, + "body": { + "properties": { + "data": { + "properties": { + "widgetId": { + "type": "string" } + }, + "type": "object" } + }, + "type": "object" } + }, + "type": "object" } + }, + "type": "object" + }, + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 1.8547508716583252, + "body": { + "data": { + "widgetId": "f7ee7c30-416b-4398-9edd-2595cefd676f" + } + } + } } + } } + } }, - "/apps/{appId}": { - "delete": { - "tags": [ - "App" - ], - "summary": "Delete", - "description": "Schedule a specific app for deletion.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "List Apps", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/deleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "scheduledToDeleteAt": 1631203178 - } + "operationId": "store-chat-widget" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Chat Widgets Update", + "description": "Chat Widgets Update an existing Chat Widget.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chatWidgetPutSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Create Chat Widget", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "integer" + }, + "body": { + "properties": { + "data": { + "properties": { + "success": { + "type": "boolean" } + }, + "type": "object" } + }, + "type": "object" } + }, + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 1.8547508716583252, + "body": { + "data": { + "success": true + } } + } } + } } + } }, - "/apps/{appId}/usage": { - "post": { - "tags": [ - "App" - ], - "summary": "Fetch usage", - "description": "Retrieves usage data for multi-tenant apps.", - "operationId": "fetch-multi-tenant-usage", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "name": "appId", - "in": "path", - "description": "The parent appId to which the subscription is linked.", - "required": true, - "schema": { - "type": "string" + "operationId": "update-chat-widget" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Chat Widgets List", + "description": "Chat Widgets List all the Chat Widgets for an app.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Create Chat Widget", + "content": { + "application/json": { + "schema": { + "properties": { + "": { + "$ref": "#/components/schemas/chatWidgetResponseSchema" + }, + "meta": { + "properties": { + "": { + "$ref": "#/components/schemas/metaSchema" } + }, + "type": "object" } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "usePreviousBillingCycle": { - "description": "Indicates whether the usage from the previous billing cycle should be retrieved.\n\nIf set to false, the usage for the current cycle will be fetched.\n\nIf set to true, the usage from the previous cycle will be fetched.", - "type": "boolean" - } - }, - "type": "object" - } + }, + "type": "object" + }, + "example": { + "data": { + "statusCode": 200, + "success": true, + "body": { + "data": [ + { + "configuration": { + "name": "Test Chat Widget", + "style": { + "docked_layout_icon_background": "#03a9f4", + "custom_js": "v2", + "docked_layout_icon_close": "https://widget-js.cometchat.io/v2/resources/chat_close.svg", + "custom_css": "string", + "docked_layout_icon_open": "https://widget-js.cometchat.io/v2/resources/chat_bubble.svg", + "primary_color": "#03A9F4", + "foreground_color": "#000000", + "background_color": "#FFFFFF", + "override_system_background_colors": true + }, + "main": { + "allow_message_reactions": true, + "enable_collaborative_whiteboard": true, + "enable_collaborative_document": true, + "enable_video_calling": true, + "enable_editing_messages": true, + "enable_sending_messages": true, + "allow_moderator_to_delete_member_messages": true, + "join_or_leave_groups": true, + "block_user": true, + "enable_voice_calling": true, + "send_emojis": true, + "send_files": true, + "view_shared_media": true, + "enable_sound_for_messages": true, + "send_photos_videos": true, + "show_stickers": true, + "enable_sound_for_calls": true, + "show_call_notifications": true, + "view_group_members": true, + "allow_delete_groups": true, + "allow_kick_ban_members": true, + "hide_join_leave_notifications": true, + "enable_message_translation": true, + "send_message_in_private_to_group_member": true, + "create_groups": true, + "show_typing_indicators": true, + "show_user_presence": true, + "allow_add_members": true, + "enable_deleting_messages": true, + "enable_threaded_replies": true, + "show_delivery_read_indicators": true, + "hide_deleted_messages": true, + "allow_creating_polls": true, + "allow_promote_demote_members": true, + "share_live_reactions": true, + "show_emojis_in_larger_size": true, + "allow_mention_members": false, + "enable_replying_to_messages": false, + "enable_share_copy_forward_messages": false, + "highlight_messages_from_moderators": false, + "show_call_recording_option": false, + "send_voice_notes": true, + "send_gifs": false, + "share_location": false, + "set_groups_in_qna_mode_by_moderators": false, + "send_reply_in_private_to_group_member": false + }, + "version": "v2", + "sidebar": { + "group_listing": "public_and_password_protected_groups", + "start_a_new_conversation": "all_chats", + "user_settings": true, + "calls": true, + "chats": true, + "user_listing": "all_users", + "groups": true, + "recent_chat_listing": "all_chats", + "sidebar_navigation_sequence": [ + "chats", + "users", + "groups", + "calls", + "settings" + ], + "users": true + }, + "appId": "564663ddb71bbb" + }, + "widgetId": "c59766f0-5318-4c82-b6b3-fa09ee80a506" + } + ] + }, + "responseTime": 0.11409401893615723 + } + } + } + } + } + }, + "operationId": "list-chat-widget" + } + }, + "/apps/{appId}/extensions/gifs-giphy/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Giphy Store settings", + "description": "Giphy : Saving the settings for Giphy extensions for the first time", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/giphyRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store Giphy Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/giphySchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Updated App", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/appSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "Your usage request has been accepted and is being processed for . You will receive an email with the details at @example.com" - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 1.8547508716583252, + "body": { + "data": { + "settings": { + "giphyApiKey": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222" } + } } + } } + } } + } }, - "/apps/{appId}/extensions": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Enable/Disable", - "description": "Enables or disables the extension for an app.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "enabled": { - "description": "Array of extension IDs that has to be enabled.", - "type": "array", - "items": { - "type": "string" - } - }, - "disabled": { - "description": "Array of extension IDs that has to be disabled.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - } + "operationId": "store-settings-gifs-giphy" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Giphy Update settings", + "description": "Giphy : Update the settings for Giphy extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/giphyRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Create Chat Widget", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/giphySchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Enabled/Disabled Extension", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/extensionSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "enabled": { - "extention_id1": { - "success": true, - "message": "The extension extension_id1 has been enabled successfully." - }, - "extention_id2": { - "success": true, - "message": "The extension extension_id2 has been enabled successfully." - } - }, - "disabled": { - "extention_id3": { - "success": true, - "message": "The extension extension_id1 has been enabled successfully." - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 1.8547508716583252, + "body": { + "data": { + "settings": { + "giphyApiKey": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222" } + } } + } } - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "List Extensions", - "description": "List the Extensions.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - }, - { - "$ref": "#/components/parameters/perPage--extensions" + } + } + } + }, + "operationId": "update-settings-gifs-giphy" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Giphy Get settings", + "description": "Giphy : Returns the settings for Giphy extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Giphy Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/giphyGetSchema" + } + }, + "type": "object" } - ], - "responses": { - "200": { - "description": "Enabled/Disabled Extension", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/extensionListSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "id": "widget", - "name": "Chat Widget", - "tagLine": "Drag-n-drop chat plugin for your website", - "description": "Drag-n-drop chat plugin for your website", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://widget-eu.cometchats.io", - "accessToAppData": false, - "adminURL": "https://widget-eu.cometchat.io/v1/show-setting?appToken=BArL8wLC1jkTws5bgH1DDvAMDevHdiAmMI5NGyQXs-I=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1591812821, - "hooks": { - "data": [] - }, - "categories": { - "data": [] - } - }, - { - "id": "document", - "name": "Collaborative document", - "tagLine": "Allows you create and share documents for collaboration", - "description": "Allows you create and share documents for collaboration", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://document-eu.cometchat.io/v1/create", - "accessToAppData": false, - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1592815197, - "hooks": { - "data": [] - }, - "categories": { - "data": [] - } - }, - { - "id": "whiteboard", - "name": "Collaborative whiteboard", - "tagLine": "Allows you create and share whiteboards for collaboration", - "description": "Allows you create and share whiteboards for collaboration", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://whiteboard-eu.cometchat.io/v1/create", - "accessToAppData": false, - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1595838286, - "hooks": { - "data": [] - }, - "categories": { - "data": [] - } - }, - { - "id": "data-masking", - "name": "Data Masking", - "tagLine": "Hide phone numbers, email addresses and other sensitive information in messages.", - "description": "Hide phone numbers, email addresses and other sensitive information in messages.", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://data-masking-eu.cometchat.io/v1/filter", - "accessToAppData": false, - "adminURL": "https://data-masking-eu.cometchat.io/v1/show-setting?appToken=DSjVCnryJFoSIgvIaCJUWF5sS1mMLy7V-pD6HoNlA3A=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1592815197, - "hooks": { - "data": [ - { - "hook": "before_message", - "description": "The hook will be triggered before adding message to database.", - "isActive": true, - "enabled": 1, - "createdAt": 1552383451 - } - ] - }, - "categories": { - "data": [] - } - }, - { - "id": "email-notification", - "name": "Email Notification", - "tagLine": "Notify users via email for unread messages.", - "description": "Notify users via email for unread messages.", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://email-notification-eu.cometchat.io/v1/send-email", - "accessToAppData": false, - "adminURL": "https://email-notification-eu.cometchat.io/v1/show-setting?appToken=c2JH61Mw2dnThPa_tHfP284hF6-8kbAvVfIlNSSzgKk=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": true, - "createdAt": 1568373595, - "hooks": { - "data": [ - { - "hook": "after_message", - "description": "The hook triggers after sending a message.", - "isActive": true, - "enabled": 1, - "createdAt": 1555001765 - } - ] - }, - "categories": { - "data": [] - } - }, - { - "id": "email-replies", - "name": "Email Replies", - "tagLine": "Reply to texts directly via emails", - "description": "Replying in a conversation from Email notifications just got simpler. With Email Replies, users can respond in a conversation by replying to the email.", - "author": "CometChat", - "email": "help@cometchat.com", - "accessToAppData": false, - "adminURL": "https://email-replies-eu.cometchat.io/v1/show-setting?appToken=slIAhyFb4PCG5R4dJBM4lTlYTdYznNORCBPL-Rxw_Qs=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1592815197, - "hooks": { - "data": [] - }, - "categories": { - "data": [] - } - }, - { - "id": "emojis", - "name": "Emojis", - "tagLine": "Emojis for web", - "description": "Emojis for web", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://emojis-eu.cometchat.io/v1/emojis", - "accessToAppData": false, - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1592829829, - "hooks": { - "data": [ - { - "hook": "before_message", - "description": "The hook will be triggered before adding message to database.", - "isActive": true, - "enabled": 1, - "createdAt": 1552383451 - } - ] - }, - "categories": { - "data": [] - } - }, - { - "id": "gifs-gfycat", - "name": "Gfycat", - "tagLine": "Get the best GIFS for all your conversations", - "description": "Get the best GIFS for all your conversations", - "author": "CometChat", - "email": "help@cometchat.com", - "accessToAppData": false, - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1622447638, - "hooks": { - "data": [] - }, - "categories": { - "data": [] - } - }, - { - "id": "gifs-giphy", - "name": "Giphy", - "tagLine": "Be Animated", - "description": "Be Animated", - "author": "CometChat", - "email": "help@cometchat.com", - "accessToAppData": false, - "adminURL": "https://gifs-giphy-eu.cometchat.io/v1/show-setting?appToken=Lv2_oE3L6JHOMbOiNNBjWsi0v6mV9r-aKVLofy_KZ7s=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1622447638, - "hooks": { - "data": [] - }, - "categories": { - "data": [] - } - }, - { - "id": "image-moderation", - "name": "Image Moderation", - "tagLine": "AI-powered image moderation to detect unsafe content.", - "description": "AI-powered image moderation to detect unsafe content.", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://image-moderation-eu.cometchat.io/v1/analyze", - "accessToAppData": false, - "adminURL": "https://image-moderation-eu.cometchat.io/v1/show-setting?appToken=cDnVkg8SFY7wjiaHjpGWyTqYaw9ekcrk-tAHhSyxkDc=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": true, - "createdAt": 1568373925, - "hooks": { - "data": [ - { - "hook": "before_message", - "description": "The hook will be triggered before adding message to database.", - "isActive": true, - "enabled": 1, - "createdAt": 1552383451 - } - ] - }, - "categories": { - "data": [] - } - }, - { - "id": "report-user", - "name": "Report User", - "tagLine": "Enable users to report other users", - "description": "Enable users to report other users", - "author": "CometChat", - "email": "help@cometchat.com", - "accessToAppData": false, - "adminURL": "https://report-user-eu.cometchat.io/v1/show-setting?appToken=cDnVkg8SFY7wjiaHjpGWyTqYaw9ekcrk-tAHhSyxkDc=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1655375268, - "hooks": { - "data": [] - }, - "categories": { - "data": [] - } - }, - { - "id": "report-message", - "name": "Report User", - "tagLine": "Enable users to report messages in chat", - "description": "Enable users to report messages in chat", - "author": "CometChat", - "email": "help@cometchat.com", - "accessToAppData": false, - "adminURL": "https://report-message-eu.cometchat.io/v1/show-setting?appToken=cDnVkg8SFY7wjiaHjpGWyTqYaw9ekcrk-tAHhSyxkDc=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1655447120, - "hooks": { - "data": [] - }, - "categories": { - "data": [] - } - }, - { - "id": "stickers-stipop", - "name": "Stipop", - "tagLine": "Used to create meaningful experiences in your app with stickers that users love.", - "description": "Used to create meaningful experiences in your app with stickers that users love.", - "author": "CometChat", - "email": "help@cometchat.com", - "accessToAppData": false, - "adminURL": "https://stickers-stipop-eu.cometchat.io/v1/show-setting?appToken=cDnVkg8SFY7wjiaHjpGWyTqYaw9ekcrk-tAHhSyxkDc=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": true, - "createdAt": 1655375268, - "hooks": { - "data": [] - }, - "categories": { - "data": [] - } - }, - { - "id": "url-shortener-tinyurl", - "name": "TinyURL", - "tagLine": "Helps you convert your long website links into short, manageable URLs that are reliable, secure and never expire.", - "description": "Helps you convert your long website links into short, manageable URLs that are reliable, secure and never expire.", - "author": "CometChat", - "email": "help@cometchat.com", - "accessToAppData": false, - "adminURL": "https://url-shortener-tinyurl-eu.cometchat.io/v1/show-setting?appToken=cDnVkg8SFY7wjiaHjpGWyTqYaw9ekcrk-tAHhSyxkDc=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": true, - "createdAt": 1655375268, - "hooks": { - "data": [] - }, - "categories": { - "data": [] - } - }, - { - "id": "url-shortener-bitly", - "name": "Bitly", - "tagLine": "Helps you create and share branded links with custom domains at scale", - "description": "Helps you create and share branded links with custom domains at scale", - "author": "CometChat", - "email": "help@cometchat.com", - "accessToAppData": false, - "adminURL": "https://url-shortener-bitly-eu.cometchat.io/v1/show-setting?appToken=cDnVkg8SFY7wjiaHjpGWyTqYaw9ekcrk-tAHhSyxkDc=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": true, - "createdAt": 1655375268, - "hooks": { - "data": [] - }, - "categories": { - "data": [] - } - }, - { - "id": "human-moderation", - "name": "In-flight Message Moderation", - "tagLine": "Manually moderate content to ensure a safe messaging environment.", - "description": "Manually moderate content to ensure a safe messaging environment.", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://human-moderation-eu.cometchat.io/v1/moderate-message", - "accessToAppData": false, - "adminURL": "https://human-moderation-eu.cometchat.io/v1/show-setting?appToken=-NxCcxlAt1qBHn8nibcc98qw5XqTmFB4QYCbJaGO3fo=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": true, - "createdAt": 1568373980, - "hooks": { - "data": [ - { - "hook": "before_message", - "description": "The hook will be triggered before adding message to database.", - "isActive": true, - "enabled": 1, - "createdAt": 1552383451 - } - ] - }, - "categories": { - "data": [] - } - }, - { - "id": "link-preview", - "name": "Link Preview", - "tagLine": "Generate meta description for URLs.", - "description": "Generate meta description for URLs.", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://link-preview-eu.cometchat.io/v1/generate-preview", - "accessToAppData": false, - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": true, - "createdAt": 1568374120, - "hooks": { - "data": [ - { - "hook": "before_message", - "description": "The hook will be triggered before adding message to database.", - "isActive": true, - "enabled": 1, - "createdAt": 1552383451 - } - ] - }, - "categories": { - "data": [] - } - }, - { - "id": "mentions", - "name": "Mentions", - "tagLine": "Mention users in conversations", - "description": "Mention users in conversations", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://mentions-eu.cometchat.io/v1/save", - "accessToAppData": false, - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1622447638, - "hooks": { - "data": [ - { - "hook": "after_message", - "description": "The hook triggers after sending a message.", - "isActive": true, - "enabled": 1, - "createdAt": 1555001765 - } - ] - }, - "categories": { - "data": [] - } - }, - { - "id": "voice-transcription", - "name": "Voice transcription", - "tagLine": "Used to transcribe Audio Messages", - "description": "Used to transcribe Audio Messages", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://voice-transcription-eu.cometchat.io/v1/transcribe", - "accessToAppData": false, - "adminURL": "https://voice-transcription-eu.cometchat.io/v1/show-setting?appToken=NTxjUhEcKA1uIQ-lCyaYy0hrM2C77fs8y6wRtEZ04wg=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": true, - "createdAt": 1622447638, - "hooks": { - "data": [ - { - "hook": "after_message", - "description": "The hook triggers after sending a message.", - "isActive": true, - "enabled": 1, - "createdAt": 1555001765 - } - ] - }, - "categories": { - "data": [] - } - }, - { - "id": "message-translation", - "name": "Message Translation", - "tagLine": "Translate text messages in different languages on-the-fly.", - "description": "Translate text messages in different languages on-the-fly.", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://message-translation-eu.cometchat.io/v1/translate", - "accessToAppData": false, - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": true, - "createdAt": 1568373749, - "hooks": { - "data": [ - { - "hook": "before_message", - "description": "The hook will be triggered before adding message to database.", - "isActive": true, - "enabled": 1, - "createdAt": 1552383451 - } - ] - }, - "categories": { - "data": [] - } - }, - { - "id": "pin-message", - "name": "Pin Message", - "tagLine": "Pin messages in group conversations", - "description": "Pin message for all the users in a conversation.", - "author": "CometChat", - "email": "help@cometchat.com", - "accessToAppData": false, - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1614671943, - "hooks": { - "data": [] - }, - "categories": { - "data": [] - } - }, - { - "id": "polls", - "name": "Polls", - "tagLine": "Polls to quickly ask for opinions in chats", - "description": "Polls to quickly ask for opinions in chats", - "author": "CometChat", - "email": "help@cometchat.com", - "accessToAppData": false, - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1594721219, - "hooks": { - "data": [] - }, - "categories": { - "data": [] - } - }, - { - "id": "profanity-filter", - "name": "Profanity Filter", - "tagLine": "Detect and censor profanity in messages.", - "description": "Detect and censor profanity in messages.", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://profanity-filter-eu.cometchat.io/v1/filter", - "accessToAppData": false, - "adminURL": "https://profanity-filter-eu.cometchat.io/v1/show-setting?appToken=NTxjUhEcKA1uIQ-lCyaYy0hrM2C77fs8y6wRtEZ04wg=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1568373871, - "hooks": { - "data": [ - { - "hook": "before_message", - "description": "The hook will be triggered before adding message to database.", - "isActive": true, - "enabled": 1, - "createdAt": 1552383451 - } - ] - }, - "categories": { - "data": [] - } - }, - { - "id": "push-notification", - "name": "Push Notification", - "tagLine": "Notify users via push notifications.", - "description": "Notify users via push notifications.", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://push-notification-eu.cometchat.io/v1/send-push", - "accessToAppData": false, - "adminURL": "https://push-notification-eu.cometchat.io/v1/show-sett*ing?appToken=TW6rWujmViKwmmPfp68L4kK_YGWCaYw_wLYjtr0R1-A=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1568373479, - "hooks": { - "data": [ - { - "hook": "after_auth_token_created", - "description": "The hook triggers after the auth token is created.", - "isActive": true, - "enabled": 1, - "createdAt": 1589548874 - }, - { - "hook": "after_auth_token_deleted", - "description": "The hook triggers after the auth token is deleted.", - "isActive": true, - "enabled": 1, - "createdAt": 1589548874 - }, - { - "hook": "after_auth_token_updated", - "description": "The hook triggers after the auth token is updated.", - "isActive": true, - "enabled": 1, - "createdAt": 1589548874 - }, - { - "hook": "after_group_created", - "description": "The hook triggers after group is created.", - "isActive": true, - "enabled": 1, - "createdAt": 1589548874 - }, - { - "hook": "after_group_deleted", - "description": "The hook triggers after group is deleted.", - "isActive": true, - "enabled": 1, - "createdAt": 1589548874 - }, - { - "hook": "after_group_joined", - "description": "The hook triggers after user joins a group.", - "isActive": true, - "enabled": 1, - "createdAt": 1589548874 - }, - { - "hook": "after_group_left", - "description": "The hook triggers after user leaves a group.", - "isActive": true, - "enabled": 1, - "createdAt": 1589548874 - }, - { - "hook": "after_group_members_added", - "description": "The hook triggers after members are added to group.", - "isActive": true, - "enabled": 1, - "createdAt": 1589548874 - }, - { - "hook": "after_group_members_banned", - "description": "The hook triggers after members are banned from group.", - "isActive": true, - "enabled": 1, - "createdAt": 1589548874 - }, - { - "hook": "after_group_members_kicked", - "description": "The hook triggers after member is kicked from group.", - "isActive": true, - "enabled": 1, - "createdAt": 1589548874 - }, - { - "hook": "after_group_members_unbanned", - "description": "The hook triggers after members are unbanned from group.", - "isActive": true, - "enabled": 1, - "createdAt": 1589548874 - }, - { - "hook": "after_logged_out", - "description": "The hook triggers after user logs out.", - "isActive": true, - "enabled": 1, - "createdAt": 1589548874 - }, - { - "hook": "after_message", - "description": "The hook triggers after sending a message.", - "isActive": true, - "enabled": 1, - "createdAt": 1555001765 - }, - { - "hook": "after_scope_changed", - "description": "The hook will be triggered after changing the scope.", - "isActive": true, - "enabled": 1, - "createdAt": 1552383451 - }, - { - "hook": "after_user_deleted", - "description": "The hook triggers after user is deleted.", - "isActive": true, - "enabled": 1, - "createdAt": 1589548874 - } - ] - }, - "categories": { - "data": [] - } - }, - { - "id": "reactions", - "name": "Reactions", - "tagLine": "React to an individual message with a specific emotion quickly.", - "description": "React to an individual message with a specific emotion quickly.", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://reactions-eu.cometchat.io/v1/react", - "accessToAppData": false, - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1592815197, - "hooks": { - "data": [] - }, - "categories": { - "data": [] - } - }, - { - "id": "rich-media", - "name": "Rich Media Preview", - "tagLine": "Generate rich media previews for all popular sites", - "description": "Generate rich media previews for all popular sites", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://rich-media-eu.cometchat.io/v1/preview", - "accessToAppData": false, - "adminURL": "https://rich-media-eu.cometchat.io/v1/show-setting?appToken=08RBa07frnTq8VnnGpR6XeHaKCHwplEXcsevSP5xz*Q4=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": true, - "createdAt": 1592815197, - "hooks": { - "data": [ - { - "hook": "after_message", - "description": "The hook triggers after sending a message.", - "isActive": true, - "enabled": 1, - "createdAt": 1555001765 - } - ] - }, - "categories": { - "data": [] - } - }, - { - "id": "save-message", - "name": "Save Message", - "tagLine": "Saved messages in one-on-one and group conversations", - "description": "Enable users to save messages from one-on-one and group conversations\\n", - "author": "CometChat", - "email": "help@cometchat.com", - "accessToAppData": false, - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1614671960, - "hooks": { - "data": [] - }, - "categories": { - "data": [] - } - }, - { - "id": "sentiment-analysis", - "name": "Sentiment Analysis", - "tagLine": "AI-powered sentiment analysis for messages.", - "description": "AI-powered sentiment analysis for messages.", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://sentiment-analysis-eu.cometchat.io/v1/analyze", - "accessToAppData": false, - "adminURL": "https://sentiment-analysis-eu.cometchat.io/v1/show-setting?appToken=TEj2rzc_KW_lvlzMnVBUgWnEjmOHhZ_mVs4yktn37s0=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": true, - "createdAt": 1568374255, - "hooks": { - "data": [ - { - "hook": "before_message", - "description": "The hook will be triggered before adding message to database.", - "isActive": true, - "enabled": 1, - "createdAt": 1552383451 - } - ] - }, - "categories": { - "data": [] - } - }, - { - "id": "smart-reply", - "name": "Smart Reply", - "tagLine": "Suggest ML-powered ready replies for messages.", - "description": "Suggest ML-powered ready replies for messages.", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://smart-reply-eu.cometchat.io/v1/fetch-reply", - "accessToAppData": false, - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": true, - "createdAt": 1568374179, - "hooks": { - "data": [ - { - "hook": "before_message", - "description": "The hook will be triggered before adding message to database.", - "isActive": true, - "enabled": 1, - "createdAt": 1552383451 - } - ] - }, - "categories": { - "data": [] - } - }, - { - "id": "sms-notification", - "name": "SMS Notification", - "tagLine": "Notify users via sms for unread messages.", - "description": "Notify users via sms for unread messages.", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://sms-notification-eu.cometchat.io/v1/send-sms", - "accessToAppData": false, - "adminURL": "https://sms-notification-eu.cometchat.io/v1/show-sett*ing?appToken=6E7gznI3V1RJHCxAb8J7aUZBlltU2c6W7iydzfrWIGM=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": true, - "createdAt": 1568373671, - "hooks": { - "data": [ - { - "hook": "after_message", - "description": "The hook triggers after sending a message.", - "isActive": true, - "enabled": 1, - "createdAt": 1555001765 - } - ] - }, - "categories": { - "data": [] - } - }, - { - "id": "gifs-tenor", - "name": "Tenor Gifs", - "tagLine": "Send Gifs", - "description": "Send Gifs", - "author": "CometChat", - "email": "help@cometchat.com", - "accessToAppData": false, - "adminURL": "https://gifs-tenor-eu.cometchat.io/v1/show-setting?appToken=08RBa07frnTq8VnnGpR6XeHaKCHwplEXcsevSP5xz*Q4=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": true, - "createdAt": 1592815197, - "hooks": { - "data": [] - }, - "categories": { - "data": [] - } - }, - { - "id": "e2ee", - "name": "End-to-end Encryption", - "tagLine": "End-to-end encryption is intended to prevent data being read or modified by anyone but the sender and recipient(s).", - "description": "End-to-end encryption is intended to prevent data being read or modified by anyone but the sender and recipient(s).", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://e2ee-eu.cometchat.io/v1/action", - "accessToAppData": false, - "adminURL": "https://e2ee-eu.cometchat.io/v1/show-setting?appToken=08RBa07frnTq8VnnGpR6XeHaKCHwplEXcsevSP5xz*Q4=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": true, - "createdAt": 1592815197, - "hooks": { - "data": [ - { - "hook": "before_message", - "description": "The hook will be triggered before adding message to database.", - "isActive": true, - "enabled": 1, - "createdAt": 1555001765 - } - ] - }, - "categories": { - "data": [] - } - }, - { - "id": "stickers", - "name": "Stickers", - "tagLine": "Send & manage stickers", - "description": "Send & manage stickers", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://stickers-eu.cometchat.io/v1/react", - "accessToAppData": false, - "adminURL": "https://stickers-eu.cometchat.io/v1/show-setting?appToken=geCcCA2y__JXNDpLJVdERM1ysruVsaoABrxO9Xzqu*bk=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1592815197, - "hooks": { - "data": [] - }, - "categories": { - "data": [] - } - }, - { - "id": "intercom", - "name": "Intercom", - "tagLine": "Connect and exchange messages between CometChat and Intercom", - "description": "Connect and exchange messages between CometChat and Intercom", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://intercom-eu.cometchat.io/v1/contact-support", - "accessToAppData": false, - "adminURL": "https://intercom-eu.cometchat.io/v1/show-setting?appToken=geCcCA2y__JXNDpLJVdERM1ysruVsaoABrxO9Xzqu*bk=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": true, - "createdAt": 1622447638, - "hooks": { - "data": [ - { - "hook": "after_message", - "description": "The hook triggers after sending a message.", - "isActive": true, - "enabled": 1, - "createdAt": 1555001765 - } - ] - }, - "categories": { - "data": [] - } - }, - { - "id": "broadcast", - "name": "Video Broadcasting", - "tagLine": "Real-time live video streaming & broadcasting to 1000s of viewers", - "description": "Real-time live video streaming & broadcasting to 1000s of viewers", - "author": "CometChat", - "email": "help@cometchat.com", - "accessToAppData": false, - "adminURL": "https://broadcasting-eu.cometchat.io/v1/show-setting?appToken=Lv2_oE3L6JHOMbOiNNBjWsi0v6mV9r-aKVLofy_KZ7s=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": true, - "createdAt": 1622447638, - "hooks": { - "data": [] - }, - "categories": { - "data": [] - } - }, - { - "id": "virus-malware-scanner", - "name": "Virus Malware Scanner", - "tagLine": "Scan user uploaded files & media for viruses and malware.", - "description": "Scan user uploaded files & media for viruses and malware.", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://virus-malware-scanner-eu.cometchat.io/v1/scan", - "accessToAppData": false, - "adminURL": "https://virus-malware-scanner-eu.cometchat.io/v1/show-setting?appToken=cDnVkg8SFY7wjiaHjpGWyTqYaw9ekcrk-tAHhSyxkDc=.eyJhcHBJZCI6IjE5NzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": true, - "createdAt": 1568373925, - "hooks": { - "data": [ - { - "hook": "after_message", - "description": "The hook triggers after sending a message", - "isActive": true, - "enabled": 1, - "createdAt": 1552383451 - } - ] - }, - "categories": { - "data": [] - } - }, - { - "id": "stickers", - "name": "Stickers", - "tagLine": "Enables Stickers.", - "description": "The Stickers Extension is more like an image manager which allows you to quickly add/remove stickers directly from the dashboard.", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://stickers-eu.cometchat.io/v1/", - "accessToAppData": false, - "adminURL": "https://stickers-eu.cometchat.io/v1/show-setting?appToken=cDnVkg8SFY7wjiaHjpGWyTqYaw9ekcrk-tAHhSyxkDc=.eyJhcHB6dd", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1568373925, - "hooks": { - "data": [ - { - "hook": "after_message", - "description": "The hook triggers after sending a message", - "isActive": true, - "enabled": 1, - "createdAt": 1552383451 - } - ] - }, - "categories": { - "data": [] - } - }, - { - "id": "sms-notification", - "name": "SMS Notification", - "tagLine": "Notify users via sms for unread messages.", - "description": "Notify users via sms for unread messages.", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://sms-notification-eu.cometchat.io/v1/send-sms", - "accessToAppData": false, - "adminURL": "https://sms-notification-eu.cometchat.io/v1/show-setting?appToken=cDnVkg8SFY7wjiaHjpGWyWqAaw1ekcrk", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1568373925, - "hooks": { - "data": [ - { - "hook": "after_message", - "description": "The hook triggers after sending a message", - "isActive": true, - "enabled": 1, - "createdAt": 1552383451 - } - ] - }, - "categories": { - "data": [] - } - }, - { - "id": "email-replies", - "name": "Email Replies", - "tagLine": "Respond to conversations by replying to email notifications", - "description": "Respond to conversations by replying to email notifications", - "author": "CometChat", - "email": "help@cometchat.com", - "webhookURL": "https://email-replies-eu.cometchat.io/v1/", - "accessToAppData": false, - "adminURL": "https://email-replies-eu.cometchat.io/v1/show-setting?appToken=cDnVkg8SFY7wjiaHjpGWyTqYaw9ekcrk-tAHhSyxkDc=.eyJhcHBJZzQ0OGU3NzlmMGZhYyJ9", - "websiteURL": "https://www.cometchat.com", - "isActive": true, - "isPrivate": false, - "isInvisible": false, - "isThirdParty": false, - "createdAt": 1568373925, - "hooks": { - "data": [ - { - "hook": "after_message", - "description": "The hook triggers after sending a message", - "isActive": true, - "enabled": 1, - "createdAt": 1552383451 - } - ] - }, - "categories": { - "data": [] - } - } - ], - "meta": { - "pagination": { - "total": 32, - "count": 25, - "per_page": 25, - "current_page": 1, - "total_pages": 2, - "links": { - "next": "http://apimgmt-local.cometchat-dev.com//apps/197448e779f0fac/extensions?page=2" - } - } - } - } - } + }, + "type": "object" + }, + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 1.8547508716583252, + "body": { + "data": { + "settings": { + "giphyApiKey": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222", + "appId": 19244939392 } + } } + } } + } } + } }, - "/apps/{appId}/extensions/widget/v2/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Chat Widgets Create", - "description": "Chat Widgets Create a new Chat Widget.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chatWidgetRequestSchema" - } + "operationId": "get-settings-gifs-giphy" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Giphy Delete settings for Giphy", + "description": "Giphy : Deletes the settings for Giphy extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Giphy Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/giphyDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Create Chat Widget", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "integer" - }, - "body": { - "properties": { - "data": { - "properties": { - "widgetId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 1.8547508716583252, - "body": { - "data": { - "widgetId": "f7ee7c30-416b-4398-9edd-2595cefd676f" - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 1.8547508716583252, + "body": { + "data": { + "settings": { + "success": true } + } } - }, - "operationId": "create-chat-widget" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Chat Widgets Update", - "description": "Chat Widgets Update an existing Chat Widget.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chatWidgetPutSchema" - } + } + } + } + } + } + }, + "operationId": "delete-settings-giphy" + } + }, + "/apps/{appId}/extensions/xss-filter/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "XSS Filter Store settings", + "description": "XSS Filter : Store new settings for XSS Filter extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/xssRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store XSS Filter Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/xssSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Create Chat Widget", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "integer" - }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 1.8547508716583252, - "body": { - "data": { - "success": true - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "dropMessage": false } + } } - }, - "operationId": "update-chat-widget" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Chat Widgets List", - "description": "Chat Widgets List all the Chat Widgets for an app.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Create Chat Widget", - "content": { - "application/json": { - "schema": { - "properties": { - "": { - "$ref": "#/components/schemas/chatWidgetResponseSchema" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "body": { - "data": [ - { - "configuration": { - "name": "Test Chat Widget", - "style": { - "docked_layout_icon_background": "#03a9f4", - "custom_js": "v2", - "docked_layout_icon_close": "https://widget-js.cometchat.io/v2/resources/chat_close.svg", - "custom_css": "string", - "docked_layout_icon_open": "https://widget-js.cometchat.io/v2/resources/chat_bubble.svg", - "primary_color": "#03A9F4", - "foreground_color": "#000000", - "background_color": "#FFFFFF", - "override_system_background_colors": true - }, - "main": { - "allow_message_reactions": true, - "enable_collaborative_whiteboard": true, - "enable_collaborative_document": true, - "enable_video_calling": true, - "enable_editing_messages": true, - "enable_sending_messages": true, - "allow_moderator_to_delete_member_messages": true, - "join_or_leave_groups": true, - "block_user": true, - "enable_voice_calling": true, - "send_emojis": true, - "send_files": true, - "view_shared_media": true, - "enable_sound_for_messages": true, - "send_photos_videos": true, - "show_stickers": true, - "enable_sound_for_calls": true, - "show_call_notifications": true, - "view_group_members": true, - "allow_delete_groups": true, - "allow_kick_ban_members": true, - "hide_join_leave_notifications": true, - "enable_message_translation": true, - "send_message_in_private_to_group_member": true, - "create_groups": true, - "show_typing_indicators": true, - "show_user_presence": true, - "allow_add_members": true, - "enable_deleting_messages": true, - "enable_threaded_replies": true, - "show_delivery_read_indicators": true, - "hide_deleted_messages": true, - "allow_creating_polls": true, - "allow_promote_demote_members": true, - "share_live_reactions": true, - "show_emojis_in_larger_size": true, - "allow_mention_members": false, - "enable_replying_to_messages": false, - "enable_share_copy_forward_messages": false, - "highlight_messages_from_moderators": false, - "show_call_recording_option": false, - "send_voice_notes": true, - "send_gifs": false, - "share_location": false, - "set_groups_in_qna_mode_by_moderators": false, - "send_reply_in_private_to_group_member": false - }, - "version": "v2", - "sidebar": { - "group_listing": "public_and_password_protected_groups", - "start_a_new_conversation": "all_chats", - "user_settings": true, - "calls": true, - "chats": true, - "user_listing": "all_users", - "groups": true, - "recent_chat_listing": "all_chats", - "sidebar_navigation_sequence": [ - "chats", - "users", - "groups", - "calls", - "settings" - ], - "users": true - }, - "appId": "564663ddb71bbb" - }, - "widgetId": "c59766f0-5318-4c82-b6b3-fa09ee80a506" - } - ] - }, - "responseTime": 0.11409401893615723 - } - } - } + } + } + } + } + } + }, + "operationId": "store-settings-xss-filter" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "XSS Filter Update settings", + "description": "XSS Filter : Update the settings for XSS Filter extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/xssRequestUpdateSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update XSS filters Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/xssSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "list-chat-widget" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "dropMessage": false + } + } + } + } + } + } } + } }, - "/apps/{appId}/extensions/gifs-giphy/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Giphy Store settings", - "description": "Giphy : Saving the settings for Giphy extensions for the first time", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/giphyRequestSchema" - } + "operationId": "update-settings-xss-filter" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "XSS Filter Get settings", + "description": "XSS Filter : Get settings for XSS Filter extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Update XSS filters Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/xssSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Store Giphy Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/giphySchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 1.8547508716583252, - "body": { - "data": { - "settings": { - "giphyApiKey": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "dropMessage": false, + "appId": "199319cc4d186d86" } + } } - }, - "operationId": "store-settings-gifs-giphy" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Giphy Update settings", - "description": "Giphy : Update the settings for Giphy extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/giphyRequestSchema" - } + } + } + } + } + } + }, + "operationId": "get-settings-xss-filter" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "XSS Filter Delete settings", + "description": "XSS Filter : Delete the settings for XSS Filter extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete XSS filters Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/xssSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Create Chat Widget", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/giphySchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 1.8547508716583252, - "body": { - "data": { - "settings": { - "giphyApiKey": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "dropMessage": false } + } } - }, - "operationId": "update-settings-gifs-giphy" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Giphy Get settings", - "description": "Giphy : Returns the settings for Giphy extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Get Giphy Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/giphyGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 1.8547508716583252, - "body": { - "data": { - "settings": { - "giphyApiKey": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222", - "appId": 19244939392 - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "delete-settings-xss-filter" + } + }, + "/apps/{appId}/extensions/image-moderation/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Image Moderation Store settings", + "description": "Image Moderation : Store new settings for Image moderation extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/imageModerationRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store Image Moderation Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/imageModerationSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-gifs-giphy" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Giphy Delete settings for Giphy", - "description": "Giphy : Deletes the settings for Giphy extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Delete Giphy Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/giphyDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 1.8547508716583252, - "body": { - "data": { - "settings": { - "success": true - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "dropMessage": false } + } } - }, - "operationId": "delete-settings-for-giphy-gifs-giphy" + } + } + } } + } }, - "/apps/{appId}/extensions/xss-filter/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "XSS Filter Store settings", - "description": "XSS Filter : Store new settings for XSS Filter extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/xssRequestSchema" - } + "operationId": "store-settings-image-moderation" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Image Moderation Update settings", + "description": "Image Moderation : Update the settings for Image moderation extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/imageModerationUpdateRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update Image Moderation Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/imageModerationSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Store XSS Filter Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/xssSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "dropMessage": false - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "dropMessage": false } + } } - }, - "operationId": "store-settings-xss-filter" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "XSS Filter Update settings", - "description": "XSS Filter : Update the settings for XSS Filter extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/xssRequestUpdateSchema" - } + } + } + } + } + } + }, + "operationId": "update-settings-image-moderation" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Image Moderation Get settings", + "description": "Image Moderation : Get settings for Image moderation extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Image Moderation Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/imageModerationGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Update XSS filters Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/xssSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "dropMessage": false - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "dropMessage": false } + } } + } + } + } + } + } + }, + "operationId": "get-settings-image-moderation" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Image Moderation Delete settings", + "description": "Image Moderation : Delete the settings for Image moderation extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Image Moderation Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/imageModerationDeleteSchema" + } + }, + "type": "object" + } + }, + "type": "object" }, - "operationId": "update-settings-xss-filter" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "XSS Filter Get settings", - "description": "XSS Filter : Get settings for XSS Filter extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "success": true + } + } } - ], - "responses": { - "200": { - "description": "Update XSS filters Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/xssSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "dropMessage": false, - "appId": "199319cc4d186d86" - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "delete-settings-image-moderation" + } + }, + "/apps/{appId}/extensions/report-user/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Report user Store settings", + "description": "Report user : Store new settings for Report user extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/reportUserRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store Report User Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/reportUserCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-xss-filter" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "XSS Filter Delete settings", - "description": "XSS Filter : Delete the settings for XSS Filter extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "maxReports": 3, + "useWebhook": true, + "webhookURL": "https://example.com/take-action", + "basicAuthUsername": "abcd", + "basicAuthPassword": "1234" + } + } } - ], - "responses": { - "200": { - "description": "Delete XSS filters Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/xssSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "dropMessage": false - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "store-settings-report-user" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Report user Update settings", + "description": "Report user : Update the settings for Report user extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/reportUserRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update Report User Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/reportUserCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "delete-settings-xss-filter" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "maxReports": 3, + "useWebhook": true, + "webhookURL": "https://example.com/take-action", + "basicAuthUsername": "abcd", + "basicAuthPassword": "12345" + } + } + } + } + } + } } + } }, - "/apps/{appId}/extensions/image-moderation/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Image Moderation Store settings", - "description": "Image Moderation : Store new settings for Image moderation extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/imageModerationRequestSchema" - } + "operationId": "update-settings-report-user" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Report user Get settings", + "description": "Report user : Get settings for Report user extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Report User Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/reportUserGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Store Image Moderation Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/imageModerationSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "dropMessage": false - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "maxReports": 3, + "useWebhook": true, + "webhookURL": "https://example.com/take-action", + "basicAuthUsername": "abcd", + "basicAuthPassword": "12345", + "appId": "134234d234rf33" + } + } + } + } + } + } + } + } + }, + "operationId": "get-settings-report-user" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Report user Delete settings", + "description": "Report user : Delete the settings for Report user extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Report User Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/reportUserDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "store-settings-image-moderation" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Image Moderation Update settings", - "description": "Image Moderation : Update the settings for Image moderation extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/imageModerationUpdateRequestSchema" - } + } + } + } + } + } + }, + "operationId": "delete-settings-report-user" + } + }, + "/apps/{appId}/extensions/report-message/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Report message Store settings", + "description": "Report message : Store new settings for Report message extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/reportMessageRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store Report Message Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/reportMessageCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Update Image Moderation Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/imageModerationSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "dropMessage": false - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "maxReports": 3, + "useWebhook": true, + "webhookURL": "https://example.com/take-action", + "basicAuthUsername": "abcd", + "basicAuthPassword": "1234" } + } } - }, - "operationId": "update-settings-image-moderation" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Image Moderation Get settings", - "description": "Image Moderation : Get settings for Image moderation extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Get Image Moderation Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/imageModerationGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "dropMessage": false - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "store-settings-report-message" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Report message Update settings", + "description": "Report message : Update the settings for Report message extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/reportMessageRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update Report Message Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/reportMessageCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-image-moderation" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Image Moderation Delete settings", - "description": "Image Moderation : Delete the settings for Image moderation extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Get Image Moderation Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/imageModerationDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "success": true - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "maxReports": 3, + "useWebhook": true, + "webhookURL": "https://example.com/take-action", + "basicAuthUsername": "abcd", + "basicAuthPassword": "12345" } + } } - }, - "operationId": "delete-settings-image-moderation" + } + } + } } + } }, - "/apps/{appId}/extensions/report-user/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Report user Store settings", - "description": "Report user : Store new settings for Report user extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/reportUserRequestSchema" - } + "operationId": "update-settings-report-message" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Report message Get settings", + "description": "Report message : Get settings for Report message extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Report Message Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/reportMessageGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Store Report User Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/reportUserCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "maxReports": 3, - "useWebhook": true, - "webhookURL": "https://example.com/take-action", - "basicAuthUsername": "abcd", - "basicAuthPassword": "1234" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "maxReports": 3, + "useWebhook": true, + "webhookURL": "https://example.com/take-action", + "basicAuthUsername": "abcd", + "basicAuthPassword": "12345", + "appId": "134234d234rf33" } + } } - }, - "operationId": "store-settings-report-user" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Report user Update settings", - "description": "Report user : Update the settings for Report user extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/reportUserRequestSchema" - } + } + } + } + } + } + }, + "operationId": "get-settings-report-message" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Report message Delete settings", + "description": "Report message : Delete the settings for Report message extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Report Message Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/reportMessageDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Update Report User Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/reportUserCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "maxReports": 3, - "useWebhook": true, - "webhookURL": "https://example.com/take-action", - "basicAuthUsername": "abcd", - "basicAuthPassword": "12345" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } + } + } + } + } + } + } + }, + "operationId": "delete-settings-report-message" + } + }, + "/apps/{appId}/extensions/voice-transcription/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Voice transcription Store settings", + "description": "Voice transcription : Store new settings for Voice transcription extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/voiceTranscriptionRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store Voice transcription Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/voiceTranscriptionCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "update-settings-report-user" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Report user Get settings", - "description": "Report user : Get settings for Report user extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "revaiAPIKey": "dwijdiwdwi####" + } + } } - ], - "responses": { - "200": { - "description": "Get Report User Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/reportUserGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "maxReports": 3, - "useWebhook": true, - "webhookURL": "https://example.com/take-action", - "basicAuthUsername": "abcd", - "basicAuthPassword": "12345", - "appId": "134234d234rf33" - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "store-settings-voice-transcription" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Voice transcription Update settings", + "description": "Voice transcription : Update the settings for Voice transcription extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/voiceTranscriptionRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update Voice transcription Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/voiceTranscriptionCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-report-user" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Report user Delete settings", - "description": "Report user : Delete the settings for Report user extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Delete Report User Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/reportUserDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "revaiAPIKey": "dwijdiwdwi####" } + } } - }, - "operationId": "delete-settings-report-user" + } + } + } } + } }, - "/apps/{appId}/extensions/report-message/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Report message Store settings", - "description": "Report message : Store new settings for Report message extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/reportMessageRequestSchema" - } + "operationId": "update-settings-voice-transcription" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Voice transcription Get settings", + "description": "Voice transcription : Get settings for Voice transcription extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Voice transcription Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/voiceTranscriptionGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Store Report Message Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/reportMessageCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "maxReports": 3, - "useWebhook": true, - "webhookURL": "https://example.com/take-action", - "basicAuthUsername": "abcd", - "basicAuthPassword": "1234" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "revaiAPIKey": "dwijdiwdwi####", + "appId": "134234d234rf33" } + } } - }, - "operationId": "store-settings-report-message" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Report message Update settings", - "description": "Report message : Update the settings for Report message extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/reportMessageRequestSchema" - } + } + } + } + } + } + }, + "operationId": "get-settings-voice-transcription" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Voice transcription Delete settings", + "description": "Voice transcription : Delete the settings for Voice transcription extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Voice transcription Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/voiceTranscriptionDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Update Report Message Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/reportMessageCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "maxReports": 3, - "useWebhook": true, - "webhookURL": "https://example.com/take-action", - "basicAuthUsername": "abcd", - "basicAuthPassword": "12345" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } + } + } + } + } + } + } + }, + "operationId": "delete-settings-voice-transcription" + } + }, + "/apps/{appId}/extensions/stickers-stipop/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Stipop Store settings", + "description": "Stipop : Store new settings for Stipop extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/stipopRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store Stipop Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/stipopCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "update-settings-report-message" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Report message Get settings", - "description": "Report message : Get settings for Report message extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "stipopApiKey": "e24ce#2324b2jrbj3212", + "stipopAppId": "9221#njdwe112213131" + } + } } - ], - "responses": { - "200": { - "description": "Get Report Message Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/reportMessageGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "maxReports": 3, - "useWebhook": true, - "webhookURL": "https://example.com/take-action", - "basicAuthUsername": "abcd", - "basicAuthPassword": "12345", - "appId": "134234d234rf33" - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "store-settings-stickers-stipop" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Stipop Update settings", + "description": "Stipop : Update the settings for Stipop extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/stipopRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update Stipop Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/stipopCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-report-message" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Report message Delete settings", - "description": "Report message : Delete the settings for Report message extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Delete Report Message Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/reportMessageDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "stipopApiKey": "e24ce#2324b2jrbj3212", + "stipopAppId": "9221#njdwe112213131" } + } } - }, - "operationId": "delete-settings-report-message" + } + } + } } + } }, - "/apps/{appId}/extensions/voice-transcription/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Voice transcription Store settings", - "description": "Voice transcription : Store new settings for Voice transcription extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/voiceTranscriptionRequestSchema" - } + "operationId": "update-settings-stickers-stipop" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Stipop Get settings", + "description": "Stipop : Get settings for Stipop extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Stipop Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/stipopGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Store Voice transcription Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/voiceTranscriptionCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "revaiAPIKey": "dwijdiwdwi####" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "stipopApiKey": "e24ce#2324b2jrbj3212", + "stipopAppId": "9221#njdwe112213131", + "appId": "134234d234rf33" } + } } - }, - "operationId": "store-settings-voice-transcription" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Voice transcription Update settings", - "description": "Voice transcription : Update the settings for Voice transcription extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/voiceTranscriptionRequestSchema" - } + } + } + } + } + } + }, + "operationId": "get-settings-stickers-stipop" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Stipop Delete settings", + "description": "Stipop : Delete the settings for Stipop extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Stipop Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/stipopDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Update Voice transcription Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/voiceTranscriptionCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "revaiAPIKey": "dwijdiwdwi####" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } + } + } + } + } + } + } + }, + "operationId": "delete-settings-stickers-stipop" + } + }, + "/apps/{appId}/extensions/sentiment-analysis/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Sentiment analysis Store settings", + "description": "Sentiment analysis : Store new settings for Sentiment analysis extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/sentimentAnalysisRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store Sentiment analysis Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/sentimentAnalysisSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "update-settings-voice-transcription" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Voice transcription Get settings", - "description": "Voice transcription : Get settings for Voice transcription extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "dropMessage": false + } + } } - ], - "responses": { - "200": { - "description": "Get Voice transcription Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/voiceTranscriptionGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "revaiAPIKey": "dwijdiwdwi####", - "appId": "134234d234rf33" - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "store-settings-sentiment-analysis" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Sentiment analysis Update settings", + "description": "Sentiment analysis : Update the settings for Sentiment analysis extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/sentimentAnalysisRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update Sentiment analysis Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/sentimentAnalysisSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-voice-transcription" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Voice transcription Delete settings", - "description": "Voice transcription : Delete the settings for Voice transcription extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Delete Voice transcription Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/voiceTranscriptionDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "dropMessage": false } + } } - }, - "operationId": "delete-settings-voice-transcription" + } + } + } } + } }, - "/apps/{appId}/extensions/stickers-stipop/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Stipop Store settings", - "description": "Stipop : Store new settings for Stipop extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/stipopRequestSchema" - } + "operationId": "update-settings-sentiment-analysis" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Sentiment analysis Get settings", + "description": "Sentiment analysis : Get settings for Sentiment analysis extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Update Sentiment analysis Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/sentimentAnalysisGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Store Stipop Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/stipopCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "stipopApiKey": "e24ce#2324b2jrbj3212", - "stipopAppId": "9221#njdwe112213131" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "dropMessage": false, + "appId": "199319cc4d186d86" } + } } - }, - "operationId": "store-settings-stickers-stipop" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Stipop Update settings", - "description": "Stipop : Update the settings for Stipop extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/stipopRequestSchema" - } + } + } + } + } + } + }, + "operationId": "get-settings-sentiment-analysis" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Sentiment analysis Delete settings", + "description": "Sentiment analysis : Delete the settings for Sentiment analysis extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Sentiment analysis Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/sentimentAnalysisDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Update Stipop Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/stipopCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "stipopApiKey": "e24ce#2324b2jrbj3212", - "stipopAppId": "9221#njdwe112213131" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "dropMessage": false } + } } - }, - "operationId": "update-settings-stickers-stipop" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Stipop Get settings", - "description": "Stipop : Get settings for Stipop extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Get Stipop Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/stipopGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "stipopApiKey": "e24ce#2324b2jrbj3212", - "stipopAppId": "9221#njdwe112213131", - "appId": "134234d234rf33" - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "delete-settings-sentiment-analysis" + } + }, + "/apps/{appId}/extensions/url-shortener-tinyurl/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "TinyURL Store settings", + "description": "TinyURL : Store new settings for TinyURL extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/tinyUrlRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store TinyURL Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/tinyUrlCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-stickers-stipop" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Stipop Delete settings", - "description": "Stipop : Delete the settings for Stipop extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "tinyUrlAPIToken": "1kn2kenkdnwnrn2in1n1", + "tinyUrlDomain": "tiny.one" + } + } } - ], - "responses": { - "200": { - "description": "Delete Stipop Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/stipopDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "store-settings-url-shortener-tinyurl" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "TinyURL Update settings", + "description": "TinyURL : Update the settings for TinyURL extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/tinyUrlRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update TinyURL Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/tinyUrlCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "delete-settings-stickers-stipop" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "tinyUrlAPIToken": "1kn2kenkdnwnrn2in1n1", + "tinyUrlDomain": "tiny.one" + } + } + } + } + } + } } + } }, - "/apps/{appId}/extensions/sentiment-analysis/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Sentiment analysis Store settings", - "description": "Sentiment analysis : Store new settings for Sentiment analysis extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/sentimentAnalysisRequestSchema" - } + "operationId": "update-settings-url-shortener-tinyurl" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "TinyURL Get settings", + "description": "TinyURL : Get settings for TinyURL extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get TinyURL Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/tinyUrlGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Store Sentiment analysis Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/sentimentAnalysisSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "dropMessage": false - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "tinyUrlAPIToken": "1kn2kenkdnwnrn2in1n1", + "tinyUrlDomain": "tiny.one", + "appId": "134234d234rf33" + } + } + } + } + } + } + } + } + }, + "operationId": "get-settings-url-shortener-tinyurl" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "TinyURL Delete settings", + "description": "TinyURL : Delete the settings for TinyURL extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete TinyURL Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/tinyUrlDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "store-settings-sentiment-analysis" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Sentiment analysis Update settings", - "description": "Sentiment analysis : Update the settings for Sentiment analysis extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/sentimentAnalysisRequestSchema" - } + } + } + } + } + } + }, + "operationId": "delete-settings-url-shortener-tinyurl" + } + }, + "/apps/{appId}/extensions/intercom/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Intercom Store settings", + "description": "Intercom : Store new settings for Intercom extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/intercomRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store Intercom Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/intercomSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Update Sentiment analysis Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/sentimentAnalysisSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "dropMessage": false - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "appId": "212663ddb7a2a65a", + "customerSupportUid": "cometchat-uid-2", + "intercomAccessToken": "EgsDdxRZFUy4tPWDjwmyZvYk", + "webhookURL": "https://intercom-eu.cometchat.io/v1/reply?token=8z2Yn1R2hEVmpENi7HA1pPAv0DfZvMPFT8SBSaRJgwk=eyJhcHBJZCI6IjIxMjY2M2RkYjdhMmE2NmIifQ==" + } + } + } + } + } + } + } + } + }, + "operationId": "store-settings-intercom" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Intercom Update settings", + "description": "Intercom : Update the settings for Intercom extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/intercomRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update Intercom Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/intercomSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "update-settings-sentiment-analysis" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Sentiment analysis Get settings", - "description": "Sentiment analysis : Get settings for Sentiment analysis extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "appId": "212663ddb7a2a65a", + "customerSupportUid": "cometchat-uid-2", + "intercomAccessToken": "EgsDdxRZFUy4tPWDjwmyZvYk", + "webhookURL": "https://intercom-eu.cometchat.io/v1/reply?token=8z2Yn1R2hEVmpENi7HA1pPAv0DfZvMPFT8SBSaRJgwk=eyJhcHBJZCI6IjIxMjY2M2RkYjdhMmE2NmIifQ==" + } + } } - ], - "responses": { - "200": { - "description": "Update Sentiment analysis Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/sentimentAnalysisGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "dropMessage": false, - "appId": "199319cc4d186d86" - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "update-settings-intercom" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Intercom Get settings", + "description": "Intercom : Get settings for Intercom extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Intercom Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/intercomGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-sentiment-analysis" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Sentiment analysis Delete settings", - "description": "Sentiment analysis : Delete the settings for Sentiment analysis extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "appId": "212663ddb7a2a65a", + "customerSupportUid": "cometchat-uid-2", + "intercomAccessToken": "EgsDdxRZFUy4tPWDjwmyZvYk", + "webhookURL": "https://intercom-eu.cometchat.io/v1/reply?token=8z2Yn1R2hEVmpENi7HA1pPAv0DfZvMPFT8SBSaRJgwk=eyJhcHBJZCI6IjIxMjY2M2RkYjdhMmE2NmIifQ==" + } + } } - ], - "responses": { - "200": { - "description": "Delete Sentiment analysis Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/sentimentAnalysisDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "dropMessage": false - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "get-settings-intercom" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Intercom Delete settings", + "description": "Intercom : Delete the settings for Intercom extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Intercom Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/intercomDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "delete-settings-sentiment-analysis" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } + } + } + } + } } + } }, - "/apps/{appId}/extensions/url-shortener-tinyurl/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "TinyURL Store settings", - "description": "TinyURL : Store new settings for TinyURL extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tinyUrlRequestSchema" - } + "operationId": "delete-settings-intercom" + } + }, + "/apps/{appId}/extensions/url-shortener-bitly/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Bitly Store settings", + "description": "Bitly : Store new settings for Bitly extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/bitlyRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store Bitly Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/bitlyCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Store TinyURL Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/tinyUrlCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "tinyUrlAPIToken": "1kn2kenkdnwnrn2in1n1", - "tinyUrlDomain": "tiny.one" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "bitlyAccessToken": "1213n2kn2232ffg", + "groupGUID": "1234ddsf5eee22" } + } } - }, - "operationId": "store-settings-url-shortener-tinyurl" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "TinyURL Update settings", - "description": "TinyURL : Update the settings for TinyURL extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tinyUrlRequestSchema" - } + } + } + } + } + } + }, + "operationId": "store-settings-url-shortener-bitly" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Bitly Update settings", + "description": "Bitly : Update the settings for Bitly extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/bitlyRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update Bitly Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/bitlyCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Update TinyURL Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/tinyUrlCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "tinyUrlAPIToken": "1kn2kenkdnwnrn2in1n1", - "tinyUrlDomain": "tiny.one" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "bitlyAccessToken": "1213n2kn2232ffg", + "groupGUID": "1234ddsf5eee22" + } + } + } + } + } + } + } + } + }, + "operationId": "update-settings-url-shortener-bitly" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Bitly Get settings", + "description": "Bitly : Get settings for Bitly extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Bitly Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/bitlyGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "update-settings-url-shortener-tinyurl" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "TinyURL Get settings", - "description": "TinyURL : Get settings for TinyURL extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "bitlyAccessToken": "1213n2kn2232ffg", + "groupGUID": "1234ddsf5eee22", + "appId": "134234d234rf33" + } + } } - ], - "responses": { - "200": { - "description": "Get TinyURL Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/tinyUrlGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "tinyUrlAPIToken": "1kn2kenkdnwnrn2in1n1", - "tinyUrlDomain": "tiny.one", - "appId": "134234d234rf33" - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "get-settings-url-shortener-bitly" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Bitly Delete settings", + "description": "Bitly : Delete the settings for Bitly extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Bitly Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/bitlyDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-url-shortener-tinyurl" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "TinyURL Delete settings", - "description": "TinyURL : Delete the settings for TinyURL extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } } - ], - "responses": { - "200": { - "description": "Delete TinyURL Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/tinyUrlDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "delete-settings-url-shortener-bitly" + } + }, + "/apps/{appId}/extensions/rich-media/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Rich media preview Store settings", + "description": "Rich media preview : Store new settings for Rich media preview extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/richMediaPreviewRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store Rich Media Preview Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/richMediaPreviewCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "delete-settings-url-shortener-tinyurl" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "iframelyApiKey": "abcd12345678" + } + } + } + } + } + } } + } }, - "/apps/{appId}/extensions/intercom/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Intercom Store settings", - "description": "Intercom : Store new settings for Intercom extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/intercomRequestSchema" - } + "operationId": "store-settings-rich-media" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Rich media preview Update settings", + "description": "Rich media preview : Update the settings for Rich media preview extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/richMediaPreviewRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update Rich Media Preview Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/richMediaPreviewCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Store Intercom Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/intercomSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "appId": "212663ddb7a2a65a", - "customerSupportUid": "superhero2", - "intercomAccessToken": "EgsDdxRZFUy4tPWDjwmyZvYk", - "webhookURL": "https://intercom-eu.cometchat.io/v1/reply?token=8z2Yn1R2hEVmpENi7HA1pPAv0DfZvMPFT8SBSaRJgwk=eyJhcHBJZCI6IjIxMjY2M2RkYjdhMmE2NmIifQ==" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "iframelyApiKey": "abcd12345678" + } + } + } + } + } + } + } + } + }, + "operationId": "update-settings-rich-media" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Rich media preview Get settings", + "description": "Rich media preview : Get settings for Rich media preview extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Rich Media Preview Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/richMediaPreviewGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "store-settings-intercom" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Intercom Update settings", - "description": "Intercom : Update the settings for Intercom extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "iframelyApiKey": "abcd12345678", + "appId": "appId12345678" + } + } } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/intercomRequestSchema" - } + } + } + } + } + } + }, + "operationId": "get-settings-rich-media" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Rich media preview Delete settings", + "description": "Rich media preview : Delete the settings for Rich media preview extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Rich Media Preview Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/richMediaPreviewDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Update Intercom Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/intercomSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "appId": "212663ddb7a2a65a", - "customerSupportUid": "superhero2", - "intercomAccessToken": "EgsDdxRZFUy4tPWDjwmyZvYk", - "webhookURL": "https://intercom-eu.cometchat.io/v1/reply?token=8z2Yn1R2hEVmpENi7HA1pPAv0DfZvMPFT8SBSaRJgwk=eyJhcHBJZCI6IjIxMjY2M2RkYjdhMmE2NmIifQ==" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } + } + } + } + } + } + } + }, + "operationId": "delete-settings-rich-media" + } + }, + "/apps/{appId}/extensions/virus-malware-scanner/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Virus Malware Scanner Store settings", + "description": "Virus Malware Scanner : Store new settings for Virus malware scanner extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/virusMalwareScannerRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store Virus Malware Scanner Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/virusMalwareScannerSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "update-settings-intercom" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Intercom Get settings", - "description": "Intercom : Get settings for Intercom extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 1.8547508716583252, + "body": { + "data": { + "settings": { + "scaniiApiKey": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222", + "scaniiSecretKey": "f5c0102d" + } + } } - ], - "responses": { - "200": { - "description": "Get Intercom Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/intercomGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "appId": "212663ddb7a2a65a", - "customerSupportUid": "superhero2", - "intercomAccessToken": "EgsDdxRZFUy4tPWDjwmyZvYk", - "webhookURL": "https://intercom-eu.cometchat.io/v1/reply?token=8z2Yn1R2hEVmpENi7HA1pPAv0DfZvMPFT8SBSaRJgwk=eyJhcHBJZCI6IjIxMjY2M2RkYjdhMmE2NmIifQ==" - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "store-settings-virus-malware-scanner" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Virus Malware Scanner Update settings", + "description": "Virus Malware Scanner : Update the settings for Virus malware scanner extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/virusMalwareScannerRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Create Chat Widget", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/virusMalwareScannerSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-intercom" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Intercom Delete settings", - "description": "Intercom : Delete the settings for Intercom extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 1.8547508716583252, + "body": { + "data": { + "settings": { + "scaniiApiKey": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222", + "scaniiSecretKey": "f5c0102d" + } + } } - ], - "responses": { - "200": { - "description": "Delete Intercom Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/intercomDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "update-settings-virus-malware-scanner" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Virus Malware Scanner Get settings", + "description": "Virus Malware Scanner : Get settings for Virus malware scanner extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Virus Malware Scanner Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/virusMalwareScannerGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "delete-settings-intercom" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 1.8547508716583252, + "body": { + "data": { + "settings": { + "scaniiApiKey": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222", + "scaniiSecretKey": "f5c0102d", + "appId": 19244939392 + } + } + } + } + } + } } + } }, - "/apps/{appId}/extensions/url-shortener-bitly/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Bitly Store settings", - "description": "Bitly : Store new settings for Bitly extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/bitlyRequestSchema" - } + "operationId": "get-settings-virus-malware-scanner" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Virus Malware Scanner Delete settings", + "description": "Virus Malware Scanner : Delete the settings for Virus malware scanner extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Virus Malware Scanner Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/virusMalwareScannerDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Store Bitly Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/bitlyCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "bitlyAccessToken": "1213n2kn2232ffg", - "groupGUID": "1234ddsf5eee22" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 1.8547508716583252, + "body": { + "data": { + "success": true + } + } + } + } + } + } + } + }, + "operationId": "delete-settings-virus-malware-scanner" + } + }, + "/apps/{appId}/extensions/broadcast/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Video Broadcasting Store settings", + "description": "Video Broadcasting : Store new settings for Video Broadcasting extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/videoBroadcastingRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store Video broadcasting Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/videoBroadcastingSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "store-settings-url-shortener-bitly" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Bitly Update settings", - "description": "Bitly : Update the settings for Bitly extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "apiVideoKey": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222", + "recordVideo": false + } + } } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/bitlyRequestSchema" - } + } + } + } + } + } + }, + "operationId": "store-settings-broadcast" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Video Broadcasting Update settings", + "description": "Video Broadcasting : Update the settings for Video Broadcasting extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/videoBroadcastingRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update Video broadcasting Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/videoBroadcastingSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Update Bitly Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/bitlyCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "bitlyAccessToken": "1213n2kn2232ffg", - "groupGUID": "1234ddsf5eee22" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "apiVideoKey": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222", + "recordVideo": false } + } } - }, - "operationId": "update-settings-url-shortener-bitly" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Bitly Get settings", - "description": "Bitly : Get settings for Bitly extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Get Bitly Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/bitlyGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "bitlyAccessToken": "1213n2kn2232ffg", - "groupGUID": "1234ddsf5eee22", - "appId": "134234d234rf33" - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "update-settings-broadcast" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Video Broadcasting Get settings", + "description": "Video Broadcasting : Get settings for Video Broadcasting extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Video Broadcasting Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/videoBroadcastingGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-url-shortener-bitly" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Bitly Delete settings", - "description": "Bitly : Delete the settings for Bitly extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Delete Bitly Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/bitlyDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "apiVideoKey": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222", + "appId": "192A44939392", + "recordVideo": false } + } } - }, - "operationId": "delete-settings-url-shortener-bitly" + } + } + } } + } }, - "/apps/{appId}/extensions/rich-media/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Rich media preview Store settings", - "description": "Rich media preview : Store new settings for Rich media preview extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/richMediaPreviewRequestSchema" - } + "operationId": "get-settings-broadcast" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Video Broadcasting Delete settings", + "description": "Video Broadcasting : Delete the settings for Video Broadcasting extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Video Broadcasting Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/videoBroadcastingDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Store Rich Media Preview Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/richMediaPreviewCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "iframelyApiKey": "abcd12345678" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } + } + } + } + } + } + } + }, + "operationId": "delete-settings-broadcast" + } + }, + "/apps/{appId}/extensions/gifs-tenor/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Tenor gifs Store settings", + "description": "Tenor gifs : Store new settings for Tenor gifs extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/tenorRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store Tenor Gifs Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/tenorCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "store-settings-rich-media" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Rich media preview Update settings", - "description": "Rich media preview : Update the settings for Rich media preview extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/richMediaPreviewRequestSchema" - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "tenorApiKey": "abcd12345678" } + } } - }, - "responses": { - "200": { - "description": "Update Rich Media Preview Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/richMediaPreviewCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "iframelyApiKey": "abcd12345678" - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "store-settings-gifs-tenor" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Tenor gifs Update settings", + "description": "Tenor gifs : Update the settings for Tenor gifs extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/tenorRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update Tenor Gifs Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/tenorCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "update-settings-rich-media" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Rich media preview Get settings", - "description": "Rich media preview : Get settings for Rich media preview extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "tenorApiKey": "abcd12345678" + } + } } - ], - "responses": { - "200": { - "description": "Get Rich Media Preview Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/richMediaPreviewGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "iframelyApiKey": "abcd12345678", - "appId": "appId12345678" - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "update-settings-gifs-tenor" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Tenor gifs Get settings", + "description": "Tenor gifs : Get settings for Tenor gifs extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Tenor Gifs Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/tenorGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-rich-media" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Rich media preview Delete settings", - "description": "Rich media preview : Delete the settings for Rich media preview extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Delete Rich Media Preview Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/richMediaPreviewDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "tenorApiKey": "abcd12345678", + "appId": "appId12345678" } + } } - }, - "operationId": "delete-settings-rich-media" + } + } + } } + } }, - "/apps/{appId}/extensions/virus-malware-scanner/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Virus Malware Scanner Store settings", - "description": "Virus Malware Scanner : Store new settings for Virus malware scanner extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/virusMalwareScannerRequestSchema" - } + "operationId": "get-settings-gifs-tenor" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Tenor gifs Delete settings", + "description": "Tenor gifs : Delete the settings for Tenor gifs extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Tenor Gifs Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/tenorDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Store Virus Malware Scanner Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/virusMalwareScannerSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 1.8547508716583252, - "body": { - "data": { - "settings": { - "scaniiApiKey": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222", - "scaniiSecretKey": "f5c0102d" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } + } + } + } + } + } + } + }, + "operationId": "delete-settings-gifs-tenor" + } + }, + "/apps/{appId}/extensions/human-moderation/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "In-flight message moderation Store settings", + "description": "In-flight message moderation : Store new settings for In-flight message moderation extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/humanModerationRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store In-flight message moderation Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/humanModerationCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "store-settings-virus-malware-scanner" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Virus Malware Scanner Update settings", - "description": "Virus Malware Scanner : Update the settings for Virus malware scanner extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/virusMalwareScannerRequestSchema" - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "allUserMessages": false, + "allGroupMessages": false, + "senders": [ + "cometchat-uid-1", + "cometchat-uid-2" + ], + "receiverGroups": [ + "cometchat-guid-1" + ], + "receiverUsers": [ + "cometchat-uid-3" + ], + "allMessages": false } + } } - }, - "responses": { - "200": { - "description": "Create Chat Widget", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/virusMalwareScannerSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 1.8547508716583252, - "body": { - "data": { - "settings": { - "scaniiApiKey": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222", - "scaniiSecretKey": "f5c0102d" - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "store-settings-human-moderation" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "In-flight message moderation Update settings", + "description": "In-flight message moderation : Update the settings for In-flight message moderation extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/humanModerationRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update In-flight message moderation Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/humanModerationCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "update-settings-virus-malware-scanner" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Virus Malware Scanner Get settings", - "description": "Virus Malware Scanner : Get settings for Virus malware scanner extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "allUserMessages": false, + "allGroupMessages": false, + "senders": [ + "cometchat-uid-1", + "cometchat-uid-2" + ], + "receiverGroups": [ + "cometchat-guid-1" + ], + "receiverUsers": [ + "cometchat-uid-3" + ], + "allMessages": false + } + } } - ], - "responses": { - "200": { - "description": "Get Virus Malware Scanner Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/virusMalwareScannerGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 1.8547508716583252, - "body": { - "data": { - "settings": { - "scaniiApiKey": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222", - "scaniiSecretKey": "f5c0102d", - "appId": 19244939392 - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "update-settings-human-moderation" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "In-flight message moderation Get settings", + "description": "In-flight message moderation : Get settings for In-flight message moderation extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get In-flight message moderation Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/humanModerationGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-virus-malware-scanner" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Virus Malware Scanner Delete settings", - "description": "Virus Malware Scanner : Delete the settings for Virus malware scanner extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Delete Virus Malware Scanner Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/virusMalwareScannerDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 1.8547508716583252, - "body": { - "data": { - "success": true - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "allUserMessages": false, + "allGroupMessages": false, + "senders": [ + "cometchat-uid-1", + "cometchat-uid-2" + ], + "receiverGroups": [ + "cometchat-guid-1" + ], + "receiverUsers": [ + "cometchat-uid-3" + ], + "allMessages": false, + "appId": "134234d234rf33" } + } } - }, - "operationId": "delete-settings-virus-malware-scanner" + } + } + } } + } }, - "/apps/{appId}/extensions/broadcast/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Video Broadcasting Store settings", - "description": "Video Broadcasting : Store new settings for Video Broadcasting extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/videoBroadcastingRequestSchema" - } + "operationId": "get-settings-human-moderation" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "In-flight message moderation Delete settings", + "description": "In-flight message moderation : Delete the settings for In-flight message moderation extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete In-flight message moderation Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/humanModerationDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Store Video broadcasting Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/videoBroadcastingSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "apiVideoKey": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222", - "recordVideo": false - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } + } + } + } + } + } + } + }, + "operationId": "delete-settings-human-moderation" + } + }, + "/apps/{appId}/extensions/e2ee/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "End-to-end encryption Store settings", + "description": "End-to-end encryption : Store new settings for End-to-end encryption extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/e2eeRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store End-to-end Encryption Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/e2eeCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "store-settings-broadcast" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Video Broadcasting Update settings", - "description": "Video Broadcasting : Update the settings for Video Broadcasting extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "virgilAppID": "virgilAppId12345678", + "virgilAppKeyID": "xyzabcd12345678", + "virgilAppKey": "abcd12345678" + } + } } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/videoBroadcastingRequestSchema" - } + } + } + } + } + } + }, + "operationId": "store-settings-e2ee" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "End-to-end encryption Update settings", + "description": "End-to-end encryption : Update the settings for End-to-end encryption extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/e2eeRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update End-to-end Encryption Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/e2eeCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Update Video broadcasting Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/videoBroadcastingSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "apiVideoKey": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222", - "recordVideo": false - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "virgilAppID": "virgilAppId12345678", + "virgilAppKeyID": "xyzabcd12345678", + "virgilAppKey": "abcd12345678" } + } } - }, - "operationId": "update-settings-broadcast" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Video Broadcasting Get settings", - "description": "Video Broadcasting : Get settings for Video Broadcasting extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Get Video Broadcasting Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/videoBroadcastingGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "apiVideoKey": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222", - "appId": "192A44939392", - "recordVideo": false - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "update-settings-e2ee" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "End-to-end encryption Get settings", + "description": "End-to-end encryption : Get settings for End-to-end encryption extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get End-to-end Encryption Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/e2eeGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-broadcast" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Video Broadcasting Delete settings", - "description": "Video Broadcasting : Delete the settings for Video Broadcasting extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Delete Video Broadcasting Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/videoBroadcastingDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "virgilAppID": "virgilAppId12345678", + "virgilAppKeyID": "xyzabcd12345678", + "virgilAppKey": "abcd12345678", + "appId": "appId12345678" } + } } - }, - "operationId": "delete-settings-broadcast" + } + } + } } + } }, - "/apps/{appId}/extensions/gifs-tenor/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Tenor gifs Store settings", - "description": "Tenor gifs : Store new settings for Tenor gifs extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tenorRequestSchema" - } + "operationId": "get-settings-e2ee" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "End-to-end encryption Delete settings", + "description": "End-to-end encryption : Delete the settings for End-to-end encryption extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete End-to-end Encryption Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/e2eeDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Store Tenor Gifs Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/tenorCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "tenorApiKey": "abcd12345678" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } + } + } + } + } + } + } + }, + "operationId": "delete-settings-e2ee" + } + }, + "/apps/{appId}/extensions/stickers/v1/settings": { + "put": { + "tags": [ + "Extensions" + ], + "summary": "Stickers extension Update settings", + "description": "Stickers extension : Update the settings for Stickers extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/stickersRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update Data Masking Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/stickersResponseSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "store-settings-gifs-tenor" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Tenor gifs Update settings", - "description": "Tenor gifs : Update the settings for Tenor gifs extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tenorRequestSchema" - } + } + } + } + } + } + }, + "operationId": "update-settings-stickers" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Stickers extension Get settings", + "description": "Stickers extension : Get settings for Stickers extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Stickers Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/stickersGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Update Tenor Gifs Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/tenorCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "tenorApiKey": "abcd12345678" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "appId": "10419c7658224", + "dropMessage": false, + "customMasterStickersData": [], + "defaultMasterStickersData": [ + { + "stickerName": "litt_14.png", + "stickerOrder": 14, + "stickerSetId": "7efe9cbd-7789-4095-ae37-88b144aaec70", + "stickerSetName": "little dyno", + "stickerSetOrder": 7, + "stickerUrl": "https://data-us.cometchat.io/stickers/littledyno/litt_14.png", + "id": "fb24136a-abd0-4302-866d-c754410afc20", + "enableFlag": true + } + ] + } + } + } + } + } + } + } + } + }, + "operationId": "get-settings-stickers" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Stickers extension Delete settings", + "description": "Stickers extension : Delete the settings for Stickers extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Stickers Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/stickersResponseSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "update-settings-gifs-tenor" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Tenor gifs Get settings", - "description": "Tenor gifs : Get settings for Tenor gifs extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } } + } + } + } + } + } + }, + "operationId": "delete-settings-stickers" + } + }, + "/apps/{appId}/extensions/push-notification/v1/upload-certificate-p12": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Push notification Upload p12 Certificate", + "description": "Push notification : Upload a p12 Certificate", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "required": [ + "certificate" ], - "responses": { - "200": { - "description": "Get Tenor Gifs Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/tenorGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "tenorApiKey": "abcd12345678", - "appId": "appId12345678" - } - } - } + "properties": { + "certificate": { + "description": "Upload Certificate", + "type": "string", + "format": "binary" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Query Certificate", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "integer" + }, + "body": { + "properties": { + "": { + "properties": { + "certificate_p12": { + "type": "boolean" + }, + "certificate_p8": { + "type": "boolean" } + }, + "type": "object" } + }, + "type": "object" } + }, + "type": "object" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-gifs-tenor" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Tenor gifs Delete settings", - "description": "Tenor gifs : Delete the settings for Tenor gifs extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" + "example": { + "data": { + "statusCode": 200, + "success": true, + "body": { + "certificate_p12": true, + "certificate_p8": true }, - { - "$ref": "#/components/parameters/appId" - } + "responseTime": 0.14275598526000977 + } + } + } + } + } + }, + "operationId": "upload-push-notification-certificate-p12" + } + }, + "/apps/{appId}/extensions/push-notification/v1/upload-certificate-p8": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Push notification Upload p8 Certificate", + "description": "Push notification : Upload a p8 Certificate", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "required": [ + "certificate" ], - "responses": { - "200": { - "description": "Delete Tenor Gifs Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/tenorDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } + "properties": { + "certificate": { + "description": "Upload Certificate", + "type": "string", + "format": "binary" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Upload Certificate", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "integer" + }, + "body": { + "properties": { + "": { + "properties": { + "success": { + "type": "boolean" } + }, + "type": "object" } + }, + "type": "object" } + }, + "type": "object" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "delete-settings-gifs-tenor" + "example": { + "data": { + "statusCode": 200, + "success": true, + "body": { + "success": true + }, + "responseTime": 0.10614800453186035 + } + } + } } + } }, - "/apps/{appId}/extensions/human-moderation/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "In-flight message moderation Store settings", - "description": "In-flight message moderation : Store new settings for In-flight message moderation extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/humanModerationRequestSchema" - } - } - } - }, - "responses": { - "200": { - "description": "Store In-flight message moderation Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/humanModerationCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "allUserMessages": false, - "allGroupMessages": false, - "senders": [ - "superhero1", - "superhero2" - ], - "receiverGroups": [ - "supergroup" - ], - "receiverUsers": [ - "superhero3" - ], - "allMessages": false - } - } - } + "operationId": "upload-push-notification-certificate-p8" + } + }, + "/apps/{appId}/extensions/push-notification/v1/query-certificates": { + "get": { + "tags": [ + "Extensions" + ], + "summary": "Push notification Get Certificate", + "description": "Push notification : Get Certificate description", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Querying Certificate", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "integer" + }, + "body": { + "properties": { + "": { + "properties": { + "success": { + "type": "boolean" } + }, + "type": "object" } + }, + "type": "object" } + }, + "type": "object" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "store-settings-human-moderation" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "In-flight message moderation Update settings", - "description": "In-flight message moderation : Update the settings for In-flight message moderation extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "success": true } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/humanModerationRequestSchema" - } + } + } + } + } + } + }, + "operationId": "query-push-notification-certificates" + } + }, + "/apps/{appId}/extensions/email-replies/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Email replies Store settings", + "description": "Email replies : Store new settings for Email replies extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/emailRepliesRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update Email Replies Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/emailRepliesSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Update In-flight message moderation Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/humanModerationCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "allUserMessages": false, - "allGroupMessages": false, - "senders": [ - "superhero1", - "superhero2" - ], - "receiverGroups": [ - "supergroup" - ], - "receiverUsers": [ - "superhero3" - ], - "allMessages": false - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 1.8547508716583252, + "body": { + "data": { + "settings": { + "senderEmailForReplies": "mymail@example.com", + "sendEmailReplies": true + } + } + } + } + } + } + } + } + }, + "operationId": "store-settings-email-replies" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Email replies Update settings", + "description": "Email replies : Update the settings for Email replies extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/emailRepliesRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update Email Replies Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/emailRepliesSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "update-settings-human-moderation" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "In-flight message moderation Get settings", - "description": "In-flight message moderation : Get settings for In-flight message moderation extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 1.8547508716583252, + "body": { + "data": { + "settings": { + "senderEmailForReplies": "mymail@example.com", + "sendEmailReplies": true + } + } } - ], - "responses": { - "200": { - "description": "Get In-flight message moderation Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/humanModerationGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "allUserMessages": false, - "allGroupMessages": false, - "senders": [ - "superhero1", - "superhero2" - ], - "receiverGroups": [ - "supergroup" - ], - "receiverUsers": [ - "superhero3" - ], - "allMessages": false, - "appId": "134234d234rf33" - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "update-settings-email-replies" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Email replies Get settings", + "description": "Email replies : Get settings for Email replies extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Email Replies Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/emailRepliesGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-human-moderation" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "In-flight message moderation Delete settings", - "description": "In-flight message moderation : Delete the settings for In-flight message moderation extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 1.8547508716583252, + "body": { + "data": { + "settings": { + "senderEmailForReplies": "mymail@example.com", + "sendEmailReplies": true, + "appId": 19244939392 + } + } } - ], - "responses": { - "200": { - "description": "Delete In-flight message moderation Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/humanModerationDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "get-settings-email-replies" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Email replies Delete settings", + "description": "Email replies : Delete the settings for Email replies extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Email Replies Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/emailRepliesDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "delete-settings-human-moderation" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 1.8547508716583252, + "body": { + "data": { + "success": true + } + } + } + } + } } + } }, - "/apps/{appId}/extensions/e2ee/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "End-to-end encryption Store settings", - "description": "End-to-end encryption : Store new settings for End-to-end encryption extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/e2eeRequestSchema" - } + "operationId": "delete-settings-email-replies" + } + }, + "/apps/{appId}/extensions/sms-notification/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "SMS Notification Store settings", + "description": "SMS Notification : Store new settings for SMS Notification extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/smsNotificationRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store SMS Notification Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/smsNotificationSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Store End-to-end Encryption Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/e2eeCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "virgilAppID": "virgilAppId12345678", - "virgilAppKeyID": "xyzabcd12345678", - "virgilAppKey": "abcd12345678" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "success": true + } + } + } + } + } + } + }, + "operationId": "store-settings-sms-notification" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "SMS Notification Update settings", + "description": "SMS Notification : Update the settings for SMS Notification extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/smsNotificationRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update SMS Notification Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/smsNotificationSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "store-settings-e2ee" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "End-to-end encryption Update settings", - "description": "End-to-end encryption : Update the settings for End-to-end encryption extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "success": true } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/e2eeRequestSchema" - } + } + } + } + } + } + }, + "operationId": "update-settings-sms-notification" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "SMS Notification Get settings", + "description": "SMS Notification : Get settings for SMS Notification extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get SMS Notification Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/smsNotificationGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Update End-to-end Encryption Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/e2eeCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "virgilAppID": "virgilAppId12345678", - "virgilAppKeyID": "xyzabcd12345678", - "virgilAppKey": "abcd12345678" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "fromMobileNo": "+123456790", + "messageDelay": 60, + "twilioAccountSid": "ACfe6c12T1G2bc530a5151a8eff4155386", + "twilioAuthToken": "6928f0cadd4e6Ag2d431957a7f3a563ef3", + "websiteURL": "somemail.com", + "appId": "10419c123124" } + } } - }, - "operationId": "update-settings-e2ee" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "End-to-end encryption Get settings", - "description": "End-to-end encryption : Get settings for End-to-end encryption extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Get End-to-end Encryption Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/e2eeGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "virgilAppID": "virgilAppId12345678", - "virgilAppKeyID": "xyzabcd12345678", - "virgilAppKey": "abcd12345678", - "appId": "appId12345678" - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "get-settings-sms-notification" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "SMS Notification Delete settings", + "description": "SMS Notification : Delete the settings for SMS Notification extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete SMS Notification Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/smsNotificationDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-e2ee" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "End-to-end encryption Delete settings", - "description": "End-to-end encryption : Delete the settings for End-to-end encryption extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "success": true } - ], - "responses": { - "200": { - "description": "Delete End-to-end Encryption Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/e2eeDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "delete-settings-sms-notification" + } + }, + "/apps/{appId}/extensions/push-notification/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Push notification Store settings", + "description": "Push notification : Store new settings for Push notifications extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/pushNotificationRequestSchema" + }, + "examples": { + "abc": { + "$ref": "#/components/examples/pushNotificationRequestExample" + } + } + } + } + }, + "responses": { + "200": { + "description": "Save Push Notification Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/pushNotificationSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "delete-settings-e2ee" + "examples": { + "abc": { + "$ref": "#/components/examples/pushNotificationResponseExample" + } + } + } } + } }, - "/apps/{appId}/extensions/stickers/v1/settings": { - "put": { - "tags": [ - "Extensions" - ], - "summary": "Stickers extension Update settings", - "description": "Stickers extension : Update the settings for Stickers extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/stickersRequestSchema" - } + "operationId": "store-settings-push-notification" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Push notification Update settings", + "description": "Push notification : Update the settings for Push notifications extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/pushNotificationRequestSchema" + }, + "examples": { + "abc": { + "$ref": "#/components/examples/pushNotificationRequestExample" + } + } + } + } + }, + "responses": { + "200": { + "description": "Update Push Notification Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/pushNotificationSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Update Data Masking Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/stickersResponseSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } - } - } - } + "examples": { + "abc": { + "$ref": "#/components/examples/pushNotificationResponseExample" + } + } + } + } + } + }, + "operationId": "update-settings-push-notification" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Push notification Get settings", + "description": "Push notification : Get settings for Push notifications extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Push Notification Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/pushNotificationGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "update-settings-stickers" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Stickers extension Get settings", - "description": "Stickers extension : Get settings for Stickers extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Get Stickers Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/stickersGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "appId": "10419c7658224", - "dropMessage": false, - "customMasterStickersData": [], - "defaultMasterStickersData": [ - { - "stickerName": "litt_14.png", - "stickerOrder": 14, - "stickerSetId": "7efe9cbd-7789-4095-ae37-88b144aaec70", - "stickerSetName": "little dyno", - "stickerSetOrder": 7, - "stickerUrl": "https://data-us.cometchat-staging.com/stickers/littledyno/litt_14.png", - "id": "fb24136a-abd0-4302-866d-c754410afc20", - "enableFlag": true - } - ] - } - } - } - } - } - } + "examples": { + "abc": { + "$ref": "#/components/examples/pushNotificationResponseExample" + } + } + } + } + } + }, + "operationId": "get-settings-push-notification" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Push notification Delete settings", + "description": "Push notification : Delete the settings for Push notifications extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Push Notification Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/pushNotificationDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-stickers" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Stickers extension Delete settings", - "description": "Stickers extension : Delete the settings for Stickers extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 1.8547508716583252, + "body": { + "data": { + "success": true + } } - ], - "responses": { - "200": { - "description": "Delete Stickers Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/stickersResponseSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "delete-settings-push-notification" + } + }, + "/apps/{appId}/extensions/chatwoot/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Chatwoot Store settings", + "description": "Chatwoot : Store new settings for Chatwoot extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chatwootRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store Chatwoot Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/chatwootSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "delete-settings-stickers" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "chatwootAccessToken": "EgsXaxRZFUy4tPWDjwmyZvYk", + "customerSupportUid": "cometchat-uid-1", + "chatwootInboxId": "12112", + "chatwootAccountId": "42113", + "appId": "212663ddb7a2b1b", + "webhookURL": "https://chatwoot-eu.cometchat.io/v1/reply?token=K1b_mZsa31lTuNQqbTo7xtRHY0y7UUqXfhsUJltruwM=.eyJhcHBJZCI6IjIxMAY2M2RkYjdhMmE2NmIifQ==" + } + } + } + } + } + } } + } }, - "/apps/{appId}/extensions/push-notification/v1/upload-certificate-p12": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Push notification Upload p12 Certificate", - "description": "Push notification : Upload a p12 Certificate", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "required": true, - "content": { - "multipart/form-data": { - "schema": { - "required": [ - "certificate" - ], - "properties": { - "certificate": { - "description": "Upload Certificate", - "type": "string", - "format": "binary" - } - }, - "type": "object" - } + "operationId": "store-settings-chatwoot" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Chatwoot Update settings", + "description": "Chatwoot : Update the settings for Chatwoot extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/chatwootRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update Chatwoot Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/chatwootSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Query Certificate", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "integer" - }, - "body": { - "properties": { - "": { - "properties": { - "certificate_p12": { - "type": "boolean" - }, - "certificate_p8": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "body": { - "certificate_p12": true, - "certificate_p8": true - }, - "responseTime": 0.14275598526000977 - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "appId": "212663ddb7a2b1b", + "chatwootAccessToken": "EgsXaxRZFUy4tPWDjwmyZvYk", + "customerSupportUid": "cometchat-uid-1", + "chatwootInboxId": "12123", + "chatwootAccountId": "42613", + "webhookURL": "https://chatwoot-eu.cometchat.io/v1/reply?token=K1b_mZsa31lTuNQqbTo7xtRHY0y7UUqXfhsUJltruwM=.eyJhcHBJZCI6IjIxLjY2M2RkYjdhMmE2NmIifQ==" } + } } - }, - "operationId": "upload-push-notification-certificate-p12" + } + } + } } + } }, - "/apps/{appId}/extensions/push-notification/v1/upload-certificate-p8": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Push notification Upload p8 Certificate", - "description": "Push notification : Upload a p8 Certificate", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "required": true, - "content": { - "multipart/form-data": { - "schema": { - "required": [ - "certificate" - ], - "properties": { - "certificate": { - "description": "Upload Certificate", - "type": "string", - "format": "binary" - } - }, - "type": "object" - } + "operationId": "update-settings-chatwoot" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Chatwoot Get settings", + "description": "Chatwoot : Get settings for Chatwoot extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Chatwoot Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/chatwootGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Upload Certificate", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "integer" - }, - "body": { - "properties": { - "": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "body": { - "success": true - }, - "responseTime": 0.10614800453186035 - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "chatwootAccountId": "12345", + "chatwootInboxId": "12151", + "appId": "212663ddb7a2b1b", + "chatwootAccessToken": "EgsXaxRZFUy4atPWDjwmyZvYk", + "customerSupportUid": "cometchat-uid-1", + "webhookURL": "https://chatwoot-eu.cometchat.io/v1/reply?token=K1b_mZsa31lTuNQqbTo7xtRHY0y7UUqXfhsUJltruwM=.eyJhcHBJZCI6IjIxMjY2M2RkYjdhNmQ2NmIifQ==" } + } } - }, - "operationId": "upload-push-notification-certificate-p8" + } + } + } } + } }, - "/apps/{appId}/extensions/push-notification/v1/query-certificates": { - "get": { - "tags": [ - "Extensions" - ], - "summary": "Push notification Get Certificate", - "description": "Push notification : Get Certificate description", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Querying Certificate", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "integer" - }, - "body": { - "properties": { - "": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "success": true - } - } - } - } + "operationId": "get-settings-chatwoot" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Chatwoot Delete settings", + "description": "Chatwoot : Delete the settings for Chatwoot extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Chatwoot Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/chatwootDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "query-push-notification-certificates" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } + } + } + } + } } + } }, - "/apps/{appId}/extensions/email-replies/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Email replies Store settings", - "description": "Email replies : Store new settings for Email replies extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/emailRepliesRequestSchema" - } + "operationId": "delete-settings-chatwoot" + } + }, + "/apps/{appId}/extensions/message-shortcuts/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Message Shortcuts Store settings", + "description": "Message Shortcuts : Store new settings for Message shortcuts extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/messageShortcutsRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Save Message Shortcuts Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/messageShortcutsSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Update Email Replies Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/emailRepliesSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 1.8547508716583252, - "body": { - "data": { - "settings": { - "senderEmailForReplies": "mymail@example.com", - "sendEmailReplies": true - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 1.8547508716583252, + "body": { + "data": { + "settings": { + "shortcuts": { + "!cu": "See you later.", + "!ty": "Hey! Thanks a lot! 😊", + "!hbd": "Happy Birthday! 🥳", + "!ssup": "What's up!?", + "!wc": "You're welcome!" + } + } + } + } + } + } + } + } + } + }, + "operationId": "store-settings-message-shortcuts" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Message Shortcuts Update settings", + "description": "Message Shortcuts : Update the settings for Message shortcuts extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/messageShortcutsRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update Message Shortcuts Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/messageShortcutsSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "store-settings-email-replies" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Email replies Update settings", - "description": "Email replies : Update the settings for Email replies extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/emailRepliesRequestSchema" - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 1.8547508716583252, + "body": { + "data": { + "settings": { + "shortcuts": { + "!cu": "See you later.", + "!ty": "Hey! Thanks a lot! 😊", + "!hbd": "Happy Birthday! 🥳", + "!ssup": "What's up!?", + "!wc": "You're welcome!" + } } + } } - }, - "responses": { - "200": { - "description": "Update Email Replies Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/emailRepliesSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 1.8547508716583252, - "body": { - "data": { - "settings": { - "senderEmailForReplies": "mymail@example.com", - "sendEmailReplies": true - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "update-settings-message-shortcuts" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Message Shortcuts Get settings", + "description": "Message Shortcuts : Get settings for Message shortcuts extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Message Shortcuts Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/messageShortcutsGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "update-settings-email-replies" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Email replies Get settings", - "description": "Email replies : Get settings for Email replies extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 1.8547508716583252, + "body": { + "data": { + "settings": { + "shortcuts": { + "!cu": "See you later.", + "!ty": "Hey! Thanks a lot! 😊", + "!hbd": "Happy Birthday! 🥳", + "!ssup": "What's up!?", + "!wc": "You're welcome!" + } + } + } } - ], - "responses": { - "200": { - "description": "Get Email Replies Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/emailRepliesGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 1.8547508716583252, - "body": { - "data": { - "settings": { - "senderEmailForReplies": "mymail@example.com", - "sendEmailReplies": true, - "appId": 19244939392 - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "get-settings-message-shortcuts" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Message Shortcuts Delete settings", + "description": "Message Shortcuts : Delete the settings for Message shortcuts extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Message Shortcuts Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/messageShortcutsDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-email-replies" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Email replies Delete settings", - "description": "Email replies : Delete the settings for Email replies extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 1.8547508716583252, + "body": { + "data": { + "success": true + } } - ], - "responses": { - "200": { - "description": "Delete Email Replies Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/emailRepliesDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 1.8547508716583252, - "body": { - "data": { - "success": true - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "delete-settings-message-shortcuts" + } + }, + "/apps/{appId}/extensions/email-notification/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Email Notification Store settings", + "description": "Email Notification : Store new settings for Email notification extension", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/emailNotificationRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store Email Notification Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/emailNotificationRequestSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "delete-settings-email-replies" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "messageDelay": 120, + "senderEmail": "mymail@example", + "senderName": "John Doe", + "sendGridApiKey": "key_1234", + "sendGridTemplateId": "Template_1234", + "sendGridUnsubscribeGroupId": "Group_1234", + "useWebhook": true, + "webhookURL": "http://example.com", + "useWebhookBasicAuth": true, + "webhookUsername": "username", + "webhookPassword": "fgh356$123ggh**" + } + } + } + } + } + } } + } }, - "/apps/{appId}/extensions/sms-notification/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "SMS Notification Store settings", - "description": "SMS Notification : Store new settings for SMS Notification extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/smsNotificationRequestSchema" - } + "operationId": "store-settings-email-notification" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Email Notification Update settings", + "description": "Email Notification : Update the settings for Email notification extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/emailNotificationRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update Email notification Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/emailNotificationRequestSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Store SMS Notification Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/smsNotificationSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "success": true - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "messageDelay": 120, + "senderEmail": "mymail@example", + "senderName": "John Doe", + "sendGridApiKey": "key_1234", + "sendGridTemplateId": "Template_1234", + "sendGridUnsubscribeGroupId": "Group_1234", + "useWebhook": true, + "webhookURL": "http://example.com", + "useWebhookBasicAuth": true, + "webhookUsername": "username", + "webhookPassword": "fgh356$123ggh**" + } + } + } + } + } + } + } + } + }, + "operationId": "update-settings-email-notification" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Email Notification Get settings", + "description": "Email Notification : Get settings for Email notification extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Email notification Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/emailNotificationGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "store-settings-sms-notification" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "SMS Notification Update settings", - "description": "SMS Notification : Update the settings for SMS Notification extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "messageDelay": 120, + "senderEmail": "mymail@example", + "senderName": "John Doe", + "sendGridApiKey": "key_1234", + "sendGridTemplateId": "Template_1234", + "sendGridUnsubscribeGroupId": "Group_1234", + "useWebhook": true, + "webhookURL": "http://example.com", + "useWebhookBasicAuth": true, + "webhookUsername": "username", + "webhookPassword": "fgh356$123ggh**" + } + } } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/smsNotificationRequestSchema" - } + } + } + } + } + } + }, + "operationId": "get-settings-email-notification" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Email Notification Delete settings", + "description": "Email Notification : Delete the settings for Email notification extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Email Notification Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/emailNotificationDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Update SMS Notification Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/smsNotificationSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "success": true - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } + } + } + } + } + } + } + }, + "operationId": "delete-settings-email-notification" + } + }, + "/apps/{appId}/collaborators": { + "post": { + "tags": [ + "Team Management" + ], + "summary": "Adds/Remove collaborators", + "operationId": "add-collaborator", + "description": "Adds or removes collaborators for an app.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "admins": { + "description": "Array of email IDs to designate as administrators for the team.", + "type": "array", + "items": { + "type": "string" + } + }, + "moderators": { + "description": "Array of email IDs to assign as moderators for the team.", + "type": "array", + "items": { + "type": "string" + } + }, + "collaboratorsToRemove": { + "description": "Array of email IDs to remove from team collaboration.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Created App", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/teamMgmtSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "update-settings-sms-notification" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "SMS Notification Get settings", - "description": "SMS Notification : Get settings for SMS Notification extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" + "example": { + "data": { + "collaboratorsToRemove": [], + "admins": { + "admin1@cometchat.com": { + "success": true + }, + "admin2@cometchat.com": { + "success": true + } }, - { - "$ref": "#/components/parameters/secret" + "developers": { + "developer1@cometchat.com": { + "success": true + } }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Get SMS Notification Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/smsNotificationGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "fromMobileNo": "+123456790", - "messageDelay": 60, - "twilioAccountSid": "ACfe6c12T1G2bc530a5151a8eff4155386", - "twilioAuthToken": "6928f0cadd4e6Ag2d431957a7f3a563ef3", - "websiteURL": "somemail.com", - "appId": "10419c123124" - } - } - } - } - } - } + "moderators": [] + } + } + } + } + } + } + }, + "get": { + "tags": [ + "Team Management" + ], + "summary": "List collaborators", + "operationId": "list-collaborators", + "description": "Lists all the collaborators of an app.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Created App", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "properties": { + "": { + "$ref": "#/components/schemas/teamMgmtGetSchema" + } + }, + "type": "object" + } + }, + "meta": { + "properties": { + "": { + "$ref": "#/components/schemas/metaSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-sms-notification" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "SMS Notification Delete settings", - "description": "SMS Notification : Delete the settings for SMS Notification extension.", - "parameters": [ + "example": { + "data": [ { - "$ref": "#/components/parameters/key" + "id": "1", + "name": "Admin1", + "email": "admin1@cometchat.com", + "role": "admin", + "createdAt": 1618578628 }, { - "$ref": "#/components/parameters/secret" + "id": "2", + "name": "Admin2", + "email": "admin2@cometchat.com", + "role": "admin", + "createdAt": 1625220090 }, { - "$ref": "#/components/parameters/appId" + "id": "3", + "name": "Developer1", + "email": "developer1@cometchat.com", + "role": "developer", + "createdAt": 1625220076 } - ], - "responses": { - "200": { - "description": "Delete SMS Notification Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/smsNotificationDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "success": true - } - } - } - } - } + ] + } + } + } + } + } + } + }, + "/apps/{appId}/settings": { + "post": { + "tags": [ + "Settings" + ], + "summary": "Maps Settings", + "description": "Maps settings for an app.", + "operationId": "map-settings", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "settings": { + "description": "Updates the settings of an app.", + "type": "object", + "additionalProperties": { + "type": "boolean", + "default": true } + } }, - "operationId": "delete-settings-sms-notification" + "type": "object" + } } + } }, - "/apps/{appId}/extensions/push-notification/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Push notification Store settings", - "description": "Push notification : Store new settings for Push notifications extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" + "responses": { + "200": { + "description": "Map Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/deleteSchema" + } + } + }, + "type": "object" + }, + "example": { + "data": { + "": { + "success": true, + "message": "Added setting(s) successfully." + } + } + } + } + } + } + } + }, + "get": { + "tags": [ + "Settings" + ], + "summary": "List settings", + "description": "Lists settings of an app.", + "operationId": "list-settings", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "List Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "core.conversations.updateOnGroupActions": { + "type": "boolean" + }, + "core.conversations.updateOnReplies": { + "type": "boolean" + }, + "core.threads.updateOnMessageActions": { + "type": "boolean" + }, + "core.conversations.updateOnCallActivity": { + "type": "boolean" + }, + "core.conversations.updateOnMessageActions": { + "type": "boolean" + } + }, + "type": "object" }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/pushNotificationRequestSchema" - }, - "examples": { - "abc": { - "$ref": "#/components/examples/pushNotificationRequestExample" - } - } + "meta": { + "properties": { + "": { + "$ref": "#/components/schemas/metaSchema" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "core.conversations.updateOnGroupActions": true, + "core.conversations.updateOnReplies": true, + "core.threads.updateOnMessageActions": false, + "core.conversations.updateOnCallActivity": true, + "core.conversations.updateOnMessageActions": true, + "core.conversations.updateOnCustomMessage": true, + "core.notifications.push.accessible": true, + "core.notifications.push.enabled": true, + "core.notifications.push.advanced.enabled": true, + "core.notifications.push.advanced.included": [ + "preferences", + "templates", + "providers.multiple" + ] + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Settings" + ], + "summary": "UnMaps settings", + "description": "UnMaps settings of an app.", + "operationId": "unmap-settings", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "UnMap Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/deleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Save Push Notification Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/pushNotificationSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "examples": { - "abc": { - "$ref": "#/components/examples/pushNotificationResponseExample" - } - } - } + "example": { + "data": { + "success": true, + "message": "Added setting(s) successfully." + } + } + } + } + } + } + } + }, + "/apps/{appId}/extensions/data-masking/v1/settings": { + "get": { + "tags": [ + "Extensions" + ], + "summary": "Data masking Get Settings", + "description": "Data masking : Get the settings for Data masking extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Data-Maksing Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/dataMaskingGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "store-settings-push-notification" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Push notification Update settings", - "description": "Push notification : Update the settings for Push notifications extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/pushNotificationRequestSchema" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "appId": "10419c7658224", + "dropMessage": false, + "customregexData": [], + "defaultRegexData": [ + { + "enableFlag": false, + "id": "2", + "name": "Emails", + "regex": "\\\\w+([.-]?\\\\w+)*@\\\\w+([.-]?\\\\w+)*(\\\\.\\\\w{2,10})+" }, - "examples": { - "abc": { - "$ref": "#/components/examples/pushNotificationRequestExample" - } + { + "enableFlag": false, + "id": "1", + "name": "US Phone numbers", + "regex": "[2-9]\\\\d{2}-\\\\d{3}-\\\\d{4}" + }, + { + "enableFlag": false, + "id": "3", + "name": "SSN", + "regex": "\\\\d{3}-\\\\d{2}-\\\\d{4}" } + ] } + } } - }, - "responses": { - "200": { - "description": "Update Push Notification Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/pushNotificationSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "examples": { - "abc": { - "$ref": "#/components/examples/pushNotificationResponseExample" - } - } - } + } + } + } + } + } + }, + "operationId": "get-settings-data-masking" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Data masking Store or update settings", + "description": "Data masking : Store or update the settings for Data masking extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/dataMaskingRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update Data Masking Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/dataMaskingResponseSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "update-settings-push-notification" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Push notification Get settings", - "description": "Push notification : Get settings for Push notifications extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } } - ], - "responses": { - "200": { - "description": "Get Push Notification Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/pushNotificationGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "examples": { - "abc": { - "$ref": "#/components/examples/pushNotificationResponseExample" - } - } - } + } + } + } + } + } + }, + "operationId": "store-or-update-settings-data-masking" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Data masking Delete settings", + "description": "Data masking : Delete the settings for Data masking extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Data Masking Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/dataMaskingResponseSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-push-notification" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Push notification Delete settings", - "description": "Push notification : Delete the settings for Push notifications extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Delete Push Notification Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/pushNotificationDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 1.8547508716583252, - "body": { - "data": { - "success": true - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } } - }, - "operationId": "delete-settings-push-notification" + } + } + } } + } }, - "/apps/{appId}/extensions/chatwoot/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Chatwoot Store settings", - "description": "Chatwoot : Store new settings for Chatwoot extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chatwootRequestSchema" - } + "operationId": "delete-settings-data-masking" + } + }, + "/apps/{appId}/extensions/profanity-filter/v1/settings": { + "post": { + "tags": [ + "Extensions" + ], + "summary": "Profanity-filter Adds Settings", + "description": "Profanity-filter : Adds settings an app.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/profanityFilterRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Store Profanity-filter Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/profanityFilterCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Store Chatwoot Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/chatwootSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "chatwootAccessToken": "EgsXaxRZFUy4tPWDjwmyZvYk", - "customerSupportUid": "superhero1", - "chatwootInboxId": "12112", - "chatwootAccountId": "42113", - "appId": "212663ddb7a2b1b", - "webhookURL": "https://chatwoot-eu.cometchat.io/v1/reply?token=K1b_mZsa31lTuNQqbTo7xtRHY0y7UUqXfhsUJltruwM=.eyJhcHBJZCI6IjIxMAY2M2RkYjdhMmE2NmIifQ==" - } - } - } - } - } - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } + } + } + } + } + } + } + }, + "operationId": "store-settings-profanity-filter" + }, + "get": { + "tags": [ + "Extensions" + ], + "summary": "Profanity-filter Get Settings", + "description": "Profanity-filter : Get settings of an app.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Profanity-Filter Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/profanityFilterGetSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "store-settings-chatwoot" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Chatwoot Update settings", - "description": "Chatwoot : Update the settings for Chatwoot extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/chatwootRequestSchema" - } + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "settings": { + "badwords": [ + "xyz" + ], + "dropMessage": false, + "appId": "134234d234rf33" } + } } - }, - "responses": { - "200": { - "description": "Update Chatwoot Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/chatwootSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "appId": "212663ddb7a2b1b", - "chatwootAccessToken": "EgsXaxRZFUy4tPWDjwmyZvYk", - "customerSupportUid": "superhero1", - "chatwootInboxId": "12123", - "chatwootAccountId": "42613", - "webhookURL": "https://chatwoot-eu.cometchat.io/v1/reply?token=K1b_mZsa31lTuNQqbTo7xtRHY0y7UUqXfhsUJltruwM=.eyJhcHBJZCI6IjIxLjY2M2RkYjdhMmE2NmIifQ==" - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "get-settings-profanity-filter" + }, + "put": { + "tags": [ + "Extensions" + ], + "summary": "Profanity-filter Update settings", + "description": "Profanity-filter : Update the settings for Profanity-filter extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/profanityFilterRequestSchema" + } + } + } + }, + "responses": { + "200": { + "description": "Update Profanity Filter Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/profanityFilterCreateSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "update-settings-chatwoot" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Chatwoot Get settings", - "description": "Chatwoot : Get settings for Chatwoot extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } } - ], - "responses": { - "200": { - "description": "Get Chatwoot Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/chatwootGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "chatwootAccountId": "12345", - "chatwootInboxId": "12151", - "appId": "212663ddb7a2b1b", - "chatwootAccessToken": "EgsXaxRZFUy4atPWDjwmyZvYk", - "customerSupportUid": "superhero1", - "webhookURL": "https://chatwoot-eu.cometchat.io/v1/reply?token=K1b_mZsa31lTuNQqbTo7xtRHY0y7UUqXfhsUJltruwM=.eyJhcHBJZCI6IjIxMjY2M2RkYjdhNmQ2NmIifQ==" - } - } - } - } - } - } + } + } + } + } + } + }, + "operationId": "update-settings-profanity-filter" + }, + "delete": { + "tags": [ + "Extensions" + ], + "summary": "Profanity-filter Delete settings", + "description": "Profanity-filter : Delete the settings for Profanity-filter extension.", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Profanity-Filter Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/profanityFilterDeleteSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-chatwoot" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Chatwoot Delete settings", - "description": "Chatwoot : Delete the settings for Chatwoot extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "example": { + "data": { + "statusCode": 200, + "success": true, + "responseTime": 3.061743974685669, + "body": { + "data": { + "success": true + } } + } + } + } + } + } + }, + "operationId": "delete-settings-profanity-filter" + } + }, + "/apps/{appId}/webhooks": { + "post": { + "tags": [ + "Webhooks" + ], + "summary": "Create Webhook", + "description": "Creates webhook in an app.", + "operationId": "create-webhook", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + }, + { + "$ref": "#/components/parameters/X-Webhook-Version" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": [ + "id", + "name", + "webhookURL" ], - "responses": { - "200": { - "description": "Delete Chatwoot Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/chatwootDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } - } - } - } - } - } + "properties": { + "id": { + "description": "Id of the Webhook.", + "type": "string" + }, + "name": { + "description": "name of the Webhook.", + "type": "string" + }, + "useBasicAuth": { + "description": "Boolean value for Basic Auth.", + "type": "boolean" + }, + "username": { + "description": "Username of the user", + "type": "string" + }, + "password": { + "description": "Password of the user", + "type": "string" + }, + "webhookURL": { + "description": "Webhook URL of the app", + "type": "string" + }, + "enabled": { + "description": "Webhook should be enabled/ disabled", + "type": "boolean" + }, + "retryOnFailure": { + "description": "Enables automatic retries for failed webhook deliveries due to non-2xx HTTP responses or network errors.", + "type": "boolean", + "default": false + } }, - "operationId": "delete-settings-chatwoot" + "type": "object" + } } + } }, - "/apps/{appId}/extensions/message-shortcuts/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Message Shortcuts Store settings", - "description": "Message Shortcuts : Store new settings for Message shortcuts extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/messageShortcutsRequestSchema" - } + "responses": { + "200": { + "description": "Created Webhook", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/webhookSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Save Message Shortcuts Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/messageShortcutsSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 1.8547508716583252, - "body": { - "data": { - "settings": { - "shortcuts": { - "!cu": "See you later.", - "!ty": "Hey! Thanks a lot! 😊", - "!hbd": "Happy Birthday! 🥳", - "!ssup": "What's up!?", - "!wc": "You're welcome!" - } - } - } - } - } - } - } + "example": [ + { + "data": { + "id": "test_webhook201", + "name": "test_webhook201", + "webhookURL": "https://example.com/test", + "createdAt": 1684141151, + "updatedAt": 1684141151 + } + } + ] + } + } + } + } + }, + "get": { + "tags": [ + "Webhooks" + ], + "summary": "List Webhooks", + "description": "Lists webhooks in an app.", + "operationId": "list-webhooks", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + }, + { + "$ref": "#/components/parameters/X-Webhook-Version" + }, + { + "name": "perPage", + "in": "query", + "description": "Number of webhooks to be fetched in a request. The default value is 100 and the maximum value is 1000.", + "schema": { + "type": "integer", + "default": "100" + } + }, + { + "name": "searchKey", + "in": "query", + "description": "Searches for specified keyword in name", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "List Webhooks", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "properties": { + "": { + "$ref": "#/components/schemas/webhookSchema" + } + }, + "type": "object" + } + }, + "meta": { + "properties": { + "": { + "$ref": "#/components/schemas/metaSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "store-settings-message-shortcuts" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Message Shortcuts Update settings", - "description": "Message Shortcuts : Update the settings for Message shortcuts extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, + "example": { + "data": [ { - "$ref": "#/components/parameters/appId" + "id": "test_webhook201", + "name": "test_webhook201", + "webhookURL": "https://example.com/test", + "createdAt": 1684141151, + "updatedAt": 1684141151 } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/messageShortcutsRequestSchema" - } - } + ], + "meta": { + "pagination": { + "total": 1, + "count": 1, + "per_page": 10, + "current_page": 1, + "total_pages": 1 } - }, - "responses": { - "200": { - "description": "Update Message Shortcuts Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/messageShortcutsSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 1.8547508716583252, - "body": { - "data": { - "settings": { - "shortcuts": { - "!cu": "See you later.", - "!ty": "Hey! Thanks a lot! 😊", - "!hbd": "Happy Birthday! 🥳", - "!ssup": "What's up!?", - "!wc": "You're welcome!" - } - } - } - } - } - } - } + } + } + } + } + } + } + } + }, + "/apps/{appId}/webhooks/{webhookId}": { + "get": { + "tags": [ + "Webhooks" + ], + "summary": "Get Webhook", + "description": "Gets details of a webhook in an app.", + "operationId": "get-webhook", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + }, + { + "$ref": "#/components/parameters/webhookId" + }, + { + "$ref": "#/components/parameters/X-Webhook-Version" + } + ], + "responses": { + "200": { + "description": "Get Webhook", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/webhookSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "update-settings-message-shortcuts" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Message Shortcuts Get settings", - "description": "Message Shortcuts : Get settings for Message shortcuts extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, + "example": { + "data": [ { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + "data": { + "id": "test_webhook201", + "name": "test_webhook201", + "webhookURL": "https://example.com/test", + "createdAt": 1684141151, + "updatedAt": 1684141151 + } } - ], - "responses": { - "200": { - "description": "Get Message Shortcuts Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/messageShortcutsGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 1.8547508716583252, - "body": { - "data": { - "settings": { - "shortcuts": { - "!cu": "See you later.", - "!ty": "Hey! Thanks a lot! 😊", - "!hbd": "Happy Birthday! 🥳", - "!ssup": "What's up!?", - "!wc": "You're welcome!" - } - } - } - } - } - } - } + ] + } + } + } + } + } + }, + "put": { + "tags": [ + "Webhooks" + ], + "summary": "Update Webhook", + "description": "Updates webhook details of an app.", + "operationId": "update-webhook", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + }, + { + "$ref": "#/components/parameters/webhookId" + }, + { + "$ref": "#/components/parameters/X-Webhook-Version" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "name": { + "description": "name of the Webhook.", + "type": "string" + }, + "useBasicAuth": { + "description": "Boolean value for Basic Auth.", + "type": "boolean" + }, + "username": { + "description": "Username of the user", + "type": "string" + }, + "password": { + "description": "Password of the user", + "type": "string" + }, + "webhookURL": { + "description": "Webhook URL of the app", + "type": "string" + }, + "retryOnFailure": { + "description": "Enables automatic retries for failed webhook deliveries due to non-2xx HTTP responses or network errors.", + "type": "boolean", + "default": false + }, + "enabled": { + "description": "Webhook should be enabled/ disabled", + "type": "boolean" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Update Webhook", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/webhookSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "get-settings-message-shortcuts" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Message Shortcuts Delete settings", - "description": "Message Shortcuts : Delete the settings for Message shortcuts extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, + "example": { + "data": [ { - "$ref": "#/components/parameters/appId" + "data": { + "id": "test_webhook201", + "name": "updated webhook", + "webhookURL": "https://example.com/test", + "createdAt": 1684141151, + "updatedAt": 1684145021 + } } - ], - "responses": { - "200": { - "description": "Delete Message Shortcuts Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/messageShortcutsDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 1.8547508716583252, - "body": { - "data": { - "success": true - } - } - } - } - } + ] + } + } + } + } + } + }, + "delete": { + "tags": [ + "Webhooks" + ], + "summary": "Delete Webhook", + "description": "Delete the webhook from an app.", + "operationId": "delete-webhook", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + }, + { + "$ref": "#/components/parameters/webhookId" + }, + { + "$ref": "#/components/parameters/X-Webhook-Version" + } + ], + "responses": { + "200": { + "description": "Delete Webhook", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/deleteWebhookSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "delete-settings-message-shortcuts" + "example": { + "data": { + "success": true, + "message": "Deleted Webhook successfully." + } + } + } } - }, - "/apps/{appId}/extensions/email-notification/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Email Notification Store settings", - "description": "Email Notification : Store new settings for Email notification extension", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/emailNotificationRequestSchema" - } - } + } + } + } + }, + "/apps/{appId}/webhooks/{webhookId}/triggers": { + "post": { + "tags": [ + "Webhooks" + ], + "summary": "Add Triggers", + "description": " Adds trigger to a webhook in an app.", + "operationId": "add-triggers", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + }, + { + "$ref": "#/components/parameters/webhookId" + }, + { + "$ref": "#/components/parameters/X-Webhook-Version" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "triggerIds": { + "description": "array of triggerIds.", + "type": "array", + "items": { + "type": "string" } + } }, - "responses": { - "200": { - "description": "Store Email Notification Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/emailNotificationRequestSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "messageDelay": 120, - "senderEmail": "mymail@example", - "senderName": "John Doe", - "sendGridApiKey": "key_1234", - "sendGridTemplateId": "Template_1234", - "sendGridUnsubscribeGroupId": "Group_1234", - "useWebhook": true, - "webhookURL": "http://example.com", - "useWebhookBasicAuth": true, - "webhookUsername": "username", - "webhookPassword": "fgh356$123ggh**" - } - } - } - } - } - } + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Enabled Triggers", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "properties": { + "": { + "$ref": "#/components/schemas/triggerSchema" + } + }, + "type": "object" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "store-settings-email-notification" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Email Notification Update settings", - "description": "Email Notification : Update the settings for Email notification extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" + "example": { + "data": { + "message_delivery_receipt": { + "success": true, + "message": "Triggers has been added successfully." }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/emailNotificationRequestSchema" - } - } + "message_read_receipt": { + "success": true, + "message": "Triggers has been added successfully." } - }, - "responses": { - "200": { - "description": "Update Email notification Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/emailNotificationRequestSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "messageDelay": 120, - "senderEmail": "mymail@example", - "senderName": "John Doe", - "sendGridApiKey": "key_1234", - "sendGridTemplateId": "Template_1234", - "sendGridUnsubscribeGroupId": "Group_1234", - "useWebhook": true, - "webhookURL": "http://example.com", - "useWebhookBasicAuth": true, - "webhookUsername": "username", - "webhookPassword": "fgh356$123ggh**" - } - } - } - } - } - } + } + } + } + } + } + } + }, + "get": { + "tags": [ + "Webhooks" + ], + "summary": "List Triggers", + "description": "List triggers attached to a webhook in an app.", + "operationId": "list-triggers", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + }, + { + "$ref": "#/components/parameters/webhookId" + }, + { + "$ref": "#/components/parameters/X-Webhook-Version" + } + ], + "responses": { + "200": { + "description": "Enabled Triggers", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "type": "array", + "items": { + "properties": { + "": { + "$ref": "#/components/schemas/listTriggerSchema" + } + }, + "type": "object" + } + }, + "meta": { + "properties": { + "": { + "$ref": "#/components/schemas/metaSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "operationId": "update-settings-email-notification" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Email Notification Get settings", - "description": "Email Notification : Get settings for Email notification extension.", - "parameters": [ + "example": { + "data": [ { - "$ref": "#/components/parameters/key" + "id": "message_delivery_receipt", + "description": "[Beta] The hook triggers when the client chat application confirms with Cometchat servers that a message was delivered." }, { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Get Email notification Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/emailNotificationGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "messageDelay": 120, - "senderEmail": "mymail@example", - "senderName": "John Doe", - "sendGridApiKey": "key_1234", - "sendGridTemplateId": "Template_1234", - "sendGridUnsubscribeGroupId": "Group_1234", - "useWebhook": true, - "webhookURL": "http://example.com", - "useWebhookBasicAuth": true, - "webhookUsername": "username", - "webhookPassword": "fgh356$123ggh**" - } - } - } - } - } - } - } + "id": "message_read_receipt", + "description": "[Beta] The hook triggers when the client chat application confirms with Cometchat servers that a message was read." } - }, - "operationId": "get-settings-email-notification" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Email Notification Delete settings", - "description": "Email Notification : Delete the settings for Email notification extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" + ], + "meta": { + "pagination": { + "total": 2, + "count": 2, + "per_page": 100, + "current_page": 1, + "total_pages": 1 } - ], - "responses": { - "200": { - "description": "Delete Email Notification Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/emailNotificationDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } - } - } - } - } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Webhooks" + ], + "summary": "Remove Triggers", + "description": "Removes triggers from a webhook in an app.", + "operationId": "remove-triggers", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + }, + { + "$ref": "#/components/parameters/webhookId" + }, + { + "$ref": "#/components/parameters/X-Webhook-Version" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "triggerIds": { + "description": "array of triggerIds.", + "type": "array", + "items": { + "type": "string" } + } }, - "operationId": "delete-settings-email-notification" + "type": "object", + "example": { + "name": "Sachin Bahukhandi", + "email": "sachin.bahukhandi+114@cometchat.com", + "password": "sachin@123", + "contactNumber": "8936985734", + "role": "engineer", + "appName": "Create APP", + "appRegion": "us" + } + } } + } }, - "/apps/{appId}/collaborators": { - "post": { - "tags": [ - "Team Management" - ], - "summary": "Adds/Remove collaborators", - "description": "Adds or removes collaborators for an app.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "admins": { - "description": "Array of email IDs to designate as administrators for the team.", - "type": "array", - "items": { - "type": "string" - } - }, - "moderators": { - "description": "Array of email IDs to assign as moderators for the team.", - "type": "array", - "items": { - "type": "string" - } - }, - "collaboratorsToRemove": { - "description": "Array of email IDs to remove from team collaboration.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - } + "responses": { + "200": { + "description": "Enabled Triggers", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/deleteWebhookSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Created App", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/teamMgmtSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "collaboratorsToRemove": [], - "admins": { - "admin1@cometchat.com": { - "success": true - }, - "admin2@cometchat.com": { - "success": true - } - }, - "developers": { - "developer1@cometchat.com": { - "success": true - } - }, - "moderators": [] - } - } - } - } - } + "example": { + "data": { + "success": true, + "message": "Removed trigger successfully." + } } - }, - "get": { - "tags": [ - "Team Management" - ], - "summary": "List collaborators", - "description": "Lists all the collaborators of an app.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } + } + } + } + } + } + }, + "/tenants": { + "post": { + "tags": [ + "Tenants" + ], + "summary": "Add Tenant", + "description": "Add Tenant", + "operationId": "add-tenant", + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": [ + "name", + "email", + "password", + "appName", + "appRegion" ], - "responses": { - "200": { - "description": "Created App", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "properties": { - "": { - "$ref": "#/components/schemas/teamMgmtGetSchema" - } - }, - "type": "object" - } - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "id": "1", - "name": "Admin1", - "email": "admin1@cometchat.com", - "role": "admin", - "createdAt": 1618578628 - }, - { - "id": "2", - "name": "Admin2", - "email": "admin2@cometchat.com", - "role": "admin", - "createdAt": 1625220090 - }, - { - "id": "3", - "name": "Developer1", - "email": "developer1@cometchat.com", - "role": "developer", - "createdAt": 1625220076 - } - ] - } - } - } - } + "properties": { + "name": { + "description": "Specifies the name of the customer.", + "type": "string" + }, + "email": { + "description": "Specifies the email address of the customer, this will be the account identifier", + "type": "string" + }, + "password": { + "description": "For the purpose of accessing the CometChat account, a password in plain text format is required.", + "type": "string" + }, + "contactNumber": { + "description": "This represents the user's contact number information.", + "type": "string" + }, + "role": { + "description": "This indicates the role associated with the created account, such as developer, product manager, business owner, and so on.", + "type": "string" + }, + "appName": { + "description": "This defines the name of the application within CometChat.", + "type": "string" + }, + "appRegion": { + "description": "This refers to the selected region for the app. Users should select a region that is geographically close to their customer base for optimal performance.", + "type": "string", + "enum": [ + "us", + "eu", + "in" + ] + }, + "industry": { + "description": "This pertains to the specific domain that the app is associated with.", + "type": "string" + }, + "technology": { + "description": "This refers to a single-string representation of the primary technology or framework utilized by the customer, examples of which may include 'ReactJS', 'Angular', 'Vue', 'Android', 'iOS', and so on.", + "type": "string" + } + }, + "type": "object" + }, + "examples": { + "Request Example": { + "summary": "Request Example", + "value": { + "name": "Example User", + "email": "my-email@example.com", + "password": "somePassword#!", + "contactNumber": "1234567890", + "role": "engineer", + "appName": "Create App", + "appRegion": "us" + } } + } } + } }, - "/apps/{appId}/settings": { - "post": { - "tags": [ - "Settings" - ], - "summary": "Maps Settings", - "description": "Maps settings for an app.", - "operationId": "map-settings", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "settings": { - "description": "Updates the settings of an app.", - "type": "object", - "additionalProperties": { - "type": "boolean", - "default": true - } - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Map Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/deleteSchema" - } - } - }, - "type": "object" - }, - "example": { - "data": { - "": { - "success": true, - "message": "Added setting(s) successfully." - } - } - } - } + "responses": { + "200": { + "description": "Map Settings", + "content": { + "application/json": { + "schema": { + "properties": { + "": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/deleteSchema" + } + } + }, + "type": "object" + }, + "example": { + "data": { + "name": "Sachin Bahukhandi", + "email": "sachin.bahukhandi+113@cometchat.com", + "createdAt": 1715947984, + "contactNumber": "8936985734", + "app": { + "name": "Create APP", + "appId": "2531446b588709f6", + "region": "us", + "authKey": "05753974edb58b7ce7c1ab10eb3eb3033e3dd1e9", + "apiKey": "5db447476272190a2cda793e10e59f58bcc17317", + "createdAt": 1715947984, + "plan": "Build" + } + } + } + } + } + } + }, + "security": [ + { + "basicAuth": [] + } + ] + } + }, + "/apps/{appId}/moderation/rules": { + "post": { + "tags": [ + "Moderation" + ], + "summary": "Add Rule", + "description": "Create a new moderation rule to specify actions and conditions for detecting and handling inappropriate content.", + "operationId": "create-rule", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModerationRequestBody" + } + } + } + }, + "responses": { + "200": { + "description": "Created Rule", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/ModerationData" } - } + }, + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "id": "moderation-test", + "name": "Video Moderation", + "description": "AI-powered video moderation to detect unsafe content.", + "enabled": true, + "conditions": [ + { + "id": 1, + "isKeywordsReferencePresent": false, + "isMediaPresent": true, + "entity": "message", + "operand": "image", + "category": "word", + "operator": "contains", + "value": [ + "violence_greaterThan_30" + ], + "message": [ + "Image contains violence with confidence greater than 30" + ] + } + ], + "action": [ + "blockMessage" + ], + "active": true, + "createdAt": 1720003247, + "updatedAt": 1720003247, + "revisionId": "253179cf5f665257_moderation-test_1" + } } - }, - "get": { - "tags": [ - "Settings" - ], - "summary": "List settings", - "description": "Lists settings of an app.", - "operationId": "list-settings", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" + } + } + } + } + }, + "get": { + "tags": [ + "Moderation" + ], + "summary": "List Rules", + "description": "Retrieve a list of all moderation rules.", + "operationId": "list-rules", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + }, + { + "name": "limit", + "in": "query", + "description": "The number of records to fetch.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "List Rule", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/webhookSchema" + } + }, + "type": "object" }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "List Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "core.conversations.updateOnGroupActions": { - "type": "boolean" - }, - "core.conversations.updateOnReplies": { - "type": "boolean" - }, - "core.threads.updateOnMessageActions": { - "type": "boolean" - }, - "core.conversations.updateOnCallActivity": { - "type": "boolean" - }, - "core.conversations.updateOnMessageActions": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "core.conversations.updateOnGroupActions": true, - "core.conversations.updateOnReplies": true, - "core.threads.updateOnMessageActions": false, - "core.conversations.updateOnCallActivity": true, - "core.conversations.updateOnMessageActions": true, - "core.conversations.updateOnCustomMessage": true, - "core.notifications.push.accessible": true, - "core.notifications.push.enabled": true, - "core.notifications.push.advanced.enabled": true, - "core.notifications.push.advanced.included": [ - "preferences", - "templates", - "providers.multiple" - ] - } - } - } + "meta": { + "properties": { + "": { + "$ref": "#/components/schemas/metaSchema" } - } + }, + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": [ + { + "id": "moderation-test", + "name": "Video Moderation", + "description": "AI-powered video moderation to detect unsafe content.", + "enabled": true, + "conditions": [ + { + "id": 1, + "isKeywordsReferencePresent": false, + "isMediaPresent": true, + "entity": "message", + "operand": "image", + "category": "word", + "operator": "contains", + "value": [ + "violence_greaterThan_30" + ], + "message": [ + "Image contains violence with confidence greater than 30" + ] + } + ], + "action": [ + "blockMessage" + ], + "active": true, + "createdAt": 1720003247, + "updatedAt": 1720003247, + "revisionId": "253179cf5f665257_moderation-test_1" + }, + { + "id": "video-moderation1", + "name": "Video Moderation", + "description": "AI-powered video moderation to detect unsafe content.", + "enabled": true, + "conditions": [ + { + "id": 1, + "isKeywordsReferencePresent": false, + "isMediaPresent": true, + "entity": "message", + "operand": "image", + "category": "word", + "operator": "contains", + "value": [ + "violence_greaterThan_30" + ], + "message": [ + "Image contains violence with confidence greater than 30" + ] + } + ], + "action": [ + "blockMessage" + ], + "active": true, + "createdAt": 1720000488, + "updatedAt": 1720000488, + "revisionId": "253179cf5f665257_video-moderation1_1" + }, + { + "id": "text-profanity-filter", + "name": "Text Profanity filter", + "description": "Detect and censor profanity in text messages.", + "enabled": true, + "conditions": [ + { + "id": 1, + "isKeywordsReferencePresent": true, + "isMediaPresent": false, + "entity": "message", + "operand": "text", + "category": "word", + "operator": "contains", + "value": [ + "profanity-list" + ] + } + ], + "action": [ + "blockMessage" + ], + "active": true, + "createdAt": 1718355386, + "updatedAt": 1720006272, + "revisionId": "253157108b5294c4_profanity-filter_25", + "default": true + }, + { + "id": "image-moderation", + "name": "AI Image Moderation", + "description": "AI-powered image moderation to detect unsafe content.", + "enabled": false, + "conditions": [ + { + "id": 1, + "isKeywordsReferencePresent": false, + "isMediaPresent": true, + "entity": "message", + "operand": "image", + "category": "word", + "operator": "contains", + "value": [ + "AnyOf_greaterThan_30" + ] + } + ], + "action": [ + "blockMessage" + ], + "active": true, + "createdAt": 1718350200, + "updatedAt": 1719932600, + "revisionId": "253157108b5294c4_image-moderation_11", + "default": true + }, + { + "id": "video-moderation", + "name": "AI Video Moderation", + "description": "AI-powered video moderation to detect unsafe content.", + "enabled": false, + "conditions": [ + { + "id": 1, + "isKeywordsReferencePresent": false, + "isMediaPresent": true, + "entity": "message", + "operand": "video", + "category": "word", + "operator": "contains", + "value": [ + "AnyOf_greaterThan_30" + ] + } + ], + "action": [ + "dropMessage" + ], + "active": true, + "createdAt": 1718350199, + "updatedAt": 1720006008, + "revisionId": "253157108b5294c4_video-moderation_10", + "default": true + }, + { + "id": "custom-profanity-filter", + "name": "Custom Profanity filter", + "description": "Detect and censor profanity in custom messages.", + "enabled": false, + "conditions": [ + { + "id": 1, + "isListReferencePresent": true, + "isMediaPresent": false, + "entity": "message", + "operand": "custom", + "category": "word", + "operator": "contains", + "value": [ + "profanity-list" + ] + } + ], + "action": [ + "dropMessage" + ], + "active": true, + "createdAt": 1718341200, + "updatedAt": 1719819136, + "revisionId": "253157108b5294c4_profanity-filter_8", + "default": true + }, + { + "id": "contact_details_filter", + "name": "Contact details filter", + "description": "Identifies and removes phone numbers from text", + "enabled": false, + "conditions": [ + { + "id": 1, + "isKeywordsReferencePresent": false, + "isMediaPresent": false, + "entity": "message", + "operand": "text", + "category": "pattern", + "operator": "contains", + "value": [ + "\\\\+?(\\\\d{1,3})?{-.\\\\s}?\\\\(?\\\\d{1,4}?\\\\)?{-.\\\\s}?\\\\d{1,4}{-.\\\\s}?\\\\d{1,4}{-.\\\\s}?\\\\d{1,9}" + ] + }, + { + "id": 2, + "isKeywordsReferencePresent": false, + "isMediaPresent": false, + "entity": "message", + "operand": "custom", + "category": "pattern", + "operator": "contains", + "value": [ + "\\\\+?(\\\\d{1,3})?{-.\\\\s}?\\\\(?\\\\d{1,4}?\\\\)?{-.\\\\s}?\\\\d{1,4}{-.\\\\s}?\\\\d{1,4}{-.\\\\s}?\\\\d{1,9}" + ] + } + ], + "action": [ + "blockMessage" + ], + "active": true, + "createdAt": 1718186338, + "updatedAt": 1719836048, + "revisionId": "2531882e5e289115_contact_details_filter_3", + "default": true + }, + { + "id": "email_filter", + "name": "Email filter", + "description": "Identify and remove email address from messages", + "enabled": false, + "conditions": [ + { + "id": 1, + "isKeywordsReferencePresent": false, + "isMediaPresent": false, + "entity": "message", + "operand": "text", + "category": "pattern", + "operator": "contains", + "value": [ + "^{a-zA-Z0-9._%+-}+@{a-zA-Z0-9.-}+\\\\.{a-zA-Z}{2,}$" + ] + }, + { + "id": 2, + "isKeywordsReferencePresent": false, + "isMediaPresent": false, + "entity": "message", + "operand": "custom", + "category": "pattern", + "operator": "contains", + "value": [ + "^{a-zA-Z0-9._%+-}+@{a-zA-Z0-9.-}+\\\\.{a-zA-Z}{2,}$" + ] + } + ], + "action": [ + "blockMessage" + ], + "active": true, + "createdAt": 1718099938, + "updatedAt": 1719836049, + "revisionId": "2531882e5e289115_contact_email_filter_5", + "default": true + } + ], + "meta": { + "current": { + "limit": 50, + "count": 8 + } + } } - }, - "delete": { - "tags": [ - "Settings" - ], - "summary": "UnMaps settings", - "description": "UnMaps settings of an app.", - "operationId": "unmap-settings", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "UnMap Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/deleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "Added setting(s) successfully." - } - } - } + } + } + } + } + } + }, + "/apps/{appId}/moderation/rules/{ruleId}": { + "get": { + "tags": [ + "Moderation" + ], + "summary": "Get Rule", + "description": "Retrieve details of a specific moderation rule by its ID.", + "operationId": "get-rule", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + }, + { + "$ref": "#/components/parameters/ruleId" + } + ], + "responses": { + "200": { + "description": "Get Rule", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/webhookSchema" } - } + }, + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "id": "profanity-list", + "name": "Profane Words", + "category": "word", + "isCSV": false, + "searchTerms": [ + "fuck", + "damn", + "shit", + "cunt", + "nigga", + "nigger", + "wanker", + "cunt", + "fag", + "shithead", + "jizz", + "hellbitch", + "retard", + "cocksucker", + "cock", + "kill", + "kike", + "twat", + "bastard", + "death", + "asshole", + "wop", + "scumbag", + "penis", + "murder", + "dick", + "gook", + "vagina", + "rape", + "bastard", + "spic", + "spunk", + "beat" + ], + "createdAt": 1718354412, + "updatedAt": 1718354412, + "revisionId": "253157108b5294c4_profanity-list_1", + "active": true, + "default": true + } } + } } + } + } + }, + "put": { + "tags": [ + "Moderation" + ], + "summary": "Update Rule", + "description": "Update an existing moderation rule with new actions or conditions.", + "operationId": "update-rule", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + }, + { + "$ref": "#/components/parameters/ruleId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModerationRequestBody" + } + } + } }, - "/apps/{appId}/extensions/data-masking/v1/settings": { - "get": { - "tags": [ - "Extensions" - ], - "summary": "Data masking Get Settings", - "description": "Data masking : Get the settings for Data masking extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Get Data-Maksing Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/dataMaskingGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "appId": "10419c7658224", - "dropMessage": false, - "customregexData": [], - "defaultRegexData": [ - { - "enableFlag": false, - "id": "2", - "name": "Emails", - "regex": "\\\\w+([.-]?\\\\w+)*@\\\\w+([.-]?\\\\w+)*(\\\\.\\\\w{2,10})+" - }, - { - "enableFlag": false, - "id": "1", - "name": "US Phone numbers", - "regex": "[2-9]\\\\d{2}-\\\\d{3}-\\\\d{4}" - }, - { - "enableFlag": false, - "id": "3", - "name": "SSN", - "regex": "\\\\d{3}-\\\\d{2}-\\\\d{4}" - } - ] - } - } - } - } - } - } + "responses": { + "200": { + "description": "Update Rule", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/webhookSchema" } - } - }, - "operationId": "get-settings-data-masking" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Data masking Store or update settings", - "description": "Data masking : Store or update the settings for Data masking extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/dataMaskingRequestSchema" - } + }, + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "id": "moderation-test", + "name": "Video Moderation", + "description": "AI-powered video moderation to detect unsafe content.", + "enabled": true, + "conditions": [ + { + "id": 1, + "isKeywordsReferencePresent": false, + "isMediaPresent": true, + "entity": "message", + "operand": "image", + "category": "word", + "operator": "contains", + "value": [ + "violence_greaterThan_30" + ], + "message": [ + "Image contains violence with confidence greater than 30" + ] + } + ], + "action": [ + "blockMessage" + ], + "active": true, + "createdAt": 1720003247, + "updatedAt": 1720003247, + "revisionId": "253179cf5f665257_moderation-test_1" + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Moderation" + ], + "summary": "Remove rule", + "description": "Delete a specific moderation rule by its ID.", + "operationId": "delete-rule", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + }, + { + "$ref": "#/components/parameters/ruleId" + } + ], + "responses": { + "200": { + "description": "Delete Rule", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/webhookSchema" } + }, + "type": "object" } + }, + "type": "object" }, - "responses": { - "200": { - "description": "Update Data Masking Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/dataMaskingResponseSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } - } - } - } + "example": { + "data": { + "success": true, + "message": "Rule with id moderation-test has been deleted successfully." + } + } + } + } + } + } + } + }, + "/apps/{appId}/moderation/keywords": { + "post": { + "tags": [ + "Moderation" + ], + "summary": "Add Keywords", + "description": "Create a new keyword list for moderation.", + "operationId": "create-rule-keyword", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "$ref": "#/components/schemas/KeywordList" + } + } + } + }, + "responses": { + "200": { + "description": "Created Keyword", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/webhookSchema" } - } - }, - "operationId": "store-or-update-settings-data-masking" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Data masking Delete settings", - "description": "Data masking : Delete the settings for Data masking extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" + }, + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "id": "profane-word-list-1", + "name": "profane word list", + "description": "Profane word list", + "category": "word", + "isCSV": true, + "searchTerms": [ + "\"a\"", + "\"b\"", + "\"c\"" + ], + "createdAt": 1720023805, + "updatedAt": 1720023805, + "revisionId": "253179cf5f665257_profane-word-list-1_1", + "active": true + } + } + } + } + } + } + }, + "get": { + "tags": [ + "Moderation" + ], + "summary": "List keywords", + "description": "Fetches all the keywords.", + "operationId": "list-rule-keywords", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "List Keywords", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/webhookSchema" + } + }, + "type": "object" }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Delete Data Masking Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/dataMaskingResponseSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } - } - } - } + "meta": { + "properties": { + "": { + "$ref": "#/components/schemas/metaSchema" } - } - }, - "operationId": "delete-settings-data-masking" + }, + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": [ + { + "_id": "66857afdb4bf371ddfba853b", + "id": "profane-word-list-1", + "appId": "253179cf5f665257", + "name": "profane word list", + "description": "Profane word list", + "category": "word", + "isCSV": true, + "searchTerms": [ + "\"a\"", + "\"b\"", + "\"c\"" + ], + "createdAt": 1720023805, + "updatedAt": 1720023805, + "revisionId": "253179cf5f665257_profane-word-list-1_1", + "active": true, + "__v": 0 + }, + { + "_id": "666c01eccfe97336757fb611", + "id": "profanity-list", + "name": "Profane Words", + "category": "word", + "isCSV": false, + "searchTerms": [ + "fuck", + "nigger", + "fuck", + "nigger", + "wanker", + "cunt", + "damn", + "shit", + "fag", + "shithead", + "jizz", + "hellbitch", + "retard", + "cocksucker", + "cock", + "kill", + "cunt", + "kike", + "twat", + "bastard", + "death", + "asshole", + "wop", + "scumbag", + "penis", + "murder", + "dick", + "gook", + "vagina", + "rape", + "bastard", + "spic", + "spunk", + "beat" + ], + "createdAt": 1718354412, + "updatedAt": 1718354412, + "revisionId": "253157108b5294c4_profanity-list_1", + "active": true, + "__v": 0, + "default": true, + "appId": "default" + } + ], + "meta": { + "current": { + "limit": 10, + "count": 2 + } + } + } + } } - }, - "/apps/{appId}/extensions/profanity-filter/v1/settings": { - "post": { - "tags": [ - "Extensions" - ], - "summary": "Profanity-filter Adds Settings", - "description": "Profanity-filter : Adds settings an app.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/profanityFilterRequestSchema" - } + } + } + } + }, + "/apps/{appId}/moderation/keywords/{keywordId}": { + "get": { + "tags": [ + "Moderation" + ], + "summary": "Get keyword", + "description": "Retrieve details of a specific keyword list by its ID.", + "operationId": "get-rule-keyword", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/keywordId" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Get Keyword", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/webhookSchema" } - } - }, - "responses": { - "200": { - "description": "Store Profanity-filter Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/profanityFilterCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } - } - } - } - } - } - }, - "operationId": "adds-settings-profanity-filter" - }, - "get": { - "tags": [ - "Extensions" - ], - "summary": "Profanity-filter Get Settings", - "description": "Profanity-filter : Get settings of an app.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Get Profanity-Filter Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/profanityFilterGetSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "settings": { - "badwords": [ - "xyz" - ], - "dropMessage": false, - "appId": "134234d234rf33" - } - } - } - } - } - } - } - } - }, - "operationId": "get-settings-profanity-filter" - }, - "put": { - "tags": [ - "Extensions" - ], - "summary": "Profanity-filter Update settings", - "description": "Profanity-filter : Update the settings for Profanity-filter extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/profanityFilterRequestSchema" - } - } - } - }, - "responses": { - "200": { - "description": "Update Profanity Filter Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/profanityFilterCreateSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } - } - } - } - } - } - }, - "operationId": "update-settings-profanity-filter" - }, - "delete": { - "tags": [ - "Extensions" - ], - "summary": "Profanity-filter Delete settings", - "description": "Profanity-filter : Delete the settings for Profanity-filter extension.", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Delete Profanity-Filter Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/profanityFilterDeleteSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "statusCode": 200, - "success": true, - "responseTime": 3.061743974685669, - "body": { - "data": { - "success": true - } - } - } - } - } - } - } - }, - "operationId": "delete-settings-profanity-filter" - } - }, - "/apps/{appId}/webhooks": { - "post": { - "tags": [ - "Webhooks" - ], - "summary": "Create Webhook", - "description": "Creates webhook in an app.", - "operationId": "create-webhook", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - }, - { - "$ref": "#/components/parameters/X-Webhook-Version" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "id", - "name", - "webhookURL" - ], - "properties": { - "id": { - "description": "Id of the Webhook.", - "type": "string" - }, - "name": { - "description": "name of the Webhook.", - "type": "string" - }, - "useBasicAuth": { - "description": "Boolean value for Basic Auth.", - "type": "boolean" - }, - "username": { - "description": "Username of the user", - "type": "string" - }, - "password": { - "description": "Password of the user", - "type": "string" - }, - "webhookURL": { - "description": "Webhook URL of the app", - "type": "string" - }, - "enabled": { - "description": "Webhook should be enabled/ disabled", - "type": "boolean" - }, - "retryOnFailure": { - "description": "Enables automatic retries for failed webhook deliveries due to non-2xx HTTP responses or network errors.", - "type": "boolean", - "default": false - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Created Webhook", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": [ - { - "data": { - "id": "test_webhook201", - "name": "test_webhook201", - "webhookURL": "https://example.com/test", - "createdAt": 1684141151, - "updatedAt": 1684141151 - } - } - ] - } - } - } - } - }, - "get": { - "tags": [ - "Webhooks" - ], - "summary": "List Webhooks", - "description": "Lists webhooks in an app.", - "operationId": "list-webhooks", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - }, - { - "$ref": "#/components/parameters/X-Webhook-Version" - }, - { - "name": "perPage", - "in": "query", - "description": "Number of webhooks to be fetched in a request. The default value is 100 and the maximum value is 1000.", - "schema": { - "type": "integer", - "default": "100" - } - }, - { - "name": "searchKey", - "in": "query", - "description": "Searches for specified keyword in name", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "List Webhooks", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "meta": { - "properties": { - "": { - "$ref": "#/components/schemas/metaSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "id": "test_webhook201", - "name": "test_webhook201", - "webhookURL": "https://example.com/test", - "createdAt": 1684141151, - "updatedAt": 1684141151 - } - ], - "meta": { - "pagination": { - "total": 1, - "count": 1, - "per_page": 10, - "current_page": 1, - "total_pages": 1 - } - } - } - } - } - } + }, + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "id": "profanity-list", + "name": "Profane Words", + "category": "word", + "isCSV": false, + "searchTerms": [ + "fuck", + "nigger", + "fuck", + "nigger", + "wanker", + "cunt", + "damn", + "shit", + "fag", + "shithead", + "jizz", + "hellbitch", + "retard", + "cocksucker", + "cock", + "kill", + "cunt", + "kike", + "twat", + "bastard", + "death", + "asshole", + "wop", + "scumbag", + "penis", + "murder", + "dick", + "gook", + "vagina", + "rape", + "bastard", + "spic", + "spunk", + "beat" + ], + "createdAt": 1718354412, + "updatedAt": 1718354412, + "revisionId": "253157108b5294c4_profanity-list_1", + "active": true, + "default": true + } } + } } - }, - "/apps/{appId}/webhooks/{webhookId}": { - "get": { - "tags": [ - "Webhooks" - ], - "summary": "Get Webhook", - "description": "Gets details of a webhook in an app.", - "operationId": "get-webhook", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - }, - { - "$ref": "#/components/parameters/webhookId" - }, - { - "$ref": "#/components/parameters/X-Webhook-Version" - } - ], - "responses": { - "200": { - "description": "Get Webhook", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "data": { - "id": "test_webhook201", - "name": "test_webhook201", - "webhookURL": "https://example.com/test", - "createdAt": 1684141151, - "updatedAt": 1684141151 - } - } - ] - } - } - } - } - } - }, - "put": { - "tags": [ - "Webhooks" - ], - "summary": "Update Webhook", - "description": "Updates webhook details of an app.", - "operationId": "update-webhook", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - }, - { - "$ref": "#/components/parameters/webhookId" - }, - { - "$ref": "#/components/parameters/X-Webhook-Version" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "name": { - "description": "name of the Webhook.", - "type": "string" - }, - "useBasicAuth": { - "description": "Boolean value for Basic Auth.", - "type": "boolean" - }, - "username": { - "description": "Username of the user", - "type": "string" - }, - "password": { - "description": "Password of the user", - "type": "string" - }, - "webhookURL": { - "description": "Webhook URL of the app", - "type": "string" - }, - "retryOnFailure": { - "description": "Enables automatic retries for failed webhook deliveries due to non-2xx HTTP responses or network errors.", - "type": "boolean", - "default": false - }, - "enabled": { - "description": "Webhook should be enabled/ disabled", - "type": "boolean" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Update Webhook", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "data": { - "id": "test_webhook201", - "name": "updated webhook", - "webhookURL": "https://example.com/test", - "createdAt": 1684141151, - "updatedAt": 1684145021 - } - } - ] - } - } - } - } - } - }, - "delete": { - "tags": [ - "Webhooks" - ], - "summary": "Delete Webhook", - "description": "Delete the webhook from an app.", - "operationId": "delete-webhook", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - }, - { - "$ref": "#/components/parameters/webhookId" - }, - { - "$ref": "#/components/parameters/X-Webhook-Version" - } - ], - "responses": { - "200": { - "description": "Delete Webhook", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/deleteWebhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "Deleted Webhook successfully." - } - } - } - } - } - } + } + } + }, + "put": { + "tags": [ + "Moderation" + ], + "summary": "Update keyword", + "description": "Update an existing keyword list.", + "operationId": "update-rule-keyword", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/keywordId" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "$ref": "#/components/schemas/KeywordList" + } } + } }, - "/apps/{appId}/webhooks/{webhookId}/triggers": { - "post": { - "tags": [ - "Webhooks" - ], - "summary": "Add Triggers", - "description": " Adds trigger to a webhook in an app.", - "operationId": "add-triggers", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - }, - { - "$ref": "#/components/parameters/webhookId" - }, - { - "$ref": "#/components/parameters/X-Webhook-Version" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "triggerIds": { - "description": "array of triggerIds.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Enabled Triggers", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "properties": { - "": { - "$ref": "#/components/schemas/triggerSchema" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "message_delivery_receipt": { - "success": true, - "message": "Triggers has been added successfully." - }, - "message_read_receipt": { - "success": true, - "message": "Triggers has been added successfully." - } - } - } - } + "responses": { + "200": { + "description": "Update Keyword", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/webhookSchema" } - } + }, + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "id": "profanity-list", + "name": "Profane Words", + "category": "word", + "isCSV": false, + "searchTerms": [ + "fuck", + "nigger", + "fuck", + "nigger", + "wanker", + "cunt", + "damn", + "shit", + "fag", + "shithead", + "jizz", + "hellbitch", + "retard", + "cocksucker", + "cock", + "kill", + "cunt", + "kike", + "twat", + "bastard", + "death", + "asshole", + "wop", + "scumbag", + "penis", + "murder", + "dick", + "gook", + "vagina", + "rape", + "bastard", + "spic", + "spunk", + "beat" + ], + "createdAt": 1718354412, + "updatedAt": 1718354412, + "revisionId": "253157108b5294c4_profanity-list_1", + "active": true, + "default": true + } } - }, - "get": { - "tags": [ - "Webhooks" - ], - "summary": "List Triggers", - "description": "List triggers attached to a webhook in an app.", - "operationId": "list-triggers", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - }, - { - "$ref": "#/components/parameters/webhookId" - }, - { - "$ref": "#/components/parameters/X-Webhook-Version" - } - ], - "responses": { - "200": { - "description": "Enabled Triggers", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "type": "array", - "items": { - "properties": { - "": { - "$ref": "#/components/schemas/listTriggerSchema" - } - }, - "type": "object" - } - }, - "meta": { - "properties": { - "": { - "$ref": "#/components/schemas/metaSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "id": "message_delivery_receipt", - "description": "[Beta] The hook triggers when the client chat application confirms with Cometchat servers that a message was delivered." - }, - { - "id": "message_read_receipt", - "description": "[Beta] The hook triggers when the client chat application confirms with Cometchat servers that a message was read." - } - ], - "meta": { - "pagination": { - "total": 2, - "count": 2, - "per_page": 100, - "current_page": 1, - "total_pages": 1 - } - } - } - } + } + } + } + } + }, + "delete": { + "tags": [ + "Moderation" + ], + "summary": "Remove keyword", + "description": "Delete a keyword list by its ID.", + "operationId": "delete-rule-keyword", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/keywordId" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "Delete Keyword", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/webhookSchema" } - } - } - }, - "delete": { - "tags": [ - "Webhooks" - ], - "summary": "Remove Triggers", - "description": "Removes triggers from a webhook in an app.", - "operationId": "remove-triggers", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - }, - { - "$ref": "#/components/parameters/webhookId" - }, - { - "$ref": "#/components/parameters/X-Webhook-Version" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "triggerIds": { - "description": "array of triggerIds.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object", - "example": { - "name": "Sachin Bahukhandi", - "email": "sachin.bahukhandi+114@cometchat.com", - "password": "sachin@123", - "contactNumber": "8936985734", - "role": "engineer", - "appName": "Create APP", - "appRegion": "us" - } - } - } - } - }, - "responses": { - "200": { - "description": "Enabled Triggers", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/deleteWebhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "Removed trigger successfully." - } - } - } - } - } - } - } - }, - "/tenants": { - "post": { - "tags": [ - "Tenants" - ], - "summary": "Add Tenant", - "description": "Add Tenant", - "operationId": "add-tenant", - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "name", - "email", - "password", - "appName", - "appRegion" - ], - "properties": { - "name": { - "description": "Specifies the name of the customer.", - "type": "string" - }, - "email": { - "description": "Specifies the email address of the customer, this will be the account identifier", - "type": "string" - }, - "password": { - "description": "For the purpose of accessing the CometChat account, a password in plain text format is required.", - "type": "string" - }, - "contactNumber": { - "description": "This represents the user's contact number information.", - "type": "string" - }, - "role": { - "description": "This indicates the role associated with the created account, such as developer, product manager, business owner, and so on.", - "type": "string" - }, - "appName": { - "description": "This defines the name of the application within CometChat.", - "type": "string" - }, - "appRegion": { - "description": "This refers to the selected region for the app. Users should select a region that is geographically close to their customer base for optimal performance.", - "type": "string", - "enum": [ - "us", - "eu", - "in" - ] - }, - "industry": { - "description": "This pertains to the specific domain that the app is associated with.", - "type": "string" - }, - "technology": { - "description": "This refers to a single-string representation of the primary technology or framework utilized by the customer, examples of which may include 'ReactJS', 'Angular', 'Vue', 'Android', 'iOS', and so on.", - "type": "string" - } - }, - "type": "object" - }, - "examples": { - "Request Example": { - "summary": "Request Example", - "value": { - "name": "Example User", - "email": "my-email@example.com", - "password": "somePassword#!", - "contactNumber": "1234567890", - "role": "engineer", - "appName": "Create App", - "appRegion": "us" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "Map Settings", - "content": { - "application/json": { - "schema": { - "properties": { - "": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/deleteSchema" - } - } - }, - "type": "object" - }, - "example": { - "data": { - "name": "Sachin Bahukhandi", - "email": "sachin.bahukhandi+113@cometchat.com", - "createdAt": 1715947984, - "contactNumber": "8936985734", - "app": { - "name": "Create APP", - "appId": "2531446b588709f6", - "region": "us", - "authKey": "05753974edb58b7ce7c1ab10eb3eb3033e3dd1e9", - "apiKey": "5db447476272190a2cda793e10e59f58bcc17317", - "createdAt": 1715947984, - "plan": "Build" - } - } - } - } - } - } - }, - "security": [ - { - "basicAuth": [] - } - ] - } - }, - "/apps/{appId}/moderation/rules": { - "post": { - "tags": [ - "Moderation" - ], - "summary": "Add Rule", - "description": "Create a new moderation rule to specify actions and conditions for detecting and handling inappropriate content.", - "operationId": "create-rule", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ModerationRequestBody" - } - } - } - }, - "responses": { - "200": { - "description": "Created Rule", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/ModerationData" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "moderation-test", - "name": "Video Moderation", - "description": "AI-powered video moderation to detect unsafe content.", - "enabled": true, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": true, - "entity": "message", - "operand": "image", - "category": "word", - "operator": "contains", - "value": [ - "violence_greaterThan_30" - ], - "message": [ - "Image contains violence with confidence greater than 30" - ] - } - ], - "action": [ - "blockMessage" - ], - "active": true, - "createdAt": 1720003247, - "updatedAt": 1720003247, - "revisionId": "253179cf5f665257_moderation-test_1" - } - } - } - } - } - } - }, - "get": { - "tags": [ - "Moderation" - ], - "summary": "List Rules", - "description": "Retrieve a list of all moderation rules.", - "operationId": "list-rules", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - }, - { - "name": "limit", - "in": "query", - "description": "The number of records to fetch.", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "List Rule", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "id": "moderation-test", - "name": "Video Moderation", - "description": "AI-powered video moderation to detect unsafe content.", - "enabled": true, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": true, - "entity": "message", - "operand": "image", - "category": "word", - "operator": "contains", - "value": [ - "violence_greaterThan_30" - ], - "message": [ - "Image contains violence with confidence greater than 30" - ] - } - ], - "action": [ - "blockMessage" - ], - "active": true, - "createdAt": 1720003247, - "updatedAt": 1720003247, - "revisionId": "253179cf5f665257_moderation-test_1" - }, - { - "id": "video-moderation1", - "name": "Video Moderation", - "description": "AI-powered video moderation to detect unsafe content.", - "enabled": true, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": true, - "entity": "message", - "operand": "image", - "category": "word", - "operator": "contains", - "value": [ - "violence_greaterThan_30" - ], - "message": [ - "Image contains violence with confidence greater than 30" - ] - } - ], - "action": [ - "blockMessage" - ], - "active": true, - "createdAt": 1720000488, - "updatedAt": 1720000488, - "revisionId": "253179cf5f665257_video-moderation1_1" - }, - { - "id": "text-profanity-filter", - "name": "Text Profanity filter", - "description": "Detect and censor profanity in text messages.", - "enabled": true, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": true, - "isMediaPresent": false, - "entity": "message", - "operand": "text", - "category": "word", - "operator": "contains", - "value": [ - "profanity-list" - ] - } - ], - "action": [ - "blockMessage" - ], - "active": true, - "createdAt": 1718355386, - "updatedAt": 1720006272, - "revisionId": "253157108b5294c4_profanity-filter_25", - "default": true - }, - { - "id": "image-moderation", - "name": "AI Image Moderation", - "description": "AI-powered image moderation to detect unsafe content.", - "enabled": false, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": true, - "entity": "message", - "operand": "image", - "category": "word", - "operator": "contains", - "value": [ - "AnyOf_greaterThan_30" - ] - } - ], - "action": [ - "blockMessage" - ], - "active": true, - "createdAt": 1718350200, - "updatedAt": 1719932600, - "revisionId": "253157108b5294c4_image-moderation_11", - "default": true - }, - { - "id": "video-moderation", - "name": "AI Video Moderation", - "description": "AI-powered video moderation to detect unsafe content.", - "enabled": false, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": true, - "entity": "message", - "operand": "video", - "category": "word", - "operator": "contains", - "value": [ - "AnyOf_greaterThan_30" - ] - } - ], - "action": [ - "dropMessage" - ], - "active": true, - "createdAt": 1718350199, - "updatedAt": 1720006008, - "revisionId": "253157108b5294c4_video-moderation_10", - "default": true - }, - { - "id": "custom-profanity-filter", - "name": "Custom Profanity filter", - "description": "Detect and censor profanity in custom messages.", - "enabled": false, - "conditions": [ - { - "id": 1, - "isListReferencePresent": true, - "isMediaPresent": false, - "entity": "message", - "operand": "custom", - "category": "word", - "operator": "contains", - "value": [ - "profanity-list" - ] - } - ], - "action": [ - "dropMessage" - ], - "active": true, - "createdAt": 1718341200, - "updatedAt": 1719819136, - "revisionId": "253157108b5294c4_profanity-filter_8", - "default": true - }, - { - "id": "contact_details_filter", - "name": "Contact details filter", - "description": "Identifies and removes phone numbers from text", - "enabled": false, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": false, - "entity": "message", - "operand": "text", - "category": "pattern", - "operator": "contains", - "value": [ - "\\\\+?(\\\\d{1,3})?{-.\\\\s}?\\\\(?\\\\d{1,4}?\\\\)?{-.\\\\s}?\\\\d{1,4}{-.\\\\s}?\\\\d{1,4}{-.\\\\s}?\\\\d{1,9}" - ] - }, - { - "id": 2, - "isKeywordsReferencePresent": false, - "isMediaPresent": false, - "entity": "message", - "operand": "custom", - "category": "pattern", - "operator": "contains", - "value": [ - "\\\\+?(\\\\d{1,3})?{-.\\\\s}?\\\\(?\\\\d{1,4}?\\\\)?{-.\\\\s}?\\\\d{1,4}{-.\\\\s}?\\\\d{1,4}{-.\\\\s}?\\\\d{1,9}" - ] - } - ], - "action": [ - "blockMessage" - ], - "active": true, - "createdAt": 1718186338, - "updatedAt": 1719836048, - "revisionId": "2531882e5e289115_contact_details_filter_3", - "default": true - }, - { - "id": "email_filter", - "name": "Email filter", - "description": "Identify and remove email address from messages", - "enabled": false, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": false, - "entity": "message", - "operand": "text", - "category": "pattern", - "operator": "contains", - "value": [ - "^{a-zA-Z0-9._%+-}+@{a-zA-Z0-9.-}+\\\\.{a-zA-Z}{2,}$" - ] - }, - { - "id": 2, - "isKeywordsReferencePresent": false, - "isMediaPresent": false, - "entity": "message", - "operand": "custom", - "category": "pattern", - "operator": "contains", - "value": [ - "^{a-zA-Z0-9._%+-}+@{a-zA-Z0-9.-}+\\\\.{a-zA-Z}{2,}$" - ] - } - ], - "action": [ - "blockMessage" - ], - "active": true, - "createdAt": 1718099938, - "updatedAt": 1719836049, - "revisionId": "2531882e5e289115_contact_email_filter_5", - "default": true - } - ], - "meta": { - "current": { - "limit": 50, - "count": 8 - } - } - } - } - } - } - } - } - }, - "/apps/{appId}/moderation/rules/{ruleId}": { - "get": { - "tags": [ - "Moderation" - ], - "summary": "Get Rule", - "description": "Retrieve details of a specific moderation rule by its ID.", - "operationId": "get-rule", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - }, - { - "$ref": "#/components/parameters/ruleId" - } - ], - "responses": { - "200": { - "description": "Get Rule", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "profanity-list", - "name": "Profane Words", - "category": "word", - "isCSV": false, - "searchTerms": [ - "fuck", - "damn", - "shit", - "cunt", - "nigga", - "nigger", - "wanker", - "cunt", - "fag", - "shithead", - "jizz", - "hellbitch", - "retard", - "cocksucker", - "cock", - "kill", - "kike", - "twat", - "bastard", - "death", - "asshole", - "wop", - "scumbag", - "penis", - "murder", - "dick", - "gook", - "vagina", - "rape", - "bastard", - "spic", - "spunk", - "beat" - ], - "createdAt": 1718354412, - "updatedAt": 1718354412, - "revisionId": "253157108b5294c4_profanity-list_1", - "active": true, - "default": true - } - } - } - } - } - } - }, - "put": { - "tags": [ - "Moderation" - ], - "summary": "Update Rule", - "description": "Update an existing moderation rule with new actions or conditions.", - "operationId": "update-rule", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - }, - { - "$ref": "#/components/parameters/ruleId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ModerationRequestBody" - } - } - } - }, - "responses": { - "200": { - "description": "Update Rule", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "moderation-test", - "name": "Video Moderation", - "description": "AI-powered video moderation to detect unsafe content.", - "enabled": true, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": true, - "entity": "message", - "operand": "image", - "category": "word", - "operator": "contains", - "value": [ - "violence_greaterThan_30" - ], - "message": [ - "Image contains violence with confidence greater than 30" - ] - } - ], - "action": [ - "blockMessage" - ], - "active": true, - "createdAt": 1720003247, - "updatedAt": 1720003247, - "revisionId": "253179cf5f665257_moderation-test_1" - } - } - } - } - } - } - }, - "delete": { - "tags": [ - "Moderation" - ], - "summary": "Remove rule", - "description": "Delete a specific moderation rule by its ID.", - "operationId": "delete-rule", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - }, - { - "$ref": "#/components/parameters/ruleId" - } - ], - "responses": { - "200": { - "description": "Delete Rule", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "Rule with id moderation-test has been deleted successfully." - } - } - } - } - } - } - } - }, - "/apps/{appId}/moderation/keywords": { - "post": { - "tags": [ - "Moderation" - ], - "summary": "Add Keywords", - "description": "Create a new keyword list for moderation.", - "operationId": "create-rule-keyword", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "$ref": "#/components/schemas/KeywordList" - } - } - } - }, - "responses": { - "200": { - "description": "Created Keyword", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "profane-word-list-1", - "name": "profane word list", - "description": "Profane word list", - "category": "word", - "isCSV": true, - "searchTerms": [ - "\"a\"", - "\"b\"", - "\"c\"" - ], - "createdAt": 1720023805, - "updatedAt": 1720023805, - "revisionId": "253179cf5f665257_profane-word-list-1_1", - "active": true - } - } - } - } - } - } - }, - "get": { - "tags": [ - "Moderation" - ], - "summary": "List keywords", - "description": "Fetches all the keywords.", - "operationId": "list-rule-keywords", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "List Keywords", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "_id": "66857afdb4bf371ddfba853b", - "id": "profane-word-list-1", - "appId": "253179cf5f665257", - "name": "profane word list", - "description": "Profane word list", - "category": "word", - "isCSV": true, - "searchTerms": [ - "\"a\"", - "\"b\"", - "\"c\"" - ], - "createdAt": 1720023805, - "updatedAt": 1720023805, - "revisionId": "253179cf5f665257_profane-word-list-1_1", - "active": true, - "__v": 0 - }, - { - "_id": "666c01eccfe97336757fb611", - "id": "profanity-list", - "name": "Profane Words", - "category": "word", - "isCSV": false, - "searchTerms": [ - "fuck", - "nigger", - "fuck", - "nigger", - "wanker", - "cunt", - "damn", - "shit", - "fag", - "shithead", - "jizz", - "hellbitch", - "retard", - "cocksucker", - "cock", - "kill", - "cunt", - "kike", - "twat", - "bastard", - "death", - "asshole", - "wop", - "scumbag", - "penis", - "murder", - "dick", - "gook", - "vagina", - "rape", - "bastard", - "spic", - "spunk", - "beat" - ], - "createdAt": 1718354412, - "updatedAt": 1718354412, - "revisionId": "253157108b5294c4_profanity-list_1", - "active": true, - "__v": 0, - "default": true, - "appId": "default" - } - ], - "meta": { - "current": { - "limit": 10, - "count": 2 - } - } - } - } - } - } - } - } - }, - "/apps/{appId}/moderation/keywords/{keywordId}": { - "get": { - "tags": [ - "Moderation" - ], - "summary": "Get keyword", - "description": "Retrieve details of a specific keyword list by its ID.", - "operationId": "get-rule-keyword", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/keywordId" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Get Keyword", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "profanity-list", - "name": "Profane Words", - "category": "word", - "isCSV": false, - "searchTerms": [ - "fuck", - "nigger", - "fuck", - "nigger", - "wanker", - "cunt", - "damn", - "shit", - "fag", - "shithead", - "jizz", - "hellbitch", - "retard", - "cocksucker", - "cock", - "kill", - "cunt", - "kike", - "twat", - "bastard", - "death", - "asshole", - "wop", - "scumbag", - "penis", - "murder", - "dick", - "gook", - "vagina", - "rape", - "bastard", - "spic", - "spunk", - "beat" - ], - "createdAt": 1718354412, - "updatedAt": 1718354412, - "revisionId": "253157108b5294c4_profanity-list_1", - "active": true, - "default": true - } - } - } - } - } - } - }, - "put": { - "tags": [ - "Moderation" - ], - "summary": "Update keyword", - "description": "Update an existing keyword list.", - "operationId": "update-rule-keyword", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/keywordId" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "$ref": "#/components/schemas/KeywordList" - } - } - } - }, - "responses": { - "200": { - "description": "Update Keyword", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "id": "profanity-list", - "name": "Profane Words", - "category": "word", - "isCSV": false, - "searchTerms": [ - "fuck", - "nigger", - "fuck", - "nigger", - "wanker", - "cunt", - "damn", - "shit", - "fag", - "shithead", - "jizz", - "hellbitch", - "retard", - "cocksucker", - "cock", - "kill", - "cunt", - "kike", - "twat", - "bastard", - "death", - "asshole", - "wop", - "scumbag", - "penis", - "murder", - "dick", - "gook", - "vagina", - "rape", - "bastard", - "spic", - "spunk", - "beat" - ], - "createdAt": 1718354412, - "updatedAt": 1718354412, - "revisionId": "253157108b5294c4_profanity-list_1", - "active": true, - "default": true - } - } - } - } - } - } - }, - "delete": { - "tags": [ - "Moderation" - ], - "summary": "Remove keyword", - "description": "Delete a keyword list by its ID.", - "operationId": "delete-rule-keyword", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/keywordId" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Delete Keyword", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "Keyword with id profanity-list has been deleted successfully." - } - } - } - } - } - } - } - }, - "/apps/{appId}/moderation/rules/{ruleId}/revisions": { - "get": { - "tags": [ - "Moderation" - ], - "summary": "Get Rule Revisions", - "description": "Fetches a rule's revisions.", - "operationId": "list-rule-revisions", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - }, - { - "$ref": "#/components/parameters/ruleId" - } - ], - "responses": { - "200": { - "description": "List Rule revisions", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "id": "moderation-test", - "name": "Video Moderation", - "description": "AI-powered video moderation to detect unsafe content.", - "enabled": true, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": false, - "entity": "message", - "operand": "text", - "category": "word", - "operator": "equals", - "value": [ - "paris" - ] - } - ], - "action": [ - "blockMessage" - ], - "active": true, - "createdAt": 1720011899, - "updatedAt": 1720011905, - "revisionId": "253179cf5f665257_moderation-test_2" - }, - { - "id": "moderation-test", - "name": "Video Moderation", - "description": "AI-powered video moderation to detect unsafe content.", - "enabled": true, - "conditions": [ - { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": true, - "entity": "message", - "operand": "image", - "category": "word", - "operator": "contains", - "value": [ - "violence_greaterThan_30" - ], - "message": [ - "Image contains violence with confidence greater than 30" - ] - } - ], - "action": [ - "blockMessage" - ], - "active": false, - "createdAt": 1720011899, - "updatedAt": 1720011899, - "revisionId": "253179cf5f665257_moderation-test_1" - } - ], - "meta": { - "current": { - "limit": 10, - "count": 2 - } - } - } - } - } - } - } - } - }, - "/apps/{appId}/moderation/blocked-messages": { - "get": { - "tags": [ - "Moderation" - ], - "summary": "List Blocked Messages", - "description": "Lists the messages blocked by the moderation service.", - "operationId": "list-moderation-blocked-messages", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "List Blocked Messages", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": [ - { - "ruleId": "image-moderation", - "ruleName": "AI Image Moderation", - "revisionId": "253156be20433c97_image-moderation_4", - "condition": { - "id": 1, - "isKeywordsReferencePresent": false, - "isMediaPresent": true, - "entity": "message", - "operand": "image", - "category": "word", - "operator": "contains", - "value": [ - "Any unsafe content_greaterThan_70" - ], - "message": [ - "Image contains Any unsafe content with confidence greater than 70" - ], - "weight": 1 - }, - "message": { - "id": "65", - "muid": "_5zytzmceo", - "conversationId": "superhero1_user_superhero2", - "sender": "superhero1", - "receiverType": "user", - "receiver": "superhero2", - "category": "message", - "type": "image", - "data": { - "metadata": { - "file": [] - }, - "resource": "WEB-4_0_3-ffa565b2-476e-493d-aeb5-4c750aae3ab1-1719925738505", - "url": "https://data-eu.cometchat.io/2601293c931567f7/media/1719993037_336554568_9e044ea0ed5817381b189680f392bafe.jpeg", - "attachments": [ - { - "name": "download.jpeg", - "extension": "jpeg", - "size": 4761, - "mimeType": "image/jpeg", - "url": "https://data-eu.cometchat.io/2601293c931567f7/media/1719993037_336554568_9e044ea0ed5817381b189680f392bafe.jpeg" - } - ], - "entities": { - "sender": { - "entity": { - "uid": "superhero1", - "name": "Iron Man", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/ironman.png", - "status": "offline", - "role": "default" - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-eu.cometchat.io/assets/images/avatars/captainamerica.png", - "status": "offline", - "role": "default", - "conversationId": "superhero1_user_superhero2" - }, - "entityType": "user" - } - }, - "moderation": { - "status": "pending" - } - }, - "sentAt": 1719993037, - "updatedAt": 1719993037 - }, - "action": [ - "blockMessage" - ], - "createdAt": 1719993038, - "updatedAt": 1719993038 - } - ], - "meta": { - "current": { - "limit": 50, - "count": 20 - } - } - } - } - } - } - } - } - }, - "/apps/{appId}/moderation/blocked-messages/{messageId}": { - "patch": { - "tags": [ - "Moderation" - ], - "summary": "Approve Blocked Messages", - "description": "Approves the messages blocked by the moderation service.", - "operationId": "approve-moderation-blocked-messages", - "parameters": [ - { - "$ref": "#/components/parameters/key" - }, - { - "$ref": "#/components/parameters/secret" - }, - { - "$ref": "#/components/parameters/appId" - }, - { - "$ref": "#/components/parameters/messageId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "required": [ - "status" - ], - "properties": { - "status": { - "description": "Moderation status of the message.", - "type": "string", - "example": "approved" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Approve Blocked Messages", - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": { - "": { - "$ref": "#/components/schemas/webhookSchema" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "example": { - "data": { - "success": true, - "message": "Message with ID 268 has been approved." - } - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "CategoryType": { - "description": "Type of entries in the list", - "type": "string", - "enum": [ - "word", - "pattern", - "sentence-similarity" - ] - }, - "Condition": { - "properties": { - "id": { - "description": "Unique identifier of a condition", - "type": "integer", - "example": 1 - }, - "entity": { - "description": "Entity type in which moderation will be performed.", - "type": "string", - "example": "message" - }, - "operand": { - "description": "Type of message content to moderate (e.g., text, image, video, custom).", - "type": "string", - "enum": [ - "text", - "image", - "video", - "custom" - ], - "example": "image" - }, - "operator": { - "description": "Operation to be performed for condition evaluation (e.g., contains, equals).", - "type": "string", - "enum": [ - "contains", - "equals" - ], - "example": "contains" - }, - "category": { - "description": "Type of entries for evaluation, either 'word' or 'pattern'.", - "type": "string", - "enum": [ - "word", - "pattern" - ], - "example": "word" - }, - "isKeywordReferencePresent": { - "description": "Indicates if the value contains a reference to a keyword list.", - "type": "boolean", - "example": false - }, - "isMediaPresent": { - "description": "Indicates if the incoming message contains media content.", - "type": "boolean", - "example": true - }, - "value": { - "description": "Actual value for the condition, or reference ID if isKeywordReferencePresent is true, or a formula if isMediaPresent is true.", - "type": "string", - "example": "violence_greaterThan_30" - } - }, - "type": "object" - }, - "GroupFilter": { - "required": [ - "entity", - "operand", - "operator", - "value", - "type" - ], - "properties": { - "entity": { - "description": "Type of entity for group filter", - "type": "string", - "enum": [ - "group" - ] - }, - "operand": { - "description": "Field to apply the filter on for 'group'", - "type": "string", - "enum": [ - "guid", - "name", - "type", - "tags", - "createdAt" - ] - }, - "operator": { - "description": "Operator to use for filtering", - "type": "string", - "enum": [ - "equals", - "notEquals", - "in", - "notIn", - "startsWith", - "endsWith", - "lessThan", - "greaterThan" - ], - "example": "equals" - }, - "value": { - "description": "Value for the filter", - "type": "string", - "example": "exampleValue" - }, - "type": { - "description": "Type of the filter, specifying sender or receiver", - "type": "string", - "enum": [ - "sender", - "receiver" - ], - "example": "sender" - } - }, - "type": "object" - }, - "KeywordList": { - "discriminator": { - "propertyName": "category", - "mapping": { - "word": "#/components/schemas/WordPatternSchema", - "pattern": "#/components/schemas/PatternSchema", - "sentence-similarity": "#/components/schemas/SentenceSimilaritySchema" - } - }, - "oneOf": [ - { - "$ref": "#/components/schemas/WordPatternSchema" - }, - { - "$ref": "#/components/schemas/PatternSchema" - }, - { - "$ref": "#/components/schemas/SentenceSimilaritySchema" - } - ] - }, - "ModerationData": { - "properties": { - "id": { - "type": "string", - "example": "moderation-test" - }, - "name": { - "type": "string", - "example": "Video Moderation" - }, - "description": { - "type": "string", - "example": "AI-powered video moderation to detect unsafe content." - }, - "enabled": { - "type": "boolean", - "example": true - }, - "conditions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Condition" - } - }, - "action": { - "type": "array", - "items": { - "type": "string", - "example": "blockMessage" - } - }, - "active": { - "type": "boolean", - "example": true - }, - "createdAt": { - "type": "integer", - "example": 1720003247 - }, - "updatedAt": { - "type": "integer", - "example": 1720003247 - }, - "revisionId": { - "type": "string", - "example": "253179cf5f665257_moderation-test_1" - } - }, - "type": "object" - }, - "ModerationRequestBody": { - "properties": { - "id": { - "description": "Unique identifier for the moderation rule.", - "type": "string", - "example": "moderation-test" - }, - "name": { - "description": "Descriptive name for the moderation rule.", - "type": "string", - "example": "Video Moderation" - }, - "enabled": { - "description": "Indicates whether the rule is active.", - "type": "boolean", - "example": true - }, - "description": { - "description": "Detailed explanation of the rule's purpose.", - "type": "string", - "example": "AI-powered video moderation to detect unsafe content." - }, - "action": { - "description": "Actions to be taken when a violation is detected.", - "type": "array", - "items": { - "type": "string", - "example": "blockMessage" - } - }, - "filters": { - "description": "List of filters to apply", - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/UserFilter" - }, - { - "$ref": "#/components/schemas/GroupFilter" - } - ] - } - }, - "conditions": { - "description": "List of conditions that must be met for the rule to trigger.", - "type": "array", - "items": { - "$ref": "#/components/schemas/Condition" - } - } - }, - "type": "object" - }, - "PatternSchema": { - "required": [ - "category", - "searchTerms" - ], - "properties": { - "file": { - "description": "CSV file containing the keywords or regex patterns for the list.", - "type": "string", - "format": "binary" - }, - "id": { - "description": "Unique identifier for the pattern list.", - "type": "string", - "example": "ID-of-the-pattern-list" - }, - "name": { - "description": "Descriptive name for the pattern list.", - "type": "string", - "example": "Name of the pattern list" - }, - "description": { - "description": "Detailed explanation of the pattern list's purpose.", - "type": "string", - "example": "Description of the pattern list" - }, - "category": { - "$ref": "#/components/schemas/CategoryType" - }, - "searchTerms": { - "description": "Comma-separated values of keywords or regex patterns if no file is provided.", - "type": "string", - "example": "AI-powered video moderation to detect unsafe content." - } - }, - "type": "object" - }, - "SentenceSimilaritySchema": { - "required": [ - "category", - "disallowedSentences" - ], - "properties": { - "file": { - "description": "CSV file containing the keywords or regex patterns for the list.", - "type": "string", - "format": "binary" - }, - "id": { - "description": "Unique identifier for the keyword list.", - "type": "string", - "example": "ID-of-the-sentences-list" - }, - "name": { - "description": "Descriptive name for the keyword list.", - "type": "string", - "example": "Name of the sentences list" - }, - "description": { - "description": "Detailed explanation of the keyword list's purpose.", - "type": "string", - "example": "Description of the sentences list" - }, - "category": { - "$ref": "#/components/schemas/CategoryType" - }, - "disallowedSentences": { - "description": "Comma-separated sentences that are disallowed if the category is 'sentence-similarity'.", - "type": "array", - "items": { - "type": "string" - }, - "example": [ - "Hello, let's connect on Whatsapp." - ] - } - }, - "type": "object" - }, - "UserFilter": { - "required": [ - "entity", - "operand", - "operator", - "value", - "type" - ], - "properties": { - "type": { - "description": "Type of the filter, specifying sender or receiver", - "type": "string", - "enum": [ - "sender", - "receiver" - ], - "example": "sender" - }, - "entity": { - "description": "Type of entity for user filter", - "type": "string", - "enum": [ - "user" - ] - }, - "operand": { - "description": "Field to apply the filter on for 'user'", - "type": "string", - "enum": [ - "uid", - "name", - "role", - "tags", - "createdAt" - ] - }, - "operator": { - "description": "Operator to use for filtering", - "type": "string", - "enum": [ - "equals", - "not equals", - "in", - "not in", - "startsWith" - ], - "example": "equals" - }, - "value": { - "description": "Value for the filter", - "type": "string", - "example": "admin" - } - }, - "type": "object" - }, - "WithTemplate": { - "required": [ - "templateId" - ], - "properties": { - "templateId": { - "type": "string", - "example": "default" - }, - "settings": { - "type": "object" - } - }, - "type": "object" - }, - "WithoutTemplate": { - "required": [ - "settings" - ], - "properties": { - "settings": { - "type": "object" - } - }, - "type": "object" - }, - "WordPatternSchema": { - "required": [ - "category", - "searchTerms" - ], - "properties": { - "file": { - "description": "CSV file containing the keywords or regex patterns for the list.", - "type": "string", - "format": "binary" - }, - "id": { - "description": "Unique identifier for the word list.", - "type": "string", - "example": "ID-of-the-word-list" - }, - "name": { - "description": "Descriptive name for the word list.", - "type": "string", - "example": "Name of the word list" - }, - "description": { - "description": "Detailed explanation of the word list's purpose.", - "type": "string", - "example": "Description of the word list" - }, - "category": { - "$ref": "#/components/schemas/CategoryType" - }, - "searchTerms": { - "description": "Comma-separated values of keywords or regex patterns if no file is provided.", - "type": "string", - "example": "AI-powered video moderation to detect unsafe content." - } - }, - "type": "object" - }, - "appSchema": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "integer" - }, - "plan": { - "type": "integer" - }, - "trialEndsAt": { - "type": "integer" - }, - "state": { - "type": "string" - }, - "owner": { - "type": "integer" - }, - "region": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "appOwner": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "email": { - "type": "string" - } - }, - "type": "object" - }, - "appRegion": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - } - }, - "type": "object" - }, - "apiKeys": { - "properties": { - "": { - "properties": { - "apiKey": { - "type": "string" - }, - "name": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "createdBy": { - "type": "string" - } - }, - "type": "object" - }, - "": { - "properties": { - "apiKey": { - "type": "string" - }, - "name": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "createdBy": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "bitlyCreateSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "bitlyAccessToken": { - "type": "string" - }, - "groupGUID": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "bitlyDeleteSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "bitlyGetSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "bitlyAccessToken": { - "type": "string" - }, - "groupGUID": { - "type": "string" - }, - "appId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "bitlyRequestSchema": { - "properties": { - "settings": { - "required": [ - "bitlyAccessToken", - "groupGUID" - ], - "properties": { - "bitlyAccessToken": { - "description": "Used as authentication mechanism when connecting to bitly", - "type": "string", - "default": "1213n2kn2232ffg" - }, - "groupGUID": { - "description": "Used to connect to a particular group in given organisation in bitly", - "type": "string", - "default": "1234ddsf5eee22" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "chatWidgetPutSchema": { - "properties": { - "settings": { - "required": [ - "name", - "version" - ], - "properties": { - "name": { - "description": "Name of the Chat Widget", - "type": "string", - "default": "Test Chat Widget" - }, - "version": { - "description": "Version is always v2", - "type": "string", - "default": "v2" - }, - "style": { - "required": [ - "docked_layout_icon_background", - "docked_layout_icon_close", - "docked_layout_icon_open" - ], - "properties": { - "custom_css": { - "description": "Custom CSS if required", - "type": "string" - }, - "custom_js": { - "description": "Custom JS if required", - "type": "string", - "default": "v2" - }, - "docked_layout_icon_background": { - "description": "The background color for Icon in the Docked mode", - "type": "string", - "default": "#03a9f4" - }, - "docked_layout_icon_close": { - "description": "The image to be displayed on the Docked layout icon when the Widget is closed.", - "type": "string", - "default": "https://widget-js.cometchat.io/v2/resources/chat_close.svg" - }, - "docked_layout_icon_open": { - "description": "The image to be displayed on the Docked layout icon when the widget is opened.", - "type": "string", - "default": "https://widget-js.cometchat.io/v2/resources/chat_bubble.svg" - }, - "primary_color": { - "description": "Primary Colour", - "type": "string", - "default": "#03A9F4" - }, - "foreground_color": { - "description": "Foreground Colour", - "type": "string", - "default": " #000000" - }, - "background_color": { - "description": "Background Colour", - "type": "string", - "default": "#FFFFFF" - }, - "override_system_background_colors": { - "description": "Override System Background Colours", - "type": "boolean", - "default": true - } - }, - "type": "object" - }, - "sidebar": { - "required": [ - "users", - "groups", - "calls", - "recent_chat_listing", - "user_listing", - "sidebar_navigation_sequence" - ], - "properties": { - "chats": { - "description": "Show Chats section in the Sidebar", - "type": "boolean", - "default": true - }, - "users": { - "description": "Show Users section in the Sidebar", - "type": "boolean", - "default": true - }, - "groups": { - "description": "Show Groups section in the Sidebar", - "type": "boolean", - "default": true - }, - "calls": { - "description": "Show Calls section in the Sidebar", - "type": "boolean" - }, - "user_settings": { - "description": "Show User Settings section in the Sidebar", - "type": "boolean" - }, - "recent_chat_listing": { - "description": "Which chats should be displayed in the Recent chat section", - "type": "string", - "default": "all_chats" - }, - "user_listing": { - "description": "Which users should be displayed in the User list", - "type": "string", - "default": "all_users" - }, - "sidebar_navigation_sequence": { - "description": "Order of sections in Sidebar. Do not add any new values.", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "chats", - "users", - "groups", - "calls", - "settings" - ] - } - }, - "type": "object" - }, - "main": { - "required": [ - "allow_creating_polls", - "allow_delete_groups", - "allow_kick_ban_members", - "allow_message_reactions", - "allow_moderator_to_delete_member_messages", - "allow_promote_demote_members", - "block_user", - "create_groups", - "enable_collaborative_document", - "enable_collaborative_whiteboard", - "enable_deleting_messages", - "enable_editing_messages", - "enable_message_translation", - "enable_sending_messages", - "enable_sound_for_calls", - "enable_sound_for_messages", - "enable_threaded_replies", - "enable_video_calling", - "enable_voice_calling", - "hide_deleted_messages", - "hide_join_leave_notifications", - "join_or_leave_groups", - "send_emojis", - "send_message_in_private_to_group_member", - "send_photos_videos", - "share_live_reactions", - "show_call_notifications", - "show_delivery_read_indicators", - "show_emojis_in_larger_size" - ], - "properties": { - "allow_add_members": { - "description": "Allow adding new group members", - "type": "boolean", - "default": true - }, - "allow_creating_polls": { - "description": "Enable Polls extension to allow sending polls", - "type": "boolean" - }, - "allow_delete_groups": { - "description": "Allow deletion of groups", - "type": "boolean", - "default": true - }, - "allow_kick_ban_members": { - "description": "Allow kick/ban group member actions", - "type": "boolean", - "default": true - }, - "allow_message_reactions": { - "description": "Enable Reactions extension to allow reactions to messages", - "type": "boolean" - }, - "allow_moderator_to_delete_member_messages": { - "description": "Allow moderators to delete messages from group", - "type": "boolean" - }, - "allow_promote_demote_members": { - "description": "Allow changing scopes of group members", - "type": "boolean" - }, - "block_user": { - "description": "Allow blocking a user", - "type": "boolean", - "default": true - }, - "create_groups": { - "description": "Allow creating new groups", - "type": "boolean", - "default": true - }, - "enable_collaborative_document": { - "description": "Enable Collaborative Document extension before enabling this", - "type": "boolean" - }, - "enable_collaborative_whiteboard": { - "description": "Enable Collaborative Whiteboard extension before enabling this.", - "type": "boolean" - }, - "enable_deleting_messages": { - "description": "Allow deletion of messages from chats", - "type": "boolean", - "default": true - }, - "enable_editing_messages": { - "description": "Allow edition of messages from chats", - "type": "boolean", - "default": true - }, - "enable_message_translation": { - "description": "Enable Message translation extension before enabling this.", - "type": "boolean" - }, - "enable_sending_messages": { - "description": "Allow sending messages", - "type": "boolean", - "default": true - }, - "enable_sound_for_calls": { - "description": "Play sound for incoming calls", - "type": "boolean", - "default": true - }, - "enable_sound_for_messages": { - "description": "Play sound for incoming messages", - "type": "boolean", - "default": true - }, - "enable_threaded_replies": { - "description": "Allow creation of message threads", - "type": "boolean", - "default": true - }, - "enable_video_calling": { - "description": "Enable video calling", - "type": "boolean", - "default": true - }, - "enable_voice_calling": { - "description": "Enable voice calling", - "type": "boolean", - "default": true - }, - "hide_deleted_messages": { - "description": "Hide message bubbles for deleted messages", - "type": "boolean", - "default": true - }, - "hide_join_leave_notifications": { - "description": "Hide the notifications in chat when someone joins or leaves a group", - "type": "boolean", - "default": true - }, - "join_or_leave_groups": { - "description": "Allow joining/leaving groups", - "type": "boolean", - "default": true - }, - "send_emojis": { - "description": "Show the emojis keyboard", - "type": "boolean", - "default": true - }, - "send_files": { - "description": "Allow sending files in chats", - "type": "boolean", - "default": true - }, - "send_message_in_private_to_group_member": { - "description": "Allow sending private messages to group members", - "type": "boolean" - }, - "send_photos_videos": { - "description": "Allow sending Photos and Videos in chat", - "type": "boolean", - "default": true - }, - "share_live_reactions": { - "description": "Allow sending Live Reactions", - "type": "boolean", - "default": true - }, - "show_call_notifications": { - "description": "Show notification for incoming calls", - "type": "boolean", - "default": true - }, - "show_delivery_read_indicators": { - "description": "Show delivery and read receipts", - "type": "boolean", - "default": true - }, - "show_emojis_in_larger_size": { - "description": "Display larger emojis when sending one, two or three in a message.", - "type": "boolean", - "default": true - }, - "show_stickers": { - "description": "Enable Stickers extension before enabling this", - "type": "boolean", - "default": true - }, - "show_typing_indicators": { - "description": "Show typing... indicators in chats", - "type": "boolean" - }, - "show_user_presence": { - "description": "Show user preferences", - "type": "boolean", - "default": true - }, - "view_group_members": { - "description": "Allow viewing group members", - "type": "boolean", - "default": true - }, - "allow_mention_members": { - "description": "Allow Mention Members", - "type": "boolean", - "default": false - }, - "enable_replying_to_messages": { - "description": "Enable Replying To Messages", - "type": "boolean", - "default": false - }, - "enable_share_copy_forward_messages": { - "description": "Enable Share Copy Forward Messages", - "type": "boolean", - "default": false - }, - "highlight_messages_from_moderators": { - "description": "Highlight Messages From Moderators", - "type": "boolean", - "default": false - }, - "show_call_recording_option": { - "description": "Show Call Recording Option", - "type": "boolean", - "default": false - }, - "send_voice_notes": { - "description": "Send Voice Notes", - "type": "boolean", - "default": false - }, - "send_gifs": { - "description": "Send Gifs", - "type": "boolean", - "default": false - }, - "share_location": { - "description": "Share Location", - "type": "boolean", - "default": false - }, - "view_shared_media": { - "description": "Allow viewing all Shared media in a group", - "type": "boolean", - "default": true - }, - "set_groups_in_qna_mode_by_moderators": { - "description": "Set Groups In Qna Mode By Moderators", - "type": "boolean", - "default": false - }, - "send_reply_in_private_to_group_member": { - "description": "Send Reply In Private To Group Member", - "type": "boolean", - "default": false - } - }, - "type": "object" - }, - "appId": { - "description": "Cometchat appid", - "type": "string", - "default": "564663ddb71bbb" - }, - "widgetId": { - "description": "Widget Id that need to modify", - "type": "string", - "default": "9af42f42-2f27-456d-9bfc-d77c29ec67bc" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "chatWidgetRequestSchema": { - "properties": { - "settings": { - "required": [ - "name", - "version" - ], - "properties": { - "name": { - "description": "Name of the Chat Widget", - "type": "string", - "default": "Test Chat Widget" - }, - "version": { - "description": "Version is always v2", - "type": "string", - "default": "v2" - }, - "style": { - "required": [ - "docked_layout_icon_background", - "docked_layout_icon_close", - "docked_layout_icon_open" - ], - "properties": { - "custom_css": { - "description": "Custom CSS if required", - "type": "string" - }, - "custom_js": { - "description": "Custom JS if required", - "type": "string", - "default": "v2" - }, - "docked_layout_icon_background": { - "description": "The background color for Icon in the Docked mode", - "type": "string", - "default": "#03a9f4" - }, - "docked_layout_icon_close": { - "description": "The image to be displayed on the Docked layout icon when the Widget is closed.", - "type": "string", - "default": "https://widget-js.cometchat.io/v2/resources/chat_close.svg" - }, - "docked_layout_icon_open": { - "description": "The image to be displayed on the Docked layout icon when the widget is opened.", - "type": "string", - "default": "https://widget-js.cometchat.io/v2/resources/chat_bubble.svg" - }, - "primary_color": { - "description": "Primary Colour", - "type": "string", - "default": "#03A9F4" - }, - "foreground_color": { - "description": "Foreground Colour", - "type": "string", - "default": " #000000" - }, - "background_color": { - "description": "Background Colour", - "type": "string", - "default": "#FFFFFF" - }, - "override_system_background_colors": { - "description": "Override System Background Colours", - "type": "boolean", - "default": true - } - }, - "type": "object" - }, - "sidebar": { - "required": [ - "users", - "groups", - "calls", - "recent_chat_listing", - "user_listing", - "sidebar_navigation_sequence" - ], - "properties": { - "chats": { - "description": "Show Chats section in the Sidebar", - "type": "boolean", - "default": true - }, - "users": { - "description": "Show Users section in the Sidebar", - "type": "boolean", - "default": true - }, - "groups": { - "description": "Show Groups section in the Sidebar", - "type": "boolean", - "default": true - }, - "calls": { - "description": "Show Calls section in the Sidebar", - "type": "boolean" - }, - "user_settings": { - "description": "Show User Settings section in the Sidebar", - "type": "boolean" - }, - "recent_chat_listing": { - "description": "Which chats should be displayed in the Recent chat section", - "type": "string", - "default": "all_chats" - }, - "user_listing": { - "description": "Which users should be displayed in the User list", - "type": "string", - "default": "all_users" - }, - "sidebar_navigation_sequence": { - "description": "Order of sections in Sidebar. Do not add any new values.", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "chats", - "users", - "groups", - "calls", - "settings" - ] - }, - "start_a_new_conversation": { - "description": "Start a new Conversation", - "type": "string", - "default": "all_chats" - }, - "group_listing": { - "description": "Group Listing", - "type": "string", - "default": "public_and_password_protected_groups" - } - }, - "type": "object" - }, - "main": { - "required": [ - "allow_creating_polls", - "allow_delete_groups", - "allow_kick_ban_members", - "allow_message_reactions", - "allow_moderator_to_delete_member_messages", - "allow_promote_demote_members", - "block_user", - "create_groups", - "enable_collaborative_document", - "enable_collaborative_whiteboard", - "enable_deleting_messages", - "enable_editing_messages", - "enable_message_translation", - "enable_sending_messages", - "enable_sound_for_calls", - "enable_sound_for_messages", - "enable_threaded_replies", - "enable_video_calling", - "enable_voice_calling", - "hide_deleted_messages", - "hide_join_leave_notifications", - "join_or_leave_groups", - "send_emojis", - "send_message_in_private_to_group_member", - "send_photos_videos", - "share_live_reactions", - "show_call_notifications", - "show_delivery_read_indicators", - "show_emojis_in_larger_size" - ], - "properties": { - "allow_add_members": { - "description": "Allow adding new group members", - "type": "boolean", - "default": true - }, - "allow_creating_polls": { - "description": "Enable Polls extension to allow sending polls", - "type": "boolean" - }, - "allow_delete_groups": { - "description": "Allow deletion of groups", - "type": "boolean", - "default": true - }, - "allow_kick_ban_members": { - "description": "Allow kick/ban group member actions", - "type": "boolean", - "default": true - }, - "allow_message_reactions": { - "description": "Enable Reactions extension to allow reactions to messages", - "type": "boolean" - }, - "allow_moderator_to_delete_member_messages": { - "description": "Allow moderators to delete messages from group", - "type": "boolean" - }, - "allow_promote_demote_members": { - "description": "Allow changing scopes of group members", - "type": "boolean" - }, - "block_user": { - "description": "Allow blocking a user", - "type": "boolean", - "default": true - }, - "create_groups": { - "description": "Allow creating new groups", - "type": "boolean", - "default": true - }, - "enable_collaborative_document": { - "description": "Enable Collaborative Document extension before enabling this", - "type": "boolean" - }, - "enable_collaborative_whiteboard": { - "description": "Enable Collaborative Whiteboard extension before enabling this.", - "type": "boolean" - }, - "enable_deleting_messages": { - "description": "Allow deletion of messages from chats", - "type": "boolean", - "default": true - }, - "enable_editing_messages": { - "description": "Allow edition of messages from chats", - "type": "boolean", - "default": true - }, - "enable_message_translation": { - "description": "Enable Message translation extension before enabling this.", - "type": "boolean" - }, - "enable_sending_messages": { - "description": "Allow sending messages", - "type": "boolean", - "default": true - }, - "enable_sound_for_calls": { - "description": "Play sound for incoming calls", - "type": "boolean", - "default": true - }, - "enable_sound_for_messages": { - "description": "Play sound for incoming messages", - "type": "boolean", - "default": true - }, - "enable_threaded_replies": { - "description": "Allow creation of message threads", - "type": "boolean", - "default": true - }, - "enable_video_calling": { - "description": "Enable video calling", - "type": "boolean", - "default": true - }, - "enable_voice_calling": { - "description": "Enable voice calling", - "type": "boolean", - "default": true - }, - "hide_deleted_messages": { - "description": "Hide message bubbles for deleted messages", - "type": "boolean", - "default": true - }, - "hide_join_leave_notifications": { - "description": "Hide the notifications in chat when someone joins or leaves a group", - "type": "boolean", - "default": true - }, - "join_or_leave_groups": { - "description": "Allow joining/leaving groups", - "type": "boolean", - "default": true - }, - "send_emojis": { - "description": "Show the emojis keyboard", - "type": "boolean", - "default": true - }, - "send_files": { - "description": "Allow sending files in chats", - "type": "boolean", - "default": true - }, - "send_message_in_private_to_group_member": { - "description": "Allow sending private messages to group members", - "type": "boolean" - }, - "send_photos_videos": { - "description": "Allow sending Photos and Videos in chat", - "type": "boolean", - "default": true - }, - "share_live_reactions": { - "description": "Allow sending Live Reactions", - "type": "boolean", - "default": true - }, - "show_call_notifications": { - "description": "Show notification for incoming calls", - "type": "boolean", - "default": true - }, - "show_delivery_read_indicators": { - "description": "Show delivery and read receipts", - "type": "boolean", - "default": true - }, - "show_emojis_in_larger_size": { - "description": "Display larger emojis when sending one, two or three in a message.", - "type": "boolean", - "default": true - }, - "show_stickers": { - "description": "Enable Stickers extension before enabling this", - "type": "boolean", - "default": true - }, - "show_typing_indicators": { - "description": "Show typing... indicators in chats", - "type": "boolean" - }, - "show_user_presence": { - "description": "Show user preferences", - "type": "boolean", - "default": true - }, - "view_group_members": { - "description": "Allow viewing group members", - "type": "boolean", - "default": true - }, - "allow_mention_members": { - "description": "Allow Mention Members", - "type": "boolean", - "default": false - }, - "enable_replying_to_messages": { - "description": "Enable Replying To Messages", - "type": "boolean", - "default": false - }, - "enable_share_copy_forward_messages": { - "description": "Enable Share Copy Forward Messages", - "type": "boolean", - "default": false - }, - "highlight_messages_from_moderators": { - "description": "Highlight Messages From Moderators", - "type": "boolean", - "default": false - }, - "show_call_recording_option": { - "description": "Show Call Recording Option", - "type": "boolean", - "default": false - }, - "send_voice_notes": { - "description": "Send Voice Notes", - "type": "boolean", - "default": false - }, - "send_gifs": { - "description": "Send Gifs", - "type": "boolean", - "default": false - }, - "share_location": { - "description": "Share Location", - "type": "boolean", - "default": false - }, - "view_shared_media": { - "description": "Allow viewing all Shared media in a group", - "type": "boolean", - "default": true - }, - "set_groups_in_qna_mode_by_moderators": { - "description": "Set Groups In Qna Mode By Moderators", - "type": "boolean", - "default": false - }, - "send_reply_in_private_to_group_member": { - "description": "Send Reply In Private To Group Member", - "type": "boolean", - "default": false - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "chatWidgetResponseSchema": { - "properties": { - "data": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "integer" - }, - "body": { - "properties": { - "data": { - "properties": { - "configuration": { - "type": "array", - "items": { - "required": [ - "name", - "version" - ], - "properties": { - "name": { - "description": "Name of the Chat Widget", - "type": "string", - "default": "Test Chat Widget" - }, - "version": { - "description": "Version is always v2", - "type": "string", - "default": "v2" - }, - "style": { - "required": [ - "docked_layout_icon_background", - "docked_layout_icon_close", - "docked_layout_icon_open" - ], - "properties": { - "custom_css": { - "description": "Custom CSS if required", - "type": "string" - }, - "custom_js": { - "description": "Custom JS if required", - "type": "string", - "default": "v2" - }, - "docked_layout_icon_background": { - "description": "The background color for Icon in the Docked mode", - "type": "string", - "default": "#03a9f4" - }, - "docked_layout_icon_close": { - "description": "The image to be displayed on the Docked layout icon when the Widget is closed.", - "type": "string", - "default": "https://widget-js.cometchat.io/v2/resources/chat_close.svg" - }, - "docked_layout_icon_open": { - "description": "The image to be displayed on the Docked layout icon when the widget is opened.", - "type": "string", - "default": "https://widget-js.cometchat.io/v2/resources/chat_bubble.svg" - }, - "primary_color": { - "description": "Primary Colour", - "type": "string", - "default": "#03A9F4" - }, - "foreground_color": { - "description": "Foreground Colour", - "type": "string", - "default": " #000000" - }, - "background_color": { - "description": "Background Colour", - "type": "string", - "default": "#FFFFFF" - }, - "override_system_background_colors": { - "description": "Override System Background Colours", - "type": "boolean", - "default": true - } - }, - "type": "object" - }, - "sidebar": { - "required": [ - "users", - "groups", - "calls", - "recent_chat_listing", - "user_listing", - "sidebar_navigation_sequence" - ], - "properties": { - "chats": { - "description": "Show Chats section in the Sidebar", - "type": "boolean", - "default": true - }, - "users": { - "description": "Show Users section in the Sidebar", - "type": "boolean", - "default": true - }, - "groups": { - "description": "Show Groups section in the Sidebar", - "type": "boolean", - "default": true - }, - "calls": { - "description": "Show Calls section in the Sidebar", - "type": "boolean" - }, - "user_settings": { - "description": "Show User Settings section in the Sidebar", - "type": "boolean" - }, - "recent_chat_listing": { - "description": "Which chats should be displayed in the Recent chat section", - "type": "string", - "default": "all_chats" - }, - "user_listing": { - "description": "Which users should be displayed in the User list", - "type": "string", - "default": "all_users" - }, - "sidebar_navigation_sequence": { - "description": "Order of sections in Sidebar. Do not add any new values.", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "chats", - "users", - "groups", - "calls", - "settings" - ] - }, - "start_a_new_conversation": { - "description": "Start a new Conversation", - "type": "string", - "default": "all_chats" - }, - "group_listing": { - "description": "Group Listing", - "type": "string", - "default": "public_and_password_protected_groups" - } - }, - "type": "object" - }, - "main": { - "required": [ - "allow_creating_polls", - "allow_delete_groups", - "allow_kick_ban_members", - "allow_message_reactions", - "allow_moderator_to_delete_member_messages", - "allow_promote_demote_members", - "block_user", - "create_groups", - "enable_collaborative_document", - "enable_collaborative_whiteboard", - "enable_deleting_messages", - "enable_editing_messages", - "enable_message_translation", - "enable_sending_messages", - "enable_sound_for_calls", - "enable_sound_for_messages", - "enable_threaded_replies", - "enable_video_calling", - "enable_voice_calling", - "hide_deleted_messages", - "hide_join_leave_notifications", - "join_or_leave_groups", - "send_emojis", - "send_message_in_private_to_group_member", - "send_photos_videos", - "share_live_reactions", - "show_call_notifications", - "show_delivery_read_indicators", - "show_emojis_in_larger_size" - ], - "properties": { - "allow_add_members": { - "description": "Allow adding new group members", - "type": "boolean", - "default": true - }, - "allow_creating_polls": { - "description": "Enable Polls extension to allow sending polls", - "type": "boolean" - }, - "allow_delete_groups": { - "description": "Allow deletion of groups", - "type": "boolean", - "default": true - }, - "allow_kick_ban_members": { - "description": "Allow kick/ban group member actions", - "type": "boolean", - "default": true - }, - "allow_message_reactions": { - "description": "Enable Reactions extension to allow reactions to messages", - "type": "boolean" - }, - "allow_moderator_to_delete_member_messages": { - "description": "Allow moderators to delete messages from group", - "type": "boolean" - }, - "allow_promote_demote_members": { - "description": "Allow changing scopes of group members", - "type": "boolean" - }, - "block_user": { - "description": "Allow blocking a user", - "type": "boolean", - "default": true - }, - "create_groups": { - "description": "Allow creating new groups", - "type": "boolean", - "default": true - }, - "enable_collaborative_document": { - "description": "Enable Collaborative Document extension before enabling this", - "type": "boolean" - }, - "enable_collaborative_whiteboard": { - "description": "Enable Collaborative Whiteboard extension before enabling this.", - "type": "boolean" - }, - "enable_deleting_messages": { - "description": "Allow deletion of messages from chats", - "type": "boolean", - "default": true - }, - "enable_editing_messages": { - "description": "Allow edition of messages from chats", - "type": "boolean", - "default": true - }, - "enable_message_translation": { - "description": "Enable Message translation extension before enabling this.", - "type": "boolean" - }, - "enable_sending_messages": { - "description": "Allow sending messages", - "type": "boolean", - "default": true - }, - "enable_sound_for_calls": { - "description": "Play sound for incoming calls", - "type": "boolean", - "default": true - }, - "enable_sound_for_messages": { - "description": "Play sound for incoming messages", - "type": "boolean", - "default": true - }, - "enable_threaded_replies": { - "description": "Allow creation of message threads", - "type": "boolean", - "default": true - }, - "enable_video_calling": { - "description": "Enable video calling", - "type": "boolean", - "default": true - }, - "enable_voice_calling": { - "description": "Enable voice calling", - "type": "boolean", - "default": true - }, - "hide_deleted_messages": { - "description": "Hide message bubbles for deleted messages", - "type": "boolean", - "default": true - }, - "hide_join_leave_notifications": { - "description": "Hide the notifications in chat when someone joins or leaves a group", - "type": "boolean", - "default": true - }, - "join_or_leave_groups": { - "description": "Allow joining/leaving groups", - "type": "boolean", - "default": true - }, - "send_emojis": { - "description": "Show the emojis keyboard", - "type": "boolean", - "default": true - }, - "send_files": { - "description": "Allow sending files in chats", - "type": "boolean", - "default": true - }, - "send_message_in_private_to_group_member": { - "description": "Allow sending private messages to group members", - "type": "boolean" - }, - "send_photos_videos": { - "description": "Allow sending Photos and Videos in chat", - "type": "boolean", - "default": true - }, - "share_live_reactions": { - "description": "Allow sending Live Reactions", - "type": "boolean", - "default": true - }, - "show_call_notifications": { - "description": "Show notification for incoming calls", - "type": "boolean", - "default": true - }, - "show_delivery_read_indicators": { - "description": "Show delivery and read receipts", - "type": "boolean", - "default": true - }, - "show_emojis_in_larger_size": { - "description": "Display larger emojis when sending one, two or three in a message.", - "type": "boolean", - "default": true - }, - "show_stickers": { - "description": "Enable Stickers extension before enabling this", - "type": "boolean", - "default": true - }, - "show_typing_indicators": { - "description": "Show typing... indicators in chats", - "type": "boolean" - }, - "show_user_presence": { - "description": "Show user preferences", - "type": "boolean", - "default": true - }, - "view_group_members": { - "description": "Allow viewing group members", - "type": "boolean", - "default": true - }, - "allow_mention_members": { - "description": "Allow Mention Members", - "type": "boolean", - "default": false - }, - "enable_replying_to_messages": { - "description": "Enable Replying To Messages", - "type": "boolean", - "default": false - }, - "enable_share_copy_forward_messages": { - "description": "Enable Share Copy Forward Messages", - "type": "boolean", - "default": false - }, - "highlight_messages_from_moderators": { - "description": "Highlight Messages From Moderators", - "type": "boolean", - "default": false - }, - "show_call_recording_option": { - "description": "Show Call Recording Option", - "type": "boolean", - "default": false - }, - "send_voice_notes": { - "description": "Send Voice Notes", - "type": "boolean", - "default": false - }, - "send_gifs": { - "description": "Send Gifs", - "type": "boolean", - "default": false - }, - "share_location": { - "description": "Share Location", - "type": "boolean", - "default": false - }, - "view_shared_media": { - "description": "Allow viewing all Shared media in a group", - "type": "boolean", - "default": true - }, - "set_groups_in_qna_mode_by_moderators": { - "description": "Set Groups In Qna Mode By Moderators", - "type": "boolean", - "default": false - }, - "send_reply_in_private_to_group_member": { - "description": "Send Reply In Private To Group Member", - "type": "boolean", - "default": false - } - }, - "type": "object" - }, - "appId": { - "description": "Cometchat appid", - "type": "string", - "default": "564663ddb71bbb" - }, - "widgetId": { - "description": "Widget Id that need to modify", - "type": "string", - "default": "9af42f42-2f27-456d-9bfc-d77c29ec67bc" - } - }, - "type": "object" - } - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "chatWidgetSchema": { - "properties": { - "enabled": { - "properties": { - "extention_id1": { - "properties": { - "success": { - "type": "boolean" - }, - "message": { - "type": "string" - } - }, - "type": "object" - }, - "extention_id2": { - "properties": { - "success": { - "type": "boolean" - }, - "message": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "disabled": { - "properties": { - "extention_id3": { - "properties": { - "success": { - "type": "boolean" - }, - "message": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "chatwootDeleteSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "chatwootGetSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "appId": { - "type": "string" - }, - "customerSupportUid": { - "type": "string" - }, - "chatwootAccountId": { - "type": "string" - }, - "chatwootInboxId": { - "type": "string" - }, - "chatwootAccessToken": { - "type": "string" - }, - "webhookURL": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "chatwootRequestSchema": { - "properties": { - "settings": { - "required": [ - "chatwootAccessToken", - "chatwootAccountId", - "chatwootInboxId", - "customerSupportUid" - ], - "properties": { - "chatwootAccessToken": { - "description": "For connecting and exchanging messages between CometChat and chatwoot", - "type": "string", - "default": "EgsDdxRZFUy4tPWDjwmyZaYk" - }, - "chatwootAccountId": { - "description": "Obtained from Chatwoot profile settings", - "type": "string", - "default": "12123" - }, - "chatwootInboxId": { - "description": "Obtained from Chatwoot inbox settings", - "type": "string", - "default": "12345" - }, - "customerSupportUid": { - "description": "Customer support uid that you have selected", - "type": "string", - "default": "superhero2" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "chatwootSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "appId": { - "type": "string" - }, - "customerSupportUid": { - "type": "string" - }, - "chatwootAccountId": { - "type": "string" - }, - "chatwootInboxId": { - "type": "string" - }, - "chatwootAccessToken": { - "type": "string" - }, - "webhookURL": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "dataMaskingGetSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "dropMessage": { - "type": "boolean" - }, - "customregexData": { - "type": "array", - "items": { - "properties": { - "name": { - "type": "string" - }, - "regex": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "type": "object" - } - }, - "defaultRegexData": { - "type": "array", - "items": { - "properties": { - "name": { - "type": "string" - }, - "regex": { - "type": "string" - }, - "id": { - "type": "string" - }, - "enableFlag": { - "type": "boolean" - } - }, - "type": "object" - } - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "dataMaskingRequestSchema": { - "properties": { - "settings": { - "required": [ - "dropMessage", - "customregexData", - "defaultRegexData", - "deleteCustomRegexData" - ], - "properties": { - "dropMessage": { - "description": "Should drop message in case of sensitive information?", - "type": "boolean", - "default": false - }, - "defaultRegexData": { - "description": "Configure the default masks", - "type": "array", - "items": { - "type": "object" - }, - "default": [ - { - "enableFlag": false, - "id": "1", - "name": "US Phone numbers", - "regex": "[2-9]\\\\d{2}-\\\\d{3}-\\\\d{4}" - }, - { - "enableFlag": false, - "id": "2", - "name": "Emails", - "regex": "\\\\w+([.-]?\\\\w+)*@\\\\w+([.-]?\\\\w+)*(\\\\.\\\\w{2,10})+" - }, - { - "enableFlag": false, - "id": "3", - "name": "SSN", - "regex": "\\\\d{3}-\\\\d{2}-\\\\d{4}" - } - ] - }, - "customregexData": { - "description": "Configure the custom masks", - "type": "array", - "items": { - "type": "object" - }, - "default": [ - { - "name": "one", - "regex": "one", - "id": "1983958" - } - ] - }, - "deleteCustomRegexData": { - "description": "Remove custom masks by ID", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "9393903" - ] - } - }, - "type": "object" - } - }, - "type": "object" - }, - "dataMaskingResponseSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "deleteAppSchema": { - "properties": { - "success": { - "type": "boolean" - }, - "scheduledToDeleteAt": { - "type": "integer" - } - }, - "type": "object" - }, - "deleteSchema": { - "properties": { - "success": { - "type": "boolean" - }, - "message": { - "type": "string" - } - }, - "type": "object" - }, - "deleteWebhookSchema": { - "properties": { - "success": { - "type": "boolean" - }, - "message": { - "type": "string" - } - }, - "type": "object" - }, - "e2eeCreateSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "virgilAppID": { - "type": "string" - }, - "virgilAppKeyID": { - "type": "string" - }, - "virgilAppKey": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "e2eeDeleteSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "e2eeGetSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "virgilAppID": { - "type": "string" - }, - "virgilAppKeyID": { - "type": "string" - }, - "virgilAppKey": { - "type": "string" - }, - "appId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "e2eeRequestSchema": { - "properties": { - "settings": { - "required": [ - "virgilAppID", - "virgilAppKeyID", - "virgilAppKey" - ], - "properties": { - "virgilAppID": { - "description": "Virgil App Id obtained from their Dashboard", - "type": "string", - "default": "virgilAppId12345678" - }, - "virgilAppKeyID": { - "description": "Virgil App Key Id obtained from their Dashboard", - "type": "string", - "default": "xyzabcd12345678" - }, - "virgilAppKey": { - "description": "Virgil App Key obtained from their Dashboard", - "type": "string", - "default": "abcd12345678" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "emailNotificationDeleteSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "emailNotificationGetSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "sendGridApiKey": { - "description": "Sendgrid API key", - "type": "string", - "default": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222" - }, - "messageDelay": { - "description": "Time Interval after which notifications will be sent", - "type": "number", - "default": 120 - }, - "senderEmail": { - "description": "Sendgrid Sender Email for Notification", - "type": "string", - "default": "mymail@example.com" - }, - "senderName": { - "description": "Sendgrid Sender Name", - "type": "string", - "default": "John Doe" - }, - "sendGridTemplateId": { - "description": "Send Grid Template", - "type": "string", - "default": "f5c0102d" - }, - "sendGridUnsubscribeGroupId": { - "description": "Sendgrid Group Id obtained from their Dashboard", - "type": "string", - "default": "sendGridUnsubscribeGroupId" - }, - "useWebhook": { - "description": "Enable Webhook", - "type": "boolean", - "default": false - }, - "webhookURL": { - "description": "Webhook Url", - "type": "string", - "default": "https://example.com" - }, - "useWebhookBasicAuth": { - "description": "Enable Basic Authentication", - "type": "boolean", - "default": false - }, - "webhookUsername": { - "description": "Basic Authentication Username", - "type": "string", - "default": "username" - }, - "webhookPassword": { - "description": "Basic Authentication Password", - "type": "string", - "default": "f5c0102d" - }, - "appId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "emailNotificationRequestSchema": { - "properties": { - "settings": { - "required": [ - "messageDelay", - "senderEmail", - "senderName", - "sendGridTemplateId", - "sendGridUnsubscribeGroupId", - "useWebhook", - "webhookURL", - "useWebhookBasicAuth", - "webhookUsername", - "webhookPassword", - "sendEmailReplies", - "senderEmailForReplies" - ], - "properties": { - "sendGridApiKey": { - "description": "Sendgrid API key", - "type": "string", - "default": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222" - }, - "messageDelay": { - "description": "Time Interval after which notifications will be sent", - "type": "number", - "default": 120 - }, - "senderEmail": { - "description": "Sendgrid Sender Email for Notification", - "type": "string", - "default": "mymail@example.com" - }, - "senderName": { - "description": "Sendgrid Sender Name", - "type": "string", - "default": "John Doe" - }, - "sendGridTemplateId": { - "description": "Send Grid Template", - "type": "string", - "default": "f5c0102d" - }, - "sendGridUnsubscribeGroupId": { - "description": "Sendgrid Group Id obtained from their Dashboard", - "type": "string", - "default": "sendGridUnsubscribeGroupId" - }, - "useWebhook": { - "description": "Enable Webhook", - "type": "boolean", - "default": false - }, - "webhookURL": { - "description": "Webhook Url", - "type": "string", - "default": "https://example.com" - }, - "useWebhookBasicAuth": { - "description": "Enable Basic Authentication", - "type": "boolean", - "default": false - }, - "webhookUsername": { - "description": "Basic Authentication Username", - "type": "string", - "default": "username" - }, - "webhookPassword": { - "description": "Basic Authentication Password", - "type": "string", - "default": "f5c0102d" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "emailNotificationSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "sendGridApiKey": { - "description": "Sendgrid API key", - "type": "string", - "default": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222" - }, - "messageDelay": { - "description": "Time Interval after which notifications will be sent", - "type": "number", - "default": 120 - }, - "senderEmail": { - "description": "Sendgrid Sender Email for Notification", - "type": "string", - "default": "mymail@example.com" - }, - "senderName": { - "description": "Sendgrid Sender Name", - "type": "string", - "default": "John Doe" - }, - "sendGridTemplateId": { - "description": "Send Grid Template", - "type": "string", - "default": "f5c0102d" - }, - "sendGridUnsubscribeGroupId": { - "description": "Sendgrid Group Id obtained from their Dashboard", - "type": "string", - "default": "sendGridUnsubscribeGroupId" - }, - "useWebhook": { - "description": "Enable Webhook", - "type": "boolean", - "default": false - }, - "webhookURL": { - "description": "Webhook Url", - "type": "string", - "default": "https://example.com" - }, - "useWebhookBasicAuth": { - "description": "Enable Basic Authentication", - "type": "boolean", - "default": false - }, - "webhookUsername": { - "description": "Basic Authentication Username", - "type": "string", - "default": "username" - }, - "webhookPassword": { - "description": "Basic Authentication Password", - "type": "string", - "default": "f5c0102d" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "emailRepliesDeleteSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "emailRepliesGetSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "senderEmailForReplies": { - "type": "string" - }, - "sendEmailReplies": { - "type": "boolean" - }, - "appId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "emailRepliesRequestSchema": { - "properties": { - "settings": { - "required": [ - "sendEmailReplies" - ], - "properties": { - "senderEmailForReplies": { - "description": "Email For Replies", - "type": "string", - "default": "mymail@example.com" - }, - "sendEmailReplies": { - "description": "Enable Email Replies", - "type": "boolean", - "default": false - } - }, - "type": "object" - } - }, - "type": "object" - }, - "emailRepliesSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "senderEmailForReplies": { - "type": "string" - }, - "sendEmailReplies": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "extensionListSchema": { - "properties": { - "email-notification": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tagline": { - "type": "string" - } - }, - "type": "object" - }, - "human-moderation": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tagline": { - "type": "string" - } - }, - "type": "object" - }, - "image-moderation": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tagline": { - "type": "string" - } - }, - "type": "object" - }, - "link-preview": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tagline": { - "type": "string" - } - }, - "type": "object" - }, - "message-translation": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tagline": { - "type": "string" - } - }, - "type": "object" - }, - "profanity-filter": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tagline": { - "type": "string" - } - }, - "type": "object" - }, - "push-notification": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tagline": { - "type": "string" - } - }, - "type": "object" - }, - "thumbnail-generation": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tagline": { - "type": "string" - } - }, - "type": "object" - }, - "broadcast": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tagline": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "extensionSchema": { - "properties": { - "enabled": { - "properties": { - "extention_id1": { - "properties": { - "success": { - "type": "boolean" - }, - "message": { - "type": "string" - } - }, - "type": "object" - }, - "extention_id2": { - "properties": { - "success": { - "type": "boolean" - }, - "message": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "disabled": { - "properties": { - "extention_id3": { - "properties": { - "success": { - "type": "boolean" - }, - "message": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "giphyDeleteSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "success": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "giphyGetSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "giphyApiKey": { - "type": "string" - }, - "appId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "giphyRequestSchema": { - "properties": { - "settings": { - "required": [ - "giphyApiKey" - ], - "properties": { - "giphyApiKey": { - "description": "Giphy API Key obtained from their Dashboard", - "type": "string", - "default": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "giphySchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "giphyApiKey": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "humanModerationCreateSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "allUserMessages": { - "type": "boolean" - }, - "allGroupMessages": { - "type": "boolean" - }, - "senders": { - "type": "array", - "items": { - "type": "string" - } - }, - "receiverGroups": { - "type": "array", - "items": { - "type": "string" - } - }, - "receiverUsers": { - "type": "array", - "items": { - "type": "string" - } - }, - "allMessages": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "humanModerationDeleteSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "humanModerationGetSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "allUserMessages": { - "type": "boolean" - }, - "allGroupMessages": { - "type": "boolean" - }, - "senders": { - "type": "array", - "items": { - "type": "string" - } - }, - "receiverGroups": { - "type": "array", - "items": { - "type": "string" - } - }, - "receiverUsers": { - "type": "array", - "items": { - "type": "string" - } - }, - "allMessages": { - "type": "boolean" - }, - "appId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "humanModerationRequestSchema": { - "properties": { - "settings": { - "required": [ - "allUserMessages", - "allGroupMessages", - "senders", - "receiverGroups", - "receiverUsers", - "allMessages" - ], - "properties": { - "allUserMessages": { - "description": "Moderat all user messages", - "type": "boolean", - "default": false - }, - "allGroupMessages": { - "description": "Moderat all group messages", - "type": "boolean", - "default": false - }, - "senders": { - "description": "Moderate messages from UIDs", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "superhero1", - "superhero2" - ] - }, - "receiverGroups": { - "description": "Moderate messages to GUIDs", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "supergroup" - ] - }, - "receiverUsers": { - "description": "Moderate messages to UIDs", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "superhero3" - ] - }, - "allMessages": { - "description": "Moderate all messages", - "type": "boolean", - "default": false - } - }, - "type": "object" - } - }, - "type": "object" - }, - "imageModerationDeleteSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "imageModerationGetSchema": { - "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" + }, + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": { + "success": true, + "message": "Keyword with id profanity-list has been deleted successfully." + } + } + } + } + } + } + } + }, + "/apps/{appId}/moderation/rules/{ruleId}/revisions": { + "get": { + "tags": [ + "Moderation" + ], + "summary": "Get Rule Revisions", + "description": "Fetches a rule's revisions.", + "operationId": "list-rule-revisions", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + }, + { + "$ref": "#/components/parameters/ruleId" + } + ], + "responses": { + "200": { + "description": "List Rule revisions", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/webhookSchema" + } + }, + "type": "object" }, - "responseTime": { - "type": "number" + "meta": { + "properties": { + "": { + "$ref": "#/components/schemas/metaSchema" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": [ + { + "id": "moderation-test", + "name": "Video Moderation", + "description": "AI-powered video moderation to detect unsafe content.", + "enabled": true, + "conditions": [ + { + "id": 1, + "isKeywordsReferencePresent": false, + "isMediaPresent": false, + "entity": "message", + "operand": "text", + "category": "word", + "operator": "equals", + "value": [ + "paris" + ] + } + ], + "action": [ + "blockMessage" + ], + "active": true, + "createdAt": 1720011899, + "updatedAt": 1720011905, + "revisionId": "253179cf5f665257_moderation-test_2" + }, + { + "id": "moderation-test", + "name": "Video Moderation", + "description": "AI-powered video moderation to detect unsafe content.", + "enabled": true, + "conditions": [ + { + "id": 1, + "isKeywordsReferencePresent": false, + "isMediaPresent": true, + "entity": "message", + "operand": "image", + "category": "word", + "operator": "contains", + "value": [ + "violence_greaterThan_30" + ], + "message": [ + "Image contains violence with confidence greater than 30" + ] + } + ], + "action": [ + "blockMessage" + ], + "active": false, + "createdAt": 1720011899, + "updatedAt": 1720011899, + "revisionId": "253179cf5f665257_moderation-test_1" + } + ], + "meta": { + "current": { + "limit": 10, + "count": 2 + } + } + } + } + } + } + } + } + }, + "/apps/{appId}/moderation/blocked-messages": { + "get": { + "tags": [ + "Moderation" + ], + "summary": "List Blocked Messages", + "description": "Lists the messages blocked by the moderation service.", + "operationId": "list-moderation-blocked-messages", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + } + ], + "responses": { + "200": { + "description": "List Blocked Messages", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/webhookSchema" + } + }, + "type": "object" }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "dropMessage": { - "type": "boolean" - }, - "appId": { - "type": "integer" - } - }, - "type": "object" - } - }, - "type": "object" - } + "meta": { + "properties": { + "": { + "$ref": "#/components/schemas/metaSchema" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "example": { + "data": [ + { + "ruleId": "image-moderation", + "ruleName": "AI Image Moderation", + "revisionId": "253156be20433c97_image-moderation_4", + "condition": { + "id": 1, + "isKeywordsReferencePresent": false, + "isMediaPresent": true, + "entity": "message", + "operand": "image", + "category": "word", + "operator": "contains", + "value": [ + "Any unsafe content_greaterThan_70" + ], + "message": [ + "Image contains Any unsafe content with confidence greater than 70" + ], + "weight": 1 + }, + "message": { + "id": "65", + "muid": "_5zytzmceo", + "conversationId": "cometchat-uid-1_user_cometchat-uid-2", + "sender": "cometchat-uid-1", + "receiverType": "user", + "receiver": "cometchat-uid-2", + "category": "message", + "type": "image", + "data": { + "metadata": { + "file": [] + }, + "resource": "WEB-4_0_3-ffa565b2-476e-493d-aeb5-4c750aae3ab1-1719925738505", + "url": "https://data-eu.cometchat.io/2601293c931567f7/media/1719993037_336554568_9e044ea0ed5817381b189680f392bafe.jpeg", + "attachments": [ + { + "name": "download.jpeg", + "extension": "jpeg", + "size": 4761, + "mimeType": "image/jpeg", + "url": "https://data-eu.cometchat.io/2601293c931567f7/media/1719993037_336554568_9e044ea0ed5817381b189680f392bafe.jpeg" + } + ], + "entities": { + "sender": { + "entity": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-1.webp", + "status": "offline", + "role": "default" + }, + "entityType": "user" + }, + "receiver": { + "entity": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "avatar": "https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-2.webp", + "status": "offline", + "role": "default", + "conversationId": "cometchat-uid-1_user_cometchat-uid-2" + }, + "entityType": "user" + } + }, + "moderation": { + "status": "pending" + } }, - "type": "object" - } + "sentAt": 1719993037, + "updatedAt": 1719993037 + }, + "action": [ + "blockMessage" + ], + "createdAt": 1719993038, + "updatedAt": 1719993038 + } + ], + "meta": { + "current": { + "limit": 50, + "count": 20 + } + } + } + } + } + } + } + } + }, + "/apps/{appId}/moderation/blocked-messages/{messageId}": { + "patch": { + "tags": [ + "Moderation" + ], + "summary": "Approve Blocked Messages", + "description": "Approves the messages blocked by the moderation service.", + "operationId": "approve-moderation-blocked-messages", + "parameters": [ + { + "$ref": "#/components/parameters/key" + }, + { + "$ref": "#/components/parameters/secret" + }, + { + "$ref": "#/components/parameters/appId" + }, + { + "$ref": "#/components/parameters/messageId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "required": [ + "status" + ], + "properties": { + "status": { + "description": "Moderation status of the message.", + "type": "string", + "example": "approved" + } }, "type": "object" - }, - "imageModerationRequestSchema": { - "properties": { - "settings": { - "required": [ - "dropMessage" - ], - "properties": { - "dropMessage": { - "description": "Should drop the message with XSS script", - "type": "boolean" - } - }, - "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Approve Blocked Messages", + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": { + "": { + "$ref": "#/components/schemas/webhookSchema" + } + }, + "type": "object" } + }, + "type": "object" }, - "type": "object" + "example": { + "data": { + "success": true, + "message": "Message with ID 268 has been approved." + } + } + } + } + } + } + } + } + }, + "components": { + "schemas": { + "CategoryType": { + "description": "Type of entries in the list", + "type": "string", + "enum": [ + "word", + "pattern", + "sentence-similarity" + ] + }, + "Condition": { + "properties": { + "id": { + "description": "Unique identifier of a condition", + "type": "integer", + "example": 1 + }, + "entity": { + "description": "Entity type in which moderation will be performed.", + "type": "string", + "example": "message" + }, + "operand": { + "description": "Type of message content to moderate (e.g., text, image, video, custom).", + "type": "string", + "enum": [ + "text", + "image", + "video", + "custom" + ], + "example": "image" + }, + "operator": { + "description": "Operation to be performed for condition evaluation (e.g., contains, equals).", + "type": "string", + "enum": [ + "contains", + "equals" + ], + "example": "contains" + }, + "category": { + "description": "Type of entries for evaluation, either 'word' or 'pattern'.", + "type": "string", + "enum": [ + "word", + "pattern" + ], + "example": "word" + }, + "isKeywordReferencePresent": { + "description": "Indicates if the value contains a reference to a keyword list.", + "type": "boolean", + "example": false + }, + "isMediaPresent": { + "description": "Indicates if the incoming message contains media content.", + "type": "boolean", + "example": true + }, + "value": { + "description": "Actual value for the condition, or reference ID if isKeywordReferencePresent is true, or a formula if isMediaPresent is true.", + "type": "string", + "example": "violence_greaterThan_30" + } + }, + "type": "object" + }, + "GroupFilter": { + "required": [ + "entity", + "operand", + "operator", + "value", + "type" + ], + "properties": { + "entity": { + "description": "Type of entity for group filter", + "type": "string", + "enum": [ + "group" + ] + }, + "operand": { + "description": "Field to apply the filter on for 'group'", + "type": "string", + "enum": [ + "guid", + "name", + "type", + "tags", + "createdAt" + ] + }, + "operator": { + "description": "Operator to use for filtering", + "type": "string", + "enum": [ + "equals", + "notEquals", + "in", + "notIn", + "startsWith", + "endsWith", + "lessThan", + "greaterThan" + ], + "example": "equals" + }, + "value": { + "description": "Value for the filter", + "type": "string", + "example": "exampleValue" + }, + "type": { + "description": "Type of the filter, specifying sender or receiver", + "type": "string", + "enum": [ + "sender", + "receiver" + ], + "example": "sender" + } + }, + "type": "object" + }, + "KeywordList": { + "discriminator": { + "propertyName": "category", + "mapping": { + "word": "#/components/schemas/WordPatternSchema", + "pattern": "#/components/schemas/PatternSchema", + "sentence-similarity": "#/components/schemas/SentenceSimilaritySchema" + } + }, + "oneOf": [ + { + "$ref": "#/components/schemas/WordPatternSchema" + }, + { + "$ref": "#/components/schemas/PatternSchema" + }, + { + "$ref": "#/components/schemas/SentenceSimilaritySchema" + } + ] + }, + "ModerationData": { + "properties": { + "id": { + "type": "string", + "example": "moderation-test" + }, + "name": { + "type": "string", + "example": "Video Moderation" + }, + "description": { + "type": "string", + "example": "AI-powered video moderation to detect unsafe content." + }, + "enabled": { + "type": "boolean", + "example": true + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Condition" + } + }, + "action": { + "type": "array", + "items": { + "type": "string", + "example": "blockMessage" + } + }, + "active": { + "type": "boolean", + "example": true + }, + "createdAt": { + "type": "integer", + "example": 1720003247 + }, + "updatedAt": { + "type": "integer", + "example": 1720003247 + }, + "revisionId": { + "type": "string", + "example": "253179cf5f665257_moderation-test_1" + } + }, + "type": "object" + }, + "ModerationRequestBody": { + "properties": { + "id": { + "description": "Unique identifier for the moderation rule.", + "type": "string", + "example": "moderation-test" + }, + "name": { + "description": "Descriptive name for the moderation rule.", + "type": "string", + "example": "Video Moderation" + }, + "enabled": { + "description": "Indicates whether the rule is active.", + "type": "boolean", + "example": true + }, + "description": { + "description": "Detailed explanation of the rule's purpose.", + "type": "string", + "example": "AI-powered video moderation to detect unsafe content." + }, + "action": { + "description": "Actions to be taken when a violation is detected.", + "type": "array", + "items": { + "type": "string", + "example": "blockMessage" + } + }, + "filters": { + "description": "List of filters to apply", + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/UserFilter" + }, + { + "$ref": "#/components/schemas/GroupFilter" + } + ] + } + }, + "conditions": { + "description": "List of conditions that must be met for the rule to trigger.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Condition" + } + } + }, + "type": "object" + }, + "PatternSchema": { + "required": [ + "category", + "searchTerms" + ], + "properties": { + "file": { + "description": "CSV file containing the keywords or regex patterns for the list.", + "type": "string", + "format": "binary" + }, + "id": { + "description": "Unique identifier for the pattern list.", + "type": "string", + "example": "ID-of-the-pattern-list" + }, + "name": { + "description": "Descriptive name for the pattern list.", + "type": "string", + "example": "Name of the pattern list" + }, + "description": { + "description": "Detailed explanation of the pattern list's purpose.", + "type": "string", + "example": "Description of the pattern list" + }, + "category": { + "$ref": "#/components/schemas/CategoryType" + }, + "searchTerms": { + "description": "Comma-separated values of keywords or regex patterns if no file is provided.", + "type": "string", + "example": "AI-powered video moderation to detect unsafe content." + } + }, + "type": "object" + }, + "SentenceSimilaritySchema": { + "required": [ + "category", + "disallowedSentences" + ], + "properties": { + "file": { + "description": "CSV file containing the keywords or regex patterns for the list.", + "type": "string", + "format": "binary" + }, + "id": { + "description": "Unique identifier for the keyword list.", + "type": "string", + "example": "ID-of-the-sentences-list" + }, + "name": { + "description": "Descriptive name for the keyword list.", + "type": "string", + "example": "Name of the sentences list" + }, + "description": { + "description": "Detailed explanation of the keyword list's purpose.", + "type": "string", + "example": "Description of the sentences list" + }, + "category": { + "$ref": "#/components/schemas/CategoryType" + }, + "disallowedSentences": { + "description": "Comma-separated sentences that are disallowed if the category is 'sentence-similarity'.", + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "Hello, let's connect on Whatsapp." + ] + } + }, + "type": "object" + }, + "UserFilter": { + "required": [ + "entity", + "operand", + "operator", + "value", + "type" + ], + "properties": { + "type": { + "description": "Type of the filter, specifying sender or receiver", + "type": "string", + "enum": [ + "sender", + "receiver" + ], + "example": "sender" + }, + "entity": { + "description": "Type of entity for user filter", + "type": "string", + "enum": [ + "user" + ] + }, + "operand": { + "description": "Field to apply the filter on for 'user'", + "type": "string", + "enum": [ + "uid", + "name", + "role", + "tags", + "createdAt" + ] + }, + "operator": { + "description": "Operator to use for filtering", + "type": "string", + "enum": [ + "equals", + "notEquals", + "in", + "notIn", + "startsWith" + ], + "example": "equals" + }, + "value": { + "description": "Value for the filter", + "type": "string", + "example": "admin" + } + }, + "type": "object" + }, + "WithTemplate": { + "required": [ + "templateId" + ], + "properties": { + "templateId": { + "type": "string", + "example": "default" + }, + "settings": { + "type": "object" + } + }, + "type": "object" + }, + "WithoutTemplate": { + "required": [ + "settings" + ], + "properties": { + "settings": { + "type": "object" + } + }, + "type": "object" + }, + "WordPatternSchema": { + "required": [ + "category", + "searchTerms" + ], + "properties": { + "file": { + "description": "CSV file containing the keywords or regex patterns for the list.", + "type": "string", + "format": "binary" + }, + "id": { + "description": "Unique identifier for the word list.", + "type": "string", + "example": "ID-of-the-word-list" + }, + "name": { + "description": "Descriptive name for the word list.", + "type": "string", + "example": "Name of the word list" + }, + "description": { + "description": "Detailed explanation of the word list's purpose.", + "type": "string", + "example": "Description of the word list" + }, + "category": { + "$ref": "#/components/schemas/CategoryType" + }, + "searchTerms": { + "description": "Comma-separated values of keywords or regex patterns if no file is provided.", + "type": "string", + "example": "AI-powered video moderation to detect unsafe content." + } + }, + "type": "object" + }, + "appSchema": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "integer" + }, + "plan": { + "type": "integer" + }, + "trialEndsAt": { + "type": "integer" + }, + "state": { + "type": "string" + }, + "owner": { + "type": "integer" + }, + "region": { + "type": "string" + }, + "createdAt": { + "type": "integer" + }, + "appOwner": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + } }, - "imageModerationSchema": { + "type": "object" + }, + "appRegion": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "type": "object" + }, + "apiKeys": { + "properties": { + "": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "dropMessage": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "apiKey": { + "type": "string" + }, + "name": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "createdBy": { + "type": "string" + } }, "type": "object" - }, - "imageModerationUpdateRequestSchema": { + }, + "": { "properties": { - "settings": { - "required": [ - "dropMessage" - ], - "properties": { - "dropMessage": { - "description": "Should drop the message with XSS script", - "type": "boolean", - "default": true - } - }, - "type": "object" - } + "apiKey": { + "type": "string" + }, + "name": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "createdBy": { + "type": "string" + } }, "type": "object" + } }, - "intercomDeleteSchema": { + "type": "object" + } + }, + "type": "object" + }, + "bitlyCreateSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" + "settings": { + "properties": { + "bitlyAccessToken": { + "type": "string" + }, + "groupGUID": { + "type": "string" + } }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } }, - "intercomGetSchema": { + "type": "object" + } + }, + "type": "object" + }, + "bitlyDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "appId": { - "type": "string" - }, - "customerSupportUid": { - "type": "string" - }, - "intercomAccessToken": { - "type": "string" - }, - "webhookURL": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "intercomRequestSchema": { + "type": "object" + } + }, + "type": "object" + }, + "bitlyGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "settings": { - "required": [ - "intercomAccessToken", - "customerSupportUid" - ], - "properties": { - "intercomAccessToken": { - "description": "For connecting and exchanging messages between CometChat and Intercom", - "type": "string", - "default": "EgsDdxRZFUy4tPWDjwmyZvYk" - }, - "customerSupportUid": { - "description": "Customer support uid that you have selected", - "type": "string", - "default": "superhero2" - } - }, - "type": "object" - } + "settings": { + "properties": { + "bitlyAccessToken": { + "type": "string" + }, + "groupGUID": { + "type": "string" + }, + "appId": { + "type": "string" + } + }, + "type": "object" + } }, "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "bitlyRequestSchema": { + "properties": { + "settings": { + "required": [ + "bitlyAccessToken", + "groupGUID" + ], + "properties": { + "bitlyAccessToken": { + "description": "Used as authentication mechanism when connecting to bitly", + "type": "string", + "default": "1213n2kn2232ffg" + }, + "groupGUID": { + "description": "Used to connect to a particular group in given organisation in bitly", + "type": "string", + "default": "1234ddsf5eee22" + } }, - "intercomSchema": { + "type": "object" + } + }, + "type": "object" + }, + "chatWidgetPutSchema": { + "properties": { + "settings": { + "required": [ + "name", + "version" + ], + "properties": { + "name": { + "description": "Name of the Chat Widget", + "type": "string", + "default": "Test Chat Widget" + }, + "version": { + "description": "Version is always v2", + "type": "string", + "default": "v2" + }, + "style": { + "required": [ + "docked_layout_icon_background", + "docked_layout_icon_close", + "docked_layout_icon_open" + ], "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "appId": { - "type": "string" - }, - "customerSupportUid": { - "type": "string" - }, - "intercomAccessToken": { - "type": "string" - }, - "webhookURL": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "custom_css": { + "description": "Custom CSS if required", + "type": "string" + }, + "custom_js": { + "description": "Custom JS if required", + "type": "string", + "default": "v2" + }, + "docked_layout_icon_background": { + "description": "The background color for Icon in the Docked mode", + "type": "string", + "default": "#03a9f4" + }, + "docked_layout_icon_close": { + "description": "The image to be displayed on the Docked layout icon when the Widget is closed.", + "type": "string", + "default": "https://widget-js.cometchat.io/v2/resources/chat_close.svg" + }, + "docked_layout_icon_open": { + "description": "The image to be displayed on the Docked layout icon when the widget is opened.", + "type": "string", + "default": "https://widget-js.cometchat.io/v2/resources/chat_bubble.svg" + }, + "primary_color": { + "description": "Primary Colour", + "type": "string", + "default": "#03A9F4" + }, + "foreground_color": { + "description": "Foreground Colour", + "type": "string", + "default": " #000000" + }, + "background_color": { + "description": "Background Colour", + "type": "string", + "default": "#FFFFFF" + }, + "override_system_background_colors": { + "description": "Override System Background Colours", + "type": "boolean", + "default": true + } }, "type": "object" - }, - "listTriggerSchema": { + }, + "sidebar": { + "required": [ + "users", + "groups", + "calls", + "recent_chat_listing", + "user_listing", + "sidebar_navigation_sequence" + ], "properties": { - "id": { - "type": "string" - }, - "description": { - "type": "string" - } + "chats": { + "description": "Show Chats section in the Sidebar", + "type": "boolean", + "default": true + }, + "users": { + "description": "Show Users section in the Sidebar", + "type": "boolean", + "default": true + }, + "groups": { + "description": "Show Groups section in the Sidebar", + "type": "boolean", + "default": true + }, + "calls": { + "description": "Show Calls section in the Sidebar", + "type": "boolean" + }, + "user_settings": { + "description": "Show User Settings section in the Sidebar", + "type": "boolean" + }, + "recent_chat_listing": { + "description": "Which chats should be displayed in the Recent chat section", + "type": "string", + "default": "all_chats" + }, + "user_listing": { + "description": "Which users should be displayed in the User list", + "type": "string", + "default": "all_users" + }, + "sidebar_navigation_sequence": { + "description": "Order of sections in Sidebar. Do not add any new values.", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "chats", + "users", + "groups", + "calls", + "settings" + ] + } }, "type": "object" - }, - "messageShortcutsDeleteSchema": { + }, + "main": { + "required": [ + "allow_creating_polls", + "allow_delete_groups", + "allow_kick_ban_members", + "allow_message_reactions", + "allow_moderator_to_delete_member_messages", + "allow_promote_demote_members", + "block_user", + "create_groups", + "enable_collaborative_document", + "enable_collaborative_whiteboard", + "enable_deleting_messages", + "enable_editing_messages", + "enable_message_translation", + "enable_sending_messages", + "enable_sound_for_calls", + "enable_sound_for_messages", + "enable_threaded_replies", + "enable_video_calling", + "enable_voice_calling", + "hide_deleted_messages", + "hide_join_leave_notifications", + "join_or_leave_groups", + "send_emojis", + "send_message_in_private_to_group_member", + "send_photos_videos", + "share_live_reactions", + "show_call_notifications", + "show_delivery_read_indicators", + "show_emojis_in_larger_size" + ], "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } + "allow_add_members": { + "description": "Allow adding new group members", + "type": "boolean", + "default": true + }, + "allow_creating_polls": { + "description": "Enable Polls extension to allow sending polls", + "type": "boolean" + }, + "allow_delete_groups": { + "description": "Allow deletion of groups", + "type": "boolean", + "default": true + }, + "allow_kick_ban_members": { + "description": "Allow kick/ban group member actions", + "type": "boolean", + "default": true + }, + "allow_message_reactions": { + "description": "Enable Reactions extension to allow reactions to messages", + "type": "boolean" + }, + "allow_moderator_to_delete_member_messages": { + "description": "Allow moderators to delete messages from group", + "type": "boolean" + }, + "allow_promote_demote_members": { + "description": "Allow changing scopes of group members", + "type": "boolean" + }, + "block_user": { + "description": "Allow blocking a user", + "type": "boolean", + "default": true + }, + "create_groups": { + "description": "Allow creating new groups", + "type": "boolean", + "default": true + }, + "enable_collaborative_document": { + "description": "Enable Collaborative Document extension before enabling this", + "type": "boolean" + }, + "enable_collaborative_whiteboard": { + "description": "Enable Collaborative Whiteboard extension before enabling this.", + "type": "boolean" + }, + "enable_deleting_messages": { + "description": "Allow deletion of messages from chats", + "type": "boolean", + "default": true + }, + "enable_editing_messages": { + "description": "Allow edition of messages from chats", + "type": "boolean", + "default": true + }, + "enable_message_translation": { + "description": "Enable Message translation extension before enabling this.", + "type": "boolean" + }, + "enable_sending_messages": { + "description": "Allow sending messages", + "type": "boolean", + "default": true + }, + "enable_sound_for_calls": { + "description": "Play sound for incoming calls", + "type": "boolean", + "default": true + }, + "enable_sound_for_messages": { + "description": "Play sound for incoming messages", + "type": "boolean", + "default": true + }, + "enable_threaded_replies": { + "description": "Allow creation of message threads", + "type": "boolean", + "default": true + }, + "enable_video_calling": { + "description": "Enable video calling", + "type": "boolean", + "default": true + }, + "enable_voice_calling": { + "description": "Enable voice calling", + "type": "boolean", + "default": true + }, + "hide_deleted_messages": { + "description": "Hide message bubbles for deleted messages", + "type": "boolean", + "default": true + }, + "hide_join_leave_notifications": { + "description": "Hide the notifications in chat when someone joins or leaves a group", + "type": "boolean", + "default": true + }, + "join_or_leave_groups": { + "description": "Allow joining/leaving groups", + "type": "boolean", + "default": true + }, + "send_emojis": { + "description": "Show the emojis keyboard", + "type": "boolean", + "default": true + }, + "send_files": { + "description": "Allow sending files in chats", + "type": "boolean", + "default": true + }, + "send_message_in_private_to_group_member": { + "description": "Allow sending private messages to group members", + "type": "boolean" + }, + "send_photos_videos": { + "description": "Allow sending Photos and Videos in chat", + "type": "boolean", + "default": true + }, + "share_live_reactions": { + "description": "Allow sending Live Reactions", + "type": "boolean", + "default": true + }, + "show_call_notifications": { + "description": "Show notification for incoming calls", + "type": "boolean", + "default": true + }, + "show_delivery_read_indicators": { + "description": "Show delivery and read receipts", + "type": "boolean", + "default": true + }, + "show_emojis_in_larger_size": { + "description": "Display larger emojis when sending one, two or three in a message.", + "type": "boolean", + "default": true + }, + "show_stickers": { + "description": "Enable Stickers extension before enabling this", + "type": "boolean", + "default": true + }, + "show_typing_indicators": { + "description": "Show typing... indicators in chats", + "type": "boolean" + }, + "show_user_presence": { + "description": "Show user preferences", + "type": "boolean", + "default": true + }, + "view_group_members": { + "description": "Allow viewing group members", + "type": "boolean", + "default": true + }, + "allow_mention_members": { + "description": "Allow Mention Members", + "type": "boolean", + "default": false + }, + "enable_replying_to_messages": { + "description": "Enable Replying To Messages", + "type": "boolean", + "default": false + }, + "enable_share_copy_forward_messages": { + "description": "Enable Share Copy Forward Messages", + "type": "boolean", + "default": false + }, + "highlight_messages_from_moderators": { + "description": "Highlight Messages From Moderators", + "type": "boolean", + "default": false + }, + "show_call_recording_option": { + "description": "Show Call Recording Option", + "type": "boolean", + "default": false + }, + "send_voice_notes": { + "description": "Send Voice Notes", + "type": "boolean", + "default": false + }, + "send_gifs": { + "description": "Send Gifs", + "type": "boolean", + "default": false + }, + "share_location": { + "description": "Share Location", + "type": "boolean", + "default": false + }, + "view_shared_media": { + "description": "Allow viewing all Shared media in a group", + "type": "boolean", + "default": true + }, + "set_groups_in_qna_mode_by_moderators": { + "description": "Set Groups In Qna Mode By Moderators", + "type": "boolean", + "default": false + }, + "send_reply_in_private_to_group_member": { + "description": "Send Reply In Private To Group Member", + "type": "boolean", + "default": false + } }, "type": "object" + }, + "appId": { + "description": "Cometchat appid", + "type": "string", + "default": "564663ddb71bbb" + }, + "widgetId": { + "description": "Widget Id that need to modify", + "type": "string", + "default": "9af42f42-2f27-456d-9bfc-d77c29ec67bc" + } }, - "messageShortcutsGetSchema": { + "type": "object" + } + }, + "type": "object" + }, + "chatWidgetRequestSchema": { + "properties": { + "settings": { + "required": [ + "name", + "version" + ], + "properties": { + "name": { + "description": "Name of the Chat Widget", + "type": "string", + "default": "Test Chat Widget" + }, + "version": { + "description": "Version is always v2", + "type": "string", + "default": "v2" + }, + "style": { + "required": [ + "docked_layout_icon_background", + "docked_layout_icon_close", + "docked_layout_icon_open" + ], "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "shortcuts": { - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "custom_css": { + "description": "Custom CSS if required", + "type": "string" + }, + "custom_js": { + "description": "Custom JS if required", + "type": "string", + "default": "v2" + }, + "docked_layout_icon_background": { + "description": "The background color for Icon in the Docked mode", + "type": "string", + "default": "#03a9f4" + }, + "docked_layout_icon_close": { + "description": "The image to be displayed on the Docked layout icon when the Widget is closed.", + "type": "string", + "default": "https://widget-js.cometchat.io/v2/resources/chat_close.svg" + }, + "docked_layout_icon_open": { + "description": "The image to be displayed on the Docked layout icon when the widget is opened.", + "type": "string", + "default": "https://widget-js.cometchat.io/v2/resources/chat_bubble.svg" + }, + "primary_color": { + "description": "Primary Colour", + "type": "string", + "default": "#03A9F4" + }, + "foreground_color": { + "description": "Foreground Colour", + "type": "string", + "default": " #000000" + }, + "background_color": { + "description": "Background Colour", + "type": "string", + "default": "#FFFFFF" + }, + "override_system_background_colors": { + "description": "Override System Background Colours", + "type": "boolean", + "default": true + } }, "type": "object" - }, - "messageShortcutsRequestSchema": { + }, + "sidebar": { + "required": [ + "users", + "groups", + "calls", + "recent_chat_listing", + "user_listing", + "sidebar_navigation_sequence" + ], "properties": { - "settings": { - "required": [ - "shortcuts" - ], - "properties": { - "shortcuts": { - "description": "Shortcuts and message mapping", - "type": "object", - "default": { - "!cu": "See you later.", - "!ty": "Hey! Thanks a lot! 😊", - "!hbd": "Happy Birthday! 🥳", - "!ssup": "What's up!?", - "!wc": "You're welcome!" - } - } - }, - "type": "object" - } + "chats": { + "description": "Show Chats section in the Sidebar", + "type": "boolean", + "default": true + }, + "users": { + "description": "Show Users section in the Sidebar", + "type": "boolean", + "default": true + }, + "groups": { + "description": "Show Groups section in the Sidebar", + "type": "boolean", + "default": true + }, + "calls": { + "description": "Show Calls section in the Sidebar", + "type": "boolean" + }, + "user_settings": { + "description": "Show User Settings section in the Sidebar", + "type": "boolean" + }, + "recent_chat_listing": { + "description": "Which chats should be displayed in the Recent chat section", + "type": "string", + "default": "all_chats" + }, + "user_listing": { + "description": "Which users should be displayed in the User list", + "type": "string", + "default": "all_users" + }, + "sidebar_navigation_sequence": { + "description": "Order of sections in Sidebar. Do not add any new values.", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "chats", + "users", + "groups", + "calls", + "settings" + ] + }, + "start_a_new_conversation": { + "description": "Start a new Conversation", + "type": "string", + "default": "all_chats" + }, + "group_listing": { + "description": "Group Listing", + "type": "string", + "default": "public_and_password_protected_groups" + } }, "type": "object" - }, - "messageShortcutsSchema": { + }, + "main": { + "required": [ + "allow_creating_polls", + "allow_delete_groups", + "allow_kick_ban_members", + "allow_message_reactions", + "allow_moderator_to_delete_member_messages", + "allow_promote_demote_members", + "block_user", + "create_groups", + "enable_collaborative_document", + "enable_collaborative_whiteboard", + "enable_deleting_messages", + "enable_editing_messages", + "enable_message_translation", + "enable_sending_messages", + "enable_sound_for_calls", + "enable_sound_for_messages", + "enable_threaded_replies", + "enable_video_calling", + "enable_voice_calling", + "hide_deleted_messages", + "hide_join_leave_notifications", + "join_or_leave_groups", + "send_emojis", + "send_message_in_private_to_group_member", + "send_photos_videos", + "share_live_reactions", + "show_call_notifications", + "show_delivery_read_indicators", + "show_emojis_in_larger_size" + ], "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "shortcuts": { - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "allow_add_members": { + "description": "Allow adding new group members", + "type": "boolean", + "default": true + }, + "allow_creating_polls": { + "description": "Enable Polls extension to allow sending polls", + "type": "boolean" + }, + "allow_delete_groups": { + "description": "Allow deletion of groups", + "type": "boolean", + "default": true + }, + "allow_kick_ban_members": { + "description": "Allow kick/ban group member actions", + "type": "boolean", + "default": true + }, + "allow_message_reactions": { + "description": "Enable Reactions extension to allow reactions to messages", + "type": "boolean" + }, + "allow_moderator_to_delete_member_messages": { + "description": "Allow moderators to delete messages from group", + "type": "boolean" + }, + "allow_promote_demote_members": { + "description": "Allow changing scopes of group members", + "type": "boolean" + }, + "block_user": { + "description": "Allow blocking a user", + "type": "boolean", + "default": true + }, + "create_groups": { + "description": "Allow creating new groups", + "type": "boolean", + "default": true + }, + "enable_collaborative_document": { + "description": "Enable Collaborative Document extension before enabling this", + "type": "boolean" + }, + "enable_collaborative_whiteboard": { + "description": "Enable Collaborative Whiteboard extension before enabling this.", + "type": "boolean" + }, + "enable_deleting_messages": { + "description": "Allow deletion of messages from chats", + "type": "boolean", + "default": true + }, + "enable_editing_messages": { + "description": "Allow edition of messages from chats", + "type": "boolean", + "default": true + }, + "enable_message_translation": { + "description": "Enable Message translation extension before enabling this.", + "type": "boolean" + }, + "enable_sending_messages": { + "description": "Allow sending messages", + "type": "boolean", + "default": true + }, + "enable_sound_for_calls": { + "description": "Play sound for incoming calls", + "type": "boolean", + "default": true + }, + "enable_sound_for_messages": { + "description": "Play sound for incoming messages", + "type": "boolean", + "default": true + }, + "enable_threaded_replies": { + "description": "Allow creation of message threads", + "type": "boolean", + "default": true + }, + "enable_video_calling": { + "description": "Enable video calling", + "type": "boolean", + "default": true + }, + "enable_voice_calling": { + "description": "Enable voice calling", + "type": "boolean", + "default": true + }, + "hide_deleted_messages": { + "description": "Hide message bubbles for deleted messages", + "type": "boolean", + "default": true + }, + "hide_join_leave_notifications": { + "description": "Hide the notifications in chat when someone joins or leaves a group", + "type": "boolean", + "default": true + }, + "join_or_leave_groups": { + "description": "Allow joining/leaving groups", + "type": "boolean", + "default": true + }, + "send_emojis": { + "description": "Show the emojis keyboard", + "type": "boolean", + "default": true + }, + "send_files": { + "description": "Allow sending files in chats", + "type": "boolean", + "default": true + }, + "send_message_in_private_to_group_member": { + "description": "Allow sending private messages to group members", + "type": "boolean" + }, + "send_photos_videos": { + "description": "Allow sending Photos and Videos in chat", + "type": "boolean", + "default": true + }, + "share_live_reactions": { + "description": "Allow sending Live Reactions", + "type": "boolean", + "default": true + }, + "show_call_notifications": { + "description": "Show notification for incoming calls", + "type": "boolean", + "default": true + }, + "show_delivery_read_indicators": { + "description": "Show delivery and read receipts", + "type": "boolean", + "default": true + }, + "show_emojis_in_larger_size": { + "description": "Display larger emojis when sending one, two or three in a message.", + "type": "boolean", + "default": true + }, + "show_stickers": { + "description": "Enable Stickers extension before enabling this", + "type": "boolean", + "default": true + }, + "show_typing_indicators": { + "description": "Show typing... indicators in chats", + "type": "boolean" + }, + "show_user_presence": { + "description": "Show user preferences", + "type": "boolean", + "default": true + }, + "view_group_members": { + "description": "Allow viewing group members", + "type": "boolean", + "default": true + }, + "allow_mention_members": { + "description": "Allow Mention Members", + "type": "boolean", + "default": false + }, + "enable_replying_to_messages": { + "description": "Enable Replying To Messages", + "type": "boolean", + "default": false + }, + "enable_share_copy_forward_messages": { + "description": "Enable Share Copy Forward Messages", + "type": "boolean", + "default": false + }, + "highlight_messages_from_moderators": { + "description": "Highlight Messages From Moderators", + "type": "boolean", + "default": false + }, + "show_call_recording_option": { + "description": "Show Call Recording Option", + "type": "boolean", + "default": false + }, + "send_voice_notes": { + "description": "Send Voice Notes", + "type": "boolean", + "default": false + }, + "send_gifs": { + "description": "Send Gifs", + "type": "boolean", + "default": false + }, + "share_location": { + "description": "Share Location", + "type": "boolean", + "default": false + }, + "view_shared_media": { + "description": "Allow viewing all Shared media in a group", + "type": "boolean", + "default": true + }, + "set_groups_in_qna_mode_by_moderators": { + "description": "Set Groups In Qna Mode By Moderators", + "type": "boolean", + "default": false + }, + "send_reply_in_private_to_group_member": { + "description": "Send Reply In Private To Group Member", + "type": "boolean", + "default": false + } }, "type": "object" + } }, - "metaSchema": { + "type": "object" + } + }, + "type": "object" + }, + "chatWidgetResponseSchema": { + "properties": { + "data": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "integer" + }, + "body": { "properties": { - "pagination": { - "properties": { - "total": { - "type": "integer" + "data": { + "properties": { + "configuration": { + "type": "array", + "items": { + "required": [ + "name", + "version" + ], + "properties": { + "name": { + "description": "Name of the Chat Widget", + "type": "string", + "default": "Test Chat Widget" + }, + "version": { + "description": "Version is always v2", + "type": "string", + "default": "v2" }, - "count": { - "type": "integer" + "style": { + "required": [ + "docked_layout_icon_background", + "docked_layout_icon_close", + "docked_layout_icon_open" + ], + "properties": { + "custom_css": { + "description": "Custom CSS if required", + "type": "string" + }, + "custom_js": { + "description": "Custom JS if required", + "type": "string", + "default": "v2" + }, + "docked_layout_icon_background": { + "description": "The background color for Icon in the Docked mode", + "type": "string", + "default": "#03a9f4" + }, + "docked_layout_icon_close": { + "description": "The image to be displayed on the Docked layout icon when the Widget is closed.", + "type": "string", + "default": "https://widget-js.cometchat.io/v2/resources/chat_close.svg" + }, + "docked_layout_icon_open": { + "description": "The image to be displayed on the Docked layout icon when the widget is opened.", + "type": "string", + "default": "https://widget-js.cometchat.io/v2/resources/chat_bubble.svg" + }, + "primary_color": { + "description": "Primary Colour", + "type": "string", + "default": "#03A9F4" + }, + "foreground_color": { + "description": "Foreground Colour", + "type": "string", + "default": " #000000" + }, + "background_color": { + "description": "Background Colour", + "type": "string", + "default": "#FFFFFF" + }, + "override_system_background_colors": { + "description": "Override System Background Colours", + "type": "boolean", + "default": true + } + }, + "type": "object" }, - "per_page": { - "type": "integer" + "sidebar": { + "required": [ + "users", + "groups", + "calls", + "recent_chat_listing", + "user_listing", + "sidebar_navigation_sequence" + ], + "properties": { + "chats": { + "description": "Show Chats section in the Sidebar", + "type": "boolean", + "default": true + }, + "users": { + "description": "Show Users section in the Sidebar", + "type": "boolean", + "default": true + }, + "groups": { + "description": "Show Groups section in the Sidebar", + "type": "boolean", + "default": true + }, + "calls": { + "description": "Show Calls section in the Sidebar", + "type": "boolean" + }, + "user_settings": { + "description": "Show User Settings section in the Sidebar", + "type": "boolean" + }, + "recent_chat_listing": { + "description": "Which chats should be displayed in the Recent chat section", + "type": "string", + "default": "all_chats" + }, + "user_listing": { + "description": "Which users should be displayed in the User list", + "type": "string", + "default": "all_users" + }, + "sidebar_navigation_sequence": { + "description": "Order of sections in Sidebar. Do not add any new values.", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "chats", + "users", + "groups", + "calls", + "settings" + ] + }, + "start_a_new_conversation": { + "description": "Start a new Conversation", + "type": "string", + "default": "all_chats" + }, + "group_listing": { + "description": "Group Listing", + "type": "string", + "default": "public_and_password_protected_groups" + } + }, + "type": "object" }, - "current_page": { - "type": "integer" + "main": { + "required": [ + "allow_creating_polls", + "allow_delete_groups", + "allow_kick_ban_members", + "allow_message_reactions", + "allow_moderator_to_delete_member_messages", + "allow_promote_demote_members", + "block_user", + "create_groups", + "enable_collaborative_document", + "enable_collaborative_whiteboard", + "enable_deleting_messages", + "enable_editing_messages", + "enable_message_translation", + "enable_sending_messages", + "enable_sound_for_calls", + "enable_sound_for_messages", + "enable_threaded_replies", + "enable_video_calling", + "enable_voice_calling", + "hide_deleted_messages", + "hide_join_leave_notifications", + "join_or_leave_groups", + "send_emojis", + "send_message_in_private_to_group_member", + "send_photos_videos", + "share_live_reactions", + "show_call_notifications", + "show_delivery_read_indicators", + "show_emojis_in_larger_size" + ], + "properties": { + "allow_add_members": { + "description": "Allow adding new group members", + "type": "boolean", + "default": true + }, + "allow_creating_polls": { + "description": "Enable Polls extension to allow sending polls", + "type": "boolean" + }, + "allow_delete_groups": { + "description": "Allow deletion of groups", + "type": "boolean", + "default": true + }, + "allow_kick_ban_members": { + "description": "Allow kick/ban group member actions", + "type": "boolean", + "default": true + }, + "allow_message_reactions": { + "description": "Enable Reactions extension to allow reactions to messages", + "type": "boolean" + }, + "allow_moderator_to_delete_member_messages": { + "description": "Allow moderators to delete messages from group", + "type": "boolean" + }, + "allow_promote_demote_members": { + "description": "Allow changing scopes of group members", + "type": "boolean" + }, + "block_user": { + "description": "Allow blocking a user", + "type": "boolean", + "default": true + }, + "create_groups": { + "description": "Allow creating new groups", + "type": "boolean", + "default": true + }, + "enable_collaborative_document": { + "description": "Enable Collaborative Document extension before enabling this", + "type": "boolean" + }, + "enable_collaborative_whiteboard": { + "description": "Enable Collaborative Whiteboard extension before enabling this.", + "type": "boolean" + }, + "enable_deleting_messages": { + "description": "Allow deletion of messages from chats", + "type": "boolean", + "default": true + }, + "enable_editing_messages": { + "description": "Allow edition of messages from chats", + "type": "boolean", + "default": true + }, + "enable_message_translation": { + "description": "Enable Message translation extension before enabling this.", + "type": "boolean" + }, + "enable_sending_messages": { + "description": "Allow sending messages", + "type": "boolean", + "default": true + }, + "enable_sound_for_calls": { + "description": "Play sound for incoming calls", + "type": "boolean", + "default": true + }, + "enable_sound_for_messages": { + "description": "Play sound for incoming messages", + "type": "boolean", + "default": true + }, + "enable_threaded_replies": { + "description": "Allow creation of message threads", + "type": "boolean", + "default": true + }, + "enable_video_calling": { + "description": "Enable video calling", + "type": "boolean", + "default": true + }, + "enable_voice_calling": { + "description": "Enable voice calling", + "type": "boolean", + "default": true + }, + "hide_deleted_messages": { + "description": "Hide message bubbles for deleted messages", + "type": "boolean", + "default": true + }, + "hide_join_leave_notifications": { + "description": "Hide the notifications in chat when someone joins or leaves a group", + "type": "boolean", + "default": true + }, + "join_or_leave_groups": { + "description": "Allow joining/leaving groups", + "type": "boolean", + "default": true + }, + "send_emojis": { + "description": "Show the emojis keyboard", + "type": "boolean", + "default": true + }, + "send_files": { + "description": "Allow sending files in chats", + "type": "boolean", + "default": true + }, + "send_message_in_private_to_group_member": { + "description": "Allow sending private messages to group members", + "type": "boolean" + }, + "send_photos_videos": { + "description": "Allow sending Photos and Videos in chat", + "type": "boolean", + "default": true + }, + "share_live_reactions": { + "description": "Allow sending Live Reactions", + "type": "boolean", + "default": true + }, + "show_call_notifications": { + "description": "Show notification for incoming calls", + "type": "boolean", + "default": true + }, + "show_delivery_read_indicators": { + "description": "Show delivery and read receipts", + "type": "boolean", + "default": true + }, + "show_emojis_in_larger_size": { + "description": "Display larger emojis when sending one, two or three in a message.", + "type": "boolean", + "default": true + }, + "show_stickers": { + "description": "Enable Stickers extension before enabling this", + "type": "boolean", + "default": true + }, + "show_typing_indicators": { + "description": "Show typing... indicators in chats", + "type": "boolean" + }, + "show_user_presence": { + "description": "Show user preferences", + "type": "boolean", + "default": true + }, + "view_group_members": { + "description": "Allow viewing group members", + "type": "boolean", + "default": true + }, + "allow_mention_members": { + "description": "Allow Mention Members", + "type": "boolean", + "default": false + }, + "enable_replying_to_messages": { + "description": "Enable Replying To Messages", + "type": "boolean", + "default": false + }, + "enable_share_copy_forward_messages": { + "description": "Enable Share Copy Forward Messages", + "type": "boolean", + "default": false + }, + "highlight_messages_from_moderators": { + "description": "Highlight Messages From Moderators", + "type": "boolean", + "default": false + }, + "show_call_recording_option": { + "description": "Show Call Recording Option", + "type": "boolean", + "default": false + }, + "send_voice_notes": { + "description": "Send Voice Notes", + "type": "boolean", + "default": false + }, + "send_gifs": { + "description": "Send Gifs", + "type": "boolean", + "default": false + }, + "share_location": { + "description": "Share Location", + "type": "boolean", + "default": false + }, + "view_shared_media": { + "description": "Allow viewing all Shared media in a group", + "type": "boolean", + "default": true + }, + "set_groups_in_qna_mode_by_moderators": { + "description": "Set Groups In Qna Mode By Moderators", + "type": "boolean", + "default": false + }, + "send_reply_in_private_to_group_member": { + "description": "Send Reply In Private To Group Member", + "type": "boolean", + "default": false + } + }, + "type": "object" }, - "total_pages": { - "type": "integer" + "appId": { + "description": "Cometchat appid", + "type": "string", + "default": "564663ddb71bbb" }, - "links": { - "type": "string" + "widgetId": { + "description": "Widget Id that need to modify", + "type": "string", + "default": "9af42f42-2f27-456d-9bfc-d77c29ec67bc" } - }, - "type": "object" - } + }, + "type": "object" + } + } + }, + "type": "object" + } }, "type": "object" + } }, - "profanityFilterCreateSchema": { + "type": "object" + } + }, + "type": "object" + }, + "chatWidgetSchema": { + "properties": { + "enabled": { + "properties": { + "extention_id1": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "dropMessage": { - "type": "boolean" - }, - "badwords": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "success": { + "type": "boolean" + }, + "message": { + "type": "string" + } }, "type": "object" - }, - "profanityFilterDeleteSchema": { + }, + "extention_id2": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } + "success": { + "type": "boolean" + }, + "message": { + "type": "string" + } }, "type": "object" + } }, - "profanityFilterGetSchema": { + "type": "object" + }, + "disabled": { + "properties": { + "extention_id3": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "dropMessage": { - "type": "boolean" - }, - "groupGUID": { - "type": "array", - "items": { - "type": "string" - } - }, - "appId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "success": { + "type": "boolean" + }, + "message": { + "type": "string" + } }, "type": "object" + } }, - "profanityFilterRequestSchema": { + "type": "object" + } + }, + "type": "object" + }, + "chatwootDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "settings": { - "required": [ - "dropMessage", - "badwords" - ], - "properties": { - "dropMessage": { - "description": "conatin the dropMessage", - "type": "boolean", - "default": false - }, - "badwords": { - "description": "remove the badwords", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "xyz" - ] - } - }, - "type": "object" - } + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "pushNotificationDeleteSchema": { + "type": "object" + } + }, + "type": "object" + }, + "chatwootGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" + "settings": { + "properties": { + "appId": { + "type": "string" + }, + "customerSupportUid": { + "type": "string" + }, + "chatwootAccountId": { + "type": "string" + }, + "chatwootInboxId": { + "type": "string" + }, + "chatwootAccessToken": { + "type": "string" + }, + "webhookURL": { + "type": "string" + } }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "chatwootRequestSchema": { + "properties": { + "settings": { + "required": [ + "chatwootAccessToken", + "chatwootAccountId", + "chatwootInboxId", + "customerSupportUid" + ], + "properties": { + "chatwootAccessToken": { + "description": "For connecting and exchanging messages between CometChat and chatwoot", + "type": "string", + "default": "EgsDdxRZFUy4tPWDjwmyZaYk" + }, + "chatwootAccountId": { + "description": "Obtained from Chatwoot profile settings", + "type": "string", + "default": "12123" + }, + "chatwootInboxId": { + "description": "Obtained from Chatwoot inbox settings", + "type": "string", + "default": "12345" + }, + "customerSupportUid": { + "description": "Customer support uid that you have selected", + "type": "string", + "default": "cometchat-uid-2" + } }, - "pushNotificationGetSchema": { + "type": "object" + } + }, + "type": "object" + }, + "chatwootSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" + "settings": { + "properties": { + "appId": { + "type": "string" + }, + "customerSupportUid": { + "type": "string" + }, + "chatwootAccountId": { + "type": "string" + }, + "chatwootInboxId": { + "type": "string" + }, + "chatwootAccessToken": { + "type": "string" + }, + "webhookURL": { + "type": "string" + } }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "version": { - "description": "2: Token-based (Recommended) | 0: Topic-based + Token-based | 1: Topic-based (Legacy)", - "type": "number", - "default": 2 - }, - "pushProvider": { - "description": "1: FCM | 2: APNs | 0: FCM+APNs", - "type": "number", - "default": 1 - }, - "fcmServerKey": { - "type": "string" - }, - "notificationInPayload": { - "properties": { - "web": { - "description": "Include 'notification' key for Web", - "type": "boolean", - "default": true - }, - "android": { - "description": "Include 'notification' key for Android", - "type": "boolean", - "default": false - }, - "ionic_cordova": { - "description": "Include 'notification' key for Ionic", - "type": "boolean", - "default": true - }, - "react_native": { - "description": "Include 'notification' key for React native", - "type": "boolean", - "default": false - }, - "ios": { - "description": "Include 'notification' key for iOS", - "type": "boolean", - "default": true - } - }, - "type": "object" - }, - "useP8": { - "type": "boolean" - }, - "keyId": { - "type": "string" - }, - "teamId": { - "type": "string" - }, - "bundleId": { - "type": "string" - }, - "sendApnsProduction": { - "type": "boolean" - }, - "sendNewMessageNotification": { - "type": "boolean" - }, - "sendEditMessageNotification": { - "type": "boolean" - }, - "sendDeleteMessageNotification": { - "type": "boolean" - }, - "sendThreadedMessageNotification": { - "type": "boolean" - }, - "sendIncomingCallNotification": { - "type": "boolean" - }, - "sendMissedCallNotification": { - "type": "boolean" - }, - "sendMemberJoinedNotification": { - "type": "boolean" - }, - "sendMemberLeftNotification": { - "type": "boolean" - }, - "sendMemberKickedNotification": { - "type": "boolean" - }, - "sendMemberBannedNotification": { - "type": "boolean" - }, - "sendMemberUnbannedNotification": { - "type": "boolean" - }, - "sendMemberAddedNotification": { - "type": "boolean" - }, - "sendMemberScopeChangedNotification": { - "type": "boolean" - }, - "appId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } }, - "pushNotificationRequestSchema": { + "type": "object" + } + }, + "type": "object" + }, + "dataMaskingGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "settings": { - "required": [ - "version", - "pushProvider" - ], - "properties": { - "version": { - "description": "2: Token-based (Recommended) | 0: Topic-based + Token-based | 1: Topic-based (Legacy)", - "type": "integer", - "default": 2 - }, - "pushProvider": { - "description": "1: FCM | 2: APNs | 0: FCM+APNs", - "type": "integer", - "default": 1 - }, - "fcmCredentials": { - "description": "These are obtained from the Service Account JSON file you download from Firebase console", - "properties": { - "project_id": { - "type": "string" - }, - "client_email": { - "type": "string" - }, - "private_key": { - "type": "string" - }, - "private_key_id": { - "type": "string" - } - }, - "type": "object" - }, - "notificationInPayload": { - "properties": { - "web": { - "description": "Include 'notification' key for Web", - "type": "boolean", - "default": true - }, - "android": { - "description": "Include 'notification' key for Android", - "type": "boolean", - "default": true - }, - "ionic_cordova": { - "description": "Include 'notification' key for Ionic", - "type": "boolean", - "default": true - }, - "react_native": { - "description": "Include 'notification' key for React native", - "type": "boolean", - "default": false - }, - "ios": { - "description": "Include 'notification' key for iOS", - "type": "boolean", - "default": true - }, - "flutter": { - "description": "Include 'notification' key for Flutter", - "type": "boolean", - "default": true - } - }, - "type": "object" - }, - "useP8": { - "description": "Required for APNs only. Use .p8 as it never expires", - "type": "boolean", - "default": true - }, - "keyId": { - "description": "Required for APNs only", - "type": "string" - }, - "teamId": { - "description": "Required for APNs only", - "type": "string" - }, - "bundleId": { - "description": "Required for APNs only", - "type": "string" - }, - "sendApnsProduction": { - "description": "Required for APNs only. 'true' for apps available on the Appstore", - "type": "boolean", - "default": true - }, - "sendNewMessageNotification": { - "type": "boolean", - "default": true - }, - "sendEditMessageNotification": { - "type": "boolean", - "default": false - }, - "sendDeleteMessageNotification": { - "type": "boolean", - "default": false - }, - "sendThreadedMessageNotification": { - "type": "boolean", - "default": true - }, - "sendIncomingCallNotification": { - "type": "boolean", - "default": true - }, - "sendMissedCallNotification": { - "type": "boolean", - "default": true - }, - "sendMemberJoinedNotification": { - "type": "boolean", - "default": true - }, - "sendMemberLeftNotification": { - "type": "boolean", - "default": true - }, - "sendMemberKickedNotification": { - "type": "boolean", - "default": true - }, - "sendMemberBannedNotification": { - "type": "boolean", - "default": true + "settings": { + "properties": { + "dropMessage": { + "type": "boolean" + }, + "customregexData": { + "type": "array", + "items": { + "properties": { + "name": { + "type": "string" }, - "sendMemberUnbannedNotification": { - "type": "boolean", - "default": true + "regex": { + "type": "string" }, - "sendMemberAddedNotification": { - "type": "boolean", - "default": true + "id": { + "type": "string" + } + }, + "type": "object" + } + }, + "defaultRegexData": { + "type": "array", + "items": { + "properties": { + "name": { + "type": "string" }, - "sendMemberScopeChangedNotification": { - "type": "boolean", - "default": false + "regex": { + "type": "string" }, - "appId": { - "type": "string" + "id": { + "type": "string" }, - "cometchatMessagePayloadOptions": { - "description": "Optional property", - "properties": { - "skipSenderMetadata": { - "description": "Excludes sender's metadata from the message object in the push payload", - "type": "boolean", - "default": false - }, - "skipReceiverMetadata": { - "description": "Excludes receiver's metadata from the message object in the push payload", - "type": "boolean", - "default": false - }, - "skipMessageMetadata": { - "description": "Excludes the message metadata from the message object in the push payload", - "type": "boolean", - "default": false - }, - "trimMessageText": { - "description": "Trims the message text from the message object in the push payload to ensure the payload size does not exceed 4KB; exceeding this limit may prevent notifications from being delivered.", - "type": "boolean", - "default": true - } - }, - "type": "object" + "enableFlag": { + "type": "boolean" } - }, - "type": "object" - } + }, + "type": "object" + } + } + }, + "type": "object" + } }, "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "dataMaskingRequestSchema": { + "properties": { + "settings": { + "required": [ + "dropMessage", + "customregexData", + "defaultRegexData", + "deleteCustomRegexData" + ], + "properties": { + "dropMessage": { + "description": "Should drop message in case of sensitive information?", + "type": "boolean", + "default": false + }, + "defaultRegexData": { + "description": "Configure the default masks", + "type": "array", + "items": { + "type": "object" + }, + "default": [ + { + "enableFlag": false, + "id": "1", + "name": "US Phone numbers", + "regex": "[2-9]\\\\d{2}-\\\\d{3}-\\\\d{4}" + }, + { + "enableFlag": false, + "id": "2", + "name": "Emails", + "regex": "\\\\w+([.-]?\\\\w+)*@\\\\w+([.-]?\\\\w+)*(\\\\.\\\\w{2,10})+" + }, + { + "enableFlag": false, + "id": "3", + "name": "SSN", + "regex": "\\\\d{3}-\\\\d{2}-\\\\d{4}" + } + ] + }, + "customregexData": { + "description": "Configure the custom masks", + "type": "array", + "items": { + "type": "object" + }, + "default": [ + { + "name": "one", + "regex": "one", + "id": "1983958" + } + ] + }, + "deleteCustomRegexData": { + "description": "Remove custom masks by ID", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "9393903" + ] + } }, - "pushNotificationSchema": { + "type": "object" + } + }, + "type": "object" + }, + "dataMaskingResponseSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "version": { - "description": "2: Token-based (Recommended) | 0: Topic-based + Token-based | 1: Topic-based (Legacy)", - "type": "number", - "default": 2 - }, - "pushProvider": { - "description": "1: FCM | 2: APNs | 0: FCM+APNs", - "type": "number", - "default": 1 - }, - "fcmServerKey": { - "type": "string" - }, - "notificationInPayload": { - "properties": { - "web": { - "description": "Include 'notification' key for Web", - "type": "boolean", - "default": true - }, - "android": { - "description": "Include 'notification' key for Android", - "type": "boolean", - "default": false - }, - "ionic_cordova": { - "description": "Include 'notification' key for Ionic", - "type": "boolean", - "default": true - }, - "react_native": { - "description": "Include 'notification' key for React native", - "type": "boolean", - "default": false - }, - "ios": { - "description": "Include 'notification' key for iOS", - "type": "boolean", - "default": true - } - }, - "type": "object" - }, - "useP8": { - "description": "Required for APNs only. Use .p8; as it never expires", - "type": "boolean", - "default": true - }, - "keyId": { - "description": "Required for APNs only.", - "type": "string", - "default": "" - }, - "teamId": { - "description": "Required for APNs only.", - "type": "string", - "default": "" - }, - "bundleId": { - "description": "Required for APNs only.", - "type": "string", - "default": "" - }, - "sendApnsProduction": { - "description": "Required for APNs only. 'true' for apps available on the Appstore", - "type": "boolean", - "default": false - }, - "sendNewMessageNotification": { - "type": "boolean", - "default": true - }, - "sendEditMessageNotification": { - "type": "boolean", - "default": false - }, - "sendDeleteMessageNotification": { - "type": "boolean", - "default": false - }, - "sendThreadedMessageNotification": { - "type": "boolean", - "default": true - }, - "sendIncomingCallNotification": { - "type": "boolean", - "default": true - }, - "sendMissedCallNotification": { - "type": "boolean", - "default": true - }, - "sendMemberJoinedNotification": { - "type": "boolean", - "default": true - }, - "sendMemberLeftNotification": { - "type": "boolean", - "default": true - }, - "sendMemberKickedNotification": { - "type": "boolean", - "default": true - }, - "sendMemberBannedNotification": { - "type": "boolean", - "default": true - }, - "sendMemberUnbannedNotification": { - "type": "boolean", - "default": true - }, - "sendMemberAddedNotification": { - "type": "boolean", - "default": true - }, - "sendMemberScopeChangedNotification": { - "type": "boolean", - "default": false - }, - "appId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "reportMessageCreateSchema": { + "type": "object" + } + }, + "type": "object" + }, + "deleteAppSchema": { + "properties": { + "success": { + "type": "boolean" + }, + "scheduledToDeleteAt": { + "type": "integer" + } + }, + "type": "object" + }, + "deleteSchema": { + "properties": { + "success": { + "type": "boolean" + }, + "message": { + "type": "string" + } + }, + "type": "object" + }, + "deleteWebhookSchema": { + "properties": { + "success": { + "type": "boolean" + }, + "message": { + "type": "string" + } + }, + "type": "object" + }, + "e2eeCreateSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" + "settings": { + "properties": { + "virgilAppID": { + "type": "string" + }, + "virgilAppKeyID": { + "type": "string" + }, + "virgilAppKey": { + "type": "string" + } }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "maxReports": { - "type": "number" - }, - "useWebhook": { - "type": "boolean" - }, - "webhookURL": { - "type": "string" - }, - "basicAuthUsername": { - "type": "string" - }, - "basicAuthPassword": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } }, - "reportMessageDeleteSchema": { + "type": "object" + } + }, + "type": "object" + }, + "e2eeDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "reportMessageGetSchema": { + "type": "object" + } + }, + "type": "object" + }, + "e2eeGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" + "settings": { + "properties": { + "virgilAppID": { + "type": "string" + }, + "virgilAppKeyID": { + "type": "string" + }, + "virgilAppKey": { + "type": "string" + }, + "appId": { + "type": "string" + } }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "maxReports": { - "type": "number" - }, - "useWebhook": { - "type": "boolean" - }, - "webhookURL": { - "type": "string" - }, - "basicAuthUsername": { - "type": "string" - }, - "basicAuthPassword": { - "type": "string" - }, - "appId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "e2eeRequestSchema": { + "properties": { + "settings": { + "required": [ + "virgilAppID", + "virgilAppKeyID", + "virgilAppKey" + ], + "properties": { + "virgilAppID": { + "description": "Virgil App Id obtained from their Dashboard", + "type": "string", + "default": "virgilAppId12345678" + }, + "virgilAppKeyID": { + "description": "Virgil App Key Id obtained from their Dashboard", + "type": "string", + "default": "xyzabcd12345678" + }, + "virgilAppKey": { + "description": "Virgil App Key obtained from their Dashboard", + "type": "string", + "default": "abcd12345678" + } }, - "reportMessageRequestSchema": { + "type": "object" + } + }, + "type": "object" + }, + "emailNotificationDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "settings": { - "required": [ - "maxReports", - "useWebhook" - ], - "properties": { - "maxReports": { - "description": "Maximum number of unique reports after which moderation actions needs to be taken", - "type": "number", - "default": 3 - }, - "useWebhook": { - "description": "Send reports to webhook and perform custom actions", - "type": "boolean", - "default": true - }, - "webhookURL": { - "description": "The webhook URL to be triggered", - "type": "string", - "default": "https://www.your-domain.com/take-action" - }, - "basicAuthUsername": { - "description": "Basic Auth messagename to use for calling your webhook URL", - "type": "string", - "default": "abcd" - }, - "basicAuthPassword": { - "description": "Basic Auth password to use for calling your webhook URL", - "type": "string", - "default": "1234" - } - }, - "type": "object" - } + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "reportUserCreateSchema": { + "type": "object" + } + }, + "type": "object" + }, + "emailNotificationGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" + "settings": { + "properties": { + "sendGridApiKey": { + "description": "Sendgrid API key", + "type": "string", + "default": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222" + }, + "messageDelay": { + "description": "Time Interval after which notifications will be sent", + "type": "number", + "default": 120 + }, + "senderEmail": { + "description": "Sendgrid Sender Email for Notification", + "type": "string", + "default": "mymail@example.com" + }, + "senderName": { + "description": "Sendgrid Sender Name", + "type": "string", + "default": "John Doe" + }, + "sendGridTemplateId": { + "description": "Send Grid Template", + "type": "string", + "default": "f5c0102d" + }, + "sendGridUnsubscribeGroupId": { + "description": "Sendgrid Group Id obtained from their Dashboard", + "type": "string", + "default": "sendGridUnsubscribeGroupId" + }, + "useWebhook": { + "description": "Enable Webhook", + "type": "boolean", + "default": false + }, + "webhookURL": { + "description": "Webhook Url", + "type": "string", + "default": "https://example.com" + }, + "useWebhookBasicAuth": { + "description": "Enable Basic Authentication", + "type": "boolean", + "default": false + }, + "webhookUsername": { + "description": "Basic Authentication Username", + "type": "string", + "default": "username" + }, + "webhookPassword": { + "description": "Basic Authentication Password", + "type": "string", + "default": "f5c0102d" + }, + "appId": { + "type": "string" + } }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "maxReports": { - "type": "number" - }, - "useWebhook": { - "type": "boolean" - }, - "webhookURL": { - "type": "string" - }, - "basicAuthUsername": { - "type": "string" - }, - "basicAuthPassword": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "emailNotificationRequestSchema": { + "properties": { + "settings": { + "required": [ + "messageDelay", + "senderEmail", + "senderName", + "sendGridTemplateId", + "sendGridUnsubscribeGroupId", + "useWebhook", + "webhookURL", + "useWebhookBasicAuth", + "webhookUsername", + "webhookPassword", + "sendEmailReplies", + "senderEmailForReplies" + ], + "properties": { + "sendGridApiKey": { + "description": "Sendgrid API key", + "type": "string", + "default": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222" + }, + "messageDelay": { + "description": "Time Interval after which notifications will be sent", + "type": "number", + "default": 120 + }, + "senderEmail": { + "description": "Sendgrid Sender Email for Notification", + "type": "string", + "default": "mymail@example.com" + }, + "senderName": { + "description": "Sendgrid Sender Name", + "type": "string", + "default": "John Doe" + }, + "sendGridTemplateId": { + "description": "Send Grid Template", + "type": "string", + "default": "f5c0102d" + }, + "sendGridUnsubscribeGroupId": { + "description": "Sendgrid Group Id obtained from their Dashboard", + "type": "string", + "default": "sendGridUnsubscribeGroupId" + }, + "useWebhook": { + "description": "Enable Webhook", + "type": "boolean", + "default": false + }, + "webhookURL": { + "description": "Webhook Url", + "type": "string", + "default": "https://example.com" + }, + "useWebhookBasicAuth": { + "description": "Enable Basic Authentication", + "type": "boolean", + "default": false + }, + "webhookUsername": { + "description": "Basic Authentication Username", + "type": "string", + "default": "username" + }, + "webhookPassword": { + "description": "Basic Authentication Password", + "type": "string", + "default": "f5c0102d" + } }, - "reportUserDeleteSchema": { + "type": "object" + } + }, + "type": "object" + }, + "emailNotificationSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" + "settings": { + "properties": { + "sendGridApiKey": { + "description": "Sendgrid API key", + "type": "string", + "default": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222" + }, + "messageDelay": { + "description": "Time Interval after which notifications will be sent", + "type": "number", + "default": 120 + }, + "senderEmail": { + "description": "Sendgrid Sender Email for Notification", + "type": "string", + "default": "mymail@example.com" + }, + "senderName": { + "description": "Sendgrid Sender Name", + "type": "string", + "default": "John Doe" + }, + "sendGridTemplateId": { + "description": "Send Grid Template", + "type": "string", + "default": "f5c0102d" + }, + "sendGridUnsubscribeGroupId": { + "description": "Sendgrid Group Id obtained from their Dashboard", + "type": "string", + "default": "sendGridUnsubscribeGroupId" + }, + "useWebhook": { + "description": "Enable Webhook", + "type": "boolean", + "default": false + }, + "webhookURL": { + "description": "Webhook Url", + "type": "string", + "default": "https://example.com" + }, + "useWebhookBasicAuth": { + "description": "Enable Basic Authentication", + "type": "boolean", + "default": false + }, + "webhookUsername": { + "description": "Basic Authentication Username", + "type": "string", + "default": "username" + }, + "webhookPassword": { + "description": "Basic Authentication Password", + "type": "string", + "default": "f5c0102d" + } }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } }, - "reportUserGetSchema": { + "type": "object" + } + }, + "type": "object" + }, + "emailRepliesDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "maxReports": { - "type": "number" - }, - "useWebhook": { - "type": "boolean" - }, - "webhookURL": { - "type": "string" - }, - "basicAuthUsername": { - "type": "string" - }, - "basicAuthPassword": { - "type": "string" - }, - "appId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "reportUserRequestSchema": { + "type": "object" + } + }, + "type": "object" + }, + "emailRepliesGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "settings": { - "required": [ - "maxReports", - "useWebhook" - ], - "properties": { - "maxReports": { - "description": "Maximum number of unique reports after which moderation actions needs to be taken", - "type": "number", - "default": 3 - }, - "useWebhook": { - "description": "Send reports to webhook and perform custom actions", - "type": "boolean", - "default": true - }, - "webhookURL": { - "description": "The webhook URL to be triggered", - "type": "string", - "default": "https://www.your-domain.com/take-action" - }, - "basicAuthUsername": { - "description": "Basic Auth username to use for calling your webhook URL", - "type": "string", - "default": "abcd" - }, - "basicAuthPassword": { - "description": "Basic Auth password to use for calling your webhook URL", - "type": "string", - "default": "1234" - } - }, - "type": "object" - } + "settings": { + "properties": { + "senderEmailForReplies": { + "type": "string" + }, + "sendEmailReplies": { + "type": "boolean" + }, + "appId": { + "type": "string" + } + }, + "type": "object" + } }, "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "emailRepliesRequestSchema": { + "properties": { + "settings": { + "required": [ + "sendEmailReplies" + ], + "properties": { + "senderEmailForReplies": { + "description": "Email For Replies", + "type": "string", + "default": "mymail@example.com" + }, + "sendEmailReplies": { + "description": "Enable Email Replies", + "type": "boolean", + "default": false + } }, - "richMediaPreviewCreateSchema": { + "type": "object" + } + }, + "type": "object" + }, + "emailRepliesSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { + "settings": { + "properties": { + "senderEmailForReplies": { + "type": "string" + }, + "sendEmailReplies": { "type": "boolean" + } }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "iframelyApiKey": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "extensionListSchema": { + "properties": { + "email-notification": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tagline": { + "type": "string" + } + }, + "type": "object" + }, + "human-moderation": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tagline": { + "type": "string" + } }, - "richMediaPreviewDeleteSchema": { + "type": "object" + }, + "image-moderation": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tagline": { + "type": "string" + } + }, + "type": "object" + }, + "link-preview": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tagline": { + "type": "string" + } + }, + "type": "object" + }, + "message-translation": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tagline": { + "type": "string" + } + }, + "type": "object" + }, + "profanity-filter": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tagline": { + "type": "string" + } + }, + "type": "object" + }, + "push-notification": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tagline": { + "type": "string" + } + }, + "type": "object" + }, + "thumbnail-generation": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tagline": { + "type": "string" + } + }, + "type": "object" + }, + "broadcast": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tagline": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "extensionSchema": { + "properties": { + "enabled": { + "properties": { + "extention_id1": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } + "success": { + "type": "boolean" + }, + "message": { + "type": "string" + } + }, + "type": "object" + }, + "extention_id2": { + "properties": { + "success": { + "type": "boolean" + }, + "message": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "disabled": { + "properties": { + "extention_id3": { + "properties": { + "success": { + "type": "boolean" + }, + "message": { + "type": "string" + } }, "type": "object" + } }, - "richMediaPreviewGetSchema": { + "type": "object" + } + }, + "type": "object" + }, + "giphyDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" + "settings": { + "properties": { + "success": { + "type": "string" + } }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "iframelyApiKey": { - "type": "string" - }, - "appId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } }, - "richMediaPreviewRequestSchema": { + "type": "object" + } + }, + "type": "object" + }, + "giphyGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "settings": { - "required": [ - "iframelyApiKey" - ], - "properties": { - "iframelyApiKey": { - "description": "iFramely Api Key obtained from their Dashboard", - "type": "string", - "default": "abcd12345678" - } - }, - "type": "object" - } + "settings": { + "properties": { + "giphyApiKey": { + "type": "string" + }, + "appId": { + "type": "string" + } + }, + "type": "object" + } }, "type": "object" + } }, - "sentimentAnalysisDeleteSchema": { + "type": "object" + } + }, + "type": "object" + }, + "giphyRequestSchema": { + "properties": { + "settings": { + "required": [ + "giphyApiKey" + ], + "properties": { + "giphyApiKey": { + "description": "Giphy API Key obtained from their Dashboard", + "type": "string", + "default": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "giphySchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" + "settings": { + "properties": { + "giphyApiKey": { + "type": "string" + } }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } }, - "sentimentAnalysisGetSchema": { + "type": "object" + } + }, + "type": "object" + }, + "humanModerationCreateSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { + "settings": { + "properties": { + "allUserMessages": { "type": "boolean" + }, + "allGroupMessages": { + "type": "boolean" + }, + "senders": { + "type": "array", + "items": { + "type": "string" + } + }, + "receiverGroups": { + "type": "array", + "items": { + "type": "string" + } + }, + "receiverUsers": { + "type": "array", + "items": { + "type": "string" + } + }, + "allMessages": { + "type": "boolean" + } }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "dropMessage": { - "type": "boolean" - }, - "appId": { - "type": "integer" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } }, - "sentimentAnalysisRequestSchema": { + "type": "object" + } + }, + "type": "object" + }, + "humanModerationDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "settings": { - "required": [ - "dropMessage" - ], - "properties": { - "dropMessage": { - "description": "Should drop the message with Negative sentiments", - "type": "boolean" - } - }, - "type": "object" - } + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "sentimentAnalysisSchema": { + "type": "object" + } + }, + "type": "object" + }, + "humanModerationGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { + "settings": { + "properties": { + "allUserMessages": { "type": "boolean" + }, + "allGroupMessages": { + "type": "boolean" + }, + "senders": { + "type": "array", + "items": { + "type": "string" + } + }, + "receiverGroups": { + "type": "array", + "items": { + "type": "string" + } + }, + "receiverUsers": { + "type": "array", + "items": { + "type": "string" + } + }, + "allMessages": { + "type": "boolean" + }, + "appId": { + "type": "string" + } }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "dropMessage": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } }, - "settingsMapSchema": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/deleteSchema" - } + "type": "object" + } + }, + "type": "object" + }, + "humanModerationRequestSchema": { + "properties": { + "settings": { + "required": [ + "allUserMessages", + "allGroupMessages", + "senders", + "receiverGroups", + "receiverUsers", + "allMessages" + ], + "properties": { + "allUserMessages": { + "description": "Moderat all user messages", + "type": "boolean", + "default": false + }, + "allGroupMessages": { + "description": "Moderat all group messages", + "type": "boolean", + "default": false + }, + "senders": { + "description": "Moderate messages from UIDs", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "cometchat-uid-1", + "cometchat-uid-2" + ] + }, + "receiverGroups": { + "description": "Moderate messages to GUIDs", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "cometchat-guid-1" + ] + }, + "receiverUsers": { + "description": "Moderate messages to UIDs", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "cometchat-uid-3" + ] + }, + "allMessages": { + "description": "Moderate all messages", + "type": "boolean", + "default": false + } }, - "settingsUnMapSchema": { + "type": "object" + } + }, + "type": "object" + }, + "imageModerationDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "success": { - "type": "boolean" - }, - "message": { - "type": "string" - } + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "smsNotificationDeleteSchema": { + "type": "object" + } + }, + "type": "object" + }, + "imageModerationGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { + "settings": { + "properties": { + "dropMessage": { "type": "boolean" + }, + "appId": { + "type": "integer" + } }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "imageModerationRequestSchema": { + "properties": { + "settings": { + "required": [ + "dropMessage" + ], + "properties": { + "dropMessage": { + "description": "Should drop the message with XSS script", + "type": "boolean" + } }, - "smsNotificationGetSchema": { + "type": "object" + } + }, + "type": "object" + }, + "imageModerationSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { + "settings": { + "properties": { + "dropMessage": { "type": "boolean" + } }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "fromMobileNo": { - "type": "string" - }, - "messageDelay": { - "type": "number" - }, - "twilioAccountSid": { - "type": "string" - }, - "twilioAuthToken": { - "type": "string" - }, - "websiteURL": { - "type": "string" - }, - "appId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "imageModerationUpdateRequestSchema": { + "properties": { + "settings": { + "required": [ + "dropMessage" + ], + "properties": { + "dropMessage": { + "description": "Should drop the message with XSS script", + "type": "boolean", + "default": true + } }, - "smsNotificationRequestSchema": { + "type": "object" + } + }, + "type": "object" + }, + "intercomDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "settings": { - "required": [ - "fromMobileNo", - "messageDelay", - "twilioAccountSid", - "twilioAuthToken", - "websiteURL" - ], - "properties": { - "fromMobileNo": { - "description": "For sending SMS Notifications", - "type": "string", - "default": "+12345678" - }, - "messageDelay": { - "description": "Send an sms if a message has not been read before these many seconds", - "type": "number", - "default": 60 - }, - "twilioAccountSid": { - "description": "Found on your Twilio console", - "type": "string", - "default": "ACfe6cccc530a5151a8eff415###" - }, - "twilioAuthToken": { - "description": "Found on your Twilio console", - "type": "string", - "default": "6928f0cadd4e62d4311234563ef3###" - }, - "websiteURL": { - "description": "A website url", - "type": "string", - "default": "www.somewebsite.com" - } - }, - "type": "object" - } + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "smsNotificationSchema": { + "type": "object" + } + }, + "type": "object" + }, + "intercomGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" + "settings": { + "properties": { + "appId": { + "type": "string" + }, + "customerSupportUid": { + "type": "string" + }, + "intercomAccessToken": { + "type": "string" + }, + "webhookURL": { + "type": "string" + } }, - "body": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } }, - "stickersGetSchema": { + "type": "object" + } + }, + "type": "object" + }, + "intercomRequestSchema": { + "properties": { + "settings": { + "required": [ + "intercomAccessToken", + "customerSupportUid" + ], + "properties": { + "intercomAccessToken": { + "description": "For connecting and exchanging messages between CometChat and Intercom", + "type": "string", + "default": "EgsDdxRZFUy4tPWDjwmyZvYk" + }, + "customerSupportUid": { + "description": "Customer support uid that you have selected", + "type": "string", + "default": "cometchat-uid-2" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "intercomSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" + "settings": { + "properties": { + "appId": { + "type": "string" + }, + "customerSupportUid": { + "type": "string" + }, + "intercomAccessToken": { + "type": "string" + }, + "webhookURL": { + "type": "string" + } }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "dropMessage": { - "type": "boolean" - }, - "defaultMasterStickersData": { - "type": "array", - "items": { - "properties": { - "enableFlag": { - "type": "boolean" - }, - "stickerName": { - "type": "string" - }, - "stickerOrder": { - "type": "number" - }, - "stickerSetId": { - "type": "string" - }, - "stickerSetOrder": { - "type": "number" - }, - "stickerSetName": { - "type": "string" - }, - "stickerUrl": { - "type": "string" - } - }, - "type": "object" - } - }, - "customStickersData": { - "type": "array", - "items": { - "properties": { - "appId": { - "type": "string" - }, - "enableFlag": { - "type": "boolean" - }, - "stickerName": { - "type": "string" - }, - "stickerOrder": { - "type": "number" - }, - "stickerOrderCount": { - "type": "number" - }, - "stickerSetId": { - "type": "string" - }, - "stickerSetOrder": { - "type": "number" - }, - "stickerSetName": { - "type": "string" - }, - "stickerUrl": { - "type": "string" - } - }, - "type": "object" - } - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } }, - "stickersRequestSchema": { - "required": [ - "dropMessage", - "customregexData", - "defaultRegexData", - "deleteCustomRegexData" - ], + "type": "object" + } + }, + "type": "object" + }, + "listTriggerSchema": { + "properties": { + "id": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "type": "object" + }, + "messageShortcutsDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "appId": { - "description": "App Id", - "type": "string", - "default": "appId_1234" - }, - "defaultMasterStickersData": { - "description": "Configure the default stickers", - "type": "array", - "items": { - "type": "object" - }, - "default": [ - { - "enableFlag": false, - "id": "1", - "stickerName": "US Phone numbers", - "stickerOrder": "", - "stickerSetId": "sticker_1234", - "stickerSetName": "good_Sticker", - "stickerSetOrder": 1, - "stickerUrl": "https://data-us.cometchat-staging.com/stickers/littledyno/litt_14.png" - } - ] - }, - "customStickersData": { - "description": "Configure the custom stickers", - "type": "array", - "items": { - "type": "object" - }, - "default": [ - { - "appId": "appId1234", - "enableFlag": true, - "stickerName": "goodSticker", - "stickerOrder": 1, - "stickerSetId": "stickerSetId1234", - "stickerSetOrder": 1, - "stickerSetName": "stickerSetName", - "stickerUrl": "https://mysite.com/some_sticker.png", - "id": "" - } - ] - } + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "stickersResponseSchema": { + "type": "object" + } + }, + "type": "object" + }, + "messageShortcutsGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, + "settings": { + "properties": { + "shortcuts": { "type": "object" - } + } + }, + "type": "object" + } }, "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "messageShortcutsRequestSchema": { + "properties": { + "settings": { + "required": [ + "shortcuts" + ], + "properties": { + "shortcuts": { + "description": "Shortcuts and message mapping", + "type": "object", + "default": { + "!cu": "See you later.", + "!ty": "Hey! Thanks a lot! 😊", + "!hbd": "Happy Birthday! 🥳", + "!ssup": "What's up!?", + "!wc": "You're welcome!" + } + } }, - "stipopCreateSchema": { + "type": "object" + } + }, + "type": "object" + }, + "messageShortcutsSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "stipopApiKey": { - "type": "string" - }, - "stipopAppId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, + "settings": { + "properties": { + "shortcuts": { "type": "object" - } + } + }, + "type": "object" + } }, "type": "object" + } }, - "stipopDeleteSchema": { + "type": "object" + } + }, + "type": "object" + }, + "metaSchema": { + "properties": { + "pagination": { + "properties": { + "total": { + "type": "integer" + }, + "count": { + "type": "integer" + }, + "per_page": { + "type": "integer" + }, + "current_page": { + "type": "integer" + }, + "total_pages": { + "type": "integer" + }, + "links": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "profanityFilterCreateSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { + "settings": { + "properties": { + "dropMessage": { "type": "boolean" + }, + "badwords": { + "type": "array", + "items": { + "type": "string" + } + } }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } }, - "stipopGetSchema": { + "type": "object" + } + }, + "type": "object" + }, + "profanityFilterDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { + "success": { + "type": "boolean" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "profanityFilterGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { + "properties": { + "settings": { + "properties": { + "dropMessage": { "type": "boolean" + }, + "groupGUID": { + "type": "array", + "items": { + "type": "string" + } + }, + "appId": { + "type": "string" + } }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "stipopApiKey": { - "type": "string" - }, - "stipopAppId": { - "type": "string" - }, - "appId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "profanityFilterRequestSchema": { + "properties": { + "settings": { + "required": [ + "dropMessage", + "badwords" + ], + "properties": { + "dropMessage": { + "description": "conatin the dropMessage", + "type": "boolean", + "default": false + }, + "badwords": { + "description": "remove the badwords", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "xyz" + ] + } }, - "stipopRequestSchema": { + "type": "object" + } + }, + "type": "object" + }, + "pushNotificationDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "settings": { - "required": [ - "stipopApiKey", - "stipopAppId" - ], - "properties": { - "stipopApiKey": { - "description": "Used as Authentication mechanism to connect with stipop", - "type": "string", - "default": "e24ce#2324b2jrbj3212" - }, - "stipopAppId": { - "description": "Determines a particular app in stipop", - "type": "string", - "default": "9221#njdwe112213131" - } - }, - "type": "object" - } + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "teamMgmtGetSchema": { + "type": "object" + } + }, + "type": "object" + }, + "pushNotificationGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "id": { + "settings": { + "properties": { + "version": { + "description": "2: Token-based (Recommended) | 0: Topic-based + Token-based | 1: Topic-based (Legacy)", + "type": "number", + "default": 2 + }, + "pushProvider": { + "description": "1: FCM | 2: APNs | 0: FCM+APNs", + "type": "number", + "default": 1 + }, + "fcmServerKey": { "type": "string" - }, - "name": { + }, + "notificationInPayload": { + "properties": { + "web": { + "description": "Include 'notification' key for Web", + "type": "boolean", + "default": true + }, + "android": { + "description": "Include 'notification' key for Android", + "type": "boolean", + "default": false + }, + "ionic_cordova": { + "description": "Include 'notification' key for Ionic", + "type": "boolean", + "default": true + }, + "react_native": { + "description": "Include 'notification' key for React native", + "type": "boolean", + "default": false + }, + "ios": { + "description": "Include 'notification' key for iOS", + "type": "boolean", + "default": true + } + }, + "type": "object" + }, + "useP8": { + "type": "boolean" + }, + "keyId": { "type": "string" - }, - "email": { + }, + "teamId": { "type": "string" - }, - "role": { + }, + "bundleId": { + "type": "string" + }, + "sendApnsProduction": { + "type": "boolean" + }, + "sendNewMessageNotification": { + "type": "boolean" + }, + "sendEditMessageNotification": { + "type": "boolean" + }, + "sendDeleteMessageNotification": { + "type": "boolean" + }, + "sendThreadedMessageNotification": { + "type": "boolean" + }, + "sendIncomingCallNotification": { + "type": "boolean" + }, + "sendMissedCallNotification": { + "type": "boolean" + }, + "sendMemberJoinedNotification": { + "type": "boolean" + }, + "sendMemberLeftNotification": { + "type": "boolean" + }, + "sendMemberKickedNotification": { + "type": "boolean" + }, + "sendMemberBannedNotification": { + "type": "boolean" + }, + "sendMemberUnbannedNotification": { + "type": "boolean" + }, + "sendMemberAddedNotification": { + "type": "boolean" + }, + "sendMemberScopeChangedNotification": { + "type": "boolean" + }, + "appId": { "type": "string" + } }, - "createdAt": { - "type": "integer" - } + "type": "object" + } }, "type": "object" + } }, - "teamMgmtSchema": { + "type": "object" + } + }, + "type": "object" + }, + "pushNotificationRequestSchema": { + "properties": { + "settings": { + "required": [ + "version", + "pushProvider" + ], + "properties": { + "version": { + "description": "2: Token-based (Recommended) | 0: Topic-based + Token-based | 1: Topic-based (Legacy)", + "type": "integer", + "default": 2 + }, + "pushProvider": { + "description": "1: FCM | 2: APNs | 0: FCM+APNs", + "type": "integer", + "default": 1 + }, + "fcmCredentials": { + "description": "These are obtained from the Service Account JSON file you download from Firebase console", "properties": { - "collaboratorsToRemove": { - "type": "object" - }, - "admins": { - "properties": { - "admin1@cometchat.com": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - }, - "admin2@cometchat.com": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "developers": { + "project_id": { + "type": "string" + }, + "client_email": { + "type": "string" + }, + "private_key": { + "type": "string" + }, + "private_key_id": { + "type": "string" + } + }, + "type": "object" + }, + "notificationInPayload": { + "properties": { + "web": { + "description": "Include 'notification' key for Web", + "type": "boolean", + "default": true + }, + "android": { + "description": "Include 'notification' key for Android", + "type": "boolean", + "default": true + }, + "ionic_cordova": { + "description": "Include 'notification' key for Ionic", + "type": "boolean", + "default": true + }, + "react_native": { + "description": "Include 'notification' key for React native", + "type": "boolean", + "default": false + }, + "ios": { + "description": "Include 'notification' key for iOS", + "type": "boolean", + "default": true + }, + "flutter": { + "description": "Include 'notification' key for Flutter", + "type": "boolean", + "default": true + } + }, + "type": "object" + }, + "useP8": { + "description": "Required for APNs only. Use .p8 as it never expires", + "type": "boolean", + "default": true + }, + "keyId": { + "description": "Required for APNs only", + "type": "string" + }, + "teamId": { + "description": "Required for APNs only", + "type": "string" + }, + "bundleId": { + "description": "Required for APNs only", + "type": "string" + }, + "sendApnsProduction": { + "description": "Required for APNs only. 'true' for apps available on the Appstore", + "type": "boolean", + "default": true + }, + "sendNewMessageNotification": { + "type": "boolean", + "default": true + }, + "sendEditMessageNotification": { + "type": "boolean", + "default": false + }, + "sendDeleteMessageNotification": { + "type": "boolean", + "default": false + }, + "sendThreadedMessageNotification": { + "type": "boolean", + "default": true + }, + "sendIncomingCallNotification": { + "type": "boolean", + "default": true + }, + "sendMissedCallNotification": { + "type": "boolean", + "default": true + }, + "sendMemberJoinedNotification": { + "type": "boolean", + "default": true + }, + "sendMemberLeftNotification": { + "type": "boolean", + "default": true + }, + "sendMemberKickedNotification": { + "type": "boolean", + "default": true + }, + "sendMemberBannedNotification": { + "type": "boolean", + "default": true + }, + "sendMemberUnbannedNotification": { + "type": "boolean", + "default": true + }, + "sendMemberAddedNotification": { + "type": "boolean", + "default": true + }, + "sendMemberScopeChangedNotification": { + "type": "boolean", + "default": false + }, + "appId": { + "type": "string" + }, + "cometchatMessagePayloadOptions": { + "description": "Optional property", + "properties": { + "skipSenderMetadata": { + "description": "Excludes sender's metadata from the message object in the push payload", + "type": "boolean", + "default": false + }, + "skipReceiverMetadata": { + "description": "Excludes receiver's metadata from the message object in the push payload", + "type": "boolean", + "default": false + }, + "skipMessageMetadata": { + "description": "Excludes the message metadata from the message object in the push payload", + "type": "boolean", + "default": false + }, + "trimMessageText": { + "description": "Trims the message text from the message object in the push payload to ensure the payload size does not exceed 4KB; exceeding this limit may prevent notifications from being delivered.", + "type": "boolean", + "default": true + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "pushNotificationSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { + "properties": { + "settings": { + "properties": { + "version": { + "description": "2: Token-based (Recommended) | 0: Topic-based + Token-based | 1: Topic-based (Legacy)", + "type": "number", + "default": 2 + }, + "pushProvider": { + "description": "1: FCM | 2: APNs | 0: FCM+APNs", + "type": "number", + "default": 1 + }, + "fcmServerKey": { + "type": "string" + }, + "notificationInPayload": { "properties": { - "dev1@cometchat.com": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } + "web": { + "description": "Include 'notification' key for Web", + "type": "boolean", + "default": true + }, + "android": { + "description": "Include 'notification' key for Android", + "type": "boolean", + "default": false + }, + "ionic_cordova": { + "description": "Include 'notification' key for Ionic", + "type": "boolean", + "default": true + }, + "react_native": { + "description": "Include 'notification' key for React native", + "type": "boolean", + "default": false + }, + "ios": { + "description": "Include 'notification' key for iOS", + "type": "boolean", + "default": true + } }, "type": "object" + }, + "useP8": { + "description": "Required for APNs only. Use .p8; as it never expires", + "type": "boolean", + "default": true + }, + "keyId": { + "description": "Required for APNs only.", + "type": "string", + "default": "" + }, + "teamId": { + "description": "Required for APNs only.", + "type": "string", + "default": "" + }, + "bundleId": { + "description": "Required for APNs only.", + "type": "string", + "default": "" + }, + "sendApnsProduction": { + "description": "Required for APNs only. 'true' for apps available on the Appstore", + "type": "boolean", + "default": false + }, + "sendNewMessageNotification": { + "type": "boolean", + "default": true + }, + "sendEditMessageNotification": { + "type": "boolean", + "default": false + }, + "sendDeleteMessageNotification": { + "type": "boolean", + "default": false + }, + "sendThreadedMessageNotification": { + "type": "boolean", + "default": true + }, + "sendIncomingCallNotification": { + "type": "boolean", + "default": true + }, + "sendMissedCallNotification": { + "type": "boolean", + "default": true + }, + "sendMemberJoinedNotification": { + "type": "boolean", + "default": true + }, + "sendMemberLeftNotification": { + "type": "boolean", + "default": true + }, + "sendMemberKickedNotification": { + "type": "boolean", + "default": true + }, + "sendMemberBannedNotification": { + "type": "boolean", + "default": true + }, + "sendMemberUnbannedNotification": { + "type": "boolean", + "default": true + }, + "sendMemberAddedNotification": { + "type": "boolean", + "default": true + }, + "sendMemberScopeChangedNotification": { + "type": "boolean", + "default": false + }, + "appId": { + "type": "string" + } }, - "moderators": { - "type": "object" - } + "type": "object" + } }, "type": "object" + } }, - "tenorCreateSchema": { + "type": "object" + } + }, + "type": "object" + }, + "reportMessageCreateSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { + "settings": { + "properties": { + "maxReports": { "type": "number" + }, + "useWebhook": { + "type": "boolean" + }, + "webhookURL": { + "type": "string" + }, + "basicAuthUsername": { + "type": "string" + }, + "basicAuthPassword": { + "type": "string" + } }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "tenorApiKey": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } }, - "tenorDeleteSchema": { + "type": "object" + } + }, + "type": "object" + }, + "reportMessageDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { + "settings": { + "properties": { + "success": { "type": "boolean" + } }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } }, - "tenorGetSchema": { + "type": "object" + } + }, + "type": "object" + }, + "reportMessageGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { + "settings": { + "properties": { + "maxReports": { "type": "number" + }, + "useWebhook": { + "type": "boolean" + }, + "webhookURL": { + "type": "string" + }, + "basicAuthUsername": { + "type": "string" + }, + "basicAuthPassword": { + "type": "string" + }, + "appId": { + "type": "string" + } }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "tenorApiKey": { - "type": "string" - }, - "appId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "reportMessageRequestSchema": { + "properties": { + "settings": { + "required": [ + "maxReports", + "useWebhook" + ], + "properties": { + "maxReports": { + "description": "Maximum number of unique reports after which moderation actions needs to be taken", + "type": "number", + "default": 3 + }, + "useWebhook": { + "description": "Send reports to webhook and perform custom actions", + "type": "boolean", + "default": true + }, + "webhookURL": { + "description": "The webhook URL to be triggered", + "type": "string", + "default": "https://www.your-domain.com/take-action" + }, + "basicAuthUsername": { + "description": "Basic Auth messagename to use for calling your webhook URL", + "type": "string", + "default": "abcd" + }, + "basicAuthPassword": { + "description": "Basic Auth password to use for calling your webhook URL", + "type": "string", + "default": "1234" + } }, - "tenorRequestSchema": { + "type": "object" + } + }, + "type": "object" + }, + "reportUserCreateSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "settings": { - "required": [ - "tenorApiKey" - ], - "properties": { - "tenorApiKey": { - "description": "Tenor Api Key obtained from their Dashboard", - "type": "string", - "default": "abcd12345678" - } - }, - "type": "object" - } + "settings": { + "properties": { + "maxReports": { + "type": "number" + }, + "useWebhook": { + "type": "boolean" + }, + "webhookURL": { + "type": "string" + }, + "basicAuthUsername": { + "type": "string" + }, + "basicAuthPassword": { + "type": "string" + } + }, + "type": "object" + } }, "type": "object" + } }, - "tinyUrlCreateSchema": { + "type": "object" + } + }, + "type": "object" + }, + "reportUserDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { + "settings": { + "properties": { + "success": { "type": "boolean" + } }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "tinyUrlAPIToken": { - "type": "string" - }, - "tinyUrlDomain": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } }, - "tinyUrlDeleteSchema": { + "type": "object" + } + }, + "type": "object" + }, + "reportUserGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { + "settings": { + "properties": { + "maxReports": { + "type": "number" + }, + "useWebhook": { "type": "boolean" + }, + "webhookURL": { + "type": "string" + }, + "basicAuthUsername": { + "type": "string" + }, + "basicAuthPassword": { + "type": "string" + }, + "appId": { + "type": "string" + } }, - "responseTime": { - "type": "number" + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "reportUserRequestSchema": { + "properties": { + "settings": { + "required": [ + "maxReports", + "useWebhook" + ], + "properties": { + "maxReports": { + "description": "Maximum number of unique reports after which moderation actions needs to be taken", + "type": "number", + "default": 3 + }, + "useWebhook": { + "description": "Send reports to webhook and perform custom actions", + "type": "boolean", + "default": true + }, + "webhookURL": { + "description": "The webhook URL to be triggered", + "type": "string", + "default": "https://www.your-domain.com/take-action" + }, + "basicAuthUsername": { + "description": "Basic Auth username to use for calling your webhook URL", + "type": "string", + "default": "abcd" + }, + "basicAuthPassword": { + "description": "Basic Auth password to use for calling your webhook URL", + "type": "string", + "default": "1234" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "richMediaPreviewCreateSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { + "properties": { + "settings": { + "properties": { + "iframelyApiKey": { + "type": "string" + } }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "richMediaPreviewDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { + "properties": { + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "tinyUrlGetSchema": { + "type": "object" + } + }, + "type": "object" + }, + "richMediaPreviewGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" + "settings": { + "properties": { + "iframelyApiKey": { + "type": "string" + }, + "appId": { + "type": "string" + } }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "tinyUrlAPIToken": { - "type": "string" - }, - "tinyUrlDomain": { - "type": "string" - }, - "appId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "richMediaPreviewRequestSchema": { + "properties": { + "settings": { + "required": [ + "iframelyApiKey" + ], + "properties": { + "iframelyApiKey": { + "description": "iFramely Api Key obtained from their Dashboard", + "type": "string", + "default": "abcd12345678" + } }, - "tinyUrlRequestSchema": { + "type": "object" + } + }, + "type": "object" + }, + "sentimentAnalysisDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "settings": { - "required": [ - "tinyUrlAPIToken", - "tinyUrlDomain" - ], - "properties": { - "tinyUrlAPIToken": { - "description": "Used to provide authentication mechanism to access tiny-url", - "type": "string", - "default": "1kn2kenkdnwnrn2in1n1" - }, - "tinyUrlDomain": { - "description": "Domain if you have chosen paid plan otherwise default", - "type": "string", - "default": "tiny.one" - } - }, - "type": "object" - } + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "triggerSchema": { + "type": "object" + } + }, + "type": "object" + }, + "sentimentAnalysisGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "success": { + "settings": { + "properties": { + "dropMessage": { "type": "boolean" + }, + "appId": { + "type": "integer" + } }, - "message": { - "type": "string" - } + "type": "object" + } }, "type": "object" + } }, - "videoBroadcastingDeleteSchema": { + "type": "object" + } + }, + "type": "object" + }, + "sentimentAnalysisRequestSchema": { + "properties": { + "settings": { + "required": [ + "dropMessage" + ], + "properties": { + "dropMessage": { + "description": "Should drop the message with Negative sentiments", + "type": "boolean" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "sentimentAnalysisSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { + "settings": { + "properties": { + "dropMessage": { "type": "boolean" + } }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "settingsMapSchema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/deleteSchema" + } + }, + "settingsUnMapSchema": { + "properties": { + "success": { + "type": "boolean" + }, + "message": { + "type": "string" + } + }, + "type": "object" + }, + "smsNotificationDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "success": { + "type": "boolean" + } }, - "videoBroadcastingGetSchema": { + "type": "object" + } + }, + "type": "object" + }, + "smsNotificationGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { + "settings": { + "properties": { + "fromMobileNo": { + "type": "string" + }, + "messageDelay": { "type": "number" + }, + "twilioAccountSid": { + "type": "string" + }, + "twilioAuthToken": { + "type": "string" + }, + "websiteURL": { + "type": "string" + }, + "appId": { + "type": "string" + } }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "apiVideoKey": { - "type": "string" - }, - "appId": { - "type": "string" - }, - "recordVideo": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "smsNotificationRequestSchema": { + "properties": { + "settings": { + "required": [ + "fromMobileNo", + "messageDelay", + "twilioAccountSid", + "twilioAuthToken", + "websiteURL" + ], + "properties": { + "fromMobileNo": { + "description": "For sending SMS Notifications", + "type": "string", + "default": "+12345678" + }, + "messageDelay": { + "description": "Send an sms if a message has not been read before these many seconds", + "type": "number", + "default": 60 + }, + "twilioAccountSid": { + "description": "Found on your Twilio console", + "type": "string", + "default": "ACfe6cccc530a5151a8eff415###" + }, + "twilioAuthToken": { + "description": "Found on your Twilio console", + "type": "string", + "default": "6928f0cadd4e62d4311234563ef3###" + }, + "websiteURL": { + "description": "A website url", + "type": "string", + "default": "www.somewebsite.com" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "smsNotificationSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "success": { + "type": "boolean" + } }, - "videoBroadcastingRequestSchema": { + "type": "object" + } + }, + "type": "object" + }, + "stickersGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "settings": { - "required": [ - "apiVideoKey", - "recordVideo" - ], - "properties": { - "apiVideoKey": { - "description": "API video production API Key", - "type": "string", - "default": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222" + "settings": { + "properties": { + "dropMessage": { + "type": "boolean" + }, + "defaultMasterStickersData": { + "type": "array", + "items": { + "properties": { + "enableFlag": { + "type": "boolean" + }, + "stickerName": { + "type": "string" + }, + "stickerOrder": { + "type": "number" }, - "recordVideo": { - "description": "Enable to record the video", - "type": "boolean", - "default": false + "stickerSetId": { + "type": "string" + }, + "stickerSetOrder": { + "type": "number" + }, + "stickerSetName": { + "type": "string" + }, + "stickerUrl": { + "type": "string" } - }, - "type": "object" - } + }, + "type": "object" + } + }, + "customStickersData": { + "type": "array", + "items": { + "properties": { + "appId": { + "type": "string" + }, + "enableFlag": { + "type": "boolean" + }, + "stickerName": { + "type": "string" + }, + "stickerOrder": { + "type": "number" + }, + "stickerOrderCount": { + "type": "number" + }, + "stickerSetId": { + "type": "string" + }, + "stickerSetOrder": { + "type": "number" + }, + "stickerSetName": { + "type": "string" + }, + "stickerUrl": { + "type": "string" + } + }, + "type": "object" + } + } + }, + "type": "object" + } }, "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "stickersRequestSchema": { + "required": [ + "dropMessage", + "customregexData", + "defaultRegexData", + "deleteCustomRegexData" + ], + "properties": { + "appId": { + "description": "App Id", + "type": "string", + "default": "appId_1234" + }, + "defaultMasterStickersData": { + "description": "Configure the default stickers", + "type": "array", + "items": { + "type": "object" + }, + "default": [ + { + "enableFlag": false, + "id": "1", + "stickerName": "US Phone numbers", + "stickerOrder": "", + "stickerSetId": "sticker_1234", + "stickerSetName": "good_Sticker", + "stickerSetOrder": 1, + "stickerUrl": "https://data-us.cometchat.io/stickers/littledyno/litt_14.png" + } + ] + }, + "customStickersData": { + "description": "Configure the custom stickers", + "type": "array", + "items": { + "type": "object" }, - "videoBroadcastingSchema": { + "default": [ + { + "appId": "appId1234", + "enableFlag": true, + "stickerName": "goodSticker", + "stickerOrder": 1, + "stickerSetId": "stickerSetId1234", + "stickerSetOrder": 1, + "stickerSetName": "stickerSetName", + "stickerUrl": "https://mysite.com/some_sticker.png", + "id": "" + } + ] + } + }, + "type": "object" + }, + "stickersResponseSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "apiVideoKey": { - "type": "string" - }, - "recordVideo": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "virusMalwareScannerDeleteSchema": { + "type": "object" + } + }, + "type": "object" + }, + "stipopCreateSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" + "settings": { + "properties": { + "stipopApiKey": { + "type": "string" + }, + "stipopAppId": { + "type": "string" + } }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } }, - "virusMalwareScannerGetSchema": { + "type": "object" + } + }, + "type": "object" + }, + "stipopDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" + "success": { + "type": "boolean" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "stipopGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { + "properties": { + "settings": { + "properties": { + "stipopApiKey": { + "type": "string" + }, + "stipopAppId": { + "type": "string" + }, + "appId": { + "type": "string" + } }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "scaniiApiKey": { - "type": "string" - }, - "scaniiSecretKey": { - "type": "string" - }, - "appId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "stipopRequestSchema": { + "properties": { + "settings": { + "required": [ + "stipopApiKey", + "stipopAppId" + ], + "properties": { + "stipopApiKey": { + "description": "Used as Authentication mechanism to connect with stipop", + "type": "string", + "default": "e24ce#2324b2jrbj3212" + }, + "stipopAppId": { + "description": "Determines a particular app in stipop", + "type": "string", + "default": "9221#njdwe112213131" + } }, - "virusMalwareScannerRequestSchema": { + "type": "object" + } + }, + "type": "object" + }, + "teamMgmtGetSchema": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "role": { + "type": "string" + }, + "createdAt": { + "type": "integer" + } + }, + "type": "object" + }, + "teamMgmtSchema": { + "properties": { + "collaboratorsToRemove": { + "type": "object" + }, + "admins": { + "properties": { + "admin1@cometchat.com": { "properties": { - "settings": { - "required": [ - "scaniiApiKey", - "scaniiSecretKey" - ], - "properties": { - "scaniiApiKey": { - "description": " Scanii API Key obtained from their Dashboard", - "type": "string", - "default": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222" - }, - "scaniiSecretKey": { - "description": " Scanii Secret Key obtained from their Dashboard", - "type": "string", - "default": "f5c0102d" - } - }, - "type": "object" - } + "success": { + "type": "boolean" + } + }, + "type": "object" + }, + "admin2@cometchat.com": { + "properties": { + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "virusMalwareScannerSchema": { + "type": "object" + }, + "developers": { + "properties": { + "dev1@cometchat.com": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "scaniiApiKey": { - "type": "string" - }, - "scaniiSecretKey": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "voiceTranscriptionCreateSchema": { + "type": "object" + }, + "moderators": { + "type": "object" + } + }, + "type": "object" + }, + "tenorCreateSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" + "settings": { + "properties": { + "tenorApiKey": { + "type": "string" + } }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "revaiAPIKey": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" + } }, - "voiceTranscriptionDeleteSchema": { + "type": "object" + } + }, + "type": "object" + }, + "tenorDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "voiceTranscriptionGetSchema": { + "type": "object" + } + }, + "type": "object" + }, + "tenorGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { - "type": "boolean" - }, - "responseTime": { - "type": "number" + "settings": { + "properties": { + "tenorApiKey": { + "type": "string" + }, + "appId": { + "type": "string" + } }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "revaiAPIKey": { - "type": "string" - }, - "appId": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "tenorRequestSchema": { + "properties": { + "settings": { + "required": [ + "tenorApiKey" + ], + "properties": { + "tenorApiKey": { + "description": "Tenor Api Key obtained from their Dashboard", + "type": "string", + "default": "abcd12345678" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "tinyUrlCreateSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { + "properties": { + "settings": { + "properties": { + "tinyUrlAPIToken": { + "type": "string" + }, + "tinyUrlDomain": { + "type": "string" + } + }, + "type": "object" + } }, "type": "object" + } }, - "voiceTranscriptionRequestSchema": { + "type": "object" + } + }, + "type": "object" + }, + "tinyUrlDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "settings": { - "required": [ - "revaiAPIKey" - ], - "properties": { - "revaiAPIKey": { - "description": "Used as authentication mechanism while connecting to Rev Ai", - "type": "string", - "default": "dwijdiwdwi####" - } - }, - "type": "object" - } + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "webhookSchema": { + "type": "object" + } + }, + "type": "object" + }, + "tinyUrlGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "id": { + "settings": { + "properties": { + "tinyUrlAPIToken": { "type": "string" - }, - "name": { + }, + "tinyUrlDomain": { "type": "string" - }, - "webhookURL": { + }, + "appId": { "type": "string" + } }, - "enabled": { - "type": "boolean" - } + "type": "object" + } }, "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "tinyUrlRequestSchema": { + "properties": { + "settings": { + "required": [ + "tinyUrlAPIToken", + "tinyUrlDomain" + ], + "properties": { + "tinyUrlAPIToken": { + "description": "Used to provide authentication mechanism to access tiny-url", + "type": "string", + "default": "1kn2kenkdnwnrn2in1n1" + }, + "tinyUrlDomain": { + "description": "Domain if you have chosen paid plan otherwise default", + "type": "string", + "default": "tiny.one" + } }, - "xssRequestSchema": { + "type": "object" + } + }, + "type": "object" + }, + "triggerSchema": { + "properties": { + "success": { + "type": "boolean" + }, + "message": { + "type": "string" + } + }, + "type": "object" + }, + "videoBroadcastingDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "settings": { - "required": [ - "dropMessage" - ], - "properties": { - "dropMessage": { - "description": "Should drop the message with XSS script", - "type": "boolean" - } - }, - "type": "object" - } + "success": { + "type": "boolean" + } }, "type": "object" + } }, - "xssRequestUpdateSchema": { + "type": "object" + } + }, + "type": "object" + }, + "videoBroadcastingGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "settings": { - "required": [ - "dropMessage" - ], - "properties": { - "dropMessage": { - "description": "Should drop the message with XSS script", - "type": "boolean", - "default": true - } - }, - "type": "object" - } + "settings": { + "properties": { + "apiVideoKey": { + "type": "string" + }, + "appId": { + "type": "string" + }, + "recordVideo": { + "type": "boolean" + } + }, + "type": "object" + } }, "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "videoBroadcastingRequestSchema": { + "properties": { + "settings": { + "required": [ + "apiVideoKey", + "recordVideo" + ], + "properties": { + "apiVideoKey": { + "description": "API video production API Key", + "type": "string", + "default": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222" + }, + "recordVideo": { + "description": "Enable to record the video", + "type": "boolean", + "default": false + } }, - "xssSchema": { + "type": "object" + } + }, + "type": "object" + }, + "videoBroadcastingSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { "properties": { - "statusCode": { - "type": "integer" - }, - "success": { + "settings": { + "properties": { + "apiVideoKey": { + "type": "string" + }, + "recordVideo": { "type": "boolean" + } }, - "responseTime": { - "type": "number" - }, - "body": { - "properties": { - "data": { - "properties": { - "settings": { - "properties": { - "dropMessage": { - "type": "boolean" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } + "type": "object" + } }, "type": "object" - } - }, - "parameters": { - "perPage": { - "name": "perPage", - "in": "query", - "description": "Number of apps to be fetched in a request. The default value is 25 and the maximum value is 1000.", - "schema": { - "type": "string" - } + } }, - "searchKey": { - "name": "searchKey", - "in": "query", - "description": "Searches for given keyword in apps list (either App name or App ID)", - "schema": { - "type": "string" - } - }, - "builderId": { - "name": "builderId", - "in": "path", - "description": "Builder ID", - "required": true, - "schema": { - "type": "string" - } + "type": "object" + } + }, + "type": "object" + }, + "virusMalwareScannerDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { + "properties": { + "success": { + "type": "boolean" + } + }, + "type": "object" + } }, - "appIdVCB": { - "name": "appId", - "in": "path", - "description": "App ID in which the builder has to be added.", - "required": true, - "schema": { - "type": "string" - } + "type": "object" + } + }, + "type": "object" + }, + "virusMalwareScannerGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { + "properties": { + "settings": { + "properties": { + "scaniiApiKey": { + "type": "string" + }, + "scaniiSecretKey": { + "type": "string" + }, + "appId": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } }, - "perPage--extensions": { - "name": "perPage", - "in": "query", - "description": "Number of extensions to be fetched in a request. The default value is 25 and the maximum value is 1000.", - "schema": { - "type": "string", - "default": "25" - } + "type": "object" + } + }, + "type": "object" + }, + "virusMalwareScannerRequestSchema": { + "properties": { + "settings": { + "required": [ + "scaniiApiKey", + "scaniiSecretKey" + ], + "properties": { + "scaniiApiKey": { + "description": " Scanii API Key obtained from their Dashboard", + "type": "string", + "default": "1q6Re9CYAAfzLZyB8F4eMNX0Pslyv222" + }, + "scaniiSecretKey": { + "description": " Scanii Secret Key obtained from their Dashboard", + "type": "string", + "default": "f5c0102d" + } }, - "uid": { - "name": "uid", - "in": "path", - "description": "An UID of a user.", - "required": true, - "schema": { - "type": "string" + "type": "object" + } + }, + "type": "object" + }, + "virusMalwareScannerSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { + "properties": { + "settings": { + "properties": { + "scaniiApiKey": { + "type": "string" + }, + "scaniiSecretKey": { + "type": "string" + } + }, + "type": "object" + } }, - "examples": { - "string": { - "summary": "UID", - "value": "" - } - } + "type": "object" + } }, - "X-Webhook-Version": { - "name": "X-Webhook-Version", - "in": "header", - "description": "The \"X-Webhook-Version\" header is an optional integer property.When this header is omitted from the request, the system defaults to the legacy webhook, ensuring backward compatibility and seamless operation.Conversely, setting the value of this header to \"2\" indicates the preference for the new webhook implementation.", - "required": false, - "schema": { - "type": "integer" + "type": "object" + } + }, + "type": "object" + }, + "voiceTranscriptionCreateSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { + "properties": { + "settings": { + "properties": { + "revaiAPIKey": { + "type": "string" + } + }, + "type": "object" + } }, - "examples": { - "string": { - "summary": "X-Webhook-Version", - "value": "" - } - } + "type": "object" + } }, - "guid": { - "name": "guid", - "in": "path", - "description": "A GUID of a group.", - "required": true, - "schema": { - "type": "string" + "type": "object" + } + }, + "type": "object" + }, + "voiceTranscriptionDeleteSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { + "properties": { + "success": { + "type": "boolean" + } }, - "examples": { - "string": { - "summary": "GUID", - "value": "" - } - } - }, - "requiredonBehalfOf": { - "name": "requiredonBehalfOf", - "in": "header", - "description": "UID of the user on whose behalf the action is performed.", - "schema": { - "type": "string" - } - }, - "onBehalfOf": { - "name": "onBehalfOf", - "in": "header", - "description": "UID of the user on whose behalf the action is performed.", - "schema": { - "type": "string" - } - }, - "appId": { - "name": "appId", - "in": "path", - "description": "AppID in which the extension has to be enabled/disabled", - "required": true, - "schema": { - "type": "string" - } - }, - "messageId": { - "name": "messageId", - "in": "path", - "description": "messageId for the moderation service", - "required": true, - "schema": { - "type": "string" - } - }, - "key": { - "name": "key", - "in": "header", - "description": "Authorization Key", - "required": true, - "schema": { - "type": "string" - } - }, - "secret": { - "name": "secret", - "in": "header", - "description": "Authorization Secret", - "required": true, - "schema": { - "type": "string" - } - }, - "ruleId": { - "name": "ruleId", - "in": "path", - "description": "Rule ID", - "required": true, - "schema": { - "type": "string" - } - }, - "keywordId": { - "name": "keywordId", - "in": "path", - "description": "Keyword ID", - "required": true, - "schema": { - "type": "string" - } + "type": "object" + } }, - "webhookId": { - "name": "webhookId", - "in": "path", - "description": "Id of the webhook", - "required": true, - "schema": { - "type": "string" - } - } + "type": "object" + } }, - "examples": { - "pushNotificationRequestExample": { - "summary": "PN Request", - "value": { - "settings": { - "version": 2, - "pushProvider": 1, - "fcmCredentials": { - "project_id": "project_id", - "client_email": "client_email", - "private_key": "private_key", - "private_key_id": "private_key_id" - }, - "notificationInPayload": { - "web": true, - "android": true, - "ionic_cordova": true, - "react_native": false, - "ios": true, - "flutter": true - }, - "useP8": true, - "sendApnsProduction": true, - "sendNewMessageNotification": true, - "sendEditMessageNotification": false, - "sendDeleteMessageNotification": false, - "sendThreadedMessageNotification": true, - "sendIncomingCallNotification": true, - "sendMissedCallNotification": true, - "sendMemberJoinedNotification": true, - "sendMemberLeftNotification": true, - "sendMemberKickedNotification": true, - "sendMemberBannedNotification": true, - "sendMemberUnbannedNotification": true, - "sendMemberAddedNotification": true, - "sendMemberScopeChangedNotification": false, - "keyId": "key_id", - "teamId": "team_id", - "bundleId": "bundle_id", - "appId": "abcd", - "cometchatMessagePayloadOptions": { - "skipSenderMetadata": false, - "skipReceiverMetadata": false, - "skipMessageMetadata": false, - "trimMessageText": true - } - } - } + "type": "object" + }, + "voiceTranscriptionGetSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { + "properties": { + "settings": { + "properties": { + "revaiAPIKey": { + "type": "string" + }, + "appId": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } }, - "pushNotificationResponseExample": { - "summary": "PN Response", - "value": { - "settings": { - "version": 2, - "pushProvider": 1, - "fcmCredentials": { - "project_id": "project_id", - "client_email": "client_email", - "private_key": "private_key", - "private_key_id": "private_key_id" - }, - "notificationInPayload": { - "web": true, - "android": true, - "ionic_cordova": true, - "react_native": false, - "ios": true, - "flutter": true - }, - "useP8": true, - "sendApnsProduction": true, - "sendNewMessageNotification": true, - "sendEditMessageNotification": false, - "sendDeleteMessageNotification": false, - "sendThreadedMessageNotification": true, - "sendIncomingCallNotification": true, - "sendMissedCallNotification": true, - "sendMemberJoinedNotification": true, - "sendMemberLeftNotification": true, - "sendMemberKickedNotification": true, - "sendMemberBannedNotification": true, - "sendMemberUnbannedNotification": true, - "sendMemberAddedNotification": true, - "sendMemberScopeChangedNotification": false, - "keyId": "key_id", - "teamId": "team_id", - "bundleId": "bundle_id", - "appId": "abcd", - "cometchatMessagePayloadOptions": { - "skipSenderMetadata": false, - "skipReceiverMetadata": false, - "skipMessageMetadata": false, - "trimMessageText": true - } - } - } - } - }, - "securitySchemes": { - "basicAuth": { - "type": "http", - "scheme": "basic" - } - } - }, - "tags": [ - { - "name": "App", - "description": "The Rest collection for app." - }, - { - "name": "Extensions", - "description": "The REST collections for extensions." - }, - { - "name": "Extensions", - "description": "The REST collections for Chat widgets." + "type": "object" + } }, - { - "name": "Extensions", - "description": "The REST collections for Giphy extension." - }, - { - "name": "Extensions", - "description": "The REST collections for XSS Filter extension." - }, - { - "name": "Extensions", - "description": "The REST collections for Image Moderation extension." - }, - { - "name": "Extensions", - "description": "The REST collections for Report user extension." + "type": "object" + }, + "voiceTranscriptionRequestSchema": { + "properties": { + "settings": { + "required": [ + "revaiAPIKey" + ], + "properties": { + "revaiAPIKey": { + "description": "Used as authentication mechanism while connecting to Rev Ai", + "type": "string", + "default": "dwijdiwdwi####" + } + }, + "type": "object" + } }, - { - "name": "Extensions", - "description": "The REST collections for Report message extension." - }, - { - "name": "Extensions", - "description": "The REST collections for Sentiment analysis extension." - }, - { - "name": "Extensions", - "description": "The REST collections for Voice transcription extension." - }, - { - "name": "Extensions", - "description": "The REST collections for Stipop extension." - }, - { - "name": "Extensions", - "description": "The REST collections for TinyURL extension." - }, - { - "name": "Extensions", - "description": "The REST collections for Intercom extension." - }, - { - "name": "Extensions", - "description": "The REST collections for Bitly extension." - }, - { - "name": "Extensions", - "description": "The REST collections for Rich media preview extension." - }, - { - "name": "Extensions", - "description": "The REST collections for Virus Malware Scanner extension." - }, - { - "name": "Extensions", - "description": "The REST collections for Video Broadcasting extension." - }, - { - "name": "Extensions", - "description": "The REST collections for Tenor gifs extension." - }, - { - "name": "Extensions", - "description": "The REST collections for End-to-end encryption extension." - }, - { - "name": "Extensions", - "description": "The REST collections for In-flight message moderation extension." - }, - { - "name": "Extensions", - "description": "The REST collections for Stickers extension." - }, - { - "name": "Extensions", - "description": "The REST collections for Data masking extension." - }, - { - "name": "Extensions", - "description": "The REST collections for Email replies extension." - }, - { - "name": "Extensions", - "description": "The REST collections for SMS Notification extension." - }, - { - "name": "Extensions", - "description": "The REST collections for Push notification extension." - }, - { - "name": "Extensions", - "description": "The REST collections for Chatwoot extension." + "type": "object" + }, + "webhookSchema": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "webhookURL": { + "type": "string" + }, + "enabled": { + "type": "boolean" + } }, - { - "name": "Extensions", - "description": "The REST collections for Message shortcuts extension." + "type": "object" + }, + "xssRequestSchema": { + "properties": { + "settings": { + "required": [ + "dropMessage" + ], + "properties": { + "dropMessage": { + "description": "Should drop the message with XSS script", + "type": "boolean" + } + }, + "type": "object" + } }, - { - "name": "Extensions", - "description": "The REST collections for Email Notification extension." + "type": "object" + }, + "xssRequestUpdateSchema": { + "properties": { + "settings": { + "required": [ + "dropMessage" + ], + "properties": { + "dropMessage": { + "description": "Should drop the message with XSS script", + "type": "boolean", + "default": true + } + }, + "type": "object" + } }, - { - "name": "Team Management", - "description": "The REST collections for team management." + "type": "object" + }, + "xssSchema": { + "properties": { + "statusCode": { + "type": "integer" + }, + "success": { + "type": "boolean" + }, + "responseTime": { + "type": "number" + }, + "body": { + "properties": { + "data": { + "properties": { + "settings": { + "properties": { + "dropMessage": { + "type": "boolean" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + } }, - { - "name": "Settings", - "description": "The REST collections for Settings." + "type": "object" + } + }, + "parameters": { + "perPage": { + "name": "perPage", + "in": "query", + "description": "Number of apps to be fetched in a request. The default value is 25 and the maximum value is 1000.", + "schema": { + "type": "string" + } + }, + "searchKey": { + "name": "searchKey", + "in": "query", + "description": "Searches for given keyword in apps list (either App name or App ID)", + "schema": { + "type": "string" + } + }, + "builderId": { + "name": "builderId", + "in": "path", + "description": "Builder ID", + "required": true, + "schema": { + "type": "string" + } + }, + "appIdVCB": { + "name": "appId", + "in": "path", + "description": "App ID in which the builder has to be added.", + "required": true, + "schema": { + "type": "string" + } + }, + "perPage--extensions": { + "name": "perPage", + "in": "query", + "description": "Number of extensions to be fetched in a request. The default value is 25 and the maximum value is 1000.", + "schema": { + "type": "string", + "default": "25" + } + }, + "uid": { + "name": "uid", + "in": "path", + "description": "An UID of a user.", + "required": true, + "schema": { + "type": "string" }, - { - "name": "Extensions", - "description": "The REST collections for Profanity-filter extension." + "examples": { + "string": { + "summary": "UID", + "value": "cometchat-uid-1" + } + } + }, + "X-Webhook-Version": { + "name": "X-Webhook-Version", + "in": "header", + "description": "The \"X-Webhook-Version\" header is an optional integer property.When this header is omitted from the request, the system defaults to the legacy webhook, ensuring backward compatibility and seamless operation.Conversely, setting the value of this header to \"2\" indicates the preference for the new webhook implementation.", + "required": false, + "schema": { + "type": "integer" }, - { - "name": "Webhooks", - "description": "The REST collections for Webhooks." + "examples": { + "string": { + "summary": "X-Webhook-Version", + "value": "2" + } + } + }, + "guid": { + "name": "guid", + "in": "path", + "description": "A GUID of a group.", + "required": true, + "schema": { + "type": "string" }, - { - "name": "Moderation", - "description": "The REST collections for Moderations." + "examples": { + "string": { + "summary": "GUID", + "value": "cometchat-guid-1" + } + } + }, + "requiredonBehalfOf": { + "name": "requiredonBehalfOf", + "in": "header", + "description": "UID of the user on whose behalf the action is performed.", + "schema": { + "type": "string" + } + }, + "onBehalfOf": { + "name": "onBehalfOf", + "in": "header", + "description": "UID of the user on whose behalf the action is performed.", + "schema": { + "type": "string" + } + }, + "appId": { + "name": "appId", + "in": "path", + "description": "AppID in which the extension has to be enabled/disabled", + "required": true, + "schema": { + "type": "string" + } + }, + "messageId": { + "name": "messageId", + "in": "path", + "description": "messageId for the moderation service", + "required": true, + "schema": { + "type": "string" } - ], - "x-readme": { - "explorer-enabled": true, - "proxy-enabled": true + }, + "key": { + "name": "key", + "in": "header", + "description": "Authorization Key", + "required": true, + "schema": { + "type": "string" + } + }, + "secret": { + "name": "secret", + "in": "header", + "description": "Authorization Secret", + "required": true, + "schema": { + "type": "string" + } + }, + "ruleId": { + "name": "ruleId", + "in": "path", + "description": "Rule ID", + "required": true, + "schema": { + "type": "string" + } + }, + "keywordId": { + "name": "keywordId", + "in": "path", + "description": "Keyword ID", + "required": true, + "schema": { + "type": "string" + } + }, + "webhookId": { + "name": "webhookId", + "in": "path", + "description": "Id of the webhook", + "required": true, + "schema": { + "type": "string" + } + } + }, + "examples": { + "pushNotificationRequestExample": { + "summary": "PN Request", + "value": { + "settings": { + "version": 2, + "pushProvider": 1, + "fcmCredentials": { + "project_id": "project_id", + "client_email": "client_email", + "private_key": "private_key", + "private_key_id": "private_key_id" + }, + "notificationInPayload": { + "web": true, + "android": true, + "ionic_cordova": true, + "react_native": false, + "ios": true, + "flutter": true + }, + "useP8": true, + "sendApnsProduction": true, + "sendNewMessageNotification": true, + "sendEditMessageNotification": false, + "sendDeleteMessageNotification": false, + "sendThreadedMessageNotification": true, + "sendIncomingCallNotification": true, + "sendMissedCallNotification": true, + "sendMemberJoinedNotification": true, + "sendMemberLeftNotification": true, + "sendMemberKickedNotification": true, + "sendMemberBannedNotification": true, + "sendMemberUnbannedNotification": true, + "sendMemberAddedNotification": true, + "sendMemberScopeChangedNotification": false, + "keyId": "key_id", + "teamId": "team_id", + "bundleId": "bundle_id", + "appId": "abcd", + "cometchatMessagePayloadOptions": { + "skipSenderMetadata": false, + "skipReceiverMetadata": false, + "skipMessageMetadata": false, + "trimMessageText": true + } + } + } + }, + "pushNotificationResponseExample": { + "summary": "PN Response", + "value": { + "settings": { + "version": 2, + "pushProvider": 1, + "fcmCredentials": { + "project_id": "project_id", + "client_email": "client_email", + "private_key": "private_key", + "private_key_id": "private_key_id" + }, + "notificationInPayload": { + "web": true, + "android": true, + "ionic_cordova": true, + "react_native": false, + "ios": true, + "flutter": true + }, + "useP8": true, + "sendApnsProduction": true, + "sendNewMessageNotification": true, + "sendEditMessageNotification": false, + "sendDeleteMessageNotification": false, + "sendThreadedMessageNotification": true, + "sendIncomingCallNotification": true, + "sendMissedCallNotification": true, + "sendMemberJoinedNotification": true, + "sendMemberLeftNotification": true, + "sendMemberKickedNotification": true, + "sendMemberBannedNotification": true, + "sendMemberUnbannedNotification": true, + "sendMemberAddedNotification": true, + "sendMemberScopeChangedNotification": false, + "keyId": "key_id", + "teamId": "team_id", + "bundleId": "bundle_id", + "appId": "abcd", + "cometchatMessagePayloadOptions": { + "skipSenderMetadata": false, + "skipReceiverMetadata": false, + "skipMessageMetadata": false, + "trimMessageText": true + } + } + } + } + }, + "securitySchemes": { + "basicAuth": { + "type": "http", + "scheme": "basic" + } + } + }, + "tags": [ + { + "name": "App", + "description": "The Rest collection for app." + }, + { + "name": "Extensions", + "description": "The REST collections for extensions." + }, + { + "name": "Extensions", + "description": "The REST collections for Chat widgets." + }, + { + "name": "Extensions", + "description": "The REST collections for Giphy extension." + }, + { + "name": "Extensions", + "description": "The REST collections for XSS Filter extension." + }, + { + "name": "Extensions", + "description": "The REST collections for Image Moderation extension." + }, + { + "name": "Extensions", + "description": "The REST collections for Report user extension." + }, + { + "name": "Extensions", + "description": "The REST collections for Report message extension." + }, + { + "name": "Extensions", + "description": "The REST collections for Sentiment analysis extension." + }, + { + "name": "Extensions", + "description": "The REST collections for Voice transcription extension." + }, + { + "name": "Extensions", + "description": "The REST collections for Stipop extension." + }, + { + "name": "Extensions", + "description": "The REST collections for TinyURL extension." + }, + { + "name": "Extensions", + "description": "The REST collections for Intercom extension." + }, + { + "name": "Extensions", + "description": "The REST collections for Bitly extension." + }, + { + "name": "Extensions", + "description": "The REST collections for Rich media preview extension." + }, + { + "name": "Extensions", + "description": "The REST collections for Virus Malware Scanner extension." + }, + { + "name": "Extensions", + "description": "The REST collections for Video Broadcasting extension." + }, + { + "name": "Extensions", + "description": "The REST collections for Tenor gifs extension." + }, + { + "name": "Extensions", + "description": "The REST collections for End-to-end encryption extension." + }, + { + "name": "Extensions", + "description": "The REST collections for In-flight message moderation extension." + }, + { + "name": "Extensions", + "description": "The REST collections for Stickers extension." + }, + { + "name": "Extensions", + "description": "The REST collections for Data masking extension." + }, + { + "name": "Extensions", + "description": "The REST collections for Email replies extension." + }, + { + "name": "Extensions", + "description": "The REST collections for SMS Notification extension." + }, + { + "name": "Extensions", + "description": "The REST collections for Push notification extension." + }, + { + "name": "Extensions", + "description": "The REST collections for Chatwoot extension." + }, + { + "name": "Extensions", + "description": "The REST collections for Message shortcuts extension." + }, + { + "name": "Extensions", + "description": "The REST collections for Email Notification extension." + }, + { + "name": "Team Management", + "description": "The REST collections for team management." + }, + { + "name": "Settings", + "description": "The REST collections for Settings." + }, + { + "name": "Extensions", + "description": "The REST collections for Profanity-filter extension." + }, + { + "name": "Webhooks", + "description": "The REST collections for Webhooks." + }, + { + "name": "Moderation", + "description": "The REST collections for Moderations." } + ], + "x-readme": { + "explorer-enabled": true, + "proxy-enabled": true + } } \ No newline at end of file diff --git a/moderation/api-explorer.mdx b/moderation/api-explorer.mdx deleted file mode 100644 index 351d82b84..000000000 --- a/moderation/api-explorer.mdx +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: "AI Moderation APIs" -url: "/rest-api/moderation" ---- \ No newline at end of file diff --git a/moderation/blocked-messages.mdx b/moderation/blocked-messages.mdx index fa8bb8a20..81f390711 100644 --- a/moderation/blocked-messages.mdx +++ b/moderation/blocked-messages.mdx @@ -1,5 +1,6 @@ --- title: "Blocked Messages" +description: "Blocked Messages — CometChat documentation." --- Blocked Messages provides a centralized view of all messages that have been automatically blocked by your moderation rules. Review blocked content to identify false positives, refine your rules, and optionally approve messages that were incorrectly blocked. @@ -97,20 +98,12 @@ Mark a message as reviewed without approving it: ## Best Practices - - - Check blocked messages weekly to catch false positives and refine rules. - - - Look for patterns in blocked content to identify if rules need adjustment. - - - Filter by date range to focus on recent blocks or investigate specific incidents. - - - If you see many false positives, adjust confidence levels in [Rules Management](/moderation/rules-management). - - +| Practice | Description | +|----------|-------------| +| **Review Regularly** | Check blocked messages weekly to catch false positives and refine rules. | +| **Track Patterns** | Look for patterns in blocked content to identify if rules need adjustment. | +| **Use Date Filters** | Filter by date range to focus on recent blocks or investigate specific incidents. | +| **Refine Rules** | If you see many false positives, adjust confidence levels in [Rules Management](/moderation/rules-management). | --- diff --git a/moderation/constraints-and-limits.mdx b/moderation/constraints-and-limits.mdx index 1e3b00b58..74324c046 100644 --- a/moderation/constraints-and-limits.mdx +++ b/moderation/constraints-and-limits.mdx @@ -1,5 +1,6 @@ --- title: "Constraints and Limits" +description: "Constraints and Limits — CometChat documentation." --- This page outlines the system constraints and limitations for CometChat's Moderation Service. Understanding these limits helps you design your moderation strategy effectively. @@ -8,37 +9,9 @@ This page outlines the system constraints and limitations for CometChat's Modera **Need higher limits?** Contact [CometChat Support](https://www.cometchat.com/contact) to discuss enterprise options for increased limits. ---- - -## Constraints - - - - | Parameter | Limit | - |-----------|-------| - | **Rule ID** | Max 100 characters, no spaces or special characters | - | **Name** | Max 100 characters | - | **Description** | Max 255 characters | - | **Filters per rule** | Max 10 filters | - | **Conditions per rule** | Max 10 conditions | - | **Rules per app** | Max 25 custom rules (excludes default rules) | - - - | Parameter | Limit | - |-----------|-------| - | **List ID** | Max 100 characters, no spaces or special characters | - | **Name** | Max 100 characters | - | **Description** | Max 255 characters | - | **CSV file size** | Max 1 MB | - | **Lists per app** | Max 25 custom lists (excludes default lists) | - - - | Parameter | Limit | - |-----------|-------| - | **AI Context** | Max 50 messages sent to OpenAI/Custom API for analysis | - | **Custom Flag Reasons** | Max 5 per app | - - + +For detailed API parameter constraints (Rules, Lists, Advanced Settings), see the [Properties and Constraints](/rest-api/moderation-apis/properties-and-constraints). + --- @@ -70,20 +43,12 @@ Other image and video formats are not currently supported for AI moderation. ## Quick Reference - - - Maximum custom rules per app - - - Maximum custom lists per app - - - Maximum filters per rule - - - Maximum conditions per rule - - +| Limit | Value | +|-------|-------| +| **Maximum custom rules per app** | 25 | +| **Maximum custom lists per app** | 25 | +| **Maximum filters per rule** | 10 | +| **Maximum conditions per rule** | 10 | --- diff --git a/moderation/custom/custom-api-overview.mdx b/moderation/custom/custom-api-overview.mdx index e622b3678..4eaac1cf1 100644 --- a/moderation/custom/custom-api-overview.mdx +++ b/moderation/custom/custom-api-overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- CometChat allows you to integrate your own moderation logic using a **Custom API**. This "bring your own moderation" approach lets you use any third-party service (OpenAI Moderation, Perspective API, etc.) or your own AI model while CometChat handles message interception and action enforcement. diff --git a/moderation/custom/custom-api.mdx b/moderation/custom/custom-api.mdx index 72e8b889f..b7236a712 100644 --- a/moderation/custom/custom-api.mdx +++ b/moderation/custom/custom-api.mdx @@ -1,5 +1,6 @@ --- title: "Custom API Moderation" +description: "Custom API Moderation — CometChat documentation." --- CometChat allows you to integrate your own moderation logic using a **Custom API**. With this feature, you can define a webhook URL where CometChat will send messages for moderation along with relevant context from the conversation. This enables you to use your own moderation service, third-party AI moderation APIs, or custom business logic to moderate content. diff --git a/moderation/flagged-messages.mdx b/moderation/flagged-messages.mdx index 12bd5e4cb..a12e414ca 100644 --- a/moderation/flagged-messages.mdx +++ b/moderation/flagged-messages.mdx @@ -1,11 +1,12 @@ --- title: "Flagged Messages" +description: "Flagged Messages — CometChat documentation." --- Flagged Messages allows moderators to review messages that have been flagged for potentially violating moderation rules. Messages can be flagged automatically by the rule engine or manually by end users who find content inappropriate. -**Two-step moderation.** Unlike blocked messages which are hidden immediately, flagged messages remain visible until a moderator reviews and takes action (approve or block). +Flagged messages remain visible to users until a moderator reviews and takes action. --- diff --git a/moderation/getting-started.mdx b/moderation/getting-started.mdx index 7631e6edc..2379a957f 100644 --- a/moderation/getting-started.mdx +++ b/moderation/getting-started.mdx @@ -1,6 +1,7 @@ --- title: "Getting Started" route: "/getting-started" +description: "Getting Started — CometChat documentation." --- # Moderation Integration @@ -13,14 +14,10 @@ With Moderation Integration, you can define flexible rules, receive real-time up ## Choose Your Integration Method - - - **Zero code required** — Moderation is built into CometChat UI Kits. Simply configure rules in the Dashboard and the UI Kit handles everything automatically. - - - **Full control** — Use the CometChat SDK to handle moderation programmatically in your custom UI implementation. - - +| Method | Description | +|--------|-------------| +| **UI Kit (Recommended)** | Zero code required — Moderation is built into CometChat UI Kits. Simply configure rules in the Dashboard and the UI Kit handles everything automatically. | +| **SDK Integration** | Full control — Use the CometChat SDK to handle moderation programmatically in your custom UI implementation. | --- @@ -38,7 +35,7 @@ With Moderation Integration, you can define flexible rules, receive real-time up Go to Rules Docs
- + If building a custom UI, implement moderation handling in your code. See [SDK Integration](#integrating-moderation-with-sdk) below. @@ -475,3 +472,7 @@ By combining well-defined moderation rules with SDK integration, you can build a - **UI Kit users**: Just configure rules in the Dashboard - everything else is automatic - **SDK users**: Implement `onMessageModerated` listener to handle moderation results + +## REST API Reference + +For programmatic management of moderation rules, keywords, and blocked messages, see the [Moderation APIs](/rest-api/moderation-apis/overview). diff --git a/moderation/legacy-extensions.mdx b/moderation/legacy-extensions.mdx index 258bb16a5..c81ca36e4 100644 --- a/moderation/legacy-extensions.mdx +++ b/moderation/legacy-extensions.mdx @@ -1,6 +1,7 @@ --- title: "Legacy Moderation Extensions" sidebarTitle: "Moderation (Legacy)" +description: "Legacy Moderation Extensions — CometChat documentation." --- @@ -9,6 +10,14 @@ These extensions are considered legacy and are scheduled for deprecation. They a For new projects, use [AI Moderation](/moderation/overview). + +**Management API endpoints** are available for programmatic configuration of these legacy extensions: +- [Profanity Filter Settings](/rest-api/management-apis/extensions/profanity-filter-get-settings) +- [Image Moderation Settings](/rest-api/management-apis/extensions/image-moderation-get-settings) +- [Data Masking Settings](/rest-api/management-apis/extensions/data-masking-get-settings) +- [In-Flight Message Moderation Settings](/rest-api/management-apis/extensions/in-flight-message-moderation-get-settings) + + ## Slow Mode Slow down messages in groups to make them legible during high-traffic events. @@ -105,6 +114,12 @@ Open the Extension's settings page and click "View Reports" to Delete or Ignore Hide phone numbers, email addresses, and other sensitive information in messages. + +**Do not use alongside Rules-based Moderation:** If you have enabled any moderation rules in [Rules Management](/moderation/rules-management), disable this Data Masking extension. Running both will cause each message to be processed twice, resulting in performance issues and message delivery delays. + +We recommend using [Rules Management](/moderation/rules-management) instead, which includes Contact Details Filter and Email Filter rules with better performance. + + **Settings** 1. Enable the extension @@ -147,6 +162,12 @@ if (metadata != null) { Mask or hide profanity in messages using a customizable blacklist. + +**Do not use alongside Rule-based Moderation:** If you have enabled any moderation rules in [Rules Management](/moderation/rules-management), disable this Profanity Filter extension. Running both will cause each message to be processed twice, resulting in performance issues and message delivery delays. + +We recommend using [Rules Management](/moderation/rules-management) instead, which offers the same profanity filtering plus advanced AI-powered detection and more flexible configuration options. + + **Settings** 1. Enable the extension @@ -187,6 +208,12 @@ if (metadata != null) { AI-powered image moderation to detect unsafe content. + +**Do not use alongside Rules-based Moderation:** If you have enabled any moderation rules in [Rules Management](/moderation/rules-management), disable this Image Moderation extension. Running both will cause each image to be processed twice, resulting in performance issues and message delivery delays. + +We recommend using [Rules Management](/moderation/rules-management) instead, which includes AI Image Moderation and OpenAI-powered image rules with better performance and more detection categories. + + Images are classified into: - Explicit Nudity - Suggestive Nudity diff --git a/moderation/lists-management.mdx b/moderation/lists-management.mdx index 3d9b78ed0..baba04722 100644 --- a/moderation/lists-management.mdx +++ b/moderation/lists-management.mdx @@ -1,5 +1,6 @@ --- title: "Lists Management" +description: "Lists Management — CometChat documentation." --- Lists Management provides tools for creating and managing lists of keywords, regex patterns, or sentences that power your moderation rules. When detected in user-generated content, these lists trigger moderation actions like blocking or flagging messages. @@ -50,6 +51,21 @@ Create a custom keyword list in under 2 minutes: - Custom data formats **Example:** `\b\d{3}[-.]?\d{3}[-.]?\d{4}\b` (US phone numbers) + + + **Greedy Regex Not Allowed:** For system performance and security, greedy regex patterns (using `*`, `+`, `{n,}` without proper boundaries) are not permitted. Greedy patterns can cause excessive backtracking and impact system performance. + + **Examples of prohibited patterns:** + - `.*` (matches everything) + - `.+` (matches one or more of anything) + - `(a+)+` (nested quantifiers) + - `\d{10,}` (unbounded quantifier) + + **Use specific, bounded patterns instead:** + - `\d{3,10}` instead of `\d+` + - `[a-z]{1,50}` instead of `[a-z]+` + - `\b\w{3,20}\b` instead of `\w+` + AI-powered semantic matching. Use for: @@ -129,20 +145,13 @@ Pre-configured lists ready to use with your rules: ## Best Practices - - - Use default lists first, then create custom lists only for gaps in coverage. - - - Scammers constantly change wording. Sentence similarity catches variations automatically. - - - Test regex patterns before deploying. A bad pattern can block legitimate content. - - - Check blocked messages monthly and update lists based on new patterns. - - +| Practice | Description | +|----------|-------------| +| **Start with Defaults** | Use default lists first, then create custom lists only for gaps in coverage. | +| **Use Sentence Similarity for Scams** | Scammers constantly change wording. Sentence similarity catches variations automatically. | +| **Test Regex Patterns** | Test regex patterns before deploying. A bad pattern can block legitimate content. Avoid greedy patterns that can impact system performance. | +| **Avoid Greedy Regex** | Do not use unbounded quantifiers (`*`, `+`, `{n,}`) without proper boundaries. Always specify maximum lengths (e.g., `\d{3,10}` instead of `\d+`). | +| **Review Regularly** | Check blocked messages monthly and update lists based on new patterns. | ### Tips for Effective Lists diff --git a/moderation/open-ai/openai-custom.mdx b/moderation/open-ai/openai-custom.mdx index 611f887e3..2dd5a3d17 100644 --- a/moderation/open-ai/openai-custom.mdx +++ b/moderation/open-ai/openai-custom.mdx @@ -1,6 +1,7 @@ --- title: "OpenAI Moderation" sidebarTitle: "OpenAI Custom Moderation" +description: "OpenAI Moderation — CometChat documentation." --- CometChat allows you to integrate OpenAI for real-time message moderation, enabling automated detection of harmful, offensive, or inappropriate content. diff --git a/moderation/open-ai/openai-overview.mdx b/moderation/open-ai/openai-overview.mdx index 492290b92..cd9ae7e79 100644 --- a/moderation/open-ai/openai-overview.mdx +++ b/moderation/open-ai/openai-overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- CometChat offers AI-powered message moderation to help maintain a safe and respectful chat environment. You can choose between two moderation options: diff --git a/moderation/overview.mdx b/moderation/overview.mdx index 9f0522fa9..bbd3486cd 100644 --- a/moderation/overview.mdx +++ b/moderation/overview.mdx @@ -1,9 +1,14 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- The Moderation feature provides a comprehensive suite of capabilities designed to manage and enforce message moderation rules across various types of messages, ensuring your platform remains safe and compliant for all users. + +**Using legacy moderation extensions?** Disable legacy extensions (Profanity Filter, Data Masking, Image Moderation) from the [Extensions page](/moderation/legacy-extensions) before creating moderation rules. Running both will cause performance issues and message delays as each message gets processed twice. + + ## Key Benefits - **Automated Content Filtering** - Automatically detect and handle inappropriate content before it reaches users @@ -45,23 +50,6 @@ flowchart LR -## Getting Started - - - - Navigate to the [CometChat Dashboard](https://app.cometchat.com) and go to **Moderation** section - - - Set up rules to automatically detect and handle inappropriate content. See [Rules Management](/moderation/rules-management) - - - Customize the reasons users can select when reporting messages. Go to **Moderation > Advanced Settings** - - - Enable moderation features in your UI Kit or implement using the SDK/REST API - - - ## Platform Integration Moderation is supported across all CometChat platforms. Choose your integration method: diff --git a/moderation/reviewed-messages.mdx b/moderation/reviewed-messages.mdx index e9383893d..dfed1a927 100644 --- a/moderation/reviewed-messages.mdx +++ b/moderation/reviewed-messages.mdx @@ -1,5 +1,6 @@ --- title: "Reviewed Messages" +description: "Reviewed Messages — CometChat documentation." --- Reviewed Messages is your audit trail for all moderation decisions. When a moderator takes action on a flagged or blocked message (approve, block, or mark as reviewed), it automatically moves here for record-keeping. @@ -68,20 +69,12 @@ Each reviewed message includes: ## Use Cases - - - Maintain records of all moderation decisions for regulatory compliance. - - - Track moderator activity and decision patterns. - - - Analyze which rules generate the most reviews to optimize your setup. - - - Reference historical decisions when users dispute moderation actions. - - +| Use Case | Description | +|----------|-------------| +| **Compliance Audits** | Maintain records of all moderation decisions for regulatory compliance. | +| **Moderator Performance** | Track moderator activity and decision patterns. | +| **Rule Effectiveness** | Analyze which rules generate the most reviews to optimize your setup. | +| **Dispute Resolution** | Reference historical decisions when users dispute moderation actions. | --- diff --git a/moderation/rules-management.mdx b/moderation/rules-management.mdx index 76bbf293a..3277f59b1 100644 --- a/moderation/rules-management.mdx +++ b/moderation/rules-management.mdx @@ -1,5 +1,6 @@ --- title: "Rules Management" +description: "Rules Management — CometChat documentation." --- ## Overview @@ -163,20 +164,12 @@ Enable moderation in under 2 minutes: ## Best Practices - - - Enable default rules first, then customize based on your needs. Don't try to configure everything at once. - - - Test rules in a staging environment. Send test messages to verify rules work as expected. - - - Check the [Blocked Messages](/moderation/blocked-messages) dashboard regularly to catch false positives. - - - Review [Rule Revisions](#rule-revisions) to track changes and refine rules over time. - - +| Practice | Description | +|----------|-------------| +| **Start with Defaults** | Enable default rules first, then customize based on your needs. Don't try to configure everything at once. | +| **Test Before Launch** | Test rules in a staging environment. Send test messages to verify rules work as expected. | +| **Monitor Regularly** | Check the [Blocked Messages](/moderation/blocked-messages) dashboard regularly to catch false positives. | +| **Iterate & Refine** | Review [Rule Revisions](#rule-revisions) to track changes and refine rules over time. | ### Tips for Effective Moderation @@ -470,6 +463,10 @@ Actions determine what happens when content matches the conditions: 3. Click **Save** 4. **Enable** the rule to start moderating + +**Regex Pattern Restrictions:** When using Word patterns (regex) in conditions, avoid greedy patterns like `.*`, `.+`, or unbounded quantifiers (`\d+`, `\w+`). Use bounded patterns instead (e.g., `\d{3,10}` instead of `\d+`) to prevent performance issues. See [Lists Management](/moderation/lists-management) for more details. + + ### List Rules All configured rules are displayed in the Rules tab with their name, status, and actions. diff --git a/notifications/badge-count.mdx b/notifications/badge-count.mdx index 4fd461532..ec12ecb47 100644 --- a/notifications/badge-count.mdx +++ b/notifications/badge-count.mdx @@ -1,5 +1,6 @@ --- title: "Badge Count" +description: "Badge Count — CometChat documentation." --- Use this guide to understand the **unread message badge count** feature in push notifications. diff --git a/notifications/constraints-and-limits.mdx b/notifications/constraints-and-limits.mdx index aeb0eefbc..52c0a90fa 100644 --- a/notifications/constraints-and-limits.mdx +++ b/notifications/constraints-and-limits.mdx @@ -1,5 +1,6 @@ --- title: "Constraints And Limits" +description: "Constraints And Limits — CometChat documentation." --- Use this page to confirm supported SDK/UI Kit versions, platform/browser coverage, hard limits, and known notification caveats before you ship. diff --git a/notifications/custom-providers.mdx b/notifications/custom-providers.mdx index 64862020c..dcd46bd0c 100644 --- a/notifications/custom-providers.mdx +++ b/notifications/custom-providers.mdx @@ -1,5 +1,6 @@ --- title: "Custom Providers" +description: "Custom Providers — CometChat documentation." --- Custom providers let you route push payloads to your own webhook instead of FCM/APNs. Use this page to set up credentials, understand payload shapes, and wire a simple receiver. diff --git a/notifications/email-custom-providers.mdx b/notifications/email-custom-providers.mdx index 76beb6995..a893c34f3 100644 --- a/notifications/email-custom-providers.mdx +++ b/notifications/email-custom-providers.mdx @@ -1,5 +1,6 @@ --- title: "Custom Providers" +description: "Custom Providers — CometChat documentation." --- Use a custom provider to send CometChat email notifications through any gateway via webhook. SendGrid is built-in; choose custom when you want another service or your own SMTP bridge. @@ -20,7 +21,7 @@ Authorization: Basic 2. Enable the provider. 3. Enter the publicly accessible webhook URL. 4. (Recommended) Enable Basic Authentication and set username/password. -5. Decide if you want to **Trigger only if email address is stored with CometChat** (via [Update Contact details API](https://api-explorer.cometchat.com/reference/notifications-update-contact-details)); when off, the webhook fires regardless. +5. Decide if you want to **Trigger only if email address is stored with CometChat** (via [Update Contact details API](/rest-api/chat-apis)); when off, the webhook fires regardless. 6. Save the credentials. diff --git a/notifications/email-integration.mdx b/notifications/email-integration.mdx index 8234b4288..20ef66b43 100644 --- a/notifications/email-integration.mdx +++ b/notifications/email-integration.mdx @@ -1,5 +1,6 @@ --- title: "Integration" +description: "Integration — CometChat documentation." --- Connect CometChat email notifications to SendGrid or your own provider, wire the required webhooks, and keep timezones in sync for scheduling. @@ -364,7 +365,7 @@ An unsubscribe group will allow your users to unsubscribe to only chat email not ### 4. Store contact details -Store each user's contact email/phone with the [Update Contact details API](https://api-explorer.cometchat.com/reference/notifications-update-contact-details). Use the user's UID in `onBehalfOf` and call the region-specific base URL (`api-us`, `api-eu`, `api-in`). +Store each user's contact email/phone with the [Update Contact details API](/rest-api/chat-apis). Use the user's UID in `onBehalfOf` and call the region-specific base URL (`api-us`, `api-eu`, `api-in`). Example request: diff --git a/notifications/email-notifications-extension-legacy.mdx b/notifications/email-notifications-extension-legacy.mdx index d4212ff83..24a2fd5d1 100644 --- a/notifications/email-notifications-extension-legacy.mdx +++ b/notifications/email-notifications-extension-legacy.mdx @@ -1,5 +1,6 @@ --- title: "Email Notifications (Legacy)" +description: "Email Notifications (Legacy) — CometChat documentation." --- @@ -18,7 +19,7 @@ After you've configured the extension, your users will receive email notificatio The Email notifications extension allows you to have the following two integrations: -1. Integration using [Webhook](/notifications/email-notifications#integration-using-webhook) +1. Integration using [Webhook](#integration-using-webhook) 2. Integration using [SendGrid](/notifications/email-integration#sendgrid) ## Before you begin @@ -27,7 +28,7 @@ These steps are required irrespective of the integration. ### 1. Storing user emails -You can use our [Update user](https://api-explorer.cometchat.com/reference/update-user) API to set private metadata for a user. We recommend adding this code where you call our [Create user](https://api-explorer.cometchat.com/reference/creates-user) API. +You can use our [Update user](/rest-api/chat-apis) API to set private metadata for a user. We recommend adding this code where you call our [Create user](/rest-api/chat-apis) API. Alternatively, just for the sake of testing purposes, you can add this from the CometChat Dashboard as well. diff --git a/notifications/email-overview.mdx b/notifications/email-overview.mdx index 1b8bee9bb..d91731a11 100644 --- a/notifications/email-overview.mdx +++ b/notifications/email-overview.mdx @@ -13,7 +13,6 @@ Email acts as a safety net when users miss push: if a message stays unread past - **Templates**: Customize subject/body (sender name, snippet, deep link) per message type; manage in Templates & Sounds. - **Preferences/DND**: Honors user/channel mutes, global DND, and quiet hours before sending. - **Scheduling + timezones**: Respect quiet hours and deliver in the recipient’s local timezone. -- **Preferences**: Honors per-user/per-conversation mutes before sending. - **Observability**: Use logs to verify sends and diagnose drops. ## Key capabilities @@ -22,3 +21,11 @@ Email acts as a safety net when users miss push: if a message stays unread past - Per-template customization with dynamic variables for sender, preview text, and links. - Mute/quiet hours enforcement to avoid fatigue. - Works alongside push/SMS as layered fallbacks. + +## Setup checklist + +1. **Enable email notifications** — Turn on email in your [CometChat dashboard](https://app.cometchat.com/). +2. **Connect your email provider** — Configure SMTP or a supported provider in [Email Integration](/notifications/email-integration). +3. **Customize templates** — Set subject lines, body content, and dynamic variables in [Email Templates](/notifications/email-templates). +4. **Set preferences** — Configure mute rules, DND windows, and quiet hours in [Email Preferences](/notifications/email-preferences). +5. **Verify delivery** — Check send status and troubleshoot drops in [Logs](/notifications/logs). diff --git a/notifications/email-preferences.mdx b/notifications/email-preferences.mdx index fdb39c9d9..b03b5d113 100644 --- a/notifications/email-preferences.mdx +++ b/notifications/email-preferences.mdx @@ -1,5 +1,6 @@ --- title: "Email Preferences" +description: "Email Preferences — CometChat documentation." --- Control when CometChat sends unread-message emails and what data is included in each payload. diff --git a/notifications/email-templates.mdx b/notifications/email-templates.mdx index 664d38bd4..fb4dc1e32 100644 --- a/notifications/email-templates.mdx +++ b/notifications/email-templates.mdx @@ -1,5 +1,6 @@ --- title: "Email Templates" +description: "Email Templates — CometChat documentation." --- Design the subject/body your users see in unread-message emails. No sounds apply to email. Providers like SendGrid can consume these fields—map them into Dynamic Template variables or assemble the subject/body in your service before sending. diff --git a/notifications/ios-apns-push-notifications.mdx b/notifications/ios-apns-push-notifications.mdx index 7fe49aca0..fd5fcad0a 100644 --- a/notifications/ios-apns-push-notifications.mdx +++ b/notifications/ios-apns-push-notifications.mdx @@ -1161,7 +1161,134 @@ class AppDelegate: UIResponder, UIApplicationDelegate { } ``` -## 5. Testing checklist +## 5. Unregister the token on logout + +Before logging the user out, unregister the push token so the device stops receiving notifications for that user. + +```swift lines +CometChatNotifications.unregisterPushToken( + onSuccess: { success in + print("Push token unregistered: \(success)") + CometChatUIKit.logout(onSuccess: { _ in + print("Logout successful") + }, onError: { error in + print("Logout failed: \(error.errorDescription)") + }) + }, + onError: { error in + print("Token unregister failed: \(error.errorCode) - \(error.errorDescription)") + } +) +``` + +Always call `CometChatNotifications.unregisterPushToken()` **before** `CometChatUIKit.logout()`. If you skip this step, the device may continue to receive pushes for the logged-out user. + +## 6. Badge count + +CometChat's Enhanced Push Notification payload includes an `unreadMessageCount` field (a string) representing the total unread messages across all conversations for the logged-in user. You can use this to set the app icon badge. + +### 6.1 Enable unread badge count on the CometChat Dashboard + +1. Go to **CometChat Dashboard → Notification Engine → Settings → Preferences → Push Notification Preferences**. +2. Scroll to the bottom and enable the **Unread Badge Count** toggle. + +This ensures CometChat includes the `unreadMessageCount` field in every push payload sent to your app. + +### 6.2 Expected payload format + +CometChat sends APNs payloads with this structure (relevant fields): + +```json +{ + "unreadMessageCount": "5", + "title": "New Message", + "alert": "John: Hello!", + "conversationId": "user_abc123", + "receiverType": "user" +} +``` + +`unreadMessageCount` is a string representing the total unread messages across all conversations for the logged-in user. + +### 6.3 Update the app badge from the push payload + +Inside your `UNUserNotificationCenterDelegate` method (for example `willPresent` or a Notification Service Extension), parse `unreadMessageCount` and update the badge: + +```swift lines +// Inside userNotificationCenter(_:willPresent:) or a Notification Service Extension +let userInfo = notification.request.content.userInfo + +if let unreadCountStr = userInfo["unreadMessageCount"] as? String, + let count = Int(unreadCountStr), count >= 0 { + DispatchQueue.main.async { + UIApplication.shared.applicationIconBadgeNumber = count + } +} else { + print("No valid unreadMessageCount in payload") +} +``` + +Setting `applicationIconBadgeNumber` to `0` clears the badge. + +### 6.4 Clear badge when the app opens + +Clear the badge count when the app launches and every time it returns to the foreground. In your `SceneDelegate` or `AppDelegate`: + +```swift lines +func sceneDidBecomeActive(_ scene: UIScene) { + UIApplication.shared.applicationIconBadgeNumber = 0 +} +``` + +This keeps the badge in sync with the actual unread state. + +## 7. Navigation from notifications + +When the user taps a notification, use `userNotificationCenter(_:didReceive:withCompletionHandler:)` to extract conversation details and navigate to the correct screen. + +```swift lines +func userNotificationCenter( + _ center: UNUserNotificationCenter, + didReceive response: UNNotificationResponse, + withCompletionHandler completionHandler: @escaping () -> Void +) { + let userInfo = response.notification.request.content.userInfo + + guard let receiverType = userInfo["receiverType"] as? String else { + completionHandler() + return + } + + if receiverType == "user" { + guard let senderUid = userInfo["sender"] as? String, + let senderName = userInfo["senderName"] as? String else { + completionHandler() + return + } + let user = User(uid: senderUid, name: senderName) + let messagesVC = MessagesVC() + messagesVC.user = user + navigateToViewController(messagesVC) + + } else if receiverType == "group" { + guard let groupId = userInfo["receiver"] as? String, + let groupName = userInfo["receiverName"] as? String else { + completionHandler() + return + } + let group = Group(guid: groupId, name: groupName, groupType: .public, password: nil) + let messagesVC = MessagesVC() + messagesVC.group = group + navigateToViewController(messagesVC) + } + + completionHandler() +} +``` + +The `navigateToViewController` helper (shown in `CometChatPNHelper.swift` above) pushes the `MessagesVC` onto the navigation stack. Ensure the root view controller is ready before navigation -- if the app was terminated, wait until login completes before routing. + +## 8. Testing checklist 1. Install on a device; grant notification permission. Verify APNs device token logs. 2. Log in, then confirm both device + VoIP tokens register with CometChat (success callbacks). @@ -1171,7 +1298,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { 4. Trigger an incoming call; CallKit UI should show caller info. Accept should join the call; Decline should reject via CometChat and end CallKit. 5. Rotate tokens (reinstall or toggle VoIP) to ensure re-registration works. -## 6. Troubleshooting +## 9. Troubleshooting | Symptom | Quick checks | | --- | --- | @@ -1180,3 +1307,5 @@ class AppDelegate: UIResponder, UIApplicationDelegate { | Taps do nothing | Verify notification center delegate and navigation readiness before routing. | | Call UI missing | Ensure PushKit delegate fires, CallKit capabilities enabled, VoIP provider ID set. | | Audio errors | Configure `AVAudioSession` for playAndRecord when reporting/accepting calls. | +| Badge count not showing | Verify **Unread Badge Count** is enabled in CometChat Dashboard and that your app reads `unreadMessageCount` from the payload. | +| Notification tap does not navigate | Ensure `UNUserNotificationCenterDelegate` is set, payload contains `receiverType`/`sender`/`receiver`, and root view controller is ready. | diff --git a/notifications/ios-fcm-push-notifications.mdx b/notifications/ios-fcm-push-notifications.mdx index 0bfcaf2eb..c2b56b503 100644 --- a/notifications/ios-fcm-push-notifications.mdx +++ b/notifications/ios-fcm-push-notifications.mdx @@ -10,7 +10,7 @@ description: "Guide to integrating Firebase Cloud Messaging (FCM) push notificat icon="github" href="https://github.com/cometchat/cometchat-uikit-ios/tree/v5/SampleAppPushNotificationAPNs/Push%20Notification%20%2B%20VoIP" > -Reference implementation of iOS UIKit, FCM and Push Notification Setup. + Reference implementation of iOS UIKit, FCM and Push Notification Setup. ## What this guide covers @@ -21,61 +21,76 @@ Reference implementation of iOS UIKit, FCM and Push Notification Setup. - Incoming message/call handling and deep links. - Payload customization and testing. -{/* ## What you need first +{/\* ## What you need first - CometChat App ID, Region, Auth Key; Push Notifications with **FCM iOS provider ID** (and APNs device/VoIP provider IDs if you deliver via APNs/PushKit). - Firebase project with an iOS app; `GoogleService-Info.plist` downloaded; APNs key uploaded to Firebase Cloud Messaging. -- Xcode capabilities: Push Notifications, Background Modes (Remote notifications, Voice over IP), CallKit usage descriptions. Physical device for push testing. */} +- Xcode capabilities: Push Notifications, Background Modes (Remote notifications, Voice over IP), CallKit usage descriptions. Physical device for push testing. \*/} ## How FCM + CometChat work together -- **FCM’s role:** Firebase issues the iOS FCM registration token and delivers the push payload. On iOS, FCM hands off to APNs using the APNs key/cert you upload in Firebase. -- **CometChat Notifications’ role:** The FCM iOS provider you create in the CometChat dashboard holds your Firebase service account. When you call `CometChatNotifications.registerPushToken(..., .FCM_IOS, providerId)`, CometChat binds that FCM token to the logged-in user and sends pushes to FCM on your behalf. +- **FCM’s role:** Firebase issues the iOS FCM registration token and delivers the push payload. On iOS, FCM hands off to APNs using the APNs key/cert you upload in Firebase. +- **CometChat Notifications’ role:** The FCM iOS provider you create in the CometChat dashboard holds your Firebase service account. When you call `CometChatNotifications.registerPushToken(..., .FCM_IOS, providerId)`, CometChat binds that FCM token to the logged-in user and sends pushes to FCM on your behalf. - **Flow (same bridge used in `android-push-notifications.mdx`):** Request permission → register for remote notifications → FCM returns the registration token → after `CometChat.login` succeeds, register that token with `CometChatNotifications` using the FCM provider ID → CometChat sends payloads to FCM → FCM hands to APNs → `UNUserNotificationCenterDelegate` surfaces the notification/tap. ## 1. Enable push and add providers (CometChat Dashboard) -1) Go to **Notifications → Settings** and enable **Push Notifications**. +1. Go to **Notifications → Settings** and enable **Push Notifications**. - Enable Push Notifications + Enable Push Notifications -2) On Firebase: - - Go to **Project Settings → Service accounts** and generate a new private key; download the JSON file. +2. On Firebase: + - Go to **Project Settings → Service accounts** and generate a new private key; download the JSON file. - Add FCM credentials + Add FCM credentials -3) On CometChat Dashboard: +3. On CometChat Dashboard: - Add an **FCM iOS provider** and upload your Firebase service account JSON; copy the Provider ID. Add FCM credentials - ## 2. Upload your APNs Certificates +## 2. Upload your APNs Certificates -1) In the **Firebase Console**, go to **Project Settings → Cloud Messaging**. -2) Under **iOS app configuration**, upload your APNs authentication key or certificates. +1. In the **Firebase Console**, go to **Project Settings → Cloud Messaging**. +2. Under **iOS app configuration**, upload your APNs authentication key or certificates. - Upload APNs Certificates in Firebase Console + Upload APNs Certificates in Firebase Console ## 3. Prepare Firebase and CometChat -1) Firebase Console: download and add `GoogleService-Info.plist` to your target. +1. Firebase Console: download and add `GoogleService-Info.plist` to your target. - Upload APNs Certificates in Firebase Console + Upload APNs Certificates in Firebase Console -2) Xcode capabilities: Push Notifications, Background Modes → Remote notifications. +2. Xcode capabilities: Push Notifications, Background Modes → Remote notifications. - Enable Push Notifications and Background Modes for FCM + Enable Push Notifications and Background Modes for FCM ## 4. Add dependencies (Podfile) @@ -91,7 +106,6 @@ end ``` Run `pod install`. - ## 5. Wire AppDelegate (Firebase + delegates) @@ -122,7 +136,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD if let error = error { print("Permission error:", error.localizedDescription) } - + // Only register for remote notifications if permission granted if granted { DispatchQueue.main.async { @@ -142,20 +156,20 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data ) { Messaging.messaging().apnsToken = deviceToken - + // Store the token for later registration after login let hexString = deviceToken.map { String(format: "%02.2hhx", $0) }.joined() UserDefaults.standard.set(hexString, forKey: "apnsPushToken") print("APNs token received and stored: \(hexString)") } - + func application( _ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error ) { print("Failed to register for remote notifications: \(error.localizedDescription)") } - + func application( _ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], @@ -175,10 +189,10 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD } print("FCM Token received:", fcmToken) - + // Store FCM token as well UserDefaults.standard.set(fcmToken, forKey: "fcmPushToken") - + if let apnsToken = UserDefaults.standard.string(forKey: "apnsPushToken") { print("Registering APNs token with CometChat: \(apnsToken)") CometChatNotifications.registerPushToken( @@ -205,14 +219,14 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD ) { completionHandler([.banner, .sound, .badge]) } - + // Call this method AFTER CometChat login succeeds static func registerStoredPushToken() { guard CometChat.getLoggedInUser() != nil else { print("Cannot register push token: User not logged in") return } - + // Register APNs token if let apnsToken = UserDefaults.standard.string(forKey: "apnsPushToken") { print("Registering APNs token with CometChat: \(apnsToken)") @@ -230,7 +244,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD } else { print("No stored APNs token found - Check if Push Notifications capability is enabled in Xcode") } - + // Register FCM token if let fcmToken = UserDefaults.standard.string(forKey: "fcmPushToken") { print("Registering FCM token with CometChat...") @@ -252,9 +266,9 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD **What this code is doing** -- Initializes Firebase, sets `MessagingDelegate` and `UNUserNotificationCenterDelegate`, asks for alert/badge/sound permission, and registers for remote notifications. -- Sets `Messaging.messaging().apnsToken` so FCM can map the APNs token and later deliver via APNs. -- Stores the FCM registration token and calls `registerStoredPushToken()` so CometChat can bind the token to your logged-in user (using the Provider ID you configured). +- Initializes Firebase, sets `MessagingDelegate` and `UNUserNotificationCenterDelegate`, asks for alert/badge/sound permission, and registers for remote notifications. +- Sets `Messaging.messaging().apnsToken` so FCM can map the APNs token and later deliver via APNs. +- Stores the FCM registration token and calls `registerStoredPushToken()` so CometChat can bind the token to your logged-in user (using the Provider ID you configured). - Leaves `willPresent` to show banners/sounds in foreground instead of silently ignoring the notification. ## 6. Create FCM helper @@ -298,8 +312,8 @@ final class CometChatFCMHelper { **What this helper is doing** -- Wraps permission prompts + delegate wiring so you can call one method from `AppDelegate`. -- Sets the notification delegate early and registers for APNs on the main queue (Apple requirement). +- Wraps permission prompts + delegate wiring so you can call one method from `AppDelegate`. +- Sets the notification delegate early and registers for APNs on the main queue (Apple requirement). - Keeps all push setup in a reusable singleton to call from tests, scenes, or multi-target setups. ## 7. Testing checklist @@ -313,9 +327,9 @@ final class CometChatFCMHelper { ## 8. Troubleshooting -| Symptom | Quick checks | -| --- | --- | -| No FCM pushes | `GoogleService-Info.plist` present; APNs key uploaded to Firebase; bundle ID matches; permission granted. | -| Token registration fails | Run after login; provider ID matches FCM iOS provider; `Messaging.messaging().delegate` set. | -| Taps ignored | Ensure `UNUserNotificationCenterDelegate` methods fire and navigation is ready before routing. | -| Call UI missing | Add PushKit + CallKit wiring; register VoIP token with an APNs VoIP provider; ensure VoIP/background modes are enabled. | +| Symptom | Quick checks | +| ------------------------ | ----------------------------------------------------------------------------------------------------------------------- | +| No FCM pushes | `GoogleService-Info.plist` present; APNs key uploaded to Firebase; bundle ID matches; permission granted. | +| Token registration fails | Run after login; provider ID matches FCM iOS provider; `Messaging.messaging().delegate` set. | +| Taps ignored | Ensure `UNUserNotificationCenterDelegate` methods fire and navigation is ready before routing. | +| Call UI missing | Add PushKit + CallKit wiring; register VoIP token with an APNs VoIP provider; ensure VoIP/background modes are enabled. | diff --git a/notifications/legacy-push-notifications.mdx b/notifications/legacy-push-notifications.mdx index e6b6c4e0b..6f30fddb5 100644 --- a/notifications/legacy-push-notifications.mdx +++ b/notifications/legacy-push-notifications.mdx @@ -1,13 +1,13 @@ --- title: "Integration Guide for Legacy Push Notifications" +description: "Integration Guide for Legacy Push Notifications — CometChat documentation." --- - -Migrate to Token-based Push Notifications - -You can check out our new Token-based implementation [here](/notifications/push-notification-extension-overview). + +**This integration is deprecated** and scheduled for removal. Migrate to the new Token-based Push Notifications. - +See the [Push Notifications Guide](/notifications/push-overview) for the current implementation. + The Push Notification extension allows you to send push notifications to mobile apps and desktop browsers. @@ -1875,7 +1875,7 @@ let processedMessage = CometChat.CometChatHelper.processMessage(JSON_MESSAGE); - + Attachments can be of the following types: `CometChatConstants.MESSAGE_TYPE_IMAGE`\ @@ -1883,4 +1883,4 @@ Attachments can be of the following types: `CometChatConstants.MESSAGE_TYPE_AUDIO`\ `CometChatConstants.MESSAGE_TYPE_FILE` - + diff --git a/notifications/logs.mdx b/notifications/logs.mdx index bda5f3b62..b108d8299 100644 --- a/notifications/logs.mdx +++ b/notifications/logs.mdx @@ -27,4 +27,4 @@ Logs are kept for up to 14 days: 7 days while logging is active, plus 7 days aft ### Access and filtering - **Dashboard:** Browse recent logs and narrow by channel, event, user, or status. -- **API:** Use the Get logs API with query parameters (event, medium, receiver, status, time window, provider) for deeper filtering. See the [API explorer](https://api-explorer.cometchat.com/reference/notifications-logs) for the full list. +- **API:** Use the Get logs API with query parameters (event, medium, receiver, status, time window, provider) for deeper filtering. See the [API explorer](/rest-api/chat-apis) for the full list. diff --git a/notifications/overview.mdx b/notifications/overview.mdx index d671ff91d..78459597f 100644 --- a/notifications/overview.mdx +++ b/notifications/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- Notifications play a crucial role in alerting users to activity within conversations, such as new messages, replies, reactions, and more. CometChat facilitates user engagement through various notification methods, including: @@ -9,18 +10,18 @@ Notifications play a crucial role in alerting users to activity within conversat Deliver instant updates and improve user engagement. CometChat has the following offerings. * [Push Notifications](/notifications/push-overview) -* [Push Notifications extension (Legacy)](/notifications/push-notification-extension-overview) +* [Push Notifications extension (Legacy)](/notifications/push-notifications-extension-legacy) ### Email Notifications Dispatch updates at intervals to re-engage users with extended absence using Emails. * [Email Notifications](/notifications/email-overview) -* [Email Notifications extension (Legacy)](/notifications/email-notification-extension). +* [Email Notifications extension (Legacy)](/notifications/email-notifications-extension-legacy). ### SMS Notifications Dispatch updates at intervals to re-engage users with extended absence using SMS. * [SMS Notifications](/notifications/sms-overview) -* [SMS Notifications extension (Legacy)](/notifications/sms-notification-extension). +* [SMS Notifications extension (Legacy)](/notifications/sms-notifications-extension-legacy). diff --git a/notifications/preferences.mdx b/notifications/preferences.mdx index 2f7c0dec1..bbf48ef1e 100644 --- a/notifications/preferences.mdx +++ b/notifications/preferences.mdx @@ -1,5 +1,6 @@ --- title: "Preferences" +description: "Preferences — CometChat documentation." --- Preferences define how CometChat notifies users and which parts they can change. diff --git a/notifications/push-notifications-extension-legacy.mdx b/notifications/push-notifications-extension-legacy.mdx index 219096f91..f58d2a177 100644 --- a/notifications/push-notifications-extension-legacy.mdx +++ b/notifications/push-notifications-extension-legacy.mdx @@ -3420,7 +3420,7 @@ Push Notification: Payload Sample for Text Message and Attachment/Media Message * Currently we can only handle default calling notification * Whenever the user answers the call we use RNCallKeep.backToForeground(); method to bring the app in to foreground but in some devices you might need to add few more permissions for this to work For example, In MIUI 11 you need to permission for Display pop-up windows while running in the background * When the iOS app is in lock state we are not able to open the app so the call start on callkeep it self and you can hear the audio but if you want a video call then the user has to unlock the phone click on the app icon on call screen. -* If you want to use the callkit and connection service in foreground then you might consider turning the callNotifications settings in UI kit settings. For more information in UI kit settings check the [documentation](/ui-kit/react-native/getting-started#initialise-cometchatuikit). +* If you want to use the callkit and connection service in foreground then you might consider turning the callNotifications settings in UI kit settings. For more information in UI kit settings check the [documentation](/ui-kit/react-native/react-native-cli-integration#initialise-cometchatuikit). diff --git a/notifications/sms-custom-providers.mdx b/notifications/sms-custom-providers.mdx index dcd65feb0..4df3f907b 100644 --- a/notifications/sms-custom-providers.mdx +++ b/notifications/sms-custom-providers.mdx @@ -1,5 +1,6 @@ --- title: "Custom Providers" +description: "Custom Providers — CometChat documentation." --- Use a custom provider to send CometChat SMS notifications through any gateway via webhook. Twilio is built-in; choose custom when you want another SMS service or your own bridge. @@ -20,7 +21,7 @@ Authorization: Basic 2. Enable the provider. 3. Enter the publicly accessible webhook URL. 4. (Recommended) Enable Basic Authentication and set username/password. -5. Decide if you want to **Trigger only if phone number is stored with CometChat** (via [Update Contact details API](https://api-explorer.cometchat.com/reference/notifications-update-contact-details)); when off, the webhook fires regardless. +5. Decide if you want to **Trigger only if phone number is stored with CometChat** (via [Update Contact details API](/rest-api/chat-apis)); when off, the webhook fires regardless. 6. Save the credentials. diff --git a/notifications/sms-integration.mdx b/notifications/sms-integration.mdx index d493a752e..a110db039 100644 --- a/notifications/sms-integration.mdx +++ b/notifications/sms-integration.mdx @@ -1,5 +1,6 @@ --- title: "Integration" +description: "Integration — CometChat documentation." --- Connect CometChat SMS notifications to Twilio or your own provider. Twilio is built-in; use a custom provider if you prefer another SMS gateway. @@ -19,7 +20,7 @@ We have partnered with Twilio for sending SMS Notifications so need to set up an ### 2. Store contact details -Store each user's phone (and optional email) with the [Update Contact details API](https://api-explorer.cometchat.com/reference/notifications-update-contact-details). Use the user's UID in `onBehalfOf` and call the region-specific base URL (`api-us`, `api-eu`, `api-in`). +Store each user's phone (and optional email) with the [Update Contact details API](/rest-api/chat-apis). Use the user's UID in `onBehalfOf` and call the region-specific base URL (`api-us`, `api-eu`, `api-in`). Example request: diff --git a/notifications/sms-notifications-extension-legacy.mdx b/notifications/sms-notifications-extension-legacy.mdx index f02bdf341..144bea610 100644 --- a/notifications/sms-notifications-extension-legacy.mdx +++ b/notifications/sms-notifications-extension-legacy.mdx @@ -1,5 +1,6 @@ --- title: "SMS Notifications (Legacy)" +description: "SMS Notifications (Legacy) — CometChat documentation." --- @@ -44,7 +45,7 @@ We have partnered with Twilio for sending SMS Notifications so need to set up an ## Configure your backend to store phone number -You can use our [Update user](https://api-explorer.cometchat.com/reference/update-user) API to set private metadata for a user. We recommend adding this code when you call our [Create user](https://api-explorer.cometchat.com/reference/creates-user) API. +You can use our [Update user](/rest-api/chat-apis) API to set private metadata for a user. We recommend adding this code when you call our [Create user](/rest-api/chat-apis) API. Alternatively, just for the sake of testing purposes, you can add this from the CometChat Dashboard as well. diff --git a/notifications/sms-preferences.mdx b/notifications/sms-preferences.mdx index be2b1b23c..651d39ace 100644 --- a/notifications/sms-preferences.mdx +++ b/notifications/sms-preferences.mdx @@ -1,5 +1,6 @@ --- title: "SMS Preferences" +description: "SMS Preferences — CometChat documentation." --- Control when CometChat sends unread-message SMS and what data is included in each payload. diff --git a/notifications/sms-templates.mdx b/notifications/sms-templates.mdx index 3db530d73..e5eb94f21 100644 --- a/notifications/sms-templates.mdx +++ b/notifications/sms-templates.mdx @@ -1,5 +1,6 @@ --- title: "SMS Templates" +description: "SMS Templates — CometChat documentation." --- Design the SMS body users receive for unread-message alerts. Sounds do not apply to SMS. Map these payload fields into your provider template or assemble the text in your service before sending. diff --git a/notifications/templates-and-sounds.mdx b/notifications/templates-and-sounds.mdx index d280e6730..64ec23381 100644 --- a/notifications/templates-and-sounds.mdx +++ b/notifications/templates-and-sounds.mdx @@ -1,5 +1,6 @@ --- title: "Templates & Sounds" +description: "Templates & Sounds — CometChat documentation." --- Use this guide to configure **push** notification templates, understand placeholders, and set sounds. diff --git a/on-premise-deployment/docker/air-gapped-deployment.mdx b/on-premise-deployment/docker/air-gapped-deployment.mdx index 82ab82700..50ccf6429 100644 --- a/on-premise-deployment/docker/air-gapped-deployment.mdx +++ b/on-premise-deployment/docker/air-gapped-deployment.mdx @@ -1,6 +1,7 @@ --- title: "Air-Gapped Deployment" sidebarTitle: "Air-Gapped" +description: "Air-Gapped Deployment — CometChat documentation." --- Guidelines for deploying the platform in offline or isolated (air-gapped) environments. diff --git a/on-premise-deployment/docker/configuration-reference.mdx b/on-premise-deployment/docker/configuration-reference.mdx index cab40f279..da3983e33 100644 --- a/on-premise-deployment/docker/configuration-reference.mdx +++ b/on-premise-deployment/docker/configuration-reference.mdx @@ -1,6 +1,7 @@ --- title: "Configuration Reference" sidebarTitle: "Configuration" +description: "Configuration Reference — CometChat documentation." --- Use this reference when updating domains, migrating environments, troubleshooting misconfiguration, or performing production deployments. Values are sourced from `docker-compose.yml`, service-level `.env` files, and the domain update guide. diff --git a/on-premise-deployment/docker/monitoring.mdx b/on-premise-deployment/docker/monitoring.mdx index 26736c1d6..49b547f4b 100644 --- a/on-premise-deployment/docker/monitoring.mdx +++ b/on-premise-deployment/docker/monitoring.mdx @@ -1,6 +1,7 @@ --- title: "Monitoring" sidebarTitle: "Monitoring" +description: "Monitoring — CometChat documentation." --- Monitoring ensures system health, operational visibility, and SLA compliance for CometChat on-premise deployments. diff --git a/on-premise-deployment/docker/overview.mdx b/on-premise-deployment/docker/overview.mdx index 4fc3f6f15..50fcb24d4 100644 --- a/on-premise-deployment/docker/overview.mdx +++ b/on-premise-deployment/docker/overview.mdx @@ -1,6 +1,7 @@ --- title: "On-Premise Deployment Overview" sidebarTitle: "Overview" +description: "Overview of On-Premise Deployment Overview in CometChat." --- CometChat on-premise delivers an enterprise-grade, self-hosted real-time messaging platform engineered for mission-critical applications requiring complete data sovereignty, regulatory compliance, and predictable performance at scale. Built on battle-tested open-source technologies and cloud-native principles, this deployment architecture supports workloads from 10,000 to 250,000+ monthly active users with linear scalability and sub-100ms message latency. diff --git a/on-premise-deployment/docker/persistence-and-backup.mdx b/on-premise-deployment/docker/persistence-and-backup.mdx index a2be4fae0..a0a4a3700 100644 --- a/on-premise-deployment/docker/persistence-and-backup.mdx +++ b/on-premise-deployment/docker/persistence-and-backup.mdx @@ -1,6 +1,7 @@ --- title: "Persistence & Backup" sidebarTitle: "Persistence & Backup" +description: "Persistence & Backup — CometChat documentation." --- Defines how persistent data is stored, backed up, and restored in production environments. Proper backup and disaster recovery procedures are essential for business continuity and data protection. diff --git a/on-premise-deployment/docker/prerequisites.mdx b/on-premise-deployment/docker/prerequisites.mdx index fc173d746..f0e67e57a 100644 --- a/on-premise-deployment/docker/prerequisites.mdx +++ b/on-premise-deployment/docker/prerequisites.mdx @@ -1,6 +1,7 @@ --- title: "Prerequisites" sidebarTitle: "Prerequisites" +description: "Prerequisites — CometChat documentation." --- This guide outlines the infrastructure, software, and network requirements for deploying CometChat on-premise. Proper capacity planning ensures optimal performance, cost efficiency, and scalability as your user base grows. diff --git a/on-premise-deployment/docker/production-deployment.mdx b/on-premise-deployment/docker/production-deployment.mdx index 929cfd7bc..abb5a9a6c 100644 --- a/on-premise-deployment/docker/production-deployment.mdx +++ b/on-premise-deployment/docker/production-deployment.mdx @@ -1,6 +1,7 @@ --- title: "Production Deployment" sidebarTitle: "Production Deployment" +description: "Production Deployment — CometChat documentation." --- This guide walks through deploying CometChat on-premise to a Docker Swarm cluster. The deployment process uses automated scripts to ensure consistent, repeatable deployments with proper service orchestration and zero-downtime updates. diff --git a/on-premise-deployment/docker/scaling.mdx b/on-premise-deployment/docker/scaling.mdx index 8b6f81db7..130e928cf 100644 --- a/on-premise-deployment/docker/scaling.mdx +++ b/on-premise-deployment/docker/scaling.mdx @@ -1,6 +1,7 @@ --- title: "Scaling" sidebarTitle: "Scaling" +description: "Scaling — CometChat documentation." --- Guidelines for scaling platform components based on load and resource requirements. Proper scaling ensures optimal performance, cost efficiency, and user experience as your deployment grows. diff --git a/on-premise-deployment/docker/security.mdx b/on-premise-deployment/docker/security.mdx index 8993fe2dd..bb4e48ebe 100644 --- a/on-premise-deployment/docker/security.mdx +++ b/on-premise-deployment/docker/security.mdx @@ -1,6 +1,7 @@ --- title: "Security" sidebarTitle: "Security" +description: "Security — CometChat documentation." --- Security controls focus on authentication, secrets management, network isolation, TLS posture, and protective controls against abuse. diff --git a/on-premise-deployment/docker/troubleshooting.mdx b/on-premise-deployment/docker/troubleshooting.mdx index a271d63b4..fdf4b493b 100644 --- a/on-premise-deployment/docker/troubleshooting.mdx +++ b/on-premise-deployment/docker/troubleshooting.mdx @@ -1,6 +1,7 @@ --- title: "Troubleshooting" sidebarTitle: "Troubleshooting" +description: "Troubleshooting — CometChat documentation." --- Common operational issues and debugging guidance. diff --git a/on-premise-deployment/docker/upgrades.mdx b/on-premise-deployment/docker/upgrades.mdx index 1e8c8112d..1eb0f869d 100644 --- a/on-premise-deployment/docker/upgrades.mdx +++ b/on-premise-deployment/docker/upgrades.mdx @@ -1,6 +1,7 @@ --- title: "Upgrades" sidebarTitle: "Upgrades" +description: "Upgrades — CometChat documentation." --- This document outlines the recommended upgrade strategy to ensure zero downtime and safe production rollouts. diff --git a/on-premise-deployment/kubernetes/overview.mdx b/on-premise-deployment/kubernetes/overview.mdx index 1776ef869..30fd6ef65 100644 --- a/on-premise-deployment/kubernetes/overview.mdx +++ b/on-premise-deployment/kubernetes/overview.mdx @@ -1,6 +1,7 @@ --- title: "Kubernetes Deployment" sidebarTitle: "Overview" +description: "Overview of Kubernetes Deployment in CometChat." --- CometChat on-premise on Kubernetes provides enterprise-grade orchestration for large-scale deployments requiring advanced features like multi-region active-active architectures, dynamic autoscaling, and service mesh integration. diff --git a/rest-api/ai-agents-apis/agents/create-agent.mdx b/rest-api/ai-agents-apis/agents/create-agent.mdx new file mode 100644 index 000000000..db231a066 --- /dev/null +++ b/rest-api/ai-agents-apis/agents/create-agent.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /ai-agents/agent-builder/agents +description: "Creates a new agent with optional tools, API tools, MCP servers, and frontend actions. Use this endpoint to set up a fully configured agent in a single request. **Validation:** All referenced tools," +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/agents/delete-agent.mdx b/rest-api/ai-agents-apis/agents/delete-agent.mdx new file mode 100644 index 000000000..2f91c204f --- /dev/null +++ b/rest-api/ai-agents-apis/agents/delete-agent.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /ai-agents/agent-builder/agents/{uid} +description: "Deletes an agent by its UID." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/agents/get-agent.mdx b/rest-api/ai-agents-apis/agents/get-agent.mdx new file mode 100644 index 000000000..7690d98e3 --- /dev/null +++ b/rest-api/ai-agents-apis/agents/get-agent.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/agent-builder/agents/{uid} +description: "Retrieves a specific agent by its UID. Use this endpoint to inspect an agent's full configuration, including its tools, model, and instructions." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/agents/list-agent-tools-and-actions.mdx b/rest-api/ai-agents-apis/agents/list-agent-tools-and-actions.mdx new file mode 100644 index 000000000..c16011969 --- /dev/null +++ b/rest-api/ai-agents-apis/agents/list-agent-tools-and-actions.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/agent-builder/agents/{uid}/enabled-items +description: "Retrieves all enabled items for a specific agent, categorized by type. Use this endpoint to see which tools, frontend actions, API tools, and MCP servers are currently enabled for an agent. **Categor" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/agents/list-agents.mdx b/rest-api/ai-agents-apis/agents/list-agents.mdx new file mode 100644 index 000000000..6120c3f8a --- /dev/null +++ b/rest-api/ai-agents-apis/agents/list-agents.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/agent-builder/agents +description: "Retrieves a paginated list of agents for your CometChat app. Use this endpoint to browse, search, and manage your agents. **Search:** Use the `search` parameter to filter agents by name, description," +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/agents/list-available-models.mdx b/rest-api/ai-agents-apis/agents/list-available-models.mdx new file mode 100644 index 000000000..9e94fe628 --- /dev/null +++ b/rest-api/ai-agents-apis/agents/list-available-models.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/agent-builder/agents/available-models +description: "Lists the AI models available for agent creation. Returns model identifiers that can be used when creating or updating an agent's configuration." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/agents/search-agent-tools.mdx b/rest-api/ai-agents-apis/agents/search-agent-tools.mdx new file mode 100644 index 000000000..fd939940d --- /dev/null +++ b/rest-api/ai-agents-apis/agents/search-agent-tools.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/agent-builder/agents/{uid}/tools/search +description: "Searches across all tool types available for an agent, including ready-to-use tools, API tools, and MCP servers. Use this endpoint to find specific tools across all categories. **Filtering:** Use the" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/agents/update-agent.mdx b/rest-api/ai-agents-apis/agents/update-agent.mdx new file mode 100644 index 000000000..eb2d1e9e5 --- /dev/null +++ b/rest-api/ai-agents-apis/agents/update-agent.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agent-builder/agents/{uid} +description: "Updates an existing agent by its UID. Use this endpoint to modify an agent's configuration, instructions, model, or connected tools. **Validation:** Referenced tools, API tools, and MCP servers are v" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/custom-api-tools/add-api-tools-to-agent.mdx b/rest-api/ai-agents-apis/custom-api-tools/add-api-tools-to-agent.mdx new file mode 100644 index 000000000..fe81ce3d6 --- /dev/null +++ b/rest-api/ai-agents-apis/custom-api-tools/add-api-tools-to-agent.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agent-builder/agents/{uid}/api-tools/add +description: "Adds one or more API tools to a specific agent. Use this endpoint to give an agent access to custom API tool integrations. **Request body:** The `apiTools` array contains API tool slugs. Returns the" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/custom-api-tools/create-api-tool.mdx b/rest-api/ai-agents-apis/custom-api-tools/create-api-tool.mdx new file mode 100644 index 000000000..8cd0db034 --- /dev/null +++ b/rest-api/ai-agents-apis/custom-api-tools/create-api-tool.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /ai-agents/agent-builder/api-tools +description: "Creates a new API tool configuration for the application. Use this endpoint to define a custom API endpoint that agents can call during conversations. **Uniqueness:** The slug must be unique per appl" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/custom-api-tools/delete-api-tool.mdx b/rest-api/ai-agents-apis/custom-api-tools/delete-api-tool.mdx new file mode 100644 index 000000000..367875ae0 --- /dev/null +++ b/rest-api/ai-agents-apis/custom-api-tools/delete-api-tool.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /ai-agents/agent-builder/api-tools/{slug} +description: "Deletes an API tool by its slug." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/custom-api-tools/get-api-tool.mdx b/rest-api/ai-agents-apis/custom-api-tools/get-api-tool.mdx new file mode 100644 index 000000000..09cc9ee49 --- /dev/null +++ b/rest-api/ai-agents-apis/custom-api-tools/get-api-tool.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/agent-builder/api-tools/{slug} +description: "Retrieves a single custom API tool by its slug." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/custom-api-tools/list-api-tools.mdx b/rest-api/ai-agents-apis/custom-api-tools/list-api-tools.mdx new file mode 100644 index 000000000..10db956da --- /dev/null +++ b/rest-api/ai-agents-apis/custom-api-tools/list-api-tools.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/agent-builder/api-tools +description: "Retrieves a paginated list of API tools for the application. Use this endpoint to browse and manage custom API tool configurations." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/custom-api-tools/remove-api-tools-from-agent.mdx b/rest-api/ai-agents-apis/custom-api-tools/remove-api-tools-from-agent.mdx new file mode 100644 index 000000000..3dbd98a66 --- /dev/null +++ b/rest-api/ai-agents-apis/custom-api-tools/remove-api-tools-from-agent.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agent-builder/agents/{uid}/api-tools/remove +description: "Removes one or more API tools from a specific agent. Use this endpoint to revoke API tool access from an agent. **Request body:** The `apiTools` array contains API tool slugs to remove. Returns the u" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/custom-api-tools/update-api-tool.mdx b/rest-api/ai-agents-apis/custom-api-tools/update-api-tool.mdx new file mode 100644 index 000000000..d9d6557c4 --- /dev/null +++ b/rest-api/ai-agents-apis/custom-api-tools/update-api-tool.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agent-builder/api-tools/{slug} +description: "Updates an existing API tool by its slug. Use this endpoint to modify an API tool's parameters, description, or endpoint configuration." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/error-codes.mdx b/rest-api/ai-agents-apis/error-codes.mdx new file mode 100644 index 000000000..ae7c601c1 --- /dev/null +++ b/rest-api/ai-agents-apis/error-codes.mdx @@ -0,0 +1,36 @@ +--- +title: "Error Codes" +sidebarTitle: "Error Codes" +description: "Error Codes for CometChat REST API." +--- + +Error codes specific to the Agent Builder APIs. + +## Agent Errors + +| Error Code | Description | +| --------------------------- | -------------------------------------- | +| `ERR_AGENT_NOT_FOUND` | No agent exists with the specified ID. | +| `ERR_AGENT_CREATION_FAILED` | Failed to create the agent. | + +## Tool Errors + +| Error Code | Description | +| ------------------------ | --------------------------------------- | +| `ERR_TOOL_NOT_FOUND` | No tool exists with the specified ID. | +| `ERR_TOOL_ALREADY_ADDED` | The tool is already added to the agent. | + +## Knowledge Base Errors + +| Error Code | Description | +| ------------------------ | ------------------------------------------------------ | +| `ERR_KB_NOT_FOUND` | No knowledge base record exists with the specified ID. | +| `ERR_KB_INDEXING_FAILED` | Knowledge base indexing failed. | + +## Authentication Errors + +| Error Code | Description | +| --------------------------- | ------------------------------------------------ | +| `AUTH_ERR_EMPTY_APIKEY` | The `apikey` header is missing from the request. | +| `AUTH_ERR_APIKEY_NOT_FOUND` | The provided API key is invalid. | +| `AUTH_ERR_NO_ACCESS` | The API key doesn't have the required scope. | diff --git a/rest-api/ai-agents-apis/frontend-actions/add-frontend-actions-to-agent.mdx b/rest-api/ai-agents-apis/frontend-actions/add-frontend-actions-to-agent.mdx new file mode 100644 index 000000000..024345567 --- /dev/null +++ b/rest-api/ai-agents-apis/frontend-actions/add-frontend-actions-to-agent.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agent-builder/agents/{uid}/frontend-actions/add +description: "Adds one or more frontend actions to a specific agent. Use this endpoint to enable an agent to trigger client-side UI operations. **Frontend actions** allow agents to interact with the user interface" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/frontend-actions/create-frontend-action.mdx b/rest-api/ai-agents-apis/frontend-actions/create-frontend-action.mdx new file mode 100644 index 000000000..8b86d3d07 --- /dev/null +++ b/rest-api/ai-agents-apis/frontend-actions/create-frontend-action.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /ai-agents/agent-builder/frontend-actions +description: "Creates a new frontend action for the application. Use this endpoint to define a client-side UI operation that agents can trigger during conversations. **Uniqueness:** The trigger function must be un" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/frontend-actions/delete-frontend-action.mdx b/rest-api/ai-agents-apis/frontend-actions/delete-frontend-action.mdx new file mode 100644 index 000000000..c61f198cb --- /dev/null +++ b/rest-api/ai-agents-apis/frontend-actions/delete-frontend-action.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /ai-agents/agent-builder/frontend-actions/{id} +description: "Deletes a frontend action by its unique ID." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/frontend-actions/get-frontend-action.mdx b/rest-api/ai-agents-apis/frontend-actions/get-frontend-action.mdx new file mode 100644 index 000000000..284b7bae9 --- /dev/null +++ b/rest-api/ai-agents-apis/frontend-actions/get-frontend-action.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/agent-builder/frontend-actions/{id} +description: "Retrieves a single frontend action by its ID." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/frontend-actions/list-frontend-actions.mdx b/rest-api/ai-agents-apis/frontend-actions/list-frontend-actions.mdx new file mode 100644 index 000000000..9f2dde19e --- /dev/null +++ b/rest-api/ai-agents-apis/frontend-actions/list-frontend-actions.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/agent-builder/frontend-actions +description: "Retrieves a paginated list of frontend actions for the application. Use this endpoint to browse and manage frontend action configurations." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/frontend-actions/remove-frontend-actions-from-agent.mdx b/rest-api/ai-agents-apis/frontend-actions/remove-frontend-actions-from-agent.mdx new file mode 100644 index 000000000..1da6df5c4 --- /dev/null +++ b/rest-api/ai-agents-apis/frontend-actions/remove-frontend-actions-from-agent.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agent-builder/agents/{uid}/frontend-actions/remove +description: "Removes one or more frontend actions from a specific agent. Use this endpoint to revoke frontend action capabilities from an agent. **Request body:** The `frontendActions` array contains frontend act" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/frontend-actions/update-frontend-action.mdx b/rest-api/ai-agents-apis/frontend-actions/update-frontend-action.mdx new file mode 100644 index 000000000..9bc749550 --- /dev/null +++ b/rest-api/ai-agents-apis/frontend-actions/update-frontend-action.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agent-builder/frontend-actions/{id} +description: "Updates an existing frontend action by its unique ID. Use this endpoint to modify a frontend action's parameters, description, or trigger function." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/knowledge-base/add-knowledge-base-files.mdx b/rest-api/ai-agents-apis/knowledge-base/add-knowledge-base-files.mdx new file mode 100644 index 000000000..b8afdee99 --- /dev/null +++ b/rest-api/ai-agents-apis/knowledge-base/add-knowledge-base-files.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agent-builder/agents/{uid}/knowledge-base/{sourceType}/add +description: "Associates uploaded files or text entries with an agent's knowledge base. Use this endpoint after uploading files via the Initiate File Uploads endpoint to make them available to the agent. **Source" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/knowledge-base/create-text-detail.mdx b/rest-api/ai-agents-apis/knowledge-base/create-text-detail.mdx new file mode 100644 index 000000000..8f020b546 --- /dev/null +++ b/rest-api/ai-agents-apis/knowledge-base/create-text-detail.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /ai-agents/agent-builder/knowledge-base/text +description: "Creates a new text-based knowledge base entry. Use this endpoint to add custom text content that agents can reference during conversations. **Processing:** Accepts a title and text content, converts" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/knowledge-base/delete-text-detail.mdx b/rest-api/ai-agents-apis/knowledge-base/delete-text-detail.mdx new file mode 100644 index 000000000..950bd4ba8 --- /dev/null +++ b/rest-api/ai-agents-apis/knowledge-base/delete-text-detail.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /ai-agents/agent-builder/knowledge-base/text/{uniqueId} +description: "Deletes a text-based knowledge base entry and all associated data by its unique ID. **Cleanup:** Removes the text content, associated embeddings, and any agent references to this entry." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/knowledge-base/delete-uploaded-file.mdx b/rest-api/ai-agents-apis/knowledge-base/delete-uploaded-file.mdx new file mode 100644 index 000000000..2c3d7fd32 --- /dev/null +++ b/rest-api/ai-agents-apis/knowledge-base/delete-uploaded-file.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /ai-agents/agent-builder/knowledge-base/uploads/{uniqueId} +description: "Deletes an uploaded file and all associated data from the knowledge base by its unique ID. **Cleanup:** Removes the file, associated embeddings, and any agent references to this file." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/knowledge-base/delete-website.mdx b/rest-api/ai-agents-apis/knowledge-base/delete-website.mdx new file mode 100644 index 000000000..f28024e4c --- /dev/null +++ b/rest-api/ai-agents-apis/knowledge-base/delete-website.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /ai-agents/agent-builder/knowledge-base/website/{uniqueId} +description: "Deletes a website crawl and all associated data from the knowledge base by its unique ID. **Cleanup:** Removes all crawled pages, associated embeddings, and any agent references to this website." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/knowledge-base/get-discovered-urls.mdx b/rest-api/ai-agents-apis/knowledge-base/get-discovered-urls.mdx new file mode 100644 index 000000000..6e9357e40 --- /dev/null +++ b/rest-api/ai-agents-apis/knowledge-base/get-discovered-urls.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/agent-builder/knowledge-base/website/{parentUniqueId}/discovered-urls +description: "Retrieves all URLs discovered during a website crawl. Use this endpoint to review which pages were found before processing them." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/knowledge-base/get-source-pages.mdx b/rest-api/ai-agents-apis/knowledge-base/get-source-pages.mdx new file mode 100644 index 000000000..8c00ecb1a --- /dev/null +++ b/rest-api/ai-agents-apis/knowledge-base/get-source-pages.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/agent-builder/knowledge-base/{sourceType}/{uniqueId}/pages +description: "Retrieves paginated pages for a specific knowledge base source file. Use this endpoint to inspect the individual pages extracted from a knowledge base source." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/knowledge-base/get-text-entry.mdx b/rest-api/ai-agents-apis/knowledge-base/get-text-entry.mdx new file mode 100644 index 000000000..7cfc7c449 --- /dev/null +++ b/rest-api/ai-agents-apis/knowledge-base/get-text-entry.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/agent-builder/knowledge-base/text/{uniqueId} +description: "Retrieves a specific text-based knowledge base entry by its unique ID." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/knowledge-base/initiate-file-uploads.mdx b/rest-api/ai-agents-apis/knowledge-base/initiate-file-uploads.mdx new file mode 100644 index 000000000..ba64a51ab --- /dev/null +++ b/rest-api/ai-agents-apis/knowledge-base/initiate-file-uploads.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /ai-agents/agent-builder/knowledge-base/uploads/initiate +description: "Generates presigned URLs and creates upload records for one or more files. Use this endpoint to prepare files for upload to the knowledge base. **Workflow:** After receiving the presigned URLs, uploa" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/knowledge-base/list-knowledge-base-records.mdx b/rest-api/ai-agents-apis/knowledge-base/list-knowledge-base-records.mdx new file mode 100644 index 000000000..aaf8c3c82 --- /dev/null +++ b/rest-api/ai-agents-apis/knowledge-base/list-knowledge-base-records.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/agent-builder/knowledge-base +description: "Retrieves knowledge base records for the application. Use this endpoint to browse all knowledge base sources including files, text entries, and websites." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/knowledge-base/list-text-entries.mdx b/rest-api/ai-agents-apis/knowledge-base/list-text-entries.mdx new file mode 100644 index 000000000..a8735a02d --- /dev/null +++ b/rest-api/ai-agents-apis/knowledge-base/list-text-entries.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/agent-builder/knowledge-base/text +description: "Lists all text-based knowledge base entries for the app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/knowledge-base/poll-discovered-urls-status.mdx b/rest-api/ai-agents-apis/knowledge-base/poll-discovered-urls-status.mdx new file mode 100644 index 000000000..fc47b67a5 --- /dev/null +++ b/rest-api/ai-agents-apis/knowledge-base/poll-discovered-urls-status.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /ai-agents/agent-builder/knowledge-base/website/{parentUniqueId}/discovered-urls/status/poll +description: "Retrieves the processing status of discovered URLs by their unique IDs. Use this endpoint to monitor the progress of URL crawling within a parent website crawl. **Behavior:** Only returns records for" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/knowledge-base/poll-knowledge-base-status.mdx b/rest-api/ai-agents-apis/knowledge-base/poll-knowledge-base-status.mdx new file mode 100644 index 000000000..7f39178b3 --- /dev/null +++ b/rest-api/ai-agents-apis/knowledge-base/poll-knowledge-base-status.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /ai-agents/agent-builder/knowledge-base/status/poll +description: "Retrieves the indexing status for one or more knowledge base sources by their IDs. Use this endpoint to monitor the progress of file uploads, text entries, or website crawls being indexed. **Batch su" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/knowledge-base/process-discovered-urls.mdx b/rest-api/ai-agents-apis/knowledge-base/process-discovered-urls.mdx new file mode 100644 index 000000000..9d3ffcd6e --- /dev/null +++ b/rest-api/ai-agents-apis/knowledge-base/process-discovered-urls.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /ai-agents/agent-builder/knowledge-base/website/{parentUniqueId}/discovered-urls/process +description: "Marks discovered URLs for exclusion and initiates batch crawling of the remaining URLs. Use this endpoint to selectively process pages discovered during a website crawl." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/knowledge-base/remove-knowledge-base-files.mdx b/rest-api/ai-agents-apis/knowledge-base/remove-knowledge-base-files.mdx new file mode 100644 index 000000000..8c40ecc1b --- /dev/null +++ b/rest-api/ai-agents-apis/knowledge-base/remove-knowledge-base-files.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agent-builder/agents/{uid}/knowledge-base/{sourceType}/remove +description: "Removes files or text entries from an agent's knowledge base. Use this endpoint to disassociate specific sources from an agent without deleting the underlying content. **Source types:** Specify the s" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/knowledge-base/retry-indexing-for-website-pages.mdx b/rest-api/ai-agents-apis/knowledge-base/retry-indexing-for-website-pages.mdx new file mode 100644 index 000000000..8bea205b0 --- /dev/null +++ b/rest-api/ai-agents-apis/knowledge-base/retry-indexing-for-website-pages.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agent-builder/knowledge-base/website/{parentUniqueId}/discovered-urls/sync +description: "Retries the indexing process for specific pages under a website knowledge base source. Pass the unique IDs of the pages to re-index, or send an empty array to automatically retry all pages that failed" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/knowledge-base/retry-knowledge-base-source-indexing.mdx b/rest-api/ai-agents-apis/knowledge-base/retry-knowledge-base-source-indexing.mdx new file mode 100644 index 000000000..03f05b2c1 --- /dev/null +++ b/rest-api/ai-agents-apis/knowledge-base/retry-knowledge-base-source-indexing.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agent-builder/knowledge-base/{sourceType}/{uniqueId}/sync +description: "Retries the indexing process for a specific knowledge base source that failed during its initial processing. Provide the source type and its unique ID to re-trigger vectorization. **Supported source" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/knowledge-base/scrape-single-page.mdx b/rest-api/ai-agents-apis/knowledge-base/scrape-single-page.mdx new file mode 100644 index 000000000..3a3703375 --- /dev/null +++ b/rest-api/ai-agents-apis/knowledge-base/scrape-single-page.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /ai-agents/agent-builder/knowledge-base/website/individual-page +description: "Scrapes a single webpage to extract its content for the knowledge base. Use this endpoint to add a specific page without crawling an entire website. **Extraction:** Returns the page title, descriptio" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/knowledge-base/scrape-website.mdx b/rest-api/ai-agents-apis/knowledge-base/scrape-website.mdx new file mode 100644 index 000000000..5bb496cd1 --- /dev/null +++ b/rest-api/ai-agents-apis/knowledge-base/scrape-website.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /ai-agents/agent-builder/knowledge-base/website/scrape +description: "Scrapes a website to discover and crawl its pages for the knowledge base. Use this endpoint to add website content as a knowledge source for agents. **Configuration:** Supports options for URL filter" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/knowledge-base/update-text-detail.mdx b/rest-api/ai-agents-apis/knowledge-base/update-text-detail.mdx new file mode 100644 index 000000000..41d3b5557 --- /dev/null +++ b/rest-api/ai-agents-apis/knowledge-base/update-text-detail.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agent-builder/knowledge-base/text/{uniqueId} +description: "Updates a specific text-based knowledge base entry by its unique ID. Use this endpoint to modify the title or content of an existing text entry. **Re-indexing:** The content is re-uploaded and the en" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/mcp-servers/add-mcp-servers-to-agent.mdx b/rest-api/ai-agents-apis/mcp-servers/add-mcp-servers-to-agent.mdx new file mode 100644 index 000000000..3d6337d67 --- /dev/null +++ b/rest-api/ai-agents-apis/mcp-servers/add-mcp-servers-to-agent.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agent-builder/agents/{uid}/mcp/add +description: "Adds one or more MCP servers to a specific agent. Use this endpoint to connect an agent to additional Model Context Protocol servers. **Request body:** The `mcps` array contains MCP server slugs. Ret" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/mcp-servers/create-mcp-server.mdx b/rest-api/ai-agents-apis/mcp-servers/create-mcp-server.mdx new file mode 100644 index 000000000..753ec1a82 --- /dev/null +++ b/rest-api/ai-agents-apis/mcp-servers/create-mcp-server.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /ai-agents/agent-builder/mcp-servers +description: "Creates a new MCP (Model Context Protocol) server configuration for the application. Use this endpoint to register an MCP server that agents can connect to. **Uniqueness:** The slug must be unique pe" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/mcp-servers/delete-mcp-server.mdx b/rest-api/ai-agents-apis/mcp-servers/delete-mcp-server.mdx new file mode 100644 index 000000000..0ad9aa289 --- /dev/null +++ b/rest-api/ai-agents-apis/mcp-servers/delete-mcp-server.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /ai-agents/agent-builder/mcp-servers/{slug} +description: "Deletes an MCP server by its slug." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/mcp-servers/get-mcp-server.mdx b/rest-api/ai-agents-apis/mcp-servers/get-mcp-server.mdx new file mode 100644 index 000000000..82921d347 --- /dev/null +++ b/rest-api/ai-agents-apis/mcp-servers/get-mcp-server.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/agent-builder/mcp-servers/{slug} +description: "Retrieves a single MCP server configuration by its slug." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/mcp-servers/list-mcp-servers.mdx b/rest-api/ai-agents-apis/mcp-servers/list-mcp-servers.mdx new file mode 100644 index 000000000..297cb1d0d --- /dev/null +++ b/rest-api/ai-agents-apis/mcp-servers/list-mcp-servers.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/agent-builder/mcp-servers +description: "Retrieves a paginated list of MCP servers for the application. Use this endpoint to browse and manage MCP server configurations." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/mcp-servers/remove-mcp-servers-from-agent.mdx b/rest-api/ai-agents-apis/mcp-servers/remove-mcp-servers-from-agent.mdx new file mode 100644 index 000000000..702112748 --- /dev/null +++ b/rest-api/ai-agents-apis/mcp-servers/remove-mcp-servers-from-agent.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agent-builder/agents/{uid}/mcp/remove +description: "Removes one or more MCP servers from a specific agent. Use this endpoint to disconnect MCP servers from an agent. **Request body:** The `mcps` array contains MCP server slugs to remove. Returns the u" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/mcp-servers/update-mcp-server.mdx b/rest-api/ai-agents-apis/mcp-servers/update-mcp-server.mdx new file mode 100644 index 000000000..2fb2b2e71 --- /dev/null +++ b/rest-api/ai-agents-apis/mcp-servers/update-mcp-server.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agent-builder/mcp-servers/{slug} +description: "Updates an existing MCP server by its slug. Use this endpoint to modify an MCP server's configuration or connection details." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/ai-agents/api-explorer.mdx b/rest-api/ai-agents-apis/overview.mdx similarity index 95% rename from ai-agents/api-explorer.mdx rename to rest-api/ai-agents-apis/overview.mdx index 741ba6ee5..70d1e115b 100644 --- a/ai-agents/api-explorer.mdx +++ b/rest-api/ai-agents-apis/overview.mdx @@ -1,6 +1,7 @@ --- title: "Agent Builder APIs" sidebarTitle: "Overview" +description: "Overview of Agent Builder APIs in CometChat REST API." --- The Agent Builder APIs provide endpoints for creating and managing AI agents using CometChat's native agent builder. These APIs enable you to configure agents with tools, MCP servers, custom API tools, frontend actions, and RAG-based knowledge bases — all without writing your own agent orchestration logic. diff --git a/rest-api/ai-agents-apis/properties-and-constraints.mdx b/rest-api/ai-agents-apis/properties-and-constraints.mdx new file mode 100644 index 000000000..c6cd4d4a4 --- /dev/null +++ b/rest-api/ai-agents-apis/properties-and-constraints.mdx @@ -0,0 +1,32 @@ +--- +title: "Properties and Constraints" +sidebarTitle: "Properties and Constraints" +description: "Properties and Constraints for CometChat REST API." +--- + +Properties and constraints for the Agent Builder APIs. + +## Agents + +| **Property** | **Constraints** | +| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| Agent UID | System-generated UUID v4 (alpha-dash compatible). | +| Agent name | Max 100 characters | +| Agent instructions | Max 32,000 characters | +| Maximum agents per app | Contact support for limits | + +## Tools + +| **Property** | **Constraints** | +| ----------------------- | -------------------------- | +| Tool name | Max 100 characters | +| Maximum tools per agent | Contact support for limits | + +## Knowledge Base + +| **Property** | **Constraints** | +| -------------------------------- | -------------------------- | +| Maximum file upload size | 50 MB per file | +| Supported file types | PDF, TXT, DOCX, CSV, MD | +| Maximum files per knowledge base | Contact support for limits | +| Maximum website pages per scrape | Contact support for limits | diff --git a/rest-api/ai-agents-apis/setup-and-authentication.mdx b/rest-api/ai-agents-apis/setup-and-authentication.mdx new file mode 100644 index 000000000..6c1def02e --- /dev/null +++ b/rest-api/ai-agents-apis/setup-and-authentication.mdx @@ -0,0 +1,6 @@ +--- +title: "Setup & Authentication" +icon: "key" +url: "/rest-api/authentication" +description: "Navigate to Setup & Authentication documentation." +--- diff --git a/rest-api/ai-agents-apis/tools/add-tools-to-agent.mdx b/rest-api/ai-agents-apis/tools/add-tools-to-agent.mdx new file mode 100644 index 000000000..995ae099b --- /dev/null +++ b/rest-api/ai-agents-apis/tools/add-tools-to-agent.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agent-builder/agents/{uid}/tools/add +description: "Adds one or more tools to a specific agent. Use this endpoint to extend an agent's capabilities with additional tool integrations. **Request body:** The `tools` array contains tool slugs. Returns the" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/tools/enable-tool-actions.mdx b/rest-api/ai-agents-apis/tools/enable-tool-actions.mdx new file mode 100644 index 000000000..6435cf308 --- /dev/null +++ b/rest-api/ai-agents-apis/tools/enable-tool-actions.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agent-builder/agents/{uid}/tools/{slug}/actions/add +description: "Adds actions to a specific tool attached to an agent." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/tools/get-tool-actions-for-agent.mdx b/rest-api/ai-agents-apis/tools/get-tool-actions-for-agent.mdx new file mode 100644 index 000000000..bc6dd423b --- /dev/null +++ b/rest-api/ai-agents-apis/tools/get-tool-actions-for-agent.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/agent-builder/agents/{uid}/tools/{slug}/actions +description: "Lists all actions available for a specific tool attached to an agent." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/tools/remove-tool-actions.mdx b/rest-api/ai-agents-apis/tools/remove-tool-actions.mdx new file mode 100644 index 000000000..21746d094 --- /dev/null +++ b/rest-api/ai-agents-apis/tools/remove-tool-actions.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agent-builder/agents/{uid}/tools/{slug}/actions/remove +description: "Removes actions from a specific tool attached to an agent." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/tools/remove-tools-from-agent.mdx b/rest-api/ai-agents-apis/tools/remove-tools-from-agent.mdx new file mode 100644 index 000000000..4423b15ef --- /dev/null +++ b/rest-api/ai-agents-apis/tools/remove-tools-from-agent.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agent-builder/agents/{uid}/tools/remove +description: "Removes one or more tools from a specific agent. Use this endpoint to revoke tool access from an agent. **Request body:** The `tools` array contains tool slugs to remove. Returns the updated agent ob" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/users-and-groups.mdx b/rest-api/ai-agents-apis/users-and-groups.mdx new file mode 100644 index 000000000..02b268808 --- /dev/null +++ b/rest-api/ai-agents-apis/users-and-groups.mdx @@ -0,0 +1,6 @@ +--- +title: "Users & Groups" +icon: "users" +url: "/rest-api/users" +description: "Navigate to Users & Groups documentation." +--- diff --git a/rest-api/ai-agents-apis/variables/create-custom-variable.mdx b/rest-api/ai-agents-apis/variables/create-custom-variable.mdx new file mode 100644 index 000000000..2c1f30235 --- /dev/null +++ b/rest-api/ai-agents-apis/variables/create-custom-variable.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /ai-agents/agent-builder/agents/variables/custom +description: "Creates a new custom variable for the application. Use this endpoint to define dynamic values that can be injected into agent instructions. **Source types:** Variables can source values from message" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/variables/delete-custom-variable.mdx b/rest-api/ai-agents-apis/variables/delete-custom-variable.mdx new file mode 100644 index 000000000..35ce11f64 --- /dev/null +++ b/rest-api/ai-agents-apis/variables/delete-custom-variable.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /ai-agents/agent-builder/agents/variables/custom/{variableId} +description: "Deletes a custom variable by its ID. **Impact:** Any agent instructions referencing this variable will no longer resolve its value." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/variables/get-all-available-variables.mdx b/rest-api/ai-agents-apis/variables/get-all-available-variables.mdx new file mode 100644 index 000000000..3e405f110 --- /dev/null +++ b/rest-api/ai-agents-apis/variables/get-all-available-variables.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/agent-builder/agents/variables/all +description: "Retrieves all enabled variables (predefined and custom) for the application. Use this endpoint to view variable definitions and understand where they are used. **Usage tracking:** Each variable inclu" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/ai-agents-apis/variables/update-custom-variable.mdx b/rest-api/ai-agents-apis/variables/update-custom-variable.mdx new file mode 100644 index 000000000..359a991ea --- /dev/null +++ b/rest-api/ai-agents-apis/variables/update-custom-variable.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agent-builder/agents/variables/custom/{variableId} +description: "Updates an existing custom variable by its ID. Use this endpoint to modify a variable's source, default value, or other properties. **Partial updates:** Only the provided fields are updated; omitted" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/ai-agents-apis/error-codes). diff --git a/rest-api/api-keys.mdx b/rest-api/api-keys.mdx index 85df40e37..b7ad4d466 100644 --- a/rest-api/api-keys.mdx +++ b/rest-api/api-keys.mdx @@ -1,15 +1,46 @@ --- title: "Overview" +description: "Manage API keys that authenticate REST API requests to your CometChat app." --- -The API requests must be authenticated by the CometChat server. To do this you need to generate the apiKeys and use it for making network calls. +**API Keys** are credentials used to authenticate REST API requests. Every request to the CometChat REST API must include a valid API key in the `apikey` header. CometChat supports two types of API keys with different access levels. -The following table lists the properties that the APIKey API supports. +### Available operations -| Parameters | Type | Description | -| ------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **name** | string | (mandatory)\_ Specifies the name of the apiKey. Maximum length is 50 characters. | -| **scope** | string | (optional)\_ Specifies the scope of the apiKey. Possible values: fullAccess, authOnly.

The authOnly key can be used to create & login users. Recommended to use in client-side code during development. The fullAccess key can be used to perform any CometChat operation usually in your server-side code. | -| **apiKey** | string | apiKey used for authentication. character length - 40 | -| **createdAt** | integer | UNIX Timestamp indicating the time when the apiKey was created | +| Method | Endpoint | Description | +| ------ | -------- | ----------- | +| POST | [`/apikeys`](/rest-api/api-keys/create) | Create a new API key | +| GET | [`/apikeys`](/rest-api/api-keys/list) | List all API keys | +| GET | [`/apikeys/{apiKey}`](/rest-api/api-keys/get) | Get a specific API key | +| PUT | [`/apikeys/{apiKey}`](/rest-api/api-keys/update) | Update an API key | +| DELETE | [`/apikeys/{apiKey}`](/rest-api/api-keys/delete) | Delete an API key | +### Key types + +- **Full Access** — Can perform all operations including creating/deleting users, managing groups, and sending messages. Use this for server-side integrations only. +- **Auth Only** — Can create users and generate auth tokens. Suitable for quick demos and prototyping, but not recommended for production (see warning below). + + +Never expose a Full Access API key in client-side code. Keep Full Access keys on your server only. + +The Auth Only key (`authOnly` scope) is intended **for quick demos and prototyping only** — it should not be used in production. In a production environment, auth tokens should be generated from your backend server during your application's own authentication flow, and then passed to the client. This ensures that no API key is exposed on the client side. + + + +### API key properties + +| Property | Type | Description | +| ------------- | ------- | ------------------------------------------------------------------------------ | +| **apiKey** | string | The unique API key string used in the `apikey` header for authentication. | +| **name** | string | A human-readable label for the key (e.g., "Production Server", "Mobile Auth"). | +| **scope** | string | Access level: `fullAccess` or `authOnly`. | +| **createdAt** | integer | UNIX timestamp of when the key was created. | + +### Error handling + +| Error Code | Description | +| ---------------------- | ------------------------------------------- | +| `ERR_APIKEY_NOT_FOUND` | The specified API key does not exist | +| `AUTH_ERR_NO_ACCESS` | The API key doesn't have the required scope | + +For the complete list of error codes, see [Error Guide](/articles/error-guide). diff --git a/rest-api/api-keys/create.mdx b/rest-api/api-keys/create.mdx index 9619ca155..d1e0d6658 100644 --- a/rest-api/api-keys/create.mdx +++ b/rest-api/api-keys/create.mdx @@ -1,3 +1,12 @@ --- openapi: post /apikeys ---- \ No newline at end of file +description: "Creates a new API key" +--- + +## Constraints + +| Item | Constraint | Notes | +| ---- | ---------- | ----- | +| API Key name | 100 characters (UTF8mb4) | Supports all languages and emojis (one emoji uses two characters) | +| Maximum API keys per app | 25 | Contact support if you need additional API keys | +| Required scope | fullAccess | Requires an existing API key with fullAccess scope to create new keys | \ No newline at end of file diff --git a/rest-api/api-keys/delete.mdx b/rest-api/api-keys/delete.mdx index bd00e0f8e..843660242 100644 --- a/rest-api/api-keys/delete.mdx +++ b/rest-api/api-keys/delete.mdx @@ -1,3 +1,26 @@ --- openapi: delete /apikeys/{apiKey} ---- \ No newline at end of file +description: "Deletes an API key" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | -------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_APIKEY_NOT_FOUND` | 404 | No API key exists with the specified key | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Generate a replacement API key. + + + View all remaining API keys. + + diff --git a/rest-api/api-keys/get.mdx b/rest-api/api-keys/get.mdx index 47c443341..e515f091f 100644 --- a/rest-api/api-keys/get.mdx +++ b/rest-api/api-keys/get.mdx @@ -1,3 +1,26 @@ --- openapi: get /apikeys/{apiKey} ---- \ No newline at end of file +description: "Retrieves API key" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | -------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_APIKEY_NOT_FOUND` | 404 | No API key exists with the specified key | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Modify an existing API key's name or scope. + + + Revoke an API key. + + diff --git a/rest-api/api-keys/list.mdx b/rest-api/api-keys/list.mdx index 7ce3b85ef..2227ed60f 100644 --- a/rest-api/api-keys/list.mdx +++ b/rest-api/api-keys/list.mdx @@ -1,3 +1,22 @@ --- openapi: get /apikeys ---- \ No newline at end of file +description: "Lists API keys" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Generate a new API key for your app. + + diff --git a/rest-api/api-keys/update.mdx b/rest-api/api-keys/update.mdx index cd4d90bd6..1969e6c10 100644 --- a/rest-api/api-keys/update.mdx +++ b/rest-api/api-keys/update.mdx @@ -1,3 +1,26 @@ --- openapi: put /apikeys/{apiKey} ---- \ No newline at end of file +description: "Updates an API key" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | -------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_APIKEY_NOT_FOUND` | 404 | No API key exists with the specified key | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Retrieve details of a specific API key. + + + View all API keys for your app. + + diff --git a/rest-api/auth-tokens.mdx b/rest-api/auth-tokens.mdx index 3e3b22002..9534f7579 100644 --- a/rest-api/auth-tokens.mdx +++ b/rest-api/auth-tokens.mdx @@ -1,11 +1,56 @@ --- title: "Overview" +description: "Manage authentication tokens that allow users to log in via CometChat SDKs." --- -This authentication procedure does not use the Auth Key directly in your client code and thus ensuring that your Auth Key is not leaked even if the client code is reverse engineered. +An **Auth Token** is a credential that allows a user to authenticate with CometChat SDKs on the client side. Each token is tied to a specific user and can be used across multiple devices. -The following table lists the properties that the Auth Tokens API supports. +### Available operations -| Parameters | Type | Description | -| ---------- | ------- | ------------------------------------------------- | -| force | boolean | (*optional*) Generates new auth token forcefully. | +| Method | Endpoint | Description | +| ------ | -------- | ----------- | +| POST | [`/users/{uid}/auth_tokens`](/rest-api/auth-tokens/create) | Create a new auth token for a user | +| GET | [`/users/{uid}/auth_tokens`](/rest-api/auth-tokens/list) | List all auth tokens for a user | +| GET | [`/users/{uid}/auth_tokens/{authToken}`](/rest-api/auth-tokens/get) | Get a specific auth token | +| PUT | [`/users/{uid}/auth_tokens/{authToken}`](/rest-api/auth-tokens/update) | Update an auth token | +| DELETE | [`/users/{uid}/auth_tokens/{authToken}`](/rest-api/auth-tokens/delete) | Delete a specific auth token | +| DELETE | [`/users/{uid}/auth_tokens`](/rest-api/auth-tokens/flush) | Flush all auth tokens for a user | + +### How auth tokens work + +1. Your server creates a user via the [Create User API](/rest-api/users/create) (optionally with `withAuthToken: true`). +2. If not created during user creation, your server generates an auth token via [Create Auth Token](/rest-api/auth-tokens/create). +3. Your server passes the auth token to the client application. +4. The client SDK uses the token to log in: `CometChat.login(authToken)`. + + +Auth tokens do not expire by default, enabling persistent sessions across multiple devices simultaneously. + +To prevent token accumulation and potential abuse, CometChat enforces a **rolling retention policy**: only the most recent **100 auth tokens** per user are kept active. When a new token is issued and the limit is exceeded, the oldest tokens are automatically archived and invalidated. This ensures system integrity without requiring manual token management. + +If your application requires explicit session control, use the [Flush Auth Tokens](/rest-api/auth-tokens/flush) endpoint to revoke all active tokens for a user, or [Delete](/rest-api/auth-tokens/delete) to revoke a specific token. + + + +### Relationships + +- **Users** — Every auth token belongs to a specific [User](/rest-api/users). The user must exist before a token can be created. +- **Sessions** — Each auth token represents an active session. Flushing all tokens logs the user out of every device. + +### Auth token properties + +| Property | Type | Description | +| ------------- | ------- | ------------------------------------------------ | +| **authToken** | string | The token string used to authenticate SDK login. | +| **uid** | string | The UID of the user this token belongs to. | +| **createdAt** | integer | UNIX timestamp of when the token was created. | + +### Error handling + +| Error Code | Description | +| -------------------------- | --------------------------------------- | +| `ERR_AUTH_TOKEN_NOT_FOUND` | The specified auth token does not exist | + +For the complete list of error codes, see [Error Guide](/articles/error-guide). + +For all system limits (token retention policy, etc.), see [Properties and Constraints](/articles/properties-and-constraints). diff --git a/rest-api/auth-tokens/create.mdx b/rest-api/auth-tokens/create.mdx index 12ec7c8cd..b0f1c321d 100644 --- a/rest-api/auth-tokens/create.mdx +++ b/rest-api/auth-tokens/create.mdx @@ -1,3 +1,26 @@ --- openapi: post /users/{uid}/auth_tokens ---- \ No newline at end of file +description: "Creates auth token for a user with the specified UID." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ----------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID, or the user has been deactivated | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Create the user before generating a token. + + + View all active tokens for a user. + + diff --git a/rest-api/auth-tokens/delete.mdx b/rest-api/auth-tokens/delete.mdx index 1853fe49c..579ba34f2 100644 --- a/rest-api/auth-tokens/delete.mdx +++ b/rest-api/auth-tokens/delete.mdx @@ -1,3 +1,27 @@ --- openapi: delete /users/{uid}/auth_tokens/{authToken} ---- \ No newline at end of file +description: "Deletes an auth token for the specified UID." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID | +| `ERR_AUTH_TOKEN_NOT_FOUND` | 404 | The specified auth token does not exist | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Revoke all tokens at once to log out everywhere. + + + Generate a replacement token. + + diff --git a/rest-api/auth-tokens/flush.mdx b/rest-api/auth-tokens/flush.mdx index cf26c88d4..c10aee366 100644 --- a/rest-api/auth-tokens/flush.mdx +++ b/rest-api/auth-tokens/flush.mdx @@ -1,3 +1,26 @@ --- openapi: delete /users/{uid}/auth_tokens ---- \ No newline at end of file +description: "Deletes all the auth tokens for the specified UID." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ----------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID, or the user has been deactivated | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Disable the user account entirely. + + + Generate a new token after flushing. + + diff --git a/rest-api/auth-tokens/get.mdx b/rest-api/auth-tokens/get.mdx index c9ff2f5de..f6b3ce9b1 100644 --- a/rest-api/auth-tokens/get.mdx +++ b/rest-api/auth-tokens/get.mdx @@ -1,3 +1,27 @@ --- openapi: get /users/{uid}/auth_tokens/{authToken} ---- \ No newline at end of file +description: "Retrieves details of an auth token for the specified UID andauth token." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID | +| `ERR_AUTH_TOKEN_NOT_FOUND` | 404 | The specified auth token does not exist | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Update metadata on a specific token. + + + Revoke a specific token. + + diff --git a/rest-api/auth-tokens/list.mdx b/rest-api/auth-tokens/list.mdx index 296d21a9b..6399e508f 100644 --- a/rest-api/auth-tokens/list.mdx +++ b/rest-api/auth-tokens/list.mdx @@ -1,3 +1,26 @@ --- openapi: get /users/{uid}/auth_tokens ---- \ No newline at end of file +description: "Lists auth tokens for a user with the specified UID." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ----------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID, or the user has been deactivated | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Generate a new auth token for a user. + + + Log a user out of all devices. + + diff --git a/rest-api/auth-tokens/update.mdx b/rest-api/auth-tokens/update.mdx index b5df69eef..906999196 100644 --- a/rest-api/auth-tokens/update.mdx +++ b/rest-api/auth-tokens/update.mdx @@ -1,3 +1,27 @@ --- openapi: put /users/{uid}/auth_tokens/{authToken} ---- \ No newline at end of file +description: "Updates the details of an auth token for the specified UID andauth token." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID | +| `ERR_AUTH_TOKEN_NOT_FOUND` | 404 | The specified auth token does not exist | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Retrieve details of a specific token. + + + View all tokens for the user. + + diff --git a/rest-api/authentication.mdx b/rest-api/authentication.mdx new file mode 100644 index 000000000..fbdbcd172 --- /dev/null +++ b/rest-api/authentication.mdx @@ -0,0 +1,88 @@ +--- +title: "Authentication" +sidebarTitle: "Authentication" +description: "How to authenticate REST API requests to CometChat." +--- + +All CometChat REST API requests must be authenticated using an API key passed in the `apikey` HTTP header. + + +**Management APIs** use a different authentication mechanism — HTTP Basic Auth with your management key and secret, not the `apikey` header. See the [Management APIs overview](/rest-api/management-apis) for details. + +```bash +curl -X GET "https://api-us.cometchat.io/v3/apps" \ + -u "YOUR_MANAGEMENT_KEY:YOUR_MANAGEMENT_SECRET" +``` + + + + + **Calls APIs** use a different base URL: `https://{appId}.call-{region} + .cometchat.io/v3` (note `call-` instead of `api-`). Authentication still uses + the `apikey` header. + + +## API Key Scopes + +CometChat supports two API key scopes: + +| Scope | Dashboard Name | Permissions | +| ------------ | -------------- | ------------------------------------------------------------------------------------------------------------------ | +| `fullAccess` | REST API Key | All REST API operations: create/update/delete users, groups, messages, manage settings, etc. Use server-side only. | +| `authOnly` | Auth Key | Can only create users and generate auth tokens. Intended for quick demos and prototyping. | + + +Never expose a `fullAccess` (REST API Key) in client-side code. Keep it on your server only. + +The `authOnly` (Auth Key) is for demos only. In production, generate auth tokens from your backend during your app's own authentication flow. + + + +## Making Authenticated Requests + +Include the API key in the `apikey` header (all lowercase): + +```bash +curl -X GET "https://.api-.cometchat.io/v3/users" \ + -H "apikey: YOUR_REST_API_KEY" +``` + + + The HTTP header name is `apikey` (lowercase). In JSON response bodies, the + property is `apiKey` (camelCase). HTTP headers are case-insensitive by spec; + JSON properties are case-sensitive. + + +## Auth Tokens + +Auth tokens authenticate end-users (not server-side calls). The flow: + +1. Your backend creates a user via REST API (using `fullAccess` key) +2. Your backend creates an auth token for that user via `POST /users/{uid}/auth_tokens` +3. Your client app uses the auth token to log in via the CometChat SDK + +Auth tokens are tied to a specific user and can be scoped to a platform and device. + +See [Auth Tokens API](/rest-api/auth-tokens) for full details. + +## Acting on Behalf of Users + +Some endpoints support the `onBehalfOf` header, which lets a server-side call act as a specific user: + +```bash +curl -X POST "https://.api-.cometchat.io/v3/messages" \ + -H "apikey: YOUR_REST_API_KEY" \ + -H "onBehalfOf: cometchat-uid-1" \ + -H "Content-Type: application/json" \ + -d '{"receiver": "cometchat-uid-2", "receiverType": "user", "type": "text", "data": {"text": "Hello"}}' +``` + +Whether `onBehalfOf` is required, optional, or not supported varies per endpoint — check each endpoint's documentation. + +## Security Best Practices + +- Store API keys in environment variables or a secrets manager, never in source code +- Use `fullAccess` keys only on your backend server +- Rotate API keys periodically via the [API Keys API](/rest-api/api-keys) +- Generate auth tokens server-side and pass them to clients +- Use HTTPS for all API calls (enforced by CometChat) diff --git a/rest-api/banned-users.mdx b/rest-api/banned-users.mdx index 0d0fc4971..b76101810 100644 --- a/rest-api/banned-users.mdx +++ b/rest-api/banned-users.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Ban and unban users from groups." --- Certain actions can be performed on the group members: @@ -15,3 +16,30 @@ Banning a user API doesn't accept body parameters.\ It simply bans the UID mentioned in the path parameter of the request. The banned user will be no longer part of the group and can not perform any actions in the group. A banned user cannot rejoin the same group without being unbanned. + +### Available operations + +| Method | Endpoint | Description | +| ------ | ------------------------------------- | ---------------------------------- | +| POST | `/groups/{guid}/banned_members` | Ban a user from a group | +| GET | `/groups/{guid}/banned_members` | List all banned members of a group | +| DELETE | `/groups/{guid}/banned_members/{uid}` | Unban a user from a group | + +### Banned user properties + +| Property | Type | Description | +| --- | --- | --- | +| **uid** | string | UID of the banned user | +| **scope** | string | Former scope of the user in the group before being banned | +| **bannedAt** | integer | UNIX timestamp of when the user was banned | + +### Error handling + +| Error Code | Description | +| --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | API key is missing from the request headers | +| `AUTH_ERR_APIKEY_NOT_FOUND` | The provided API key is invalid | +| `ERR_GUID_NOT_FOUND` | The specified group GUID does not exist | +| `ERR_UID_NOT_FOUND` | The specified user UID does not exist | + +For the complete list of error codes, see [Error Guide](/articles/error-guide). diff --git a/rest-api/banned-users/ban.mdx b/rest-api/banned-users/ban.mdx index b22e0639e..bef30375b 100644 --- a/rest-api/banned-users/ban.mdx +++ b/rest-api/banned-users/ban.mdx @@ -1,3 +1,27 @@ --- openapi: post /groups/{guid}/bannedusers/{uid} ---- \ No newline at end of file +description: "Bans a member from a group for a given GUID and UID." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | -------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | 404 | No group exists with the specified GUID | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all banned users in a group. + + + Restore a banned user's access. + + diff --git a/rest-api/banned-users/list.mdx b/rest-api/banned-users/list.mdx index 93a90ff5f..97f89e325 100644 --- a/rest-api/banned-users/list.mdx +++ b/rest-api/banned-users/list.mdx @@ -1,3 +1,26 @@ --- openapi: get /groups/{guid}/bannedusers ---- \ No newline at end of file +description: "Lists banned users from a group for a given GUID." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | 404 | No group exists with the specified GUID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Ban a user from the group. + + + Restore a user's access to the group. + + diff --git a/rest-api/banned-users/unban.mdx b/rest-api/banned-users/unban.mdx index ea77b00fd..ee80a18ef 100644 --- a/rest-api/banned-users/unban.mdx +++ b/rest-api/banned-users/unban.mdx @@ -1,3 +1,27 @@ --- openapi: delete /groups/{guid}/bannedusers/{uid} ---- \ No newline at end of file +description: "Unban a member with given UID from a group for a given GUID." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | -------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | 404 | No group exists with the specified GUID | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Re-ban a user if needed. + + + Add the unbanned user back to the group. + + diff --git a/rest-api/blocked-users.mdx b/rest-api/blocked-users.mdx index f07d05402..f31fc8b25 100644 --- a/rest-api/blocked-users.mdx +++ b/rest-api/blocked-users.mdx @@ -1,13 +1,34 @@ --- title: "Overview" +description: "Block and unblock users to control messaging access." --- A user can block another user if the user doesn't wish to receive any messages or notifications from the blocked user.\ Once any user is blocked, all the communication to and from the respective user will be completely blocked.\ Once the user is unblocked, the newly sent messages will start to receive. However the messages that was sent during the blocked period won't be visible. +### Available operations + +| Method | Endpoint | Description | +| ------ | --------------------------- | ------------------------- | +| POST | `/users/{uid}/blockedusers` | Block one or more users | +| GET | `/users/{uid}/blockedusers` | List all blocked users | +| DELETE | `/users/{uid}/blockedusers` | Unblock one or more users | + +### Blocked user properties + The following table lists the properties that the Blocked User API supports. | Parameters | Type | Description | | ----------- | ---------------- | ----------------------------------------------------------------- | -| blockedUids | array of strings | (*optional*) Indicates the list of uids that needs to be blocked. | +| blockedUids | array of strings | (_optional_) Indicates the list of uids that needs to be blocked. | + +### Error handling + +| Error Code | Description | +| --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | API key is missing from the request headers | +| `AUTH_ERR_APIKEY_NOT_FOUND` | The provided API key is invalid | +| `ERR_UID_NOT_FOUND` | The specified user UID does not exist | + +For the complete list of error codes, see [Error Guide](/articles/error-guide). diff --git a/rest-api/blocked-users/block-user.mdx b/rest-api/blocked-users/block-user.mdx index 1ba97a30b..2b53b1202 100644 --- a/rest-api/blocked-users/block-user.mdx +++ b/rest-api/blocked-users/block-user.mdx @@ -1,3 +1,29 @@ --- openapi: post /users/{uid}/blockedusers ---- \ No newline at end of file +description: "Blocks the specified user" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ----------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID, or the user has been deactivated | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all users blocked by this user. + + + Remove a user from the block list. + + diff --git a/rest-api/blocked-users/list-blocked-users.mdx b/rest-api/blocked-users/list-blocked-users.mdx index 12c62d41f..7479c212b 100644 --- a/rest-api/blocked-users/list-blocked-users.mdx +++ b/rest-api/blocked-users/list-blocked-users.mdx @@ -1,3 +1,26 @@ --- openapi: get /users/{uid}/blockedusers ---- \ No newline at end of file +description: "Retrieves the blocked users" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ----------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID, or the user has been deactivated | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Add a user to the block list. + + + Remove a user from the block list. + + diff --git a/rest-api/blocked-users/unblock-user.mdx b/rest-api/blocked-users/unblock-user.mdx index 101c474bb..130398693 100644 --- a/rest-api/blocked-users/unblock-user.mdx +++ b/rest-api/blocked-users/unblock-user.mdx @@ -1,3 +1,29 @@ --- openapi: delete /users/{uid}/blockedusers ---- \ No newline at end of file +description: "Unblocks the specified user" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ----------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID, or the user has been deactivated | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Block a user again if needed. + + + View the current block list. + + diff --git a/rest-api/byo-ai-agents-apis/agents/create-byo-agent.mdx b/rest-api/byo-ai-agents-apis/agents/create-byo-agent.mdx new file mode 100644 index 000000000..e982fbbd5 --- /dev/null +++ b/rest-api/byo-ai-agents-apis/agents/create-byo-agent.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /ai-agents/agents +description: "Creates a new BYO Agent that delegates conversations to an external AI Agent. Use this endpoint to register a BYO (Bring Your Own) agent powered by frameworks like Mastra, CrewAI, or LangGraph. **Val" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/byo-ai-agents-apis/error-codes). diff --git a/rest-api/byo-ai-agents-apis/agents/delete-byo-agent.mdx b/rest-api/byo-ai-agents-apis/agents/delete-byo-agent.mdx new file mode 100644 index 000000000..01eb4835e --- /dev/null +++ b/rest-api/byo-ai-agents-apis/agents/delete-byo-agent.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /ai-agents/agents/{uid} +description: "Deletes a BYO Agent by its UID." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/byo-ai-agents-apis/error-codes). diff --git a/rest-api/byo-ai-agents-apis/agents/list-byo-agents.mdx b/rest-api/byo-ai-agents-apis/agents/list-byo-agents.mdx new file mode 100644 index 000000000..30b6d694a --- /dev/null +++ b/rest-api/byo-ai-agents-apis/agents/list-byo-agents.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/agents +description: "Retrieves all BYO Agents configured for your CometChat app. Use this endpoint to view all registered BYO (Bring Your Own) agents and their current configuration." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/byo-ai-agents-apis/error-codes). diff --git a/rest-api/byo-ai-agents-apis/agents/update-byo-agent.mdx b/rest-api/byo-ai-agents-apis/agents/update-byo-agent.mdx new file mode 100644 index 000000000..c17d140d5 --- /dev/null +++ b/rest-api/byo-ai-agents-apis/agents/update-byo-agent.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /ai-agents/agents/{uid} +description: "Updates an existing BYO Agent by its UID. Use this endpoint to modify agent configuration, update referenced tools, or change the connected AI framework. **Validation:** Referenced tools and actions" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/byo-ai-agents-apis/error-codes). diff --git a/rest-api/byo-ai-agents-apis/error-codes.mdx b/rest-api/byo-ai-agents-apis/error-codes.mdx new file mode 100644 index 000000000..732d6e2d2 --- /dev/null +++ b/rest-api/byo-ai-agents-apis/error-codes.mdx @@ -0,0 +1,28 @@ +--- +title: "Error Codes" +sidebarTitle: "Error Codes" +description: "Error Codes for CometChat REST API." +--- + +Error codes specific to the BYO Agent APIs. + +## Agent Errors + +| Error Code | Description | +| --------------------------- | ------------------------------------------ | +| `ERR_AGENT_NOT_FOUND` | No BYO agent exists with the specified ID. | +| `ERR_AGENT_CREATION_FAILED` | Failed to create the BYO agent. | + +## Tool Errors + +| Error Code | Description | +| -------------------- | ------------------------------------- | +| `ERR_TOOL_NOT_FOUND` | No tool exists with the specified ID. | + +## Authentication Errors + +| Error Code | Description | +| --------------------------- | ------------------------------------------------ | +| `AUTH_ERR_EMPTY_APIKEY` | The `apikey` header is missing from the request. | +| `AUTH_ERR_APIKEY_NOT_FOUND` | The provided API key is invalid. | +| `AUTH_ERR_NO_ACCESS` | The API key doesn't have the required scope. | diff --git a/ai-agents/byo-api-explorer.mdx b/rest-api/byo-ai-agents-apis/overview.mdx similarity index 94% rename from ai-agents/byo-api-explorer.mdx rename to rest-api/byo-ai-agents-apis/overview.mdx index 257205124..5d5debb26 100644 --- a/ai-agents/byo-api-explorer.mdx +++ b/rest-api/byo-ai-agents-apis/overview.mdx @@ -1,6 +1,7 @@ --- title: "BYO Agent APIs" sidebarTitle: "Overview" +description: "Overview of BYO Agent APIs in CometChat REST API." --- The BYO (Bring Your Own) Agent APIs provide endpoints for creating and managing AI agents that integrate with third-party frameworks such as Vercel AI SDK, LangGraph, CrewAI, Mastra, AG2, Agno, and AG-UI. These APIs allow you to register external agents, manage custom tools and actions, and configure available integrations. diff --git a/rest-api/byo-ai-agents-apis/properties-and-constraints.mdx b/rest-api/byo-ai-agents-apis/properties-and-constraints.mdx new file mode 100644 index 000000000..a0c2c2ea6 --- /dev/null +++ b/rest-api/byo-ai-agents-apis/properties-and-constraints.mdx @@ -0,0 +1,23 @@ +--- +title: "Properties and Constraints" +sidebarTitle: "Properties and Constraints" +description: "Properties and Constraints for CometChat REST API." +--- + +Properties and constraints for the BYO Agent APIs. + +## BYO Agents + +| **Property** | **Constraints** | +| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| Agent UID | System-generated UUID v4 (alpha-dash compatible). | +| Agent name | Max 100 characters | +| Agent URL | Must be a valid HTTPS URL | +| Maximum BYO agents per app | Contact support for limits | + +## Tools + +| **Property** | **Constraints** | +| --------------------------- | -------------------------- | +| Tool name | Max 100 characters | +| Maximum tools per BYO agent | Contact support for limits | diff --git a/rest-api/byo-ai-agents-apis/setup-and-authentication.mdx b/rest-api/byo-ai-agents-apis/setup-and-authentication.mdx new file mode 100644 index 000000000..6c1def02e --- /dev/null +++ b/rest-api/byo-ai-agents-apis/setup-and-authentication.mdx @@ -0,0 +1,6 @@ +--- +title: "Setup & Authentication" +icon: "key" +url: "/rest-api/authentication" +description: "Navigate to Setup & Authentication documentation." +--- diff --git a/rest-api/byo-ai-agents-apis/tools/create-tool.mdx b/rest-api/byo-ai-agents-apis/tools/create-tool.mdx new file mode 100644 index 000000000..ca50ebea4 --- /dev/null +++ b/rest-api/byo-ai-agents-apis/tools/create-tool.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /ai-agents/tools +description: "Defines custom tools that agents can invoke during conversations. **Naming:** The tool name must be unique per application. **Type:** When `doNotExecute` is `true`, the type is set to `tool`. Otherw" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/byo-ai-agents-apis/error-codes). diff --git a/rest-api/byo-ai-agents-apis/tools/delete-tool.mdx b/rest-api/byo-ai-agents-apis/tools/delete-tool.mdx new file mode 100644 index 000000000..4afc07018 --- /dev/null +++ b/rest-api/byo-ai-agents-apis/tools/delete-tool.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /ai-agents/tools/{name} +description: "Deletes a tool by its unique name." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/byo-ai-agents-apis/error-codes). diff --git a/rest-api/byo-ai-agents-apis/tools/get-tool.mdx b/rest-api/byo-ai-agents-apis/tools/get-tool.mdx new file mode 100644 index 000000000..ed84564c4 --- /dev/null +++ b/rest-api/byo-ai-agents-apis/tools/get-tool.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/tools/{name} +description: "Retrieves a specific tool by its unique name. Use this endpoint to inspect a tool's configuration, parameters, and description." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/byo-ai-agents-apis/error-codes). diff --git a/rest-api/byo-ai-agents-apis/tools/list-tools.mdx b/rest-api/byo-ai-agents-apis/tools/list-tools.mdx new file mode 100644 index 000000000..99d72306d --- /dev/null +++ b/rest-api/byo-ai-agents-apis/tools/list-tools.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /ai-agents/tools +description: "Retrieves all tools configured for your CometChat app. Use this endpoint to view available tools and actions, or filter by type. **Filtering:** Use the `type` query parameter to filter by `action` or" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/byo-ai-agents-apis/error-codes). diff --git a/rest-api/byo-ai-agents-apis/tools/update-tool.mdx b/rest-api/byo-ai-agents-apis/tools/update-tool.mdx new file mode 100644 index 000000000..eb6a0d969 --- /dev/null +++ b/rest-api/byo-ai-agents-apis/tools/update-tool.mdx @@ -0,0 +1,14 @@ +--- +openapi: put /ai-agents/tools/{name} +description: "Updates an existing tool by its unique name. Use this endpoint to modify a tool's description, parameters, or behavior. **Restrictions:** The tool name cannot be changed after creation. The provided" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/byo-ai-agents-apis/error-codes). diff --git a/rest-api/byo-ai-agents-apis/users-and-groups.mdx b/rest-api/byo-ai-agents-apis/users-and-groups.mdx new file mode 100644 index 000000000..02b268808 --- /dev/null +++ b/rest-api/byo-ai-agents-apis/users-and-groups.mdx @@ -0,0 +1,6 @@ +--- +title: "Users & Groups" +icon: "users" +url: "/rest-api/users" +description: "Navigate to Users & Groups documentation." +--- diff --git a/rest-api/calls-apis/error-codes.mdx b/rest-api/calls-apis/error-codes.mdx new file mode 100644 index 000000000..53c1f668e --- /dev/null +++ b/rest-api/calls-apis/error-codes.mdx @@ -0,0 +1,36 @@ +--- +title: "Error Codes" +sidebarTitle: "Error Codes" +description: "Error Codes for CometChat REST API." +--- + +Error codes specific to the Calls APIs. + +## Calling Errors + +| Error Code | Description | +| ------------------------------- | -------------------------------------------------------------------------------------- | +| `ERR_CALLING_SELF` | User is initiating a call with themselves. | +| `ERR_CALL_BUSY_SELF` | The initiator is already on another ongoing call. | +| `ERR_CALL_BUSY_GROUP` | The group already has an ongoing call. | +| `ERR_CALL_BUSY_USER` | The recipient is already busy on another call. | +| `ERR_EMPTY_CALL_SESSION_ID` | The session ID is empty. | +| `ERR_CALL_SESSION_NOT_FOUND` | The call does not exist. | +| `ERR_CALL_TERMINATED` | The call has ended. Cannot update the status of a terminated call. | +| `ERR_CALL_GROUP_ALREADY_JOINED` | The user is already a member of the group call. | +| `ERR_CALL_GROUP_ALREADY_LEFT` | The user has already left the group call. | +| `ERR_CALL_INVALID_INIT` | Call status cannot be updated to `initiated`. | +| `ERR_CALL_USER_ALREADY_JOINED` | The one-to-one call was already joined by the recipient. | +| `ERR_CALL_GROUP_INVALID_STATUS` | Invalid call status for a group call (e.g., group calls cannot have a busy status). | +| `ERR_CALL_ONGOING_TO_INVALID` | Invalid status transition for an ongoing call (e.g., ongoing call cannot become busy). | +| `ERR_CALL_NOT_A_PART` | The user is not part of the call. | +| `ERR_CALL_EMPTY_JOINED_AT` | The `joinedAt` body parameter is required to join a group call. | +| `ERR_CALL_NOT_STARTED` | Call status cannot change from initiated to ended directly. | + +## Authentication Errors + +| Error Code | Description | +| --------------------------- | ------------------------------------------------ | +| `AUTH_ERR_EMPTY_APIKEY` | The `apikey` header is missing from the request. | +| `AUTH_ERR_APIKEY_NOT_FOUND` | The provided API key is invalid. | +| `AUTH_ERR_NO_ACCESS` | The API key doesn't have the required scope. | diff --git a/calls/api/get-call.mdx b/rest-api/calls-apis/get-call.mdx similarity index 90% rename from calls/api/get-call.mdx rename to rest-api/calls-apis/get-call.mdx index b6a9f198c..e1511553b 100644 --- a/calls/api/get-call.mdx +++ b/rest-api/calls-apis/get-call.mdx @@ -2,6 +2,7 @@ title: "Get Call" sidebarTitle: "Get Call" openapi: get /calls/{sessionId} +description: "Fetches all the details of the call whose sessionId is passed in the URL." --- Retrieve detailed information about a specific call using its session ID. This endpoint returns complete call data including all participants, their individual metrics, and recording information. @@ -31,7 +32,7 @@ The response includes: - **Recordings array**: Recording IDs, URLs, duration, and timestamps (if `hasRecording` is true) -The `sessionId` is returned when a call is initiated via the SDK or can be found in the [List Calls](/calls/api/list-calls) response. +The `sessionId` is returned when a call is initiated via the SDK or can be found in the [List Calls](/rest-api/calls-apis/list-calls) response. ## Participant States diff --git a/calls/api/list-calls.mdx b/rest-api/calls-apis/list-calls.mdx similarity index 88% rename from calls/api/list-calls.mdx rename to rest-api/calls-apis/list-calls.mdx index 0ba3dc352..cd6dffeae 100644 --- a/calls/api/list-calls.mdx +++ b/rest-api/calls-apis/list-calls.mdx @@ -2,6 +2,7 @@ title: "List Calls" sidebarTitle: "List Calls" openapi: get /calls +description: "lists all the calls that are available in the app. It can include participants, and recordings property in the response (if present)." --- Retrieve a paginated list of all calls in your application. Use query parameters to filter by call type, status, date range, and more. diff --git a/rest-api/calls-apis/overview.mdx b/rest-api/calls-apis/overview.mdx new file mode 100644 index 000000000..0062f4495 --- /dev/null +++ b/rest-api/calls-apis/overview.mdx @@ -0,0 +1,122 @@ +--- +title: "Calls APIs Overview" +sidebarTitle: "Overview" +description: "Retrieve call logs and session details for audio and video calls in your CometChat app." +--- + +The Calls API provides programmatic access to call logs and analytics. Use these APIs to retrieve call history, participant details, duration metrics, and recording information for your application. + +## Base URL + +The Calls API uses a different base URL than the Chat APIs: + +```text +https://{appId}.call-{region}.cometchat.io/v3 +``` + +| Variable | Description | +| -------- | -------------------------------------- | +| `appId` | Your CometChat App ID | +| `region` | Your app's region: `us`, `eu`, or `in` | + +## Authentication + +All API requests require authentication using your REST API Key in the `apikey` header. The `onBehalfOf` header is supported on both List Calls and Get Call endpoints to retrieve calls scoped to a specific user. See the [Authentication Guide](/rest-api/authentication) for details on API key scopes and security best practices. + +```bash +curl -X GET "https://{appId}.call-{region}.cometchat.io/v3/calls" \ + -H "apikey: YOUR_REST_API_KEY" +``` + +## Key Behaviors + +- A call can have up to **50 participants**. +- Video calls support resolutions from **180p to 720p**, depending on layout and bandwidth. +- Media is encrypted using **SRTP**. Audio uses the **OPUS** codec; video uses **H.264**. +- If a participant joins from multiple devices, each device is counted separately in `totalParticipants`. + +## How Calls Connect to Other Resources + +- **Users** — Calls are initiated by and delivered to [Users](/rest-api/users). Each participant is identified by their UID. +- **Groups** — Calls can target a [Group](/rest-api/groups) when `receiverType` is `group`. + +## Available Endpoints + +| Operation | Method | Endpoint | Description | +| --------------------------------------------- | ------ | -------------------- | ----------------------------------- | +| [List Calls](/rest-api/calls-apis/list-calls) | `GET` | `/calls` | Retrieve a paginated list of calls | +| [Get Call](/rest-api/calls-apis/get-call) | `GET` | `/calls/{sessionId}` | Retrieve details of a specific call | + +## Call Properties + +| Property | Type | Description | +| ------------------------ | ------- | ---------------------------------------------------------------------------------------- | +| `sessionId` | string | Unique call identifier | +| `type` | string | Call type: `audio` or `video` | +| `mode` | string | Call mode: `call`, `meet`, or `presenter` | +| `receiverType` | string | Receiver type: `user` or `group` | +| `status` | string | Current status: `initiated`, `ongoing`, `ended`, `unanswered`, `rejected`, or `canceled` | +| `totalAudioMinutes` | float | Total audio minutes across all participants | +| `totalVideoMinutes` | float | Total video minutes across all participants | +| `totalDurationInMinutes` | float | Total call duration (audio + video minutes) | +| `totalDuration` | string | Duration in timer format (e.g., `00:05:30`) | +| `totalParticipants` | integer | Number of participant entries (multi-device joins counted separately) | +| `hasRecording` | boolean | Whether the call has a recording | +| `startedAt` | integer | UNIX timestamp when the call was initiated | +| `endedAt` | integer | UNIX timestamp when the call ended | +| `participants` | array | Details of individual participants | + +## Participant Properties + +| Property | Type | Description | +| ------------------------ | ------- | ------------------------------------------------------------------ | +| `uid` | string | User's unique identifier | +| `totalAudioMinutes` | float | Audio minutes for this participant | +| `totalVideoMinutes` | float | Video minutes for this participant | +| `totalDurationInMinutes` | float | Total duration for this participant | +| `deviceId` | string | Unique identifier of the device used to join | +| `isJoined` | boolean | Whether the user joined the call | +| `joinedAt` | integer | UNIX timestamp when the user joined | +| `leftAt` | integer | UNIX timestamp when the user left | +| `state` | string | Participant state: `ongoing`, `ended`, `unanswered`, or `rejected` | + +## Recording Properties + +| Property | Type | Description | +| --------------- | ------- | ------------------------------------- | +| `rid` | string | Unique recording identifier | +| `duration` | float | Recording duration in minutes | +| `startTime` | integer | UNIX timestamp when recording started | +| `endTime` | integer | UNIX timestamp when recording ended | +| `recording_url` | string | URL to the recording file | + +## Pagination + +List endpoints return paginated results: + +```json +{ + "data": [...], + "meta": { + "pagination": { + "total": 150, + "count": 25, + "per_page": 25, + "current_page": 1, + "total_pages": 6 + } + } +} +``` + +## Error Handling + +| Error Code | Description | +| ---------------------------- | ------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | API key is missing from the request headers | +| `AUTH_ERR_APIKEY_NOT_FOUND` | The provided API key is invalid | +| `ERR_CALL_SESSION_NOT_FOUND` | The specified session ID does not exist | + +For the complete list of error codes, see [Error Codes](/rest-api/calls-apis/error-codes). + +For system limits (participant caps, codec details, resolution ranges), see [Properties and Constraints](/rest-api/calls-apis/properties-and-constraints). diff --git a/rest-api/calls-apis/properties-and-constraints.mdx b/rest-api/calls-apis/properties-and-constraints.mdx new file mode 100644 index 000000000..f1aa43ef4 --- /dev/null +++ b/rest-api/calls-apis/properties-and-constraints.mdx @@ -0,0 +1,18 @@ +--- +title: "Properties and Constraints" +sidebarTitle: "Properties and Constraints" +description: "Properties and Constraints for CometChat REST API." +--- + +Properties and constraints for the Calls APIs. + +## Calling + +| **Property** | **Constraints** | +| ------------------------ | -------------------------------------------------------- | +| Maximum users per call | 50 | +| Default video frame rate | 30 FPS | +| Video resolution | Min 180p, max 720p (varies by layout and user bandwidth) | +| Media encryption | SRTP | +| Audio codec | OPUS | +| Video codec | H.264 | diff --git a/rest-api/calls-apis/setup-and-authentication.mdx b/rest-api/calls-apis/setup-and-authentication.mdx new file mode 100644 index 000000000..6c1def02e --- /dev/null +++ b/rest-api/calls-apis/setup-and-authentication.mdx @@ -0,0 +1,6 @@ +--- +title: "Setup & Authentication" +icon: "key" +url: "/rest-api/authentication" +description: "Navigate to Setup & Authentication documentation." +--- diff --git a/rest-api/calls-apis/users-and-groups.mdx b/rest-api/calls-apis/users-and-groups.mdx new file mode 100644 index 000000000..02b268808 --- /dev/null +++ b/rest-api/calls-apis/users-and-groups.mdx @@ -0,0 +1,6 @@ +--- +title: "Users & Groups" +icon: "users" +url: "/rest-api/users" +description: "Navigate to Users & Groups documentation." +--- diff --git a/rest-api/calls-link.mdx b/rest-api/calls-link.mdx new file mode 100644 index 000000000..f9466d4d4 --- /dev/null +++ b/rest-api/calls-link.mdx @@ -0,0 +1,6 @@ +--- +title: "Calls APIs" +icon: "phone-volume" +url: "/rest-api/calls-apis/overview" +description: "Navigate to Calls APIs documentation." +--- diff --git a/rest-api/calls.mdx b/rest-api/calls.mdx deleted file mode 100644 index 7d6e025fa..000000000 --- a/rest-api/calls.mdx +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: "Overview" ---- - -The Calls API provides programmatic access to the logs. Below, we have mentioned the key properties. - -| Parameters | Type | Description | -| -------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------- | -| **sessionId** | string | Specifies the call's unique ID. | -| **receiverType** | string | Specifies the receiver type of the call. Possible values: users/groups. | -| **totalAudioMinutes** | float | Indicates the total audio minutes of the call. | -| **totalVideoMinutes** | float | Indicates the total video minutes of the call. | -| **totalDurationInMinutes** | float | Indicates the total call minutes. Basically addition of audio & video minutes. | -| **totalDuration** | string | Representation of total call minutes in timer format. | -| **hasRecording** | boolean | Indicates if the call has recording in it. | -| **mode** | string | It represents the mode of the call. Possible values: call/meet/presenter | -| **startedAt** | integer | 10-digit unix timestamp indicating when the call was initiated. | -| **status** | string | It represents the current status of the call. Possible values: initiated, ongoing, ended, unanswered, rejected, canceled. | -| **type** | string | Indicating the type of the call. Possible values: audio/video | -| **totalParticipants** | integer | Indicating the participants count of the call. If a user joins from multiple devices, it would be accounted separately. | -| **endedAt** | integer | 10-digit unix timestamp indicating when the call was ended. | -| **participants** | array of objects | It includes details of individual participants who were a part of the call. | -| | | | - -Participants: - -| Parameters | Type | description | -| -------------------------- | ------- | -------------------------------------------------------------------------------- | -| **uid** | string | Indicates unique identifier of an user. | -| **totalAudioMinutes** | float | Indicates the total audio minutes that the user was a part of the call. | -| **totalVideoMinutes** | float | Indicates the total video minutes that the user was a part of the call. | -| **totalDurationInMinutes** | float | Indicates the total call minutes that the user was a part of. | -| **deviceId** | string | Unique identifier of the device from where the user joined the call. | -| **isJoined** | boolean | Indicates if the user joined the call. | -| **joinedAt** | integer | 10-digit Unix timestamp indicating the joining time of the user. | -| **state** | string | Current state of the user. Possible values: ongoing, ended, unanswered, rejected | -| **leftAt** | integer | 10-digit Unix timestamp indicating the leaving time of the user from the call. | - -Recordings: - -| Parameters | Type | description | -| ------------------ | ------- | ------------------------------------------------------------------ | -| **rid** | string | Indicates unique identifier of the recording. | -| **duration** | float | Indicates total recording time of the call. | -| **startTime** | integer | 10-digit Unix timestamp indicating when the recording was started. | -| **endTime** | integer | 10-digit Unix timestamp indicating when the recording was ended. | -| **recording\_url** | string | Indicates the S3 URL of the call recording. | - diff --git a/rest-api/chat-apis.mdx b/rest-api/chat-apis.mdx index 19b136a1a..3af0add2d 100644 --- a/rest-api/chat-apis.mdx +++ b/rest-api/chat-apis.mdx @@ -1,22 +1,45 @@ --- title: "Overview" +description: "CometChat REST API documentation for integrating chat functionality into your server-side applications." --- -Welcome to the CometChat's REST API documentation! This documentation provides detailed information on the CHAT APIs offered by CometChat, a comprehensive communication platform that enables developers to integrate chat functionality into their server side applications effortlessly. +Welcome to CometChat's REST API documentation! This documentation provides detailed information on the Chat APIs offered by CometChat, a comprehensive communication platform that enables developers to integrate chat functionality into their server side applications effortlessly. + +## API Resources + +| Resource | Description | +| ------------------------------------------------ | --------------------------------------------------- | +| [Users](/rest-api/users) | Create, list, update, and delete users | +| [Auth Tokens](/rest-api/auth-tokens) | Create, list, and manage user authentication tokens | +| [Groups](/rest-api/groups) | Create, list, update, and delete groups | +| [Group Members](/rest-api/group-members) | Add, remove, list, and manage group membership | +| [Messages](/rest-api/messages) | Send, list, update, and delete messages | +| [Conversations](/rest-api/conversations) | List and manage user conversations | +| [Friends](/rest-api/friends) | Manage friend relationships between users | +| [Blocked Users](/rest-api/blocked-users) | Block and unblock users | +| [Banned Users](/rest-api/banned-users) | Ban and unban users from groups | +| [Roles](/rest-api/roles) | Create and manage user roles | +| [API Keys](/rest-api/api-keys) | Create and manage API keys | +| [Calls](/rest-api/calls-apis/overview) | Retrieve and list call records | +| [RBAC](/rest-api/rbac-overview) | Configure role-based and scope-based access control | +| [Restrict Features](/rest-api/restrict-features) | Restrict features per role | +| [Notifications](/rest-api/notifications-apis) | Manage push and other notifications | +| [Moderation](/rest-api/moderation-apis) | Moderate content and users | +| [AI Agents](/rest-api/ai-agents-apis) | Configure and manage AI agents | +| [Data Import](/rest-api/data-import) | Import users, groups, members, and messages in bulk | +| [Metrics](/rest-api/metrics) | Retrieve app usage metrics | ## Introduction CometChat's REST API offers a wide range of functionalities to empower developers in building rich and interactive chat experiences for their users. -With our REST API, you can perform a wide range of operations, including sending and receiving messages, managing user profiles, creating groups, and much more. Whether you're developing a web application, mobile app, or any other platform, our REST API offers the flexibility and scalability to meet your needs. +With our REST API, you can perform a wide range of operations, including sending messages, managing user profiles, creating groups, and much more. Whether you're developing a web application, mobile app, or any other platform, our REST API offers the flexibility and scalability to meet your needs. This documentation is structured to provide clear instructions and examples for each API endpoint, along with details on request and response formats and authentication methods. Whether you're a seasoned developer or just getting started, our goal is to make the integration process as smooth and straightforward as possible. -We're excited to see what you'll create with our CHAT APIs. Let's build something amazing together! - ## Getting Started -To get started with CometChat's REST API, you'll need to obtain your AppID, API key & region by signing up for an account on CometChat's [dashboard](https://app.cometchat.com/). Once you have those details, you can start integrating CometChat's features into your application. +To get started with CometChat's REST API, you'll need to obtain your App ID, API key & region by signing up for an account on CometChat's [dashboard](https://app.cometchat.com/). Once you have those details, you can start integrating CometChat's features into your application. @@ -24,7 +47,16 @@ To get started with CometChat's REST API, you'll need to obtain your AppID, API ## Authentication -Authentication is a crucial aspect of utilizing CometChat's REST API securely. All API requests must be accompanied by an API key to authenticate the incoming requests. CometChat employs industry-standard authentication mechanisms to ensure the security and integrity of your data. +Authentication is a crucial aspect of utilizing CometChat's REST API securely. All API requests must be accompanied by an API key to authenticate the incoming requests. + +For a complete guide on API key scopes, auth tokens, the `onBehalfOf` header, and security best practices, see the [Authentication Guide](/rest-api/authentication). + + + The HTTP header name for authentication is **`apikey`** (all lowercase). In + JSON response bodies, the API key property is returned as **`apiKey`** + (camelCase). This distinction is intentional — HTTP headers are + case-insensitive by specification, while JSON properties are case-sensitive. + ## Endpoints @@ -37,50 +69,55 @@ Example of a List users API request in curl command syntax: ```powershell cURL curl -X GET \ -H "Content-Type: application/json" \ --H "apiKey: YOUR_APIKEY_HERE" \ +-H "apikey: YOUR_APIKEY_HERE" \ "https://.api-.cometchat.io/v3/users" ``` -*Replace appId, apiKey and region in the curl request.* +_Replace appId, apiKey and region in the curl request._ -## Sample Code +## Error codes -To further assist you in integrating CometChat's REST API into your application, we provide sample code snippets in popular programming languages such as JavaScript, Python, NodeJS, and PHP. These snippets demonstrate how to make API requests and handle responses, helping you kickstart your development process. +CometChat provides error codes to help you understand and troubleshoot issues when interacting with the API.\ +Each error code is accompanied by a description of its meaning and potential causes. Error codes specific to each API are documented in their respective API reference pages. - - - +For a complete reference of all error codes across the platform, see the [Error Guide](/articles/error-guide). -## Error codes +## Properties and Constraints + +Understanding the limits and constraints of the API helps you build reliable integrations. This includes maximum field lengths, entity limits, file size restrictions, and more. -CometChat provides a comprehensive reference for understanding and troubleshooting various error codes that may be encountered while interacting with the API.\ -Each error code is accompanied by a clear description of its meaning and potential causes, along with suggested actions to resolve or mitigate the issue.\ -More about error codes can be found [here](/rest-api/constraints-rate-limits-and-errors#errors): +For a full breakdown, see [Properties and Constraints](/articles/properties-and-constraints). ## Rate limits The Rate Limits provides information about the limits on the number of API calls you can make in a certain period.\ By defining and enforcing rate limits, the API maintains optimal performance, prevents abuse, and ensures fair usage for all users.\ -More about rate limits can be found [here](/rest-api/constraints-rate-limits-and-errors#rate-limits) +More about rate limits can be found [here](/rest-api/rate-limits). ## Data Center Hosting The CometChat API is presently situated in three regions: -* US -* EU -* IN +- US +- EU +- IN For instance: ```javascript -https://.api-us.cometchat.io/v3 +https://.api-us.cometchat.io/v3 https://.api-eu.cometchat.io/v3 https://.api-in.cometchat.io/v3 ``` +## API Versioning + +The current API version is `v3`. All endpoints use the `/v3/` path prefix. When breaking changes are introduced, CometChat will release a new version while maintaining the previous version for a deprecation period. + +Deprecated endpoints are marked with a `deprecated` badge in the sidebar and include migration guidance with replacement endpoints. + ## Support -If you encounter any issues or have questions regarding CometChat's REST API, our dedicated support team is here to assist you. Feel free to create a [support ticket](https://help.cometchat.com/hc/en-us/requests/new) or seek real-time support via the [CometChat Dashboard](https://app.cometchat.com/). we'll be more than happy to help you resolve any issues promptly. +If you encounter any issues, create a [support ticket](https://help.cometchat.com/hc/en-us/requests/new) or reach out via the [CometChat Dashboard](https://app.cometchat.com/). Check the [API Status Page](https://status.cometchat.com/) for service availability. diff --git a/rest-api/constraints-rate-limits-and-errors.mdx b/rest-api/constraints-rate-limits-and-errors.mdx deleted file mode 100644 index ac7dfb1a6..000000000 --- a/rest-api/constraints-rate-limits-and-errors.mdx +++ /dev/null @@ -1,229 +0,0 @@ ---- -title: "Constraints, Rate Limits And Errors" ---- - -### Properties and Constraints: - -#### **API Keys: Properties and Constraints** - -| **Item** | **Property or Constraint** | **Notes** | -| ---------------------------------------------------------- | ----------------------------------- | ------------------------------------------------------------------------------- | -| API Keys | 100 characters (UTF8mb4 Characters) | This covers all the languages and even emojis. (One emoji uses two characters). | -| Maximum number of APIs keys that can be created for an app | 25 | Contact support if you need additional API keys for your application. | - -#### **Users and Groups: Properties and Constraints** - -| **Item** | **Property or Constraint** | **Notes** | -| ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | -| Character limits for UIDs and GUIDs | 100 characters | Use alphanumeric characters with dashes only; spaces are not allowed. | -| Maximum users in a group (with all features) | 300 | Groups up to 300 members support all features including delivery/read receipts and typing indicators. | -| Maximum users in a group (without delivery & read receipts) | 50,000 (up to 10,000 concurrent) | Large groups disable delivery/read receipts and typing indicators for performance. | -| Maximum groups a user can be a part of | 2000 | Users exceeding this limit must leave existing groups before joining new ones. | -| Maximum number of friends for a user | 1000 | Friend relationships are bidirectional and count toward both users' limits. | -| Maximum tokens for a user | No limits | Multiple auth tokens allow users to stay logged in across different devices. | -| Maximum Number of Bot users that can be created | 25 | Bot users are special accounts for automated messaging and integrations. | -| Bot UID character limit | 50 characters | Bot UIDs have a shorter limit than regular user UIDs. | -| Maximum number of groups | No limits | Create as many groups as needed; billing is based on active users. | -| Maximum number of unread messages per user | No limits | Unread counts are tracked per conversation for accurate badge displays. | -| Maximum number of users that can be created for an app | No limits | User creation is unlimited; pricing is based on Monthly Active Users (MAU). | -| User and Group ID | 100 characters, alpha-dash (a-z, 0-9 with -and \_) without spaces . | CometChat forces the UID to all lowercase. | -| User and Group name | 100 characters, UTF8mb4 set | This covers all the languages and even emojis. | -| User and Group avatar | Must be a URL, limit of 3000 characters | CometChat doesn't save the image on its servers.. There is no limit on the image resolution. It depends on the implementation. | -| User profile | Must be a URL, limit of 3000 characters | Same as above | -| User and Group metadata | The API limit for the POST request length is 10 KB. Hence, the user's metadata information must fit in the same limit and must not exceed 5 KB. | Use metadata to store custom key-value pairs for users and groups. | -| User and Group tag | A user can have up to 25 tags with 100 characters per tag. The tags can be in any language. The character set must be UTF8mb4 | Tags enable filtering and searching users/groups by custom categories. | -| Group password | String up to 100 characters | Only applicable for password-protected group types. | -| Group description | 255 characters, UTF8mb4 set | Provide a brief summary of the group's purpose for members. | -| Maximum active presence subscriptions | The presence subscription will be active until 1000 users are online for a single app. if more than 1000 users go online, the presence notification starting from the 1001st user will not be sent to other users. | Note, this is the higher limit applicable across subscription for friends, users with certain roles and all users | -| Typing indicators for groups | Typing indicator will be sent for a group of up to 1000 online users. | Disabled for larger groups to optimize real-time performance. | -| Unread message counts for groups | For a group with more than 300 members, the conversations and unread message counts are not updated. | Use message history APIs to track read status in large groups. | -| Delivery and read receipts for groups | Delivery and read receipts will be sent for a group of up to 300 online users. | Receipts are disabled in large groups to reduce server load. | - -#### **Roles: Properties and Constraints** - -| **Item** | **Property or Constraint** | **Notes** | -| ------------------------------------------- | ----------------------------------------------------------------- | ---------------------------------------------- | -| Maximum number of Roles that can be created | Maximum 25 | Roles define permissions and access levels for users. | -| Role UID | 100 characters, alpha-dash (a-z, 0-9 with -and \_) without spaces | CometChat forces the UID to lowercase. | -| Role name | 100 characters, UTF8mb4 | This covers all the languages and even emojis. | -| Role description | 255 characters, UTF8mb4 set, any language. | Describe the role's purpose and permissions clearly. | -| Metadata | No limit | Store additional role configuration as JSON key-value pairs. | - -#### **Messages: Properties and Constraints** -| Item | Property or Constraint | Notes | -| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | -| Maximum message size | 65 KB (~65,536 characters including metadata) | Total size limit for the entire message payload. | -| File size | Maximum file size per message: 100 MB | Applies to the uploaded file associated with the message. | -| Message Data | Arbitrary JSON (UTF-8/utf8mb4), up to 10 KB for the data object; keys with special meaning to CometChat: `text`, `attachments`, `customData`, `metadata` | Attachment properties (for example, URL and size) can be included here; the actual file limit is defined under File size. | -| Groups → Unread message count | For groups with more than 300 members, conversation and unread message counts are not updated | Use message history APIs to track read status in large groups. | -| Groups → Mark as unread | For groups with more than 300 members, the unread message counts are not updated | Feature disabled for performance optimization in large groups. | -| Groups → Message receipts | Delivery and read receipts are sent for groups with up to 300 members | Receipts are disabled in large groups to reduce server load. | -| Tags | Up to 25 tags per message; 100 characters per tag (UTF-8/utf8mb4) | Tags can be in any language. | -| User mentions | Up to 10 distinct users can be mentioned in a message | Format: `<@uid:{uid of the user}>` (example: `<@uid:cometchat-uid-1>`). | -| Reactions | Maximum 25 distinct reactions per message; reaction text up to 45 characters (UTF-8/utf8mb4) | Character counts are by Unicode code points. Emoji are supported and may use multiple code points. | - -#### **Calling: Properties and Constraints** - -| **Item** | **Property or Constraint** | **Notes** | -| ---------------------------------- | ------------------------------ | --------------------------------------------------------------------------------- | -| Maximum users in a call | 50 | Supports both one-on-one and group calling scenarios and it works the best with 50. | -| Default frame rate for video calls | 30 FPS | Frame rate may adapt based on network conditions. | -| Resolution for video calls | Maximum - 720p, Minimum - 180p | This depends on the layout selected and the bandwidth available at the user's end | -| Media encryption used | SRTP | Ensures secure real-time communication for all calls. | -| Audio codec used | OPUS | Optimized for low-latency voice communication. | -| Video codec used | H.264 | Widely supported codec for cross-platform compatibility. | - -#### **Webhooks: Properties and Constraints** - -| **Item** | **Property or Constraint** | **Notes** | -| ------------------------------- | --------------------------------------------------------- | ----------------------------------------------------------------- | -| Webhook URL | Valid URL, maximum 255 characters | Must be a publicly accessible HTTPS endpoint. | -| Webhook ID | 50 characters, UTF8mb4 set, alphanumeric (without spaces) | Unique identifier used to manage and reference the webhook. | -| Webhook authentication username | 50 characters, alphanumeric (without spaces) | Used for HTTP Basic Authentication when calling your endpoint. | -| Webhook authentication password | 100 characters, alphanumeric (without spaces) | Keep this secure; used to verify webhook requests to your server. | - -### Rate Limits -| **Operation Type** | **Rate Limit** | **Examples / Notes** | -| ------------------------ | -------------------------- | --------------------------------------------------------------------------------- | -| Core operations | 10,000 requests/min | User connection, create/delete user, create/join/leave group | -| Standard operations | 20,000 requests/min | All other operations (sending messages, fetching conversations, updating profiles) | -| Build plan (free) | 500 requests/min | Applies to both core and standard operations | -| Send message | 30 messages/min | Per user rate limit for sending messages | -| Mark as unread | 5 requests/min | Per user rate limit for marking messages as unread | -| Data import | 60 requests/min | Rate limit for bulk data import operations | - -### Errors -| Error Code | Error Description | -| ---- | ---- | -| **Auth Errors** | | -| `AUTH_ERR_EMPTY_APPID` | Indicates empty appId in the headers. | -| `AUTH_ERR_INVALID_APPID` | Indicates invalid appId or it does not exist in a region. | -| `AUTH_ERR_EMPTY_APIKEY` | Indicates empty API Key in the headers. | -| `AUTH_ERR_APIKEY_NOT_FOUND` | Indicates incorrect API Key in the headers. | -| `AUTH_ERR_NO_ACCESS` | Indicates API Key in the headers can not be used to perform the action.

For example, the API key with authOnly scope cannot be used to create a user. | -| `AUTH_ERR_EMPTY_AUTH_TOKEN` | Indicates empty auth token in the headers. | -| `AUTH_ERR_AUTH_TOKEN_NOT_FOUND` | Indicates incorrect auth token. | -| **API Key Errors** | | -| `ERR_APIKEY_NOT_FOUND` | Indicates that the api key does not exists. | -| `ERR_APIKEY_NO_SELF_ACTION` | Indicates that the API key in the headers is same as the API key in the path param and it is performing action on it self.

The API Key should not update/delete itself. | -| **Auth Token Errors** | | -| `ERR_AUTH_TOKEN_NOT_FOUND` | Indicates that the auth token does not exists. | -| `ERR_AUTH_TOKEN_DELETE_FAILED` | Indicates that the API failed to delete the auth token. | -| `ERR_AUTH_TOKENS_DELETE_FAILED` | Indicates that the API failed to delete the auth tokens associated with the UID | -| `ERR_AUTHTOKEN_UNAVAILABLE` | Indicates that the auth token is mapped with another device. | -| `ERR_AUTHTOKEN_NOT_ACCESSIBLE` | Indicates that the auth token is mapped with another user. | -| **Subscription Errors** | | -| `ERR_PLAN_RESTRICTION` | Indicates that the feature is not available with the plan. | -| `ERR_SUBSCRIPTION_EXPIRED` | Indicates that the subscription has expired and must resubscribe to continue using the service. | -| `ERR_PLAN_QUOTA_RESTRICTION` | Indicates that the allowed limit for the feature has reached. | -| **Role Errors** | | -| `ERR_ROLE_NOT_FOUND` | Indicates that the role does not exist. | -| `ERR_ROLE_DELETE_FAILED` | Indicates that the API failed to delete the role. | -| `ERR_ROLE_DELETE_DENIED` | Indicates that the API cannot delete the role as the default role can not be deleted. | -| **User Errors** | | -| `ERR_UID_NOT_FOUND` | Indicates any one of the following:
1. UID does not exist.
2. User is soft deleted. | -| `ERR_UID_DELETE_FAILED` | Indicates that the API failed to delete the user. | -| **Bots Errors** | | -| `ERR_BOT_NOT_FOUND` | Indicates that a bot is not associated with the UID. | -| `ERR_BOT_ALREADY_EXISTS` | Indicates that a bot is already associated with the UID. | -| **Group Errors** | | -| `ERR_GUID_NOT_FOUND` | Indicates that the GUID does not exist. | -| `ERR_EMPTY_GROUP_PASS` | Indicates one from the below:
1. Empty password for password type group to create group API.
2. Empty password for pasword type group to join group API. | -| `ERR_GROUP_DELETE_FAILED` | Indicates that the API failed to delete the group. | -| `ERR_NOT_A_MEMBER` | Indicates that the user is not a member of the group. | -| `ERR_WRONG_GROUP_PASS` | Indicates password mismatch for the password type group. | -| `ERR_ALREADY_JOINED` | Indicates that the user has already joined the group. | -| `ERR_GROUP_NOT_JOINED` | Indicates that the user is trying to access the group feature without joining it. | -| `ERR_GROUP_JOIN_NOT_ALLOWED` | Indicates that the user is trying to join the private group. | -| `ERR_MEMBER_DELETE_FAILED` | Indicates that the API has failed to remove a user from the group. | -| `ERR_NO_VACANCY` | Indicates that the group is full. | -| `ERR_SAME_SCOPE` | Indicates that the existing and new scope are same. | -| `ERR_MEMBER_SCOPE_CHANGE_FAILED` | Indicates that the has failed to change the scope. | -| `ERR_NOT_A_BANNED_USER` | Indicates that the API is trying to unban non-banned user. | -| `ERR_BANNED_GROUPMEMBER` | Indicates that the banned user is trying to access the group features. | -| `ERR_ALREADY_BANNED` | Indicates that the API is trying to ban an already banned user. | -| `ERR_MEMBER_BAN_FAILED` | Indicates that the API has failed to ban a user from the group. | -| `ERR_MEMBER_UNBAN_FAILED` | Indicates that the API has failed to unban a user for the group. | -| `ERR_GROUP_NO_CLEARANCE` | Indicates that the user does not have permission to perform the action in the group.

For example, user with participant scope can not kick users with admin or moderator scope. | -| `ERR_GROUP_NO_ADMIN_SCOPE` | Indicates that the user does not have admin scope in the group. | -| `ERR_GROUP_NO_MODERATOR_SCOPE` | Indicates that the user does not have moderator scope in the group. | -| `ERR_GROUP_NO_SCOPE_CLEARANCE` | Indicates that the user does not have permission to change scope of other user. | -| `ERR_GROUP_NO_SELF_ACTION` | Indicates that the user is not allowed to perform action on himself.

For example, changing his own scope. | -| **Message Errors** | | -| `ERR_EMPTY_RECEIVER` | Indicates that the receiver cannot be empty. | -| `ERR_INVALID_RECEIVER_TYPE` | Indicates that the invalid receiver type. | -| `ERR_CONVERSATION_NOT_FOUND` | Indicates that the conversation id does not exists. | -| `ERR_CONVERSATION_NOT_ACCESSIBLE` | Indicates that the conversation id not accessible to the user.
1. A user can access his own one-to-one conversations.
2. A user can access the group conversations if he is member of the group. | -| `ERR_USER_MESSAGE_DELETE_FAILED` | Indicates that the API has failed to delete a one-to-one message. | -| `ERR_MESSAGE_ID_NOT_FOUND` | Indicates that the message does not exist. | -| `ERR_INVALID_MESSAGE_DATA` | Indicates invalid message body. | -| `ERR_EMPTY_MESSAGE_TEXT` | Indicates empty messages text for a text message. | -| `ERR_INVALID_MESSAGE_TEXT` | Indicates that the message text should be string. | -| `ERR_EMPTY_MESSAGE_CATEGORY` | Indicates message category cannot be empty. | -| `ERR_INVALID_MESSAGE_CATEGORY` | Indicates invalid message category. | -| `ERR_EMPTY_MESSAGE_TYPE` | Indicates message type cannot be empty. | -| `ERR_INVALID_MESSAGE_TYPE` | Indicates invalid message type. | -| `ERR_EMPTY_MESSAGE_FILE` | Indicates empty FILE for the media message. | -| `ERR_MESSAGE_NOT_A_SENDER` | Indicates that only sender can edit/delete the message. | -| `ERR_MESSAGE_NO_ACCESS` | Indicates user does not have access to the message.
1. For one-to-one message user should either be sender or receiver of the message.
2. For group message user should be the member of the group. | -| `ERR_MESSAGE_ACTION_NOT_ALLOWED` | Indicates that the message can not be edited or deleted.

For example, Action messages cannot be edited or deleted by the API. | -| `ERR_EMPTY_CUSTOM_DATA` | Indicates `data.customData` can not be empty for custom message. | -| `ERR_INVALID_MEDIA_MESSAGE` | Indicates invalid media message. | -| `ERR_INVALID_CUSTOM_DATA` | Indicates invalid data.customData. The customData should be valid JSON. | -| `ERR_INVALID_METADATA` | Indicates invalid data.metadata. The metadata should be valid JSON. | -| `ERR_WRONG_MESSAGE_THREAD` | Indicates conversation mismatch for parent and a new threaded message. | -| `ERR_MESSAGE_THREAD_NESTING` | Indicates nested message threading. | -| `ERR_WRONG_MESSAGE_THREAD_CATEGORY` | Indicates conversation mismatch for parent and a new threaded message. | -| **Calling Errors** | | -| `ERR_CALLING_SELF` | Indicates user is initiating call with himself. | -| `ERR_CALL_BUSY_SELF` | Indicates initiator of the call is participant of another ongoing call. | -| `ERR_CALL_BUSY_GROUP` | Indicates that for a group call, the group has and existing ongoing call. | -| `ERR_CALL_BUSY_USER` | Indicates that the recipient of the call is already busy on another call. | -| `ERR_EMPTY_CALL_SESSION_ID` | Indicates empty session id. | -| `ERR_CALL_SESSION_NOT_FOUND` | Indicates that the call does not exist. | -| `ERR_CALL_TERMINATED` | Indicates that a call is terminated.

The error response is generated when a user tries to update the status of an ended call. | -| `ERR_CALL_GROUP_ALREADY_JOINED` | Indicates that the user is already a member of the group call. | -| `ERR_CALL_GROUP_ALREADY_LEFT` | Indicates that the user trying to leave the group call has already left the call. | -| `ERR_CALL_INVALID_INIT` | Indicates that call status cannot be updated to `initiated`. | -| `ERR_CALL_USER_ALREADY_JOINED` | Indicates that the one-to-one call was already joined by the recipient of the call. | -| `ERR_CALL_GROUP_INVALID_STATUS` | Indicates invalid call status for a group call.

For example, group call cannot have a busy status. | -| `ERR_CALL_ONGOING_TO_INVALID` | Indicates updating invalid status for an ongoing call.

For example, ongoing call can not become a busy call. | -| `ERR_CALL_NOT_A_PART` | Indicates that the user is not part of the call.

For example, a third user tries to join a one-to-one call. | -| `ERR_CALL_EMPTY_JOINED_AT` | Indicates that the `joinedAt` body param is required to join a group. | -| `ERR_CALL_NOT_STARTED` | Indicates that status of call cannot be changed from initiated to ended directly. | -| **Friends Errors** | | -| `ERR_ALREADY_FRIEND` | Indicates that the users are already friends. | -| `ERR_NOT_A_FRIEND` | Indicates unfriending non-friended users. | -| `ERR_CANNOT_FORM_SELF_RELATION` | Indicates user cannot friend himself. | -| `ERR_FAILED_TO_ADD_FRIEND` | Indicates that the API has failed to add friend. | -| **Block Users Errors** | | -| `ERR_CANNOT_BLOCK_SELF` | Indicates that user cannot block himself. | -| `ERR_BLOCKED_RECEIVER` | Indicates user has blocked the receiver of the message/call. | -| `ERR_BLOCKED_SENDER` | Indicates that the iniator of the call is blocked by the recipient. | -| **Extension Errors** | | -| `ERR_EXTENSION_NOT_FOUND` | Indicates extension does not exist. | -| `ERR_BLOCKED_BY_EXTENSION` | Indicates that the message is blocked by the extension.

For example, human moderation extension can block the message sending. | -| **Webhook Errors** | | -| `ERR_WEBHOOK_NOT_FOUND` | Indicates that the webhook does not exist. | -| `ERR_BLOCKED_BY_WEBHOOK` | Indicates that the message is blocked by the extension. | -| `ERR_TRIGGER_NOT_FOUND` | Indicates trigger does not exist. | -| **General Errors** | | -| `ERR_INVALID_API_VERSION` | Indicates invalid API version. | -| `ERR_API_NOT_FOUND` | Indicates one from the list below:
1. API endpoint does not exist.
2. The endpoint does not use HTTP request method using which API is called. | -| `ERR_MISSION_FAILED` | Indicates one from the list below:
1. Fatal error.
2. Database Connection Timeout. | -| `ERR_BAD_REQUEST` | Indicates the failed validations for the body params. | -| `ERR_OPERATION_FAILED` | Indicates database operation failure. | -| `ERR_EXCEPTION` | Indicates incorrectly/poorly handled exception. | -| `ERR_TOO_MANY_REQUESTS` | Indicates rate limiting. | -| `ERR_BAD_ERROR_RESPONSE` | Indicates one from the list below:
1. The API developer has used unknown error code.
2. The API developer hasn't reassigned the error code. | -| **Websocket Errors** | | -| `ERR_WS_INIT_FAILED` | Indicates failure at Web Socket Server. | -| `ERR_WS_APP_INIT_FAILED` | Indicates App creation failure at Web Socket Server. | -| `ERR_WS_APP_DESTROY_FAILED` | Indicates App delete failure at Web Socket Server. | -| `ERR_WS_ROLE_CREATION_FAILED` | Indicates role creation failure at Web Socket Server. | -| `ERR_WS_ROLE_DELETION_FAILED` | Indicates role deletion failure at Web Socket Server. | -| `ERR_WS_USER_CREATION_FAILED` | Indicates user creation failure at Web Socket Server. | -| `ERR_WS_USER_UPDATION_FAILED` | Indicates user updation failure at Web Socket Server. | -| `ERR_WS_GROUP_CREATION_FAILED` | Indicates group creation failure at Web Socket Server. | -| `ERR_WS_GROUP_DELETION_FAILED` | Indicates group deletion failure at Web Socket Server. | -| `ERR_WS_GROUP_JOIN_FAILED` | Indicates group member join failure at Web Socket Server. | diff --git a/rest-api/conversations.mdx b/rest-api/conversations.mdx index dc24d69d9..b5c34330a 100644 --- a/rest-api/conversations.mdx +++ b/rest-api/conversations.mdx @@ -1,29 +1,62 @@ --- title: "Overview" +description: "Retrieve and manage conversations that track the latest messages and unread counts for each user." --- - -**Constraint:** +A **Conversation** represents an ongoing message exchange between a user and another user (1-on-1) or a group. Each conversation tracks the last message, unread count, and metadata — making it easy to build a "Recent Chats" list. -1. Conversations will not be updated once the size of the group exceeds 300. -2. A conversation can have up to 25 tags with 100 characters per tag. +### Key behaviors - +- Conversations are automatically created when the first message is exchanged. +- For groups with more than **300 members**, conversations and unread message counts are not updated. +- Conversations can have up to **25 tags**, each up to 100 characters (UTF8mb4). +- The `lastMessage` property is not visible if the message has been deleted or if a new group has no messages yet. - -Conversations provide the last messages for every one-on-one and group conversation the logged-in user is a part of. This makes it easy for you to build a Recent Chats list. +### How conversations connect to other resources - +- **Users** — A 1-on-1 conversation is between two [Users](/rest-api/users). The `conversationWith` field contains the other user's details. +- **Groups** — A group conversation is tied to a [Group](/rest-api/groups). The `conversationWith` field contains the group's details. +- **Messages** — The `lastMessage` field reflects the most recent [Message](/rest-api/messages) in the conversation. -The following table lists the properties of a conversation in Conversation APIs. +### Available operations -| Parameters | Type | Description | -| ---------------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **conversationId** | string | Specifies conversation's unique ID. | -| **conversationType** | string | Specifies the type of conversation.Available types are:
user
group | -| **unreadMessageCount** | string | Specifies count of unread messages in that conversation. | -| **createdAt** | integer | Specifies unix timestamp when conversation was created. | -| **updatedAt** | integer | Specifies unix timestamp when conversation was last updated. | -| **uid** | string | Specifies the user's unique ID for whom conversation is initiated. | -| **lastMessage** | nested object | Specifies details of that conversation's last message, including one-one and group. This makes it easy to build a Recent Chats list. Couple of scenarios where the *lastMessage* property won't be visible: a. If that message is deleted via SDK/API. b. If a new group is created and there is no message or no members are added to the group yet. | -| **conversationWith** | nested object | Specifies details of user or group with whom above mentioned user is having conversation. | +| Operation | Method | Endpoint | Description | +| ---------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------ | ------------------------------------------------------- | +| [List Conversations](/rest-api/conversations/list-conversations) | `GET` | `/conversations` | Retrieve all conversations for a user | +| [Get Conversation](/rest-api/conversations/get-conversation) | `GET` | `/conversations/{conversationId}` | Retrieve a specific conversation _(deprecated)_ | +| [Delete Conversation](/rest-api/conversations/delete-conversation) | `DELETE` | `/conversations/{conversationId}` | Delete a conversation for a user _(deprecated)_ | +| [Get User Conversation](/rest-api/conversations/get-user-conversation) | `GET` | `/users/{uid}/conversation` | Retrieve a 1-on-1 conversation with a specific user | +| [Get Group Conversation](/rest-api/conversations/get-group-conversation) | `GET` | `/groups/{guid}/conversation` | Retrieve a group conversation | +| [Update User Conversation](/rest-api/conversations/update-user-conversation) | `PUT` | `/users/{uid}/conversation` | Update tags on a 1-on-1 conversation | +| [Update Group Conversation](/rest-api/conversations/update-group-conversation) | `PUT` | `/groups/{guid}/conversation` | Update tags on a group conversation | +| [Reset User Conversation](/rest-api/conversations/reset-user-conversation) | `DELETE` | `/users/{uid}/conversation` | Reset unread count for a 1-on-1 conversation | +| [Reset Group Conversation](/rest-api/conversations/reset-group-conversation) | `DELETE` | `/groups/{guid}/conversation` | Reset unread count for a group conversation | +| [Mark User Conversation as Read](/rest-api/conversations/mark-user-conversation-as-read) | `POST` | `/users/{uid}/conversation/read` | Mark all messages as read in a 1-on-1 conversation | +| [Mark Group Conversation as Read](/rest-api/conversations/mark-group-conversation-as-read) | `POST` | `/groups/{guid}/conversation/read` | Mark all messages as read in a group conversation | +| [Mark User Conversation as Delivered](/rest-api/conversations/mark-user-conversation-as-delivered) | `POST` | `/users/{uid}/conversation/delivered` | Mark all messages as delivered in a 1-on-1 conversation | +| [Mark Group Conversation as Delivered](/rest-api/conversations/mark-group-conversation-as-delivered) | `POST` | `/groups/{guid}/conversation/delivered` | Mark all messages as delivered in a group conversation | +| [Mark Conversation as Unread](/rest-api/conversations/mark-conversation-messages-as-unread) | `DELETE` | `/users/{uid}/conversation/read` | Mark a user conversation as unread | +| [Mark Group Conversation as Unread](/rest-api/conversations/mark-group-conversation-as-unread) | `DELETE` | `/groups/{guid}/conversation/read` | Mark a group conversation as unread | + +### Conversation properties + +| Property | Type | Description | +| ---------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------- | +| **conversationId** | string | Unique conversation identifier. Format: `user_{uid}` for 1-on-1 or `group_{guid}` for group conversations. | +| **conversationType** | string | Type of conversation: `user` or `group`. | +| **unreadMessageCount** | integer | Number of unread messages in this conversation. | +| **lastMessage** | object | Details of the most recent message in the conversation. Not present if the message was deleted or if a new group has no messages. | +| **conversationWith** | object | Details of the other user (for 1-on-1) or the group (for group conversations). | +| **createdAt** | integer | UNIX timestamp of when the conversation was created. | +| **updatedAt** | integer | UNIX timestamp of when the conversation was last updated. | + +### Error handling + +| Error Code | Description | +| ---------------------------- | ----------------------------------------- | +| `ERR_UID_NOT_FOUND` | The specified user does not exist | +| `ERR_CONVERSATION_NOT_FOUND` | The specified conversation does not exist | + +For the complete list of error codes, see [Error Guide](/articles/error-guide). + +For all system limits (unread counts, tag counts, group thresholds, etc.), see [Properties and Constraints](/articles/properties-and-constraints). diff --git a/rest-api/conversations/delete-conversation.mdx b/rest-api/conversations/delete-conversation.mdx index 25aacfd67..a2d623049 100644 --- a/rest-api/conversations/delete-conversation.mdx +++ b/rest-api/conversations/delete-conversation.mdx @@ -1,4 +1,29 @@ --- openapi: delete /conversations/{conversationId} deprecated: true ---- \ No newline at end of file +description: "This API is deprecated please use Reset User/GroupConversation API" +--- + + +**This endpoint is deprecated** and will be removed in a future API version. + +Use the type-specific endpoints instead: + +| Old Endpoint | New Endpoint | +| ---------------------------------------- | -------------------------------------------------------------------------- | +| `DELETE /conversations/{conversationId}` | `DELETE /users/{uid}/conversation` or `DELETE /groups/{guid}/conversation` | + +**Migration example:** + +```bash +# Old (deprecated): +curl -X DELETE "https://appid.api-us.cometchat.io/v3/conversations/user_cometchat-uid-1_user_cometchat-uid-2" \ + -H "apikey: YOUR_API_KEY" + +# New (recommended) — for a user conversation: +curl -X DELETE "https://appid.api-us.cometchat.io/v3/users/cometchat-uid-2/conversation" \ + -H "apikey: YOUR_API_KEY" \ + -H "onBehalfOf: cometchat-uid-1" +``` + + diff --git a/rest-api/conversations/get-conversation.mdx b/rest-api/conversations/get-conversation.mdx index 4988e7699..6e5bd9e33 100644 --- a/rest-api/conversations/get-conversation.mdx +++ b/rest-api/conversations/get-conversation.mdx @@ -1,4 +1,29 @@ --- openapi: get /conversations/{conversationId} deprecated: true ---- \ No newline at end of file +description: "This API is deprecated please use Get User/Group ConversationAPI" +--- + + +**This endpoint is deprecated** and will be removed in a future API version. + +Use the type-specific endpoints instead: + +| Old Endpoint | New Endpoint | +| ------------------------------------- | -------------------------------------------------------------------- | +| `GET /conversations/{conversationId}` | `GET /users/{uid}/conversation` or `GET /groups/{guid}/conversation` | + +**Migration example:** + +```bash +# Old (deprecated): +curl -X GET "https://appid.api-us.cometchat.io/v3/conversations/user_cometchat-uid-1_user_cometchat-uid-2" \ + -H "apikey: YOUR_API_KEY" + +# New (recommended) — for a user conversation: +curl -X GET "https://appid.api-us.cometchat.io/v3/users/cometchat-uid-2/conversation" \ + -H "apikey: YOUR_API_KEY" \ + -H "onBehalfOf: cometchat-uid-1" +``` + + diff --git a/rest-api/conversations/get-group-conversation.mdx b/rest-api/conversations/get-group-conversation.mdx index 61fc411d2..4d2bb6bd9 100644 --- a/rest-api/conversations/get-group-conversation.mdx +++ b/rest-api/conversations/get-group-conversation.mdx @@ -1,3 +1,32 @@ --- openapi: get /groups/{guid}/conversation ---- \ No newline at end of file +description: "Getting group conversation" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | -------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | 404 | No group exists with the specified GUID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Update tags on this conversation. + + + Clear unread count. + + diff --git a/rest-api/conversations/get-user-conversation.mdx b/rest-api/conversations/get-user-conversation.mdx index e53dfdcb6..579955d86 100644 --- a/rest-api/conversations/get-user-conversation.mdx +++ b/rest-api/conversations/get-user-conversation.mdx @@ -1,3 +1,32 @@ --- openapi: get /users/{uid}/conversation ---- \ No newline at end of file +description: "Getting user conversation" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ----------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID, or the user has been deactivated | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Update tags on this conversation. + + + Clear unread count. + + diff --git a/rest-api/conversations/list-conversations.mdx b/rest-api/conversations/list-conversations.mdx index 579aa5506..3560809f7 100644 --- a/rest-api/conversations/list-conversations.mdx +++ b/rest-api/conversations/list-conversations.mdx @@ -1,3 +1,22 @@ --- openapi: get /conversations ---- \ No newline at end of file +description: "Fetching all the conversations" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Retrieve details of a specific conversation. + + diff --git a/rest-api/conversations/mark-conversation-messages-as-unread.mdx b/rest-api/conversations/mark-conversation-messages-as-unread.mdx index a18567307..1b9263a85 100644 --- a/rest-api/conversations/mark-conversation-messages-as-unread.mdx +++ b/rest-api/conversations/mark-conversation-messages-as-unread.mdx @@ -1,3 +1,32 @@ --- openapi: delete /users/{uid}/conversation/read ---- \ No newline at end of file +description: "Allows you to mark messages within a conversation as unread" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ----------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID, or the user has been deactivated | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Clear unread count again. + + + Check unread count. + + diff --git a/rest-api/conversations/mark-group-conversation-as-delivered.mdx b/rest-api/conversations/mark-group-conversation-as-delivered.mdx index 7a0432da5..4e2955b1c 100644 --- a/rest-api/conversations/mark-group-conversation-as-delivered.mdx +++ b/rest-api/conversations/mark-group-conversation-as-delivered.mdx @@ -1,3 +1,32 @@ --- openapi: post /groups/{guid}/conversation/delivered ---- \ No newline at end of file +description: "This API will mark the group conversation as delivered." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | -------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | 404 | No group exists with the specified GUID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Also mark messages as read. + + + Check delivery status. + + diff --git a/rest-api/conversations/mark-group-conversation-as-read.mdx b/rest-api/conversations/mark-group-conversation-as-read.mdx index da7257cc3..7e0a4ce52 100644 --- a/rest-api/conversations/mark-group-conversation-as-read.mdx +++ b/rest-api/conversations/mark-group-conversation-as-read.mdx @@ -1,3 +1,32 @@ --- openapi: post /groups/{guid}/conversation/read ---- \ No newline at end of file +description: "This API will mark the group conversation as read." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | -------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | 404 | No group exists with the specified GUID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Mark messages back as unread. + + + Check read status. + + diff --git a/rest-api/conversations/mark-group-conversation-as-unread.mdx b/rest-api/conversations/mark-group-conversation-as-unread.mdx index ad84e051e..4230d5f68 100644 --- a/rest-api/conversations/mark-group-conversation-as-unread.mdx +++ b/rest-api/conversations/mark-group-conversation-as-unread.mdx @@ -1,3 +1,32 @@ --- openapi: delete /groups/{guid}/conversation/read ---- \ No newline at end of file +description: "This API will mark the group conversation as unread." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | -------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | 404 | No group exists with the specified GUID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Clear unread count. + + + Check unread count. + + diff --git a/rest-api/conversations/mark-user-conversation-as-delivered.mdx b/rest-api/conversations/mark-user-conversation-as-delivered.mdx index e53ed2d0c..15db1fa5e 100644 --- a/rest-api/conversations/mark-user-conversation-as-delivered.mdx +++ b/rest-api/conversations/mark-user-conversation-as-delivered.mdx @@ -1,3 +1,32 @@ --- openapi: post /users/{uid}/conversation/delivered ---- \ No newline at end of file +description: "This API will mark the user conversation as delivered." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ----------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID, or the user has been deactivated | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Also mark messages as read. + + + Check delivery status. + + diff --git a/rest-api/conversations/mark-user-conversation-as-read.mdx b/rest-api/conversations/mark-user-conversation-as-read.mdx index f7cad6a9f..d94f846b9 100644 --- a/rest-api/conversations/mark-user-conversation-as-read.mdx +++ b/rest-api/conversations/mark-user-conversation-as-read.mdx @@ -1,3 +1,32 @@ --- openapi: post /users/{uid}/conversation/read ---- \ No newline at end of file +description: "This API will mark the user conversation as read." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ----------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID, or the user has been deactivated | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Mark messages back as unread. + + + Check read status. + + diff --git a/rest-api/conversations/reset-group-conversation.mdx b/rest-api/conversations/reset-group-conversation.mdx index 7d39bb6cd..e6e58ece3 100644 --- a/rest-api/conversations/reset-group-conversation.mdx +++ b/rest-api/conversations/reset-group-conversation.mdx @@ -1,3 +1,32 @@ --- openapi: delete /groups/{guid}/conversation ---- \ No newline at end of file +description: "Resetting Group Conversation" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | -------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | 404 | No group exists with the specified GUID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View remaining conversations. + + + Check conversation state. + + diff --git a/rest-api/conversations/reset-user-conversation.mdx b/rest-api/conversations/reset-user-conversation.mdx index 3a678d4b0..22bf5311c 100644 --- a/rest-api/conversations/reset-user-conversation.mdx +++ b/rest-api/conversations/reset-user-conversation.mdx @@ -1,3 +1,32 @@ --- openapi: delete /users/{uid}/conversation ---- \ No newline at end of file +description: "Resetting User Conversation" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ----------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID, or the user has been deactivated | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View remaining conversations. + + + Check conversation state before resetting. + + diff --git a/rest-api/conversations/update-group-conversation.mdx b/rest-api/conversations/update-group-conversation.mdx index b8baa12bf..71dd16134 100644 --- a/rest-api/conversations/update-group-conversation.mdx +++ b/rest-api/conversations/update-group-conversation.mdx @@ -1,3 +1,32 @@ --- openapi: put /groups/{guid}/conversation ---- \ No newline at end of file +description: "Updating Group Conversation" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | -------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | 404 | No group exists with the specified GUID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View conversation details. + + + Delete this conversation. + + diff --git a/rest-api/conversations/update-user-conversation.mdx b/rest-api/conversations/update-user-conversation.mdx index 12a932708..0664c6d51 100644 --- a/rest-api/conversations/update-user-conversation.mdx +++ b/rest-api/conversations/update-user-conversation.mdx @@ -1,3 +1,32 @@ --- openapi: put /users/{uid}/conversation ---- \ No newline at end of file +description: "Updating User Conversation" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ----------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID, or the user has been deactivated | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View conversation details. + + + Delete this conversation. + + diff --git a/rest-api/data-import-apis/groups/import-group-members.mdx b/rest-api/data-import-apis/groups/import-group-members.mdx index 5d0d769e1..791713a9a 100644 --- a/rest-api/data-import-apis/groups/import-group-members.mdx +++ b/rest-api/data-import-apis/groups/import-group-members.mdx @@ -1,3 +1,22 @@ --- openapi: post /data_import/members ---- \ No newline at end of file +description: "The CometChat group member import API allows customers to import their group members’ data into the CometChat systems." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all data import options. + + diff --git a/rest-api/data-import-apis/groups/import-groups.mdx b/rest-api/data-import-apis/groups/import-groups.mdx index 02667d948..386f308ad 100644 --- a/rest-api/data-import-apis/groups/import-groups.mdx +++ b/rest-api/data-import-apis/groups/import-groups.mdx @@ -1,3 +1,22 @@ --- openapi: post /data_import/groups ---- \ No newline at end of file +description: "The CometChat group import API allows customers to import their groups’ data into the CometChat systems." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all data import options. + + diff --git a/rest-api/data-import-apis/messages/import-messages.mdx b/rest-api/data-import-apis/messages/import-messages.mdx index 61929c328..4af092391 100644 --- a/rest-api/data-import-apis/messages/import-messages.mdx +++ b/rest-api/data-import-apis/messages/import-messages.mdx @@ -1,3 +1,22 @@ --- openapi: post /data_import/messages ---- \ No newline at end of file +description: "The CometChat message import API allows customers to import their messages’ data into the CometChat systems." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all data import options. + + diff --git a/rest-api/data-import-apis/users/import-users.mdx b/rest-api/data-import-apis/users/import-users.mdx index 67047002e..8836a7e42 100644 --- a/rest-api/data-import-apis/users/import-users.mdx +++ b/rest-api/data-import-apis/users/import-users.mdx @@ -1,3 +1,29 @@ --- openapi: post /data_import/users ---- \ No newline at end of file +description: "The CometChat user import API allows customers to import their users’ data into the CometChat systems." +--- + +## Constraints + +| Item | Constraint | Notes | +| ---- | ---------- | ----- | +| Entities per request | 50 | Transmit up to 50 entities within a single request for efficient processing | +| Requests per minute | 60 | Rate limit for data import endpoints; exceeding returns a rate limit error | + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all data import options. + + diff --git a/rest-api/data-import.mdx b/rest-api/data-import.mdx index 23c9c98d1..113a4f783 100644 --- a/rest-api/data-import.mdx +++ b/rest-api/data-import.mdx @@ -1,72 +1,50 @@ --- title: "Overview" +description: "Import users, groups, members, and message history from a previous chat system into CometChat." --- -The CometChat Data Import REST API provides an efficient way to import users, groups, group members, and messages from your previous chat system to CometChat. This API allows you to seamlessly transition from your previous chat system with minimal disruption to your users. +The **Data Import** API provides an efficient way to migrate data from your previous chat system to CometChat. You can import users, groups, group members, and full message history in bulk. -### Key Features +### Endpoints -* **Import Users:** Create multiple users at once in your CometChat app by importing them from an existing data source. +| Method | Endpoint | Description | +| ------ | -------- | ----------- | +| POST | [`/data_import/users`](/rest-api/data-import-apis/users/import-users) | Import users in bulk | +| POST | [`/data_import/groups`](/rest-api/data-import-apis/groups/import-groups) | Import groups in bulk | +| POST | [`/data_import/members`](/rest-api/data-import-apis/groups/import-group-members) | Import group members in bulk | +| POST | [`/data_import/messages`](/rest-api/data-import-apis/messages/import-messages) | Import messages in bulk | -* **Import Groups:** Easily migrate all your existing groups into your CometChat app. +### Key capabilities -* **Import Members:** Import members to join specific groups in your CometChat app. +- **Import Users** — Create multiple users at once from an existing data source. +- **Import Groups** — Migrate all existing groups into your CometChat app. +- **Import Members** — Add members to specific groups during migration. +- **Import Messages** — Migrate chat history including 1-on-1 and group messages. -* **Import Messages:** Migrate your existing chat history, including one-on-one messages and group messages into your CometChat app. +### Getting started -### Getting Started +All Data Import API requests require your `appId`, `apiKey`, and `region`, available from the [CometChat Dashboard](https://app.cometchat.com/). Requests must be made over HTTPS. -To start using the CometChat Import REST API, you'll need your AppID, API Key and region, which can be obtained from your CometChat [Dashboard](https://app.cometchat.com/). All API requests must be made over HTTPS. +Base URL: -The base URL for all CometChat Pro REST API requests is `https://.api-.cometchat.com/v3.0/data_import`. - -Be sure to replace `'appId'` and `'region'` with your actual App ID and region respectively in the API endpoint. - - - - - -## Authentication - -Authentication is a crucial aspect of utilizing CometChat's REST API securely. All API requests must be accompanied by an API key to authenticate the incoming requests. CometChat employs industry-standard authentication mechanisms to ensure the security and integrity of your data. - -## Endpoints - -CometChat's Data Import APIs are designed to be intuitive and easy to integrate into your application's backend infrastructure.\ -Example of a Import Users API request in curl command syntax: - - - -```swift cURL -curl -X POST \ --H "Content-Type: application/json" \ --H "apiKey: YOUR_APIKEY_HERE" \ --d '{ - "users": { - "test_uid": { - "uid": "test_uid", - "name": "Atlas" - }, - "test_uid2": { - "uid": "test_uid2", - "name": "Apollo" - } - } -}' "http://.api-.cometchat.io/v3.0/data_import/users" +```text +https://.api-.cometchat.io/v3.0/data_import ``` - +Replace `` and `` with your actual App ID and region. -*Replace appId, apiKey and region in the curl request.* +### Rate limits -## Sample Code +Data import operations are rate-limited to **60 requests per minute**. See [Rate Limits](/rest-api/rate-limits) for details. -To further assist you in integrating CometChat's Data Import API into your application, we provide sample code snippets in popular programming languages such as JavaScript, Python, NodeJS, and PHP. These snippets demonstrate how to make API requests and handle responses, helping you kickstart your development process.\` +### Error handling - - - +| Error Code | Description | +| --------------------------- | ---------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | API key is missing from the request headers | +| `AUTH_ERR_APIKEY_NOT_FOUND` | The provided API key is invalid | +| `ERR_TOO_MANY_REQUESTS` | Rate limit exceeded — retry after the specified time | -## Support +For the complete list of error codes, see [Error Guide](/articles/error-guide). -If you encounter any issues or have questions regarding CometChat's REST API, our dedicated support team is here to assist you. Feel free to create a [support ticket](https://help.cometchat.com/hc/en-us/requests/new) or seek real-time support via the [CometChat Dashboard](https://app.cometchat.com/). we'll be more than happy to help you resolve any issues promptly. \ No newline at end of file +For all system limits, see [Properties and Constraints](/articles/properties-and-constraints). diff --git a/rest-api/data-migration-constraints-rate-limits-and-errors.mdx b/rest-api/data-migration-constraints-rate-limits-and-errors.mdx deleted file mode 100644 index 8ec1ed4d2..000000000 --- a/rest-api/data-migration-constraints-rate-limits-and-errors.mdx +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: "Constraints, Rate Limits And Errors" ---- - -## Properties and Constraints: - -| Item | Property or Constraint | Notes | -| ------------------------------------------- | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Number of entities required in each request | 50 | Our API boosts the efficiency of processing requests by enabling users to transmit up to 50 entities within a single request. | -| Number of requests allowed in a minute | 60 | To ensure equitable usage and uphold service quality standards, CometChat enforces rate limits on each API endpoint. Specifically, a maximum of 60 requests per minute is permitted for these data import endpoints. Upon exceeding this limit, the API will respond with a rate limit error. | - -## Errors: - -| Error | Description | -| ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | -| `ERR_IMPORT_MUID_ALREADY_EXISTS` | The message `muid` is expected to be unique. The muid will be a unique Identifier of the message. | -| `ERR_IMPORT_INVALID_MESSAGE_FORMAT` | The value for messages property should be an array of message objects | -| `ERR_IMPORT_INVALID_USER_FORMAT` | The value for users property should be an array of user objects. | -| `ERR_IMPORT_INVALID_MEMBER_FORMAT` | The value for members property should be an array of member objects. | -| `ERR_IMPORT_INVALID_JOINEDAT` | The value for `joinedAt` should be greater than `createdAt` and less than the current timestamp. | -| `ERR_IMPORT_INVALID_GROUP_FORMAT` | The value for groups property should be an array of group objects. | -| `ERR_TOO_MANY_REQUESTS` | Too many requests for data import API. 60 per minute is the maximum request allowed. Please retry for seconds after 58. | - diff --git a/rest-api/extensions-overview.mdx b/rest-api/extensions-overview.mdx index 9459b4e07..2205f77db 100644 --- a/rest-api/extensions-overview.mdx +++ b/rest-api/extensions-overview.mdx @@ -1,7 +1,15 @@ --- title: "Overview" +description: "Browse available CometChat extensions for enhanced chat functionality." --- +## Endpoints + +| Method | Endpoint | Description | +| ------ | -------- | ----------- | +| GET | [`/apps/{appId}/extensions`](/rest-api/management-apis/extensions/list-extensions) | List all available extensions | +| POST | [`/apps/{appId}/extensions`](/rest-api/management-apis/extensions/enabledisable) | Enable or disable an extension | + ## Extension List: | id | name | @@ -51,3 +59,13 @@ title: "Overview" | virus-malware-scanner | Virus Malware Scanner | | voice-transcription | Voice Transcription | | xss-filter | XSS Filter | + +## Error Handling + +| Error Code | Description | +| --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | The API key doesn't have the required scope | + +For the complete error reference, see [Error Guide](/articles/error-guide). diff --git a/rest-api/friends.mdx b/rest-api/friends.mdx index 7912474f3..a14988645 100644 --- a/rest-api/friends.mdx +++ b/rest-api/friends.mdx @@ -1,13 +1,33 @@ --- title: "Overview" +description: "Manage friend relationships between users." --- If you want to associate friends with your users, you must handle friend management in your app.\ Once two users are friends (i.e. they have accepted each other as friends), then you can associate them as friends in CometChat. +### Available operations + +| Method | Endpoint | Description | +| ------ | ---------------------- | -------------------------- | +| POST | `/users/{uid}/friends` | Add friends for a user | +| GET | `/users/{uid}/friends` | List all friends of a user | +| DELETE | `/users/{uid}/friends` | Remove friends from a user | + +### Friend properties + The following table lists the properties that the Friends API supports | Parameters | Type | Description | | ---------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------- | -| accepted | array of strings | (*optional*) Indicates an array of UIDs that are to be made friends. Maximum of 25 users can be passed in the accepted array. | +| accepted | array of strings | (_optional_) Indicates an array of UIDs that are to be made friends. Maximum of 25 users can be passed in the accepted array. | + +### Error handling + +| Error Code | Description | +| --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | API key is missing from the request headers | +| `AUTH_ERR_APIKEY_NOT_FOUND` | The provided API key is invalid | +| `ERR_UID_NOT_FOUND` | The specified user UID does not exist | +For the complete list of error codes, see [Error Guide](/articles/error-guide). diff --git a/rest-api/friends/add-friends.mdx b/rest-api/friends/add-friends.mdx index 2327f2ce4..17266436f 100644 --- a/rest-api/friends/add-friends.mdx +++ b/rest-api/friends/add-friends.mdx @@ -1,3 +1,26 @@ --- openapi: post /users/{uid}/friends ---- \ No newline at end of file +description: "The API allows to add multiple friends for a given UID." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ----------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID, or the user has been deactivated | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View the user's current friend list. + + + Remove users from the friend list. + + diff --git a/rest-api/friends/list-friends.mdx b/rest-api/friends/list-friends.mdx index 930cab604..8e3787163 100644 --- a/rest-api/friends/list-friends.mdx +++ b/rest-api/friends/list-friends.mdx @@ -1,3 +1,26 @@ --- openapi: get /users/{uid}/friends ---- \ No newline at end of file +description: "The API allows to fetch friends for a given UID." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ----------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID, or the user has been deactivated | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Add new users to the friend list. + + + Remove users from the friend list. + + diff --git a/rest-api/friends/remove-friends.mdx b/rest-api/friends/remove-friends.mdx index e0035d55f..2477903cf 100644 --- a/rest-api/friends/remove-friends.mdx +++ b/rest-api/friends/remove-friends.mdx @@ -1,3 +1,26 @@ --- openapi: delete /users/{uid}/friends ---- \ No newline at end of file +description: "The API removes friends for a given UID." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ----------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID, or the user has been deactivated | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Re-add users as friends. + + + View the updated friend list. + + diff --git a/rest-api/get-call.mdx b/rest-api/get-call.mdx deleted file mode 100644 index 03e507e1d..000000000 --- a/rest-api/get-call.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /calls/{sessionId} ---- \ No newline at end of file diff --git a/rest-api/group-members.mdx b/rest-api/group-members.mdx index c6d909588..264cecdf1 100644 --- a/rest-api/group-members.mdx +++ b/rest-api/group-members.mdx @@ -1,31 +1,59 @@ --- title: "Overview" +description: "Add, remove, and manage members within CometChat groups." --- - -1. A maximum of 25 users can be added per API Call. -2. For a group with more than 300 members, the conversations and unread message counts are not updated. +The **Group Members** API manages the membership of users within a group. Each member is assigned a scope that determines their permissions inside the group. - +### Key behaviors -The following table lists the properties of an HTTP request that Group Members API supports. +- A maximum of **25 users** can be added per API call across all scope arrays (`admins`, `moderators`, `participants`, `usersToBan`). +- If the same UID appears in multiple scope arrays, the highest scope applies in the order: admin > moderator > participant. +- Individual member addition failures do not cause the overall request to fail — check the `error` objects in the response for per-member status. +- For groups with more than **300 members**, conversations and unread message counts are not updated. -| Parameters | Type | Description | -| ---------------- | ---------------- | ------------------------------------------------------------------------------- | -| **admins** | array of strings | A string array of UIDs of the existing users to be added as group admins. | -| **moderators** | array of strings | A string array of UIDs of the existing users to be added as group moderators. | -| **participants** | array of strings | A string array of UIDs of the existing users to be added as group participants. | -| **usersToBan** | array of strings | A string array of UIDs of the existing users to be added as group participants. | +### Member scopes -The individual member failure can be seen in the error objects in their respective scope. +| Scope | Default assignment | Privileges | +| ------------- | -------------------- | ---------------------------------------------------------------------------------------------------- | +| `admin` | Group creator | Change member scopes, add/kick/ban members, update/delete group, send & receive messages & calls | +| `moderator` | Promoted by an admin | Change scope of participants, kick & ban participants, update group, send & receive messages & calls | +| `participant` | All other members | Send & receive messages & calls | - -If the same UID is added to more than one scopes array then the UID will get the scopes in the order below +### How group members connect to other resources -1. admin -2. moderator -3. participant +- **Groups** — Members belong to a [Group](/rest-api/groups), identified by its GUID. +- **Users** — Each member is a [User](/rest-api/users), identified by their UID. +- **Banned Users** — Members can be [banned](/rest-api/banned-users) from a group by admins or moderators. +- **Roles & RBAC** — A member's app-wide [Role](/rest-api/roles) is checked alongside their group scope. Both must allow an action for it to succeed. See [RBAC & SBAC](/rest-api/rbac-overview). -For example, if the UID superhero1 is part of admins, moderators, and usersToBan arrays then it will appear in the only **members.admins** property in the response. +### Available operations - +| Operation | Method | Endpoint | Description | +| ---------------------------------------------------- | -------- | ------------------------------ | ------------------------------------------ | +| [List Members](/rest-api/group-members/list) | `GET` | `/groups/{guid}/members` | Retrieve all members of a group | +| [Add Members](/rest-api/group-members/add-members) | `POST` | `/groups/{guid}/members` | Add users to a group with specified scopes | +| [Change Scope](/rest-api/group-members/change-scope) | `PUT` | `/groups/{guid}/members/{uid}` | Change a member's scope within the group | +| [Kick Member](/rest-api/group-members/kick) | `DELETE` | `/groups/{guid}/members/{uid}` | Remove a member from the group | + +### Group member properties + +| Property | Type | Description | +| ---------------- | ---------------- | ------------------------------------------------ | +| **admins** | array of strings | UIDs of users to be added as group admins. | +| **moderators** | array of strings | UIDs of users to be added as group moderators. | +| **participants** | array of strings | UIDs of users to be added as group participants. | +| **usersToBan** | array of strings | UIDs of users to be banned from the group. | + +### Error handling + +| Error Code | Description | +| -------------------- | ------------------------------------------ | +| `ERR_GUID_NOT_FOUND` | The specified group does not exist | +| `ERR_UID_NOT_FOUND` | The specified user does not exist | +| `ERR_NOT_A_MEMBER` | The user is not a member of this group | +| `ERR_ALREADY_JOINED` | The user is already a member of this group | + +For the complete list of error codes, see [Error Guide](/articles/error-guide). + +For all system limits (member caps, group thresholds, etc.), see [Properties and Constraints](/articles/properties-and-constraints). diff --git a/rest-api/group-members/add-members.mdx b/rest-api/group-members/add-members.mdx index b89dbc136..a4758d025 100644 --- a/rest-api/group-members/add-members.mdx +++ b/rest-api/group-members/add-members.mdx @@ -1,3 +1,26 @@ --- openapi: post /groups/{guid}/members ---- \ No newline at end of file +description: "Adds multiple users as per the scope." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | 404 | No group exists with the specified GUID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View current group members. + + + Remove a member from the group. + + diff --git a/rest-api/group-members/change-scope.mdx b/rest-api/group-members/change-scope.mdx index fa12b25f5..239ec76a4 100644 --- a/rest-api/group-members/change-scope.mdx +++ b/rest-api/group-members/change-scope.mdx @@ -1,3 +1,27 @@ --- openapi: put /groups/{guid}/members/{uid} ---- \ No newline at end of file +description: "Change scope of a member to the group for a given GUID and UID" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | -------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | 404 | No group exists with the specified GUID | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View current member scopes. + + + Remove a member from the group. + + diff --git a/rest-api/group-members/kick.mdx b/rest-api/group-members/kick.mdx index 7778afaa3..1021c448e 100644 --- a/rest-api/group-members/kick.mdx +++ b/rest-api/group-members/kick.mdx @@ -1,3 +1,27 @@ --- openapi: delete /groups/{guid}/members/{uid} ---- \ No newline at end of file +description: "Removes a member with given UID from a group for a given GUID." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | -------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | 404 | No group exists with the specified GUID | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Ban the user to prevent them from rejoining. + + + Re-add the user later if needed. + + diff --git a/rest-api/group-members/list.mdx b/rest-api/group-members/list.mdx index 3fe0bc254..ae094c982 100644 --- a/rest-api/group-members/list.mdx +++ b/rest-api/group-members/list.mdx @@ -1,3 +1,26 @@ --- openapi: get /groups/{guid}/members ---- \ No newline at end of file +description: "List the members of a group for a given GUID" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | 404 | No group exists with the specified GUID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Add users to this group. + + + Update a member's permission level. + + diff --git a/rest-api/groups.mdx b/rest-api/groups.mdx index cb0ae5926..040ea8a77 100644 --- a/rest-api/groups.mdx +++ b/rest-api/groups.mdx @@ -1,32 +1,74 @@ --- title: "Overview" +description: "Create and manage groups for multi-user conversations — public, private, or password-protected." --- -1. Groups help your users to converse together in a single space. You can have three types of groups - private, public, and password protected. -2. A maximum of 100,000 users can be added to a single group. The following error code would be provided **ERR\_PLAN\_QUOTA\_RESTRICTION** if you're trying to add members greater than the limit. -3. They support typing indicators, unread count, transient messages and read receipts. -4. However, once the size of the group exceeds 300, the conversations and unread message counts are not updated. - - - -GUIDs would be automatically converted to lowercase while creating a group. - - - -The following table lists the properties that the Group API supports. - -| Parameters | Type | Description | -| ------------------ | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **guid** | string | (mandatory) Specifies group's unique ID. Maximum length is 100 characters.Allowed characters: alpha-dash (a-z, 0-9 with -and \_ ) without spaces | -| **name** | string | (mandatory) Specifies the group's name. Maximum length is 100 characters.

It also supports emojis. | -| **type** | string | (optional) Specifies the type of the group.Allowed types are: public private passwordIf type is not passed, then by default public type is assigned. | -| **password** | string | (optional) Specifies the password required for a group. Only required incase of password protected group. | -| **icon** | string | (optional) Specifies the icon of the group. If left empty, no group icon is set for the group.

CometChat doesn’t save the image on its servers.. There is no limit on the image resolution. It depends on the implementation.Maximum length is 3,000 characters. | -| **description** | string | (optional) Specifies the group description.Maximum length is 255 characters. | -| **owner** | string | (optional) Specifies the owner of the group. If passed with the UID of an existing user, the User would be made the owner of the group.

If not passed, the system user would be considered the owner of the group. | -| **metadata** | nested object | (optional) Specifies a JSON object to store up to 1,600 characters (JSON stringified metadata) for additional user information. | -| **tags** | array of strings | (optional) Specifies a list of tags to be associated with certain groups.A maximum of 25 tags can be associated with a single group. | -| **members** | object | (optional) The members object allows adding members with the allowed member scopes and banning users.It can have the below optional properties:

- **admins**: A string array of UIDs of the existing users to be added as group admins.
- **moderators**: A string array of UIDs of the existing users to be added as group moderators.
- **participants**: A string array of UIDs of the existing users to be added as group participants.
- **usersToBan**: A string array of UIDs of the existing users to be added as group participants.

Failure to adding a member or banning a user does not result into create group API failure.
However, the individual member failure can be seen in the error objects in members.If the same UID is added to more than one members array then the scope UID will get the scopes in the order below admin, moderator, participant.
For example, if the UID superhero1 is part of admins, moderators and usersToBan arrays then it will appear in the only members.admins property in the response.A maximum of 25 users can be added across all the scopes of member objects. | -| **membersCount** | integer | Specifies the number of members in the group. | -| **createdAt** | integer | UNIX Timestamp specifies the time when the group was created. | -| **conversationId** | string | Specifies the conversation ID of the group. | +A **Group** is a shared conversation space where multiple users can exchange messages and make calls. Groups are identified by a unique `guid` that you assign during creation and cannot change afterward. + +CometChat supports three group types: + +| Type | Visibility | Join behavior | +| ---------- | -------------------------- | ----------------------------------------------- | +| `public` | Listed and searchable | Any user can join without approval | +| `private` | Hidden from group listings | Users must be added by an admin | +| `password` | Listed and searchable | Users must provide the correct password to join | + +If no type is specified during creation, the group defaults to `public`. + +### Key behaviors + +- A group can hold up to **100,000 members**. Groups with **300 or fewer members** support all features including delivery/read receipts, typing indicators, and unread message counts. Above 300 members, these features are disabled for performance. +- GUIDs are automatically converted to **lowercase** during creation. +- A user can be a member of up to **2,000 groups**. +- Up to **25 members** can be added in a single [Create Group](/rest-api/groups/create) call via the `members` object. + +### How groups connect to other resources + +- **Group Members** — Users join groups with a scope (`admin`, `moderator`, or `participant`). Manage membership via the [Group Members API](/rest-api/group-members). +- **Messages** — Users send and receive [Messages](/rest-api/messages) within a group conversation. +- **Banned Users** — Admins and moderators can [ban members](/rest-api/banned-users) from a group, preventing them from rejoining until unbanned. +- **Roles & RBAC** — A user's [Role](/rest-api/roles) controls app-wide permissions, while their group scope controls in-group permissions. See [RBAC & SBAC](/rest-api/rbac-overview). +- **Conversations** — Each group has a corresponding [Conversation](/rest-api/conversations) that tracks the last message and unread count. + +### Available operations + +| Operation | Method | Endpoint | Description | +| --------------------------------- | -------- | ---------------- | ---------------------------------------------- | +| [List](/rest-api/groups/list) | `GET` | `/groups` | Retrieve a paginated list of groups | +| [Create](/rest-api/groups/create) | `POST` | `/groups` | Create a new group | +| [Get](/rest-api/groups/get) | `GET` | `/groups/{guid}` | Retrieve a specific group's details | +| [Update](/rest-api/groups/update) | `PUT` | `/groups/{guid}` | Modify a group's name, icon, type, or metadata | +| [Delete](/rest-api/groups/delete) | `DELETE` | `/groups/{guid}` | Permanently delete a group | + +### Group properties + +| Property | Type | Description | +| ------------------ | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **guid** | string | **Required.** Group's unique identifier. Max 100 characters. Alphanumeric with dashes and underscores only, no spaces. Case-insensitive and immutable after creation. | +| **name** | string | **Required.** Display name for the group. Max 100 characters. Supports all languages and emojis (UTF8mb4). | +| **type** | string | Group type: `public`, `private`, or `password`. Defaults to `public` if not specified. | +| **password** | string | Password for joining a password-protected group. Only applicable when `type` is `password`. | +| **icon** | string | URL to the group's icon image. Max 3,000 characters. CometChat stores the URL, not the image itself. | +| **description** | string | Brief description of the group. Max 255 characters (UTF8mb4). | +| **owner** | string | UID of the group owner. If not specified during creation, the system user is assigned as owner. | +| **metadata** | object | JSON object for storing additional group information. Max 5 KB. | +| **tags** | array of strings | Tags for categorizing and filtering groups. Max 25 tags per group, 100 characters each (UTF8mb4). | +| **members** | object | Used during creation to add initial members. Accepts `admins`, `moderators`, `participants`, and `usersToBan` arrays (max 25 users total across all scopes). If a UID appears in multiple arrays, the highest scope applies in the order: admin > moderator > participant. Individual member failures do not cause the create request to fail. | +| **membersCount** | integer | Number of members in the group. Read-only. | +| **conversationId** | string | Conversation ID associated with this group. Read-only. | +| **createdAt** | integer | UNIX timestamp indicating when the group was created. Read-only. | + +### Error handling + +| Error Code | Description | +| ---------------------------- | -------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | API key is missing from the request headers | +| `AUTH_ERR_APIKEY_NOT_FOUND` | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | The specified GUID does not exist | +| `ERR_GUID_ALREADY_EXISTS` | A group with this GUID already exists | +| `ERR_PLAN_QUOTA_RESTRICTION` | The group has reached the maximum member limit (100,000) | + +For the complete list of error codes, see [Error Guide](/articles/error-guide). + +For all system limits (member caps, metadata size, tag counts, etc.), see [Properties and Constraints](/articles/properties-and-constraints). diff --git a/rest-api/groups/create.mdx b/rest-api/groups/create.mdx index 289f06286..c11ea0307 100644 --- a/rest-api/groups/create.mdx +++ b/rest-api/groups/create.mdx @@ -1,3 +1,48 @@ --- openapi: post /groups ---- \ No newline at end of file +description: "Creates a group." +--- + +## Constraints + +| Item | Constraint | Notes | +| -------------------------------------------- | --------------------------------- | ---------------------------------------------------------------------------------------------------- | +| GUID character limit | 100 characters | Alphanumeric with dashes only; spaces not allowed | +| Group name | 100 characters (UTF8mb4) | Supports all languages and emojis | +| Maximum users in a group (with all features) | 300 | Groups up to 300 members support all features including delivery/read receipts and typing indicators | +| Maximum users in a group (without receipts) | 100,000 (up to 10,000 concurrent) | Large groups disable delivery/read receipts and typing indicators for performance | +| Group password | 100 characters max | Only applicable for password-protected groups | +| Group description | 255 characters (UTF8mb4) | Brief summary of the group's purpose | +| Maximum groups | No limit | Create as many groups as needed; billing based on active users | +| Typing indicators for groups | Up to 1000 online users | Disabled for larger groups to optimize performance | +| Unread message counts for groups | Up to 300 members | Not updated for groups with more than 300 members | +| Delivery and read receipts for groups | Up to 300 online users | Disabled in large groups to reduce server load | +| Active presence subscriptions | Up to 1000 online users | Presence notifications not sent beyond this limit | + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ---------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_ALREADY_EXISTS` | 409 | A group with the same GUID already exists (GUIDs are case-insensitive) | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Next steps + + + + Add users to the newly created group. + + + Send the first message in the group. + + + Verify the group appears in your app's group list. + + + Modify group settings after creation. + + diff --git a/rest-api/groups/delete.mdx b/rest-api/groups/delete.mdx index 50402aaf7..2ea9c4b40 100644 --- a/rest-api/groups/delete.mdx +++ b/rest-api/groups/delete.mdx @@ -1,3 +1,26 @@ --- openapi: delete /groups/{guid} ---- \ No newline at end of file +description: "Deletes a group with a given GUID." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | 404 | No group exists with the specified GUID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View remaining groups. + + + Create a new group. + + diff --git a/rest-api/groups/get.mdx b/rest-api/groups/get.mdx index 62fd8d0b5..c4313ff12 100644 --- a/rest-api/groups/get.mdx +++ b/rest-api/groups/get.mdx @@ -1,3 +1,26 @@ --- openapi: get /groups/{guid} ---- \ No newline at end of file +description: "Retrieves details of a group for a given GUID." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | 404 | No group exists with the specified GUID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Modify group settings. + + + View members of this group. + + diff --git a/rest-api/groups/list.mdx b/rest-api/groups/list.mdx index 26ba6da3f..48c6cfbb6 100644 --- a/rest-api/groups/list.mdx +++ b/rest-api/groups/list.mdx @@ -1,3 +1,25 @@ --- openapi: get /groups ---- \ No newline at end of file +description: "Lists the groups." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Create a new group. + + + Retrieve details for a specific group. + + diff --git a/rest-api/groups/update.mdx b/rest-api/groups/update.mdx index b83b51d64..9f4498b37 100644 --- a/rest-api/groups/update.mdx +++ b/rest-api/groups/update.mdx @@ -1,3 +1,26 @@ --- openapi: put /groups/{guid} ---- \ No newline at end of file +description: "Updates the group details for a given GUID." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | 404 | No group exists with the specified GUID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Retrieve current group details. + + + Add users to this group. + + diff --git a/rest-api/list-calls.mdx b/rest-api/list-calls.mdx deleted file mode 100644 index 8dacc1447..000000000 --- a/rest-api/list-calls.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /calls ---- \ No newline at end of file diff --git a/rest-api/management-apis.mdx b/rest-api/management-apis.mdx index 45ca9ad47..6a42e87a4 100644 --- a/rest-api/management-apis.mdx +++ b/rest-api/management-apis.mdx @@ -1,10 +1,21 @@ --- title: "Overview" +description: "Manage CometChat applications at the account level with Multi-Tenancy APIs." --- -Welcome to the CometChat's Multi-Tenancy API documentation!\ +Welcome to CometChat's Multi-Tenancy API documentation!\ This comprehensive guide offers in-depth insights into the Multi-tenancy APIs provided by CometChat. Access to Multi-tenancy APIs is exclusive to clients with plans that support this feature. To verify feature availability in your plan, please refer to our pricing page: [https://www.cometchat.com/pricing](https://www.cometchat.com/pricing). +## API Resources + +| Resource | Description | +| -------- | ----------- | +| [Apps](/rest-api/management-apis/app) | Create, list, delete apps, and fetch usage | +| [Settings](/rest-api/management-apis/settings) | List, map, and unmap app-level settings | +| [Extensions](/rest-api/management-apis/extensions) | List, enable/disable, and configure extensions | +| [Webhooks](/rest-api/management-apis/webhooks) | Create, list, update, delete webhooks and manage triggers | +| [Team Management](/rest-api/management-apis/team-management) | List and manage collaborators | + ## Introduction The Multi-Tenancy API provided by CometChat empowers users to execute a wide array of operations at the application level.\ @@ -40,1460 +51,4 @@ curl -X POST \ -*key and secret need to be replaced in the curl request.* - -## Sample Code - -To further assist you in integrating CometChat's REST API into your application, we provide sample code snippets in popular programming languages such as JavaScript, Python, NodeJS, and PHP. These snippets demonstrate how to make API requests and handle responses, helping you kickstart your development process. - - - - - -## Support - -If you encounter any issues or have questions regarding CometChat's REST API, our dedicated support team is here to assist you. Feel free to create a [support ticket](https://help.cometchat.com/hc/en-us/requests/new) or seek real-time support via the [CometChat Dashboard](https://app.cometchat.com/). we'll be more than happy to help you resolve any issues promptly. - -## Webhooks: - - - - -1. The Webhook API documentation provides comprehensive guidance on how to integrate and utilize Webhook functionality for real-time event-driven communication. -2. Our platform is designed around the concept of event-driven communication. It allows your applications to subscribe to specific events and receive instant notifications when these events occur. - - - - - -### Please review the following requirements for setting up your webhook endpoint: - - -1. Your webhook endpoint must be accessible over HTTPS. This is essential to ensure the security and integrity of data transmission. -2. Provide us with the URL where you'd like to receive webhook payloads. Webhook payloads would be in JSON format. This URL should be publicly accessible from the internet. -3. Ensure that your endpoint supports the HTTP POST method. Webhook payloads will be delivered via HTTP POST requests. -4. Configure your endpoint to respond immediately to the CometChat server with a 200 OK response. -5. We recommend you use Basic Auth while configuring webhook, so as to validate incoming webhook requests. - - - -Here is the list of properties associated with Webhook. - -| Parameters | Type | Description | -| ------------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| id | string | Unique identifier of the webhook. It can have a maximum of 50 characters. | -| name | string | Display name of the webhook. It can have a maximum of 50 characters. | -| webhookURL | string | The webhookURL field represents the target URL to which webhook events will be delivered. | -| useBasicAuth | boolean | The useBasicAuth field is a boolean flag that indicates whether basic authentication should be applied when sending webhook requests to the specified webhookURL | -| username | string | This field should contain the username or identifier associated with the authentication credentials. | -| password | string | This field should contain the secret password that corresponds to the provided username. | -| enabled | boolean | The enabled field is a boolean flag that determines whether a webhook is currently active and capable of receiving and processing incoming events | - -### The list of triggers that are supported: - - -Note: The below mentioned list of triggers are in Beta. - - - - - -| triggerId | Description | -| ------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | -| [`message_sent`](#message_sent) | The hook triggers after the message is sent. | -| [`message_edited`](#message_edited) | The hook triggers after the message is edited. | -| [`message_deleted`](#message_deleted) | The hook triggers after the message is deleted. | -| [`message_reaction_added`](#message_reaction_added) | The hook triggers after reaction is added to a message. | -| [`message_reaction_removed`](#message_reaction_removed) | The hook triggers after reaction is removed from a message. | -| [`user_blocked`](#user_blocked) | The hook triggers when a user blocks another user. | -| [`user_unblocked`](#user_unblocked) | The hook triggers when a user unblocks another user. | -| [`group_created`](#group_created) | The hook triggers after the group is created. | -| [`group_updated`](#group_updated) | The hook triggers after the group is updated. | -| [`group_deleted`](#group_deleted) | The hook triggers after the group is deleted. | -| [`group_member_joined`](#group_member_joined) | The hook triggers after a user joins a group. | -| [`group_member_left`](#group_member_left) | The hook triggers after a user leaves the group. | -| [`group_member_added`](#group_member_added) | The hook triggers after members are added to a group. | -| [`group_member_kicked`](#group_member_kicked) | The hook triggers after members are kicked from a group. | -| [`group_member_banned`](#group_member_banned) | The hook triggers after members are banned from a group. | -| [`group_member_unbanned`](#group_member_unbanned) | The hook triggers after members are unbanned from a group. | -| [`group_member_scope_changed`](#group_member_scope_changed) | The hook triggers if the scope of a member changes in a group. | -| [`group_owner_transferred`](#group_owner_transferred) | The hook triggers if the owner of the group is changed. | -| [`user_connection_status_changed`](#user_connection_status_changed) | The hook triggers after a user connects/disconnects from the websocket server. | -| [`message_delivery_receipt`](#message_delivery_receipt) | The hook triggers when the client chat application confirms with Cometchat servers that a message was delivered. | -| [`message_read_receipt`](#message_read_receipt) | The hook triggers when the client chat application confirms with Cometchat servers that a message was read. | -| [`call_initiated`](#call_initiated) | The hook triggers when the call is initiated. | -| [`call_started`](#call_started) | The hook triggers when the call is started. | -| [`call_participant_joined`](#call_participant_joined) | The hook triggers when a participant joins the call. | -| [`call_participant_left`](#call_participant_left) | The hook triggers when a participant leaves the call. | -| [`call_ended`](#call_ended) | The hook triggers when the call is ended. | -| [`meeting_started`](#meeting_started) | The hook triggers when a meeting is started. | -| [`meeting_participant_joined`](#meeting_participant_joined) | The hook triggers when a participant joins the meeting. | -| [`meeting_participant_left`](#meeting_participant_left) | The hook triggers when a participant leaves the meeting. | -| [`meeting_ended`](#meeting_ended) | The hook triggers when the meeting is ended. | -| [`recording_generated`](#recording_generated) | The hook triggers when the recording is generated. | - -### Payload structure of events: - -#### Groups: - -##### group\_created: - - - -```json group_created -{ - "trigger":"group_created", - "data":{ - "group":{ - "guid":"supergroup", - "name":"Comic Hero Group", - "type":"public", - "scope":"admin", - "membersCount":1, - "joinedAt":1696932915, - "conversationId":"group_supergroup", - "hasJoined":true, - "createdAt":1696932915, - "owner":"superhero1" - }, - "members":{ - "superhero1":{ - "uid":"superhero1", - "name":"Iron Man", - "status":"available", - "role":"default", - "lastActiveAt":1696932834 - } - } - }, - "appId":"", - "region":"", - "webhook":"" -} -``` - - - -##### group\_updated: - - - -```json group_updated -{ - "trigger": "group_updated", - "data": { - "group": { - "guid": "supergroup", - "name": "Comic Hero Group", - "type": "public", - "membersCount": 2, - "conversationId": "group_supergroup", - "createdAt": 1695728507, - "owner": "superhero2", - "updatedAt": 1696934048, - "updatedBy": "superhero1", - "onlineMembersCount": 2 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### group\_deleted: - - - -```json group_deleted -{ - "trigger": "group_deleted", - "data": { - "group": { - "guid": "supergroup", - "name": "1234", - "type": "public", - "membersCount": 1, - "conversationId": "group_supergroup", - "createdAt": 1695722912, - "owner": "superhero1", - "updatedAt": 1695817083, - "updatedBy": "superhero1", - "onlineMembersCount": 1 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### group\_owner\_transferred: - - - -```json group_owner_transferred -{ - "trigger": "group_owner_transferred", - "data": { - "group": { - "guid": "supergroup", - "name": "Comic Hero Group", - "type": "public", - "membersCount": 2, - "conversationId": "group_supergroup", - "createdAt": 1695728507, - "owner": "superhero2", - "updatedAt": 1696933737, - "updatedBy": "superhero1", - "onlineMembersCount": 2, - "oldOwner": "superhero1" - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### group\_member\_added: - - - -```json group_member_added -{ - "trigger": "group_member_added", - "data": { - "group": { - "guid": "supergroup", - "name": "Comic Hero Group", - "type": "public", - "membersCount": 2, - "conversationId": "group_supergroup", - "createdAt": 1696932915, - "owner": "superhero1", - "onlineMembersCount": 1 - }, - "members": { - "superhero2": { - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/captainamerica.png", - "status": "offline", - "role": "default", - "lastActiveAt": 1695751453, - "conversationId": "superhero1_user_superhero2" - } - }, - "by": { - "uid": "superhero1", - "name": "Iron Man", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/ironman.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696932834 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### group\_member\_banned: - - - -```json group_member_banned -{ - "trigger": "group_member_banned", - "data": { - "group": { - "guid": "supergroup", - "name": "Comic Hero Group", - "type": "public", - "membersCount": 1, - "conversationId": "group_group__1696932914913", - "createdAt": 1696932915, - "owner": "superhero1", - "updatedAt": 1696933533, - "onlineMembersCount": 1 - }, - "members": { - "superhero2": { - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/captainamerica.png", - "status": "offline", - "role": "default", - "lastActiveAt": 1695751453, - "conversationId": "superhero1_user_superhero2" - } - }, - "by": { - "uid": "superhero1", - "name": "Iron Man", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/ironman.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696932834 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### group\_member\_unbanned: - - - -```json group_member_unbanned -{ - "trigger": "group_member_unbanned", - "data": { - "members": { - "superhero2": { - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/captainamerica.png", - "status": "offline", - "role": "default", - "lastActiveAt": 1695751453, - "conversationId": "superhero1_user_superhero2" - } - }, - "group": { - "guid": "supergroup", - "name": "Comic Hero Group", - "type": "public", - "membersCount": 1, - "conversationId": "group_supergroup", - "createdAt": 1696932915, - "owner": "superhero1", - "updatedAt": 1696933533, - "onlineMembersCount": 1 - }, - "by": { - "uid": "superhero1", - "name": "Iron Man", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/ironman.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696932834 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### group\_member\_joined: - - - -```json group_member_joined -{ - "trigger": "group_member_joined", - "data": { - "members": { - "superhero2": { - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/captainamerica.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696933689 - } - }, - "group": { - "guid": "supergroup", - "name": "Comic Hero Group", - "type": "public", - "membersCount": 2, - "conversationId": "group_supergroup", - "createdAt": 1695728507, - "owner": "superhero1", - "updatedAt": 1696933691, - "onlineMembersCount": 1 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### group\_member\_left: - - - -```json group_member_left -{ - "trigger": "group_member_left", - "data": { - "members": { - "superhero2": { - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/captainamerica.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696933689 - } - }, - "group": { - "guid": "supergroup", - "name": "Comic Hero Group", - "type": "public", - "membersCount": 1, - "conversationId": "group_supergroup", - "createdAt": 1695722891, - "owner": "superhero1", - "updatedAt": 1696933827, - "onlineMembersCount": 1 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### group\_member\_changed: - - - -```json group_member_scope_changed -{ - "trigger": "group_member_scope_changed", - "data": { - "members": { - "superhero2": { - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/captainamerica.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696933928, - "conversationId": "superhero1_user_superhero2", - "scope": "admin", - "oldScope": "participant" - } - }, - "group": { - "guid": "supergroup", - "name": "Comic Hero Group", - "type": "public", - "membersCount": 2, - "conversationId": "group_supergroup", - "createdAt": 1695722891, - "owner": "superhero1", - "updatedAt": 1696933925, - "onlineMembersCount": 2 - }, - "by": { - "uid": "superhero1", - "name": "Iron Man", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/ironman.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696933934 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### group\_member\_kicked: - - - -```json group_member_kicked -{ - "trigger": "group_member_kicked", - "data": { - "members": { - "superhero2": { - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/captainamerica.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696933689, - "conversationId": "superhero1_user_superhero2" - } - }, - "group": { - "guid": "supergroup", - "name": "Comic Hero Group", - "type": "public", - "membersCount": 1, - "conversationId": "group_supergroup", - "createdAt": 1695722891, - "owner": "superhero1", - "updatedAt": 1696933889, - "onlineMembersCount": 8 - }, - "by": { - "uid": "superhero1", - "name": "Iron Man", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/ironman.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696933881 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -**Messages:** - -##### message\_sent: - - - -```json message_sent -{ - "trigger": "message_sent", - "data": { - "message": { - "id": "1", - "conversationId": "superhero1_user_superhero2", - "sender": "superhero1", - "receiverType": "user", - "receiver": "superhero2", - "category": "message", - "type": "text", - "data": { - "text": "hi", - "entities": { - "sender": { - "entity": { - "uid": "superhero1", - "name": "Iron Man", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/ironman.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696934440 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/captainamerica.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696934491, - "conversationId": "superhero1_user_superhero2" - }, - "entityType": "user" - } - } - }, - "sentAt": 1696934912, - "updatedAt": 1696934912 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### message\_edited: - - - -```json message_edited -{ - "trigger": "message_edited", - "data": { - "message": { - "id": "2", - "conversationId": "superhero1_user_superhero2", - "sender": "superhero1", - "receiverType": "user", - "receiver": "superhero2", - "category": "action", - "type": "message", - "data": { - "action": "edited", - "entities": { - "by": { - "entity": { - "uid": "superhero1", - "name": "Iron Man", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/ironman.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696934440 - }, - "entityType": "user" - }, - "for": { - "entity": { - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/captainamerica.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696934491, - "conversationId": "superhero1_user_superhero2" - }, - "entityType": "user" - }, - "on": { - "entity": { - "id": "1", - "conversationId": "superhero1_user_superhero2", - "sender": "superhero1", - "receiverType": "user", - "receiver": "superhero2", - "category": "message", - "type": "text", - "data": { - "text": "hello", - "entities": { - "sender": { - "entity": { - "uid": "superhero1", - "name": "Iron Man", - "role": "default", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/ironman.png", - "status": "available", - "lastActiveAt": 1696934440 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "superhero2", - "name": "Captain America", - "role": "default", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/captainamerica.png", - "status": "available", - "lastActiveAt": 1696934491, - "conversationId": "superhero1_user_superhero2" - }, - "entityType": "user" - } - } - }, - "sentAt": 1696934912, - "editedAt": 1696934985, - "editedBy": "superhero1", - "deliveredAt": 1696934912, - "readAt": 1696934950, - "updatedAt": 1696934985 - }, - "entityType": "message" - } - }, - }, - "sentAt": 1696934985, - "updatedAt": 1696934985 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### message\_deleted: - - - -```json message_deleted -{ - "trigger": "message_deleted", - "data": { - "message": { - "id": "3", - "conversationId": "superhero1_user_superhero2", - "sender": "superhero1", - "receiverType": "user", - "receiver": "superhero2", - "category": "action", - "type": "message", - "data": { - "action": "deleted", - "entities": { - "by": { - "entity": { - "uid": "superhero1", - "name": "Iron Man", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/ironman.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696934440 - }, - "entityType": "user" - }, - "for": { - "entity": { - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/captainamerica.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696934491, - "conversationId": "superhero1_user_superhero2" - }, - "entityType": "user" - }, - "on": { - "entity": { - "id": "2", - "conversationId": "superhero1_user_superhero2", - "sender": "superhero1", - "receiverType": "user", - "receiver": "superhero2", - "category": "message", - "type": "text", - "data": { - "entities": { - "sender": { - "entity": { - "uid": "superhero1", - "name": "Iron Man", - "role": "default", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/ironman.png", - "status": "available", - "lastActiveAt": 1696934440 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "superhero2", - "name": "Captain America", - "role": "default", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/captainamerica.png", - "status": "available", - "lastActiveAt": 1696934491, - "conversationId": "superhero1_user_superhero2" - }, - "entityType": "user" - } - } - }, - "sentAt": 1696934912, - "deliveredAt": 1696934912, - "readAt": 1696934950, - "deletedAt": 1696935005, - "updatedAt": 1696935005, - "deletedBy": "superhero1" - }, - "entityType": "message" - } - }, - }, - "sentAt": 1696935005, - "updatedAt": 1696935005 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### message\_delivery\_receipt: - - - -```json message_delivery_receipt -{ - "trigger": "message_delivery_receipt", - "data": { - "receiver": "superhero1", - "receiverType": "user", - "type": "receipts", - "sender": "superhero2", - "messageSender": "superhero1", - "body": { - "action": "delivered", - "messageId": "57", - "user": { - "hasBlockedMe": false, - "blockedByMe": false, - "deactivatedAt": 0, - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/captainamerica.png", - "lastActiveAt": 1696934489, - "role": "default", - "status": "online" - }, - "timestamp": 1696934912 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### message\_read\_receipt: - - - -```json message_read_receipt -{ - "trigger": "message_read_receipt", - "data": { - "receiver": "superhero1", - "receiverType": "user", - "type": "receipts", - "sender": "superhero2", - "messageSender": "superhero1", - "body": { - "action": "read", - "messageId": "57", - "user": { - "hasBlockedMe": false, - "blockedByMe": false, - "deactivatedAt": 0, - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/captainamerica.png", - "lastActiveAt": 1696934489, - "role": "default", - "status": "online" - }, - "timestamp": 1696934950 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### message\_reaction\_removed: - - - -```json message_reaction_removed -{ - "trigger": "message_reaction_removed", - "data": { - "reaction": { - "id": "", - "messageId": "", - "reaction": "🏒", - "uid": "superhero1", - "reactedAt": 1700231289, - "reactedBy": { - "uid": "superhero1", - "name": "Iron Man", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/ironman.png", - "status": "offline", - "role": "default", - "lastActiveAt": 1700652818 - } - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### message\_reaction\_added: - - - -```json message_reaction_added -{ - "trigger": "message_reaction_added", - "data": { - "reaction": { - "id": "", - "messageId": "", - "reaction": "🏒", - "uid": "superhero1", - "reactedAt": 1700655536, - "reactedBy": { - "uid": "superhero1", - "name": "Iron Man", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/ironman.png", - "status": "offline", - "role": "default", - "lastActiveAt": 1700652818 - } - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -**Users:** - -##### user\_connection\_status\_changed: - - - -```json user_connection_status_changed -{ - "trigger": "user_connection_status_changed", - "data": { - "timestamp": 1696935103114, - "user": { - "uid": "superhero1", - "name": "Iron Man", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/ironman.png", - "status": "offline", - "role": "default", - "lastActiveAt": 1693916686 - }, - "status": "offline", - "currentConnection": { - "action": "disconnected", - "appInfo": { - "version": "3.0.12", - "apiVersion": "v3.0", - "origin": "http://localhost:5173", - "uts": 1696934440846, - "clientIp": "3.128.113.92" - }, - "platform": "javascript", - "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", - "connectedAt": 1696934440982 - }, - "userPresenceChanged": true - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### user\_blocked: - - - -```json user_blocked -{ - "trigger": "user_blocked", - "data": { - "users": { - "superhero2": { - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/captainamerica.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696934491, - "conversationId": "superhero1_user_superhero2" - } - }, - "by": { - "uid": "superhero1", - "name": "Iron Man", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/ironman.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696935105 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### user\_unblocked: - - - -```json user_unblocked -{ - "trigger": "user_unblocked", - "data": { - "users": { - "superhero2": { - "uid": "superhero2", - "name": "Captain America", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/captainamerica.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696934491, - "conversationId": "superhero1_user_superhero2" - } - }, - "by": { - "uid": "superhero1", - "name": "Iron Man", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/ironman.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696935105 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### user\_mentioned: - - - -```json user_mentioned -{ - "trigger": "user_mentioned", - "data": { - "message": { - "id": "4", - "conversationId": "superhero1_user_superhero2", - "sender": "superhero1", - "receiverType": "user", - "receiver": "superhero2", - "category": "message", - "type": "text", - "data": { - "text": "Hi <@uid:superhero2>", - "entities": { - "sender": { - "entity": { - "uid": "superhero1", - "name": "Captain America", - "status": "offline", - "role": "default", - "createdAt": 1702025699 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "superhero2", - "name": "IronMan", - "status": "available", - "role": "default", - "lastActiveAt": 1702028122, - "createdAt": 1701931840, - "conversationId": "superhero1_user_superhero2" - }, - "entityType": "user" - } - }, - "mentions": { - "superhero2": { - "uid": "superhero2", - "name": "IronMan", - "status": "available", - "role": "default", - "lastActiveAt": 1702028122, - "createdAt": 1701931840, - "conversationId": "superhero1_user_superhero2" - } - } - }, - "sentAt": 1702028666, - "updatedAt": 1702028666 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -**Call & Meeting** - -##### call\_initiated: - - - -```json call_initiated -{ - "trigger": "call_initiated", - "data": { - "call": { - "id": "52", - "conversationId": "superhero1_user_superhero5", - "sender": "superhero1", - "receiverType": "user", - "receiver": "superhero5", - "category": "call", - "type": "audio", - "data": { - "action": "initiated", - "entities": { - "by": { - "entity": { - "uid": "superhero1", - "name": "Iron Man", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/ironman.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696933934 - }, - "entityType": "user" - }, - "for": { - "entity": { - "uid": "superhero5", - "name": "Cyclops", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/cyclops.png", - "status": "offline", - "role": "default", - "conversationId": "superhero1_user_superhero5" - }, - "entityType": "user" - }, - "on": { - "entity": { - "sessionid": "", - "conversationId": "superhero1_user_superhero5", - "sender": "superhero1", - "receiverType": "user", - "receiver": "superhero5", - "status": "initiated", - "type": "audio", - "data": { - "entities": { - "sender": { - "entity": { - "uid": "superhero1", - "name": "Iron Man", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/ironman.png", - "status": "available", - "role": "default", - "lastActiveAt": 1696933934 - }, - "entityType": "user" - }, - "receiver": { - "entity": { - "uid": "superhero5", - "name": "Cyclops", - "avatar": "https://data-us.cometchat-staging.com/assets/images/avatars/cyclops.png", - "status": "offline", - "role": "default", - "conversationId": "superhero1_user_superhero5" - }, - "entityType": "user" - } - } - }, - "initiatedAt": 1696934199, - "joinedAt": 1696934199 - }, - "entityType": "call" - } - }, - "resource": "WEB-3_0_12-acfa8397-42f0-4f19-bc28-bc7db316ecaf-1696933879599" - }, - "sentAt": 1696934199, - "updatedAt": 1696934199 - } - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### call\_started: - - - -```json call_started -{ - "trigger": "call_started", - "data": { - "created_at": 1696934572, - "sessionId": "" - }, - "type": "call", - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### call\_ended: - - - -```json call_ended -{ - "trigger": "call_ended", - "data": { - "all_occupants": [ - { - "joined_at": 1696934501, - "audio_call": "true", - "left_at": 1696934553, - "name": "Captain America" - }, - { - "joined_at": 1696934501, - "audio_call": "true", - "left_at": 1696934551, - "name": "Iron Man" - } - ], - "destroyed_at": 1696934553, - "created_at": 1696934501, - "sessionId": "" - }, - "type": "call", - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### call\_participant\_joined: - - - -```json call_participant_joined -{ - "trigger": "call_participant_joined", - "data": { - "occupant": { - "joined_at": 1696934573, - "audio_call": "true", - "name": "Iron Man" - }, - "initial_config": { - "is_video_muted": "false", - "start_recording_on_call_start": "false", - "call_version": "2.3.0", - "is_audio_muted": "false", - "sdk": "react", - "mode": "DEFAULT", - "platform": "web", - "is_audio_only": "true" - }, - "sessionId": "" - }, - "type": "call", - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### call\_participant\_left: - - - -```json call_participant_left -{ - "trigger": "call_participant_left", - "data": { - "occupant": { - "joined_at": 1696934501, - "audio_call": "true", - "left_at": 1696934553, - "name": "Captain America" - }, - "sessionId": "" - }, - "type": "call", - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### meeting\_started: - - - -```json meeting_started -{ - "trigger": "meeting_started", - "data": { - "created_at": 1696934692, - "sessionId": "" - }, - "type": "meet", - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### meeting\_participant\_joined: - - - -```json meeting_participant_joined -{ - "trigger": "meeting_participant_joined", - "data": { - "occupant": { - "joined_at": 1696934692, - "audio_call": "false", - "name": "Iron Man" - }, - "initial_config": { - "is_video_muted": "false", - "start_recording_on_call_start": "false", - "call_version": "2.3.0", - "is_audio_muted": "false", - "sdk": "react", - "mode": "DEFAULT", - "platform": "web", - "is_audio_only": "false" - }, - "sessionId": "" - }, - "type": "meet", - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### meeting\_participant\_left: - - - -```json meeting_participant_left -{ - "trigger": "meeting_participant_left", - "data": { - "occupant": { - "joined_at": 1696934692, - "audio_call": "false", - "left_at": 1696934730, - "name": "Iron Man" - }, - "sessionId": "" - }, - "type": "meet", - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### meeting\_ended: - - - -```json meeting_ended -{ - "trigger": "meeting_ended", - "data": { - "all_occupants": [ - { - "joined_at": 1696934692, - "audio_call": "false", - "left_at": 1696934730, - "name": "Iron Man" - } - ], - "destroyed_at": 1696934730, - "created_at": 1696934692, - "sessionId": "" - }, - "type": "meet", - "appId": "", - "region": "", - "webhook": "" -} -``` - - - -##### recording\_generated: - - - -```json JSON -{ - "trigger": "recording_generated", - "data": { - "recordingDate": "2023-10-10", - "duration": "21.433000", - "startTime": "1696937627", - "sessionId": "", - "recording_url": "" - }, - "appId": "", - "region": "", - "webhook": "" -} -``` - - +_key and secret need to be replaced in the curl request._ diff --git a/rest-api/management-apis/app/create.mdx b/rest-api/management-apis/app/create.mdx index 0a2ec5395..15b8f93f2 100644 --- a/rest-api/management-apis/app/create.mdx +++ b/rest-api/management-apis/app/create.mdx @@ -1,3 +1,29 @@ --- openapi: post /apps ---- \ No newline at end of file +description: "Creates an app in the account. It returns all the app related information." +--- + +## Constraints + +| Item | Constraint | Notes | +| ----------------------------- | ------------------------ | --------------------------------- | +| App name | 100 characters (UTF8mb4) | Supports all languages and emojis | +| App version | v3 | Only option available | +| Maximum collaborators per app | 25 | Team management limit | + +## Common errors + +| Error Code | HTTP Status | Cause | +| ----------------------------- | ----------- | ------------------------------------------------------ | +| `AUTH_ERR_EMPTY_APPID` | 401 | The `appId` is missing from the request | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/app/delete.mdx b/rest-api/management-apis/app/delete.mdx index 4ed04ec11..628653ee8 100644 --- a/rest-api/management-apis/app/delete.mdx +++ b/rest-api/management-apis/app/delete.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId} ---- \ No newline at end of file +description: "Schedule a specific app for deletion." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ----------------------------- | ----------- | --------------------------------------------------------------- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/app/fetch-usage.mdx b/rest-api/management-apis/app/fetch-usage.mdx index a9fc7fbc1..6f85c9ef4 100644 --- a/rest-api/management-apis/app/fetch-usage.mdx +++ b/rest-api/management-apis/app/fetch-usage.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/usage ---- \ No newline at end of file +description: "Retrieves usage data for multi-tenant apps." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ----------------------------- | ----------- | --------------------------------------------------------------- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/app/list.mdx b/rest-api/management-apis/app/list.mdx index 19881d052..115f2c7c2 100644 --- a/rest-api/management-apis/app/list.mdx +++ b/rest-api/management-apis/app/list.mdx @@ -1,3 +1,20 @@ --- openapi: get /apps ---- \ No newline at end of file +description: "Lists all the apps for an account." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ----------------------------- | ----------- | ------------------------------------------------------ | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/error-codes.mdx b/rest-api/management-apis/error-codes.mdx new file mode 100644 index 000000000..0329b869c --- /dev/null +++ b/rest-api/management-apis/error-codes.mdx @@ -0,0 +1,39 @@ +--- +title: "Error Codes" +sidebarTitle: "Error Codes" +description: "Error Codes for CometChat REST API." +--- + +Error codes specific to the Management APIs (Multi-Tenancy). + +## App Management + +| Error Code | Description | +| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| `ERR_APP_CREATION_FAILED_MAX_LIMIT` | You have reached the maximum number of complimentary apps allowed. Delete an existing app or upgrade to a paid plan, then try again. | +| `ERR_APP_ARCHIVED` | The app has been archived and will be permanently deleted after 30 days. | +| `ERR_APP_DELETION` | The app is associated with a paid subscription. Contact CometChat support before deleting. | +| `ERR_APP_NOT_FOUND` | The App ID does not exist or has been archived. | + +## Extensions + +| Error Code | Description | +| ------------------------- | --------------------------------------------------------------------------- | +| `ERR_EXTENSION_NOT_FOUND` | The provided extension ID does not correspond to any existing microservice. | +| `ERR_EXTENSION_INACTIVE` | The operation failed because the extension is currently inactive. | + +## Team Management + +| Error Code | Description | +| ------------------------ | ------------------------------------------------------- | +| `ERR_ALREADY_AN_OWNER` | The user is already registered as an owner of the app. | +| `ERR_SELF_ACTION_DENIED` | A user cannot add themselves as a collaborator. | +| `ERR_NOT_A_COLLABORATOR` | The specified email is not a collaborator for this app. | + +## Webhooks + +| Error Code | Description | +| ---------------------------- | ------------------------------------- | +| `ERR_WEBHOOK_NOT_FOUND` | The webhook does not exist. | +| `ERR_BAD_REQUEST` | Validation error in the request. | +| `AUTH_ERR_EMPTY_AUTH_HEADER` | The authentication header is missing. | diff --git a/rest-api/management-apis/extensions/bitly-delete-settings.mdx b/rest-api/management-apis/extensions/bitly-delete-settings.mdx index 56827931f..f14628699 100644 --- a/rest-api/management-apis/extensions/bitly-delete-settings.mdx +++ b/rest-api/management-apis/extensions/bitly-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/url-shortener-bitly/v1/settings ---- \ No newline at end of file +description: "Bitly : Delete the settings for Bitly extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/bitly-get-settings.mdx b/rest-api/management-apis/extensions/bitly-get-settings.mdx index 964dbd985..3b273e6bb 100644 --- a/rest-api/management-apis/extensions/bitly-get-settings.mdx +++ b/rest-api/management-apis/extensions/bitly-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/url-shortener-bitly/v1/settings ---- \ No newline at end of file +description: "Bitly : Get settings for Bitly extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/bitly-store-settings.mdx b/rest-api/management-apis/extensions/bitly-store-settings.mdx index 5b727c1a5..897cab304 100644 --- a/rest-api/management-apis/extensions/bitly-store-settings.mdx +++ b/rest-api/management-apis/extensions/bitly-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/url-shortener-bitly/v1/settings ---- \ No newline at end of file +description: "Bitly : Store new settings for Bitly extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/bitly-update-settings.mdx b/rest-api/management-apis/extensions/bitly-update-settings.mdx index 5eef92541..03c03eb48 100644 --- a/rest-api/management-apis/extensions/bitly-update-settings.mdx +++ b/rest-api/management-apis/extensions/bitly-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/url-shortener-bitly/v1/settings ---- \ No newline at end of file +description: "Bitly : Update the settings for Bitly extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/chat-widgets-create.mdx b/rest-api/management-apis/extensions/chat-widgets-create.mdx index 0875db62d..dd4f2b36e 100644 --- a/rest-api/management-apis/extensions/chat-widgets-create.mdx +++ b/rest-api/management-apis/extensions/chat-widgets-create.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/widget/v2/settings ---- \ No newline at end of file +description: "Chat Widgets Create a new Chat Widget." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/chat-widgets-list.mdx b/rest-api/management-apis/extensions/chat-widgets-list.mdx index 5fe83887f..15d65083a 100644 --- a/rest-api/management-apis/extensions/chat-widgets-list.mdx +++ b/rest-api/management-apis/extensions/chat-widgets-list.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/widget/v2/settings ---- \ No newline at end of file +description: "Chat Widgets List all the Chat Widgets for an app." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/chat-widgets-update.mdx b/rest-api/management-apis/extensions/chat-widgets-update.mdx index a176ef435..d2d8c4a10 100644 --- a/rest-api/management-apis/extensions/chat-widgets-update.mdx +++ b/rest-api/management-apis/extensions/chat-widgets-update.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/widget/v2/settings ---- \ No newline at end of file +description: "Chat Widgets Update an existing Chat Widget." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/chatwoot-delete-settings.mdx b/rest-api/management-apis/extensions/chatwoot-delete-settings.mdx index 4916af7d2..bf8fa212f 100644 --- a/rest-api/management-apis/extensions/chatwoot-delete-settings.mdx +++ b/rest-api/management-apis/extensions/chatwoot-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/chatwoot/v1/settings ---- \ No newline at end of file +description: "Chatwoot : Delete the settings for Chatwoot extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/chatwoot-get-settings.mdx b/rest-api/management-apis/extensions/chatwoot-get-settings.mdx index 37ef60169..c111ae935 100644 --- a/rest-api/management-apis/extensions/chatwoot-get-settings.mdx +++ b/rest-api/management-apis/extensions/chatwoot-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/chatwoot/v1/settings ---- \ No newline at end of file +description: "Chatwoot : Get settings for Chatwoot extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/chatwoot-store-settings.mdx b/rest-api/management-apis/extensions/chatwoot-store-settings.mdx index 1f3374f52..5ea2674f3 100644 --- a/rest-api/management-apis/extensions/chatwoot-store-settings.mdx +++ b/rest-api/management-apis/extensions/chatwoot-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/chatwoot/v1/settings ---- \ No newline at end of file +description: "Chatwoot : Store new settings for Chatwoot extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/chatwoot-update-settings.mdx b/rest-api/management-apis/extensions/chatwoot-update-settings.mdx index fe21c6489..bde7e1f10 100644 --- a/rest-api/management-apis/extensions/chatwoot-update-settings.mdx +++ b/rest-api/management-apis/extensions/chatwoot-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/chatwoot/v1/settings ---- \ No newline at end of file +description: "Chatwoot : Update the settings for Chatwoot extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/data-masking-delete-settings.mdx b/rest-api/management-apis/extensions/data-masking-delete-settings.mdx index d527d45f6..6a827c088 100644 --- a/rest-api/management-apis/extensions/data-masking-delete-settings.mdx +++ b/rest-api/management-apis/extensions/data-masking-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/data-masking/v1/settings ---- \ No newline at end of file +description: "Data masking : Delete the settings for Data masking extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/data-masking-get-settings.mdx b/rest-api/management-apis/extensions/data-masking-get-settings.mdx index 1842c90da..3777428b7 100644 --- a/rest-api/management-apis/extensions/data-masking-get-settings.mdx +++ b/rest-api/management-apis/extensions/data-masking-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/data-masking/v1/settings ---- \ No newline at end of file +description: "Data masking : Get the settings for Data masking extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/data-masking-store-or-update-settings.mdx b/rest-api/management-apis/extensions/data-masking-store-or-update-settings.mdx index cad417e3f..fcb79c955 100644 --- a/rest-api/management-apis/extensions/data-masking-store-or-update-settings.mdx +++ b/rest-api/management-apis/extensions/data-masking-store-or-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/data-masking/v1/settings ---- \ No newline at end of file +description: "Data masking : Store or update the settings for Data masking extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/email-notification-delete-settings.mdx b/rest-api/management-apis/extensions/email-notification-delete-settings.mdx index 651ba3601..32adecedb 100644 --- a/rest-api/management-apis/extensions/email-notification-delete-settings.mdx +++ b/rest-api/management-apis/extensions/email-notification-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/email-notification/v1/settings ---- \ No newline at end of file +description: "Email Notification : Delete the settings for Email notification extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/email-notification-get-settings.mdx b/rest-api/management-apis/extensions/email-notification-get-settings.mdx index 549ca1134..dc97626a9 100644 --- a/rest-api/management-apis/extensions/email-notification-get-settings.mdx +++ b/rest-api/management-apis/extensions/email-notification-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/email-notification/v1/settings ---- \ No newline at end of file +description: "Email Notification : Get settings for Email notification extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/email-notification-store-settings.mdx b/rest-api/management-apis/extensions/email-notification-store-settings.mdx index d8dc0314e..9730261e9 100644 --- a/rest-api/management-apis/extensions/email-notification-store-settings.mdx +++ b/rest-api/management-apis/extensions/email-notification-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/email-notification/v1/settings ---- \ No newline at end of file +description: "Email Notification : Store new settings for Email notification extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/email-notification-update-settings.mdx b/rest-api/management-apis/extensions/email-notification-update-settings.mdx index 8f413b28a..13e3d3bde 100644 --- a/rest-api/management-apis/extensions/email-notification-update-settings.mdx +++ b/rest-api/management-apis/extensions/email-notification-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/email-notification/v1/settings ---- \ No newline at end of file +description: "Email Notification : Update the settings for Email notification extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/email-replies-delete-settings.mdx b/rest-api/management-apis/extensions/email-replies-delete-settings.mdx index e23208fa1..9236293f2 100644 --- a/rest-api/management-apis/extensions/email-replies-delete-settings.mdx +++ b/rest-api/management-apis/extensions/email-replies-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/email-replies/v1/settings ---- \ No newline at end of file +description: "Email replies : Delete the settings for Email replies extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/email-replies-get-settings.mdx b/rest-api/management-apis/extensions/email-replies-get-settings.mdx index 1651f484b..8cb10cd9d 100644 --- a/rest-api/management-apis/extensions/email-replies-get-settings.mdx +++ b/rest-api/management-apis/extensions/email-replies-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/email-replies/v1/settings ---- \ No newline at end of file +description: "Email replies : Get settings for Email replies extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/email-replies-store-settings.mdx b/rest-api/management-apis/extensions/email-replies-store-settings.mdx index 3b0b88349..3dac129ee 100644 --- a/rest-api/management-apis/extensions/email-replies-store-settings.mdx +++ b/rest-api/management-apis/extensions/email-replies-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/email-replies/v1/settings ---- \ No newline at end of file +description: "Email replies : Store new settings for Email replies extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/email-replies-update-settings.mdx b/rest-api/management-apis/extensions/email-replies-update-settings.mdx index 8f313c307..3978a880a 100644 --- a/rest-api/management-apis/extensions/email-replies-update-settings.mdx +++ b/rest-api/management-apis/extensions/email-replies-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/email-replies/v1/settings ---- \ No newline at end of file +description: "Email replies : Update the settings for Email replies extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/enabledisable.mdx b/rest-api/management-apis/extensions/enabledisable.mdx index a51ab0211..d7d2f282b 100644 --- a/rest-api/management-apis/extensions/enabledisable.mdx +++ b/rest-api/management-apis/extensions/enabledisable.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions ---- \ No newline at end of file +description: "Enables or disables the extension for an app." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/end-to-end-encryption-delete-settings.mdx b/rest-api/management-apis/extensions/end-to-end-encryption-delete-settings.mdx index ef992a390..adadccfa9 100644 --- a/rest-api/management-apis/extensions/end-to-end-encryption-delete-settings.mdx +++ b/rest-api/management-apis/extensions/end-to-end-encryption-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/e2ee/v1/settings ---- \ No newline at end of file +description: "End-to-end encryption : Delete the settings for End-to-end encryption extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/end-to-end-encryption-get-settings.mdx b/rest-api/management-apis/extensions/end-to-end-encryption-get-settings.mdx index f16689049..6ea8cb735 100644 --- a/rest-api/management-apis/extensions/end-to-end-encryption-get-settings.mdx +++ b/rest-api/management-apis/extensions/end-to-end-encryption-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/e2ee/v1/settings ---- \ No newline at end of file +description: "End-to-end encryption : Get settings for End-to-end encryption extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/end-to-end-encryption-store-settings.mdx b/rest-api/management-apis/extensions/end-to-end-encryption-store-settings.mdx index 7c0a0dae6..cca5999f5 100644 --- a/rest-api/management-apis/extensions/end-to-end-encryption-store-settings.mdx +++ b/rest-api/management-apis/extensions/end-to-end-encryption-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/e2ee/v1/settings ---- \ No newline at end of file +description: "End-to-end encryption : Store new settings for End-to-end encryption extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/end-to-end-encryption-update-settings.mdx b/rest-api/management-apis/extensions/end-to-end-encryption-update-settings.mdx index 4ab216b56..022032606 100644 --- a/rest-api/management-apis/extensions/end-to-end-encryption-update-settings.mdx +++ b/rest-api/management-apis/extensions/end-to-end-encryption-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/e2ee/v1/settings ---- \ No newline at end of file +description: "End-to-end encryption : Update the settings for End-to-end encryption extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/giphy-delete-settings-for-giphy.mdx b/rest-api/management-apis/extensions/giphy-delete-settings-for-giphy.mdx index 6303452dc..b44afe3d3 100644 --- a/rest-api/management-apis/extensions/giphy-delete-settings-for-giphy.mdx +++ b/rest-api/management-apis/extensions/giphy-delete-settings-for-giphy.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/gifs-giphy/v1/settings ---- \ No newline at end of file +description: "Giphy : Deletes the settings for Giphy extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/giphy-get-settings.mdx b/rest-api/management-apis/extensions/giphy-get-settings.mdx index 78ff264c8..f8b95f784 100644 --- a/rest-api/management-apis/extensions/giphy-get-settings.mdx +++ b/rest-api/management-apis/extensions/giphy-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/gifs-giphy/v1/settings ---- \ No newline at end of file +description: "Giphy : Returns the settings for Giphy extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/giphy-store-settings.mdx b/rest-api/management-apis/extensions/giphy-store-settings.mdx index dc8d8c891..e113836cd 100644 --- a/rest-api/management-apis/extensions/giphy-store-settings.mdx +++ b/rest-api/management-apis/extensions/giphy-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/gifs-giphy/v1/settings ---- \ No newline at end of file +description: "Giphy : Saving the settings for Giphy extensions for the first time" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/giphy-update-settings.mdx b/rest-api/management-apis/extensions/giphy-update-settings.mdx index f3134d5dd..7b6f06b03 100644 --- a/rest-api/management-apis/extensions/giphy-update-settings.mdx +++ b/rest-api/management-apis/extensions/giphy-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/gifs-giphy/v1/settings ---- \ No newline at end of file +description: "Giphy : Update the settings for Giphy extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/image-moderation-delete-settings.mdx b/rest-api/management-apis/extensions/image-moderation-delete-settings.mdx index 022d22fbd..0aa2dcd8d 100644 --- a/rest-api/management-apis/extensions/image-moderation-delete-settings.mdx +++ b/rest-api/management-apis/extensions/image-moderation-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/image-moderation/v1/settings ---- \ No newline at end of file +description: "Image Moderation : Delete the settings for Image moderation extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/image-moderation-get-settings.mdx b/rest-api/management-apis/extensions/image-moderation-get-settings.mdx index bcbf7b66c..3576d596e 100644 --- a/rest-api/management-apis/extensions/image-moderation-get-settings.mdx +++ b/rest-api/management-apis/extensions/image-moderation-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/image-moderation/v1/settings ---- \ No newline at end of file +description: "Image Moderation : Get settings for Image moderation extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/image-moderation-store-settings.mdx b/rest-api/management-apis/extensions/image-moderation-store-settings.mdx index 6e8389de8..9f593b54d 100644 --- a/rest-api/management-apis/extensions/image-moderation-store-settings.mdx +++ b/rest-api/management-apis/extensions/image-moderation-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/image-moderation/v1/settings ---- \ No newline at end of file +description: "Image Moderation : Store new settings for Image moderation extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/image-moderation-update-settings.mdx b/rest-api/management-apis/extensions/image-moderation-update-settings.mdx index 19054260b..81923a300 100644 --- a/rest-api/management-apis/extensions/image-moderation-update-settings.mdx +++ b/rest-api/management-apis/extensions/image-moderation-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/image-moderation/v1/settings ---- \ No newline at end of file +description: "Image Moderation : Update the settings for Image moderation extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/in-flight-message-moderation-delete-settings.mdx b/rest-api/management-apis/extensions/in-flight-message-moderation-delete-settings.mdx index ef441c023..13625a47c 100644 --- a/rest-api/management-apis/extensions/in-flight-message-moderation-delete-settings.mdx +++ b/rest-api/management-apis/extensions/in-flight-message-moderation-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/human-moderation/v1/settings ---- \ No newline at end of file +description: "In-flight message moderation : Delete the settings for In-flight message moderation extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/in-flight-message-moderation-get-settings.mdx b/rest-api/management-apis/extensions/in-flight-message-moderation-get-settings.mdx index c025c3308..a4382bd52 100644 --- a/rest-api/management-apis/extensions/in-flight-message-moderation-get-settings.mdx +++ b/rest-api/management-apis/extensions/in-flight-message-moderation-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/human-moderation/v1/settings ---- \ No newline at end of file +description: "In-flight message moderation : Get settings for In-flight message moderation extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/in-flight-message-moderation-store-settings.mdx b/rest-api/management-apis/extensions/in-flight-message-moderation-store-settings.mdx index 730987083..56bb53d0a 100644 --- a/rest-api/management-apis/extensions/in-flight-message-moderation-store-settings.mdx +++ b/rest-api/management-apis/extensions/in-flight-message-moderation-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/human-moderation/v1/settings ---- \ No newline at end of file +description: "In-flight message moderation : Store new settings for In-flight message moderation extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/in-flight-message-moderation-update-settings.mdx b/rest-api/management-apis/extensions/in-flight-message-moderation-update-settings.mdx index 37bdff3df..952aaa8e4 100644 --- a/rest-api/management-apis/extensions/in-flight-message-moderation-update-settings.mdx +++ b/rest-api/management-apis/extensions/in-flight-message-moderation-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/human-moderation/v1/settings ---- \ No newline at end of file +description: "In-flight message moderation : Update the settings for In-flight message moderation extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/intercom-delete-settings.mdx b/rest-api/management-apis/extensions/intercom-delete-settings.mdx index 199f4824a..ca7df9d41 100644 --- a/rest-api/management-apis/extensions/intercom-delete-settings.mdx +++ b/rest-api/management-apis/extensions/intercom-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/intercom/v1/settings ---- \ No newline at end of file +description: "Intercom : Delete the settings for Intercom extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/intercom-get-settings.mdx b/rest-api/management-apis/extensions/intercom-get-settings.mdx index be9f67f63..65b18a24b 100644 --- a/rest-api/management-apis/extensions/intercom-get-settings.mdx +++ b/rest-api/management-apis/extensions/intercom-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/intercom/v1/settings ---- \ No newline at end of file +description: "Intercom : Get settings for Intercom extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/intercom-store-settings.mdx b/rest-api/management-apis/extensions/intercom-store-settings.mdx index f7fda6ce4..e8bfe9f3a 100644 --- a/rest-api/management-apis/extensions/intercom-store-settings.mdx +++ b/rest-api/management-apis/extensions/intercom-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/intercom/v1/settings ---- \ No newline at end of file +description: "Intercom : Store new settings for Intercom extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/intercom-update-settings.mdx b/rest-api/management-apis/extensions/intercom-update-settings.mdx index c0597a723..85154e896 100644 --- a/rest-api/management-apis/extensions/intercom-update-settings.mdx +++ b/rest-api/management-apis/extensions/intercom-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/intercom/v1/settings ---- \ No newline at end of file +description: "Intercom : Update the settings for Intercom extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/list-extensions.mdx b/rest-api/management-apis/extensions/list-extensions.mdx index 8026e3e52..4b4ccae2b 100644 --- a/rest-api/management-apis/extensions/list-extensions.mdx +++ b/rest-api/management-apis/extensions/list-extensions.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions ---- \ No newline at end of file +description: "List the Extensions." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/message-shortcuts-delete-settings.mdx b/rest-api/management-apis/extensions/message-shortcuts-delete-settings.mdx index f2a9576a8..752263d64 100644 --- a/rest-api/management-apis/extensions/message-shortcuts-delete-settings.mdx +++ b/rest-api/management-apis/extensions/message-shortcuts-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/message-shortcuts/v1/settings ---- \ No newline at end of file +description: "Message Shortcuts : Delete the settings for Message shortcuts extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/message-shortcuts-get-settings.mdx b/rest-api/management-apis/extensions/message-shortcuts-get-settings.mdx index b16f74878..ac6a691d9 100644 --- a/rest-api/management-apis/extensions/message-shortcuts-get-settings.mdx +++ b/rest-api/management-apis/extensions/message-shortcuts-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/message-shortcuts/v1/settings ---- \ No newline at end of file +description: "Message Shortcuts : Get settings for Message shortcuts extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/message-shortcuts-store-settings.mdx b/rest-api/management-apis/extensions/message-shortcuts-store-settings.mdx index 95464751d..fa65b1624 100644 --- a/rest-api/management-apis/extensions/message-shortcuts-store-settings.mdx +++ b/rest-api/management-apis/extensions/message-shortcuts-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/message-shortcuts/v1/settings ---- \ No newline at end of file +description: "Message Shortcuts : Store new settings for Message shortcuts extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/message-shortcuts-update-settings.mdx b/rest-api/management-apis/extensions/message-shortcuts-update-settings.mdx index 9f0776f87..fea2fda78 100644 --- a/rest-api/management-apis/extensions/message-shortcuts-update-settings.mdx +++ b/rest-api/management-apis/extensions/message-shortcuts-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/message-shortcuts/v1/settings ---- \ No newline at end of file +description: "Message Shortcuts : Update the settings for Message shortcuts extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/profanity-filter-adds-settings.mdx b/rest-api/management-apis/extensions/profanity-filter-adds-settings.mdx index 276268f1a..c837cea8b 100644 --- a/rest-api/management-apis/extensions/profanity-filter-adds-settings.mdx +++ b/rest-api/management-apis/extensions/profanity-filter-adds-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/profanity-filter/v1/settings ---- \ No newline at end of file +description: "Profanity-filter : Adds settings an app." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/profanity-filter-delete-settings.mdx b/rest-api/management-apis/extensions/profanity-filter-delete-settings.mdx index 685e1339f..241690c96 100644 --- a/rest-api/management-apis/extensions/profanity-filter-delete-settings.mdx +++ b/rest-api/management-apis/extensions/profanity-filter-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/profanity-filter/v1/settings ---- \ No newline at end of file +description: "Profanity-filter : Delete the settings for Profanity-filter extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/profanity-filter-get-settings.mdx b/rest-api/management-apis/extensions/profanity-filter-get-settings.mdx index 524f704ca..bcb3b1a86 100644 --- a/rest-api/management-apis/extensions/profanity-filter-get-settings.mdx +++ b/rest-api/management-apis/extensions/profanity-filter-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/profanity-filter/v1/settings ---- \ No newline at end of file +description: "Profanity-filter : Get settings of an app." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/profanity-filter-update-settings.mdx b/rest-api/management-apis/extensions/profanity-filter-update-settings.mdx index 61e88a7f2..c65e9f34f 100644 --- a/rest-api/management-apis/extensions/profanity-filter-update-settings.mdx +++ b/rest-api/management-apis/extensions/profanity-filter-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/profanity-filter/v1/settings ---- \ No newline at end of file +description: "Profanity-filter : Update the settings for Profanity-filter extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/push-notification-delete-settings.mdx b/rest-api/management-apis/extensions/push-notification-delete-settings.mdx index d8bc61bf0..dff9b31a1 100644 --- a/rest-api/management-apis/extensions/push-notification-delete-settings.mdx +++ b/rest-api/management-apis/extensions/push-notification-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/push-notification/v1/settings ---- \ No newline at end of file +description: "Push notification : Delete the settings for Push notifications extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/push-notification-get-certificate.mdx b/rest-api/management-apis/extensions/push-notification-get-certificate.mdx index d766be472..9d3043383 100644 --- a/rest-api/management-apis/extensions/push-notification-get-certificate.mdx +++ b/rest-api/management-apis/extensions/push-notification-get-certificate.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/push-notification/v1/query-certificates ---- \ No newline at end of file +description: "Push notification : Get Certificate description" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/push-notification-get-settings.mdx b/rest-api/management-apis/extensions/push-notification-get-settings.mdx index 3b38e84d6..5114724cc 100644 --- a/rest-api/management-apis/extensions/push-notification-get-settings.mdx +++ b/rest-api/management-apis/extensions/push-notification-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/push-notification/v1/settings ---- \ No newline at end of file +description: "Push notification : Get settings for Push notifications extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/push-notification-store-settings.mdx b/rest-api/management-apis/extensions/push-notification-store-settings.mdx index 715f3cdca..e91be2f21 100644 --- a/rest-api/management-apis/extensions/push-notification-store-settings.mdx +++ b/rest-api/management-apis/extensions/push-notification-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/push-notification/v1/settings ---- \ No newline at end of file +description: "Push notification : Store new settings for Push notifications extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/push-notification-update-settings.mdx b/rest-api/management-apis/extensions/push-notification-update-settings.mdx index 6a0f37d98..841ba3a31 100644 --- a/rest-api/management-apis/extensions/push-notification-update-settings.mdx +++ b/rest-api/management-apis/extensions/push-notification-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/push-notification/v1/settings ---- \ No newline at end of file +description: "Push notification : Update the settings for Push notifications extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/push-notification-upload-p12-certificate.mdx b/rest-api/management-apis/extensions/push-notification-upload-p12-certificate.mdx index 65efa825b..d67d12ca2 100644 --- a/rest-api/management-apis/extensions/push-notification-upload-p12-certificate.mdx +++ b/rest-api/management-apis/extensions/push-notification-upload-p12-certificate.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/push-notification/v1/upload-certificate-p12 ---- \ No newline at end of file +description: "Push notification : Upload a p12 Certificate" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/push-notification-upload-p8-certificate.mdx b/rest-api/management-apis/extensions/push-notification-upload-p8-certificate.mdx index 6e2ee7675..8ae043280 100644 --- a/rest-api/management-apis/extensions/push-notification-upload-p8-certificate.mdx +++ b/rest-api/management-apis/extensions/push-notification-upload-p8-certificate.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/push-notification/v1/upload-certificate-p8 ---- \ No newline at end of file +description: "Push notification : Upload a p8 Certificate" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/report-message-delete-settings.mdx b/rest-api/management-apis/extensions/report-message-delete-settings.mdx index 036439eda..b390bf66a 100644 --- a/rest-api/management-apis/extensions/report-message-delete-settings.mdx +++ b/rest-api/management-apis/extensions/report-message-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/report-message/v1/settings ---- \ No newline at end of file +description: "Report message : Delete the settings for Report message extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/report-message-get-settings.mdx b/rest-api/management-apis/extensions/report-message-get-settings.mdx index c210f56b2..3a453bc2c 100644 --- a/rest-api/management-apis/extensions/report-message-get-settings.mdx +++ b/rest-api/management-apis/extensions/report-message-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/report-message/v1/settings ---- \ No newline at end of file +description: "Report message : Get settings for Report message extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/report-message-store-settings.mdx b/rest-api/management-apis/extensions/report-message-store-settings.mdx index c6e186b81..7259a9a35 100644 --- a/rest-api/management-apis/extensions/report-message-store-settings.mdx +++ b/rest-api/management-apis/extensions/report-message-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/report-message/v1/settings ---- \ No newline at end of file +description: "Report message : Store new settings for Report message extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/report-message-update-settings.mdx b/rest-api/management-apis/extensions/report-message-update-settings.mdx index e71c412b8..1b31cbb27 100644 --- a/rest-api/management-apis/extensions/report-message-update-settings.mdx +++ b/rest-api/management-apis/extensions/report-message-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/report-message/v1/settings ---- \ No newline at end of file +description: "Report message : Update the settings for Report message extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/report-user-delete-settings.mdx b/rest-api/management-apis/extensions/report-user-delete-settings.mdx index 07bcea4c1..6e1da6bb9 100644 --- a/rest-api/management-apis/extensions/report-user-delete-settings.mdx +++ b/rest-api/management-apis/extensions/report-user-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/report-user/v1/settings ---- \ No newline at end of file +description: "Report user : Delete the settings for Report user extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/report-user-get-settings.mdx b/rest-api/management-apis/extensions/report-user-get-settings.mdx index 4a16f99fc..0af1c2fa3 100644 --- a/rest-api/management-apis/extensions/report-user-get-settings.mdx +++ b/rest-api/management-apis/extensions/report-user-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/report-user/v1/settings ---- \ No newline at end of file +description: "Report user : Get settings for Report user extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/report-user-store-settings.mdx b/rest-api/management-apis/extensions/report-user-store-settings.mdx index 6524efcd1..674950abf 100644 --- a/rest-api/management-apis/extensions/report-user-store-settings.mdx +++ b/rest-api/management-apis/extensions/report-user-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/report-user/v1/settings ---- \ No newline at end of file +description: "Report user : Store new settings for Report user extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/report-user-update-settings.mdx b/rest-api/management-apis/extensions/report-user-update-settings.mdx index 3e22ed3e6..f2b6eb623 100644 --- a/rest-api/management-apis/extensions/report-user-update-settings.mdx +++ b/rest-api/management-apis/extensions/report-user-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/report-user/v1/settings ---- \ No newline at end of file +description: "Report user : Update the settings for Report user extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/rich-media-preview-delete-settings.mdx b/rest-api/management-apis/extensions/rich-media-preview-delete-settings.mdx index 035f86354..e69f29337 100644 --- a/rest-api/management-apis/extensions/rich-media-preview-delete-settings.mdx +++ b/rest-api/management-apis/extensions/rich-media-preview-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/rich-media/v1/settings ---- \ No newline at end of file +description: "Rich media preview : Delete the settings for Rich media preview extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/rich-media-preview-get-settings.mdx b/rest-api/management-apis/extensions/rich-media-preview-get-settings.mdx index 2cd273e0a..a5a0cf462 100644 --- a/rest-api/management-apis/extensions/rich-media-preview-get-settings.mdx +++ b/rest-api/management-apis/extensions/rich-media-preview-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/rich-media/v1/settings ---- \ No newline at end of file +description: "Rich media preview : Get settings for Rich media preview extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/rich-media-preview-store-settings.mdx b/rest-api/management-apis/extensions/rich-media-preview-store-settings.mdx index e1a40bf1d..3f936c9e3 100644 --- a/rest-api/management-apis/extensions/rich-media-preview-store-settings.mdx +++ b/rest-api/management-apis/extensions/rich-media-preview-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/rich-media/v1/settings ---- \ No newline at end of file +description: "Rich media preview : Store new settings for Rich media preview extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/rich-media-preview-update-settings.mdx b/rest-api/management-apis/extensions/rich-media-preview-update-settings.mdx index c3cbf24aa..e61f6138b 100644 --- a/rest-api/management-apis/extensions/rich-media-preview-update-settings.mdx +++ b/rest-api/management-apis/extensions/rich-media-preview-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/rich-media/v1/settings ---- \ No newline at end of file +description: "Rich media preview : Update the settings for Rich media preview extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/sentiment-analysis-delete-settings.mdx b/rest-api/management-apis/extensions/sentiment-analysis-delete-settings.mdx index 7d4cf1a8b..a020ee655 100644 --- a/rest-api/management-apis/extensions/sentiment-analysis-delete-settings.mdx +++ b/rest-api/management-apis/extensions/sentiment-analysis-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/sentiment-analysis/v1/settings ---- \ No newline at end of file +description: "Sentiment analysis : Delete the settings for Sentiment analysis extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/sentiment-analysis-get-settings.mdx b/rest-api/management-apis/extensions/sentiment-analysis-get-settings.mdx index 4333656f8..7c79b5f3c 100644 --- a/rest-api/management-apis/extensions/sentiment-analysis-get-settings.mdx +++ b/rest-api/management-apis/extensions/sentiment-analysis-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/sentiment-analysis/v1/settings ---- \ No newline at end of file +description: "Sentiment analysis : Get settings for Sentiment analysis extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/sentiment-analysis-store-settings.mdx b/rest-api/management-apis/extensions/sentiment-analysis-store-settings.mdx index a27fc55fb..759dbe1ca 100644 --- a/rest-api/management-apis/extensions/sentiment-analysis-store-settings.mdx +++ b/rest-api/management-apis/extensions/sentiment-analysis-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/sentiment-analysis/v1/settings ---- \ No newline at end of file +description: "Sentiment analysis : Store new settings for Sentiment analysis extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/sentiment-analysis-update-settings.mdx b/rest-api/management-apis/extensions/sentiment-analysis-update-settings.mdx index 54038709e..38b78ba16 100644 --- a/rest-api/management-apis/extensions/sentiment-analysis-update-settings.mdx +++ b/rest-api/management-apis/extensions/sentiment-analysis-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/sentiment-analysis/v1/settings ---- \ No newline at end of file +description: "Sentiment analysis : Update the settings for Sentiment analysis extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/sms-notification-delete-settings.mdx b/rest-api/management-apis/extensions/sms-notification-delete-settings.mdx index a062a842e..323ef203e 100644 --- a/rest-api/management-apis/extensions/sms-notification-delete-settings.mdx +++ b/rest-api/management-apis/extensions/sms-notification-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/sms-notification/v1/settings ---- \ No newline at end of file +description: "SMS Notification : Delete the settings for SMS Notification extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/sms-notification-get-settings.mdx b/rest-api/management-apis/extensions/sms-notification-get-settings.mdx index b95c12434..699ceec59 100644 --- a/rest-api/management-apis/extensions/sms-notification-get-settings.mdx +++ b/rest-api/management-apis/extensions/sms-notification-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/sms-notification/v1/settings ---- \ No newline at end of file +description: "SMS Notification : Get settings for SMS Notification extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/sms-notification-store-settings.mdx b/rest-api/management-apis/extensions/sms-notification-store-settings.mdx index 1f4bf4e26..112ad7ec1 100644 --- a/rest-api/management-apis/extensions/sms-notification-store-settings.mdx +++ b/rest-api/management-apis/extensions/sms-notification-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/sms-notification/v1/settings ---- \ No newline at end of file +description: "SMS Notification : Store new settings for SMS Notification extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/sms-notification-update-settings.mdx b/rest-api/management-apis/extensions/sms-notification-update-settings.mdx index 205e4a6f3..1dca8996a 100644 --- a/rest-api/management-apis/extensions/sms-notification-update-settings.mdx +++ b/rest-api/management-apis/extensions/sms-notification-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/sms-notification/v1/settings ---- \ No newline at end of file +description: "SMS Notification : Update the settings for SMS Notification extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/stickers-extension-delete-settings.mdx b/rest-api/management-apis/extensions/stickers-extension-delete-settings.mdx index dec5a49b6..1b25ffee7 100644 --- a/rest-api/management-apis/extensions/stickers-extension-delete-settings.mdx +++ b/rest-api/management-apis/extensions/stickers-extension-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/stickers/v1/settings ---- \ No newline at end of file +description: "Stickers extension : Delete the settings for Stickers extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/stickers-extension-get-settings.mdx b/rest-api/management-apis/extensions/stickers-extension-get-settings.mdx index ee24e4419..20ddb41df 100644 --- a/rest-api/management-apis/extensions/stickers-extension-get-settings.mdx +++ b/rest-api/management-apis/extensions/stickers-extension-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/stickers/v1/settings ---- \ No newline at end of file +description: "Stickers extension : Get settings for Stickers extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/stickers-extension-update-settings.mdx b/rest-api/management-apis/extensions/stickers-extension-update-settings.mdx index defc69164..6dca9e8a9 100644 --- a/rest-api/management-apis/extensions/stickers-extension-update-settings.mdx +++ b/rest-api/management-apis/extensions/stickers-extension-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/stickers/v1/settings ---- \ No newline at end of file +description: "Stickers extension : Update the settings for Stickers extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/stipop-delete-settings.mdx b/rest-api/management-apis/extensions/stipop-delete-settings.mdx index 43ce97544..c89c4c7a9 100644 --- a/rest-api/management-apis/extensions/stipop-delete-settings.mdx +++ b/rest-api/management-apis/extensions/stipop-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/stickers-stipop/v1/settings ---- \ No newline at end of file +description: "Stipop : Delete the settings for Stipop extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/stipop-get-settings.mdx b/rest-api/management-apis/extensions/stipop-get-settings.mdx index 777df7eae..6677b6d1b 100644 --- a/rest-api/management-apis/extensions/stipop-get-settings.mdx +++ b/rest-api/management-apis/extensions/stipop-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/stickers-stipop/v1/settings ---- \ No newline at end of file +description: "Stipop : Get settings for Stipop extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/stipop-store-settings.mdx b/rest-api/management-apis/extensions/stipop-store-settings.mdx index fc40390b9..7fa8bf9ed 100644 --- a/rest-api/management-apis/extensions/stipop-store-settings.mdx +++ b/rest-api/management-apis/extensions/stipop-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/stickers-stipop/v1/settings ---- \ No newline at end of file +description: "Stipop : Store new settings for Stipop extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/stipop-update-settings.mdx b/rest-api/management-apis/extensions/stipop-update-settings.mdx index f8d57ae0b..82db6c653 100644 --- a/rest-api/management-apis/extensions/stipop-update-settings.mdx +++ b/rest-api/management-apis/extensions/stipop-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/stickers-stipop/v1/settings ---- \ No newline at end of file +description: "Stipop : Update the settings for Stipop extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/tenor-gifs-delete-settings.mdx b/rest-api/management-apis/extensions/tenor-gifs-delete-settings.mdx index 73308f493..52b2f0901 100644 --- a/rest-api/management-apis/extensions/tenor-gifs-delete-settings.mdx +++ b/rest-api/management-apis/extensions/tenor-gifs-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/gifs-tenor/v1/settings ---- \ No newline at end of file +description: "Tenor gifs : Delete the settings for Tenor gifs extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/tenor-gifs-get-settings.mdx b/rest-api/management-apis/extensions/tenor-gifs-get-settings.mdx index a6e30b8f8..cff3d4ccc 100644 --- a/rest-api/management-apis/extensions/tenor-gifs-get-settings.mdx +++ b/rest-api/management-apis/extensions/tenor-gifs-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/gifs-tenor/v1/settings ---- \ No newline at end of file +description: "Tenor gifs : Get settings for Tenor gifs extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/tenor-gifs-store-settings.mdx b/rest-api/management-apis/extensions/tenor-gifs-store-settings.mdx index c76b2d080..3e378bad6 100644 --- a/rest-api/management-apis/extensions/tenor-gifs-store-settings.mdx +++ b/rest-api/management-apis/extensions/tenor-gifs-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/gifs-tenor/v1/settings ---- \ No newline at end of file +description: "Tenor gifs : Store new settings for Tenor gifs extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/tenor-gifs-update-settings.mdx b/rest-api/management-apis/extensions/tenor-gifs-update-settings.mdx index 71b495e84..21f212a43 100644 --- a/rest-api/management-apis/extensions/tenor-gifs-update-settings.mdx +++ b/rest-api/management-apis/extensions/tenor-gifs-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/gifs-tenor/v1/settings ---- \ No newline at end of file +description: "Tenor gifs : Update the settings for Tenor gifs extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/tinyurl-delete-settings.mdx b/rest-api/management-apis/extensions/tinyurl-delete-settings.mdx index 91cc70eb5..68f9ed3c9 100644 --- a/rest-api/management-apis/extensions/tinyurl-delete-settings.mdx +++ b/rest-api/management-apis/extensions/tinyurl-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/url-shortener-tinyurl/v1/settings ---- \ No newline at end of file +description: "TinyURL : Delete the settings for TinyURL extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/tinyurl-get-settings.mdx b/rest-api/management-apis/extensions/tinyurl-get-settings.mdx index 31a42ce80..0122a42e3 100644 --- a/rest-api/management-apis/extensions/tinyurl-get-settings.mdx +++ b/rest-api/management-apis/extensions/tinyurl-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/url-shortener-tinyurl/v1/settings ---- \ No newline at end of file +description: "TinyURL : Get settings for TinyURL extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/tinyurl-store-settings.mdx b/rest-api/management-apis/extensions/tinyurl-store-settings.mdx index e5a62e38d..de84f0cda 100644 --- a/rest-api/management-apis/extensions/tinyurl-store-settings.mdx +++ b/rest-api/management-apis/extensions/tinyurl-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/url-shortener-tinyurl/v1/settings ---- \ No newline at end of file +description: "TinyURL : Store new settings for TinyURL extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/tinyurl-update-settings.mdx b/rest-api/management-apis/extensions/tinyurl-update-settings.mdx index c8d66246c..cc3eaab9e 100644 --- a/rest-api/management-apis/extensions/tinyurl-update-settings.mdx +++ b/rest-api/management-apis/extensions/tinyurl-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/url-shortener-tinyurl/v1/settings ---- \ No newline at end of file +description: "TinyURL : Update the settings for TinyURL extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/video-broadcasting-delete-settings.mdx b/rest-api/management-apis/extensions/video-broadcasting-delete-settings.mdx index f1f493c38..b1c856902 100644 --- a/rest-api/management-apis/extensions/video-broadcasting-delete-settings.mdx +++ b/rest-api/management-apis/extensions/video-broadcasting-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/broadcast/v1/settings ---- \ No newline at end of file +description: "Video Broadcasting : Delete the settings for Video Broadcasting extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/video-broadcasting-get-settings.mdx b/rest-api/management-apis/extensions/video-broadcasting-get-settings.mdx index 9f857a54a..a91d8201c 100644 --- a/rest-api/management-apis/extensions/video-broadcasting-get-settings.mdx +++ b/rest-api/management-apis/extensions/video-broadcasting-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/broadcast/v1/settings ---- \ No newline at end of file +description: "Video Broadcasting : Get settings for Video Broadcasting extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/video-broadcasting-store-settings.mdx b/rest-api/management-apis/extensions/video-broadcasting-store-settings.mdx index 4c441b018..91ba29421 100644 --- a/rest-api/management-apis/extensions/video-broadcasting-store-settings.mdx +++ b/rest-api/management-apis/extensions/video-broadcasting-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/broadcast/v1/settings ---- \ No newline at end of file +description: "Video Broadcasting : Store new settings for Video Broadcasting extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/video-broadcasting-update-settings.mdx b/rest-api/management-apis/extensions/video-broadcasting-update-settings.mdx index 042f6d697..728dbfb51 100644 --- a/rest-api/management-apis/extensions/video-broadcasting-update-settings.mdx +++ b/rest-api/management-apis/extensions/video-broadcasting-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/broadcast/v1/settings ---- \ No newline at end of file +description: "Video Broadcasting : Update the settings for Video Broadcasting extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/virus-malware-scanner-delete-settings.mdx b/rest-api/management-apis/extensions/virus-malware-scanner-delete-settings.mdx index e216e830b..93c74a5d6 100644 --- a/rest-api/management-apis/extensions/virus-malware-scanner-delete-settings.mdx +++ b/rest-api/management-apis/extensions/virus-malware-scanner-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/virus-malware-scanner/v1/settings ---- \ No newline at end of file +description: "Virus Malware Scanner : Delete the settings for Virus malware scanner extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/virus-malware-scanner-get-settings.mdx b/rest-api/management-apis/extensions/virus-malware-scanner-get-settings.mdx index 4bef890f5..910120428 100644 --- a/rest-api/management-apis/extensions/virus-malware-scanner-get-settings.mdx +++ b/rest-api/management-apis/extensions/virus-malware-scanner-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/virus-malware-scanner/v1/settings ---- \ No newline at end of file +description: "Virus Malware Scanner : Get settings for Virus malware scanner extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/virus-malware-scanner-store-settings.mdx b/rest-api/management-apis/extensions/virus-malware-scanner-store-settings.mdx index dc32c0f64..922aa6161 100644 --- a/rest-api/management-apis/extensions/virus-malware-scanner-store-settings.mdx +++ b/rest-api/management-apis/extensions/virus-malware-scanner-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/virus-malware-scanner/v1/settings ---- \ No newline at end of file +description: "Virus Malware Scanner : Store new settings for Virus malware scanner extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/virus-malware-scanner-update-settings.mdx b/rest-api/management-apis/extensions/virus-malware-scanner-update-settings.mdx index 0102e62ce..df4bb1e19 100644 --- a/rest-api/management-apis/extensions/virus-malware-scanner-update-settings.mdx +++ b/rest-api/management-apis/extensions/virus-malware-scanner-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/virus-malware-scanner/v1/settings ---- \ No newline at end of file +description: "Virus Malware Scanner : Update the settings for Virus malware scanner extension." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/voice-transcription-delete-settings.mdx b/rest-api/management-apis/extensions/voice-transcription-delete-settings.mdx index acbaddd3e..592a326d4 100644 --- a/rest-api/management-apis/extensions/voice-transcription-delete-settings.mdx +++ b/rest-api/management-apis/extensions/voice-transcription-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/voice-transcription/v1/settings ---- \ No newline at end of file +description: "Voice transcription : Delete the settings for Voice transcription extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/voice-transcription-get-settings.mdx b/rest-api/management-apis/extensions/voice-transcription-get-settings.mdx index 1c32bbf38..df0b1814b 100644 --- a/rest-api/management-apis/extensions/voice-transcription-get-settings.mdx +++ b/rest-api/management-apis/extensions/voice-transcription-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/voice-transcription/v1/settings ---- \ No newline at end of file +description: "Voice transcription : Get settings for Voice transcription extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/voice-transcription-store-settings.mdx b/rest-api/management-apis/extensions/voice-transcription-store-settings.mdx index 031309328..9f16c19a5 100644 --- a/rest-api/management-apis/extensions/voice-transcription-store-settings.mdx +++ b/rest-api/management-apis/extensions/voice-transcription-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/voice-transcription/v1/settings ---- \ No newline at end of file +description: "Voice transcription : Store new settings for Voice transcription extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/voice-transcription-update-settings.mdx b/rest-api/management-apis/extensions/voice-transcription-update-settings.mdx index bcf947163..9199a2a79 100644 --- a/rest-api/management-apis/extensions/voice-transcription-update-settings.mdx +++ b/rest-api/management-apis/extensions/voice-transcription-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/voice-transcription/v1/settings ---- \ No newline at end of file +description: "Voice transcription : Update the settings for Voice transcription extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/xss-filter-delete-settings.mdx b/rest-api/management-apis/extensions/xss-filter-delete-settings.mdx index cd63fa950..7fe2affe2 100644 --- a/rest-api/management-apis/extensions/xss-filter-delete-settings.mdx +++ b/rest-api/management-apis/extensions/xss-filter-delete-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/extensions/xss-filter/v1/settings ---- \ No newline at end of file +description: "XSS Filter : Delete the settings for XSS Filter extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/xss-filter-get-settings.mdx b/rest-api/management-apis/extensions/xss-filter-get-settings.mdx index 7498e4bcc..48e28897a 100644 --- a/rest-api/management-apis/extensions/xss-filter-get-settings.mdx +++ b/rest-api/management-apis/extensions/xss-filter-get-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/extensions/xss-filter/v1/settings ---- \ No newline at end of file +description: "XSS Filter : Get settings for XSS Filter extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/xss-filter-store-settings.mdx b/rest-api/management-apis/extensions/xss-filter-store-settings.mdx index e140fda9f..778a66bdb 100644 --- a/rest-api/management-apis/extensions/xss-filter-store-settings.mdx +++ b/rest-api/management-apis/extensions/xss-filter-store-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/extensions/xss-filter/v1/settings ---- \ No newline at end of file +description: "XSS Filter : Store new settings for XSS Filter extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/extensions/xss-filter-update-settings.mdx b/rest-api/management-apis/extensions/xss-filter-update-settings.mdx index 9d4f3b26b..a790dd876 100644 --- a/rest-api/management-apis/extensions/xss-filter-update-settings.mdx +++ b/rest-api/management-apis/extensions/xss-filter-update-settings.mdx @@ -1,3 +1,21 @@ --- openapi: put /apps/{appId}/extensions/xss-filter/v1/settings ---- \ No newline at end of file +description: "XSS Filter : Update the settings for XSS Filter extension" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/moderation/add-keywords.mdx b/rest-api/management-apis/moderation/add-keywords.mdx deleted file mode 100644 index 29b45c1a2..000000000 --- a/rest-api/management-apis/moderation/add-keywords.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -openapi: post /apps/{appId}/moderation/keywords ---- - -import { Callout, calloutText } from '/snippets/callout.jsx'; - - diff --git a/rest-api/management-apis/moderation/add-rule.mdx b/rest-api/management-apis/moderation/add-rule.mdx deleted file mode 100644 index 7983dc4ce..000000000 --- a/rest-api/management-apis/moderation/add-rule.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -openapi: post /apps/{appId}/moderation/rules ---- - -import { Callout, calloutText } from '/snippets/callout.jsx'; - - diff --git a/rest-api/management-apis/moderation/approve-blocked-messages.mdx b/rest-api/management-apis/moderation/approve-blocked-messages.mdx deleted file mode 100644 index 9204dad05..000000000 --- a/rest-api/management-apis/moderation/approve-blocked-messages.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -openapi: patch /apps/{appId}/moderation/blocked-messages/{messageId} ---- - -import { Callout, calloutText } from '/snippets/callout.jsx'; - - diff --git a/rest-api/management-apis/moderation/get-keyword.mdx b/rest-api/management-apis/moderation/get-keyword.mdx deleted file mode 100644 index cbd60c8fd..000000000 --- a/rest-api/management-apis/moderation/get-keyword.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -openapi: get /apps/{appId}/moderation/keywords/{keywordId} ---- - -import { Callout, calloutText } from '/snippets/callout.jsx'; - - diff --git a/rest-api/management-apis/moderation/get-rule-revisions.mdx b/rest-api/management-apis/moderation/get-rule-revisions.mdx deleted file mode 100644 index 5f5295baf..000000000 --- a/rest-api/management-apis/moderation/get-rule-revisions.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -openapi: get /apps/{appId}/moderation/rules/{ruleId}/revisions ---- - -import { Callout, calloutText } from '/snippets/callout.jsx'; - - diff --git a/rest-api/management-apis/moderation/get-rule.mdx b/rest-api/management-apis/moderation/get-rule.mdx deleted file mode 100644 index d778e4bfd..000000000 --- a/rest-api/management-apis/moderation/get-rule.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -openapi: get /apps/{appId}/moderation/rules/{ruleId} ---- - -import { Callout, calloutText } from '/snippets/callout.jsx'; - - diff --git a/rest-api/management-apis/moderation/list-blocked-messages.mdx b/rest-api/management-apis/moderation/list-blocked-messages.mdx deleted file mode 100644 index e0ba6fe08..000000000 --- a/rest-api/management-apis/moderation/list-blocked-messages.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -openapi: get /apps/{appId}/moderation/blocked-messages ---- - -import { Callout, calloutText } from '/snippets/callout.jsx'; - - diff --git a/rest-api/management-apis/moderation/list-keywords.mdx b/rest-api/management-apis/moderation/list-keywords.mdx deleted file mode 100644 index ea19b2515..000000000 --- a/rest-api/management-apis/moderation/list-keywords.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -openapi: get /apps/{appId}/moderation/keywords ---- - -import { Callout, calloutText } from '/snippets/callout.jsx'; - - diff --git a/rest-api/management-apis/moderation/list-rules.mdx b/rest-api/management-apis/moderation/list-rules.mdx deleted file mode 100644 index 7dc2d40b6..000000000 --- a/rest-api/management-apis/moderation/list-rules.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -openapi: get /apps/{appId}/moderation/rules ---- - -import { Callout, calloutText } from '/snippets/callout.jsx'; - - diff --git a/rest-api/management-apis/moderation/remove-keyword.mdx b/rest-api/management-apis/moderation/remove-keyword.mdx deleted file mode 100644 index f77d6920d..000000000 --- a/rest-api/management-apis/moderation/remove-keyword.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -openapi: delete /apps/{appId}/moderation/keywords/{keywordId} ---- - -import { Callout, calloutText } from '/snippets/callout.jsx'; - - diff --git a/rest-api/management-apis/moderation/remove-rule.mdx b/rest-api/management-apis/moderation/remove-rule.mdx deleted file mode 100644 index be860c7c6..000000000 --- a/rest-api/management-apis/moderation/remove-rule.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -openapi: delete /apps/{appId}/moderation/rules/{ruleId} ---- - -import { Callout, calloutText } from '/snippets/callout.jsx'; - - diff --git a/rest-api/management-apis/moderation/update-keyword.mdx b/rest-api/management-apis/moderation/update-keyword.mdx deleted file mode 100644 index 91194cf67..000000000 --- a/rest-api/management-apis/moderation/update-keyword.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -openapi: put /apps/{appId}/moderation/keywords/{keywordId} ---- - -import { Callout, calloutText } from '/snippets/callout.jsx'; - - diff --git a/rest-api/management-apis/moderation/update-rule.mdx b/rest-api/management-apis/moderation/update-rule.mdx deleted file mode 100644 index 429064900..000000000 --- a/rest-api/management-apis/moderation/update-rule.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -openapi: put /apps/{appId}/moderation/rules/{ruleId} ---- - -import { Callout, calloutText } from '/snippets/callout.jsx'; - - diff --git a/rest-api/management-apis/properties-and-constraints.mdx b/rest-api/management-apis/properties-and-constraints.mdx new file mode 100644 index 000000000..df0ea7e3f --- /dev/null +++ b/rest-api/management-apis/properties-and-constraints.mdx @@ -0,0 +1,25 @@ +--- +title: "Properties and Constraints" +sidebarTitle: "Properties and Constraints" +description: "Properties and Constraints for CometChat REST API." +--- + +Properties and constraints for the Management APIs (Multi-Tenancy). + +## App Management + +| **Property** | **Constraints** | +| ----------------------------------------------- | --------------------------------------------------------------- | +| App name | Max 100 characters, UTF8mb4 (supports all languages and emojis) | +| App version | `v3` only | +| Maximum collaborators per app (team management) | 25 | + +## Webhooks + +| **Property** | **Constraints** | +| ------------------------------- | ------------------------------------------------ | +| Maximum webhooks per app | 25 | +| Webhook URL | Valid URL, max 255 characters | +| Webhook ID | Max 50 characters, alphanumeric only, no spaces | +| Webhook authentication username | Max 50 characters, alphanumeric only, no spaces | +| Webhook authentication password | Max 100 characters, alphanumeric only, no spaces | diff --git a/rest-api/management-apis/settings/list-settings.mdx b/rest-api/management-apis/settings/list-settings.mdx index 33eb6271c..f2d2bbd7a 100644 --- a/rest-api/management-apis/settings/list-settings.mdx +++ b/rest-api/management-apis/settings/list-settings.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/settings ---- \ No newline at end of file +description: "Lists settings of an app." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/settings/maps-settings.mdx b/rest-api/management-apis/settings/maps-settings.mdx index 62640cf85..06eb346f0 100644 --- a/rest-api/management-apis/settings/maps-settings.mdx +++ b/rest-api/management-apis/settings/maps-settings.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/settings ---- \ No newline at end of file +description: "Maps settings for an app." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/settings/unmaps-settings.mdx b/rest-api/management-apis/settings/unmaps-settings.mdx index 9f4576165..07f8b0f3d 100644 --- a/rest-api/management-apis/settings/unmaps-settings.mdx +++ b/rest-api/management-apis/settings/unmaps-settings.mdx @@ -1,3 +1,21 @@ --- openapi: delete /apps/{appId}/settings ---- \ No newline at end of file +description: "UnMaps settings of an app." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/team-management/addsremove-collaborators.mdx b/rest-api/management-apis/team-management/addsremove-collaborators.mdx index dcc30a502..e6fd85e58 100644 --- a/rest-api/management-apis/team-management/addsremove-collaborators.mdx +++ b/rest-api/management-apis/team-management/addsremove-collaborators.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/collaborators ---- \ No newline at end of file +description: "Adds or removes collaborators for an app." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/team-management/list-collaborators.mdx b/rest-api/management-apis/team-management/list-collaborators.mdx index 0109a9cf5..62454f091 100644 --- a/rest-api/management-apis/team-management/list-collaborators.mdx +++ b/rest-api/management-apis/team-management/list-collaborators.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/collaborators ---- \ No newline at end of file +description: "Lists all the collaborators of an app." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/tenants/add-tenant.mdx b/rest-api/management-apis/tenants/add-tenant.mdx deleted file mode 100644 index 0b4c82878..000000000 --- a/rest-api/management-apis/tenants/add-tenant.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /tenants ---- \ No newline at end of file diff --git a/rest-api/management-apis/webhooks/add-triggers.mdx b/rest-api/management-apis/webhooks/add-triggers.mdx index a829fbc22..27a20ce72 100644 --- a/rest-api/management-apis/webhooks/add-triggers.mdx +++ b/rest-api/management-apis/webhooks/add-triggers.mdx @@ -1,3 +1,22 @@ --- openapi: post /apps/{appId}/webhooks/{webhookId}/triggers ---- \ No newline at end of file +description: "Adds trigger to a webhook in an app." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ----------------------------- | ----------- | ------------------------------------------------------ | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | +| `ERR_WEBHOOK_NOT_FOUND` | 404 | No webhook exists with the specified webhook ID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/webhooks/create-webhook.mdx b/rest-api/management-apis/webhooks/create-webhook.mdx index bd3c61419..914e451e8 100644 --- a/rest-api/management-apis/webhooks/create-webhook.mdx +++ b/rest-api/management-apis/webhooks/create-webhook.mdx @@ -1,3 +1,21 @@ --- openapi: post /apps/{appId}/webhooks ---- \ No newline at end of file +description: "Creates webhook in an app." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/webhooks/delete-webhook.mdx b/rest-api/management-apis/webhooks/delete-webhook.mdx index b4923de02..4704ebfe0 100644 --- a/rest-api/management-apis/webhooks/delete-webhook.mdx +++ b/rest-api/management-apis/webhooks/delete-webhook.mdx @@ -1,3 +1,22 @@ --- openapi: delete /apps/{appId}/webhooks/{webhookId} ---- \ No newline at end of file +description: "Delete the webhook from an app." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ----------------------------- | ----------- | ------------------------------------------------------ | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | +| `ERR_WEBHOOK_NOT_FOUND` | 404 | No webhook exists with the specified webhook ID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/webhooks/get-webhook.mdx b/rest-api/management-apis/webhooks/get-webhook.mdx index 531bb7c18..96875bff8 100644 --- a/rest-api/management-apis/webhooks/get-webhook.mdx +++ b/rest-api/management-apis/webhooks/get-webhook.mdx @@ -1,3 +1,22 @@ --- openapi: get /apps/{appId}/webhooks/{webhookId} ---- \ No newline at end of file +description: "Gets details of a webhook in an app." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ----------------------------- | ----------- | ------------------------------------------------------ | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | +| `ERR_WEBHOOK_NOT_FOUND` | 404 | No webhook exists with the specified webhook ID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/webhooks/list-triggers.mdx b/rest-api/management-apis/webhooks/list-triggers.mdx index 390816a01..ff7d6caa9 100644 --- a/rest-api/management-apis/webhooks/list-triggers.mdx +++ b/rest-api/management-apis/webhooks/list-triggers.mdx @@ -1,3 +1,22 @@ --- openapi: get /apps/{appId}/webhooks/{webhookId}/triggers ---- \ No newline at end of file +description: "List triggers attached to a webhook in an app." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ----------------------------- | ----------- | ------------------------------------------------------ | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | +| `ERR_WEBHOOK_NOT_FOUND` | 404 | No webhook exists with the specified webhook ID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/webhooks/list-webhooks.mdx b/rest-api/management-apis/webhooks/list-webhooks.mdx index 8e1a395c4..b33c23e2c 100644 --- a/rest-api/management-apis/webhooks/list-webhooks.mdx +++ b/rest-api/management-apis/webhooks/list-webhooks.mdx @@ -1,3 +1,21 @@ --- openapi: get /apps/{appId}/webhooks ---- \ No newline at end of file +description: "Lists webhooks in an app." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/webhooks/overview.mdx b/rest-api/management-apis/webhooks/overview.mdx new file mode 100644 index 000000000..8437892c3 --- /dev/null +++ b/rest-api/management-apis/webhooks/overview.mdx @@ -0,0 +1,1196 @@ +--- +title: "Overview" +description: "Overview of Overview in CometChat REST API." +--- + + +1. The Webhook API documentation provides comprehensive guidance on how to integrate and utilize Webhook functionality for real-time event-driven communication. +2. Our platform is designed around the concept of event-driven communication. It allows your applications to subscribe to specific events and receive instant notifications when these events occur. + + + + + +### Please review the following requirements for setting up your webhook endpoint + + +1. Your webhook endpoint must be accessible over HTTPS. This is essential to ensure the security and integrity of data transmission. +2. Provide us with the URL where you'd like to receive webhook payloads. Webhook payloads would be in JSON format. This URL should be publicly accessible from the internet. +3. Ensure that your endpoint supports the HTTP POST method. Webhook payloads will be delivered via HTTP POST requests. +4. Configure your endpoint to respond immediately to the CometChat server with a 200 OK response. +5. We recommend you use Basic Auth while configuring webhook, so as to validate incoming webhook requests. + + + +Here is the list of properties associated with Webhook. + +| Parameters | Type | Description | +| ------------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| id | string | Unique identifier of the webhook. It can have a maximum of 50 characters. | +| name | string | Display name of the webhook. It can have a maximum of 50 characters. | +| webhookURL | string | The webhookURL field represents the target URL to which webhook events will be delivered. | +| useBasicAuth | boolean | The useBasicAuth field is a boolean flag that indicates whether basic authentication should be applied when sending webhook requests to the specified webhookURL | +| username | string | This field should contain the username or identifier associated with the authentication credentials. | +| password | string | This field should contain the secret password that corresponds to the provided username. | +| enabled | boolean | The enabled field is a boolean flag that determines whether a webhook is currently active and capable of receiving and processing incoming events | + +## Constraints + +| Item | Constraint | Notes | +| ---- | ---------- | ----- | +| Maximum webhooks per app | 25 | Contact support if you need more | +| Webhook URL | 255 characters max | Must be a publicly accessible HTTPS endpoint | +| Webhook ID | 50 characters, alphanumeric (UTF8mb4, no spaces) | Unique identifier for managing the webhook | +| Authentication username | 50 characters, alphanumeric (no spaces) | Used for HTTP Basic Authentication | +| Authentication password | 100 characters, alphanumeric (no spaces) | Keep secure; used to verify webhook requests | + +### The list of triggers that are supported + +| triggerId | Description | +| ------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| [`message_sent`](#message_sent) | The hook triggers after the message is sent. | +| [`message_edited`](#message_edited) | The hook triggers after the message is edited. | +| [`message_deleted`](#message_deleted) | The hook triggers after the message is deleted. | +| [`message_reaction_added`](#message_reaction_added) | The hook triggers after reaction is added to a message. | +| [`message_reaction_removed`](#message_reaction_removed) | The hook triggers after reaction is removed from a message. | +| [`user_blocked`](#user_blocked) | The hook triggers when a user blocks another user. | +| [`user_unblocked`](#user_unblocked) | The hook triggers when a user unblocks another user. | +| [`group_created`](#group_created) | The hook triggers after the group is created. | +| [`group_updated`](#group_updated) | The hook triggers after the group is updated. | +| [`group_deleted`](#group_deleted) | The hook triggers after the group is deleted. | +| [`group_member_joined`](#group_member_joined) | The hook triggers after a user joins a group. | +| [`group_member_left`](#group_member_left) | The hook triggers after a user leaves the group. | +| [`group_member_added`](#group_member_added) | The hook triggers after members are added to a group. | +| [`group_member_kicked`](#group_member_kicked) | The hook triggers after members are kicked from a group. | +| [`group_member_banned`](#group_member_banned) | The hook triggers after members are banned from a group. | +| [`group_member_unbanned`](#group_member_unbanned) | The hook triggers after members are unbanned from a group. | +| [`group_member_scope_changed`](#group_member_scope_changed) | The hook triggers if the scope of a member changes in a group. | +| [`group_owner_transferred`](#group_owner_transferred) | The hook triggers if the owner of the group is changed. | +| [`user_connection_status_changed`](#user_connection_status_changed) | The hook triggers after a user connects/disconnects from the websocket server. | +| [`message_delivery_receipt`](#message_delivery_receipt) | The hook triggers when the client chat application confirms with Cometchat servers that a message was delivered. | +| [`message_read_receipt`](#message_read_receipt) | The hook triggers when the client chat application confirms with Cometchat servers that a message was read. | +| [`call_initiated`](#call_initiated) | The hook triggers when the call is initiated. | +| [`call_started`](#call_started) | The hook triggers when the call is started. | +| [`call_participant_joined`](#call_participant_joined) | The hook triggers when a participant joins the call. | +| [`call_participant_left`](#call_participant_left) | The hook triggers when a participant leaves the call. | +| [`call_ended`](#call_ended) | The hook triggers when the call is ended. | +| [`meeting_started`](#meeting_started) | The hook triggers when a meeting is started. | +| [`meeting_participant_joined`](#meeting_participant_joined) | The hook triggers when a participant joins the meeting. | +| [`meeting_participant_left`](#meeting_participant_left) | The hook triggers when a participant leaves the meeting. | +| [`meeting_ended`](#meeting_ended) | The hook triggers when the meeting is ended. | +| [`recording_generated`](#recording_generated) | The hook triggers when the recording is generated. | + + +### Payload structure of events + +#### Groups + +##### group\_created: + + + +```json group_created +{ + "trigger":"group_created", + "data":{ + "group":{ + "guid":"cometchat-guid-1", + "name":"Hiking Group", + "type":"public", + "scope":"admin", + "membersCount":1, + "joinedAt":1696932915, + "conversationId":"group_cometchat-guid-1", + "hasJoined":true, + "createdAt":1696932915, + "owner":"cometchat-uid-1" + }, + "members":{ + "cometchat-uid-1":{ + "uid":"cometchat-uid-1", + "name":"Andrew Joseph", + "status":"available", + "role":"default", + "lastActiveAt":1696932834 + } + } + }, + "appId":"", + "region":"", + "webhook":"" +} +``` + + + +##### group\_updated: + + + +```json group_updated +{ + "trigger": "group_updated", + "data": { + "group": { + "guid": "cometchat-guid-1", + "name": "Hiking Group", + "type": "public", + "membersCount": 2, + "conversationId": "group_cometchat-guid-1", + "createdAt": 1695728507, + "owner": "cometchat-uid-2", + "updatedAt": 1696934048, + "updatedBy": "cometchat-uid-1", + "onlineMembersCount": 2 + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### group\_deleted: + + + +```json group_deleted +{ + "trigger": "group_deleted", + "data": { + "group": { + "guid": "cometchat-guid-1", + "name": "1234", + "type": "public", + "membersCount": 1, + "conversationId": "group_cometchat-guid-1", + "createdAt": 1695722912, + "owner": "cometchat-uid-1", + "updatedAt": 1695817083, + "updatedBy": "cometchat-uid-1", + "onlineMembersCount": 1 + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### group\_owner\_transferred: + + + +```json group_owner_transferred +{ + "trigger": "group_owner_transferred", + "data": { + "group": { + "guid": "cometchat-guid-1", + "name": "Hiking Group", + "type": "public", + "membersCount": 2, + "conversationId": "group_cometchat-guid-1", + "createdAt": 1695728507, + "owner": "cometchat-uid-2", + "updatedAt": 1696933737, + "updatedBy": "cometchat-uid-1", + "onlineMembersCount": 2, + "oldOwner": "cometchat-uid-1" + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### group\_member\_added: + + + +```json group_member_added +{ + "trigger": "group_member_added", + "data": { + "group": { + "guid": "cometchat-guid-1", + "name": "Hiking Group", + "type": "public", + "membersCount": 2, + "conversationId": "group_cometchat-guid-1", + "createdAt": 1696932915, + "owner": "cometchat-uid-1", + "onlineMembersCount": 1 + }, + "members": { + "cometchat-uid-2": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "avatar": "https://example.com/avatars/george-alan.png", + "status": "offline", + "role": "default", + "lastActiveAt": 1695751453, + "conversationId": "cometchat-uid-1_user_cometchat-uid-2" + } + }, + "by": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph", + "avatar": "https://example.com/avatars/andrew-joseph.png", + "status": "available", + "role": "default", + "lastActiveAt": 1696932834 + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### group\_member\_banned: + + + +```json group_member_banned +{ + "trigger": "group_member_banned", + "data": { + "group": { + "guid": "cometchat-guid-1", + "name": "Hiking Group", + "type": "public", + "membersCount": 1, + "conversationId": "group_group__1696932914913", + "createdAt": 1696932915, + "owner": "cometchat-uid-1", + "updatedAt": 1696933533, + "onlineMembersCount": 1 + }, + "members": { + "cometchat-uid-2": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "avatar": "https://example.com/avatars/george-alan.png", + "status": "offline", + "role": "default", + "lastActiveAt": 1695751453, + "conversationId": "cometchat-uid-1_user_cometchat-uid-2" + } + }, + "by": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph", + "avatar": "https://example.com/avatars/andrew-joseph.png", + "status": "available", + "role": "default", + "lastActiveAt": 1696932834 + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### group\_member\_unbanned: + + + +```json group_member_unbanned +{ + "trigger": "group_member_unbanned", + "data": { + "members": { + "cometchat-uid-2": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "avatar": "https://example.com/avatars/george-alan.png", + "status": "offline", + "role": "default", + "lastActiveAt": 1695751453, + "conversationId": "cometchat-uid-1_user_cometchat-uid-2" + } + }, + "group": { + "guid": "cometchat-guid-1", + "name": "Hiking Group", + "type": "public", + "membersCount": 1, + "conversationId": "group_cometchat-guid-1", + "createdAt": 1696932915, + "owner": "cometchat-uid-1", + "updatedAt": 1696933533, + "onlineMembersCount": 1 + }, + "by": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph", + "avatar": "https://example.com/avatars/andrew-joseph.png", + "status": "available", + "role": "default", + "lastActiveAt": 1696932834 + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### group\_member\_joined: + + + +```json group_member_joined +{ + "trigger": "group_member_joined", + "data": { + "members": { + "cometchat-uid-2": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "avatar": "https://example.com/avatars/george-alan.png", + "status": "available", + "role": "default", + "lastActiveAt": 1696933689 + } + }, + "group": { + "guid": "cometchat-guid-1", + "name": "Hiking Group", + "type": "public", + "membersCount": 2, + "conversationId": "group_cometchat-guid-1", + "createdAt": 1695728507, + "owner": "cometchat-uid-1", + "updatedAt": 1696933691, + "onlineMembersCount": 1 + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### group\_member\_left: + + + +```json group_member_left +{ + "trigger": "group_member_left", + "data": { + "members": { + "cometchat-uid-2": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "avatar": "https://example.com/avatars/george-alan.png", + "status": "available", + "role": "default", + "lastActiveAt": 1696933689 + } + }, + "group": { + "guid": "cometchat-guid-1", + "name": "Hiking Group", + "type": "public", + "membersCount": 1, + "conversationId": "group_cometchat-guid-1", + "createdAt": 1695722891, + "owner": "cometchat-uid-1", + "updatedAt": 1696933827, + "onlineMembersCount": 1 + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### group\_member\_scope\_changed: + + + +```json group_member_scope_changed +{ + "trigger": "group_member_scope_changed", + "data": { + "members": { + "cometchat-uid-2": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "avatar": "https://example.com/avatars/george-alan.png", + "status": "available", + "role": "default", + "lastActiveAt": 1696933928, + "conversationId": "cometchat-uid-1_user_cometchat-uid-2", + "scope": "admin", + "oldScope": "participant" + } + }, + "group": { + "guid": "cometchat-guid-1", + "name": "Hiking Group", + "type": "public", + "membersCount": 2, + "conversationId": "group_cometchat-guid-1", + "createdAt": 1695722891, + "owner": "cometchat-uid-1", + "updatedAt": 1696933925, + "onlineMembersCount": 2 + }, + "by": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph", + "avatar": "https://example.com/avatars/andrew-joseph.png", + "status": "available", + "role": "default", + "lastActiveAt": 1696933934 + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### group\_member\_kicked: + + + +```json group_member_kicked +{ + "trigger": "group_member_kicked", + "data": { + "members": { + "cometchat-uid-2": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "avatar": "https://example.com/avatars/george-alan.png", + "status": "available", + "role": "default", + "lastActiveAt": 1696933689, + "conversationId": "cometchat-uid-1_user_cometchat-uid-2" + } + }, + "group": { + "guid": "cometchat-guid-1", + "name": "Hiking Group", + "type": "public", + "membersCount": 1, + "conversationId": "group_cometchat-guid-1", + "createdAt": 1695722891, + "owner": "cometchat-uid-1", + "updatedAt": 1696933889, + "onlineMembersCount": 8 + }, + "by": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph", + "avatar": "https://example.com/avatars/andrew-joseph.png", + "status": "available", + "role": "default", + "lastActiveAt": 1696933881 + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + + +#### Messages + +##### message\_sent: + + + +```json message_sent +{ + "trigger": "message_sent", + "data": { + "message": { + "id": "1", + "conversationId": "cometchat-uid-1_user_cometchat-uid-2", + "sender": "cometchat-uid-1", + "receiverType": "user", + "receiver": "cometchat-uid-2", + "category": "message", + "type": "text", + "data": { + "text": "hi", + "entities": { + "sender": { + "entity": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph", + "avatar": "https://example.com/avatars/andrew-joseph.png", + "status": "available", + "role": "default", + "lastActiveAt": 1696934440 + }, + "entityType": "user" + }, + "receiver": { + "entity": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "avatar": "https://example.com/avatars/george-alan.png", + "status": "available", + "role": "default", + "lastActiveAt": 1696934491, + "conversationId": "cometchat-uid-1_user_cometchat-uid-2" + }, + "entityType": "user" + } + } + }, + "sentAt": 1696934912, + "updatedAt": 1696934912 + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### message\_edited: + + + +```json message_edited +{ + "trigger": "message_edited", + "data": { + "message": { + "id": "2", + "conversationId": "cometchat-uid-1_user_cometchat-uid-2", + "sender": "cometchat-uid-1", + "receiverType": "user", + "receiver": "cometchat-uid-2", + "category": "action", + "type": "message", + "data": { + "action": "edited", + "entities": { + "by": { + "entity": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph", + "avatar": "https://example.com/avatars/andrew-joseph.png", + "status": "available", + "role": "default", + "lastActiveAt": 1696934440 + }, + "entityType": "user" + }, + "on": { + "entity": { + "id": "1", + "conversationId": "cometchat-uid-1_user_cometchat-uid-2", + "sender": "cometchat-uid-1", + "receiverType": "user", + "receiver": "cometchat-uid-2", + "category": "message", + "type": "text", + "data": { + "text": "hello" + }, + "sentAt": 1696934912, + "editedAt": 1696934985, + "editedBy": "cometchat-uid-1" + }, + "entityType": "message" + } + } + }, + "sentAt": 1696934985, + "updatedAt": 1696934985 + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### message\_deleted: + + + +```json message_deleted +{ + "trigger": "message_deleted", + "data": { + "message": { + "id": "3", + "conversationId": "cometchat-uid-1_user_cometchat-uid-2", + "sender": "cometchat-uid-1", + "receiverType": "user", + "receiver": "cometchat-uid-2", + "category": "action", + "type": "message", + "data": { + "action": "deleted", + "entities": { + "by": { + "entity": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph" + }, + "entityType": "user" + }, + "on": { + "entity": { + "id": "2", + "conversationId": "cometchat-uid-1_user_cometchat-uid-2", + "deletedAt": 1696935005, + "deletedBy": "cometchat-uid-1" + }, + "entityType": "message" + } + } + }, + "sentAt": 1696935005, + "updatedAt": 1696935005 + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### message\_delivery\_receipt: + + + +```json message_delivery_receipt +{ + "trigger": "message_delivery_receipt", + "data": { + "receiver": "cometchat-uid-1", + "receiverType": "user", + "type": "receipts", + "sender": "cometchat-uid-2", + "messageSender": "cometchat-uid-1", + "body": { + "action": "delivered", + "messageId": "57", + "user": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "status": "online" + }, + "timestamp": 1696934912 + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### message\_read\_receipt: + + + +```json message_read_receipt +{ + "trigger": "message_read_receipt", + "data": { + "receiver": "cometchat-uid-1", + "receiverType": "user", + "type": "receipts", + "sender": "cometchat-uid-2", + "messageSender": "cometchat-uid-1", + "body": { + "action": "read", + "messageId": "57", + "user": { + "uid": "cometchat-uid-2", + "name": "George Alan", + "status": "online" + }, + "timestamp": 1696934950 + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### message\_reaction\_added: + + + +```json message_reaction_added +{ + "trigger": "message_reaction_added", + "data": { + "reaction": { + "id": "", + "messageId": "", + "reaction": "🏒", + "uid": "cometchat-uid-1", + "reactedAt": 1700655536, + "reactedBy": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph" + } + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### message\_reaction\_removed: + + + +```json message_reaction_removed +{ + "trigger": "message_reaction_removed", + "data": { + "reaction": { + "id": "", + "messageId": "", + "reaction": "🏒", + "uid": "cometchat-uid-1", + "reactedAt": 1700231289, + "reactedBy": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph" + } + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +#### Users + +##### user\_connection\_status\_changed: + + + +```json user_connection_status_changed +{ + "trigger": "user_connection_status_changed", + "data": { + "timestamp": 1696935103114, + "user": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph", + "status": "offline", + "role": "default" + }, + "status": "offline", + "currentConnection": { + "action": "disconnected", + "platform": "javascript", + "connectedAt": 1696934440982 + }, + "userPresenceChanged": true + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### user\_blocked: + + + +```json user_blocked +{ + "trigger": "user_blocked", + "data": { + "users": { + "cometchat-uid-2": { + "uid": "cometchat-uid-2", + "name": "George Alan" + } + }, + "by": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph" + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### user\_unblocked: + + + +```json user_unblocked +{ + "trigger": "user_unblocked", + "data": { + "users": { + "cometchat-uid-2": { + "uid": "cometchat-uid-2", + "name": "George Alan" + } + }, + "by": { + "uid": "cometchat-uid-1", + "name": "Andrew Joseph" + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### user\_mentioned: + + + +```json user_mentioned +{ + "trigger": "user_mentioned", + "data": { + "message": { + "id": "4", + "conversationId": "cometchat-uid-1_user_cometchat-uid-2", + "sender": "cometchat-uid-1", + "receiverType": "user", + "receiver": "cometchat-uid-2", + "category": "message", + "type": "text", + "data": { + "text": "Hi <@uid:cometchat-uid-2>", + "mentions": { + "cometchat-uid-2": { + "uid": "cometchat-uid-2", + "name": "Andrew Joseph" + } + } + }, + "sentAt": 1702028666, + "updatedAt": 1702028666 + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + + +#### Calls & Meetings + +##### call\_initiated: + + + +```json call_initiated +{ + "trigger": "call_initiated", + "data": { + "call": { + "id": "52", + "conversationId": "cometchat-uid-1_user_cometchat-uid-5", + "sender": "cometchat-uid-1", + "receiverType": "user", + "receiver": "cometchat-uid-5", + "category": "call", + "type": "audio", + "data": { + "action": "initiated" + }, + "sentAt": 1696934199, + "updatedAt": 1696934199 + } + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### call\_started: + + + +```json call_started +{ + "trigger": "call_started", + "data": { + "created_at": 1696934572, + "sessionId": "" + }, + "type": "call", + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### call\_ended: + + + +```json call_ended +{ + "trigger": "call_ended", + "data": { + "all_occupants": [ + { + "joined_at": 1696934501, + "audio_call": "true", + "left_at": 1696934553, + "name": "George Alan" + }, + { + "joined_at": 1696934501, + "audio_call": "true", + "left_at": 1696934551, + "name": "Andrew Joseph" + } + ], + "destroyed_at": 1696934553, + "created_at": 1696934501, + "sessionId": "" + }, + "type": "call", + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### call\_participant\_joined: + + + +```json call_participant_joined +{ + "trigger": "call_participant_joined", + "data": { + "occupant": { + "joined_at": 1696934573, + "audio_call": "true", + "name": "Andrew Joseph" + }, + "sessionId": "" + }, + "type": "call", + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### call\_participant\_left: + + + +```json call_participant_left +{ + "trigger": "call_participant_left", + "data": { + "occupant": { + "joined_at": 1696934501, + "audio_call": "true", + "left_at": 1696934553, + "name": "George Alan" + }, + "sessionId": "" + }, + "type": "call", + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### meeting\_started: + + + +```json meeting_started +{ + "trigger": "meeting_started", + "data": { + "created_at": 1696934692, + "sessionId": "" + }, + "type": "meet", + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### meeting\_participant\_joined: + + + +```json meeting_participant_joined +{ + "trigger": "meeting_participant_joined", + "data": { + "occupant": { + "joined_at": 1696934692, + "audio_call": "false", + "name": "Andrew Joseph" + }, + "sessionId": "" + }, + "type": "meet", + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### meeting\_participant\_left: + + + +```json meeting_participant_left +{ + "trigger": "meeting_participant_left", + "data": { + "occupant": { + "joined_at": 1696934692, + "audio_call": "false", + "left_at": 1696934730, + "name": "Andrew Joseph" + }, + "sessionId": "" + }, + "type": "meet", + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### meeting\_ended: + + + +```json meeting_ended +{ + "trigger": "meeting_ended", + "data": { + "all_occupants": [ + { + "joined_at": 1696934692, + "audio_call": "false", + "left_at": 1696934730, + "name": "Andrew Joseph" + } + ], + "destroyed_at": 1696934730, + "created_at": 1696934692, + "sessionId": "" + }, + "type": "meet", + "appId": "", + "region": "", + "webhook": "" +} +``` + + + +##### recording\_generated: + + + +```json recording_generated +{ + "trigger": "recording_generated", + "data": { + "recordingDate": "2023-10-10", + "duration": "21.433000", + "startTime": "1696937627", + "sessionId": "", + "recording_url": "" + }, + "appId": "", + "region": "", + "webhook": "" +} +``` + + diff --git a/rest-api/management-apis/webhooks/remove-triggers.mdx b/rest-api/management-apis/webhooks/remove-triggers.mdx index 978a4ea6c..7d7fc2452 100644 --- a/rest-api/management-apis/webhooks/remove-triggers.mdx +++ b/rest-api/management-apis/webhooks/remove-triggers.mdx @@ -1,3 +1,22 @@ --- openapi: delete /apps/{appId}/webhooks/{webhookId}/triggers ---- \ No newline at end of file +description: "Removes triggers from a webhook in an app." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ----------------------------- | ----------- | ------------------------------------------------------ | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | +| `ERR_WEBHOOK_NOT_FOUND` | 404 | No webhook exists with the specified webhook ID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/management-apis/webhooks/update-webhook.mdx b/rest-api/management-apis/webhooks/update-webhook.mdx index dde717a34..c0a6e4514 100644 --- a/rest-api/management-apis/webhooks/update-webhook.mdx +++ b/rest-api/management-apis/webhooks/update-webhook.mdx @@ -1,3 +1,22 @@ --- openapi: put /apps/{appId}/webhooks/{webhookId} ---- \ No newline at end of file +description: "Updates webhook details of an app." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ----------------------------- | ----------- | ------------------------------------------------------ | +| `AUTH_ERR_INVALID_APPID` | 401 | The provided `appId` is invalid or does not exist | +| `AUTH_ERR_INVALID_SECRET_KEY` | 401 | The provided key and/or secret is invalid or incorrect | +| `ERR_WEBHOOK_NOT_FOUND` | 404 | No webhook exists with the specified webhook ID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all management operations. + + diff --git a/rest-api/messages.mdx b/rest-api/messages.mdx index 16e74cf72..557dcf5c3 100644 --- a/rest-api/messages.mdx +++ b/rest-api/messages.mdx @@ -1,303 +1,71 @@ --- title: "Overview" +description: "Send, retrieve, and manage messages in one-on-one and group conversations." --- -Messaging is one of the core features of CometChat. We've thoughtfully created APIs to help you send and retrieve message history. - -1. Users can send messages to a user or group. -2. No limit to the number of unread messages per user. -3. No limit to the number of unread messages per group. -4. Soft deleted messages will be available in the database but permanently deleted messages will not be available. - - -**Properties and constraints:** - -1. The maximum File size that can be uploaded per message is 100MB. -2. For a group with more than 300 members, the conversations and unread message counts are not updated. -3. Delivery and read receipts will be sent for a group of up to 300 online users. -4. Data is an arbitrary JSON structure. It accepts utf8mb4. It can have any user defined properties. but the below properties have meaning for CometChat: text, attachments, custome\_data, metadata\ - Note: The attachment size is separate. Here, the attachment is only the attachment properties (such as URL, size, etc.). The size must not exceed 10KB for the data object. -5. A message can have up to 25 tags with 100 characters per tag. The tags can be in any language. The character set must be UTF8mb4. - - - -The following table lists the properties that the Message API supports. - -| Parameters | Type | Description | -| ---------- | ------ | ------------------------------ | -| `appId` | String | Unique identifier for the app | -| `apiKey` | String | Authentication key for the app | -| `region` | String | Geographic region for the app | -| `baseUrl` | String | Base URL for API requests | - -## Interactive Messages: - -## Element List: - -The following mentioned elements will come inside `formFields` key mentioned above: - -## 1. LabelElement - - - -```json JSON -{ - "elementType": "label", - "elementId": "", - "text": "Something to show" -} -``` - - - -| JSON Property | Type | Description | -| ------------- | ------ | --------------------------------------------------- | -| text | String | Required, text to be displayed in the label element | - -## 2. TextInputElement - - - -```json JSON -{ - "elementType": "textInput", - "elementId": "", - "optional": false, - "label": "name", - "maxLines": 5, - "placeholder": { - "text": "Enter digits" - } -} -``` - - - -| JSON Property | Type | Description | Default Value | -| ------------- | ------- | ------------------------------------------------------------------- | ------------- | -| optional | boolean | Optional, will be validated when doing the submission based on this | true | - -## 3. ButtonElement - - - -```javascript JSON -{ - "elementType": "button", - "elementId": "", - "buttonText": "Press it", - "disableAfterInteracted": true - "action": { - "url" : "" - "method": "" - "payload": payload; - "headers":"headers"; - "dataKey":""; - "type": "apiAction", - "url": "https//abc.com", - "payload": "", - "headers": "" - } -} -``` - - - -### a. apiAction - - - -```json JSON -{ - "method": "", - "payload": {}, - "headers": {}, - "dataKey": "", - "actionType": "apiAction", - "url": "https//abc.com" -} -``` - - - -### b. urlNavigation(both fields are mandatory) - - - -```json JSON -{ - "url": "", - "actionType": "urlNavigation" -} -``` - - - -| JSON Property | Type | Description | Default Value | -| ------------- | ------ | ----------- | ------------- | -| url | String | Required, | | -| actionType | String | required | urlNavigation | - -### c. DeepLinking(both fields are mandatory) - - - -```json JSON -{ - "url": "", - "actionType": "deepLinkAction" -} -``` - - - -| JSON Property | Type | Description | Default Value | -| ------------- | ------ | ----------- | -------------- | -| url | String | Required, | | -| actionType | String | required | deepLinkAction | - -### d. CustomAction (only actionType is mandatory): - - - -```json JSON -{ - "actionType": "customAction" -} -``` - - - -## 4. CheckboxElement - - - -```json JSON -{ - "elementType": "checkbox", - "elementId": "", - "optional": false, - "label": "Select multiple", - "defaultValue": [ - "", - "" - ], - "options": [ - { - "value": "option1", - "label": "This is option 1" - }, - { - "value": "option1", - "label": "This is option 1" - } - ] -} -``` - - - -| JSON Property | Type | Description | Default Value | -| ------------- | --------------- | ----------- | ------------- | -| optional | boolean | optional, | true | -| label | String | required | | -| defaultValue | Array of string | optional | | - -## 5. DropdownElement/SpinnerElement(Android) - - - -```json JSON -{ - "elementType": "dropdown", - "elementId": "", - "optional": true, - "label": "Select multiple", - "defaultValue": "option1", - "options": [ - { - "value": "option1", - "label": "This is option 1" - }, - { - "value": "option1", - "label": "This is option 1" - } - ] -} -``` - - - -## 6. RadioButtonElement - - - -```json JSON -{ - "elementType": "radio", - "elementId": "", - "optional": false, - "label": "Select multiple", - "defaultValue": "option1", - "options": [ - { - "value": "option1", - "label": "This is option 1" - }, - { - "value": "option2", - "label": "This is option 1" - } - ] -} -``` - - - -## 7. SingleSelectElement - - - -```json JSON -{ - "elementType": "singleSelect", - "elementId": "", - "optional": false, - "label": "Select multiple", - "defaultValue": "option1", - "options": [ - { - "value": "option1", - "label": "This is option 1" - }, - { - "value": "option2", - "label": "This is option 1" - } - ] -} -``` - - - -## 8. DateTimeElement - - - -```json JSON -{ - "elementType": "dateTime", - "elementId": "element1", - "optional": false, - "label": "Contact Number", - "defaultValue": false, - "dateTimeFormat": "Y-m-d H:i:ss", - "mode": "date", - "timezoneCode": "Asia/Kolkata", - "from": "2024-06-23", - "to": "2024-06-24" -} -``` - - +A **Message** is the core unit of communication in CometChat. Users can send text, media files, and custom data to other users or groups. Messages support threading, reactions, read receipts, and delivery tracking. + +### Key behaviors + +- Maximum file upload size is **100 MB** per message (includes the file and the entire POST body). +- The message JSON payload (including metadata) can be up to **65,536 characters (~65 KB)**. +- The `data` object within a message must not exceed **10 KB**. It accepts any JSON structure with UTF8mb4 encoding. +- Messages can have up to **25 tags**, each up to 100 characters (UTF8mb4). +- Soft-deleted messages remain in the database. Permanently deleted messages (via API) are removed entirely. +- For groups with more than **300 members**, unread message counts and conversations are not updated. +- Delivery and read receipts are sent for groups of up to **300 online users**. + +### How messages connect to other resources + +- **Users** — Messages are sent by and delivered to [Users](/rest-api/users). The sender must be authenticated. +- **Groups** — Messages can target a [Group](/rest-api/groups) by specifying the group's GUID as the receiver. +- **Conversations** — Each message exchange creates or updates a [Conversation](/rest-api/conversations) that tracks the last message and unread count. +- **Threads** — Any message can be a parent for a thread. Replies are managed via the [threaded messages](/rest-api/messages/list-threaded-messages) endpoints. +- **Reactions** — Users can [add](/rest-api/messages/add-reaction) or [remove](/rest-api/messages/remove-reaction) emoji reactions on messages. + +### Available operations + +| Operation | Method | Endpoint | Description | +| ------------------------------------------------------------------- | -------- | --------------------------- | ------------------------------------------------ | +| [Send Message](/rest-api/messages/send-message) | `POST` | `/messages` | Send a message to a user or group | +| [List Messages](/rest-api/messages/list-messages) | `GET` | `/messages` | Retrieve all messages for the authenticated user | +| [List User Messages](/rest-api/messages/list-user-messages) | `GET` | `/users/{uid}/messages` | Retrieve messages in a 1-on-1 conversation | +| [List Group Messages](/rest-api/messages/list-group-messages) | `GET` | `/groups/{guid}/messages` | Retrieve messages in a group conversation | +| [Get Message](/rest-api/messages/get-message) | `GET` | `/messages/{id}` | Retrieve a specific message by ID | +| [Update Message](/rest-api/messages/update-message) | `PUT` | `/messages/{id}` | Edit a sent message | +| [Delete Message](/rest-api/messages/delete-message) | `DELETE` | `/messages/{id}` | Soft-delete or permanently delete a message | +| [Send Threaded Message](/rest-api/messages/send-threaded-message) | `POST` | `/messages/{id}/thread` | Reply to a message in a thread | +| [List Threaded Messages](/rest-api/messages/list-threaded-messages) | `GET` | `/messages/{id}/thread` | Retrieve all replies in a thread | +| [Send Bot Message](/rest-api/messages/send-bot-message) | `POST` | `/bots/{uid}/messages` | Send a message as a bot user | +| [Add Reaction](/rest-api/messages/add-reaction) | `POST` | `/messages/{id}/reactions` | Add an emoji reaction to a message | +| [Remove Reaction](/rest-api/messages/remove-reaction) | `DELETE` | `/messages/{id}/reactions/{reaction}` | Remove an emoji reaction from a message | +| [List All Reactions](/rest-api/messages/list-all-reactions) | `GET` | `/messages/{id}/reactions` | List all reactions on a message | +| [List Reactions by Emoji](/rest-api/messages/list-reactions-with-a-specific-emoji-unicode) | `GET` | `/messages/{id}/reactions/{reaction}` | List reactions filtered by a specific emoji | + +### Message properties + +| Property | Type | Description | +| ---------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------- | +| **id** | integer | Unique message identifier. System-generated, read-only. | +| **type** | string | Message type: `text`, `image`, `audio`, `video`, `file`, or a custom type. | +| **category** | string | Message category: `message` or `custom`. | +| **data** | object | Arbitrary JSON structure (max 10 KB). Recognized keys: `text`, `attachments`, `custom_data`, `metadata`. Accepts UTF8mb4. | +| **tags** | array of strings | Tags for categorizing messages. Max 25 tags, 100 characters each (UTF8mb4). | +| **sender** | string | UID of the user who sent the message. Read-only. | +| **receiver** | string | UID (for user messages) or GUID (for group messages) of the recipient. | +| **receiverType** | string | Receiver type: `user` or `group`. | +| **sentAt** | integer | UNIX timestamp of when the message was sent. Read-only. | + +### Error handling + +| Error Code | Description | +| --------------------------- | ------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | API key is missing from the request headers | +| `AUTH_ERR_APIKEY_NOT_FOUND` | The provided API key is invalid | +| `ERR_MSG_NOT_FOUND` | The specified message does not exist | +| `ERR_UID_NOT_FOUND` | The receiver UID does not exist | +| `ERR_GUID_NOT_FOUND` | The receiver group GUID does not exist | + +For the complete list of error codes, see [Error Guide](/articles/error-guide). + +For all system limits (file upload size, message payload, tag counts, etc.), see [Properties and Constraints](/articles/properties-and-constraints). diff --git a/rest-api/messages/add-reaction.mdx b/rest-api/messages/add-reaction.mdx index e7ff1e732..ba571a829 100644 --- a/rest-api/messages/add-reaction.mdx +++ b/rest-api/messages/add-reaction.mdx @@ -1,3 +1,26 @@ --- openapi: post /messages/{id}/reactions/{reaction} ---- \ No newline at end of file +description: "Adds a reaction to a message." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_MSG_NOT_FOUND` | 404 | No message found with the specified ID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Remove this reaction. + + + View all reactions on the message. + + diff --git a/rest-api/messages/delete-message.mdx b/rest-api/messages/delete-message.mdx index ec5b61f95..431a3c14c 100644 --- a/rest-api/messages/delete-message.mdx +++ b/rest-api/messages/delete-message.mdx @@ -1,3 +1,26 @@ --- openapi: delete /messages/{id} ---- \ No newline at end of file +description: "Deletes the message." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_MSG_NOT_FOUND` | 404 | No message found with the specified ID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View remaining messages. + + + Send a new message. + + diff --git a/rest-api/messages/get-message.mdx b/rest-api/messages/get-message.mdx index ae5065cf8..56d92ab94 100644 --- a/rest-api/messages/get-message.mdx +++ b/rest-api/messages/get-message.mdx @@ -1,3 +1,26 @@ --- openapi: get /messages/{id} ---- \ No newline at end of file +description: "Fetches the details of a message." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_MSG_NOT_FOUND` | 404 | No message found with the specified ID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Edit this message. + + + Remove this message. + + diff --git a/rest-api/messages/list-all-reactions.mdx b/rest-api/messages/list-all-reactions.mdx index 8e347906b..ad58b9662 100644 --- a/rest-api/messages/list-all-reactions.mdx +++ b/rest-api/messages/list-all-reactions.mdx @@ -1,3 +1,26 @@ --- openapi: get /messages/{id}/reactions ---- \ No newline at end of file +description: "Lists all the reactions for a message" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_MSG_NOT_FOUND` | 404 | No message found with the specified ID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + React to this message. + + + Remove a reaction from this message. + + diff --git a/rest-api/messages/list-group-messages.mdx b/rest-api/messages/list-group-messages.mdx index c43c7f022..1640790dd 100644 --- a/rest-api/messages/list-group-messages.mdx +++ b/rest-api/messages/list-group-messages.mdx @@ -1,3 +1,26 @@ --- openapi: get /groups/{guid}/messages ---- \ No newline at end of file +description: "Fetches the group message list for a user." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | 404 | No group exists with the specified GUID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Send a message to this group. + + + View who is in this group. + + diff --git a/rest-api/messages/list-messages.mdx b/rest-api/messages/list-messages.mdx index cef8571e1..9a2e877d6 100644 --- a/rest-api/messages/list-messages.mdx +++ b/rest-api/messages/list-messages.mdx @@ -1,3 +1,25 @@ --- openapi: get /messages ---- \ No newline at end of file +description: "Fetches the messages list." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Send a new message. + + + Retrieve a specific message by ID. + + diff --git a/rest-api/messages/list-reactions-with-a-specific-emoji-unicode.mdx b/rest-api/messages/list-reactions-with-a-specific-emoji-unicode.mdx new file mode 100644 index 000000000..8d71eea12 --- /dev/null +++ b/rest-api/messages/list-reactions-with-a-specific-emoji-unicode.mdx @@ -0,0 +1,4 @@ +--- +openapi: get /messages/{id}/reactions/{reaction} +description: "List reactions with a specific emoji/unicodes for a message" +--- diff --git a/rest-api/messages/list-reactions-with-a-specific-emojiunicodes.mdx b/rest-api/messages/list-reactions-with-a-specific-emojiunicodes.mdx deleted file mode 100644 index 46797606e..000000000 --- a/rest-api/messages/list-reactions-with-a-specific-emojiunicodes.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /messages/{id}/reactions/{reaction} ---- \ No newline at end of file diff --git a/rest-api/messages/list-threaded-messages.mdx b/rest-api/messages/list-threaded-messages.mdx index 4741bf232..3189cfc3e 100644 --- a/rest-api/messages/list-threaded-messages.mdx +++ b/rest-api/messages/list-threaded-messages.mdx @@ -1,3 +1,26 @@ --- openapi: get /messages/{id}/thread ---- \ No newline at end of file +description: "Fetches the messages list of a thread." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_MSG_NOT_FOUND` | 404 | No message found with the specified ID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Reply in this thread. + + + View the parent message. + + diff --git a/rest-api/messages/list-user-messages.mdx b/rest-api/messages/list-user-messages.mdx index b4b8fc5b4..647da87e1 100644 --- a/rest-api/messages/list-user-messages.mdx +++ b/rest-api/messages/list-user-messages.mdx @@ -1,3 +1,26 @@ --- openapi: get /users/{uid}/messages ---- \ No newline at end of file +description: "Fetches messages between onBehalfOfuid and an uid from path param." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ----------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID, or the user has been deactivated | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Send a message to this user. + + + View messages across all conversations. + + diff --git a/rest-api/messages/mark-message-as-interacted.mdx b/rest-api/messages/mark-message-as-interacted.mdx deleted file mode 100644 index 0a218142f..000000000 --- a/rest-api/messages/mark-message-as-interacted.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /messages/{id}/interacted ---- \ No newline at end of file diff --git a/rest-api/messages/remove-reaction.mdx b/rest-api/messages/remove-reaction.mdx index cdafcfb95..c21722e40 100644 --- a/rest-api/messages/remove-reaction.mdx +++ b/rest-api/messages/remove-reaction.mdx @@ -1,3 +1,26 @@ --- openapi: delete /messages/{id}/reactions/{reaction} ---- \ No newline at end of file +description: "Removes a reaction from a message" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_MSG_NOT_FOUND` | 404 | No message found with the specified ID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Add a reaction to the message. + + + View remaining reactions. + + diff --git a/rest-api/messages/send-bot-message.mdx b/rest-api/messages/send-bot-message.mdx index 1a87f832f..c0305ad8b 100644 --- a/rest-api/messages/send-bot-message.mdx +++ b/rest-api/messages/send-bot-message.mdx @@ -1,3 +1,26 @@ --- openapi: post /bots/{uid}/messages ---- \ No newline at end of file +description: "Sends Message from a Bot." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | -------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_BOT_NOT_FOUND` | 404 | No bot exists with the specified UID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Send a regular user message. + + + Create the bot user first. + + diff --git a/rest-api/messages/send-message.mdx b/rest-api/messages/send-message.mdx index d42f8f2de..8e45d4d52 100644 --- a/rest-api/messages/send-message.mdx +++ b/rest-api/messages/send-message.mdx @@ -1,3 +1,30 @@ --- openapi: post /messages ---- \ No newline at end of file +description: "Sends Message on behalf of a user." +--- + +## Constraints + +| Item | Constraint | Notes | +| ---- | ---------- | ----- | +| Maximum message size | 65 KB (~65,536 characters including metadata) | Total size limit for the entire message payload | +| File size per message | 100 MB | Applies to the uploaded file associated with the message | +| Message data object | 10 KB max (UTF8mb4) | Keys with special meaning: text, attachments, customData, metadata | +| Tags | Up to 25 tags, 100 characters each (UTF8mb4) | Tags can be in any language | +| User mentions | Up to 10 distinct users | Format: `<@uid:{uid of the user}>` | +| Reactions | Max 25 distinct reactions, 45 characters each (UTF8mb4) | Emoji supported (may use multiple code points) | +| Unread message count (groups) | Up to 300 members | Not updated for larger groups | +| Message receipts (groups) | Up to 300 online users | Delivery/read receipts disabled in large groups | +## Common errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | +| `ERR_EMPTY_RECEIVER` | 400 | The receiver field cannot be empty | +| `ERR_INVALID_RECEIVER_TYPE` | 400 | Invalid receiver type — must be `user` or `group` | +| `ERR_EMPTY_MESSAGE_TEXT` | 400 | Message text cannot be empty for text messages | +| `ERR_INVALID_MESSAGE_CATEGORY` | 400 | Invalid message category | + +For the complete error reference, see [Error Guide](/articles/error-guide). diff --git a/rest-api/messages/send-threaded-message.mdx b/rest-api/messages/send-threaded-message.mdx index 9dffce1cc..975a24553 100644 --- a/rest-api/messages/send-threaded-message.mdx +++ b/rest-api/messages/send-threaded-message.mdx @@ -1,3 +1,26 @@ --- openapi: post /messages/{id}/thread ---- \ No newline at end of file +description: "Sends Threaded Message on behalf of a user." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_MSG_NOT_FOUND` | 404 | No message found with the specified ID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View all replies in this thread. + + + View the parent message. + + diff --git a/rest-api/messages/update-message.mdx b/rest-api/messages/update-message.mdx index f2e29e5fe..939ba69cc 100644 --- a/rest-api/messages/update-message.mdx +++ b/rest-api/messages/update-message.mdx @@ -1,3 +1,26 @@ --- openapi: put /messages/{id} ---- \ No newline at end of file +description: "Edits the message on behalf of a user." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_MSG_NOT_FOUND` | 404 | No message found with the specified ID | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Retrieve the updated message. + + + Remove this message instead. + + diff --git a/rest-api/metrics/message-metrics.mdx b/rest-api/metrics/message-metrics.mdx index ec08b25ae..aa73adfa3 100644 --- a/rest-api/metrics/message-metrics.mdx +++ b/rest-api/metrics/message-metrics.mdx @@ -1,3 +1,22 @@ --- openapi: get /stats/messages ---- \ No newline at end of file +description: "Gives the number of messages sent and receipts received in an interval of five minutes." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View overall app usage statistics. + + diff --git a/rest-api/metrics/usage-metrics.mdx b/rest-api/metrics/usage-metrics.mdx index c6a20ffbd..a3fd3997c 100644 --- a/rest-api/metrics/usage-metrics.mdx +++ b/rest-api/metrics/usage-metrics.mdx @@ -1,3 +1,22 @@ --- openapi: get /stats ---- \ No newline at end of file +description: "Usage metrics of an app." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View detailed message statistics. + + diff --git a/rest-api/moderation-apis/add-keywords.mdx b/rest-api/moderation-apis/add-keywords.mdx new file mode 100644 index 000000000..7d93116fb --- /dev/null +++ b/rest-api/moderation-apis/add-keywords.mdx @@ -0,0 +1,4 @@ +--- +openapi: post /moderation/keywords +description: "Add keywords or regex patterns to a moderation list." +--- diff --git a/rest-api/moderation-apis/add-rule.mdx b/rest-api/moderation-apis/add-rule.mdx new file mode 100644 index 000000000..9db7a0913 --- /dev/null +++ b/rest-api/moderation-apis/add-rule.mdx @@ -0,0 +1,4 @@ +--- +openapi: post /moderation/rules +description: "Create a new content moderation rule." +--- diff --git a/rest-api/moderation-apis/approve-blocked-messages.mdx b/rest-api/moderation-apis/approve-blocked-messages.mdx new file mode 100644 index 000000000..8415cb491 --- /dev/null +++ b/rest-api/moderation-apis/approve-blocked-messages.mdx @@ -0,0 +1,4 @@ +--- +openapi: patch /moderation/blocked-messages/{messageId} +description: "Approve messages that were blocked by moderation rules." +--- diff --git a/rest-api/moderation/blockreview-flagged-message.mdx b/rest-api/moderation-apis/blockreview-flagged-message.mdx similarity index 50% rename from rest-api/moderation/blockreview-flagged-message.mdx rename to rest-api/moderation-apis/blockreview-flagged-message.mdx index 9fe7cdfc0..8a6536b08 100644 --- a/rest-api/moderation/blockreview-flagged-message.mdx +++ b/rest-api/moderation-apis/blockreview-flagged-message.mdx @@ -1,3 +1,4 @@ --- openapi: patch /moderation/flagged-messages/{id} +description: "Review a flagged message and take action." --- diff --git a/rest-api/moderation-apis/create-reasons.mdx b/rest-api/moderation-apis/create-reasons.mdx new file mode 100644 index 000000000..07340ba41 --- /dev/null +++ b/rest-api/moderation-apis/create-reasons.mdx @@ -0,0 +1,4 @@ +--- +openapi: post /moderation/reasons +description: "Create custom flag reasons for content moderation." +--- diff --git a/rest-api/moderation/delete-reasons.mdx b/rest-api/moderation-apis/delete-reasons.mdx similarity index 52% rename from rest-api/moderation/delete-reasons.mdx rename to rest-api/moderation-apis/delete-reasons.mdx index 9e5d78ac4..eae19030f 100644 --- a/rest-api/moderation/delete-reasons.mdx +++ b/rest-api/moderation-apis/delete-reasons.mdx @@ -1,3 +1,4 @@ --- openapi: delete /moderation/reasons/{id} +description: "Delete a custom flag reason." --- diff --git a/rest-api/moderation-apis/error-codes.mdx b/rest-api/moderation-apis/error-codes.mdx new file mode 100644 index 000000000..b027b9fbe --- /dev/null +++ b/rest-api/moderation-apis/error-codes.mdx @@ -0,0 +1,39 @@ +--- +title: "Error Codes" +sidebarTitle: "Error Codes" +description: "Error Codes for CometChat REST API." +--- + +Error codes specific to the AI Moderation APIs. + +## Rule Errors + +| Error Code | Description | +| -------------------- | ------------------------------------------ | +| `ERR_RULE_NOT_FOUND` | No rule exists with the specified rule ID. | + +## Keyword Errors + +| Error Code | Description | +| ----------------------- | ------------------------------------------------ | +| `ERR_KEYWORD_NOT_FOUND` | No keyword exists with the specified keyword ID. | + +## Message Errors + +| Error Code | Description | +| -------------------------- | ---------------------------------------- | +| `ERR_MESSAGE_ID_NOT_FOUND` | No message exists with the specified ID. | + +## Reason Errors + +| Error Code | Description | +| ---------------------- | --------------------------------------- | +| `ERR_REASON_NOT_FOUND` | No reason exists with the specified ID. | + +## Authentication Errors + +| Error Code | Description | +| --------------------------- | --------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | The `apikey` header is missing from the request. | +| `AUTH_ERR_APIKEY_NOT_FOUND` | The provided API key is invalid. | +| `AUTH_ERR_NO_ACCESS` | The API key doesn't have the required scope for this operation. | diff --git a/rest-api/moderation-apis/flag-a-message.mdx b/rest-api/moderation-apis/flag-a-message.mdx new file mode 100644 index 000000000..7dffef043 --- /dev/null +++ b/rest-api/moderation-apis/flag-a-message.mdx @@ -0,0 +1,4 @@ +--- +openapi: post /messages/{id}/flagged +description: "Flag a message for moderation review." +--- diff --git a/rest-api/moderation-apis/get-keyword.mdx b/rest-api/moderation-apis/get-keyword.mdx new file mode 100644 index 000000000..93769d551 --- /dev/null +++ b/rest-api/moderation-apis/get-keyword.mdx @@ -0,0 +1,4 @@ +--- +openapi: get /moderation/keywords/{keywordId} +description: "Retrieve details of a specific keyword entry." +--- diff --git a/rest-api/moderation-apis/get-reason-details.mdx b/rest-api/moderation-apis/get-reason-details.mdx new file mode 100644 index 000000000..03bfbe999 --- /dev/null +++ b/rest-api/moderation-apis/get-reason-details.mdx @@ -0,0 +1,4 @@ +--- +openapi: get /moderation/reasons/{id} +description: "Retrieve details of a specific flag reason." +--- diff --git a/rest-api/moderation-apis/get-rule-revisions.mdx b/rest-api/moderation-apis/get-rule-revisions.mdx new file mode 100644 index 000000000..7104f2fc6 --- /dev/null +++ b/rest-api/moderation-apis/get-rule-revisions.mdx @@ -0,0 +1,4 @@ +--- +openapi: get /moderation/rules/{ruleId}/revisions +description: "Fetch historical revisions of a moderation rule." +--- diff --git a/rest-api/moderation-apis/get-rule.mdx b/rest-api/moderation-apis/get-rule.mdx new file mode 100644 index 000000000..6aec156f7 --- /dev/null +++ b/rest-api/moderation-apis/get-rule.mdx @@ -0,0 +1,4 @@ +--- +openapi: get /moderation/rules/{ruleId} +description: "Retrieve details of a specific moderation rule." +--- diff --git a/rest-api/moderation-apis/list-blocked-messages.mdx b/rest-api/moderation-apis/list-blocked-messages.mdx new file mode 100644 index 000000000..b1d38a2c5 --- /dev/null +++ b/rest-api/moderation-apis/list-blocked-messages.mdx @@ -0,0 +1,4 @@ +--- +openapi: get /moderation/blocked-messages +description: "List all messages blocked by moderation rules." +--- diff --git a/rest-api/moderation-apis/list-flagged-messages.mdx b/rest-api/moderation-apis/list-flagged-messages.mdx new file mode 100644 index 000000000..91d457d55 --- /dev/null +++ b/rest-api/moderation-apis/list-flagged-messages.mdx @@ -0,0 +1,4 @@ +--- +openapi: get /moderation/flagged-messages +description: "List all messages flagged for review." +--- diff --git a/rest-api/moderation-apis/list-keywords.mdx b/rest-api/moderation-apis/list-keywords.mdx new file mode 100644 index 000000000..905780506 --- /dev/null +++ b/rest-api/moderation-apis/list-keywords.mdx @@ -0,0 +1,4 @@ +--- +openapi: get /moderation/keywords +description: "List all keywords in a moderation list." +--- diff --git a/rest-api/moderation-apis/list-reasons.mdx b/rest-api/moderation-apis/list-reasons.mdx new file mode 100644 index 000000000..132ec8de1 --- /dev/null +++ b/rest-api/moderation-apis/list-reasons.mdx @@ -0,0 +1,4 @@ +--- +openapi: get /moderation/reasons +description: "List all custom flag reasons." +--- diff --git a/rest-api/moderation-apis/list-reviewed-messages.mdx b/rest-api/moderation-apis/list-reviewed-messages.mdx new file mode 100644 index 000000000..a598ee70a --- /dev/null +++ b/rest-api/moderation-apis/list-reviewed-messages.mdx @@ -0,0 +1,4 @@ +--- +openapi: get /moderation/reviewed-messages +description: "List all reviewed moderation messages." +--- diff --git a/rest-api/moderation-apis/list-rules.mdx b/rest-api/moderation-apis/list-rules.mdx new file mode 100644 index 000000000..482a9c1f0 --- /dev/null +++ b/rest-api/moderation-apis/list-rules.mdx @@ -0,0 +1,4 @@ +--- +openapi: get /moderation/rules +description: "List all content moderation rules." +--- diff --git a/rest-api/moderation-apis/overview.mdx b/rest-api/moderation-apis/overview.mdx new file mode 100644 index 000000000..1e6dbd950 --- /dev/null +++ b/rest-api/moderation-apis/overview.mdx @@ -0,0 +1,87 @@ +--- +title: "AI Moderation APIs" +sidebarTitle: "Overview" +description: "Create and manage content moderation rules to maintain a safe environment across your CometChat app." +--- + +The Moderation API provides endpoints for managing content moderation rules and keyword lists. You can define rules that automatically detect and block inappropriate content in messages, including text profanity, AI-based image/video moderation, and custom keyword filters. + +## Key Behaviors + +- Default rules cover text profanity, AI-based image/video moderation, custom profanity, contact details, and email content. +- Text and custom profanity filters scan for words (including regex patterns) and drop the message if a violation is detected. +- AI-based image/video moderation scans attachments and discards the message if a violation is found. +- When a rule is violated, the message is blocked. Optionally, the sender can be kicked or banned (in groups) or blocked (in 1-on-1 conversations). + +## How Moderation Connects to Other Resources + +- **Messages** — Moderation rules are evaluated against [Messages](/rest-api/messages) in real time before delivery. +- **Groups** — Violations in group messages can trigger member kicks or bans via [Group Members](/rest-api/group-members) and [Banned Users](/rest-api/banned-users). +- **Blocked Users** — Violations in 1-on-1 messages can trigger a [block](/rest-api/blocked-users) on the sender. + +## Available Endpoints + +| Operation | Description | +| ------------------------------------------------------------------- | ---------------------------------------------------------- | +| [Rules](/rest-api/moderation-apis/list-rules) | Create, read, update, and delete moderation rules | +| [Keywords](/rest-api/moderation-apis/list-keywords) | Manage keyword lists or regex patterns for text moderation | +| [Blocked Messages](/rest-api/moderation-apis/list-blocked-messages) | Retrieve messages that violated moderation rules | +| [Flagged Messages](/rest-api/moderation-apis/list-flagged-messages) | Retrieve flagged messages for review | +| [Reasons](/rest-api/moderation-apis/list-reasons) | Manage custom flag reasons | +| [Rule Revisions](/rest-api/moderation-apis/get-rule-revisions) | Fetch historical revisions of a rule | + +## AI Image and Video Moderation Labels + +| Label | Description | +| --------------------- | ----------------------------------------------------------------------------------------------- | +| Violence | Instruments or devices used to cause harm — firearms, sharp weapons, explosives, and ammunition | +| Alcohol | Drinking alcoholic beverages from bottles or glasses | +| Gambling | Participating in games of chance — cards, roulette, slot machines | +| Drugs & Tobacco | Tablets, capsules, or the act of smoking cigarettes, cigars, e-cigarettes, hookah, or joints | +| Rude gestures | Hand gesture with the middle finger extended | +| Explicit Nudity | Visible human genitalia | +| Non-Explicit Nudity | Exposed human back from neck to spine without full occlusion | +| Swimwear or underwear | Swimwear or undergarments — bikinis, swim trunks, swim briefs, etc. | +| Visually Disturbing | Extremely thin, undernourished human bodies with severe physical wasting | +| Hate symbols | Symbols, flags, or gestures associated with extremist or terrorist groups | + +## API Constraints + + + **Need higher limits?** Contact [CometChat + Support](https://www.cometchat.com/contact) to discuss enterprise options. + + + + + | Parameter | Limit | |-----------|-------| | **Rule ID** | Max 100 + characters, no spaces or special characters | | **Name** | Max 100 + characters | | **Description** | Max 255 characters | | **Filters per rule** + | Max 10 filters | | **Conditions per rule** | Max 10 conditions | | **Rules + per app** | Max 25 custom rules (excludes default rules) | + + + | Parameter | Limit | |-----------|-------| | **List ID** | Max 100 + characters, no spaces or special characters | | **Name** | Max 100 + characters | | **Description** | Max 255 characters | | **CSV file size** | + Max 1 MB | | **Lists per app** | Max 25 custom lists (excludes default + lists) | + + + | Parameter | Limit | |-----------|-------| | **AI Context** | Max 50 + messages sent to OpenAI/Custom API for analysis | | **Custom Flag Reasons** + | Max 5 per app | + + + +## Error Handling + +| Error Code | Description | +| --------------------------- | ------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | API key is missing from the request headers | +| `AUTH_ERR_APIKEY_NOT_FOUND` | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | The API key doesn't have the required scope | + +For the complete list of error codes, see [Error Codes](/rest-api/moderation-apis/error-codes). + +For system limits, see [Properties and Constraints](/rest-api/moderation-apis/properties-and-constraints). diff --git a/rest-api/moderation-apis/properties-and-constraints.mdx b/rest-api/moderation-apis/properties-and-constraints.mdx new file mode 100644 index 000000000..cf7b18a54 --- /dev/null +++ b/rest-api/moderation-apis/properties-and-constraints.mdx @@ -0,0 +1,27 @@ +--- +title: "Properties and Constraints" +sidebarTitle: "Properties and Constraints" +description: "Properties and Constraints for CometChat REST API." +--- + +Properties and constraints for the AI Moderation APIs. + +## Rules + +| **Property** | **Constraints** | +| --------------------- | -------------------------- | +| Maximum rules per app | Contact support for limits | +| Rule name | Max 100 characters | + +## Keywords + +| **Property** | **Constraints** | +| ------------------------- | -------------------------- | +| Keyword value | Max 100 characters | +| Maximum keywords per rule | Contact support for limits | + +## Blocked Messages + +| **Property** | **Constraints** | +| ----------------- | -------------------------------------------------------- | +| Message retention | Blocked messages are retained until reviewed or approved | diff --git a/rest-api/moderation-apis/remove-keyword.mdx b/rest-api/moderation-apis/remove-keyword.mdx new file mode 100644 index 000000000..09a3f5731 --- /dev/null +++ b/rest-api/moderation-apis/remove-keyword.mdx @@ -0,0 +1,4 @@ +--- +openapi: delete /moderation/keywords/{keywordId} +description: "Remove a keyword from a moderation list." +--- diff --git a/rest-api/moderation-apis/remove-rule.mdx b/rest-api/moderation-apis/remove-rule.mdx new file mode 100644 index 000000000..1608ed9d8 --- /dev/null +++ b/rest-api/moderation-apis/remove-rule.mdx @@ -0,0 +1,4 @@ +--- +openapi: delete /moderation/rules/{ruleId} +description: "Delete a content moderation rule." +--- diff --git a/rest-api/moderation-apis/review-blocked-message.mdx b/rest-api/moderation-apis/review-blocked-message.mdx new file mode 100644 index 000000000..2de4fb681 --- /dev/null +++ b/rest-api/moderation-apis/review-blocked-message.mdx @@ -0,0 +1,4 @@ +--- +openapi: patch /moderation/blocked-messages/{id} +description: "Review a blocked message and approve or reject it." +--- diff --git a/rest-api/moderation-apis/setup-and-authentication.mdx b/rest-api/moderation-apis/setup-and-authentication.mdx new file mode 100644 index 000000000..6c1def02e --- /dev/null +++ b/rest-api/moderation-apis/setup-and-authentication.mdx @@ -0,0 +1,6 @@ +--- +title: "Setup & Authentication" +icon: "key" +url: "/rest-api/authentication" +description: "Navigate to Setup & Authentication documentation." +--- diff --git a/rest-api/moderation-apis/update-keyword.mdx b/rest-api/moderation-apis/update-keyword.mdx new file mode 100644 index 000000000..595702881 --- /dev/null +++ b/rest-api/moderation-apis/update-keyword.mdx @@ -0,0 +1,4 @@ +--- +openapi: put /moderation/keywords/{keywordId} +description: "Update a keyword entry in a moderation list." +--- diff --git a/rest-api/moderation/update-reason-details.mdx b/rest-api/moderation-apis/update-reason-details.mdx similarity index 51% rename from rest-api/moderation/update-reason-details.mdx rename to rest-api/moderation-apis/update-reason-details.mdx index 1566528a4..bb9ad0637 100644 --- a/rest-api/moderation/update-reason-details.mdx +++ b/rest-api/moderation-apis/update-reason-details.mdx @@ -1,3 +1,4 @@ --- openapi: put /moderation/reasons/{id} +description: "Update a custom flag reason." --- diff --git a/rest-api/moderation-apis/update-rule.mdx b/rest-api/moderation-apis/update-rule.mdx new file mode 100644 index 000000000..9d69f1980 --- /dev/null +++ b/rest-api/moderation-apis/update-rule.mdx @@ -0,0 +1,4 @@ +--- +openapi: put /moderation/rules/{ruleId} +description: "Update an existing content moderation rule." +--- diff --git a/rest-api/moderation-apis/users-and-groups.mdx b/rest-api/moderation-apis/users-and-groups.mdx new file mode 100644 index 000000000..02b268808 --- /dev/null +++ b/rest-api/moderation-apis/users-and-groups.mdx @@ -0,0 +1,6 @@ +--- +title: "Users & Groups" +icon: "users" +url: "/rest-api/users" +description: "Navigate to Users & Groups documentation." +--- diff --git a/rest-api/moderation-link.mdx b/rest-api/moderation-link.mdx new file mode 100644 index 000000000..1cac574fb --- /dev/null +++ b/rest-api/moderation-link.mdx @@ -0,0 +1,6 @@ +--- +title: "Moderation APIs" +icon: "shield" +url: "/rest-api/moderation-apis/overview" +description: "Navigate to Moderation APIs documentation." +--- diff --git a/rest-api/moderation.mdx b/rest-api/moderation.mdx deleted file mode 100644 index d97a5f4c4..000000000 --- a/rest-api/moderation.mdx +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: "Overview" ---- - -The Moderation Service API provides endpoints for managing and enforcing content moderation rules across various types of messages. This API enables you to create, read, update, and delete (CRUD) rules and keyword lists, ensuring your platform maintains a safe and compliant environment for users. - - - -Below is an overview of the key functionalities provided by the Moderation Service API: - -1. The Rules Management endpoints allow you to define and manage moderation rules to handle inappropriate content based on various conditions -2. The Keywords Management endpoints allow you to create and manage lists of keywords or regex patterns used for content moderation. -3. The list blocked messages endpoint allows you to fetch all the violated messages. -4. Fetches the historical revisions of a rule, detailing all updates made over time. - - - -The default rules include text profanity, AI-based moderation for images and videos, custom profanity (custom messages), contact details, and email content, ensuring comprehensive content moderation. - -The text profanity and custom profanity filters scan for words, including those matching regex patterns, and drop the message if a violation is detected. - -The AI-based image and video moderation system scans for violations in images and videos and discards the message if a violation is detected. It allows the attachment of the following labels to a rule, enabling moderation for specific categories of images and videos.\ -Following are the labels that are available for Image/Video moderation: - -| Labels | Definitions | -| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Violence | Instruments or devices used to cause harm or damage to living beings, structures, or systems. This includes firearms (e.g., guns, rifles, machine guns, etc.), sharp weapons (e.g., swords, knives, etc.), explosives and ammunition (e.g., missiles, bombs, bullets, etc.). | -| Alcohol | The act of drinking alcoholic beverages from bottles or glasses of alcohol or liquor. | -| Gambling | The act of participating in games of chance for a chance to win a prize in casinos, e.g., playing cards, blackjacks, roulette, slot machines at casinos, etc. | -| Drugs & Tobacco | Small, solid, often round or oval-shaped tables or capsules. The act of inhaling, exhaling, and lighting up burning substances including cigarettes, cigars, e-cigarettes, hookah, or joint. | -| Rude gestures | Visual depiction of a hand gesture with middle finger is extended upward while the other fingers are folded down. | -| Explicit Nudity | Human male/female genitalia, including the penis (whether erect or flaccid), the scrotum, and any discernible pubic hair. | -| Non-Explicit Nudity | Human posterior part where the majority of the skin is visible from the neck to the end of the spine. This term does not apply when the individual's back is partially or fully occluded. | -| Swimwear or underwear | Human clothing for female/male swimwear (e.g., one-piece swimsuits, bikinis, tankinis, swim trunks, boardshorts, swim briefs, etc) | -| Visually Disturbing | Human bodies that are extremely thin and undernourished with severe physical wasting and depletion of muscle and fat tissue. | -| Hate symbols | Visual depiction of symbols, flags, or gestures associated with Nazi Party. Images containing extremist and terrorist group flags. | - -When a rule is violated, the message will be blocked, and there is an option to either kick or ban the user in groups, or block the user in one-on-one interactions. diff --git a/rest-api/moderation/add-keywords.mdx b/rest-api/moderation/add-keywords.mdx deleted file mode 100644 index 2a0094302..000000000 --- a/rest-api/moderation/add-keywords.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /moderation/keywords ---- diff --git a/rest-api/moderation/add-rule.mdx b/rest-api/moderation/add-rule.mdx deleted file mode 100644 index b6e0847d5..000000000 --- a/rest-api/moderation/add-rule.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /moderation/rules ---- \ No newline at end of file diff --git a/rest-api/moderation/approve-blocked-messages.mdx b/rest-api/moderation/approve-blocked-messages.mdx deleted file mode 100644 index a8d32ff08..000000000 --- a/rest-api/moderation/approve-blocked-messages.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /moderation/blocked-messages/{messageId} ---- \ No newline at end of file diff --git a/rest-api/moderation/create-reasons.mdx b/rest-api/moderation/create-reasons.mdx deleted file mode 100644 index b1886c5e7..000000000 --- a/rest-api/moderation/create-reasons.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /moderation/reasons ---- \ No newline at end of file diff --git a/rest-api/moderation/delete-message.mdx b/rest-api/moderation/delete-message.mdx deleted file mode 100644 index 0a1cb157f..000000000 --- a/rest-api/moderation/delete-message.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /moderation/messages/{id} ---- \ No newline at end of file diff --git a/rest-api/moderation/flag-a-message.mdx b/rest-api/moderation/flag-a-message.mdx deleted file mode 100644 index e54594bde..000000000 --- a/rest-api/moderation/flag-a-message.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /messages/{id}/flagged ---- \ No newline at end of file diff --git a/rest-api/moderation/get-keyword.mdx b/rest-api/moderation/get-keyword.mdx deleted file mode 100644 index fb49472ee..000000000 --- a/rest-api/moderation/get-keyword.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /moderation/keywords/{keywordId} ---- \ No newline at end of file diff --git a/rest-api/moderation/get-message.mdx b/rest-api/moderation/get-message.mdx deleted file mode 100644 index 4c4c5f00d..000000000 --- a/rest-api/moderation/get-message.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /moderation/messages/{id} ---- \ No newline at end of file diff --git a/rest-api/moderation/get-reason-details.mdx b/rest-api/moderation/get-reason-details.mdx deleted file mode 100644 index 715395c56..000000000 --- a/rest-api/moderation/get-reason-details.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /moderation/reasons/{id} ---- diff --git a/rest-api/moderation/get-rule-revisions.mdx b/rest-api/moderation/get-rule-revisions.mdx deleted file mode 100644 index 2be47942a..000000000 --- a/rest-api/moderation/get-rule-revisions.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /moderation/rules/{ruleId}/revisions ---- \ No newline at end of file diff --git a/rest-api/moderation/get-rule.mdx b/rest-api/moderation/get-rule.mdx deleted file mode 100644 index bc4d530d0..000000000 --- a/rest-api/moderation/get-rule.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /moderation/rules/{ruleId} ---- \ No newline at end of file diff --git a/rest-api/moderation/list-blocked-messages.mdx b/rest-api/moderation/list-blocked-messages.mdx deleted file mode 100644 index fecce1c50..000000000 --- a/rest-api/moderation/list-blocked-messages.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /moderation/blocked-messages ---- \ No newline at end of file diff --git a/rest-api/moderation/list-flagged-messages.mdx b/rest-api/moderation/list-flagged-messages.mdx deleted file mode 100644 index 8ab472350..000000000 --- a/rest-api/moderation/list-flagged-messages.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /moderation/flagged-messages ---- \ No newline at end of file diff --git a/rest-api/moderation/list-keywords.mdx b/rest-api/moderation/list-keywords.mdx deleted file mode 100644 index 7cc9084cf..000000000 --- a/rest-api/moderation/list-keywords.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /moderation/keywords ---- \ No newline at end of file diff --git a/rest-api/moderation/list-messages.mdx b/rest-api/moderation/list-messages.mdx deleted file mode 100644 index 1a07498b4..000000000 --- a/rest-api/moderation/list-messages.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /moderation/messages ---- \ No newline at end of file diff --git a/rest-api/moderation/list-reasons.mdx b/rest-api/moderation/list-reasons.mdx deleted file mode 100644 index cd563ff9b..000000000 --- a/rest-api/moderation/list-reasons.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /moderation/reasons ---- diff --git a/rest-api/moderation/list-reviewed-messages.mdx b/rest-api/moderation/list-reviewed-messages.mdx deleted file mode 100644 index 9f592e0f0..000000000 --- a/rest-api/moderation/list-reviewed-messages.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /moderation/reviewed-messages ---- \ No newline at end of file diff --git a/rest-api/moderation/list-rules.mdx b/rest-api/moderation/list-rules.mdx deleted file mode 100644 index f6421a52f..000000000 --- a/rest-api/moderation/list-rules.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /moderation/rules ---- \ No newline at end of file diff --git a/rest-api/moderation/remove-keyword.mdx b/rest-api/moderation/remove-keyword.mdx deleted file mode 100644 index 0075d1d2d..000000000 --- a/rest-api/moderation/remove-keyword.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /moderation/keywords/{keywordId} ---- \ No newline at end of file diff --git a/rest-api/moderation/remove-rule.mdx b/rest-api/moderation/remove-rule.mdx deleted file mode 100644 index 5823340a8..000000000 --- a/rest-api/moderation/remove-rule.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /moderation/rules/{ruleId} ---- \ No newline at end of file diff --git a/rest-api/moderation/review-blocked-message.mdx b/rest-api/moderation/review-blocked-message.mdx deleted file mode 100644 index 870108a6f..000000000 --- a/rest-api/moderation/review-blocked-message.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /moderation/blocked-messages/{id} ---- \ No newline at end of file diff --git a/rest-api/moderation/send-message.mdx b/rest-api/moderation/send-message.mdx deleted file mode 100644 index 7cf12c0d0..000000000 --- a/rest-api/moderation/send-message.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /moderation/messages ---- \ No newline at end of file diff --git a/rest-api/moderation/update-keyword.mdx b/rest-api/moderation/update-keyword.mdx deleted file mode 100644 index c9f4e0f4c..000000000 --- a/rest-api/moderation/update-keyword.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: put /moderation/keywords/{keywordId} ---- \ No newline at end of file diff --git a/rest-api/moderation/update-message.mdx b/rest-api/moderation/update-message.mdx deleted file mode 100644 index c0c9c61c2..000000000 --- a/rest-api/moderation/update-message.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: put /moderation/messages/{id} ---- \ No newline at end of file diff --git a/rest-api/moderation/update-rule.mdx b/rest-api/moderation/update-rule.mdx deleted file mode 100644 index f13f1ab85..000000000 --- a/rest-api/moderation/update-rule.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: put /moderation/rules/{ruleId} ---- \ No newline at end of file diff --git a/rest-api/multi-tenancy-constraints-rate-limits-and-errors.mdx b/rest-api/multi-tenancy-constraints-rate-limits-and-errors.mdx deleted file mode 100644 index e185b13eb..000000000 --- a/rest-api/multi-tenancy-constraints-rate-limits-and-errors.mdx +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Constraints, Rate Limits And Errors" ---- - -## Properties and Constraints: - -### Multi-Tenancy Apps: - -| Item | Property or Constraint | Notes | -| ------------------------------------------------------------- | --------------------------- | --------------------------------- | -| App length | 100 characters, UTF8mb4 set | | -| App version | v3 | This is the only option available | -| Number of Collaborators that can be created (team management) | Maximum 25 | | - -### Webhooks: - -| **Item** | **Property or Constraint** | **Notes** | -| ------------------------------------ | --------------------------------------------------------- | --------- | -| Maximum number of webhooks in an app | Maximum 25 | | -| Webhook URL | Valid URL, maximum 255 characters | | -| Webhook ID | 50 characters, UTF8mb4 set, alphanumeric (without spaces) | | -| Webhook authentication username | 50 characters, alphanumeric (without spaces) | | -| Webhook authentication password | 100 characters, alphanumeric (without spaces) | | - -## Errors: - -### Multi-Tenancy Apps: - -| Code | Description | -| ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **Apps** | | -| `ERR_APP_CREATION_FAILED_MAX_LIMIT` | You have reached the maximum number of complimentary apps allowed. To proceed, consider deleting an existing app or upgrading one of your apps to a paid plan. Once you've made the necessary adjustments, you can try again. | -| `ERR_APP_ARCHIVED` | The app has been archived and would be permanently deleted after 30 days | -| `ERR_APP_DELETION` | The application with the returned App ID is currently associated with a paid subscription plan. This means that it is actively being used with paid features and services. If you are considering deleting the application despite its active subscription, we recommend reaching out to the CometChat support team for further assistance and guidance. | -| `ERR_APP_NOT_FOUND` | Indicates any one of the following: 1. AppId does not exist. 2. AppId is archived. | -| **Extensions** | | -| `ERR_EXTENSION_NOT_FOUND` | The provided extension ID does not correspond to any existing microservice. Please verify the ID and try again. | -| `ERR_EXTENSION_INACTIVE` | The operation failed because the provided extension ID is currently inactive. | -| **Team Management** | | -| `ERR_ALREADY_AN_OWNER` | The user trying to perform the operation is already registered as an owner of the App. | -| `ERR_SELF_ACTION_DENIED` | The user cannot add itself as a collaborator | -| `ERR_NOT_A_COLLABORATOR` | The user identified by the entered email is not a collaborator for the requested app. | - -### Webhooks: - -| Code | Description | -| ------------------------------ | ---------------------------------------------- | -| ERR\_WEBHOOK\_NOT\_FOUND | Indicates the webhook does not exist. | -| ERR\_BAD\_REQUEST | Indicates a validation error. | -| AUTH\_ERR\_EMPTY\_AUTH\_HEADER | Indicates the authentication header is missing | diff --git a/rest-api/notifications-apis/email/delete-custom-provider.mdx b/rest-api/notifications-apis/email/delete-custom-provider.mdx new file mode 100644 index 000000000..4a07f63fd --- /dev/null +++ b/rest-api/notifications-apis/email/delete-custom-provider.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /notifications/email/v1/providers/custom +description: "Deletes the custom provider for Email Notifications for a given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/email/delete-sendgrid-credentials.mdx b/rest-api/notifications-apis/email/delete-sendgrid-credentials.mdx new file mode 100644 index 000000000..2b435c15b --- /dev/null +++ b/rest-api/notifications-apis/email/delete-sendgrid-credentials.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /notifications/email/v1/providers/sendgrid +description: "Deletes the stored SendGrid credentials for the given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/email/get-custom-provider.mdx b/rest-api/notifications-apis/email/get-custom-provider.mdx new file mode 100644 index 000000000..e3dfe2fb3 --- /dev/null +++ b/rest-api/notifications-apis/email/get-custom-provider.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /notifications/email/v1/providers/custom +description: "Fetches the custom provider for Email Notifications for a given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/email/get-sendgrid-credentials.mdx b/rest-api/notifications-apis/email/get-sendgrid-credentials.mdx new file mode 100644 index 000000000..5bd3ca5c0 --- /dev/null +++ b/rest-api/notifications-apis/email/get-sendgrid-credentials.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /notifications/email/v1/providers/sendgrid +description: "Fetches the SendGrid credentials stored for the app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/email/save-custom-provider.mdx b/rest-api/notifications-apis/email/save-custom-provider.mdx new file mode 100644 index 000000000..a80316aa7 --- /dev/null +++ b/rest-api/notifications-apis/email/save-custom-provider.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /notifications/email/v1/providers/custom +description: "Saves the custom provider for Email Notifications for a given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/email/save-sendgrid-credentials.mdx b/rest-api/notifications-apis/email/save-sendgrid-credentials.mdx new file mode 100644 index 000000000..72ba96c70 --- /dev/null +++ b/rest-api/notifications-apis/email/save-sendgrid-credentials.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /notifications/email/v1/providers/sendgrid +description: "Store the SendGrid credentials for the given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/email/update-custom-provider.mdx b/rest-api/notifications-apis/email/update-custom-provider.mdx new file mode 100644 index 000000000..2353e6ed7 --- /dev/null +++ b/rest-api/notifications-apis/email/update-custom-provider.mdx @@ -0,0 +1,14 @@ +--- +openapi: put /notifications/email/v1/providers/custom +description: "Updates the custom provider for Email Notifications for a given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/email/update-sendgrid-credentials.mdx b/rest-api/notifications-apis/email/update-sendgrid-credentials.mdx new file mode 100644 index 000000000..153509564 --- /dev/null +++ b/rest-api/notifications-apis/email/update-sendgrid-credentials.mdx @@ -0,0 +1,14 @@ +--- +openapi: put /notifications/email/v1/providers/sendgrid +description: "Updates the SendGrid credentials for the given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/error-codes.mdx b/rest-api/notifications-apis/error-codes.mdx new file mode 100644 index 000000000..c6856d60f --- /dev/null +++ b/rest-api/notifications-apis/error-codes.mdx @@ -0,0 +1,36 @@ +--- +title: "Error Codes" +sidebarTitle: "Error Codes" +description: "Error Codes for CometChat REST API." +--- + +Error codes specific to the Notification APIs. + +## Authentication Errors + +| Error Code | Description | +| --------------------------- | --------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | The `apikey` header is missing from the request. | +| `AUTH_ERR_APIKEY_NOT_FOUND` | The provided API key is invalid. | +| `AUTH_ERR_NO_ACCESS` | The API key doesn't have the required scope for this operation. | + +## Provider Errors + +| Error Code | Description | +| ----------------------------- | ------------------------------------------------------ | +| `ERR_PROVIDER_NOT_FOUND` | The specified provider does not exist. | +| `ERR_PROVIDER_ALREADY_EXISTS` | A provider with the same configuration already exists. | + +## Push Token Errors + +| Error Code | Description | +| -------------------------- | ---------------------------------------- | +| `ERR_TOKEN_NOT_FOUND` | The specified push token does not exist. | +| `ERR_TOKEN_ALREADY_EXISTS` | The push token is already registered. | + +## General Errors + +| Error Code | Description | +| ---------------------- | ------------------------------------------- | +| `ERR_BAD_REQUEST` | Validation error in the request body. | +| `ERR_OPERATION_FAILED` | The operation failed due to a server error. | diff --git a/rest-api/notifications-apis/overview.mdx b/rest-api/notifications-apis/overview.mdx new file mode 100644 index 000000000..858af1f2b --- /dev/null +++ b/rest-api/notifications-apis/overview.mdx @@ -0,0 +1,29 @@ +--- +title: "Notification APIs Overview" +sidebarTitle: "Overview" +description: "Manage push, email, and SMS notification providers and preferences for your CometChat app." +--- + +The Notification APIs let you configure and manage notification delivery across push, email, and SMS channels. You can set up providers (FCM, APNS, SendGrid, Twilio), manage user preferences, and monitor notification logs. + +## Available Endpoints + +| Resource | Description | +| ---------------------------------------------------------------------------------- | ----------------------------------------------- | +| [Settings](/rest-api/notifications-apis/push/list-settings) | Global notification settings | +| [Preferences](/rest-api/notifications-apis/push/list-preferences) | User notification preferences and mute controls | +| [Contacts](/rest-api/notifications-apis/push/get-contact-details) | User contact details for notifications | +| [Push Notifications](/rest-api/notifications-apis/push/list-fcm-providers) | FCM, APNS, and custom push providers | +| [Email Notifications](/rest-api/notifications-apis/email/get-sendgrid-credentials) | SendGrid and custom email providers | +| [SMS Notifications](/rest-api/notifications-apis/sms/get-twilio-credentials) | Twilio and custom SMS providers | +| [Notification Logs](/rest-api/notifications-apis/push/notifications-logs) | View notification delivery logs | + +## Authentication + +All Notification API requests require a `fullAccess` API key. See the [Authentication Guide](/rest-api/authentication) for details. + +## Error Handling + +For error codes specific to Notification APIs, see [Error Codes](/rest-api/notifications-apis/error-codes). + +For system limits, see [Properties and Constraints](/rest-api/notifications-apis/properties-and-constraints). diff --git a/rest-api/notifications-apis/properties-and-constraints.mdx b/rest-api/notifications-apis/properties-and-constraints.mdx new file mode 100644 index 000000000..1a17b6d9e --- /dev/null +++ b/rest-api/notifications-apis/properties-and-constraints.mdx @@ -0,0 +1,31 @@ +--- +title: "Properties and Constraints" +sidebarTitle: "Properties and Constraints" +description: "Properties and Constraints for CometChat REST API." +--- + +Properties and constraints for the Notification APIs. + +## Push Notifications + +| **Property** | **Constraints** | +| ------------------------------ | -------------------------- | +| Maximum FCM providers per app | Contact support for limits | +| Maximum APNS providers per app | Contact support for limits | +| Maximum push tokens per user | 100 active tokens | +| Push token value | Max 4,096 characters | + +## Email Notifications + +| **Property** | **Constraints** | +| --------------------------- | ------------------------------ | +| SendGrid API key | Required for SendGrid provider | +| Custom provider webhook URL | Must be a valid HTTPS URL | + +## SMS Notifications + +| **Property** | **Constraints** | +| --------------------------- | ---------------------------- | +| Twilio Account SID | Required for Twilio provider | +| Twilio Auth Token | Required for Twilio provider | +| Custom provider webhook URL | Must be a valid HTTPS URL | diff --git a/rest-api/notifications-apis/push/add-apns-provider.mdx b/rest-api/notifications-apis/push/add-apns-provider.mdx new file mode 100644 index 000000000..4525dde96 --- /dev/null +++ b/rest-api/notifications-apis/push/add-apns-provider.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /notifications/push/v1/providers/apns +description: "Add new APNS provider for the given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/add-fcm-provider.mdx b/rest-api/notifications-apis/push/add-fcm-provider.mdx new file mode 100644 index 000000000..8c24c93f0 --- /dev/null +++ b/rest-api/notifications-apis/push/add-fcm-provider.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /notifications/push/v1/providers/fcm +description: "Add new FCM provider for the given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/change-default-apns-provider.mdx b/rest-api/notifications-apis/push/change-default-apns-provider.mdx new file mode 100644 index 000000000..64fc47587 --- /dev/null +++ b/rest-api/notifications-apis/push/change-default-apns-provider.mdx @@ -0,0 +1,14 @@ +--- +openapi: put /notifications/push/v1/providers/apns/default/{providerId} +description: "Change the default APNS provider for the given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/change-default-fcm-provider.mdx b/rest-api/notifications-apis/push/change-default-fcm-provider.mdx new file mode 100644 index 000000000..2e7b787c3 --- /dev/null +++ b/rest-api/notifications-apis/push/change-default-fcm-provider.mdx @@ -0,0 +1,14 @@ +--- +openapi: put /notifications/push/v1/providers/fcm/default/{providerId} +description: "Change the default FCM provider for the given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/delete-apns-providers.mdx b/rest-api/notifications-apis/push/delete-apns-providers.mdx new file mode 100644 index 000000000..b5bdf9b08 --- /dev/null +++ b/rest-api/notifications-apis/push/delete-apns-providers.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /notifications/push/v1/providers/apns/{providerId} +description: "Delete an APNS provider for the given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/delete-contact-details.mdx b/rest-api/notifications-apis/push/delete-contact-details.mdx new file mode 100644 index 000000000..a46475379 --- /dev/null +++ b/rest-api/notifications-apis/push/delete-contact-details.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /notifications/v1/contact-details +description: "Deletes the stored contact details for a given user." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/delete-custom-provider.mdx b/rest-api/notifications-apis/push/delete-custom-provider.mdx new file mode 100644 index 000000000..7e47a548d --- /dev/null +++ b/rest-api/notifications-apis/push/delete-custom-provider.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /notifications/push/v1/providers/custom +description: "Deletes the custom provider for Push Notifications for a given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/delete-fcm-provider.mdx b/rest-api/notifications-apis/push/delete-fcm-provider.mdx new file mode 100644 index 000000000..ad5d0af93 --- /dev/null +++ b/rest-api/notifications-apis/push/delete-fcm-provider.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /notifications/push/v1/providers/fcm/{providerId} +description: "Delete an FCM provider for the given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/delete-push-token.mdx b/rest-api/notifications-apis/push/delete-push-token.mdx new file mode 100644 index 000000000..ed74a6672 --- /dev/null +++ b/rest-api/notifications-apis/push/delete-push-token.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /notifications/push/v1/tokens/{pushToken} +description: "Deletes the given push token" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/get-contact-details.mdx b/rest-api/notifications-apis/push/get-contact-details.mdx new file mode 100644 index 000000000..c8db6cd44 --- /dev/null +++ b/rest-api/notifications-apis/push/get-contact-details.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /notifications/v1/contact-details +description: "Fetches the contact details like Email ID and Phone number for a given user." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/get-custom-provider.mdx b/rest-api/notifications-apis/push/get-custom-provider.mdx new file mode 100644 index 000000000..822d25e68 --- /dev/null +++ b/rest-api/notifications-apis/push/get-custom-provider.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /notifications/push/v1/providers/custom +description: "Fetches the custom provider for Push Notifications for a given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/get-timezone.mdx b/rest-api/notifications-apis/push/get-timezone.mdx new file mode 100644 index 000000000..5e9a6b251 --- /dev/null +++ b/rest-api/notifications-apis/push/get-timezone.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /notifications/v1/preferences/timezone +description: "Get the timezone on behalf of the user." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/list-apns-providers.mdx b/rest-api/notifications-apis/push/list-apns-providers.mdx new file mode 100644 index 000000000..f48f01130 --- /dev/null +++ b/rest-api/notifications-apis/push/list-apns-providers.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /notifications/push/v1/providers/apns +description: "List the configured APNS providers for the given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/list-fcm-providers.mdx b/rest-api/notifications-apis/push/list-fcm-providers.mdx new file mode 100644 index 000000000..58b99a70f --- /dev/null +++ b/rest-api/notifications-apis/push/list-fcm-providers.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /notifications/push/v1/providers/fcm +description: "List the configured FCM providers for the given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/list-muted-conversations.mdx b/rest-api/notifications-apis/push/list-muted-conversations.mdx new file mode 100644 index 000000000..c7e68f403 --- /dev/null +++ b/rest-api/notifications-apis/push/list-muted-conversations.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /notifications/v1/preferences/mute +description: "List the conversations where notifications have been muted on behalf of the user." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/list-preferences.mdx b/rest-api/notifications-apis/push/list-preferences.mdx new file mode 100644 index 000000000..9da66b662 --- /dev/null +++ b/rest-api/notifications-apis/push/list-preferences.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /notifications/v1/preferences +description: "List the configured preferences for the given user." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/list-push-tokens.mdx b/rest-api/notifications-apis/push/list-push-tokens.mdx new file mode 100644 index 000000000..8e2f0aa6d --- /dev/null +++ b/rest-api/notifications-apis/push/list-push-tokens.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /notifications/push/v1/tokens +description: "List push tokens for the given auth token." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/list-settings.mdx b/rest-api/notifications-apis/push/list-settings.mdx new file mode 100644 index 000000000..67a6324eb --- /dev/null +++ b/rest-api/notifications-apis/push/list-settings.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /notifications/v1/settings +description: "List preferences, templates and sounds for the given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/mute-conversations.mdx b/rest-api/notifications-apis/push/mute-conversations.mdx new file mode 100644 index 000000000..8a3872d97 --- /dev/null +++ b/rest-api/notifications-apis/push/mute-conversations.mdx @@ -0,0 +1,14 @@ +--- +openapi: put /notifications/v1/preferences/mute +description: "Mute notifications for the conversations on behalf of the given user." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/notifications-logs.mdx b/rest-api/notifications-apis/push/notifications-logs.mdx new file mode 100644 index 000000000..8820f4a7a --- /dev/null +++ b/rest-api/notifications-apis/push/notifications-logs.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /notifications/v1/logs +description: "Paginated API to fetch logs for notifications" +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/register-push-token.mdx b/rest-api/notifications-apis/push/register-push-token.mdx new file mode 100644 index 000000000..de6bb4874 --- /dev/null +++ b/rest-api/notifications-apis/push/register-push-token.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /notifications/push/v1/tokens +description: "Register a push token for the given auth token." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/reset-preferences.mdx b/rest-api/notifications-apis/push/reset-preferences.mdx new file mode 100644 index 000000000..830ab2269 --- /dev/null +++ b/rest-api/notifications-apis/push/reset-preferences.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /notifications/v1/preferences +description: "Reset the preferences for the given user." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/reset-settings.mdx b/rest-api/notifications-apis/push/reset-settings.mdx new file mode 100644 index 000000000..f508e4002 --- /dev/null +++ b/rest-api/notifications-apis/push/reset-settings.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /notifications/v1/settings +description: "Reset preferences, templates and sounds to default values for the given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/save-custom-provider.mdx b/rest-api/notifications-apis/push/save-custom-provider.mdx new file mode 100644 index 000000000..c08d609de --- /dev/null +++ b/rest-api/notifications-apis/push/save-custom-provider.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /notifications/push/v1/providers/custom +description: "Saves the custom provider for Push Notifications for a given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/unmute-conversations.mdx b/rest-api/notifications-apis/push/unmute-conversations.mdx new file mode 100644 index 000000000..0287c2a49 --- /dev/null +++ b/rest-api/notifications-apis/push/unmute-conversations.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /notifications/v1/preferences/mute +description: "Unmute notifications for the conversations on behalf of the given user." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/unregister-push-tokens.mdx b/rest-api/notifications-apis/push/unregister-push-tokens.mdx new file mode 100644 index 000000000..36670cfb4 --- /dev/null +++ b/rest-api/notifications-apis/push/unregister-push-tokens.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /notifications/push/v1/tokens +description: "Unregister push token(s) registered for the given auth token." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/update-apns-providers.mdx b/rest-api/notifications-apis/push/update-apns-providers.mdx new file mode 100644 index 000000000..047b99f9d --- /dev/null +++ b/rest-api/notifications-apis/push/update-apns-providers.mdx @@ -0,0 +1,14 @@ +--- +openapi: put /notifications/push/v1/providers/apns +description: "Update existing APNS provider for the given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/update-contact-details.mdx b/rest-api/notifications-apis/push/update-contact-details.mdx new file mode 100644 index 000000000..02d45bc86 --- /dev/null +++ b/rest-api/notifications-apis/push/update-contact-details.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /notifications/v1/contact-details +description: "Updates the contact details like Email ID and Phone number for a given user." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/update-custom-provider.mdx b/rest-api/notifications-apis/push/update-custom-provider.mdx new file mode 100644 index 000000000..c87d111ad --- /dev/null +++ b/rest-api/notifications-apis/push/update-custom-provider.mdx @@ -0,0 +1,14 @@ +--- +openapi: put /notifications/push/v1/providers/custom +description: "Updates the custom provider for Push Notifications for a given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/update-fcm-provider.mdx b/rest-api/notifications-apis/push/update-fcm-provider.mdx new file mode 100644 index 000000000..f9034db34 --- /dev/null +++ b/rest-api/notifications-apis/push/update-fcm-provider.mdx @@ -0,0 +1,14 @@ +--- +openapi: put /notifications/push/v1/providers/fcm +description: "Update existing FCM provider for the given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/update-preferences.mdx b/rest-api/notifications-apis/push/update-preferences.mdx new file mode 100644 index 000000000..1707df9ab --- /dev/null +++ b/rest-api/notifications-apis/push/update-preferences.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /notifications/v1/preferences +description: "Update the preference for the given user." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/update-settings.mdx b/rest-api/notifications-apis/push/update-settings.mdx new file mode 100644 index 000000000..e1dbda936 --- /dev/null +++ b/rest-api/notifications-apis/push/update-settings.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /notifications/v1/settings +description: "Update preferences, templates and sounds for the given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/push/update-timezone.mdx b/rest-api/notifications-apis/push/update-timezone.mdx new file mode 100644 index 000000000..171336f9a --- /dev/null +++ b/rest-api/notifications-apis/push/update-timezone.mdx @@ -0,0 +1,14 @@ +--- +openapi: patch /notifications/v1/preferences/timezone +description: "Update the timezone on behalf of the user." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/setup-and-authentication.mdx b/rest-api/notifications-apis/setup-and-authentication.mdx new file mode 100644 index 000000000..6c1def02e --- /dev/null +++ b/rest-api/notifications-apis/setup-and-authentication.mdx @@ -0,0 +1,6 @@ +--- +title: "Setup & Authentication" +icon: "key" +url: "/rest-api/authentication" +description: "Navigate to Setup & Authentication documentation." +--- diff --git a/rest-api/notifications-apis/sms/delete-custom-provider.mdx b/rest-api/notifications-apis/sms/delete-custom-provider.mdx new file mode 100644 index 000000000..a14987925 --- /dev/null +++ b/rest-api/notifications-apis/sms/delete-custom-provider.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /notifications/sms/v1/providers/custom +description: "Deletes the custom provider for SMS Notifications for a given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/sms/delete-twilio-credentials.mdx b/rest-api/notifications-apis/sms/delete-twilio-credentials.mdx new file mode 100644 index 000000000..4e14648cf --- /dev/null +++ b/rest-api/notifications-apis/sms/delete-twilio-credentials.mdx @@ -0,0 +1,14 @@ +--- +openapi: delete /notifications/sms/v1/providers/twilio +description: "Deletes the stored Twilio credentials for the given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/sms/get-custom-provider.mdx b/rest-api/notifications-apis/sms/get-custom-provider.mdx new file mode 100644 index 000000000..34554d0af --- /dev/null +++ b/rest-api/notifications-apis/sms/get-custom-provider.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /notifications/sms/v1/providers/custom +description: "Fetches the custom provider for SMS Notifications for a given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/sms/get-twilio-credentials.mdx b/rest-api/notifications-apis/sms/get-twilio-credentials.mdx new file mode 100644 index 000000000..d2744f501 --- /dev/null +++ b/rest-api/notifications-apis/sms/get-twilio-credentials.mdx @@ -0,0 +1,14 @@ +--- +openapi: get /notifications/sms/v1/providers/twilio +description: "Fetches the Twilio credentials stored for the app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/sms/save-custom-provider.mdx b/rest-api/notifications-apis/sms/save-custom-provider.mdx new file mode 100644 index 000000000..564571678 --- /dev/null +++ b/rest-api/notifications-apis/sms/save-custom-provider.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /notifications/sms/v1/providers/custom +description: "Saves the custom provider for SMS Notifications for a given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/sms/save-twilio-credentials.mdx b/rest-api/notifications-apis/sms/save-twilio-credentials.mdx new file mode 100644 index 000000000..3dbb6839d --- /dev/null +++ b/rest-api/notifications-apis/sms/save-twilio-credentials.mdx @@ -0,0 +1,14 @@ +--- +openapi: post /notifications/sms/v1/providers/twilio +description: "Store the Twilio credentials for the given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/sms/update-custom-provider.mdx b/rest-api/notifications-apis/sms/update-custom-provider.mdx new file mode 100644 index 000000000..ddf97d81e --- /dev/null +++ b/rest-api/notifications-apis/sms/update-custom-provider.mdx @@ -0,0 +1,14 @@ +--- +openapi: put /notifications/sms/v1/providers/custom +description: "Updates the custom provider for SMS Notifications for a given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/sms/update-twilio-credentials.mdx b/rest-api/notifications-apis/sms/update-twilio-credentials.mdx new file mode 100644 index 000000000..912430a90 --- /dev/null +++ b/rest-api/notifications-apis/sms/update-twilio-credentials.mdx @@ -0,0 +1,14 @@ +--- +openapi: put /notifications/sms/v1/providers/twilio +description: "Updates the Twilio credentials for the given app." +--- + +## Common Errors + +| Error Code | HTTP Status | Cause | +| --- | --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope | + +For the complete error reference, see [Error Codes](/rest-api/notifications-apis/error-codes). diff --git a/rest-api/notifications-apis/users-and-groups.mdx b/rest-api/notifications-apis/users-and-groups.mdx new file mode 100644 index 000000000..02b268808 --- /dev/null +++ b/rest-api/notifications-apis/users-and-groups.mdx @@ -0,0 +1,6 @@ +--- +title: "Users & Groups" +icon: "users" +url: "/rest-api/users" +description: "Navigate to Users & Groups documentation." +--- diff --git a/rest-api/notifications-link.mdx b/rest-api/notifications-link.mdx new file mode 100644 index 000000000..393604e1e --- /dev/null +++ b/rest-api/notifications-link.mdx @@ -0,0 +1,6 @@ +--- +title: "Notification APIs" +icon: "bell" +url: "/rest-api/notifications-apis/overview" +description: "Navigate to Notification APIs documentation." +--- diff --git a/rest-api/notifications/add-apns-provider.mdx b/rest-api/notifications/add-apns-provider.mdx deleted file mode 100644 index 24afcd43a..000000000 --- a/rest-api/notifications/add-apns-provider.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /notifications/push/v1/providers/apns ---- \ No newline at end of file diff --git a/rest-api/notifications/add-fcm-provider.mdx b/rest-api/notifications/add-fcm-provider.mdx deleted file mode 100644 index 0337cd516..000000000 --- a/rest-api/notifications/add-fcm-provider.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /notifications/push/v1/providers/fcm ---- \ No newline at end of file diff --git a/rest-api/notifications/change-default-apns-provider.mdx b/rest-api/notifications/change-default-apns-provider.mdx deleted file mode 100644 index ad2e37e42..000000000 --- a/rest-api/notifications/change-default-apns-provider.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: put /notifications/push/v1/providers/apns/default/{providerId} ---- \ No newline at end of file diff --git a/rest-api/notifications/change-default-fcm-provider.mdx b/rest-api/notifications/change-default-fcm-provider.mdx deleted file mode 100644 index 34ae19a92..000000000 --- a/rest-api/notifications/change-default-fcm-provider.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: put /notifications/push/v1/providers/fcm/default/{providerId} ---- \ No newline at end of file diff --git a/rest-api/notifications/delete-apns-providers.mdx b/rest-api/notifications/delete-apns-providers.mdx deleted file mode 100644 index 4bf5fee50..000000000 --- a/rest-api/notifications/delete-apns-providers.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /notifications/push/v1/providers/apns/{providerId} ---- \ No newline at end of file diff --git a/rest-api/notifications/delete-contact-details.mdx b/rest-api/notifications/delete-contact-details.mdx deleted file mode 100644 index 02e9a5bd4..000000000 --- a/rest-api/notifications/delete-contact-details.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /notifications/v1/contact-details ---- \ No newline at end of file diff --git a/rest-api/notifications/delete-fcm-provider.mdx b/rest-api/notifications/delete-fcm-provider.mdx deleted file mode 100644 index e50963a79..000000000 --- a/rest-api/notifications/delete-fcm-provider.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /notifications/push/v1/providers/fcm/{providerId} ---- \ No newline at end of file diff --git a/rest-api/notifications/delete-sendgrid-credentials.mdx b/rest-api/notifications/delete-sendgrid-credentials.mdx deleted file mode 100644 index 0b39ad501..000000000 --- a/rest-api/notifications/delete-sendgrid-credentials.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /notifications/email/v1/providers/sendgrid ---- \ No newline at end of file diff --git a/rest-api/notifications/delete-the-custom-provider-for-email-notifications.mdx b/rest-api/notifications/delete-the-custom-provider-for-email-notifications.mdx deleted file mode 100644 index 1d7c9377a..000000000 --- a/rest-api/notifications/delete-the-custom-provider-for-email-notifications.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /notifications/email/v1/providers/custom ---- \ No newline at end of file diff --git a/rest-api/notifications/delete-the-custom-provider-for-push-notifications.mdx b/rest-api/notifications/delete-the-custom-provider-for-push-notifications.mdx deleted file mode 100644 index 9d2bfcb31..000000000 --- a/rest-api/notifications/delete-the-custom-provider-for-push-notifications.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /notifications/push/v1/providers/custom ---- \ No newline at end of file diff --git a/rest-api/notifications/delete-the-custom-provider-for-sms-notifications.mdx b/rest-api/notifications/delete-the-custom-provider-for-sms-notifications.mdx deleted file mode 100644 index 98cbd5f8a..000000000 --- a/rest-api/notifications/delete-the-custom-provider-for-sms-notifications.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /notifications/sms/v1/providers/custom ---- \ No newline at end of file diff --git a/rest-api/notifications/delete-the-given-push-token.mdx b/rest-api/notifications/delete-the-given-push-token.mdx deleted file mode 100644 index a8b28dd79..000000000 --- a/rest-api/notifications/delete-the-given-push-token.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /notifications/push/v1/tokens/{pushToken} ---- \ No newline at end of file diff --git a/rest-api/notifications/delete-twilio-credentials.mdx b/rest-api/notifications/delete-twilio-credentials.mdx deleted file mode 100644 index 9dcc13c94..000000000 --- a/rest-api/notifications/delete-twilio-credentials.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /notifications/sms/v1/providers/twilio ---- \ No newline at end of file diff --git a/rest-api/notifications/get-contact-details.mdx b/rest-api/notifications/get-contact-details.mdx deleted file mode 100644 index 67fa5020c..000000000 --- a/rest-api/notifications/get-contact-details.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /notifications/v1/contact-details ---- \ No newline at end of file diff --git a/rest-api/notifications/get-custom-provider-for-email-notifications.mdx b/rest-api/notifications/get-custom-provider-for-email-notifications.mdx deleted file mode 100644 index 315a6ea83..000000000 --- a/rest-api/notifications/get-custom-provider-for-email-notifications.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /notifications/email/v1/providers/custom ---- \ No newline at end of file diff --git a/rest-api/notifications/get-custom-provider-for-push-notifications.mdx b/rest-api/notifications/get-custom-provider-for-push-notifications.mdx deleted file mode 100644 index 6f5984259..000000000 --- a/rest-api/notifications/get-custom-provider-for-push-notifications.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /notifications/push/v1/providers/custom ---- \ No newline at end of file diff --git a/rest-api/notifications/get-custom-provider-for-sms-notifications.mdx b/rest-api/notifications/get-custom-provider-for-sms-notifications.mdx deleted file mode 100644 index a425fab8f..000000000 --- a/rest-api/notifications/get-custom-provider-for-sms-notifications.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /notifications/sms/v1/providers/custom ---- \ No newline at end of file diff --git a/rest-api/notifications/get-sendgrid-credentials.mdx b/rest-api/notifications/get-sendgrid-credentials.mdx deleted file mode 100644 index ccbd61abe..000000000 --- a/rest-api/notifications/get-sendgrid-credentials.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /notifications/email/v1/providers/sendgrid ---- \ No newline at end of file diff --git a/rest-api/notifications/get-timezone.mdx b/rest-api/notifications/get-timezone.mdx deleted file mode 100644 index cc74c99b8..000000000 --- a/rest-api/notifications/get-timezone.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /notifications/v1/preferences/timezone ---- \ No newline at end of file diff --git a/rest-api/notifications/get-twilio-credentials.mdx b/rest-api/notifications/get-twilio-credentials.mdx deleted file mode 100644 index 695f35454..000000000 --- a/rest-api/notifications/get-twilio-credentials.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /notifications/sms/v1/providers/twilio ---- \ No newline at end of file diff --git a/rest-api/notifications/list-apns-providers.mdx b/rest-api/notifications/list-apns-providers.mdx deleted file mode 100644 index 525009aaf..000000000 --- a/rest-api/notifications/list-apns-providers.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /notifications/push/v1/providers/apns ---- \ No newline at end of file diff --git a/rest-api/notifications/list-fcm-providers.mdx b/rest-api/notifications/list-fcm-providers.mdx deleted file mode 100644 index 5a3e6f387..000000000 --- a/rest-api/notifications/list-fcm-providers.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /notifications/push/v1/providers/fcm ---- \ No newline at end of file diff --git a/rest-api/notifications/list-muted-conversations.mdx b/rest-api/notifications/list-muted-conversations.mdx deleted file mode 100644 index 0671f2835..000000000 --- a/rest-api/notifications/list-muted-conversations.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /notifications/v1/preferences/mute ---- \ No newline at end of file diff --git a/rest-api/notifications/list-preferences.mdx b/rest-api/notifications/list-preferences.mdx deleted file mode 100644 index 055d62a1f..000000000 --- a/rest-api/notifications/list-preferences.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /notifications/v1/preferences ---- \ No newline at end of file diff --git a/rest-api/notifications/list-push-tokens.mdx b/rest-api/notifications/list-push-tokens.mdx deleted file mode 100644 index 91260de64..000000000 --- a/rest-api/notifications/list-push-tokens.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /notifications/push/v1/tokens ---- \ No newline at end of file diff --git a/rest-api/notifications/list-settings.mdx b/rest-api/notifications/list-settings.mdx deleted file mode 100644 index 129f38f24..000000000 --- a/rest-api/notifications/list-settings.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /notifications/v1/settings ---- \ No newline at end of file diff --git a/rest-api/notifications/mute-notifications-for-conversations.mdx b/rest-api/notifications/mute-notifications-for-conversations.mdx deleted file mode 100644 index 2d23d3eaa..000000000 --- a/rest-api/notifications/mute-notifications-for-conversations.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: put /notifications/v1/preferences/mute ---- \ No newline at end of file diff --git a/rest-api/notifications/notifications-logs.mdx b/rest-api/notifications/notifications-logs.mdx deleted file mode 100644 index ff8036852..000000000 --- a/rest-api/notifications/notifications-logs.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /notifications/v1/logs ---- \ No newline at end of file diff --git a/rest-api/notifications/register-push-token.mdx b/rest-api/notifications/register-push-token.mdx deleted file mode 100644 index 47813893f..000000000 --- a/rest-api/notifications/register-push-token.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /notifications/push/v1/tokens ---- \ No newline at end of file diff --git a/rest-api/notifications/reset-preferences.mdx b/rest-api/notifications/reset-preferences.mdx deleted file mode 100644 index 471b8f675..000000000 --- a/rest-api/notifications/reset-preferences.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /notifications/v1/preferences ---- \ No newline at end of file diff --git a/rest-api/notifications/reset-settings.mdx b/rest-api/notifications/reset-settings.mdx deleted file mode 100644 index 55670cbd9..000000000 --- a/rest-api/notifications/reset-settings.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /notifications/v1/settings ---- \ No newline at end of file diff --git a/rest-api/notifications/save-custom-provider-for-email-notifications.mdx b/rest-api/notifications/save-custom-provider-for-email-notifications.mdx deleted file mode 100644 index 4973ec7ce..000000000 --- a/rest-api/notifications/save-custom-provider-for-email-notifications.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /notifications/email/v1/providers/custom ---- \ No newline at end of file diff --git a/rest-api/notifications/save-custom-provider-for-push-notifications.mdx b/rest-api/notifications/save-custom-provider-for-push-notifications.mdx deleted file mode 100644 index 655b9dc8e..000000000 --- a/rest-api/notifications/save-custom-provider-for-push-notifications.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /notifications/push/v1/providers/custom ---- \ No newline at end of file diff --git a/rest-api/notifications/save-custom-provider-for-sms-notifications.mdx b/rest-api/notifications/save-custom-provider-for-sms-notifications.mdx deleted file mode 100644 index ad47dc15c..000000000 --- a/rest-api/notifications/save-custom-provider-for-sms-notifications.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /notifications/sms/v1/providers/custom ---- \ No newline at end of file diff --git a/rest-api/notifications/save-sendgrid-credentials.mdx b/rest-api/notifications/save-sendgrid-credentials.mdx deleted file mode 100644 index 73953af3e..000000000 --- a/rest-api/notifications/save-sendgrid-credentials.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /notifications/email/v1/providers/sendgrid ---- \ No newline at end of file diff --git a/rest-api/notifications/save-twilio-credentials.mdx b/rest-api/notifications/save-twilio-credentials.mdx deleted file mode 100644 index b4a29c5d2..000000000 --- a/rest-api/notifications/save-twilio-credentials.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /notifications/sms/v1/providers/twilio ---- \ No newline at end of file diff --git a/rest-api/notifications/unmute-notifications-for-conversations.mdx b/rest-api/notifications/unmute-notifications-for-conversations.mdx deleted file mode 100644 index 5081d2d04..000000000 --- a/rest-api/notifications/unmute-notifications-for-conversations.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /notifications/v1/preferences/mute ---- \ No newline at end of file diff --git a/rest-api/notifications/unregister-push-tokens-for-authtoken.mdx b/rest-api/notifications/unregister-push-tokens-for-authtoken.mdx deleted file mode 100644 index 37092e991..000000000 --- a/rest-api/notifications/unregister-push-tokens-for-authtoken.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /notifications/push/v1/tokens ---- \ No newline at end of file diff --git a/rest-api/notifications/update-apns-providers.mdx b/rest-api/notifications/update-apns-providers.mdx deleted file mode 100644 index ff1ad53a6..000000000 --- a/rest-api/notifications/update-apns-providers.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: put /notifications/push/v1/providers/apns ---- \ No newline at end of file diff --git a/rest-api/notifications/update-contact-details.mdx b/rest-api/notifications/update-contact-details.mdx deleted file mode 100644 index 7cb77baba..000000000 --- a/rest-api/notifications/update-contact-details.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /notifications/v1/contact-details ---- \ No newline at end of file diff --git a/rest-api/notifications/update-custom-provider-for-email-notifications.mdx b/rest-api/notifications/update-custom-provider-for-email-notifications.mdx deleted file mode 100644 index f68ce03d9..000000000 --- a/rest-api/notifications/update-custom-provider-for-email-notifications.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: put /notifications/email/v1/providers/custom ---- \ No newline at end of file diff --git a/rest-api/notifications/update-custom-provider-for-push-notifications.mdx b/rest-api/notifications/update-custom-provider-for-push-notifications.mdx deleted file mode 100644 index c9fa8c655..000000000 --- a/rest-api/notifications/update-custom-provider-for-push-notifications.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: put /notifications/push/v1/providers/custom ---- \ No newline at end of file diff --git a/rest-api/notifications/update-custom-provider-for-sms-notifications.mdx b/rest-api/notifications/update-custom-provider-for-sms-notifications.mdx deleted file mode 100644 index 8e8345974..000000000 --- a/rest-api/notifications/update-custom-provider-for-sms-notifications.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: put /notifications/sms/v1/providers/custom ---- \ No newline at end of file diff --git a/rest-api/notifications/update-fcm-provider.mdx b/rest-api/notifications/update-fcm-provider.mdx deleted file mode 100644 index 79547565e..000000000 --- a/rest-api/notifications/update-fcm-provider.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: put /notifications/push/v1/providers/fcm ---- \ No newline at end of file diff --git a/rest-api/notifications/update-preferences.mdx b/rest-api/notifications/update-preferences.mdx deleted file mode 100644 index cc4e84bf3..000000000 --- a/rest-api/notifications/update-preferences.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /notifications/v1/preferences ---- \ No newline at end of file diff --git a/rest-api/notifications/update-sendgrid-credentials.mdx b/rest-api/notifications/update-sendgrid-credentials.mdx deleted file mode 100644 index 192bc2d6c..000000000 --- a/rest-api/notifications/update-sendgrid-credentials.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: put /notifications/email/v1/providers/sendgrid ---- \ No newline at end of file diff --git a/rest-api/notifications/update-settings.mdx b/rest-api/notifications/update-settings.mdx deleted file mode 100644 index 646c550e4..000000000 --- a/rest-api/notifications/update-settings.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /notifications/v1/settings ---- \ No newline at end of file diff --git a/rest-api/notifications/update-timezone.mdx b/rest-api/notifications/update-timezone.mdx deleted file mode 100644 index 82b84c8bb..000000000 --- a/rest-api/notifications/update-timezone.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: patch /notifications/v1/preferences/timezone ---- \ No newline at end of file diff --git a/rest-api/notifications/update-twilio-credentials.mdx b/rest-api/notifications/update-twilio-credentials.mdx deleted file mode 100644 index e86449f59..000000000 --- a/rest-api/notifications/update-twilio-credentials.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: put /notifications/sms/v1/providers/twilio ---- \ No newline at end of file diff --git a/rest-api/rate-limits.mdx b/rest-api/rate-limits.mdx new file mode 100644 index 000000000..b35695022 --- /dev/null +++ b/rest-api/rate-limits.mdx @@ -0,0 +1,63 @@ +--- +title: "Rate Limits" +description: "Understand the API rate limits enforced by CometChat to ensure fair usage and service quality." +--- + +CometChat enforces rate limits to ensure fair usage and maintain service quality across all applications. These limits apply to API requests made to CometChat servers. + +## Global Rate Limits + +| Operation Type | Rate Limit | Examples | +| ------------------- | ------------------- | -------------------------------------------------------------------------------------------------------------------- | +| Core operations | 10,000 requests/min | User connection, create/delete user, create/join/leave group | +| Standard operations | 20,000 requests/min | All operations not classified as core operations (e.g., sending messages, fetching conversations, updating profiles) | +| Build plan (free) | 500 requests/min | Applies to both core and standard operations | + +## Per-User Rate Limits + +| Operation | Rate Limit | Notes | +| -------------- | --------------- | --------------------------------------------- | +| Send message | 30 messages/min | Per user limit for sending messages | +| Mark as unread | 5 requests/min | Per user limit for marking messages as unread | + +## Data Import Rate Limits + +| Operation | Rate Limit | Notes | +| ----------- | --------------- | ------------------------------------------ | +| Data import | 60 requests/min | Rate limit for bulk data import operations | + +## Handling Rate Limits + +When you exceed a rate limit, the API will return the following error: + +| Error Code | Description | +| ----------------------- | ------------------------------------------------------------------------------------------- | +| `ERR_TOO_MANY_REQUESTS` | Too many requests. You have exceeded the rate limit. Please retry after the specified time. | + +To handle rate limits gracefully: + +1. Implement exponential backoff when retrying failed requests +2. Monitor your API usage to stay within limits +3. Contact support if you need higher limits for your use case + +## Rate Limit Response Headers + +When rate limited, the API returns HTTP 429 with these headers: + +| Header | Description | +| ----------------------- | ------------------------------------------------ | +| `X-RateLimit-Limit` | Maximum requests allowed in the current window | +| `X-RateLimit-Remaining` | Requests remaining in the current window | +| `X-RateLimit-Reset` | Unix timestamp when the rate limit window resets | +| `Retry-After` | Seconds to wait before retrying | + +## Retry Strategy + +```text +if response.status == 429: + wait = response.headers['Retry-After'] or 60 + sleep(wait) + retry() +``` + +Use exponential backoff with jitter for production implementations. Start with the `Retry-After` value, then double the wait on each subsequent 429 response, up to a maximum of 5 minutes. diff --git a/rest-api/rbac-overview.mdx b/rest-api/rbac-overview.mdx index ee046a202..adea83761 100644 --- a/rest-api/rbac-overview.mdx +++ b/rest-api/rbac-overview.mdx @@ -1,8 +1,20 @@ --- -title: Overview +title: "Overview" +description: "Configure role-based (RBAC) and scope-based (SBAC) access control permissions for your CometChat app." sidebar_label: Overview --- +### Endpoints + +| Method | Endpoint | Description | +| ------ | -------- | ----------- | +| GET | [`/roles/{role}/permissions`](/rest-api/rbac/list-role-permissions) | List all RBAC permissions for a role | +| PUT | [`/roles/{role}/permissions`](/rest-api/rbac/set-role-permissions) | Set RBAC permissions for a role | +| DELETE | [`/roles/{role}/permissions/{permission}`](/rest-api/rbac/unset-role-permissions) | Unset a specific RBAC permission for a role | +| GET | [`/groups/{guid}/scopes/{scope}/permissions`](/rest-api/rbac/list-scope-permissions) | List all SBAC permissions for a group scope | +| PUT | [`/groups/{guid}/scopes/{scope}/permissions`](/rest-api/rbac/set-scope-permissions) | Set SBAC permissions for a group scope | +| DELETE | [`/groups/{guid}/scopes/{scope}/permissions/{permission}`](/rest-api/rbac/unset-scope-permissions) | Unset a specific SBAC permission for a group scope | + CometChat provides two types of access control permissions: - **[RBAC (Role-Based Access Control)](#rbac-role-based-access-control)** Permissions applied globally based on the user's assigned role @@ -25,46 +37,51 @@ Role-Based Access Control (RBAC) enables fine-grained control over **what action - If a permission evaluation fails, the API returns an `ERR_PERMISSION_DENIED` error RBAC supports: + - **Binary permissions** (`allow` / `deny`) - **Conditional permissions** using additional configuration keys such as `mode`, `allowedRoles`, and `allowedMessageTypes` Permissions can be restricted by additional conditions such as: + - User relationships (all users vs friends) - Sender or receiver roles - Message categories and types ### RBAC Data Types -| Data Type | Description | Example Values | -|-----------|-------------|----------------| -| `string` | Single string value | `allow`, `deny`, `all`, `friends` | -| `stringArray` | Array of predefined strings | `["user", "group"]`, `["text", "image"]` | -| `rolesStringArray` | Array of role names | `["doctor", "patient"]` | -| `customStringArray` | Array of custom user-defined strings | `["custom-type-1", "custom-type-2"]` | +| Data Type | Description | Example Values | +| ------------------- | ------------------------------------ | ---------------------------------------- | +| `string` | Single string value | `allow`, `deny`, `all`, `friends` | +| `stringArray` | Array of predefined strings | `["user", "group"]`, `["text", "image"]` | +| `rolesStringArray` | Array of role names | `["doctor", "patient"]` | +| `customStringArray` | Array of custom user-defined strings | `["custom-type-1", "custom-type-2"]` | ### RBAC Permission Structure Each RBAC permission follows this structure: -| Attribute | Description | -|-----------|-------------| -| Key | The RBAC permission key used in APIs | -| Category | Logical grouping (Users, Messages, etc.) | -| Data Type | Expected value type | -| Available Values | Supported values | -| Default | Applied if not explicitly configured | +| Attribute | Description | +| ---------------- | ---------------------------------------- | +| Key | The RBAC permission key used in APIs | +| Category | Logical grouping (Users, Messages, etc.) | +| Data Type | Expected value type | +| Available Values | Supported values | +| Default | Applied if not explicitly configured | ### RBAC Permission Value Behavior When an array permission (e.g., `allowedRoles`, `mimeTypes`) has a value of `null`: + - It means **no restriction** - all values are allowed - This is equivalent to an empty array `[]` For `allow` / `deny` values: + - `allow`: The action is permitted - `deny`: The action is blocked, returns `ERR_PERMISSION_DENIED` For `mode` values: + - `all`: Action applies to all users - `friends`: Action is restricted to friends only @@ -72,98 +89,98 @@ For `mode` values: #### 1. Users -| Title | Description | Data Type | Permission Key | Available Values | Default | -|-------|-------------|-----------|----------------|------------------|---------| -| User Listing | Allow or deny user listing functionality | string | `listUsers` | allow, deny | allow | -| User Listing Mode | Choose who can be listed: all users or friends only | string | `listUsers.mode` | all, friends | all | -| User Listing Role Filter | Select which user roles can be listed | rolesStringArray | `listUsers.allowedRoles` | null | null | -| User Details Access | Allow or deny viewing detailed user information | string | `getUserDetails` | allow, deny | allow | -| User Details Mode | Choose whose details can be viewed: all users or friends only | string | `getUserDetails.mode` | all, friends | all | -| User Details Role Filter | Select which user roles' details can be viewed | rolesStringArray | `getUserDetails.allowedRoles` | null | null | -| Block User | Allow or deny user blocking functionality | string | `blockUser` | allow, deny | allow | -| Block User Role Filter | Select which user roles can be blocked | rolesStringArray | `blockUser.allowedRoles` | null | null | -| Blocked User Listing | Allow or deny listing blocked users | string | `listBlockedUser` | allow, deny | allow | -| Blocked User Listing Role Filter | Select which blocked user roles can be listed | rolesStringArray | `listBlockedUser.allowedRoles` | null | null | -| Unblock User | Allow or deny user unblocking functionality | string | `unblockedUser` | allow, deny | allow | -| Unblock User Role Filter | Select which user roles can be unblocked | rolesStringArray | `unblockedUser.allowedRoles` | null | null | -| Edit User Profile | Allow or deny user detail edits | string | `editProfile` | allow, deny | allow | +| Title | Description | Data Type | Permission Key | Available Values | Default | +| -------------------------------- | ------------------------------------------------------------- | ---------------- | ------------------------------ | ---------------- | ------- | +| User Listing | Allow or deny user listing functionality | string | `listUsers` | allow, deny | allow | +| User Listing Mode | Choose who can be listed: all users or friends only | string | `listUsers.mode` | all, friends | all | +| User Listing Role Filter | Select which user roles can be listed | rolesStringArray | `listUsers.allowedRoles` | null | null | +| User Details Access | Allow or deny viewing detailed user information | string | `getUserDetails` | allow, deny | allow | +| User Details Mode | Choose whose details can be viewed: all users or friends only | string | `getUserDetails.mode` | all, friends | all | +| User Details Role Filter | Select which user roles' details can be viewed | rolesStringArray | `getUserDetails.allowedRoles` | null | null | +| Block User | Allow or deny user blocking functionality | string | `blockUser` | allow, deny | allow | +| Block User Role Filter | Select which user roles can be blocked | rolesStringArray | `blockUser.allowedRoles` | null | null | +| Blocked User Listing | Allow or deny listing blocked users | string | `listBlockedUser` | allow, deny | allow | +| Blocked User Listing Role Filter | Select which blocked user roles can be listed | rolesStringArray | `listBlockedUser.allowedRoles` | null | null | +| Unblock User | Allow or deny user unblocking functionality | string | `unblockedUser` | allow, deny | allow | +| Unblock User Role Filter | Select which user roles can be unblocked | rolesStringArray | `unblockedUser.allowedRoles` | null | null | +| Edit User Profile | Allow or deny user detail edits | string | `editProfile` | allow, deny | allow | #### 2. Messages -| Title | Description | Data Type | Permission Key | Available Values | Default | -|-------|-------------|-----------|----------------|------------------|---------| -| Message Listing | Allow or deny message listing functionality | string | `listMessages` | allow, deny | allow | -| Message Listing Mode | Choose whose messages can be listed: all users or friends only | string | `listMessages.mode` | all, friends | all | -| Message List Receiver Filter | Select which receiver types are allowed in message lists | stringArray | `listMessages.allowedReceiverTypes` | user, group | null | -| Message List Sender Filter | Select which sender roles' messages can be listed | rolesStringArray | `listMessages.allowedSenderRoles` | null | null | -| Message List Category Filter | Select which message categories can be listed | stringArray | `listMessages.allowedMessageCategories` | message, custom | null | -| Message List Type Filter | Select which message types can be listed | stringArray | `listMessages.allowedMessageTypes` | text, image, audio, video, file | null | -| Message Details | Allow or deny fetching message details | string | `getMessageDetails` | allow, deny | allow | -| Message Details Mode | Choose whose message details can be viewed: all users or friends only | string | `getMessageDetails.mode` | all, friends | all | -| Message Sending | Allow or deny message sending functionality | string | `sendMessage` | allow, deny | allow | -| Message Sending Mode | Choose who can receive messages: all users or friends only | string | `sendMessage.mode` | all, friends | all | -| Message Send Receiver Filter | Select receiver types to which the messages can be sent | stringArray | `sendMessage.allowedReceiverTypes` | user, group | null | -| Message Send Role Filter | Select receiver roles to which the messages can be sent | rolesStringArray | `sendMessage.allowedReceiverRoles` | null | null | -| Message Send Category Filter | Select which message categories can be sent | stringArray | `sendMessage.allowedMessageCategories` | message, custom | null | -| Message Send Type Filter | Select which message types can be sent | stringArray | `sendMessage.allowedMessageTypes` | text, image, audio, video, file | null | -| Custom Message Types | Define custom message types that can be sent | customStringArray | `sendMessage.allowedCustomTypes` | null | null | -| MIME Type Access Control | Set MIME type filtering mode to allow or deny | string | `sendMessage.mimeTypeAccessControl` | allow, deny | allow | -| Media MIME Types | Define MIME types for media message filtering | customStringArray | `sendMessage.mimeTypes` | null | null | -| Message Editing | Allow or deny editing of own messages | string | `editMessage` | allow, deny | allow | -| Message Deletion | Allow or deny deletion of own messages | string | `deleteMessage` | allow, deny | allow | +| Title | Description | Data Type | Permission Key | Available Values | Default | +| ---------------------------- | --------------------------------------------------------------------- | ----------------- | --------------------------------------- | ------------------------------- | ------- | +| Message Listing | Allow or deny message listing functionality | string | `listMessages` | allow, deny | allow | +| Message Listing Mode | Choose whose messages can be listed: all users or friends only | string | `listMessages.mode` | all, friends | all | +| Message List Receiver Filter | Select which receiver types are allowed in message lists | stringArray | `listMessages.allowedReceiverTypes` | user, group | null | +| Message List Sender Filter | Select which sender roles' messages can be listed | rolesStringArray | `listMessages.allowedSenderRoles` | null | null | +| Message List Category Filter | Select which message categories can be listed | stringArray | `listMessages.allowedMessageCategories` | message, custom | null | +| Message List Type Filter | Select which message types can be listed | stringArray | `listMessages.allowedMessageTypes` | text, image, audio, video, file | null | +| Message Details | Allow or deny fetching message details | string | `getMessageDetails` | allow, deny | allow | +| Message Details Mode | Choose whose message details can be viewed: all users or friends only | string | `getMessageDetails.mode` | all, friends | all | +| Message Sending | Allow or deny message sending functionality | string | `sendMessage` | allow, deny | allow | +| Message Sending Mode | Choose who can receive messages: all users or friends only | string | `sendMessage.mode` | all, friends | all | +| Message Send Receiver Filter | Select receiver types to which the messages can be sent | stringArray | `sendMessage.allowedReceiverTypes` | user, group | null | +| Message Send Role Filter | Select receiver roles to which the messages can be sent | rolesStringArray | `sendMessage.allowedReceiverRoles` | null | null | +| Message Send Category Filter | Select which message categories can be sent | stringArray | `sendMessage.allowedMessageCategories` | message, custom | null | +| Message Send Type Filter | Select which message types can be sent | stringArray | `sendMessage.allowedMessageTypes` | text, image, audio, video, file | null | +| Custom Message Types | Define custom message types that can be sent | customStringArray | `sendMessage.allowedCustomTypes` | null | null | +| MIME Type Access Control | Set MIME type filtering mode to allow or deny | string | `sendMessage.mimeTypeAccessControl` | allow, deny | allow | +| Media MIME Types | Define MIME types for media message filtering | customStringArray | `sendMessage.mimeTypes` | null | null | +| Message Editing | Allow or deny editing of own messages | string | `editMessage` | allow, deny | allow | +| Message Deletion | Allow or deny deletion of own messages | string | `deleteMessage` | allow, deny | allow | #### 3. Message Thread -| Title | Description | Data Type | Permission Key | Available Values | Default | -|-------|-------------|-----------|----------------|------------------|---------| -| Threaded Message Listing | Allow or deny listing of threaded messages | string | `listThreadedMessages` | allow, deny | allow | -| Thread Message Sending | Allow or deny sending messages in threads | string | `sendThreadedMessage` | allow, deny | allow | -| Thread Receiver Type Filter | Select which receiver types (user/group) can receive thread messages | stringArray | `sendThreadedMessage.allowedReceiverTypes` | user, group | null | -| Thread Role Filter | Select which receiver roles can receive thread messages (1-on-1 only) | rolesStringArray | `sendThreadedMessage.allowedReceiverRoles` | null | null | -| Thread Category Filter | Select which message categories can be sent in threads | stringArray | `sendThreadedMessage.allowedMessageCategories` | message, custom | null | -| Thread Type Filter | Select which message types can be sent in threads | stringArray | `sendThreadedMessage.allowedMessageTypes` | text, image, audio, video, file | null | -| Thread Custom Types | Define custom message types that can be sent in threads | customStringArray | `sendThreadedMessage.allowedCustomTypes` | null | null | -| Thread MIME Type Access Control | Set MIME type filtering mode for threads to allow or deny | string | `sendThreadedMessage.mimeTypeAccessControl` | allow, deny | allow | -| Thread Media MIME Types | Define MIME types for thread media message filtering | customStringArray | `sendThreadedMessage.mimeTypes` | null | null | -| Thread Message Editing | Allow or deny editing of thread messages | string | `editThreadedMessage` | allow, deny | allow | -| Thread Message Deletion | Allow or deny deletion of thread messages | string | `deleteThreadedMessage` | allow, deny | allow | +| Title | Description | Data Type | Permission Key | Available Values | Default | +| ------------------------------- | --------------------------------------------------------------------- | ----------------- | ---------------------------------------------- | ------------------------------- | ------- | +| Threaded Message Listing | Allow or deny listing of threaded messages | string | `listThreadedMessages` | allow, deny | allow | +| Thread Message Sending | Allow or deny sending messages in threads | string | `sendThreadedMessage` | allow, deny | allow | +| Thread Receiver Type Filter | Select which receiver types (user/group) can receive thread messages | stringArray | `sendThreadedMessage.allowedReceiverTypes` | user, group | null | +| Thread Role Filter | Select which receiver roles can receive thread messages (1-on-1 only) | rolesStringArray | `sendThreadedMessage.allowedReceiverRoles` | null | null | +| Thread Category Filter | Select which message categories can be sent in threads | stringArray | `sendThreadedMessage.allowedMessageCategories` | message, custom | null | +| Thread Type Filter | Select which message types can be sent in threads | stringArray | `sendThreadedMessage.allowedMessageTypes` | text, image, audio, video, file | null | +| Thread Custom Types | Define custom message types that can be sent in threads | customStringArray | `sendThreadedMessage.allowedCustomTypes` | null | null | +| Thread MIME Type Access Control | Set MIME type filtering mode for threads to allow or deny | string | `sendThreadedMessage.mimeTypeAccessControl` | allow, deny | allow | +| Thread Media MIME Types | Define MIME types for thread media message filtering | customStringArray | `sendThreadedMessage.mimeTypes` | null | null | +| Thread Message Editing | Allow or deny editing of thread messages | string | `editThreadedMessage` | allow, deny | allow | +| Thread Message Deletion | Allow or deny deletion of thread messages | string | `deleteThreadedMessage` | allow, deny | allow | #### 4. Message Reactions -| Title | Description | Data Type | Permission Key | Available Values | Default | -|-------|-------------|-----------|----------------|------------------|---------| -| Reaction Listing | Allow or deny viewing message reactions | string | `listReactions` | allow, deny | allow | -| Reaction Management | Allow or deny adding/removing message reactions | string | `addReaction` | allow, deny | allow | +| Title | Description | Data Type | Permission Key | Available Values | Default | +| ------------------- | ----------------------------------------------- | --------- | --------------- | ---------------- | ------- | +| Reaction Listing | Allow or deny viewing message reactions | string | `listReactions` | allow, deny | allow | +| Reaction Management | Allow or deny adding/removing message reactions | string | `addReaction` | allow, deny | allow | #### 5. Calls -| Title | Description | Data Type | Permission Key | Available Values | Default | -|-------|-------------|-----------|----------------|------------------|---------| -| Call Initiation | Allow or deny call initiation functionality | string | `initiateCall` | allow, deny | allow | -| Call Receiver Type Filter | Select which receiver types can receive calls | stringArray | `initiateCall.allowedReceiverTypes` | user, group | null | -| Call Receiver Role Filter | Select which receiver roles can receive calls (1-on-1 only) | rolesStringArray | `initiateCall.allowedReceiverRoles` | null | null | -| Call Joining | Allow or deny joining 1-on-1 calls | string | `joinCall` | allow, deny | allow | +| Title | Description | Data Type | Permission Key | Available Values | Default | +| ------------------------- | ----------------------------------------------------------- | ---------------- | ----------------------------------- | ---------------- | ------- | +| Call Initiation | Allow or deny call initiation functionality | string | `initiateCall` | allow, deny | allow | +| Call Receiver Type Filter | Select which receiver types can receive calls | stringArray | `initiateCall.allowedReceiverTypes` | user, group | null | +| Call Receiver Role Filter | Select which receiver roles can receive calls (1-on-1 only) | rolesStringArray | `initiateCall.allowedReceiverRoles` | null | null | +| Call Joining | Allow or deny joining 1-on-1 calls | string | `joinCall` | allow, deny | allow | #### 6. Conversations -| Title | Description | Data Type | Permission Key | Available Values | Default | -|-------|-------------|-----------|----------------|------------------|---------| -| List Conversation | Allow or deny conversations listing functionality | string | `listConversations` | allow, deny | allow | -| Update Conversation | Allow or deny conversation update functionality | string | `updateConversation` | allow, deny | allow | -| Delete Conversation | Allow or deny conversation delete functionality | string | `deleteConversation` | allow, deny | allow | +| Title | Description | Data Type | Permission Key | Available Values | Default | +| ------------------- | ------------------------------------------------- | --------- | -------------------- | ---------------- | ------- | +| List Conversation | Allow or deny conversations listing functionality | string | `listConversations` | allow, deny | allow | +| Update Conversation | Allow or deny conversation update functionality | string | `updateConversation` | allow, deny | allow | +| Delete Conversation | Allow or deny conversation delete functionality | string | `deleteConversation` | allow, deny | allow | #### 7. Groups -| Title | Description | Data Type | Permission Key | Available Values | Default | -|-------|-------------|-----------|----------------|------------------|---------| -| Group Listing | Allow or deny group listing functionality | string | `listGroups` | allow, deny | allow | -| Group List Type Filter | Select which group types can be listed | stringArray | `listGroups.allowedGroupTypes` | public, password, private | null | -| Group Details | Allow or deny details for a group | string | `getGroupDetails` | allow, deny | allow | -| Group Details Type Filter | Select for which group types details can be fetched | stringArray | `getGroupDetails.allowedGroupTypes` | public, password, private | null | -| Group Creation | Allow or deny group creation functionality | string | `createGroup` | allow, deny | allow | -| Group Creation Type Filter | Select which group types can be created | stringArray | `createGroup.allowedGroupTypes` | public, password, private | null | -| Group Joining | Allow or deny group joining functionality | string | `joinGroup` | allow, deny | allow | -| Group Join Type Filter | Select which group types can be joined | stringArray | `joinGroup.allowedGroupTypes` | public, password | null | +| Title | Description | Data Type | Permission Key | Available Values | Default | +| -------------------------- | --------------------------------------------------- | ----------- | ----------------------------------- | ------------------------- | ------- | +| Group Listing | Allow or deny group listing functionality | string | `listGroups` | allow, deny | allow | +| Group List Type Filter | Select which group types can be listed | stringArray | `listGroups.allowedGroupTypes` | public, password, private | null | +| Group Details | Allow or deny details for a group | string | `getGroupDetails` | allow, deny | allow | +| Group Details Type Filter | Select for which group types details can be fetched | stringArray | `getGroupDetails.allowedGroupTypes` | public, password, private | null | +| Group Creation | Allow or deny group creation functionality | string | `createGroup` | allow, deny | allow | +| Group Creation Type Filter | Select which group types can be created | stringArray | `createGroup.allowedGroupTypes` | public, password, private | null | +| Group Joining | Allow or deny group joining functionality | string | `joinGroup` | allow, deny | allow | +| Group Join Type Filter | Select which group types can be joined | stringArray | `joinGroup.allowedGroupTypes` | public, password | null | ### RBAC Example Configuration @@ -200,41 +217,45 @@ Scope-Based Access Control (SBAC) enables fine-grained control over **what actio - SBAC permissions are evaluated alongside RBAC rules. For group operations, both must allow the action SBAC supports: + - **Binary permissions** (`allow` / `deny`) - **Conditional permissions** using additional configuration keys such as `allowedScopes`, `allowedMessageTypes`, and `mimeTypes` Permissions can be restricted by additional conditions such as: + - Member scopes within the group - Message categories and types - Group-specific message history access ### SBAC Data Types -| Data Type | Description | Example Values | -|-----------|-------------|----------------| -| `string` | Single string value | `allow`, `deny` | -| `stringArray` | Array of predefined strings | `["admin", "moderator"]`, `["text", "image"]` | -| `customStringArray` | Array of custom user-defined strings | `["custom-type-1", "custom-type-2"]` | +| Data Type | Description | Example Values | +| ------------------- | ------------------------------------ | --------------------------------------------- | +| `string` | Single string value | `allow`, `deny` | +| `stringArray` | Array of predefined strings | `["admin", "moderator"]`, `["text", "image"]` | +| `customStringArray` | Array of custom user-defined strings | `["custom-type-1", "custom-type-2"]` | ### SBAC Permission Structure Each SBAC permission follows this structure: -| Attribute | Description | -|-----------|-------------| -| Key | The SBAC permission key used in APIs | -| Category | Logical grouping (Groups, Members, Messages, etc.) | -| Data Type | Expected value type | -| Available Values | Supported values | -| Default | Applied if not explicitly configured | +| Attribute | Description | +| ---------------- | -------------------------------------------------- | +| Key | The SBAC permission key used in APIs | +| Category | Logical grouping (Groups, Members, Messages, etc.) | +| Data Type | Expected value type | +| Available Values | Supported values | +| Default | Applied if not explicitly configured | ### SBAC Permission Value Behavior When an array permission (e.g., `allowedScopes`, `mimeTypes`) has a value of `null`: + - It means **no restriction** - all values are allowed - This is equivalent to an empty array `[]` For `allow` / `deny` values: + - `allow`: The action is permitted - `deny`: The action is blocked, returns `ERR_PERMISSION_DENIED` @@ -242,70 +263,70 @@ For `allow` / `deny` values: #### 1. Groups -| Title | Description | Data Type | Permission Key | Available Values | Default | -|-------|-------------|-----------|----------------|------------------|---------| -| Group Edit Details | Allow or deny group edits | string | `editGroup` | allow, deny | admin: allow
moderator: deny
participant: deny | -| Group Delete | Allow or deny group deletes | string | `deleteGroup` | allow, deny | admin: deny
moderator: deny
participant: deny | -| Group Leave | Allow or deny group leave | string | `leaveGroup` | allow, deny | allow | +| Title | Description | Data Type | Permission Key | Available Values | Default | +| ------------------ | --------------------------- | --------- | -------------- | ---------------- | ---------------------------------------------------------- | +| Group Edit Details | Allow or deny group edits | string | `editGroup` | allow, deny | admin: allow
moderator: deny
participant: deny | +| Group Delete | Allow or deny group deletes | string | `deleteGroup` | allow, deny | admin: deny
moderator: deny
participant: deny | +| Group Leave | Allow or deny group leave | string | `leaveGroup` | allow, deny | allow | #### 2. Members -| Title | Description | Data Type | Permission Key | Available Values | Default | -|-------|-------------|-----------|----------------|------------------|---------| -| Member Listing | Allow or deny listing group members | string | `listMembers` | allow, deny | allow | -| Member List Scope Filter | Select which member scopes can be listed | stringArray | `listMembers.allowedScopes` | admin, moderator, participant | null | -| Member Addition | Allow or deny adding members to groups | string | `addMembers` | allow, deny | admin: allow
moderator: deny
participant: deny | -| Member Add Scope Filter | Select which member scopes can be added | stringArray | `addMembers.allowedScopes` | admin, moderator, participant | null | -| Member Removal | Allow or deny kicking members from groups | string | `kickMembers` | allow, deny | admin: allow
moderator: allow
participant: deny | -| Member Kick Scope Filter | Select which member scopes can be kicked | stringArray | `kickMembers.allowedScopes` | admin, moderator, participant | null | -| Banned Member Listing | Allow or deny listing banned members | string | `listBannedUsers` | allow, deny | admin: allow
moderator: allow
participant: deny | -| Member Banning | Allow or deny banning members from groups | string | `ban` | allow, deny | admin: allow
moderator: allow
participant: deny | -| Member Ban Scope Filter | Select which member scopes can be banned | stringArray | `ban.allowedScopes` | admin, moderator, participant | null | -| Member Unbanning | Allow or deny unbanning members from groups | string | `unban` | allow, deny | admin: allow
moderator: allow
participant: deny | +| Title | Description | Data Type | Permission Key | Available Values | Default | +| ------------------------ | ------------------------------------------- | ----------- | --------------------------- | ----------------------------- | ----------------------------------------------------------- | +| Member Listing | Allow or deny listing group members | string | `listMembers` | allow, deny | allow | +| Member List Scope Filter | Select which member scopes can be listed | stringArray | `listMembers.allowedScopes` | admin, moderator, participant | null | +| Member Addition | Allow or deny adding members to groups | string | `addMembers` | allow, deny | admin: allow
moderator: deny
participant: deny | +| Member Add Scope Filter | Select which member scopes can be added | stringArray | `addMembers.allowedScopes` | admin, moderator, participant | null | +| Member Removal | Allow or deny kicking members from groups | string | `kickMembers` | allow, deny | admin: allow
moderator: allow
participant: deny | +| Member Kick Scope Filter | Select which member scopes can be kicked | stringArray | `kickMembers.allowedScopes` | admin, moderator, participant | null | +| Banned Member Listing | Allow or deny listing banned members | string | `listBannedUsers` | allow, deny | admin: allow
moderator: allow
participant: deny | +| Member Banning | Allow or deny banning members from groups | string | `ban` | allow, deny | admin: allow
moderator: allow
participant: deny | +| Member Ban Scope Filter | Select which member scopes can be banned | stringArray | `ban.allowedScopes` | admin, moderator, participant | null | +| Member Unbanning | Allow or deny unbanning members from groups | string | `unban` | allow, deny | admin: allow
moderator: allow
participant: deny | #### 3. Messages -| Title | Description | Data Type | Permission Key | Available Values | Default | -|-------|-------------|-----------|----------------|------------------|---------| -| Message Category Filter | Select which message categories can be listed in groups | stringArray | `listMessages.allowedMessageCategories` | message, custom | null | -| Message Type Filter | Select which message types can be listed in groups | stringArray | `listMessages.allowedMessageTypes` | text, image, audio, video, file | null | -| Message History | Allow or deny listing messages sent before joining the group | string | `listMessages.historyBeforeJoin` | allow, deny | allow | -| Group Message Sending | Allow or deny sending messages in groups | string | `sendMessage` | allow, deny | allow | -| Group Send Category Filter | Select which message categories can be sent in groups | stringArray | `sendMessage.allowedMessageCategories` | message, custom | null | -| Group Send Type Filter | Select which message types can be sent in groups | stringArray | `sendMessage.allowedMessageTypes` | text, image, audio, video, file | null | -| Group Custom Message Types | Define custom message types that can be sent in groups | customStringArray | `sendMessage.allowedCustomTypes` | null | null | -| Group MIME Type Access Control | Set MIME type filtering mode for group messages to allow or deny | string | `sendMessage.mimeTypeAccessControl` | allow, deny | allow | -| Group Media MIME Types | Define MIME types for group media message filtering | customStringArray | `sendMessage.mimeTypes` | null | null | -| Group Message Editing | Allow or deny editing messages in groups | string | `editMessage` | allow, deny | allow | -| Group Message Deletion | Allow or deny deleting messages in groups | string | `deleteMessage` | allow, deny | allow | +| Title | Description | Data Type | Permission Key | Available Values | Default | +| ------------------------------ | ---------------------------------------------------------------- | ----------------- | --------------------------------------- | ------------------------------- | ------- | +| Message Category Filter | Select which message categories can be listed in groups | stringArray | `listMessages.allowedMessageCategories` | message, custom | null | +| Message Type Filter | Select which message types can be listed in groups | stringArray | `listMessages.allowedMessageTypes` | text, image, audio, video, file | null | +| Message History | Allow or deny listing messages sent before joining the group | string | `listMessages.historyBeforeJoin` | allow, deny | allow | +| Group Message Sending | Allow or deny sending messages in groups | string | `sendMessage` | allow, deny | allow | +| Group Send Category Filter | Select which message categories can be sent in groups | stringArray | `sendMessage.allowedMessageCategories` | message, custom | null | +| Group Send Type Filter | Select which message types can be sent in groups | stringArray | `sendMessage.allowedMessageTypes` | text, image, audio, video, file | null | +| Group Custom Message Types | Define custom message types that can be sent in groups | customStringArray | `sendMessage.allowedCustomTypes` | null | null | +| Group MIME Type Access Control | Set MIME type filtering mode for group messages to allow or deny | string | `sendMessage.mimeTypeAccessControl` | allow, deny | allow | +| Group Media MIME Types | Define MIME types for group media message filtering | customStringArray | `sendMessage.mimeTypes` | null | null | +| Group Message Editing | Allow or deny editing messages in groups | string | `editMessage` | allow, deny | allow | +| Group Message Deletion | Allow or deny deleting messages in groups | string | `deleteMessage` | allow, deny | allow | #### 4. Message Thread -| Title | Description | Data Type | Permission Key | Available Values | Default | -|-------|-------------|-----------|----------------|------------------|---------| -| Group Thread Listing | Allow or deny listing threaded messages in groups | string | `listThreadedMessages` | allow, deny | allow | -| Group Thread Sending | Allow or deny sending messages in group threads | string | `sendThreadedMessage` | allow, deny | allow | -| Group Thread Category Filter | Select which message categories can be sent in group threads | stringArray | `sendThreadedMessage.allowedMessageCategories` | message, custom | null | -| Group Thread Type Filter | Select which message types can be sent in group threads | stringArray | `sendThreadedMessage.allowedMessageTypes` | text, image, audio, video, file | null | -| Group Thread Custom Types | Define custom message types that can be sent in group threads | customStringArray | `sendThreadedMessage.allowedCustomTypes` | null | null | -| Group Thread MIME Type Access Control | Set MIME type filtering mode for group thread messages to allow or deny | string | `sendThreadedMessage.mimeTypeAccessControl` | allow, deny | allow | -| Group Thread Media MIME Types | Define MIME types for group thread media message filtering | customStringArray | `sendThreadedMessage.mimeTypes` | null | null | -| Group Thread Editing | Allow or deny editing thread messages in groups | string | `editThreadedMessage` | allow, deny | allow | -| Group Thread Deletion | Allow or deny deleting thread messages in groups | string | `deleteThreadedMessage` | allow, deny | allow | +| Title | Description | Data Type | Permission Key | Available Values | Default | +| ------------------------------------- | ----------------------------------------------------------------------- | ----------------- | ---------------------------------------------- | ------------------------------- | ------- | +| Group Thread Listing | Allow or deny listing threaded messages in groups | string | `listThreadedMessages` | allow, deny | allow | +| Group Thread Sending | Allow or deny sending messages in group threads | string | `sendThreadedMessage` | allow, deny | allow | +| Group Thread Category Filter | Select which message categories can be sent in group threads | stringArray | `sendThreadedMessage.allowedMessageCategories` | message, custom | null | +| Group Thread Type Filter | Select which message types can be sent in group threads | stringArray | `sendThreadedMessage.allowedMessageTypes` | text, image, audio, video, file | null | +| Group Thread Custom Types | Define custom message types that can be sent in group threads | customStringArray | `sendThreadedMessage.allowedCustomTypes` | null | null | +| Group Thread MIME Type Access Control | Set MIME type filtering mode for group thread messages to allow or deny | string | `sendThreadedMessage.mimeTypeAccessControl` | allow, deny | allow | +| Group Thread Media MIME Types | Define MIME types for group thread media message filtering | customStringArray | `sendThreadedMessage.mimeTypes` | null | null | +| Group Thread Editing | Allow or deny editing thread messages in groups | string | `editThreadedMessage` | allow, deny | allow | +| Group Thread Deletion | Allow or deny deleting thread messages in groups | string | `deleteThreadedMessage` | allow, deny | allow | #### 5. Message Reactions -| Title | Description | Data Type | Permission Key | Available Values | Default | -|-------|-------------|-----------|----------------|------------------|---------| -| Group Reaction Listing | Allow or deny viewing message reactions in groups | string | `listReactions` | allow, deny | allow | -| Group Reaction Management | Allow or deny adding/removing message reactions in groups | string | `addReaction` | allow, deny | allow | +| Title | Description | Data Type | Permission Key | Available Values | Default | +| ------------------------- | --------------------------------------------------------- | --------- | --------------- | ---------------- | ------- | +| Group Reaction Listing | Allow or deny viewing message reactions in groups | string | `listReactions` | allow, deny | allow | +| Group Reaction Management | Allow or deny adding/removing message reactions in groups | string | `addReaction` | allow, deny | allow | #### 6. Calls -| Title | Description | Data Type | Permission Key | Available Values | Default | -|-------|-------------|-----------|----------------|------------------|---------| -| Group Call Initiation | Allow or deny call initiation in groups | string | `initiateCall` | allow, deny | allow | -| Call Joining | Allow or deny joining calls in groups | string | `joinCall` | allow, deny | allow | +| Title | Description | Data Type | Permission Key | Available Values | Default | +| --------------------- | --------------------------------------- | --------- | -------------- | ---------------- | ------- | +| Group Call Initiation | Allow or deny call initiation in groups | string | `initiateCall` | allow, deny | allow | +| Call Joining | Allow or deny joining calls in groups | string | `joinCall` | allow, deny | allow | ### SBAC Example Configuration diff --git a/rest-api/rbac/list-role-permissions.mdx b/rest-api/rbac/list-role-permissions.mdx index 771ed63b9..6aa524cc2 100644 --- a/rest-api/rbac/list-role-permissions.mdx +++ b/rest-api/rbac/list-role-permissions.mdx @@ -1,3 +1,26 @@ --- openapi: get /roles/{role}/permissions ---- \ No newline at end of file +description: "Lists role permissions" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_ROLE_NOT_FOUND` | 404 | No role exists with the specified name | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Update permissions for this role. + + + Remove specific permissions. + + diff --git a/rest-api/rbac/list-scope-permissions.mdx b/rest-api/rbac/list-scope-permissions.mdx index 8bcb9ac23..8edc4cbfc 100644 --- a/rest-api/rbac/list-scope-permissions.mdx +++ b/rest-api/rbac/list-scope-permissions.mdx @@ -1,3 +1,33 @@ --- openapi: get /groups/{guid}/scopes/{scope}/permissions ---- \ No newline at end of file +description: "Lists scope permissions" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | -------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | 404 | No group exists with the specified GUID | +| `ERR_GROUP_SCOPE_NOT_FOUND` | 404 | The specified scope is not valid | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Update permissions for this scope. + + + Remove specific permissions. + + diff --git a/rest-api/rbac/set-role-permissions.mdx b/rest-api/rbac/set-role-permissions.mdx index 8995279e7..dbb1b1e84 100644 --- a/rest-api/rbac/set-role-permissions.mdx +++ b/rest-api/rbac/set-role-permissions.mdx @@ -1,3 +1,26 @@ --- openapi: put /roles/{role}/permissions ---- \ No newline at end of file +description: "Sets or updates permissions for a specific role" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_ROLE_NOT_FOUND` | 404 | No role exists with the specified name | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View current permissions. + + + Remove permissions. + + diff --git a/rest-api/rbac/set-scope-permissions.mdx b/rest-api/rbac/set-scope-permissions.mdx index eda7b2984..10b53632e 100644 --- a/rest-api/rbac/set-scope-permissions.mdx +++ b/rest-api/rbac/set-scope-permissions.mdx @@ -1,3 +1,33 @@ --- openapi: put /groups/{guid}/scopes/{scope}/permissions ---- \ No newline at end of file +description: "Sets or updates permissions for a specific group scope" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | -------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | 404 | No group exists with the specified GUID | +| `ERR_GROUP_SCOPE_NOT_FOUND` | 404 | The specified scope is not valid | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View current permissions. + + + Remove permissions. + + diff --git a/rest-api/rbac/unset-role-permissions.mdx b/rest-api/rbac/unset-role-permissions.mdx index 3b1cb3433..f22049880 100644 --- a/rest-api/rbac/unset-role-permissions.mdx +++ b/rest-api/rbac/unset-role-permissions.mdx @@ -1,3 +1,30 @@ --- openapi: delete /roles/{role}/permissions/{permission} ---- \ No newline at end of file +description: "Removes a specific permission from a role" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | -------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_ROLE_NOT_FOUND` | 404 | No role exists with the specified name | +| `ERR_PERMISSION_NOT_FOUND` | 404 | The specified permission does not exist | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Re-grant permissions. + + + View remaining permissions. + + diff --git a/rest-api/rbac/unset-scope-permissions.mdx b/rest-api/rbac/unset-scope-permissions.mdx index 1d1e0e815..918199611 100644 --- a/rest-api/rbac/unset-scope-permissions.mdx +++ b/rest-api/rbac/unset-scope-permissions.mdx @@ -1,3 +1,34 @@ --- openapi: delete /groups/{guid}/scopes/{scope}/permissions/{permission} ---- \ No newline at end of file +description: "Removes a specific permission from a group scope" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | -------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_GUID_NOT_FOUND` | 404 | No group exists with the specified GUID | +| `ERR_GROUP_SCOPE_NOT_FOUND` | 404 | The specified scope is not valid | +| `ERR_PERMISSION_NOT_FOUND` | 404 | The specified permission does not exist | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Re-grant permissions. + + + View remaining permissions. + + diff --git a/rest-api/restrict-features.mdx b/rest-api/restrict-features.mdx index ce6bff71f..0b240b7c3 100644 --- a/rest-api/restrict-features.mdx +++ b/rest-api/restrict-features.mdx @@ -1,63 +1,75 @@ --- title: "Overview" +description: "Restrict specific features based on user roles (deprecated — use RBAC instead)." --- -This feature has been deprecated. Please use [Role Based Access Control (RBAC)](/rest-api/rbac-overview) instead. + This feature has been deprecated. Please use [Role Based Access Control + (RBAC)](/rest-api/rbac-overview) instead. Features can be restricted based on role.\ The following table indicates the endpoints that can be restricted for a given role. -| Feature | Key | Description | -| -------------------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Add Member | addMember | Allows logged-in user to add a member to a group. | -| Ban User | ban | Allows logged-in user to ban a member in a group. The operation can only be performed if the logged-in user is owner/admin/moderator of a group. | -| Block User | blockUser | Allows logged-in user to block a user. | -| Change Scope | changeScope | Allows logged-in user to change the scope of a member in a group. The operation can only be performed if the logged-in user is owner/admin/moderator of a group. | -| Initiate Call | createCall | Allows logged-in user to initiate a call. | -| Create Group | createGroup | Allows logged-in user to create a group. | -| Send Message | createMessage | Allows logged-in user to send a message. | -| Reply to a Message | createMessageThread | Allows logged-in user to block a user. | -| Delete Call | deleteCall | Allows logged-in user to delete a call. | -| Delete Conversation | deleteConversationForUser | Allows logged-in user to delete a conversation for himself. | -| Delete Group | deleteGroup | Allows logged-in user to delete a group. | -| Delete Group Messages | deleteGroupMessages | Allows logged-in user to delete messages in a group. | -| Delete Message | deleteMessage | Allows logged-in user to delete a message. | -| Fetch Blocked Users | getBlockedUsers | Allows logged-in user to fetch the list of blocked users. | -| Get Call | getCall | Allows logged-in user to fetch the details of a call. | -| Get Conversation | getConversation | Allows logged-in user to get the details of a conversation. | -| Get Group | getGroup | Allows logged-in user to get the details of a group. | -| List Group Messages | getGroupMessages | Allows logged-in user to fetch messages in a group. | -| Get Member | getMember | Allows logged-in user to get details of a member in a group. | -| Get Message | getMessage | Allows logged-in user to get the details of a message. | -| Get My Details | getMyDetails | Allows logged-in user to fetch his own details. | -| Get User | getUser | Allows logged-in user to fetch the details of any other user. | -| List User Messages | getUserMessages | Allows logged-in user to fetch messages sent/received from another user. | -| Join Group | joinGroup | Allows logged-in user to join a group. | -| Kick Member | kickMember | Allows logged-in user to kick a member from the group. The operation can only be performed if the logged-in user is owner/admin/moderator of a group. | -| Leave Group | leaveGroup | Allows logged-in user to leave a group. | -| List Banned Users | listBannedUsers | Allows logged-in user to fetch the banned members in a group. | -| List Calls | listCalls | Allows logged-in user to fetch the call list. | -| List Conversations | listConversations | Allows logged-in user to fetch the conversation list. | -| List Group Members | listGroupMembers | Allows logged-in user to fetch the members list for a group. | -| List Groups | listGroups | Allows logged-in user to fetch the group list. | -| List Messages | listMessages | Allows logged-in user to fetch all the messages sent by/for him. | -| List Settings | listSettings | Allows logged-in user to fetch the settings. | -| List Threaded Messages | listThreadedMessages | Allows logged-in user to fetch all the replies for a message. | -| List Users | listUsers | Allows logged-in user to fetch the user list. | -| Logout | logout | Allows logged-in user to logout. | -| Group Mass Operation | massMemberOperate | Allows logged-in user to manage multiple group members with a single API call. The operation can only be performed if the logged-in user is owner/admin of a group. | -| Patch Owner | patchOwner | Allows logged-in user to transfer the ownership of a group. The operation can only be performed if the logged-in user is owner of a group. | -| unban User | unban | Allows logged-in user to unban a member. The operation can only be performed if the logged-in user is owner/admin/moderator of a group. | -| Unblock User | unblockUser | Allows logged-in user to unblock a user. | -| Updates AuthToken | updateAuthToken | Allows logged-in user to update his own details and authtoken details. | -| Update Call | updateCall | Allows logged-in user to change the status of initiated/ongoing call. | -| Edit Group | updateGroup | Allows logged-in user to edit group details. The operation can only be performed if the logged-in user is owner/admin/moderator of a group. | -| Edit Message | updateMessage | Allows logged-in user to edit a message. The message can only be edited if the logged-in user is the sender of the message or moderator/admin of a group. | +| Feature | Key | Description | +| ---------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Add Member | addMember | Allows logged-in user to add a member to a group. | +| Ban User | ban | Allows logged-in user to ban a member in a group. The operation can only be performed if the logged-in user is owner/admin/moderator of a group. | +| Block User | blockUser | Allows logged-in user to block a user. | +| Change Scope | changeScope | Allows logged-in user to change the scope of a member in a group. The operation can only be performed if the logged-in user is owner/admin/moderator of a group. | +| Initiate Call | createCall | Allows logged-in user to initiate a call. | +| Create Group | createGroup | Allows logged-in user to create a group. | +| Send Message | createMessage | Allows logged-in user to send a message. | +| Reply to a Message | createMessageThread | Allows logged-in user to reply to a message in a thread. | +| Delete Call | deleteCall | Allows logged-in user to delete a call. | +| Delete Conversation | deleteConversationForUser | Allows logged-in user to delete a conversation for himself. | +| Delete Group | deleteGroup | Allows logged-in user to delete a group. | +| Delete Group Messages | deleteGroupMessages | Allows logged-in user to delete messages in a group. | +| Delete Message | deleteMessage | Allows logged-in user to delete a message. | +| Fetch Blocked Users | getBlockedUsers | Allows logged-in user to fetch the list of blocked users. | +| Get Call | getCall | Allows logged-in user to fetch the details of a call. | +| Get Conversation | getConversation | Allows logged-in user to get the details of a conversation. | +| Get Group | getGroup | Allows logged-in user to get the details of a group. | +| List Group Messages | getGroupMessages | Allows logged-in user to fetch messages in a group. | +| Get Member | getMember | Allows logged-in user to get details of a member in a group. | +| Get Message | getMessage | Allows logged-in user to get the details of a message. | +| Get My Details | getMyDetails | Allows logged-in user to fetch his own details. | +| Get User | getUser | Allows logged-in user to fetch the details of any other user. | +| List User Messages | getUserMessages | Allows logged-in user to fetch messages sent/received from another user. | +| Join Group | joinGroup | Allows logged-in user to join a group. | +| Kick Member | kickMember | Allows logged-in user to kick a member from the group. The operation can only be performed if the logged-in user is owner/admin/moderator of a group. | +| Leave Group | leaveGroup | Allows logged-in user to leave a group. | +| List Banned Users | listBannedUsers | Allows logged-in user to fetch the banned members in a group. | +| List Calls | listCalls | Allows logged-in user to fetch the call list. | +| List Conversations | listConversations | Allows logged-in user to fetch the conversation list. | +| List Group Members | listGroupMembers | Allows logged-in user to fetch the members list for a group. | +| List Groups | listGroups | Allows logged-in user to fetch the group list. | +| List Messages | listMessages | Allows logged-in user to fetch all the messages sent by/for him. | +| List Settings | listSettings | Allows logged-in user to fetch the settings. | +| List Threaded Messages | listThreadedMessages | Allows logged-in user to fetch all the replies for a message. | +| List Users | listUsers | Allows logged-in user to fetch the user list. | +| Logout | logout | Allows logged-in user to logout. | +| Group Mass Operation | massMemberOperate | Allows logged-in user to manage multiple group members with a single API call. The operation can only be performed if the logged-in user is owner/admin of a group. | +| Patch Owner | patchOwner | Allows logged-in user to transfer the ownership of a group. The operation can only be performed if the logged-in user is owner of a group. | +| unban User | unban | Allows logged-in user to unban a member. The operation can only be performed if the logged-in user is owner/admin/moderator of a group. | +| Unblock User | unblockUser | Allows logged-in user to unblock a user. | +| Updates AuthToken | updateAuthToken | Allows logged-in user to update his own details and authtoken details. | +| Update Call | updateCall | Allows logged-in user to change the status of initiated/ongoing call. | +| Edit Group | updateGroup | Allows logged-in user to edit group details. The operation can only be performed if the logged-in user is owner/admin/moderator of a group. | +| Edit Message | updateMessage | Allows logged-in user to edit a message. The message can only be edited if the logged-in user is the sender of the message or moderator/admin of a group. | The following table lists the properties that the Restrict feature API supports. | Parameters | Type | Description | | :----------------- | :--------------- | :--------------------------------------------------------------- | -| featuresToRestrict | array of strings | (*optional*) Indicates the features that needs to be restricted. | \ No newline at end of file +| featuresToRestrict | array of strings | (_optional_) Indicates the features that needs to be restricted. | + +## Error Handling + +| Error Code | Description | +| --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | The API key doesn't have the required scope | + +For the complete error reference, see [Error Guide](/articles/error-guide). diff --git a/rest-api/restrict-features/allow-features.mdx b/rest-api/restrict-features/allow-features.mdx index 25b4ab173..abbd5aafe 100644 --- a/rest-api/restrict-features/allow-features.mdx +++ b/rest-api/restrict-features/allow-features.mdx @@ -1,4 +1,27 @@ --- openapi: delete /roles/{role}/restrictedfeatures deprecated: true ---- \ No newline at end of file +description: "Allow features access for a given role." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_ROLE_NOT_FOUND` | 404 | No role exists with the specified name | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Re-apply restrictions. + + + View remaining restrictions. + + diff --git a/rest-api/restrict-features/list-restricted-features.mdx b/rest-api/restrict-features/list-restricted-features.mdx index 3e677cb6c..54ecf1524 100644 --- a/rest-api/restrict-features/list-restricted-features.mdx +++ b/rest-api/restrict-features/list-restricted-features.mdx @@ -1,4 +1,27 @@ --- openapi: get /roles/{role}/restrictedfeatures deprecated: true ---- \ No newline at end of file +description: "List all restricted features for a given role." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_ROLE_NOT_FOUND` | 404 | No role exists with the specified name | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Add new restrictions. + + + Remove restrictions. + + diff --git a/rest-api/restrict-features/restrict-features.mdx b/rest-api/restrict-features/restrict-features.mdx index ff0f83e43..d50b30270 100644 --- a/rest-api/restrict-features/restrict-features.mdx +++ b/rest-api/restrict-features/restrict-features.mdx @@ -1,4 +1,27 @@ --- openapi: post /roles/{role}/restrictedfeatures deprecated: true ---- \ No newline at end of file +description: "Restrict Features for a given role." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_ROLE_NOT_FOUND` | 404 | No role exists with the specified name | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View current restrictions. + + + Remove restrictions. + + diff --git a/rest-api/roles.mdx b/rest-api/roles.mdx index 2a426eb68..b76f63929 100644 --- a/rest-api/roles.mdx +++ b/rest-api/roles.mdx @@ -1,17 +1,72 @@ --- title: "Overview" +description: "Define and manage user roles to control permissions across your CometChat app." --- -Roles are assigned to each user created in CometChat. `default` role is assigned to the user by default if the role is not provided explicitly. +A **Role** defines a set of permissions that control what a user can do in your CometChat app. Every user is assigned exactly one role — if no role is specified during user creation, the `default` role is applied automatically. -The following table lists the properties that the Role API supports. +### Endpoints -| Parameters | Type | Description | -| --------------------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **role** | string | (mandatory)\_ Specifies role's unique ID. Maximum length is 100 characters. Allowed characters: alpha-dash (a-z, 0-9 with -and \_ ) without spaces | -| **name** | string | (mandatory)\_ Specifies the role's name. Maximum length is 100 characters. | -| **description** | string | (optional)\_ Specifies the description of the user. If left empty, no description is set for the role. Maximum length is 255 characters. | -| **metadata** | nested object | (optional)\_ Specifies a JSON object to store up to 1.6K characters (JSON stringified metadata) for additional role information. | -| **settings** | array | (optional)\_ Role settings that is used for restricting list users/send message API. Possible values for listUsers & sendMessagesTo are `all` and `friendsOnly` | -| **settings.listUsers** | string | (optional)\_ Restricts users listing to either `all` OR `friendsOnly` for all users with this role. possible values: all, friendsOnly | -| **settings.sendMessagesTo** | string | Restricts sending message to either `all` OR `friendsOnly` for all users with this role. possible values: all, friendsOnly | \ No newline at end of file +| Method | Endpoint | Description | +| ------ | -------- | ----------- | +| POST | [`/roles`](/rest-api/roles/create) | Create a new role | +| GET | [`/roles`](/rest-api/roles/list) | List all roles | +| GET | [`/roles/{role}`](/rest-api/roles/get) | Get a specific role | +| PUT | [`/roles/{role}`](/rest-api/roles/update) | Update a role | +| DELETE | [`/roles/{role}`](/rest-api/roles/delete) | Delete a role | + +### How roles work + +- Roles are app-wide — they apply to a user across all groups and conversations. +- You can [restrict specific features](/rest-api/restrict-features) per role (e.g., prevent certain roles from sending attachments or creating groups). +- For fine-grained, role-based permission control, see [RBAC (Role-Based Access Control)](/rest-api/rbac-overview#rbac-role-based-access-control). + +### Roles vs. Group Member Scopes + +CometChat uses two layers of access control: + +| Layer | Applies to | Assigned via | Purpose | +| ------------ | -------------- | ------------------------------------------- | ------------------------------------------------------------------------- | +| Role (RBAC) | App-wide | [User creation/update](/rest-api/users) | Controls what a user can do globally (e.g., send messages, create groups) | +| Scope (SBAC) | Within a group | [Group membership](/rest-api/group-members) | Controls what a member can do inside a specific group | + +When a user joins a group, they are assigned one of three scopes: + +| Scope | Default assignment | Privileges | +| ------------- | -------------------- | ---------------------------------------------------------------------------------------------------- | +| `admin` | Group creator | Change member scopes, add/kick/ban members, update/delete group, send & receive messages & calls | +| `moderator` | Promoted by an admin | Change scope of participants, kick & ban participants, update group, send & receive messages & calls | +| `participant` | All other members | Send & receive messages & calls | + +For group operations, both RBAC and SBAC permissions must allow the action. A user's role is checked first (app-wide), then their group scope is checked (group-level). If either denies the action, the API returns `ERR_PERMISSION_DENIED`. + +For the full list of scope-based permissions, see [SBAC (Scope-Based Access Control)](/rest-api/rbac-overview#sbac-scope-based-access-control). + +### Relationships + +- **Users** — Each [User](/rest-api/users) has one role. Change it via the [Update User API](/rest-api/users/update). +- **Group Members** — Each member in a [Group](/rest-api/groups) has a scope (`admin`, `moderator`, or `participant`). Change it via the [Update Group Member Scope API](/rest-api/group-members/change-scope). +- **Restrict Features** — Use the [Restrict Features API](/rest-api/restrict-features) to limit what users with a specific role can do. +- **RBAC** — App-wide permissions per role. See [RBAC](/rest-api/rbac-overview#rbac-role-based-access-control). +- **SBAC** — Group-level permissions per scope. See [SBAC](/rest-api/rbac-overview#sbac-scope-based-access-control). + +### Role properties + +| Property | Type | Description | +| --------------- | ------- | ------------------------------------------------------ | +| **role** | string | Unique identifier for the role. | +| **name** | string | Human-readable display name. | +| **description** | string | Description of what this role is for. | +| **metadata** | object | JSON object for storing additional role configuration. | +| **createdAt** | integer | UNIX timestamp of when the role was created. | + +### Error handling + +| Error Code | Description | +| ------------------------- | ------------------------------------ | +| `ERR_ROLE_NOT_FOUND` | The specified role does not exist | +| `ERR_ROLE_ALREADY_EXISTS` | A role with this name already exists | + +For the complete list of error codes, see [Error Guide](/articles/error-guide). + +For all system limits (role caps, ID length, metadata, etc.), see [Properties and Constraints](/articles/properties-and-constraints). diff --git a/rest-api/roles/create.mdx b/rest-api/roles/create.mdx index eae827e3b..25db6fe2d 100644 --- a/rest-api/roles/create.mdx +++ b/rest-api/roles/create.mdx @@ -1,3 +1,13 @@ --- openapi: post /roles ---- \ No newline at end of file +description: "Creates a new user role" +--- + +## Constraints + +| Item | Constraint | Notes | +| ---- | ---------- | ----- | +| Role UID | 100 characters, alpha-dash (a-z, 0-9, -, _) | CometChat forces the UID to lowercase | +| Role name | 100 characters (UTF8mb4) | Supports all languages and emojis | +| Role description | 255 characters (UTF8mb4) | Describe the role's purpose and permissions | +| Metadata | No limit | Store additional role configuration as JSON key-value pairs | \ No newline at end of file diff --git a/rest-api/roles/delete.mdx b/rest-api/roles/delete.mdx index dd7c95094..6d95d5a23 100644 --- a/rest-api/roles/delete.mdx +++ b/rest-api/roles/delete.mdx @@ -1,3 +1,26 @@ --- openapi: delete /roles/{role} ---- \ No newline at end of file +description: "Deletes a role." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_ROLE_NOT_FOUND` | 404 | No role exists with the specified name | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + View remaining roles. + + + Create a replacement role. + + diff --git a/rest-api/roles/get.mdx b/rest-api/roles/get.mdx index 95fcd142e..553c4a78a 100644 --- a/rest-api/roles/get.mdx +++ b/rest-api/roles/get.mdx @@ -1,3 +1,26 @@ --- openapi: get /roles/{role} ---- \ No newline at end of file +description: "Retrieves role details for a given role." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_ROLE_NOT_FOUND` | 404 | No role exists with the specified name | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Modify an existing role. + + + Manage feature restrictions for this role. + + diff --git a/rest-api/roles/list.mdx b/rest-api/roles/list.mdx index e0d0c079f..238a6c267 100644 --- a/rest-api/roles/list.mdx +++ b/rest-api/roles/list.mdx @@ -1,3 +1,25 @@ --- openapi: get /roles ---- \ No newline at end of file +description: "Lists the user roles" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Define a new role for your app. + + + Limit features for specific roles. + + diff --git a/rest-api/roles/update.mdx b/rest-api/roles/update.mdx index e22cc8152..ca35cd2fc 100644 --- a/rest-api/roles/update.mdx +++ b/rest-api/roles/update.mdx @@ -1,3 +1,26 @@ --- openapi: put /roles/{role} ---- \ No newline at end of file +description: "Updates a given role." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | +| `ERR_ROLE_NOT_FOUND` | 404 | No role exists with the specified name | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Retrieve current role details. + + + View all roles in your app. + + diff --git a/rest-api/settings.mdx b/rest-api/settings.mdx index a71222332..0d5231dee 100644 --- a/rest-api/settings.mdx +++ b/rest-api/settings.mdx @@ -1,21 +1,41 @@ --- title: "Overview" +description: "Configure conversation behavior — control which message types appear as the last message and increment unread counts." --- -**Customise Conversation Previews and Unread Counts** +The **Settings** API lets you customize how conversations behave in your CometChat app. You can control which message types appear as the last message in a conversation and which ones increment the unread message count. -Tailor the conversation list by choosing which message types appear as the last message for each conversation & increment the unread message count. +### Endpoints -The set of keys that is used for toggling features are as follows: +| Method | Endpoint | Description | +| ------ | -------- | ----------- | +| GET | [`/apps/{appId}/settings`](/rest-api/management-apis/settings/list-settings) | List all settings for the app | +| POST | [`/apps/{appId}/settings`](/rest-api/management-apis/settings/maps-settings) | Map (update) settings for the app | +| DELETE | [`/apps/{appId}/settings`](/rest-api/management-apis/settings/unmaps-settings) | Unmap (reset) settings for the app | -| Key | Description | Default Value | -|----------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------| -| `core.conversations.updateOnGroupActions` | Indicates whether group actions (e.g., member joined, left, banned) should be shown as the last message in a conversation along with the unread count. | `true` | -| `core.conversations.updateOnReplies` | Indicates whether sending a message in a thread should be shown as the last message in a conversation. Thread replies do **not** increment the unread count. | `true` | -| `core.conversations.updateOnMessageActions` | Indicates whether message actions (e.g., edited or deleted) should be shown as the last message in a conversation along with the unread count. | `false` | -| `core.conversations.updateOnCallActivity` | Indicates whether call activities (e.g., initiated, accepted, rejected) should be shown as the last message in a conversation along with the unread count. | `false` | -| `core.threads.updateOnMessageActions` | Indicates whether message actions (e.g., edited or deleted) in a thread should be shown as the last message in a conversation along with the unread count. | `false` | -| `core.notifications.push.enabled` | `true` if Enhanced Push Notifications are enabled for the app, `false` otherwise. | `false` | +### Available settings +| Key | Description | Default | +| ------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ------- | +| `core.conversations.updateOnGroupActions` | Whether group actions (member joined, left, banned) appear as the last message and increment unread count. | `true` | +| `core.conversations.updateOnReplies` | Whether thread replies appear as the last message. Thread replies do **not** increment the unread count. | `true` | +| `core.conversations.updateOnMessageActions` | Whether message actions (edited, deleted) appear as the last message and increment unread count. | `false` | +| `core.conversations.updateOnCallActivity` | Whether call activities (initiated, accepted, rejected) appear as the last message and increment unread count. | `false` | +| `core.threads.updateOnMessageActions` | Whether thread message actions (edited, deleted) appear as the last message and increment unread count. | `false` | +| `core.notifications.push.enabled` | Whether Enhanced Push Notifications are enabled for the app. | `false` | -Kindly refer to the [Map settings API](/rest-api/management-apis/settings/maps-settings) for turning on/off the above-mentioned features in an app. +### How settings connect to other resources + +- **Conversations** — These settings directly control how [Conversations](/rest-api/conversations) display the last message and calculate unread counts. +- **Messages** — Settings determine which [Message](/rest-api/messages) types affect conversation previews. +- **Management APIs** — Use the [Map Settings API](/rest-api/management-apis/settings/maps-settings) to toggle these features. + +## Error Handling + +| Error Code | Description | +| --- | --- | +| `AUTH_ERR_EMPTY_APIKEY` | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | The API key doesn't have the required scope | + +For the complete error reference, see [Error Guide](/articles/error-guide). diff --git a/rest-api/users.mdx b/rest-api/users.mdx index f7933c2a8..bea0656ea 100644 --- a/rest-api/users.mdx +++ b/rest-api/users.mdx @@ -1,24 +1,69 @@ --- title: "Overview" +description: "Manage users in your CometChat app — create, retrieve, update, and delete user accounts that power messaging and calling." --- -You should create a User in CometChat to be able to initiate communication in the platform. Users can chat in either 1-1 or groups. +A **User** is the core identity in CometChat. Every person (or bot) that sends messages, joins groups, or makes calls must exist as a User. Users are identified by a unique `uid` that you assign during creation and cannot change afterward. + +### How Users connect to other resources + +- **Auth Tokens** — A User needs an auth token to log in via the SDK. You can generate one during creation (`withAuthToken: true`) or separately via the [Auth Tokens API](/rest-api/auth-tokens). +- **Groups** — Users can join up to 2,000 [Groups](/rest-api/groups) and participate in group messaging and calling. +- **Messages** — Users send and receive [Messages](/rest-api/messages) in 1-on-1 or group conversations. +- **Friends** — Users can add up to 1,000 [Friends](/rest-api/friends). Friendships are bidirectional. +- **Roles** — Users can be assigned a [Role](/rest-api/roles) that controls permissions. If no role is set, the default role applies. +- **Blocked Users** — Users can [block other users](/rest-api/blocked-users) to prevent all direct communication in both directions. + +### Common workflow + +1. [Create a User](/rest-api/users/create) with `withAuthToken: true` to get an auth token in the same call. +2. Use the auth token to initialize the CometChat SDK on the client. +3. The user can now [send messages](/rest-api/messages), [join groups](/rest-api/groups), and [make calls](/rest-api/calls-apis/overview). -UIDs would be automatically converted to lowercase while creating a user. + UIDs are automatically converted to lowercase during creation. For example, + `CometChat-UID-1` becomes `cometchat-uid-1`. -The following table lists the properties that the User API supports. +### Available operations + +| Operation | Method | Endpoint | Description | +| ---------------------------------------- | -------- | -------------- | --------------------------------------------------------- | +| [List](/rest-api/users/list) | `GET` | `/users` | Retrieve a paginated list of users with filtering options | +| [Create](/rest-api/users/create) | `POST` | `/users` | Create a new user in your app | +| [Get](/rest-api/users/get) | `GET` | `/users/{uid}` | Retrieve a specific user's details | +| [Update](/rest-api/users/update) | `PUT` | `/users/{uid}` | Modify a user's profile (name, avatar, role, metadata) | +| [Delete](/rest-api/users/delete) | `DELETE` | `/users/{uid}` | Deactivate or permanently delete a user | +| [Deactivate](/rest-api/users/deactivate) | `DELETE` | `/users` | Temporarily disable users while preserving their data | +| [Reactivate](/rest-api/users/reactivate) | `PUT` | `/users` | Restore previously deactivated users | + +### User properties + +The following table lists the properties that the User object supports. + +| Property | Type | Description | +| ----------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **uid** | string | **Required.** User's unique identifier. Max 100 characters. Alphanumeric with dashes and underscores only, no spaces. Case-insensitive and immutable after creation. | +| **name** | string | **Required.** Display name shown in chat interfaces and notifications. Max 100 characters. Supports all languages and emojis (UTF8mb4). | +| **avatar** | string | URL to the user's profile picture. Max 3,000 characters. CometChat stores the URL, not the image itself. Recommended size: 200×200 pixels. | +| **link** | string | URL to the user's profile page in your application. Max 3,000 characters. | +| **role** | string | Role assigned to the user. Must be created beforehand using the [Create Role API](/rest-api/roles/create). Defaults to the default role if not set. | +| **metadata** | object | JSON object for storing additional user information (e.g., email, phone, preferences). Max 5 KB. Use the `@private` key for sensitive data that should only be visible to the user themselves and via admin APIs. | +| **tags** | array of strings | Tags for categorizing and filtering users. Max 25 tags per user, 100 characters each (UTF8mb4). Useful for segmenting by department, location, or custom criteria. | +| **withAuthToken** | boolean | When `true` on creation, includes the auth token in the response — saving a separate API call. Only applicable during [Create](/rest-api/users/create). | +| **createdAt** | integer | UNIX timestamp indicating when the user was created. System-generated, read-only. | + +### Error handling + +When API calls fail, CometChat returns structured error responses. The most common errors for User operations: + +| Error Code | Description | +| --------------------------- | ---------------------------------------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | API key is missing from the request headers | +| `AUTH_ERR_APIKEY_NOT_FOUND` | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | The API key doesn't have the required scope (e.g., using an authOnly key for a fullAccess operation) | +| `ERR_UID_NOT_FOUND` | The specified UID does not exist, or the user has been deactivated | -| Parameters | Type | Description | -| ----------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **uid** | string | (mandatory)\_ Specifies user's unique ID. Maximum length is 100 characters.Allowed characters: alpha-dash (a-z, 0-9 with -and \_ ) without spaces | -| **name** | string | (mandatory)\_ Specifies the user's name. Maximum length is 100 characters. | -| **avatar** | string | (optional)\_ Specifies the display picture of the user. If left empty, no display image is set for the user.\\Maximum length is 3000 characters. | -| **link** | string | (optional)\_ Specifies the URL to the profile page.Maximum length is 3000 characters. | -| **role** | string | (optional)\_ Indicates the role that is assigned to the user.The role must be created before-hand using the create role API.If role is not passed, then default role is assigned to the user. | -| **metadata** | nested object | (optional)\_ Specifies a JSON object to store up to 1.6K characters (JSON stringified metadata) for additional user information. | -| **tags** | array of strings | (optional)\_ Specifies a list of tags to be associated with certain users.Maximum of 25 tags can be associated with a single user. | -| **withAuthToken** | boolean | (optional)\_ Includes authToken of the created user in the response.If set to true, you do not have to make a separate API call to create authToken. | -| **createdAt** | Integer | UNIX Timestamp indicates the time when the user was created. | +For the complete list of error codes, see [Error Guide](/articles/error-guide). +For all system limits (metadata size, tag counts, ID length, etc.), see [Properties and Constraints](/articles/properties-and-constraints). diff --git a/rest-api/users/create.mdx b/rest-api/users/create.mdx index 119d78256..c0de6c862 100644 --- a/rest-api/users/create.mdx +++ b/rest-api/users/create.mdx @@ -1,3 +1,48 @@ --- openapi: post /users ---- \ No newline at end of file +description: "Creates a new user" +--- + +## Constraints + +| Item | Constraint | Notes | +| ---------------------------- | -------------------------------------------- | ----------------------------------------------------------- | +| UID character limit | 100 characters | Alphanumeric with dashes only; spaces not allowed | +| User name | 100 characters (UTF8mb4) | Supports all languages and emojis | +| Avatar URL | 3000 characters max | CometChat doesn't store the image; no resolution limit | +| Profile URL | 3000 characters max | Same as avatar | +| Metadata | 5 KB max (within 10 KB POST limit) | Store custom key-value pairs | +| Tags | Up to 25 tags, 100 characters each (UTF8mb4) | Enable filtering and searching | +| Maximum groups per user | 2000 | Must leave existing groups to join new ones beyond limit | +| Maximum friends per user | 1000 | Bidirectional relationships count toward both users' limits | +| Maximum auth tokens per user | 100 active (rolling retention) | Oldest tokens are archived when limit is exceeded | +| Maximum Bot users per app | 25 | Special accounts for automated messaging | +| Maximum users per app | No limit | Pricing based on Monthly Active Users (MAU) | + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ----------------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid or does not exist | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key has `authOnly` scope — creating users requires a `fullAccess` key | +| `ERR_UID_ALREADY_EXISTS` | 409 | A user with the same UID already exists (UIDs are case-insensitive) | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Next steps + + + + Generate an auth token so the user can log in via the SDK. + + + Add the newly created user to a group. + + + Send a message on behalf of the user. + + + Configure permissions by assigning a role. + + diff --git a/rest-api/users/deactivate.mdx b/rest-api/users/deactivate.mdx index d1aeb2ce6..fd7fc42ef 100644 --- a/rest-api/users/deactivate.mdx +++ b/rest-api/users/deactivate.mdx @@ -1,3 +1,26 @@ --- openapi: delete /users ---- \ No newline at end of file +description: "Deactivates users for the specified UIDs" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | --------------------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key has `authOnly` scope — deactivating users requires a `fullAccess` key | +| `ERR_UID_NOT_FOUND` | 404 | One or more of the specified UIDs do not exist | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Restore deactivated users when they need access again. + + + Permanently delete a user instead of deactivating. + + diff --git a/rest-api/users/delete.mdx b/rest-api/users/delete.mdx index 7691cd3ff..1db023408 100644 --- a/rest-api/users/delete.mdx +++ b/rest-api/users/delete.mdx @@ -1,3 +1,54 @@ --- openapi: delete /users/{uid} ---- \ No newline at end of file +description: "Deletes a user for the specified UID" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ----------------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key has `authOnly` scope — deleting users requires a `fullAccess` key | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID | + + +**Deactivate vs permanent delete:** + +By default (`permanent: false`), this endpoint only **deactivates** the user. The user's data and message history are preserved, but they can no longer log in. + +**Deactivated users still count toward your Build plan user limit.** To free up the slot, you must permanently delete the user. + +To permanently delete a user and all their data, pass `{ "permanent": true }` in the request body. This action **cannot be undone**. + + + + + +```bash Deactivate only (default) +curl -X DELETE "https://.api-.cometchat.io/v3/users/" \ + -H "apikey: " +``` + +```bash Permanent delete +curl -X DELETE "https://.api-.cometchat.io/v3/users/" \ + -H "apikey: " \ + -H "Content-Type: application/json" \ + -d '{ "permanent": true }' +``` + + + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Deactivate multiple users at once via `DELETE /users` with a list of UIDs in + the request body. + + + Restore previously deactivated users. + + diff --git a/rest-api/users/get.mdx b/rest-api/users/get.mdx index ff2ed87bb..a5dc8e255 100644 --- a/rest-api/users/get.mdx +++ b/rest-api/users/get.mdx @@ -1,3 +1,25 @@ --- openapi: get /users/{uid} ---- \ No newline at end of file +description: "Retrieves user details for a specified UID." +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ----------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID, or the user has been deactivated | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Modify this user's profile information. + + + View all active sessions for this user. + + diff --git a/rest-api/users/list.mdx b/rest-api/users/list.mdx index a3776c02f..b7421fc59 100644 --- a/rest-api/users/list.mdx +++ b/rest-api/users/list.mdx @@ -1,3 +1,25 @@ --- openapi: get /users ---- \ No newline at end of file +description: "Lists all the users of an app" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key doesn't have the required scope for this operation | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Retrieve details for a specific user by UID. + + + Add a new user to your app. + + diff --git a/rest-api/users/reactivate.mdx b/rest-api/users/reactivate.mdx index 7214b14a4..f2dd99a4a 100644 --- a/rest-api/users/reactivate.mdx +++ b/rest-api/users/reactivate.mdx @@ -1,3 +1,26 @@ --- openapi: put /users ---- \ No newline at end of file +description: "Reactivates users for the specified UIDs" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| ---------- | ----------- | ----- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key has `authOnly` scope — reactivating users requires a `fullAccess` key | +| `ERR_UID_NOT_FOUND` | 404 | One or more of the specified UIDs do not exist or were not previously deactivated | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Temporarily disable users while preserving their data. + + + Filter users by status to find deactivated accounts. + + diff --git a/rest-api/users/update.mdx b/rest-api/users/update.mdx index 90b2a3c49..1d908784e 100644 --- a/rest-api/users/update.mdx +++ b/rest-api/users/update.mdx @@ -1,3 +1,26 @@ --- openapi: put /users/{uid} ---- \ No newline at end of file +description: "Updates a user with the provided UID" +--- + +## Common errors + +| Error Code | HTTP Status | Cause | +| --------------------------- | ----------- | ----------------------------------------------------------------------------- | +| `AUTH_ERR_EMPTY_APIKEY` | 401 | The `apikey` header is missing from the request | +| `AUTH_ERR_APIKEY_NOT_FOUND` | 401 | The provided API key is invalid | +| `AUTH_ERR_NO_ACCESS` | 403 | The API key has `authOnly` scope — updating users requires a `fullAccess` key | +| `ERR_UID_NOT_FOUND` | 404 | No user exists with the specified UID, or the user has been deactivated | + +For the complete error reference, see [Error Guide](/articles/error-guide). + +## Related + + + + Retrieve the current user details before updating. + + + Manage roles that can be assigned to users. + + diff --git a/sdk/android/2.0/add-members-to-a-group.mdx b/sdk/android/2.0/add-members-to-a-group.mdx index db0753072..adc2788aa 100644 --- a/sdk/android/2.0/add-members-to-a-group.mdx +++ b/sdk/android/2.0/add-members-to-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Add Members To A Group" +description: "Add Members To A Group — CometChat documentation." --- diff --git a/sdk/android/2.0/additional-message-filtering.mdx b/sdk/android/2.0/additional-message-filtering.mdx index ec6bd28a3..ddcdd3160 100644 --- a/sdk/android/2.0/additional-message-filtering.mdx +++ b/sdk/android/2.0/additional-message-filtering.mdx @@ -1,5 +1,6 @@ --- title: "Additional Message Filtering" +description: "Additional Message Filtering — CometChat documentation." --- diff --git a/sdk/android/2.0/advanced.mdx b/sdk/android/2.0/advanced.mdx index 18501a4d5..47e812784 100644 --- a/sdk/android/2.0/advanced.mdx +++ b/sdk/android/2.0/advanced.mdx @@ -1,6 +1,7 @@ --- title: "Advanced" sidebarTitle: "Overview" +description: "Advanced — CometChat documentation." --- diff --git a/sdk/android/2.0/authentication.mdx b/sdk/android/2.0/authentication.mdx index 940c271f8..4da2e0ec5 100644 --- a/sdk/android/2.0/authentication.mdx +++ b/sdk/android/2.0/authentication.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Overview" +description: "Authentication — CometChat documentation." --- @@ -10,7 +11,7 @@ sidebarTitle: "Overview" Before you login the user, you must add the user to CometChat. 1. **For proof of concept/MVPs**: Create the user using the [CometChat Dashboard](https://app.cometchat.com). -2. **For production apps**: Use the CometChat [Create User API](https://api-explorer.cometchat.com/v2/reference/createuser-1) to create the user when your user signs up in your app. +2. **For production apps**: Use the CometChat [Create User API](/rest-api/chat-apis) to create the user when your user signs up in your app. Sample Users @@ -94,8 +95,8 @@ Be sure to use the **Auth Only** API Key and not the **Full Access** API Key. Th This authentication procedure does not use the API Key directly in your client code ensuring that your API Key is not leaked even if the client code is reverse engineered. -1. [Create a User](https://api-explorer.cometchat.com/v2/reference/createuser-1) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/v2/reference/createauthtoken-1) via the CometChat API for the new user every time the user logs in to your app. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user every time the user logs in to your app. 3. Pass the **Auth Token** to your client and use it in the `login()` method. diff --git a/sdk/android/2.0/block-users.mdx b/sdk/android/2.0/block-users.mdx index e5c61f90e..4489fa8a8 100644 --- a/sdk/android/2.0/block-users.mdx +++ b/sdk/android/2.0/block-users.mdx @@ -1,5 +1,6 @@ --- title: "Block Users" +description: "Block Users — CometChat documentation." --- diff --git a/sdk/android/2.0/bots.mdx b/sdk/android/2.0/bots.mdx index a31e17e8b..e551f1999 100644 --- a/sdk/android/2.0/bots.mdx +++ b/sdk/android/2.0/bots.mdx @@ -1,5 +1,6 @@ --- title: "Bots" +description: "Bots — CometChat documentation." --- @@ -18,4 +19,4 @@ Once you've created a user, you can create a new bot. The actual implementation ### Reply to a message -When you receive a message from CometChat, you can process it and provide a response using our [Send Bot Message](https://api-explorer.cometchat.com/reference/sends-bot-message) Rest API. +When you receive a message from CometChat, you can process it and provide a response using our [Send Bot Message](/rest-api/chat-apis) Rest API. diff --git a/sdk/android/2.0/calling.mdx b/sdk/android/2.0/calling.mdx index 1e44711e8..1ed1460d6 100644 --- a/sdk/android/2.0/calling.mdx +++ b/sdk/android/2.0/calling.mdx @@ -1,6 +1,7 @@ --- title: "Calling" sidebarTitle: "Overview" +description: "Calling — CometChat documentation." --- diff --git a/sdk/android/2.0/change-member-scope.mdx b/sdk/android/2.0/change-member-scope.mdx index 868cc4a8f..bb60c2640 100644 --- a/sdk/android/2.0/change-member-scope.mdx +++ b/sdk/android/2.0/change-member-scope.mdx @@ -1,5 +1,6 @@ --- title: "Change Member Scope" +description: "Change Member Scope — CometChat documentation." --- diff --git a/sdk/android/2.0/connection-status.mdx b/sdk/android/2.0/connection-status.mdx index 6985970bd..1795b1645 100644 --- a/sdk/android/2.0/connection-status.mdx +++ b/sdk/android/2.0/connection-status.mdx @@ -1,5 +1,6 @@ --- title: "Connection Status" +description: "Connection Status — CometChat documentation." --- diff --git a/sdk/android/2.0/create-a-group.mdx b/sdk/android/2.0/create-a-group.mdx index 2e4693ffc..812d4758a 100644 --- a/sdk/android/2.0/create-a-group.mdx +++ b/sdk/android/2.0/create-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Create A Group" +description: "Create A Group — CometChat documentation." --- diff --git a/sdk/android/2.0/default-calling.mdx b/sdk/android/2.0/default-calling.mdx index 0fed5051c..8d7c15485 100644 --- a/sdk/android/2.0/default-calling.mdx +++ b/sdk/android/2.0/default-calling.mdx @@ -1,5 +1,6 @@ --- title: "Default Calling" +description: "Default Calling — CometChat documentation." --- diff --git a/sdk/android/2.0/delete-a-group.mdx b/sdk/android/2.0/delete-a-group.mdx index 366f3409c..52fa67f68 100644 --- a/sdk/android/2.0/delete-a-group.mdx +++ b/sdk/android/2.0/delete-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Group" +description: "Delete A Group — CometChat documentation." --- diff --git a/sdk/android/2.0/delete-conversation.mdx b/sdk/android/2.0/delete-conversation.mdx index d65de87bc..f63cd5cf5 100644 --- a/sdk/android/2.0/delete-conversation.mdx +++ b/sdk/android/2.0/delete-conversation.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Conversation" +description: "Delete A Conversation — CometChat documentation." --- @@ -45,7 +46,7 @@ CometChat.deleteConversation("cometchat-guid-1", CometChatConstants.RECEIVER_TYP -This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](https://api-explorer.cometchat.com/v2/reference/delete-conversation-for-a-user). +This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](/rest-api/chat-apis). The `deleteConversation()` method takes the following parameters: diff --git a/sdk/android/2.0/delete-message.mdx b/sdk/android/2.0/delete-message.mdx index 41ff0b805..86b493ca2 100644 --- a/sdk/android/2.0/delete-message.mdx +++ b/sdk/android/2.0/delete-message.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Message" +description: "Delete A Message — CometChat documentation." --- diff --git a/sdk/android/2.0/delivery-read-receipts.mdx b/sdk/android/2.0/delivery-read-receipts.mdx index 75be6dd89..cbb9905bf 100644 --- a/sdk/android/2.0/delivery-read-receipts.mdx +++ b/sdk/android/2.0/delivery-read-receipts.mdx @@ -1,5 +1,6 @@ --- title: "Delivery & Read Receipts" +description: "Delivery & Read Receipts — CometChat documentation." --- diff --git a/sdk/android/2.0/direct-calling.mdx b/sdk/android/2.0/direct-calling.mdx index a4d6b4fde..31ebbf48f 100644 --- a/sdk/android/2.0/direct-calling.mdx +++ b/sdk/android/2.0/direct-calling.mdx @@ -1,5 +1,6 @@ --- title: "Direct Calling" +description: "Direct Calling — CometChat documentation." --- diff --git a/sdk/android/2.0/edit-message.mdx b/sdk/android/2.0/edit-message.mdx index ad68d501b..4f4fee4e8 100644 --- a/sdk/android/2.0/edit-message.mdx +++ b/sdk/android/2.0/edit-message.mdx @@ -1,5 +1,6 @@ --- title: "Edit A Message" +description: "Edit A Message — CometChat documentation." --- diff --git a/sdk/android/2.0/extensions.mdx b/sdk/android/2.0/extensions.mdx index 68e86c551..af51972d0 100644 --- a/sdk/android/2.0/extensions.mdx +++ b/sdk/android/2.0/extensions.mdx @@ -1,5 +1,6 @@ --- title: "Extensions" +description: "Extensions — CometChat documentation." --- @@ -13,8 +14,8 @@ Extensions pickup where our core leaves. They help extend the functionality of C Extensions that help alert users of new messages. *Recommended for all apps.* [Push Notification](/notifications/android-push-notifications)\ -[Email Notification](/notifications/email-notification-extension)\ -[SMS Notification](/notifications/sms-notification-extension) +[Email Notification](/notifications/email-notifications-extension-legacy)\ +[SMS Notification](/notifications/sms-notifications-extension-legacy) ### User Experience diff --git a/sdk/android/2.0/groups.mdx b/sdk/android/2.0/groups.mdx index 99e877026..be06c2c42 100644 --- a/sdk/android/2.0/groups.mdx +++ b/sdk/android/2.0/groups.mdx @@ -1,6 +1,7 @@ --- title: "Groups" sidebarTitle: "Overview" +description: "Groups — CometChat documentation." --- diff --git a/sdk/android/2.0/join-a-group.mdx b/sdk/android/2.0/join-a-group.mdx index 097f6aadc..f4440094b 100644 --- a/sdk/android/2.0/join-a-group.mdx +++ b/sdk/android/2.0/join-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Join A Group" +description: "Join A Group — CometChat documentation." --- diff --git a/sdk/android/2.0/key-concepts.mdx b/sdk/android/2.0/key-concepts.mdx index f3cfdd2d7..9c520fcde 100644 --- a/sdk/android/2.0/key-concepts.mdx +++ b/sdk/android/2.0/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- diff --git a/sdk/android/2.0/kick-member-from-a-group.mdx b/sdk/android/2.0/kick-member-from-a-group.mdx index 263738999..1e005add1 100644 --- a/sdk/android/2.0/kick-member-from-a-group.mdx +++ b/sdk/android/2.0/kick-member-from-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Ban/Kick Member From A Group" +description: "Ban/Kick Member From A Group — CometChat documentation." --- diff --git a/sdk/android/2.0/leave-a-group.mdx b/sdk/android/2.0/leave-a-group.mdx index e6a6f89d4..90f9d4620 100644 --- a/sdk/android/2.0/leave-a-group.mdx +++ b/sdk/android/2.0/leave-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Leave A Group" +description: "Leave A Group — CometChat documentation." --- diff --git a/sdk/android/2.0/login-listeners.mdx b/sdk/android/2.0/login-listeners.mdx index d2f248743..5366c0a38 100644 --- a/sdk/android/2.0/login-listeners.mdx +++ b/sdk/android/2.0/login-listeners.mdx @@ -1,5 +1,6 @@ --- title: "Login Listeners" +description: "Login Listeners — CometChat documentation." --- diff --git a/sdk/android/2.0/message-structure-and-hierarchy.mdx b/sdk/android/2.0/message-structure-and-hierarchy.mdx index 27c0134ec..39e7c0ef6 100644 --- a/sdk/android/2.0/message-structure-and-hierarchy.mdx +++ b/sdk/android/2.0/message-structure-and-hierarchy.mdx @@ -1,5 +1,6 @@ --- title: "Message Structure And Hierarchy" +description: "Message Structure And Hierarchy — CometChat documentation." --- diff --git a/sdk/android/2.0/messaging.mdx b/sdk/android/2.0/messaging.mdx index 02bce8274..ecba3c435 100644 --- a/sdk/android/2.0/messaging.mdx +++ b/sdk/android/2.0/messaging.mdx @@ -1,6 +1,7 @@ --- title: "Messaging" sidebarTitle: "Overview" +description: "Messaging — CometChat documentation." --- diff --git a/sdk/android/2.0/overview.mdx b/sdk/android/2.0/overview.mdx index 8afd6822a..955963ed1 100644 --- a/sdk/android/2.0/overview.mdx +++ b/sdk/android/2.0/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/sdk/android/2.0/publishing-app-on-playstore.mdx b/sdk/android/2.0/publishing-app-on-playstore.mdx index 9444175b2..53fc0b6c2 100644 --- a/sdk/android/2.0/publishing-app-on-playstore.mdx +++ b/sdk/android/2.0/publishing-app-on-playstore.mdx @@ -1,5 +1,6 @@ --- title: "Publishing App On PlayStore" +description: "Publishing App On PlayStore — CometChat documentation." --- diff --git a/sdk/android/2.0/rate-limits.mdx b/sdk/android/2.0/rate-limits.mdx index b6eb431a4..7e6b337a4 100644 --- a/sdk/android/2.0/rate-limits.mdx +++ b/sdk/android/2.0/rate-limits.mdx @@ -1,5 +1,6 @@ --- title: "Rate Limits" +description: "Rate Limits — CometChat documentation." --- diff --git a/sdk/android/2.0/receive-messages.mdx b/sdk/android/2.0/receive-messages.mdx index 227be9afa..b0591ca3e 100644 --- a/sdk/android/2.0/receive-messages.mdx +++ b/sdk/android/2.0/receive-messages.mdx @@ -1,5 +1,6 @@ --- title: "Receive A Message" +description: "Receive A Message — CometChat documentation." --- diff --git a/sdk/android/2.0/resources-all-real-time-listeners.mdx b/sdk/android/2.0/resources-all-real-time-listeners.mdx index 211b4864d..b3c2917c5 100644 --- a/sdk/android/2.0/resources-all-real-time-listeners.mdx +++ b/sdk/android/2.0/resources-all-real-time-listeners.mdx @@ -1,5 +1,6 @@ --- title: "All Real Time Listeners" +description: "All Real Time Listeners — CometChat documentation." --- diff --git a/sdk/android/2.0/resources-upgrading-from-v1.mdx b/sdk/android/2.0/resources-upgrading-from-v1.mdx index 51890561c..421a92b60 100644 --- a/sdk/android/2.0/resources-upgrading-from-v1.mdx +++ b/sdk/android/2.0/resources-upgrading-from-v1.mdx @@ -1,5 +1,6 @@ --- title: "Upgrading From V1" +description: "Upgrading From V1 — CometChat documentation." --- diff --git a/sdk/android/2.0/resources.mdx b/sdk/android/2.0/resources.mdx index 6d18ce4c2..77bd8917d 100644 --- a/sdk/android/2.0/resources.mdx +++ b/sdk/android/2.0/resources.mdx @@ -1,6 +1,7 @@ --- title: "Resources" sidebarTitle: "Overview" +description: "Resources — CometChat documentation." --- diff --git a/sdk/android/2.0/retrieve-conversations.mdx b/sdk/android/2.0/retrieve-conversations.mdx index 8aeffbe81..75aa7d087 100644 --- a/sdk/android/2.0/retrieve-conversations.mdx +++ b/sdk/android/2.0/retrieve-conversations.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Conversations" +description: "Retrieve Conversations — CometChat documentation." --- diff --git a/sdk/android/2.0/retrieve-group-members.mdx b/sdk/android/2.0/retrieve-group-members.mdx index 19951c518..0ebd0339e 100644 --- a/sdk/android/2.0/retrieve-group-members.mdx +++ b/sdk/android/2.0/retrieve-group-members.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Group Members" +description: "Retrieve Group Members — CometChat documentation." --- diff --git a/sdk/android/2.0/retrieve-groups.mdx b/sdk/android/2.0/retrieve-groups.mdx index a633dd7d7..edafecb4c 100644 --- a/sdk/android/2.0/retrieve-groups.mdx +++ b/sdk/android/2.0/retrieve-groups.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Groups" +description: "Retrieve Groups — CometChat documentation." --- diff --git a/sdk/android/2.0/retrieve-users.mdx b/sdk/android/2.0/retrieve-users.mdx index 8a58f7247..45b8c08b1 100644 --- a/sdk/android/2.0/retrieve-users.mdx +++ b/sdk/android/2.0/retrieve-users.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Users" +description: "Retrieve Users — CometChat documentation." --- diff --git a/sdk/android/2.0/send-message.mdx b/sdk/android/2.0/send-message.mdx index 278859311..769df3ec8 100644 --- a/sdk/android/2.0/send-message.mdx +++ b/sdk/android/2.0/send-message.mdx @@ -1,5 +1,6 @@ --- title: "Send A Message" +description: "Send A Message — CometChat documentation." --- diff --git a/sdk/android/2.0/setup.mdx b/sdk/android/2.0/setup.mdx index f9855c4bb..40cc5ac33 100644 --- a/sdk/android/2.0/setup.mdx +++ b/sdk/android/2.0/setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/android/2.0/threaded-messages.mdx b/sdk/android/2.0/threaded-messages.mdx index 6d3d3e883..713a96550 100644 --- a/sdk/android/2.0/threaded-messages.mdx +++ b/sdk/android/2.0/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- diff --git a/sdk/android/2.0/transfer-group-ownership.mdx b/sdk/android/2.0/transfer-group-ownership.mdx index eb70bb1be..a16476711 100644 --- a/sdk/android/2.0/transfer-group-ownership.mdx +++ b/sdk/android/2.0/transfer-group-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Group Ownership" +description: "Transfer Group Ownership — CometChat documentation." --- diff --git a/sdk/android/2.0/typing-indicators.mdx b/sdk/android/2.0/typing-indicators.mdx index ea21d9db9..74d08677d 100644 --- a/sdk/android/2.0/typing-indicators.mdx +++ b/sdk/android/2.0/typing-indicators.mdx @@ -1,5 +1,6 @@ --- title: "Typing Indicators" +description: "Typing Indicators — CometChat documentation." --- diff --git a/sdk/android/2.0/update-a-group.mdx b/sdk/android/2.0/update-a-group.mdx index 155264a7e..a7d7d705f 100644 --- a/sdk/android/2.0/update-a-group.mdx +++ b/sdk/android/2.0/update-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Update A Group" +description: "Update A Group — CometChat documentation." --- diff --git a/sdk/android/2.0/user-management.mdx b/sdk/android/2.0/user-management.mdx index 3edcf5b01..07e30f940 100644 --- a/sdk/android/2.0/user-management.mdx +++ b/sdk/android/2.0/user-management.mdx @@ -1,5 +1,6 @@ --- title: "User Management" +description: "User Management — CometChat documentation." --- @@ -20,7 +21,7 @@ Summing up- ## Creating a user -Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [creating an user](https://api-explorer.cometchat.com/v2/reference/createuser-1) and use the appropriate code sample based on your backend language. +Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [creating an user](/rest-api/chat-apis) and use the appropriate code sample based on your backend language. However, if you wish to create users on the fly, you can use the `createUser()` method. This method takes a `User` object and the `API Key` as input parameters and returns the created `User` object if the request is successful. @@ -79,7 +80,7 @@ UID can be alphanumeric with underscore and hyphen. Spaces, punctuation and othe ## Updating a user -Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](https://api-explorer.cometchat.com/v2/reference/updateuser-1) section. However, this can be achieved on the fly as well using the `updateUser()` method. This method takes a `User` object and the API Key as inputs and returns the updated `User` object on successful execution of the request. +Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](/rest-api/chat-apis) section. However, this can be achieved on the fly as well using the `updateUser()` method. This method takes a `User` object and the API Key as inputs and returns the updated `User` object on successful execution of the request. @@ -159,7 +160,7 @@ By using the `updateCurrentUserDetails()` method one can only update the logged- ## Deleting a user -Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](https://api-explorer.cometchat.com/v2/reference/deleteuser-1) section. +Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](/rest-api/chat-apis) section. ## User Class diff --git a/sdk/android/2.0/user-presence.mdx b/sdk/android/2.0/user-presence.mdx index 4021a816e..6ef340553 100644 --- a/sdk/android/2.0/user-presence.mdx +++ b/sdk/android/2.0/user-presence.mdx @@ -1,5 +1,6 @@ --- title: "User Presence" +description: "User Presence — CometChat documentation." --- diff --git a/sdk/android/2.0/users.mdx b/sdk/android/2.0/users.mdx index 343230800..db166fecc 100644 --- a/sdk/android/2.0/users.mdx +++ b/sdk/android/2.0/users.mdx @@ -1,6 +1,7 @@ --- title: "Users" sidebarTitle: "Overview" +description: "Users — CometChat documentation." --- diff --git a/sdk/android/2.0/webhooks.mdx b/sdk/android/2.0/webhooks.mdx index 0401c5cd9..4fa48b395 100644 --- a/sdk/android/2.0/webhooks.mdx +++ b/sdk/android/2.0/webhooks.mdx @@ -1,5 +1,6 @@ --- title: "Webhooks" +description: "Webhooks — CometChat documentation." --- diff --git a/sdk/android/3.0/advanced-connection-status.mdx b/sdk/android/3.0/advanced-connection-status.mdx index f66ed2050..0e02d89c7 100644 --- a/sdk/android/3.0/advanced-connection-status.mdx +++ b/sdk/android/3.0/advanced-connection-status.mdx @@ -1,5 +1,6 @@ --- title: "Connection Status" +description: "Connection Status — CometChat documentation." --- diff --git a/sdk/android/3.0/advanced-managing-web-socket-connections-manually.mdx b/sdk/android/3.0/advanced-managing-web-socket-connections-manually.mdx index 8aee74ae3..b48333ea6 100644 --- a/sdk/android/3.0/advanced-managing-web-socket-connections-manually.mdx +++ b/sdk/android/3.0/advanced-managing-web-socket-connections-manually.mdx @@ -1,5 +1,6 @@ --- title: "Managing Web Socket Connections Manually" +description: "Managing Web Socket Connections Manually — CometChat documentation." --- diff --git a/sdk/android/3.0/advanced-publishing-app-on-playstore.mdx b/sdk/android/3.0/advanced-publishing-app-on-playstore.mdx index 2978bd993..0cb553cbc 100644 --- a/sdk/android/3.0/advanced-publishing-app-on-playstore.mdx +++ b/sdk/android/3.0/advanced-publishing-app-on-playstore.mdx @@ -1,5 +1,6 @@ --- title: "Publishing App On PlayStore" +description: "Publishing App On PlayStore — CometChat documentation." --- diff --git a/sdk/android/3.0/android-3-0-overview.mdx b/sdk/android/3.0/android-3-0-overview.mdx index 3d5f34e59..d6f3ae32f 100644 --- a/sdk/android/3.0/android-3-0-overview.mdx +++ b/sdk/android/3.0/android-3-0-overview.mdx @@ -1,4 +1,5 @@ --- title: "Java UI Kit" url: "/ui-kit/android/v3/overview" +description: "Navigate to Java UI Kit documentation." --- \ No newline at end of file diff --git a/sdk/android/3.0/android-advanced.mdx b/sdk/android/3.0/android-advanced.mdx index 18501a4d5..47e812784 100644 --- a/sdk/android/3.0/android-advanced.mdx +++ b/sdk/android/3.0/android-advanced.mdx @@ -1,6 +1,7 @@ --- title: "Advanced" sidebarTitle: "Overview" +description: "Advanced — CometChat documentation." --- diff --git a/sdk/android/3.0/android-resources.mdx b/sdk/android/3.0/android-resources.mdx index 359c09231..31fc0e3f6 100644 --- a/sdk/android/3.0/android-resources.mdx +++ b/sdk/android/3.0/android-resources.mdx @@ -1,6 +1,7 @@ --- title: "Resources" sidebarTitle: "Overview" +description: "Resources — CometChat documentation." --- diff --git a/sdk/android/3.0/authentication-login-listeners.mdx b/sdk/android/3.0/authentication-login-listeners.mdx index 299696763..b36363776 100644 --- a/sdk/android/3.0/authentication-login-listeners.mdx +++ b/sdk/android/3.0/authentication-login-listeners.mdx @@ -1,5 +1,6 @@ --- title: "Login Listeners" +description: "Login Listeners — CometChat documentation." --- diff --git a/sdk/android/3.0/authentication.mdx b/sdk/android/3.0/authentication.mdx index c0031ad2e..2fb678508 100644 --- a/sdk/android/3.0/authentication.mdx +++ b/sdk/android/3.0/authentication.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Overview" +description: "Authentication — CometChat documentation." --- @@ -10,7 +11,7 @@ sidebarTitle: "Overview" Before you login the user, you must add the user to CometChat. 1. **For proof of concept/MVPs**: Create the user using the [CometChat Dashboard](https://app.cometchat.com). -2. **For production apps**: Use the CometChat [Create User API](https://api-explorer.cometchat.com/reference/creates-user) to create the user when your user signs up in your app. +2. **For production apps**: Use the CometChat [Create User API](/rest-api/chat-apis) to create the user when your user signs up in your app. Sample Users @@ -94,8 +95,8 @@ Be sure to use the **Auth Only** API Key and not the **Full Access** API Key. Th This authentication procedure does not use the API Key directly in your client code ensuring that your API Key is not leaked even if the client code is reverse engineered. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user every time the user logs in to your app. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user every time the user logs in to your app. 3. Pass the **Auth Token** to your client and use it in the `login()` method. diff --git a/sdk/android/3.0/bots.mdx b/sdk/android/3.0/bots.mdx index ff0c82088..a9854088b 100644 --- a/sdk/android/3.0/bots.mdx +++ b/sdk/android/3.0/bots.mdx @@ -1,5 +1,6 @@ --- title: "Bots" +description: "Bots — CometChat documentation." --- @@ -83,4 +84,4 @@ The sample bot payload looks like: ### Reply to a message -When you receive a message from CometChat, you can process it and provide a response using our [Send Bot Message](https://api-explorer.cometchat.com/reference/sends-bot-message) Rest API. +When you receive a message from CometChat, you can process it and provide a response using our [Send Bot Message](/rest-api/chat-apis) Rest API. diff --git a/sdk/android/3.0/calling-default-calling.mdx b/sdk/android/3.0/calling-default-calling.mdx index 84f79efa4..73a997859 100644 --- a/sdk/android/3.0/calling-default-calling.mdx +++ b/sdk/android/3.0/calling-default-calling.mdx @@ -1,5 +1,6 @@ --- title: "Default Calling" +description: "Default Calling — CometChat documentation." --- diff --git a/sdk/android/3.0/calling-direct-calling.mdx b/sdk/android/3.0/calling-direct-calling.mdx index 51f206040..cb3ef8bf4 100644 --- a/sdk/android/3.0/calling-direct-calling.mdx +++ b/sdk/android/3.0/calling-direct-calling.mdx @@ -1,5 +1,6 @@ --- title: "Direct Calling" +description: "Direct Calling — CometChat documentation." --- diff --git a/sdk/android/3.0/calling-recording-v3.mdx b/sdk/android/3.0/calling-recording-v3.mdx index 4743290a0..9636a8980 100644 --- a/sdk/android/3.0/calling-recording-v3.mdx +++ b/sdk/android/3.0/calling-recording-v3.mdx @@ -1,5 +1,6 @@ --- title: "Recording" +description: "Recording — CometChat documentation." --- diff --git a/sdk/android/3.0/calling-recording.mdx b/sdk/android/3.0/calling-recording.mdx index b3cd357d1..0110380a3 100644 --- a/sdk/android/3.0/calling-recording.mdx +++ b/sdk/android/3.0/calling-recording.mdx @@ -1,5 +1,6 @@ --- title: "Recording" +description: "Recording — CometChat documentation." --- diff --git a/sdk/android/3.0/calling-v3.mdx b/sdk/android/3.0/calling-v3.mdx index 002ba87ef..f52ae153d 100644 --- a/sdk/android/3.0/calling-v3.mdx +++ b/sdk/android/3.0/calling-v3.mdx @@ -1,5 +1,6 @@ --- title: "Calling V3" +description: "Calling V3 — CometChat documentation." --- diff --git a/sdk/android/3.0/calling.mdx b/sdk/android/3.0/calling.mdx index ede5898c2..cfa44177a 100644 --- a/sdk/android/3.0/calling.mdx +++ b/sdk/android/3.0/calling.mdx @@ -1,6 +1,7 @@ --- title: "Calling" sidebarTitle: "Overview" +description: "Calling — CometChat documentation." --- diff --git a/sdk/android/3.0/default-calling-v3.mdx b/sdk/android/3.0/default-calling-v3.mdx index 40b346e45..fa25378dd 100644 --- a/sdk/android/3.0/default-calling-v3.mdx +++ b/sdk/android/3.0/default-calling-v3.mdx @@ -1,5 +1,6 @@ --- title: "Default Calling" +description: "Default Calling — CometChat documentation." --- diff --git a/sdk/android/3.0/direct-calling-v3.mdx b/sdk/android/3.0/direct-calling-v3.mdx index 612307134..8da356122 100644 --- a/sdk/android/3.0/direct-calling-v3.mdx +++ b/sdk/android/3.0/direct-calling-v3.mdx @@ -1,5 +1,6 @@ --- title: "Direct Calling" +description: "Direct Calling — CometChat documentation." --- diff --git a/sdk/android/3.0/extensions-overview.mdx b/sdk/android/3.0/extensions-overview.mdx index 29c1774bd..d7eadbbe5 100644 --- a/sdk/android/3.0/extensions-overview.mdx +++ b/sdk/android/3.0/extensions-overview.mdx @@ -1,4 +1,5 @@ --- title: "Extensions" url: "/fundamentals/extensions-overview" +description: "Navigate to Extensions documentation." --- \ No newline at end of file diff --git a/sdk/android/3.0/groups-add-members-to-group.mdx b/sdk/android/3.0/groups-add-members-to-group.mdx index 2c4b3c058..967e027ee 100644 --- a/sdk/android/3.0/groups-add-members-to-group.mdx +++ b/sdk/android/3.0/groups-add-members-to-group.mdx @@ -1,5 +1,6 @@ --- title: "Add Members To A Group" +description: "Add Members To A Group — CometChat documentation." --- diff --git a/sdk/android/3.0/groups-change-member-scope.mdx b/sdk/android/3.0/groups-change-member-scope.mdx index 4ac4e10f7..9a76015ae 100644 --- a/sdk/android/3.0/groups-change-member-scope.mdx +++ b/sdk/android/3.0/groups-change-member-scope.mdx @@ -1,5 +1,6 @@ --- title: "Change Member Scope" +description: "Change Member Scope — CometChat documentation." --- diff --git a/sdk/android/3.0/groups-create-group.mdx b/sdk/android/3.0/groups-create-group.mdx index f1aafac2f..e597dae9d 100644 --- a/sdk/android/3.0/groups-create-group.mdx +++ b/sdk/android/3.0/groups-create-group.mdx @@ -1,5 +1,6 @@ --- title: "Create A Group" +description: "Create A Group — CometChat documentation." --- diff --git a/sdk/android/3.0/groups-delete-group.mdx b/sdk/android/3.0/groups-delete-group.mdx index df7d31566..3c524b892 100644 --- a/sdk/android/3.0/groups-delete-group.mdx +++ b/sdk/android/3.0/groups-delete-group.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Group" +description: "Delete A Group — CometChat documentation." --- diff --git a/sdk/android/3.0/groups-join-group.mdx b/sdk/android/3.0/groups-join-group.mdx index 8b9d48750..8e2f33af6 100644 --- a/sdk/android/3.0/groups-join-group.mdx +++ b/sdk/android/3.0/groups-join-group.mdx @@ -1,5 +1,6 @@ --- title: "Join A Group" +description: "Join A Group — CometChat documentation." --- diff --git a/sdk/android/3.0/groups-kick-ban-members.mdx b/sdk/android/3.0/groups-kick-ban-members.mdx index 149950c5e..7eae85945 100644 --- a/sdk/android/3.0/groups-kick-ban-members.mdx +++ b/sdk/android/3.0/groups-kick-ban-members.mdx @@ -1,5 +1,6 @@ --- title: "Ban/Kick Member From A Group" +description: "Ban/Kick Member From A Group — CometChat documentation." --- diff --git a/sdk/android/3.0/groups-leave-group.mdx b/sdk/android/3.0/groups-leave-group.mdx index 844a4d87e..b5ec62f74 100644 --- a/sdk/android/3.0/groups-leave-group.mdx +++ b/sdk/android/3.0/groups-leave-group.mdx @@ -1,5 +1,6 @@ --- title: "Leave A Group" +description: "Leave A Group — CometChat documentation." --- diff --git a/sdk/android/3.0/groups-retrieve-group-members.mdx b/sdk/android/3.0/groups-retrieve-group-members.mdx index 19e6d13e1..219d5f7b2 100644 --- a/sdk/android/3.0/groups-retrieve-group-members.mdx +++ b/sdk/android/3.0/groups-retrieve-group-members.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Group Members" +description: "Retrieve Group Members — CometChat documentation." --- diff --git a/sdk/android/3.0/groups-retrieve-groups.mdx b/sdk/android/3.0/groups-retrieve-groups.mdx index c9f4825a7..023b06146 100644 --- a/sdk/android/3.0/groups-retrieve-groups.mdx +++ b/sdk/android/3.0/groups-retrieve-groups.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Groups" +description: "Retrieve Groups — CometChat documentation." --- diff --git a/sdk/android/3.0/groups-transfer-group-ownership.mdx b/sdk/android/3.0/groups-transfer-group-ownership.mdx index 4a3cac4cd..3199a472f 100644 --- a/sdk/android/3.0/groups-transfer-group-ownership.mdx +++ b/sdk/android/3.0/groups-transfer-group-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Group Ownership" +description: "Transfer Group Ownership — CometChat documentation." --- diff --git a/sdk/android/3.0/groups-update-group.mdx b/sdk/android/3.0/groups-update-group.mdx index 85fd5409e..24982d16f 100644 --- a/sdk/android/3.0/groups-update-group.mdx +++ b/sdk/android/3.0/groups-update-group.mdx @@ -1,5 +1,6 @@ --- title: "Update A Group" +description: "Update A Group — CometChat documentation." --- diff --git a/sdk/android/3.0/groups.mdx b/sdk/android/3.0/groups.mdx index 99e877026..be06c2c42 100644 --- a/sdk/android/3.0/groups.mdx +++ b/sdk/android/3.0/groups.mdx @@ -1,6 +1,7 @@ --- title: "Groups" sidebarTitle: "Overview" +description: "Groups — CometChat documentation." --- diff --git a/sdk/android/3.0/key-concepts.mdx b/sdk/android/3.0/key-concepts.mdx index 53689462a..5fe7f780d 100644 --- a/sdk/android/3.0/key-concepts.mdx +++ b/sdk/android/3.0/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- diff --git a/sdk/android/3.0/kotlin-overview.mdx b/sdk/android/3.0/kotlin-overview.mdx index 78e9bfe07..1daa48965 100644 --- a/sdk/android/3.0/kotlin-overview.mdx +++ b/sdk/android/3.0/kotlin-overview.mdx @@ -1,4 +1,5 @@ --- title: "Android Kotlin UI Kit" url: /docs/ui-kit/kotlin/overview" +description: "Overview of Android Kotlin UI Kit in CometChat." --- \ No newline at end of file diff --git a/sdk/android/3.0/message-structure-and-hierarchy.mdx b/sdk/android/3.0/message-structure-and-hierarchy.mdx index ca07d83d2..72120f116 100644 --- a/sdk/android/3.0/message-structure-and-hierarchy.mdx +++ b/sdk/android/3.0/message-structure-and-hierarchy.mdx @@ -1,5 +1,6 @@ --- title: "Message Structure And Hierarchy" +description: "Message Structure And Hierarchy — CometChat documentation." --- diff --git a/sdk/android/3.0/messaging-additional-message-filtering.mdx b/sdk/android/3.0/messaging-additional-message-filtering.mdx index ed9bd8b2d..0daf9242d 100644 --- a/sdk/android/3.0/messaging-additional-message-filtering.mdx +++ b/sdk/android/3.0/messaging-additional-message-filtering.mdx @@ -1,5 +1,6 @@ --- title: "Additional Message Filtering" +description: "Additional Message Filtering — CometChat documentation." --- diff --git a/sdk/android/3.0/messaging-delete-conversation.mdx b/sdk/android/3.0/messaging-delete-conversation.mdx index 01b3924e8..6276e77b3 100644 --- a/sdk/android/3.0/messaging-delete-conversation.mdx +++ b/sdk/android/3.0/messaging-delete-conversation.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Conversation" +description: "Delete A Conversation — CometChat documentation." --- @@ -75,7 +76,7 @@ CometChat.deleteConversation(GUID, CometChatConstants.RECEIVER_TYPE_GROUP, objec -This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](https://api-explorer.cometchat.com/reference/deletes-conversation). +This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](/rest-api/chat-apis). The `deleteConversation()` method takes the following parameters: diff --git a/sdk/android/3.0/messaging-delete-message.mdx b/sdk/android/3.0/messaging-delete-message.mdx index ae91c8438..c6b7469cf 100644 --- a/sdk/android/3.0/messaging-delete-message.mdx +++ b/sdk/android/3.0/messaging-delete-message.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Message" +description: "Delete A Message — CometChat documentation." --- diff --git a/sdk/android/3.0/messaging-edit-message.mdx b/sdk/android/3.0/messaging-edit-message.mdx index 9d3a97b96..241667b12 100644 --- a/sdk/android/3.0/messaging-edit-message.mdx +++ b/sdk/android/3.0/messaging-edit-message.mdx @@ -1,5 +1,6 @@ --- title: "Edit A Message" +description: "Edit A Message — CometChat documentation." --- diff --git a/sdk/android/3.0/messaging-receipts.mdx b/sdk/android/3.0/messaging-receipts.mdx index 72bbd6a1d..7ce76a489 100644 --- a/sdk/android/3.0/messaging-receipts.mdx +++ b/sdk/android/3.0/messaging-receipts.mdx @@ -1,5 +1,6 @@ --- title: "Delivery & Read Receipts" +description: "Delivery & Read Receipts — CometChat documentation." --- diff --git a/sdk/android/3.0/messaging-receive-messages.mdx b/sdk/android/3.0/messaging-receive-messages.mdx index d206352ab..9cbfa2563 100644 --- a/sdk/android/3.0/messaging-receive-messages.mdx +++ b/sdk/android/3.0/messaging-receive-messages.mdx @@ -1,5 +1,6 @@ --- title: "Receive Messages" +description: "Receive Messages — CometChat documentation." --- diff --git a/sdk/android/3.0/messaging-retrieve-conversations.mdx b/sdk/android/3.0/messaging-retrieve-conversations.mdx index 0b372fc6f..bfcf12537 100644 --- a/sdk/android/3.0/messaging-retrieve-conversations.mdx +++ b/sdk/android/3.0/messaging-retrieve-conversations.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Conversations" +description: "Retrieve Conversations — CometChat documentation." --- diff --git a/sdk/android/3.0/messaging-send-message.mdx b/sdk/android/3.0/messaging-send-message.mdx index 11f02d9e6..a89276f85 100644 --- a/sdk/android/3.0/messaging-send-message.mdx +++ b/sdk/android/3.0/messaging-send-message.mdx @@ -1,5 +1,6 @@ --- title: "Send A Message" +description: "Send A Message — CometChat documentation." --- diff --git a/sdk/android/3.0/messaging-transient-messages.mdx b/sdk/android/3.0/messaging-transient-messages.mdx index b3289e90b..c9b8f9a6a 100644 --- a/sdk/android/3.0/messaging-transient-messages.mdx +++ b/sdk/android/3.0/messaging-transient-messages.mdx @@ -1,5 +1,6 @@ --- title: "Transient Messages" +description: "Transient Messages — CometChat documentation." --- diff --git a/sdk/android/3.0/messaging-typing-indicators.mdx b/sdk/android/3.0/messaging-typing-indicators.mdx index 88164a056..b29b8e422 100644 --- a/sdk/android/3.0/messaging-typing-indicators.mdx +++ b/sdk/android/3.0/messaging-typing-indicators.mdx @@ -1,5 +1,6 @@ --- title: "Typing Indicators" +description: "Typing Indicators — CometChat documentation." --- diff --git a/sdk/android/3.0/messaging.mdx b/sdk/android/3.0/messaging.mdx index 146a2faf6..356a14079 100644 --- a/sdk/android/3.0/messaging.mdx +++ b/sdk/android/3.0/messaging.mdx @@ -1,6 +1,7 @@ --- title: "Messaging" sidebarTitle: "Overview" +description: "Messaging — CometChat documentation." --- diff --git a/sdk/android/3.0/overview.mdx b/sdk/android/3.0/overview.mdx index b045545b5..e15458693 100644 --- a/sdk/android/3.0/overview.mdx +++ b/sdk/android/3.0/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/sdk/android/3.0/presenter-mode.mdx b/sdk/android/3.0/presenter-mode.mdx index 5552f0a59..d30c71e20 100644 --- a/sdk/android/3.0/presenter-mode.mdx +++ b/sdk/android/3.0/presenter-mode.mdx @@ -1,5 +1,6 @@ --- title: "Presenter Mode" +description: "Presenter Mode — CometChat documentation." --- diff --git a/sdk/android/3.0/rate-limits.mdx b/sdk/android/3.0/rate-limits.mdx index dcd959b99..79eca5ef8 100644 --- a/sdk/android/3.0/rate-limits.mdx +++ b/sdk/android/3.0/rate-limits.mdx @@ -1,5 +1,6 @@ --- title: "Rate Limits" +description: "Rate Limits — CometChat documentation." --- diff --git a/sdk/android/3.0/resources-all-real-time-listeners.mdx b/sdk/android/3.0/resources-all-real-time-listeners.mdx index 6aec93906..5a431c722 100644 --- a/sdk/android/3.0/resources-all-real-time-listeners.mdx +++ b/sdk/android/3.0/resources-all-real-time-listeners.mdx @@ -1,5 +1,6 @@ --- title: "All Real Time Listeners" +description: "All Real Time Listeners — CometChat documentation." --- diff --git a/sdk/android/3.0/resources-upgrading-from-v2.mdx b/sdk/android/3.0/resources-upgrading-from-v2.mdx index cdb38e739..be6b08732 100644 --- a/sdk/android/3.0/resources-upgrading-from-v2.mdx +++ b/sdk/android/3.0/resources-upgrading-from-v2.mdx @@ -1,5 +1,6 @@ --- title: "Upgrading From V2" +description: "Upgrading From V2 — CometChat documentation." --- diff --git a/sdk/android/3.0/setup-v3.mdx b/sdk/android/3.0/setup-v3.mdx index e7c56c644..7adf54acd 100644 --- a/sdk/android/3.0/setup-v3.mdx +++ b/sdk/android/3.0/setup-v3.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/android/3.0/setup.mdx b/sdk/android/3.0/setup.mdx index e785e9660..a6100b55c 100644 --- a/sdk/android/3.0/setup.mdx +++ b/sdk/android/3.0/setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/android/3.0/threaded-messages.mdx b/sdk/android/3.0/threaded-messages.mdx index e22e06e30..0d9c92ce5 100644 --- a/sdk/android/3.0/threaded-messages.mdx +++ b/sdk/android/3.0/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- diff --git a/sdk/android/3.0/user-presence.mdx b/sdk/android/3.0/user-presence.mdx index 05a9a588b..f1227c8db 100644 --- a/sdk/android/3.0/user-presence.mdx +++ b/sdk/android/3.0/user-presence.mdx @@ -1,5 +1,6 @@ --- title: "User Presence" +description: "User Presence — CometChat documentation." --- diff --git a/sdk/android/3.0/users-block-users.mdx b/sdk/android/3.0/users-block-users.mdx index 1f6e946f6..40a5e79c8 100644 --- a/sdk/android/3.0/users-block-users.mdx +++ b/sdk/android/3.0/users-block-users.mdx @@ -1,5 +1,6 @@ --- title: "Block Users" +description: "Block Users — CometChat documentation." --- diff --git a/sdk/android/3.0/users-retrieve-users.mdx b/sdk/android/3.0/users-retrieve-users.mdx index 054932e11..26344e0e1 100644 --- a/sdk/android/3.0/users-retrieve-users.mdx +++ b/sdk/android/3.0/users-retrieve-users.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Users" +description: "Retrieve Users — CometChat documentation." --- diff --git a/sdk/android/3.0/users-user-management.mdx b/sdk/android/3.0/users-user-management.mdx index 12f1b2e71..e5dcf27bc 100644 --- a/sdk/android/3.0/users-user-management.mdx +++ b/sdk/android/3.0/users-user-management.mdx @@ -1,5 +1,6 @@ --- title: "User Management" +description: "User Management — CometChat documentation." --- @@ -18,7 +19,7 @@ When a user logs into your app, you need to programmatically login the user into ## Creating a user -Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [creating a user](https://api-explorer.cometchat.com/reference/creates-user) and use the appropriate code sample based on your backend language. +Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [creating a user](/rest-api/chat-apis) and use the appropriate code sample based on your backend language. However, if you wish to create users on the fly, you can use the `createUser()` method. This method takes a `User` object and the `API Key` as input parameters and returns the created `User` object if the request is successful. @@ -77,7 +78,7 @@ UID can be alphanumeric with underscore and hyphen. Spaces, punctuation and othe ## Updating a user -Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](https://api-explorer.cometchat.com/reference/update-user) section. However, this can be achieved on the fly as well using the `updateUser()` method. This method takes a `User` object and the API Key as inputs and returns the updated `User` object on successful execution of the request. +Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](/rest-api/chat-apis) section. However, this can be achieved on the fly as well using the `updateUser()` method. This method takes a `User` object and the API Key as inputs and returns the updated `User` object on successful execution of the request. @@ -175,7 +176,7 @@ By using the `updateCurrentUserDetails()` method one can only update the logged- ## Deleting a user -Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](https://api-explorer.cometchat.com/reference/delete-user)section. +Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](/rest-api/chat-apis)section. ## User Class diff --git a/sdk/android/3.0/users.mdx b/sdk/android/3.0/users.mdx index 402575e3a..3160d29ea 100644 --- a/sdk/android/3.0/users.mdx +++ b/sdk/android/3.0/users.mdx @@ -1,6 +1,7 @@ --- title: "Users" sidebarTitle: "Overview" +description: "Users — CometChat documentation." --- diff --git a/sdk/android/3.0/video-view-customisation-v3.mdx b/sdk/android/3.0/video-view-customisation-v3.mdx index 71079372a..2141252b1 100644 --- a/sdk/android/3.0/video-view-customisation-v3.mdx +++ b/sdk/android/3.0/video-view-customisation-v3.mdx @@ -1,5 +1,6 @@ --- title: "Video View Customisation" +description: "Video View Customisation — CometChat documentation." --- diff --git a/sdk/android/3.0/video-view-customisation.mdx b/sdk/android/3.0/video-view-customisation.mdx index a399b1551..aad05efa6 100644 --- a/sdk/android/3.0/video-view-customisation.mdx +++ b/sdk/android/3.0/video-view-customisation.mdx @@ -1,5 +1,6 @@ --- title: "Video View Customisation" +description: "Video View Customisation — CometChat documentation." --- diff --git a/sdk/android/3.0/webhooks.mdx b/sdk/android/3.0/webhooks.mdx index 8b1cc1919..4e365a28f 100644 --- a/sdk/android/3.0/webhooks.mdx +++ b/sdk/android/3.0/webhooks.mdx @@ -1,5 +1,6 @@ --- title: "Webhooks" +description: "Webhooks — CometChat documentation." --- diff --git a/sdk/android/additional-message-filtering.mdx b/sdk/android/additional-message-filtering.mdx index a215f75c7..cc063d3ae 100644 --- a/sdk/android/additional-message-filtering.mdx +++ b/sdk/android/additional-message-filtering.mdx @@ -1,5 +1,6 @@ --- title: "Additional Message Filtering" +description: "Additional Message Filtering — CometChat documentation." --- diff --git a/sdk/android/advanced-overview.mdx b/sdk/android/advanced-overview.mdx index 18501a4d5..95d19abbe 100644 --- a/sdk/android/advanced-overview.mdx +++ b/sdk/android/advanced-overview.mdx @@ -1,6 +1,7 @@ --- title: "Advanced" sidebarTitle: "Overview" +description: "Overview of Advanced in CometChat." --- diff --git a/sdk/android/ai-agents.mdx b/sdk/android/ai-agents.mdx index 853da43a7..c33e3700a 100644 --- a/sdk/android/ai-agents.mdx +++ b/sdk/android/ai-agents.mdx @@ -1,5 +1,6 @@ --- title: "AI Agents" +description: "AI Agents — CometChat documentation." --- # AI Agents Overview diff --git a/sdk/android/ai-chatbots-overview.mdx b/sdk/android/ai-chatbots-overview.mdx index 453c5e30f..3b5eb9e83 100644 --- a/sdk/android/ai-chatbots-overview.mdx +++ b/sdk/android/ai-chatbots-overview.mdx @@ -1,4 +1,5 @@ --- title: "AI" url: "/ai-chatbots/overview" +description: "Navigate to AI documentation." --- \ No newline at end of file diff --git a/sdk/android/ai-moderation.mdx b/sdk/android/ai-moderation.mdx index 3c3a0214c..ef87b3471 100644 --- a/sdk/android/ai-moderation.mdx +++ b/sdk/android/ai-moderation.mdx @@ -1,5 +1,6 @@ --- title: "AI Moderation" +description: "AI Moderation — CometChat documentation." --- ## Overview diff --git a/sdk/android/ai-user-copilot-overview.mdx b/sdk/android/ai-user-copilot-overview.mdx index 3e798a3fb..eb49fe85a 100644 --- a/sdk/android/ai-user-copilot-overview.mdx +++ b/sdk/android/ai-user-copilot-overview.mdx @@ -1,4 +1,5 @@ --- title: "AI" url: "/fundamentals/ai-user-copilot/overview" +description: "Navigate to AI documentation." --- \ No newline at end of file diff --git a/sdk/android/android-overview.mdx b/sdk/android/android-overview.mdx index c85f2beb4..9f646af47 100644 --- a/sdk/android/android-overview.mdx +++ b/sdk/android/android-overview.mdx @@ -1,4 +1,5 @@ --- title: "Java UI Kit" url: "/ui-kit/android/overview" +description: "Navigate to Java UI Kit documentation." --- \ No newline at end of file diff --git a/sdk/android/authentication-overview.mdx b/sdk/android/authentication-overview.mdx index 7e3f45b6b..8d34b6860 100644 --- a/sdk/android/authentication-overview.mdx +++ b/sdk/android/authentication-overview.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Overview" +description: "Overview of Authentication in CometChat." --- @@ -10,7 +11,7 @@ sidebarTitle: "Overview" Before you log in a user, you must add the user to CometChat. 1. **For proof of concept/MVPs**: Create the user using the [CometChat Dashboard](https://app.cometchat.com). -2. **For production apps**: Use the CometChat [Create User API](https://api-explorer.cometchat.com/reference/creates-user) to create the user when your user signs up in your app. +2. **For production apps**: Use the CometChat [Create User API](/rest-api/chat-apis) to create the user when your user signs up in your app. Sample Users @@ -88,8 +89,8 @@ After the user logs in, their information is returned in the `User` object. This advanced authentication procedure does not use the Auth Key directly in your client code thus ensuring safety. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user every time the user logs in to your app. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user every time the user logs in to your app. 3. Pass the **Auth Token** to your client and use it in the `login()` method. diff --git a/sdk/android/block-users.mdx b/sdk/android/block-users.mdx index d48752d66..b44a24262 100644 --- a/sdk/android/block-users.mdx +++ b/sdk/android/block-users.mdx @@ -1,5 +1,6 @@ --- title: "Block Users" +description: "Block Users — CometChat documentation." --- diff --git a/sdk/android/call-logs.mdx b/sdk/android/call-logs.mdx index ef02868d2..8e66a7f72 100644 --- a/sdk/android/call-logs.mdx +++ b/sdk/android/call-logs.mdx @@ -1,5 +1,6 @@ --- title: "Call Logs" +description: "Call Logs — CometChat documentation." --- diff --git a/sdk/android/calling-overview.mdx b/sdk/android/calling-overview.mdx index 19ef1c0f2..67feec0e2 100644 --- a/sdk/android/calling-overview.mdx +++ b/sdk/android/calling-overview.mdx @@ -1,6 +1,7 @@ --- title: "Calling" sidebarTitle: "Overview" +description: "Overview of Calling in CometChat." --- ## Overview diff --git a/sdk/android/calling-setup.mdx b/sdk/android/calling-setup.mdx index d7fbb4469..35fa4cb5b 100644 --- a/sdk/android/calling-setup.mdx +++ b/sdk/android/calling-setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/android/changelog.mdx b/sdk/android/changelog.mdx index 2512bedbb..1fc1d61d7 100644 --- a/sdk/android/changelog.mdx +++ b/sdk/android/changelog.mdx @@ -1,4 +1,5 @@ --- title: "Changelog" url: "https://github.com/cometchat/chat-sdk-android/releases" +description: "Navigate to Changelog documentation." --- \ No newline at end of file diff --git a/sdk/android/connection-behaviour.mdx b/sdk/android/connection-behaviour.mdx index 02a960181..cd87aa878 100644 --- a/sdk/android/connection-behaviour.mdx +++ b/sdk/android/connection-behaviour.mdx @@ -1,5 +1,6 @@ --- title: "Connection Behaviour" +description: "Connection Behaviour — CometChat documentation." --- diff --git a/sdk/android/connection-status.mdx b/sdk/android/connection-status.mdx index c56576884..3c28e7f00 100644 --- a/sdk/android/connection-status.mdx +++ b/sdk/android/connection-status.mdx @@ -1,5 +1,6 @@ --- title: "Connection Status" +description: "Connection Status — CometChat documentation." --- diff --git a/sdk/android/create-group.mdx b/sdk/android/create-group.mdx index eecf3e26f..0b98e31b9 100644 --- a/sdk/android/create-group.mdx +++ b/sdk/android/create-group.mdx @@ -1,5 +1,6 @@ --- title: "Create A Group" +description: "Create A Group — CometChat documentation." --- diff --git a/sdk/android/default-calling.mdx b/sdk/android/default-calling.mdx index 654dc8448..d8afcf33c 100644 --- a/sdk/android/default-calling.mdx +++ b/sdk/android/default-calling.mdx @@ -1,5 +1,6 @@ --- title: "Ringing" +description: "Ringing — CometChat documentation." --- ## Overview diff --git a/sdk/android/delete-conversation.mdx b/sdk/android/delete-conversation.mdx index 01b3924e8..6276e77b3 100644 --- a/sdk/android/delete-conversation.mdx +++ b/sdk/android/delete-conversation.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Conversation" +description: "Delete A Conversation — CometChat documentation." --- @@ -75,7 +76,7 @@ CometChat.deleteConversation(GUID, CometChatConstants.RECEIVER_TYPE_GROUP, objec -This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](https://api-explorer.cometchat.com/reference/deletes-conversation). +This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](/rest-api/chat-apis). The `deleteConversation()` method takes the following parameters: diff --git a/sdk/android/delete-group.mdx b/sdk/android/delete-group.mdx index 36d3eb938..008c34dee 100644 --- a/sdk/android/delete-group.mdx +++ b/sdk/android/delete-group.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Group" +description: "Delete A Group — CometChat documentation." --- diff --git a/sdk/android/delete-message.mdx b/sdk/android/delete-message.mdx index 082a8ba12..83df21521 100644 --- a/sdk/android/delete-message.mdx +++ b/sdk/android/delete-message.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Message" +description: "Delete A Message — CometChat documentation." --- diff --git a/sdk/android/delivery-read-receipts.mdx b/sdk/android/delivery-read-receipts.mdx index 93f59de93..40194a521 100644 --- a/sdk/android/delivery-read-receipts.mdx +++ b/sdk/android/delivery-read-receipts.mdx @@ -1,5 +1,6 @@ --- title: "Delivery & Read Receipts" +description: "Delivery & Read Receipts — CometChat documentation." --- diff --git a/sdk/android/direct-calling.mdx b/sdk/android/direct-calling.mdx index 1c5523339..36082cbf3 100644 --- a/sdk/android/direct-calling.mdx +++ b/sdk/android/direct-calling.mdx @@ -1,5 +1,6 @@ --- title: "Call Session" +description: "Call Session — CometChat documentation." --- ## Overview diff --git a/sdk/android/edit-message.mdx b/sdk/android/edit-message.mdx index 9385d0b71..b4477537c 100644 --- a/sdk/android/edit-message.mdx +++ b/sdk/android/edit-message.mdx @@ -1,5 +1,6 @@ --- title: "Edit A Message" +description: "Edit A Message — CometChat documentation." --- diff --git a/sdk/android/extensions-overview.mdx b/sdk/android/extensions-overview.mdx index 29c1774bd..d7eadbbe5 100644 --- a/sdk/android/extensions-overview.mdx +++ b/sdk/android/extensions-overview.mdx @@ -1,4 +1,5 @@ --- title: "Extensions" url: "/fundamentals/extensions-overview" +description: "Navigate to Extensions documentation." --- \ No newline at end of file diff --git a/sdk/android/flag-message.mdx b/sdk/android/flag-message.mdx index 0843d2902..81f29e23b 100644 --- a/sdk/android/flag-message.mdx +++ b/sdk/android/flag-message.mdx @@ -1,5 +1,6 @@ --- title: "Flag Message" +description: "Flag Message — CometChat documentation." --- ## Overview diff --git a/sdk/android/group-add-members.mdx b/sdk/android/group-add-members.mdx index a135b4615..fc3e90bad 100644 --- a/sdk/android/group-add-members.mdx +++ b/sdk/android/group-add-members.mdx @@ -1,5 +1,6 @@ --- title: "Add Members To A Group" +description: "Add Members To A Group — CometChat documentation." --- diff --git a/sdk/android/group-change-member-scope.mdx b/sdk/android/group-change-member-scope.mdx index 13303f53b..75449a850 100644 --- a/sdk/android/group-change-member-scope.mdx +++ b/sdk/android/group-change-member-scope.mdx @@ -1,5 +1,6 @@ --- title: "Change Member Scope" +description: "Change Member Scope — CometChat documentation." --- diff --git a/sdk/android/group-kick-member.mdx b/sdk/android/group-kick-member.mdx index fbbd7cb5c..7b6fd2aae 100644 --- a/sdk/android/group-kick-member.mdx +++ b/sdk/android/group-kick-member.mdx @@ -1,5 +1,6 @@ --- title: "Ban/Kick Member From A Group" +description: "Ban/Kick Member From A Group — CometChat documentation." --- diff --git a/sdk/android/groups-overview.mdx b/sdk/android/groups-overview.mdx index 99e877026..00b7d6b44 100644 --- a/sdk/android/groups-overview.mdx +++ b/sdk/android/groups-overview.mdx @@ -1,6 +1,7 @@ --- title: "Groups" sidebarTitle: "Overview" +description: "Overview of Groups in CometChat." --- diff --git a/sdk/android/interactive-messages.mdx b/sdk/android/interactive-messages.mdx index d6f468c0e..d9fc97354 100644 --- a/sdk/android/interactive-messages.mdx +++ b/sdk/android/interactive-messages.mdx @@ -1,5 +1,6 @@ --- title: "Interactive Messages" +description: "Interactive Messages — CometChat documentation." --- diff --git a/sdk/android/join-group.mdx b/sdk/android/join-group.mdx index 514297a66..5ed7b36f0 100644 --- a/sdk/android/join-group.mdx +++ b/sdk/android/join-group.mdx @@ -1,5 +1,6 @@ --- title: "Join A Group" +description: "Join A Group — CometChat documentation." --- diff --git a/sdk/android/key-concepts.mdx b/sdk/android/key-concepts.mdx index 71f0f4bf3..7e766228b 100644 --- a/sdk/android/key-concepts.mdx +++ b/sdk/android/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- diff --git a/sdk/android/leave-group.mdx b/sdk/android/leave-group.mdx index baa6f2fce..e82711d18 100644 --- a/sdk/android/leave-group.mdx +++ b/sdk/android/leave-group.mdx @@ -1,5 +1,6 @@ --- title: "Leave A Group" +description: "Leave A Group — CometChat documentation." --- diff --git a/sdk/android/login-listeners.mdx b/sdk/android/login-listeners.mdx index 9acb5ea90..c58ae6ed6 100644 --- a/sdk/android/login-listeners.mdx +++ b/sdk/android/login-listeners.mdx @@ -1,5 +1,6 @@ --- title: "Login Listeners" +description: "Login Listeners — CometChat documentation." --- diff --git a/sdk/android/mentions.mdx b/sdk/android/mentions.mdx index ce0320209..fbc05a984 100644 --- a/sdk/android/mentions.mdx +++ b/sdk/android/mentions.mdx @@ -1,5 +1,6 @@ --- title: "Mentions" +description: "Mentions — CometChat documentation." --- diff --git a/sdk/android/message-structure-and-hierarchy.mdx b/sdk/android/message-structure-and-hierarchy.mdx index 4ed4ed248..7fbfc58e9 100644 --- a/sdk/android/message-structure-and-hierarchy.mdx +++ b/sdk/android/message-structure-and-hierarchy.mdx @@ -1,5 +1,6 @@ --- title: "Message Structure And Hierarchy" +description: "Message Structure And Hierarchy — CometChat documentation." --- diff --git a/sdk/android/messaging-overview.mdx b/sdk/android/messaging-overview.mdx index 36e57feff..e9abdafe7 100644 --- a/sdk/android/messaging-overview.mdx +++ b/sdk/android/messaging-overview.mdx @@ -1,6 +1,7 @@ --- title: "Messaging" sidebarTitle: "Overview" +description: "Overview of Messaging in CometChat." --- diff --git a/sdk/android/overview.mdx b/sdk/android/overview.mdx index a55d7d6ce..829674b9e 100644 --- a/sdk/android/overview.mdx +++ b/sdk/android/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/sdk/android/presenter-mode.mdx b/sdk/android/presenter-mode.mdx index e68bfd29d..9e787a48d 100644 --- a/sdk/android/presenter-mode.mdx +++ b/sdk/android/presenter-mode.mdx @@ -1,5 +1,6 @@ --- title: "Presenter Mode" +description: "Presenter Mode — CometChat documentation." --- diff --git a/sdk/android/publishing-app-on-playstore.mdx b/sdk/android/publishing-app-on-playstore.mdx index 7e2815d76..6cbcfed15 100644 --- a/sdk/android/publishing-app-on-playstore.mdx +++ b/sdk/android/publishing-app-on-playstore.mdx @@ -1,5 +1,6 @@ --- title: "Publishing App On PlayStore" +description: "Publishing App On PlayStore — CometChat documentation." --- diff --git a/sdk/android/rate-limits.mdx b/sdk/android/rate-limits.mdx index 17581b144..796b22b12 100644 --- a/sdk/android/rate-limits.mdx +++ b/sdk/android/rate-limits.mdx @@ -1,5 +1,6 @@ --- title: "Rate Limits" +description: "Rate Limits — CometChat documentation." --- diff --git a/sdk/android/reactions.mdx b/sdk/android/reactions.mdx index b7a903654..eeada4ca7 100644 --- a/sdk/android/reactions.mdx +++ b/sdk/android/reactions.mdx @@ -1,5 +1,6 @@ --- title: "Reactions" +description: "Reactions — CometChat documentation." --- diff --git a/sdk/android/real-time-listeners.mdx b/sdk/android/real-time-listeners.mdx index 04e653071..5840e8382 100644 --- a/sdk/android/real-time-listeners.mdx +++ b/sdk/android/real-time-listeners.mdx @@ -1,5 +1,6 @@ --- title: "All Real Time Listeners" +description: "All Real Time Listeners — CometChat documentation." --- diff --git a/sdk/android/receive-messages.mdx b/sdk/android/receive-messages.mdx index 6cd321878..dcd580d23 100644 --- a/sdk/android/receive-messages.mdx +++ b/sdk/android/receive-messages.mdx @@ -1,5 +1,6 @@ --- title: "Receive A Message" +description: "Receive A Message — CometChat documentation." --- diff --git a/sdk/android/recording.mdx b/sdk/android/recording.mdx index 8f497bb70..517510597 100644 --- a/sdk/android/recording.mdx +++ b/sdk/android/recording.mdx @@ -1,5 +1,6 @@ --- title: "Recording" +description: "Recording — CometChat documentation." --- diff --git a/sdk/android/resources-overview.mdx b/sdk/android/resources-overview.mdx index 59e91dad5..d1891559e 100644 --- a/sdk/android/resources-overview.mdx +++ b/sdk/android/resources-overview.mdx @@ -1,5 +1,6 @@ --- title: "Resources" +description: "Overview of Resources in CometChat." --- diff --git a/sdk/android/retrieve-conversations.mdx b/sdk/android/retrieve-conversations.mdx index 62aa4de7a..1bd963851 100644 --- a/sdk/android/retrieve-conversations.mdx +++ b/sdk/android/retrieve-conversations.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Conversations" +description: "Retrieve Conversations — CometChat documentation." --- diff --git a/sdk/android/retrieve-group-members.mdx b/sdk/android/retrieve-group-members.mdx index 46001c72a..1551e3167 100644 --- a/sdk/android/retrieve-group-members.mdx +++ b/sdk/android/retrieve-group-members.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Group Members" +description: "Retrieve Group Members — CometChat documentation." --- diff --git a/sdk/android/retrieve-groups.mdx b/sdk/android/retrieve-groups.mdx index 7b1878481..0c6a3f0b2 100644 --- a/sdk/android/retrieve-groups.mdx +++ b/sdk/android/retrieve-groups.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Groups" +description: "Retrieve Groups — CometChat documentation." --- diff --git a/sdk/android/retrieve-users.mdx b/sdk/android/retrieve-users.mdx index ecbf5de36..1599cafc8 100644 --- a/sdk/android/retrieve-users.mdx +++ b/sdk/android/retrieve-users.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Users" +description: "Retrieve Users — CometChat documentation." --- diff --git a/sdk/android/send-message.mdx b/sdk/android/send-message.mdx index 254f6254b..134aeecf7 100644 --- a/sdk/android/send-message.mdx +++ b/sdk/android/send-message.mdx @@ -1,5 +1,6 @@ --- title: "Send A Message" +description: "Send A Message — CometChat documentation." --- diff --git a/sdk/android/session-timeout.mdx b/sdk/android/session-timeout.mdx index 23470881f..99bf3ecb0 100644 --- a/sdk/android/session-timeout.mdx +++ b/sdk/android/session-timeout.mdx @@ -1,5 +1,6 @@ --- title: "Session Timeout Flow" +description: "Session Timeout Flow — CometChat documentation." --- diff --git a/sdk/android/setup.mdx b/sdk/android/setup.mdx index 55cef555d..3309b620f 100644 --- a/sdk/android/setup.mdx +++ b/sdk/android/setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/android/standalone-calling.mdx b/sdk/android/standalone-calling.mdx index 77b4e628c..f19c59827 100644 --- a/sdk/android/standalone-calling.mdx +++ b/sdk/android/standalone-calling.mdx @@ -1,5 +1,6 @@ --- title: "Standalone Calling" +description: "Standalone Calling — CometChat documentation." --- ## Overview diff --git a/sdk/android/threaded-messages.mdx b/sdk/android/threaded-messages.mdx index 8a8787c3a..986057788 100644 --- a/sdk/android/threaded-messages.mdx +++ b/sdk/android/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- diff --git a/sdk/android/transfer-group-ownership.mdx b/sdk/android/transfer-group-ownership.mdx index 6663488bf..389f943ad 100644 --- a/sdk/android/transfer-group-ownership.mdx +++ b/sdk/android/transfer-group-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Group Ownership" +description: "Transfer Group Ownership — CometChat documentation." --- diff --git a/sdk/android/transient-messages.mdx b/sdk/android/transient-messages.mdx index efeceec14..01c7f9ce8 100644 --- a/sdk/android/transient-messages.mdx +++ b/sdk/android/transient-messages.mdx @@ -1,5 +1,6 @@ --- title: "Transient Messages" +description: "Transient Messages — CometChat documentation." --- diff --git a/sdk/android/typing-indicators.mdx b/sdk/android/typing-indicators.mdx index 452fd1f4a..9bf0f54f2 100644 --- a/sdk/android/typing-indicators.mdx +++ b/sdk/android/typing-indicators.mdx @@ -1,5 +1,6 @@ --- title: "Typing Indicators" +description: "Typing Indicators — CometChat documentation." --- diff --git a/sdk/android/update-group.mdx b/sdk/android/update-group.mdx index 4fbbba0e3..375c9c167 100644 --- a/sdk/android/update-group.mdx +++ b/sdk/android/update-group.mdx @@ -1,5 +1,6 @@ --- title: "Update A Group" +description: "Update A Group — CometChat documentation." --- diff --git a/sdk/android/upgrading-from-v3-guide.mdx b/sdk/android/upgrading-from-v3-guide.mdx index 14bccd7a3..2f4d9ce35 100644 --- a/sdk/android/upgrading-from-v3-guide.mdx +++ b/sdk/android/upgrading-from-v3-guide.mdx @@ -1,5 +1,6 @@ --- title: "Upgrading From V3" +description: "Upgrading From V3 — CometChat integration guide." --- diff --git a/sdk/android/user-management.mdx b/sdk/android/user-management.mdx index 9c423f8b9..1dea4e538 100644 --- a/sdk/android/user-management.mdx +++ b/sdk/android/user-management.mdx @@ -1,5 +1,6 @@ --- title: "User Management" +description: "User Management — CometChat documentation." --- @@ -20,7 +21,7 @@ Summing up- ## Creating a user -Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [creating a user](https://api-explorer.cometchat.com/reference/creates-user) and use the appropriate code sample based on your backend language. +Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [creating a user](/rest-api/chat-apis) and use the appropriate code sample based on your backend language. However, if you wish to create users on the fly, you can use the `createUser()` method. This method takes a `User` object and the `API Key` as input parameters and returns the created `User` object if the request is successful. @@ -79,7 +80,7 @@ UID can be alphanumeric with underscore and hyphen. Spaces, punctuation and othe ## Updating a user -Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](https://api-explorer.cometchat.com/reference/update-user) section. However, this can be achieved on the fly as well using the `updateUser()` method. This method takes a `User` object and the API Key as inputs and returns the updated `User` object on successful execution of the request. +Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](/rest-api/chat-apis) section. However, this can be achieved on the fly as well using the `updateUser()` method. This method takes a `User` object and the API Key as inputs and returns the updated `User` object on successful execution of the request. @@ -177,7 +178,7 @@ By using the `updateCurrentUserDetails()` method one can only update the logged- ## Deleting a user -Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](https://api-explorer.cometchat.com/reference/delete-user)section. +Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](/rest-api/chat-apis)section. ## User Class diff --git a/sdk/android/user-presence.mdx b/sdk/android/user-presence.mdx index 58c0f69f4..8923a031e 100644 --- a/sdk/android/user-presence.mdx +++ b/sdk/android/user-presence.mdx @@ -1,5 +1,6 @@ --- title: "User Presence" +description: "User Presence — CometChat documentation." --- diff --git a/sdk/android/users-overview.mdx b/sdk/android/users-overview.mdx index ea9156b7a..604e3b25f 100644 --- a/sdk/android/users-overview.mdx +++ b/sdk/android/users-overview.mdx @@ -1,6 +1,7 @@ --- title: "Users" sidebarTitle: "Overview" +description: "Overview of Users in CometChat." --- diff --git a/sdk/android/video-view-customisation.mdx b/sdk/android/video-view-customisation.mdx index 75040b362..c47768a1a 100644 --- a/sdk/android/video-view-customisation.mdx +++ b/sdk/android/video-view-customisation.mdx @@ -1,5 +1,6 @@ --- title: "Video View Customisation" +description: "Video View Customisation — CometChat documentation." --- diff --git a/sdk/android/webhooks-overview.mdx b/sdk/android/webhooks-overview.mdx index 598d43500..c6059ded0 100644 --- a/sdk/android/webhooks-overview.mdx +++ b/sdk/android/webhooks-overview.mdx @@ -1,4 +1,5 @@ --- title: "Webhooks" url: "/fundamentals/webhooks-overview" +description: "Navigate to Webhooks documentation." --- \ No newline at end of file diff --git a/sdk/flutter/3.0/advanced-connection-status.mdx b/sdk/flutter/3.0/advanced-connection-status.mdx index 2f8c2ba65..ea728762a 100644 --- a/sdk/flutter/3.0/advanced-connection-status.mdx +++ b/sdk/flutter/3.0/advanced-connection-status.mdx @@ -1,5 +1,6 @@ --- title: "Connection Status" +description: "Connection Status — CometChat documentation." --- diff --git a/sdk/flutter/3.0/advanced-managing-web-sockets-connections-manually.mdx b/sdk/flutter/3.0/advanced-managing-web-sockets-connections-manually.mdx index f6f40f8f6..02445efc2 100644 --- a/sdk/flutter/3.0/advanced-managing-web-sockets-connections-manually.mdx +++ b/sdk/flutter/3.0/advanced-managing-web-sockets-connections-manually.mdx @@ -1,5 +1,6 @@ --- title: "Managing Web Sockets Connections Manually" +description: "Managing Web Sockets Connections Manually — CometChat documentation." --- diff --git a/sdk/flutter/3.0/advanced.mdx b/sdk/flutter/3.0/advanced.mdx index 7a8e791f6..931f86642 100644 --- a/sdk/flutter/3.0/advanced.mdx +++ b/sdk/flutter/3.0/advanced.mdx @@ -1,6 +1,7 @@ --- title: "Advanced" sidebarTitle: "Overview" +description: "Advanced — CometChat documentation." --- diff --git a/sdk/flutter/3.0/authentication-login-listeners.mdx b/sdk/flutter/3.0/authentication-login-listeners.mdx index 88bbbef8b..9392a6ff0 100644 --- a/sdk/flutter/3.0/authentication-login-listeners.mdx +++ b/sdk/flutter/3.0/authentication-login-listeners.mdx @@ -1,5 +1,6 @@ --- title: "Login Listeners" +description: "Login Listeners — CometChat documentation." --- diff --git a/sdk/flutter/3.0/authentication.mdx b/sdk/flutter/3.0/authentication.mdx index da59cce5e..b3ec10257 100644 --- a/sdk/flutter/3.0/authentication.mdx +++ b/sdk/flutter/3.0/authentication.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Overview" +description: "Authentication — CometChat documentation." --- @@ -10,7 +11,7 @@ sidebarTitle: "Overview" Before you login the user, you must add the user to CometChat. 1. **For proof of concept/MVPs**: Create the user using the [CometChat Dashboard](https://app.cometchat.com/). -2. **For production apps**: Use the CometChat [Create User API](https://api-explorer.cometchat.com/reference/creates-user) to create the user when your user signs up in your app. +2. **For production apps**: Use the CometChat [Create User API](/rest-api/chat-apis) to create the user when your user signs up in your app. Sample Users @@ -71,8 +72,8 @@ Be sure to use the **Auth Only** API Key and not the **Full Access** API Key. Th This authentication procedure does not use the API Key directly in your client code ensuring that your API Key is not leaked even if the client code is reverse engineered. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user every time the user logs in to your app. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user every time the user logs in to your app. 3. Pass the **Auth Token** to your client and use it in the `login()` method. diff --git a/sdk/flutter/3.0/calling-setup.mdx b/sdk/flutter/3.0/calling-setup.mdx index c7b37cd4a..0f5034ee7 100644 --- a/sdk/flutter/3.0/calling-setup.mdx +++ b/sdk/flutter/3.0/calling-setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/flutter/3.0/calling-v3.mdx b/sdk/flutter/3.0/calling-v3.mdx index 99a6e6a23..3891ce8bd 100644 --- a/sdk/flutter/3.0/calling-v3.mdx +++ b/sdk/flutter/3.0/calling-v3.mdx @@ -1,5 +1,6 @@ --- title: "Calling V3" +description: "Calling V3 — CometChat documentation." --- diff --git a/sdk/flutter/3.0/default-calling.mdx b/sdk/flutter/3.0/default-calling.mdx index d78daea98..4509f5929 100644 --- a/sdk/flutter/3.0/default-calling.mdx +++ b/sdk/flutter/3.0/default-calling.mdx @@ -1,5 +1,6 @@ --- title: "Default Calling" +description: "Default Calling — CometChat documentation." --- diff --git a/sdk/flutter/3.0/direct-calling.mdx b/sdk/flutter/3.0/direct-calling.mdx index 3b7d8e7fd..275ecd73b 100644 --- a/sdk/flutter/3.0/direct-calling.mdx +++ b/sdk/flutter/3.0/direct-calling.mdx @@ -1,5 +1,6 @@ --- title: "Direct Calling" +description: "Direct Calling — CometChat documentation." --- diff --git a/sdk/flutter/3.0/flutter-resources.mdx b/sdk/flutter/3.0/flutter-resources.mdx index 321bd2695..8e4f38891 100644 --- a/sdk/flutter/3.0/flutter-resources.mdx +++ b/sdk/flutter/3.0/flutter-resources.mdx @@ -1,5 +1,6 @@ --- title: "Resources" +description: "Resources — CometChat documentation." --- diff --git a/sdk/flutter/3.0/groups-add-members-to-group.mdx b/sdk/flutter/3.0/groups-add-members-to-group.mdx index c7e8c9502..ab05d4170 100644 --- a/sdk/flutter/3.0/groups-add-members-to-group.mdx +++ b/sdk/flutter/3.0/groups-add-members-to-group.mdx @@ -1,5 +1,6 @@ --- title: "Add Members To A Group" +description: "Add Members To A Group — CometChat documentation." --- diff --git a/sdk/flutter/3.0/groups-change-member-scope.mdx b/sdk/flutter/3.0/groups-change-member-scope.mdx index 6bdebc2f1..383a4d601 100644 --- a/sdk/flutter/3.0/groups-change-member-scope.mdx +++ b/sdk/flutter/3.0/groups-change-member-scope.mdx @@ -1,5 +1,6 @@ --- title: "Change Member Scope" +description: "Change Member Scope — CometChat documentation." --- diff --git a/sdk/flutter/3.0/groups-create-group.mdx b/sdk/flutter/3.0/groups-create-group.mdx index 21385f191..f118c80c8 100644 --- a/sdk/flutter/3.0/groups-create-group.mdx +++ b/sdk/flutter/3.0/groups-create-group.mdx @@ -1,5 +1,6 @@ --- title: "Create A Group" +description: "Create A Group — CometChat documentation." --- diff --git a/sdk/flutter/3.0/groups-delete-group.mdx b/sdk/flutter/3.0/groups-delete-group.mdx index aec7eaa30..8e3bb2ecc 100644 --- a/sdk/flutter/3.0/groups-delete-group.mdx +++ b/sdk/flutter/3.0/groups-delete-group.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Group" +description: "Delete A Group — CometChat documentation." --- diff --git a/sdk/flutter/3.0/groups-join-group.mdx b/sdk/flutter/3.0/groups-join-group.mdx index db8d9d3d2..6b333f678 100644 --- a/sdk/flutter/3.0/groups-join-group.mdx +++ b/sdk/flutter/3.0/groups-join-group.mdx @@ -1,5 +1,6 @@ --- title: "Join A Group" +description: "Join A Group — CometChat documentation." --- diff --git a/sdk/flutter/3.0/groups-kick-ban-members.mdx b/sdk/flutter/3.0/groups-kick-ban-members.mdx index e4f84fcfe..e567a5b2d 100644 --- a/sdk/flutter/3.0/groups-kick-ban-members.mdx +++ b/sdk/flutter/3.0/groups-kick-ban-members.mdx @@ -1,5 +1,6 @@ --- title: "Ban/Kick Member From A Group" +description: "Ban/Kick Member From A Group — CometChat documentation." --- diff --git a/sdk/flutter/3.0/groups-leave-group.mdx b/sdk/flutter/3.0/groups-leave-group.mdx index c42a60a6b..0840c4713 100644 --- a/sdk/flutter/3.0/groups-leave-group.mdx +++ b/sdk/flutter/3.0/groups-leave-group.mdx @@ -1,5 +1,6 @@ --- title: "Leave A Group" +description: "Leave A Group — CometChat documentation." --- diff --git a/sdk/flutter/3.0/groups-retrieve-group-members.mdx b/sdk/flutter/3.0/groups-retrieve-group-members.mdx index 13e637b05..59f8498f1 100644 --- a/sdk/flutter/3.0/groups-retrieve-group-members.mdx +++ b/sdk/flutter/3.0/groups-retrieve-group-members.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Group Members" +description: "Retrieve Group Members — CometChat documentation." --- diff --git a/sdk/flutter/3.0/groups-retrieve-groups.mdx b/sdk/flutter/3.0/groups-retrieve-groups.mdx index 6def7eff8..b9f2b5f1e 100644 --- a/sdk/flutter/3.0/groups-retrieve-groups.mdx +++ b/sdk/flutter/3.0/groups-retrieve-groups.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Groups" +description: "Retrieve Groups — CometChat documentation." --- diff --git a/sdk/flutter/3.0/groups-transfer-group-ownership.mdx b/sdk/flutter/3.0/groups-transfer-group-ownership.mdx index f5cbd03fe..09bf7623f 100644 --- a/sdk/flutter/3.0/groups-transfer-group-ownership.mdx +++ b/sdk/flutter/3.0/groups-transfer-group-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Group Ownership" +description: "Transfer Group Ownership — CometChat documentation." --- diff --git a/sdk/flutter/3.0/groups-update-group.mdx b/sdk/flutter/3.0/groups-update-group.mdx index 5ee68e89a..f7915ed40 100644 --- a/sdk/flutter/3.0/groups-update-group.mdx +++ b/sdk/flutter/3.0/groups-update-group.mdx @@ -1,5 +1,6 @@ --- title: "Update A Group" +description: "Update A Group — CometChat documentation." --- diff --git a/sdk/flutter/3.0/groups.mdx b/sdk/flutter/3.0/groups.mdx index 4f3d1c363..2df1802aa 100644 --- a/sdk/flutter/3.0/groups.mdx +++ b/sdk/flutter/3.0/groups.mdx @@ -1,6 +1,7 @@ --- title: "Groups" sidebarTitle: "Overview" +description: "Groups — CometChat documentation." --- diff --git a/sdk/flutter/3.0/key-concepts.mdx b/sdk/flutter/3.0/key-concepts.mdx index 64d8a4d1e..026ef419a 100644 --- a/sdk/flutter/3.0/key-concepts.mdx +++ b/sdk/flutter/3.0/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- diff --git a/sdk/flutter/3.0/message-structure-and-hierarchy.mdx b/sdk/flutter/3.0/message-structure-and-hierarchy.mdx index 1e2ffd31b..655ee190e 100644 --- a/sdk/flutter/3.0/message-structure-and-hierarchy.mdx +++ b/sdk/flutter/3.0/message-structure-and-hierarchy.mdx @@ -1,5 +1,6 @@ --- title: "Message Structure And Hierarchy" +description: "Message Structure And Hierarchy — CometChat documentation." --- diff --git a/sdk/flutter/3.0/messaging-additional-message-filtering.mdx b/sdk/flutter/3.0/messaging-additional-message-filtering.mdx index 1fb867693..0299a36ae 100644 --- a/sdk/flutter/3.0/messaging-additional-message-filtering.mdx +++ b/sdk/flutter/3.0/messaging-additional-message-filtering.mdx @@ -1,5 +1,6 @@ --- title: "Additional Message Filtering" +description: "Additional Message Filtering — CometChat documentation." --- diff --git a/sdk/flutter/3.0/messaging-delete-conversation.mdx b/sdk/flutter/3.0/messaging-delete-conversation.mdx index bc20638bc..eb84f5659 100644 --- a/sdk/flutter/3.0/messaging-delete-conversation.mdx +++ b/sdk/flutter/3.0/messaging-delete-conversation.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Conversation" +description: "Delete A Conversation — CometChat documentation." --- @@ -43,7 +44,7 @@ await CometChat.deleteConversation(conversationWith, conversationType, -This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](https://api-explorer.cometchat.com/reference/deletes-conversation). +This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](/rest-api/chat-apis). The `deleteConversation()` method takes the following parameters: diff --git a/sdk/flutter/3.0/messaging-delete-message.mdx b/sdk/flutter/3.0/messaging-delete-message.mdx index 304c3a95a..180b57448 100644 --- a/sdk/flutter/3.0/messaging-delete-message.mdx +++ b/sdk/flutter/3.0/messaging-delete-message.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Message" +description: "Delete A Message — CometChat documentation." --- diff --git a/sdk/flutter/3.0/messaging-edit-message.mdx b/sdk/flutter/3.0/messaging-edit-message.mdx index 982bb6b48..ef7c560d8 100644 --- a/sdk/flutter/3.0/messaging-edit-message.mdx +++ b/sdk/flutter/3.0/messaging-edit-message.mdx @@ -1,5 +1,6 @@ --- title: "Edit A Message" +description: "Edit A Message — CometChat documentation." --- diff --git a/sdk/flutter/3.0/messaging-receipts.mdx b/sdk/flutter/3.0/messaging-receipts.mdx index f95a25218..05d4d1911 100644 --- a/sdk/flutter/3.0/messaging-receipts.mdx +++ b/sdk/flutter/3.0/messaging-receipts.mdx @@ -1,5 +1,6 @@ --- title: "Delivery & Read Receipts" +description: "Delivery & Read Receipts — CometChat documentation." --- diff --git a/sdk/flutter/3.0/messaging-receive-messages.mdx b/sdk/flutter/3.0/messaging-receive-messages.mdx index 59bf5d373..fb2f99029 100644 --- a/sdk/flutter/3.0/messaging-receive-messages.mdx +++ b/sdk/flutter/3.0/messaging-receive-messages.mdx @@ -1,5 +1,6 @@ --- title: "Receive Messages" +description: "Receive Messages — CometChat documentation." --- diff --git a/sdk/flutter/3.0/messaging-retrieve-conversations.mdx b/sdk/flutter/3.0/messaging-retrieve-conversations.mdx index a45683f29..56dae72a7 100644 --- a/sdk/flutter/3.0/messaging-retrieve-conversations.mdx +++ b/sdk/flutter/3.0/messaging-retrieve-conversations.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Conversations" +description: "Retrieve Conversations — CometChat documentation." --- diff --git a/sdk/flutter/3.0/messaging-send-message.mdx b/sdk/flutter/3.0/messaging-send-message.mdx index 06eee49af..44e614f56 100644 --- a/sdk/flutter/3.0/messaging-send-message.mdx +++ b/sdk/flutter/3.0/messaging-send-message.mdx @@ -1,5 +1,6 @@ --- title: "Send A Message" +description: "Send A Message — CometChat documentation." --- diff --git a/sdk/flutter/3.0/messaging-transient-messages.mdx b/sdk/flutter/3.0/messaging-transient-messages.mdx index d36ee1291..671c56b45 100644 --- a/sdk/flutter/3.0/messaging-transient-messages.mdx +++ b/sdk/flutter/3.0/messaging-transient-messages.mdx @@ -1,5 +1,6 @@ --- title: "Transient Messages" +description: "Transient Messages — CometChat documentation." --- diff --git a/sdk/flutter/3.0/messaging-typing-indicators.mdx b/sdk/flutter/3.0/messaging-typing-indicators.mdx index a7634ac39..d55e1045d 100644 --- a/sdk/flutter/3.0/messaging-typing-indicators.mdx +++ b/sdk/flutter/3.0/messaging-typing-indicators.mdx @@ -1,5 +1,6 @@ --- title: "Typing Indicators" +description: "Typing Indicators — CometChat documentation." --- diff --git a/sdk/flutter/3.0/messaging.mdx b/sdk/flutter/3.0/messaging.mdx index cf17535e6..75550b972 100644 --- a/sdk/flutter/3.0/messaging.mdx +++ b/sdk/flutter/3.0/messaging.mdx @@ -1,6 +1,7 @@ --- title: "Messaging" sidebarTitle: "Overview" +description: "Messaging — CometChat documentation." --- diff --git a/sdk/flutter/3.0/overview.mdx b/sdk/flutter/3.0/overview.mdx index 629fbcb92..dff2cb788 100644 --- a/sdk/flutter/3.0/overview.mdx +++ b/sdk/flutter/3.0/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- This guide demonstrates how to add chat to a Flutter application. Before you begin, we strongly recommend you read the [Key Concepts](/sdk/flutter/3.0/key-concepts) guide. diff --git a/sdk/flutter/3.0/presenter.mdx b/sdk/flutter/3.0/presenter.mdx index a25886d45..2c125055b 100644 --- a/sdk/flutter/3.0/presenter.mdx +++ b/sdk/flutter/3.0/presenter.mdx @@ -1,5 +1,6 @@ --- title: "Presenter Mode" +description: "Presenter Mode — CometChat documentation." --- diff --git a/sdk/flutter/3.0/rate-limits.mdx b/sdk/flutter/3.0/rate-limits.mdx index 2b0549eba..903d0679d 100644 --- a/sdk/flutter/3.0/rate-limits.mdx +++ b/sdk/flutter/3.0/rate-limits.mdx @@ -1,5 +1,6 @@ --- title: "Rate Limits" +description: "Rate Limits — CometChat documentation." --- diff --git a/sdk/flutter/3.0/recording.mdx b/sdk/flutter/3.0/recording.mdx index 4b8ab7f92..db0d87649 100644 --- a/sdk/flutter/3.0/recording.mdx +++ b/sdk/flutter/3.0/recording.mdx @@ -1,5 +1,6 @@ --- title: "Recording" +description: "Recording — CometChat documentation." --- diff --git a/sdk/flutter/3.0/resources-all-real-time-listeners.mdx b/sdk/flutter/3.0/resources-all-real-time-listeners.mdx index 98829a427..239eaf271 100644 --- a/sdk/flutter/3.0/resources-all-real-time-listeners.mdx +++ b/sdk/flutter/3.0/resources-all-real-time-listeners.mdx @@ -1,5 +1,6 @@ --- title: "All Real Time Listeners" +description: "All Real Time Listeners — CometChat documentation." --- diff --git a/sdk/flutter/3.0/setup.mdx b/sdk/flutter/3.0/setup.mdx index b30003c1c..c1f2b464f 100644 --- a/sdk/flutter/3.0/setup.mdx +++ b/sdk/flutter/3.0/setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/flutter/3.0/threaded-messages.mdx b/sdk/flutter/3.0/threaded-messages.mdx index 785b2f446..6519065d8 100644 --- a/sdk/flutter/3.0/threaded-messages.mdx +++ b/sdk/flutter/3.0/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- diff --git a/sdk/flutter/3.0/user-presence.mdx b/sdk/flutter/3.0/user-presence.mdx index 56afa9048..d99305cff 100644 --- a/sdk/flutter/3.0/user-presence.mdx +++ b/sdk/flutter/3.0/user-presence.mdx @@ -1,5 +1,6 @@ --- title: "User Presence" +description: "User Presence — CometChat documentation." --- diff --git a/sdk/flutter/3.0/users-block-users.mdx b/sdk/flutter/3.0/users-block-users.mdx index 70c2f36d4..acd822560 100644 --- a/sdk/flutter/3.0/users-block-users.mdx +++ b/sdk/flutter/3.0/users-block-users.mdx @@ -1,5 +1,6 @@ --- title: "Block Users" +description: "Block Users — CometChat documentation." --- diff --git a/sdk/flutter/3.0/users-retrieve-users.mdx b/sdk/flutter/3.0/users-retrieve-users.mdx index 103760ded..4ffd5f854 100644 --- a/sdk/flutter/3.0/users-retrieve-users.mdx +++ b/sdk/flutter/3.0/users-retrieve-users.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Users" +description: "Retrieve Users — CometChat documentation." --- diff --git a/sdk/flutter/3.0/users-user-management.mdx b/sdk/flutter/3.0/users-user-management.mdx index fbf53b30e..f4148d394 100644 --- a/sdk/flutter/3.0/users-user-management.mdx +++ b/sdk/flutter/3.0/users-user-management.mdx @@ -1,5 +1,6 @@ --- title: "User Management" +description: "User Management — CometChat documentation." --- @@ -20,7 +21,7 @@ Summing up- ## Creating a user -Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [creating a user](https://api-explorer.cometchat.com/reference/create-user) and use the appropriate code sample based on your backend language. +Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [creating a user](/rest-api/chat-apis) and use the appropriate code sample based on your backend language. However, if you wish to create users on the fly, you can use the `createUser()` method. This method takes a `User` object and the `API Key` as input parameters and returns the created `User` object if the request is successful. @@ -55,7 +56,7 @@ UID can be alphanumeric with underscore and hyphen. Spaces, punctuation and othe ## Updating a user -Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](https://api-explorer.cometchat.com/reference/update-user) section. However, this can be achieved on the fly as well using the `updateUser()` method. This method takes a `User` object and the API Key as inputs and returns the updated `User` object on successful execution of the request. +Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](/rest-api/chat-apis) section. However, this can be achieved on the fly as well using the `updateUser()` method. This method takes a `User` object and the API Key as inputs and returns the updated `User` object on successful execution of the request. Please make sure the `User` object provided to the `updateUser()` method has the `UID` of the user to be updated set. @@ -84,7 +85,7 @@ By using the `updateCurrentUserDetails()` method one can only update the logged- ## Deleting a user -Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](https://api-explorer.cometchat.com/reference/delete-user)section. +Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](/rest-api/chat-apis)section. ## User Class diff --git a/sdk/flutter/3.0/users.mdx b/sdk/flutter/3.0/users.mdx index b99024c2a..f8bbff777 100644 --- a/sdk/flutter/3.0/users.mdx +++ b/sdk/flutter/3.0/users.mdx @@ -1,6 +1,7 @@ --- title: "Users" sidebarTitle: "Overview" +description: "Users — CometChat documentation." --- diff --git a/sdk/flutter/3.0/video-view-customisation.mdx b/sdk/flutter/3.0/video-view-customisation.mdx index cbcf5830d..f9d3b0913 100644 --- a/sdk/flutter/3.0/video-view-customisation.mdx +++ b/sdk/flutter/3.0/video-view-customisation.mdx @@ -1,5 +1,6 @@ --- title: "Video View Customisation" +description: "Video View Customisation — CometChat documentation." --- diff --git a/sdk/flutter/additional-message-filtering.mdx b/sdk/flutter/additional-message-filtering.mdx index 01dcd182d..cf46d3737 100644 --- a/sdk/flutter/additional-message-filtering.mdx +++ b/sdk/flutter/additional-message-filtering.mdx @@ -1,5 +1,6 @@ --- title: "Additional Message Filtering" +description: "Additional Message Filtering — CometChat documentation." --- diff --git a/sdk/flutter/advanced-overview.mdx b/sdk/flutter/advanced-overview.mdx index 7a8e791f6..91201470d 100644 --- a/sdk/flutter/advanced-overview.mdx +++ b/sdk/flutter/advanced-overview.mdx @@ -1,6 +1,7 @@ --- title: "Advanced" sidebarTitle: "Overview" +description: "Overview of Advanced in CometChat." --- diff --git a/sdk/flutter/ai-agents.mdx b/sdk/flutter/ai-agents.mdx index 1ee853823..2658fcd2a 100644 --- a/sdk/flutter/ai-agents.mdx +++ b/sdk/flutter/ai-agents.mdx @@ -1,5 +1,6 @@ --- title: "AI Agents" +description: "AI Agents — CometChat documentation." --- # AI Agents Overview diff --git a/sdk/flutter/ai-chatbots-overview.mdx b/sdk/flutter/ai-chatbots-overview.mdx index 7a460169b..9ce5d090d 100644 --- a/sdk/flutter/ai-chatbots-overview.mdx +++ b/sdk/flutter/ai-chatbots-overview.mdx @@ -1,4 +1,5 @@ --- title: "Bots" url: "/ai-chatbots/overview" +description: "Navigate to Bots documentation." --- diff --git a/sdk/flutter/ai-moderation.mdx b/sdk/flutter/ai-moderation.mdx index e0414eb82..0de140cde 100644 --- a/sdk/flutter/ai-moderation.mdx +++ b/sdk/flutter/ai-moderation.mdx @@ -1,5 +1,6 @@ --- title: "AI Moderation" +description: "AI Moderation — CometChat documentation." --- ## Overview diff --git a/sdk/flutter/ai-user-copilot-overview.mdx b/sdk/flutter/ai-user-copilot-overview.mdx index 3e798a3fb..eb49fe85a 100644 --- a/sdk/flutter/ai-user-copilot-overview.mdx +++ b/sdk/flutter/ai-user-copilot-overview.mdx @@ -1,4 +1,5 @@ --- title: "AI" url: "/fundamentals/ai-user-copilot/overview" +description: "Navigate to AI documentation." --- \ No newline at end of file diff --git a/sdk/flutter/authentication-overview.mdx b/sdk/flutter/authentication-overview.mdx index 5157b3883..188becb82 100644 --- a/sdk/flutter/authentication-overview.mdx +++ b/sdk/flutter/authentication-overview.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Overview" +description: "Overview of Authentication in CometChat." --- @@ -10,7 +11,7 @@ sidebarTitle: "Overview" Before you login the user, you must add the user to CometChat. 1. **For proof of concept/MVPs**: Create the user using the [CometChat Dashboard](https://app.cometchat.com/). -2. **For production apps**: Use the CometChat [Create User API](https://api-explorer.cometchat.com/reference/creates-user) to create the user when your user signs up in your app. +2. **For production apps**: Use the CometChat [Create User API](/rest-api/chat-apis) to create the user when your user signs up in your app. @@ -64,8 +65,8 @@ After the user logs in, their information is returned in the `User` object. This advanced authentication procedure does not use the Auth Key directly in your client code thus ensuring safety. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user every time the user logs in to your app. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user every time the user logs in to your app. 3. Pass the **Auth Token** to your client and use it in the `login()` method. diff --git a/sdk/flutter/block-users.mdx b/sdk/flutter/block-users.mdx index 8613e6df1..3e5d8a67c 100644 --- a/sdk/flutter/block-users.mdx +++ b/sdk/flutter/block-users.mdx @@ -1,5 +1,6 @@ --- title: "Block Users" +description: "Block Users — CometChat documentation." --- diff --git a/sdk/flutter/call-logs.mdx b/sdk/flutter/call-logs.mdx index 7965eaa21..dfccd310b 100644 --- a/sdk/flutter/call-logs.mdx +++ b/sdk/flutter/call-logs.mdx @@ -1,5 +1,6 @@ --- title: "Call Logs" +description: "Call Logs — CometChat documentation." --- diff --git a/sdk/flutter/calling-overview.mdx b/sdk/flutter/calling-overview.mdx index 61fbffcfe..008ad9e56 100644 --- a/sdk/flutter/calling-overview.mdx +++ b/sdk/flutter/calling-overview.mdx @@ -1,6 +1,7 @@ --- title: "Calling" sidebarTitle: "Overview" +description: "Overview of Calling in CometChat." --- ## Overview diff --git a/sdk/flutter/calling-setup.mdx b/sdk/flutter/calling-setup.mdx index eb0dc43ea..b9fada42e 100644 --- a/sdk/flutter/calling-setup.mdx +++ b/sdk/flutter/calling-setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/flutter/changelog.mdx b/sdk/flutter/changelog.mdx index eb92a1622..08d037855 100644 --- a/sdk/flutter/changelog.mdx +++ b/sdk/flutter/changelog.mdx @@ -1,4 +1,5 @@ --- title: "Changelog" url: "https://github.com/cometchat/chat-sdk-flutter/releases" +description: "Navigate to Changelog documentation." --- \ No newline at end of file diff --git a/sdk/flutter/connection-behaviour.mdx b/sdk/flutter/connection-behaviour.mdx index ba5b683a9..e6620b0b7 100644 --- a/sdk/flutter/connection-behaviour.mdx +++ b/sdk/flutter/connection-behaviour.mdx @@ -1,5 +1,6 @@ --- title: "Connection Behaviour" +description: "Connection Behaviour — CometChat documentation." --- diff --git a/sdk/flutter/connection-status.mdx b/sdk/flutter/connection-status.mdx index a0877d610..66b2e1c1c 100644 --- a/sdk/flutter/connection-status.mdx +++ b/sdk/flutter/connection-status.mdx @@ -1,5 +1,6 @@ --- title: "Connection Status" +description: "Connection Status — CometChat documentation." --- diff --git a/sdk/flutter/create-group.mdx b/sdk/flutter/create-group.mdx index c5eba5686..ae216a8d1 100644 --- a/sdk/flutter/create-group.mdx +++ b/sdk/flutter/create-group.mdx @@ -1,5 +1,6 @@ --- title: "Create A Group" +description: "Create A Group — CometChat documentation." --- diff --git a/sdk/flutter/default-call.mdx b/sdk/flutter/default-call.mdx index e28cd7787..618c4fcd0 100644 --- a/sdk/flutter/default-call.mdx +++ b/sdk/flutter/default-call.mdx @@ -1,5 +1,6 @@ --- title: "Ringing" +description: "Ringing — CometChat documentation." --- ## Overview diff --git a/sdk/flutter/delete-conversation.mdx b/sdk/flutter/delete-conversation.mdx index 57473b8ca..7da733587 100644 --- a/sdk/flutter/delete-conversation.mdx +++ b/sdk/flutter/delete-conversation.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Conversation" +description: "Delete A Conversation — CometChat documentation." --- @@ -43,7 +44,7 @@ await CometChat.deleteConversation(conversationWith, conversationType, -This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](https://api-explorer.cometchat.com/reference/deletes-conversation). +This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](/rest-api/chat-apis). The `deleteConversation()` method takes the following parameters: diff --git a/sdk/flutter/delete-group.mdx b/sdk/flutter/delete-group.mdx index 2bc36f2e0..d294ff361 100644 --- a/sdk/flutter/delete-group.mdx +++ b/sdk/flutter/delete-group.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Group" +description: "Delete A Group — CometChat documentation." --- diff --git a/sdk/flutter/delete-message.mdx b/sdk/flutter/delete-message.mdx index ebf63f117..bd7401bb8 100644 --- a/sdk/flutter/delete-message.mdx +++ b/sdk/flutter/delete-message.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Message" +description: "Delete A Message — CometChat documentation." --- diff --git a/sdk/flutter/delivery-read-receipts.mdx b/sdk/flutter/delivery-read-receipts.mdx index 1d1716d1e..65de5fcf1 100644 --- a/sdk/flutter/delivery-read-receipts.mdx +++ b/sdk/flutter/delivery-read-receipts.mdx @@ -1,5 +1,6 @@ --- title: "Delivery & Read Receipts" +description: "Delivery & Read Receipts — CometChat documentation." --- diff --git a/sdk/flutter/direct-call.mdx b/sdk/flutter/direct-call.mdx index 5b55bf4e9..74e447633 100644 --- a/sdk/flutter/direct-call.mdx +++ b/sdk/flutter/direct-call.mdx @@ -1,5 +1,6 @@ --- title: "Call Session" +description: "Call Session — CometChat documentation." --- ## Overview diff --git a/sdk/flutter/edit-message.mdx b/sdk/flutter/edit-message.mdx index 76ae225c6..2d8f33728 100644 --- a/sdk/flutter/edit-message.mdx +++ b/sdk/flutter/edit-message.mdx @@ -1,5 +1,6 @@ --- title: "Edit A Message" +description: "Edit A Message — CometChat documentation." --- diff --git a/sdk/flutter/extensions-overview.mdx b/sdk/flutter/extensions-overview.mdx index 29c1774bd..d7eadbbe5 100644 --- a/sdk/flutter/extensions-overview.mdx +++ b/sdk/flutter/extensions-overview.mdx @@ -1,4 +1,5 @@ --- title: "Extensions" url: "/fundamentals/extensions-overview" +description: "Navigate to Extensions documentation." --- \ No newline at end of file diff --git a/sdk/flutter/flag-message.mdx b/sdk/flutter/flag-message.mdx index 02b71550c..76ff01d61 100644 --- a/sdk/flutter/flag-message.mdx +++ b/sdk/flutter/flag-message.mdx @@ -1,5 +1,6 @@ --- title: "Flag Message" +description: "Flag Message — CometChat documentation." --- ## Overview diff --git a/sdk/flutter/flutter-overview.mdx b/sdk/flutter/flutter-overview.mdx index acc4dc70c..954755d05 100644 --- a/sdk/flutter/flutter-overview.mdx +++ b/sdk/flutter/flutter-overview.mdx @@ -1,4 +1,5 @@ --- title: "Flutter Chat UI Kit" url: "/ui-kit/flutter/overview" +description: "Navigate to Flutter Chat UI Kit documentation." --- \ No newline at end of file diff --git a/sdk/flutter/group-add-members.mdx b/sdk/flutter/group-add-members.mdx index e125be98b..ee93d0e0e 100644 --- a/sdk/flutter/group-add-members.mdx +++ b/sdk/flutter/group-add-members.mdx @@ -1,5 +1,6 @@ --- title: "Add Members To A Group" +description: "Add Members To A Group — CometChat documentation." --- diff --git a/sdk/flutter/group-change-member-scope.mdx b/sdk/flutter/group-change-member-scope.mdx index 412b54b93..19e34596b 100644 --- a/sdk/flutter/group-change-member-scope.mdx +++ b/sdk/flutter/group-change-member-scope.mdx @@ -1,5 +1,6 @@ --- title: "Change Member Scope" +description: "Change Member Scope — CometChat documentation." --- diff --git a/sdk/flutter/group-kick-member.mdx b/sdk/flutter/group-kick-member.mdx index adaa4c841..4b6478aa3 100644 --- a/sdk/flutter/group-kick-member.mdx +++ b/sdk/flutter/group-kick-member.mdx @@ -1,5 +1,6 @@ --- title: "Ban/Kick Member From A Group" +description: "Ban/Kick Member From A Group — CometChat documentation." --- diff --git a/sdk/flutter/groups-overview.mdx b/sdk/flutter/groups-overview.mdx index 99e877026..00b7d6b44 100644 --- a/sdk/flutter/groups-overview.mdx +++ b/sdk/flutter/groups-overview.mdx @@ -1,6 +1,7 @@ --- title: "Groups" sidebarTitle: "Overview" +description: "Overview of Groups in CometChat." --- diff --git a/sdk/flutter/interactive-messages.mdx b/sdk/flutter/interactive-messages.mdx index ce85974c3..4dbcd40bf 100644 --- a/sdk/flutter/interactive-messages.mdx +++ b/sdk/flutter/interactive-messages.mdx @@ -1,5 +1,6 @@ --- title: "Interactive Messages" +description: "Interactive Messages — CometChat documentation." --- diff --git a/sdk/flutter/join-group.mdx b/sdk/flutter/join-group.mdx index 41e6b00da..12ef9770a 100644 --- a/sdk/flutter/join-group.mdx +++ b/sdk/flutter/join-group.mdx @@ -1,5 +1,6 @@ --- title: "Join A Group" +description: "Join A Group — CometChat documentation." --- diff --git a/sdk/flutter/key-concepts.mdx b/sdk/flutter/key-concepts.mdx index c0c79ebbb..5759aa49a 100644 --- a/sdk/flutter/key-concepts.mdx +++ b/sdk/flutter/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- diff --git a/sdk/flutter/leave-group.mdx b/sdk/flutter/leave-group.mdx index f73638b8d..455c7d5f4 100644 --- a/sdk/flutter/leave-group.mdx +++ b/sdk/flutter/leave-group.mdx @@ -1,5 +1,6 @@ --- title: "Leave A Group" +description: "Leave A Group — CometChat documentation." --- diff --git a/sdk/flutter/login-listeners.mdx b/sdk/flutter/login-listeners.mdx index 7d720a796..1bed3168c 100644 --- a/sdk/flutter/login-listeners.mdx +++ b/sdk/flutter/login-listeners.mdx @@ -1,5 +1,6 @@ --- title: "Login Listeners" +description: "Login Listeners — CometChat documentation." --- diff --git a/sdk/flutter/mentions.mdx b/sdk/flutter/mentions.mdx index 2a0ad288e..9bbc30ce0 100644 --- a/sdk/flutter/mentions.mdx +++ b/sdk/flutter/mentions.mdx @@ -1,5 +1,6 @@ --- title: "Mentions" +description: "Mentions — CometChat documentation." --- diff --git a/sdk/flutter/message-structure-and-hierarchy.mdx b/sdk/flutter/message-structure-and-hierarchy.mdx index 97385b653..df53b7ad2 100644 --- a/sdk/flutter/message-structure-and-hierarchy.mdx +++ b/sdk/flutter/message-structure-and-hierarchy.mdx @@ -1,5 +1,6 @@ --- title: "Message Structure And Hierarchy" +description: "Message Structure And Hierarchy — CometChat documentation." --- diff --git a/sdk/flutter/messaging-overview.mdx b/sdk/flutter/messaging-overview.mdx index 49e55d1d6..25e394c1d 100644 --- a/sdk/flutter/messaging-overview.mdx +++ b/sdk/flutter/messaging-overview.mdx @@ -1,6 +1,7 @@ --- title: "Messaging" sidebarTitle: "Overview" +description: "Overview of Messaging in CometChat." --- diff --git a/sdk/flutter/overview.mdx b/sdk/flutter/overview.mdx index 7d60a459a..ae086250c 100644 --- a/sdk/flutter/overview.mdx +++ b/sdk/flutter/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/sdk/flutter/presenter-mode.mdx b/sdk/flutter/presenter-mode.mdx index 88887cb43..5b3a92c7b 100644 --- a/sdk/flutter/presenter-mode.mdx +++ b/sdk/flutter/presenter-mode.mdx @@ -1,5 +1,6 @@ --- title: "Presenter Mode" +description: "Presenter Mode — CometChat documentation." --- diff --git a/sdk/flutter/rate-limits.mdx b/sdk/flutter/rate-limits.mdx index 17581b144..796b22b12 100644 --- a/sdk/flutter/rate-limits.mdx +++ b/sdk/flutter/rate-limits.mdx @@ -1,5 +1,6 @@ --- title: "Rate Limits" +description: "Rate Limits — CometChat documentation." --- diff --git a/sdk/flutter/reactions.mdx b/sdk/flutter/reactions.mdx index 86824cf6c..e6d5ca246 100644 --- a/sdk/flutter/reactions.mdx +++ b/sdk/flutter/reactions.mdx @@ -1,5 +1,6 @@ --- title: "Reactions" +description: "Reactions — CometChat documentation." --- diff --git a/sdk/flutter/real-time-listeners.mdx b/sdk/flutter/real-time-listeners.mdx index e1685bb8e..36c7af613 100644 --- a/sdk/flutter/real-time-listeners.mdx +++ b/sdk/flutter/real-time-listeners.mdx @@ -1,5 +1,6 @@ --- title: "All Real Time Listeners" +description: "All Real Time Listeners — CometChat documentation." --- diff --git a/sdk/flutter/receive-messages.mdx b/sdk/flutter/receive-messages.mdx index 92246df7f..af72c310e 100644 --- a/sdk/flutter/receive-messages.mdx +++ b/sdk/flutter/receive-messages.mdx @@ -1,5 +1,6 @@ --- title: "Receive A Message" +description: "Receive A Message — CometChat documentation." --- diff --git a/sdk/flutter/recording.mdx b/sdk/flutter/recording.mdx index 54935f250..dae5e5964 100644 --- a/sdk/flutter/recording.mdx +++ b/sdk/flutter/recording.mdx @@ -1,5 +1,6 @@ --- title: "Recording" +description: "Recording — CometChat documentation." --- diff --git a/sdk/flutter/resources-overview.mdx b/sdk/flutter/resources-overview.mdx index ef8fe0d02..8d53fba6f 100644 --- a/sdk/flutter/resources-overview.mdx +++ b/sdk/flutter/resources-overview.mdx @@ -1,6 +1,7 @@ --- title: "Resources" sidebarTitle: "Overview" +description: "Overview of Resources in CometChat." --- diff --git a/sdk/flutter/retrieve-conversations.mdx b/sdk/flutter/retrieve-conversations.mdx index 7008851cc..0da5d647d 100644 --- a/sdk/flutter/retrieve-conversations.mdx +++ b/sdk/flutter/retrieve-conversations.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Conversations" +description: "Retrieve Conversations — CometChat documentation." --- diff --git a/sdk/flutter/retrieve-group-members.mdx b/sdk/flutter/retrieve-group-members.mdx index 518ba2801..e73787f99 100644 --- a/sdk/flutter/retrieve-group-members.mdx +++ b/sdk/flutter/retrieve-group-members.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Group Members" +description: "Retrieve Group Members — CometChat documentation." --- diff --git a/sdk/flutter/retrieve-groups.mdx b/sdk/flutter/retrieve-groups.mdx index 23417e0b0..b387769ff 100644 --- a/sdk/flutter/retrieve-groups.mdx +++ b/sdk/flutter/retrieve-groups.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Groups" +description: "Retrieve Groups — CometChat documentation." --- diff --git a/sdk/flutter/retrieve-users.mdx b/sdk/flutter/retrieve-users.mdx index 4483e77bb..0ae60d24f 100644 --- a/sdk/flutter/retrieve-users.mdx +++ b/sdk/flutter/retrieve-users.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Users" +description: "Retrieve Users — CometChat documentation." --- diff --git a/sdk/flutter/send-message.mdx b/sdk/flutter/send-message.mdx index fc2b812b6..4c7de0287 100644 --- a/sdk/flutter/send-message.mdx +++ b/sdk/flutter/send-message.mdx @@ -1,5 +1,6 @@ --- title: "Send A Message" +description: "Send A Message — CometChat documentation." --- diff --git a/sdk/flutter/session-timeout.mdx b/sdk/flutter/session-timeout.mdx index 23470881f..99bf3ecb0 100644 --- a/sdk/flutter/session-timeout.mdx +++ b/sdk/flutter/session-timeout.mdx @@ -1,5 +1,6 @@ --- title: "Session Timeout Flow" +description: "Session Timeout Flow — CometChat documentation." --- diff --git a/sdk/flutter/setup.mdx b/sdk/flutter/setup.mdx index 77e8f1402..e81fe008d 100644 --- a/sdk/flutter/setup.mdx +++ b/sdk/flutter/setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/flutter/standalone-calling.mdx b/sdk/flutter/standalone-calling.mdx index cd1352adc..f0564098a 100644 --- a/sdk/flutter/standalone-calling.mdx +++ b/sdk/flutter/standalone-calling.mdx @@ -1,5 +1,6 @@ --- title: "Standalone Calling" +description: "Standalone Calling — CometChat documentation." --- ## Overview diff --git a/sdk/flutter/threaded-messages.mdx b/sdk/flutter/threaded-messages.mdx index 330506158..f635ce90b 100644 --- a/sdk/flutter/threaded-messages.mdx +++ b/sdk/flutter/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- diff --git a/sdk/flutter/transfer-group-ownership.mdx b/sdk/flutter/transfer-group-ownership.mdx index 5c2b8b668..a73858b88 100644 --- a/sdk/flutter/transfer-group-ownership.mdx +++ b/sdk/flutter/transfer-group-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Group Ownership" +description: "Transfer Group Ownership — CometChat documentation." --- diff --git a/sdk/flutter/transient-messages.mdx b/sdk/flutter/transient-messages.mdx index e39b5e46f..d0bf379e2 100644 --- a/sdk/flutter/transient-messages.mdx +++ b/sdk/flutter/transient-messages.mdx @@ -1,5 +1,6 @@ --- title: "Transient Messages" +description: "Transient Messages — CometChat documentation." --- diff --git a/sdk/flutter/typing-indicators.mdx b/sdk/flutter/typing-indicators.mdx index 9f04279c7..7cad62c20 100644 --- a/sdk/flutter/typing-indicators.mdx +++ b/sdk/flutter/typing-indicators.mdx @@ -1,5 +1,6 @@ --- title: "Typing Indicators" +description: "Typing Indicators — CometChat documentation." --- diff --git a/sdk/flutter/update-group.mdx b/sdk/flutter/update-group.mdx index c9353f983..75134a0c8 100644 --- a/sdk/flutter/update-group.mdx +++ b/sdk/flutter/update-group.mdx @@ -1,5 +1,6 @@ --- title: "Update A Group" +description: "Update A Group — CometChat documentation." --- diff --git a/sdk/flutter/upgrading-from-v3-guide.mdx b/sdk/flutter/upgrading-from-v3-guide.mdx index fad427ece..09e1f47b6 100644 --- a/sdk/flutter/upgrading-from-v3-guide.mdx +++ b/sdk/flutter/upgrading-from-v3-guide.mdx @@ -1,5 +1,6 @@ --- title: "Upgrading From V3" +description: "Upgrading From V3 — CometChat integration guide." --- diff --git a/sdk/flutter/user-management.mdx b/sdk/flutter/user-management.mdx index b58d3da36..80ff022e3 100644 --- a/sdk/flutter/user-management.mdx +++ b/sdk/flutter/user-management.mdx @@ -1,5 +1,6 @@ --- title: "User Management" +description: "User Management — CometChat documentation." --- @@ -20,7 +21,7 @@ Summing up- ## Creating a user -Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [creating a user](https://api-explorer.cometchat.com/reference/create-user) and use the appropriate code sample based on your backend language. +Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [creating a user](/rest-api/chat-apis) and use the appropriate code sample based on your backend language. However, if you wish to create users on the fly, you can use the `createUser()` method. This method takes a `User` object and the `API Key` as input parameters and returns the created `User` object if the request is successful. @@ -53,7 +54,7 @@ UID can be alphanumeric with underscore and hyphen. Spaces, punctuation and othe ## Updating a user -Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](https://api-explorer.cometchat.com/reference/update-user) section. However, this can be achieved on the fly as well using the `updateUser()` method. This method takes a `User` object and the API Key as inputs and returns the updated `User` object on successful execution of the request. +Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](/rest-api/chat-apis) section. However, this can be achieved on the fly as well using the `updateUser()` method. This method takes a `User` object and the API Key as inputs and returns the updated `User` object on successful execution of the request. Please make sure the `User` object provided to the `updateUser()` method has the `UID` of the user to be updated set. @@ -82,7 +83,7 @@ By using the `updateCurrentUserDetails()` method one can only update the logged- ## Deleting a user -Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](https://api-explorer.cometchat.com/reference/delete-user)section. +Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](/rest-api/chat-apis)section. ## User Class diff --git a/sdk/flutter/user-presence.mdx b/sdk/flutter/user-presence.mdx index a9721a3d9..7d9a9aff7 100644 --- a/sdk/flutter/user-presence.mdx +++ b/sdk/flutter/user-presence.mdx @@ -1,5 +1,6 @@ --- title: "User Presence" +description: "User Presence — CometChat documentation." --- diff --git a/sdk/flutter/users-overview.mdx b/sdk/flutter/users-overview.mdx index 3a340e5e3..a2267246a 100644 --- a/sdk/flutter/users-overview.mdx +++ b/sdk/flutter/users-overview.mdx @@ -1,6 +1,7 @@ --- title: "Users" sidebarTitle: "Overview" +description: "Overview of Users in CometChat." --- diff --git a/sdk/flutter/video-view-customisation.mdx b/sdk/flutter/video-view-customisation.mdx index d48d8ccdf..bd2da9395 100644 --- a/sdk/flutter/video-view-customisation.mdx +++ b/sdk/flutter/video-view-customisation.mdx @@ -1,5 +1,6 @@ --- title: "Video View Customisation" +description: "Video View Customisation — CometChat documentation." --- diff --git a/sdk/flutter/webhooks-overview.mdx b/sdk/flutter/webhooks-overview.mdx index 598d43500..c6059ded0 100644 --- a/sdk/flutter/webhooks-overview.mdx +++ b/sdk/flutter/webhooks-overview.mdx @@ -1,4 +1,5 @@ --- title: "Webhooks" url: "/fundamentals/webhooks-overview" +description: "Navigate to Webhooks documentation." --- \ No newline at end of file diff --git a/sdk/ionic-legacy/2.0/advanced-connection-listener.mdx b/sdk/ionic-legacy/2.0/advanced-connection-listener.mdx index 1fcc666b2..d672732de 100644 --- a/sdk/ionic-legacy/2.0/advanced-connection-listener.mdx +++ b/sdk/ionic-legacy/2.0/advanced-connection-listener.mdx @@ -1,5 +1,6 @@ --- title: "Connection Status" +description: "Connection Status — CometChat documentation." --- diff --git a/sdk/ionic-legacy/2.0/advanced.mdx b/sdk/ionic-legacy/2.0/advanced.mdx index 07e7ab601..955565099 100644 --- a/sdk/ionic-legacy/2.0/advanced.mdx +++ b/sdk/ionic-legacy/2.0/advanced.mdx @@ -1,6 +1,7 @@ --- title: "Advanced" sidebarTitle: "Overview" +description: "Advanced — CometChat documentation." --- diff --git a/sdk/ionic-legacy/2.0/authentication-login-listeners.mdx b/sdk/ionic-legacy/2.0/authentication-login-listeners.mdx index 379d4f65a..ef1a30256 100644 --- a/sdk/ionic-legacy/2.0/authentication-login-listeners.mdx +++ b/sdk/ionic-legacy/2.0/authentication-login-listeners.mdx @@ -1,5 +1,6 @@ --- title: "Login Listeners" +description: "Login Listeners — CometChat documentation." --- @@ -23,7 +24,7 @@ To add the `LoginListener`, you need to use the `addLoginListener()` method prov -``` +```javascript var listenerID = "UNIQUE_LISTENER_ID"; CometChat.addLoginListener( listenerID, @@ -52,7 +53,7 @@ In order to stop receiving events related to login and logout you need to use th -``` +```javascript var listenerID = "UNIQUE_LISTENER_ID"; CometChat.removeLoginListener(listenerID); ``` diff --git a/sdk/ionic-legacy/2.0/authentication.mdx b/sdk/ionic-legacy/2.0/authentication.mdx index 45ce91c68..664c3b2e5 100644 --- a/sdk/ionic-legacy/2.0/authentication.mdx +++ b/sdk/ionic-legacy/2.0/authentication.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Overview" +description: "Authentication — CometChat documentation." --- @@ -14,7 +15,7 @@ sidebarTitle: "Overview" Before you login the user, you must add the user to CometChat. 1. **For proof of concept/MVPs**: Create the user using the [CometChat Dashboard](https://app.cometchat.com). -2. **For production apps**: Use the CometChat [Create User API](https://api-explorer.cometchat.com/reference/creates-user) to create the user when your user signs up in your app. +2. **For production apps**: Use the CometChat [Create User API](/rest-api/chat-apis) to create the user when your user signs up in your app. **Sample Users** @@ -83,8 +84,8 @@ Be sure to use the **Auth Key** and not the **Rest API Key**. This ensures that This advanced authentication procedure does not use the Auth Key directly in your client code and thus ensuring that your Auth Key is not leaked even if the client code is reverse engineered. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `login()` method. diff --git a/sdk/ionic-legacy/2.0/bots.mdx b/sdk/ionic-legacy/2.0/bots.mdx index e224024de..52222f927 100644 --- a/sdk/ionic-legacy/2.0/bots.mdx +++ b/sdk/ionic-legacy/2.0/bots.mdx @@ -1,5 +1,6 @@ --- title: "Bots" +description: "Bots — CometChat documentation." --- diff --git a/sdk/ionic-legacy/2.0/calling-default-calling.mdx b/sdk/ionic-legacy/2.0/calling-default-calling.mdx index 60bad1fce..5e3a987ac 100644 --- a/sdk/ionic-legacy/2.0/calling-default-calling.mdx +++ b/sdk/ionic-legacy/2.0/calling-default-calling.mdx @@ -1,5 +1,6 @@ --- title: "Default Calling" +description: "Default Calling — CometChat documentation." --- @@ -29,7 +30,7 @@ The `initiateCall()` method sends a call request to a user or a group. -``` +```javascript var receiverID = "UID"; var callType = CometChat.CALL_TYPE.VIDEO; var receiverType = CometChat.RECEIVER_TYPE.USER; @@ -50,7 +51,7 @@ CometChat.initiateCall(call).then( -``` +```javascript var receiverID = "GUID"; var callType = CometChat.CALL_TYPE.VIDEO; var receiverType = CometChat.RECEIVER_TYPE.GROUP; diff --git a/sdk/ionic-legacy/2.0/calling-direct-calling.mdx b/sdk/ionic-legacy/2.0/calling-direct-calling.mdx index c4468c1bd..03527a01b 100644 --- a/sdk/ionic-legacy/2.0/calling-direct-calling.mdx +++ b/sdk/ionic-legacy/2.0/calling-direct-calling.mdx @@ -1,5 +1,6 @@ --- title: "Direct Calling" +description: "Direct Calling — CometChat documentation." --- diff --git a/sdk/ionic-legacy/2.0/calling.mdx b/sdk/ionic-legacy/2.0/calling.mdx index eb795df46..ef9671edc 100644 --- a/sdk/ionic-legacy/2.0/calling.mdx +++ b/sdk/ionic-legacy/2.0/calling.mdx @@ -1,6 +1,7 @@ --- title: "Calling" sidebarTitle: "Overview" +description: "Calling — CometChat documentation." --- diff --git a/sdk/ionic-legacy/2.0/groups-add-members-to-group.mdx b/sdk/ionic-legacy/2.0/groups-add-members-to-group.mdx index f5aab4a85..0d203ee7a 100644 --- a/sdk/ionic-legacy/2.0/groups-add-members-to-group.mdx +++ b/sdk/ionic-legacy/2.0/groups-add-members-to-group.mdx @@ -1,5 +1,6 @@ --- title: "Add Members To A Group" +description: "Add Members To A Group — CometChat documentation." --- @@ -18,7 +19,7 @@ You can add members to the group using the `addMembersToGroup()` method. This me -``` +```javascript let GUID = "GUID"; let UID = "UID"; let membersList = [ @@ -57,7 +58,7 @@ To receive real-time events whenever a new member is added to a group, you need -``` +```javascript var listenerID = "UNIQUE_LISTENER_ID"; CometChat.addGroupListener( diff --git a/sdk/ionic-legacy/2.0/groups-change-member-scope.mdx b/sdk/ionic-legacy/2.0/groups-change-member-scope.mdx index 9e2cd541e..e11b85956 100644 --- a/sdk/ionic-legacy/2.0/groups-change-member-scope.mdx +++ b/sdk/ionic-legacy/2.0/groups-change-member-scope.mdx @@ -1,5 +1,6 @@ --- title: "Change Member Scope" +description: "Change Member Scope — CometChat documentation." --- @@ -51,7 +52,7 @@ In order to receive real-time events for the change member scope event, you will -``` +```javascript let listenerID = "UNIQUE_LISTENER_ID"; CometChat.addGroupListener( diff --git a/sdk/ionic-legacy/2.0/groups-create-group.mdx b/sdk/ionic-legacy/2.0/groups-create-group.mdx index b1f38bd33..e7847394a 100644 --- a/sdk/ionic-legacy/2.0/groups-create-group.mdx +++ b/sdk/ionic-legacy/2.0/groups-create-group.mdx @@ -1,5 +1,6 @@ --- title: "Create A Group" +description: "Create A Group — CometChat documentation." --- @@ -29,7 +30,7 @@ The `groupType` needs to be either of the below 3 values: -``` +```javascript var GUID = "GUID"; var groupName = "Hello Group!"; var groupType = CometChat.GROUP_TYPE.PUBLIC; diff --git a/sdk/ionic-legacy/2.0/groups-delete-group.mdx b/sdk/ionic-legacy/2.0/groups-delete-group.mdx index aa08b2155..2d6283ddf 100644 --- a/sdk/ionic-legacy/2.0/groups-delete-group.mdx +++ b/sdk/ionic-legacy/2.0/groups-delete-group.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Group" +description: "Delete A Group — CometChat documentation." --- diff --git a/sdk/ionic-legacy/2.0/groups-join-group.mdx b/sdk/ionic-legacy/2.0/groups-join-group.mdx index b09b7c7a0..08c5843e5 100644 --- a/sdk/ionic-legacy/2.0/groups-join-group.mdx +++ b/sdk/ionic-legacy/2.0/groups-join-group.mdx @@ -1,5 +1,6 @@ --- title: "Join A Group" +description: "Join A Group — CometChat documentation." --- @@ -14,7 +15,7 @@ In order to start participating in group conversations, you will have to join a -``` +```javascript var GUID = "GUID"; var password = ""; var groupType = CometChat.GROUP_TYPE.PUBLIC; diff --git a/sdk/ionic-legacy/2.0/groups-kick-ban-members.mdx b/sdk/ionic-legacy/2.0/groups-kick-ban-members.mdx index 0ac48174b..f2c380a8e 100644 --- a/sdk/ionic-legacy/2.0/groups-kick-ban-members.mdx +++ b/sdk/ionic-legacy/2.0/groups-kick-ban-members.mdx @@ -1,5 +1,6 @@ --- title: "Ban/Kick Member From A Group" +description: "Ban/Kick Member From A Group — CometChat documentation." --- @@ -23,7 +24,7 @@ The Admin or Moderator of a group can kick a member out of the group using the ` -``` +```javascript var GUID = "GUID"; var UID = "UID"; @@ -56,7 +57,7 @@ The Admin or Moderator of the group can ban a member from the group using the `b -``` +```javascript var GUID = "GUID"; var UID = "UID"; @@ -89,7 +90,7 @@ Only Admin or Moderators of the group can unban a previously banned member from -``` +```javascript var GUID = "GUID"; var UID = "UID"; @@ -168,7 +169,7 @@ Once you have the object of the `BannedGroupMembersRequest` class, you need to c -``` +```javascript let GUID = "GUID"; let limit = 30; let bannedMembersRequest = new CometChat.BannedMembersRequestBuilder(GUID) @@ -207,7 +208,7 @@ In order to get real-time events for the kick/ban/unban group members you need t -``` +```javascript let listenerID = "UNIQUE_LISTENER_ID"; CometChat.addGroupListener( diff --git a/sdk/ionic-legacy/2.0/groups-leave-group.mdx b/sdk/ionic-legacy/2.0/groups-leave-group.mdx index 2f3bddd70..b03944a92 100644 --- a/sdk/ionic-legacy/2.0/groups-leave-group.mdx +++ b/sdk/ionic-legacy/2.0/groups-leave-group.mdx @@ -1,5 +1,6 @@ --- title: "Leave A Group" +description: "Leave A Group — CometChat documentation." --- diff --git a/sdk/ionic-legacy/2.0/groups-retrieve-group-members.mdx b/sdk/ionic-legacy/2.0/groups-retrieve-group-members.mdx index c17f5810c..bb5ce3c83 100644 --- a/sdk/ionic-legacy/2.0/groups-retrieve-group-members.mdx +++ b/sdk/ionic-legacy/2.0/groups-retrieve-group-members.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Group Members" +description: "Retrieve Group Members — CometChat documentation." --- @@ -22,7 +23,7 @@ This method sets the limit i.e. the number of members that should be fetched in -``` +```javascript let GUID = "GUID"; let limit = 30; let groupMembersRequest = new CometChat.GroupMembersRequestBuilder(GUID) @@ -40,7 +41,7 @@ This method allows you to set the search string based on which the group members -``` +```javascript let GUID = "GUID"; let limit = 30; let searchKeyword = "super"; @@ -60,7 +61,7 @@ This method allows you to fetch group members based on multiple scopes. -``` +```javascript let GUID = "GUID"; let limit = 30; let scopes = ["admin", "moderator"]; @@ -80,7 +81,7 @@ Once you have the object of the `GroupMembersRequest` class, you need to call th -``` +```javascript let GUID = "GUID"; let limit = 30; lett groupMemberRequest = new CometChat.GroupMembersRequestBuilder(GUID) diff --git a/sdk/ionic-legacy/2.0/groups-retrieve-groups.mdx b/sdk/ionic-legacy/2.0/groups-retrieve-groups.mdx index 2c2003572..fb918f3a6 100644 --- a/sdk/ionic-legacy/2.0/groups-retrieve-groups.mdx +++ b/sdk/ionic-legacy/2.0/groups-retrieve-groups.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Groups" +description: "Retrieve Groups — CometChat documentation." --- @@ -95,7 +96,7 @@ This property when set to true will fetch tags data along with the list of group -``` +```javascript let limit = 30; let groupsRequest = new CometChat.GroupsRequestBuilder() .setLimit(limit) @@ -115,7 +116,7 @@ The list of groups fetched will only have the public and password type groups. T -``` +```javascript let limit = 30; let groupsRequest = new CometChat.GroupsRequestBuilder() .setLimit(limit) diff --git a/sdk/ionic-legacy/2.0/groups-transfer-group-ownership.mdx b/sdk/ionic-legacy/2.0/groups-transfer-group-ownership.mdx index 08f89aa6f..2b55668f4 100644 --- a/sdk/ionic-legacy/2.0/groups-transfer-group-ownership.mdx +++ b/sdk/ionic-legacy/2.0/groups-transfer-group-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Group Ownership" +description: "Transfer Group Ownership — CometChat documentation." --- diff --git a/sdk/ionic-legacy/2.0/groups-update-group.mdx b/sdk/ionic-legacy/2.0/groups-update-group.mdx index d4a198bbe..b09a8616f 100644 --- a/sdk/ionic-legacy/2.0/groups-update-group.mdx +++ b/sdk/ionic-legacy/2.0/groups-update-group.mdx @@ -1,5 +1,6 @@ --- title: "Update A Group" +description: "Update A Group — CometChat documentation." --- @@ -16,7 +17,7 @@ You can update the existing details of the group using the `updateGroup()` metho -``` +```javascript var GUID = "GUID"; var groupName = "Hello Group"; var groupType = CometChat.GROUP_TYPE.PUBLIC; diff --git a/sdk/ionic-legacy/2.0/groups.mdx b/sdk/ionic-legacy/2.0/groups.mdx index 8a5496978..b89fc06aa 100644 --- a/sdk/ionic-legacy/2.0/groups.mdx +++ b/sdk/ionic-legacy/2.0/groups.mdx @@ -1,6 +1,7 @@ --- title: "Groups" sidebarTitle: "Overview" +description: "Groups — CometChat documentation." --- diff --git a/sdk/ionic-legacy/2.0/key-concepts.mdx b/sdk/ionic-legacy/2.0/key-concepts.mdx index b5b8b87a3..7b29e656e 100644 --- a/sdk/ionic-legacy/2.0/key-concepts.mdx +++ b/sdk/ionic-legacy/2.0/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- diff --git a/sdk/ionic-legacy/2.0/message-structure-and-hierarchy.mdx b/sdk/ionic-legacy/2.0/message-structure-and-hierarchy.mdx index 6c0a7034d..a0ea24447 100644 --- a/sdk/ionic-legacy/2.0/message-structure-and-hierarchy.mdx +++ b/sdk/ionic-legacy/2.0/message-structure-and-hierarchy.mdx @@ -1,5 +1,6 @@ --- title: "Message Structure And Hierarchy" +description: "Message Structure And Hierarchy — CometChat documentation." --- diff --git a/sdk/ionic-legacy/2.0/messaging-additional-message-filtering.mdx b/sdk/ionic-legacy/2.0/messaging-additional-message-filtering.mdx index 58712ee47..9e36e563f 100644 --- a/sdk/ionic-legacy/2.0/messaging-additional-message-filtering.mdx +++ b/sdk/ionic-legacy/2.0/messaging-additional-message-filtering.mdx @@ -1,5 +1,6 @@ --- title: "Additional Message Filtering" +description: "Additional Message Filtering — CometChat documentation." --- @@ -37,7 +38,7 @@ To achieve this, you can use the `setLimit()` method. This method takes an integ -``` +```javascript let UID = "UID"; let messagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) @@ -48,7 +49,7 @@ let messagesRequest = new CometChat.MessagesRequestBuilder() -``` +```javascript let GUID = "GUID"; let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) @@ -68,7 +69,7 @@ This can be achieved using the `setUID()` method. This method takes the UID of t -``` +```javascript let UID = "UID"; let messagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) @@ -88,7 +89,7 @@ You can achieve this using the `setGUID()` method. This method takes the GUID of -``` +```javascript let GUID = "GUID"; let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) diff --git a/sdk/ionic-legacy/2.0/messaging-delete-conversation.mdx b/sdk/ionic-legacy/2.0/messaging-delete-conversation.mdx index 5c21dc502..0d0b1f26c 100644 --- a/sdk/ionic-legacy/2.0/messaging-delete-conversation.mdx +++ b/sdk/ionic-legacy/2.0/messaging-delete-conversation.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Conversation" +description: "Delete A Conversation — CometChat documentation." --- @@ -14,7 +15,7 @@ This method takes two parameters. The unique id (UID/GUID) of the conversation t -``` +```javascript let UID = "UID"; let type = "user"; CometChat.deleteConversation(UID, type).then( @@ -30,7 +31,7 @@ CometChat.deleteConversation(UID, type).then( -``` +```javascript let GUID = "GUID"; let type = "group"; CometChat.deleteConversation(GUID, type).then( @@ -47,7 +48,7 @@ CometChat.deleteConversation(GUID, type).then( -This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](https://api-explorer.cometchat.com/reference/deletes-conversation). +This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](/rest-api/chat-apis). The `deleteConversation()` method takes the following parameters: diff --git a/sdk/ionic-legacy/2.0/messaging-delete-message.mdx b/sdk/ionic-legacy/2.0/messaging-delete-message.mdx index 612051070..cb52671e6 100644 --- a/sdk/ionic-legacy/2.0/messaging-delete-message.mdx +++ b/sdk/ionic-legacy/2.0/messaging-delete-message.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Message" +description: "Delete A Message — CometChat documentation." --- diff --git a/sdk/ionic-legacy/2.0/messaging-edit-message.mdx b/sdk/ionic-legacy/2.0/messaging-edit-message.mdx index c5eb32232..77c668361 100644 --- a/sdk/ionic-legacy/2.0/messaging-edit-message.mdx +++ b/sdk/ionic-legacy/2.0/messaging-edit-message.mdx @@ -1,5 +1,6 @@ --- title: "Edit A Message" +description: "Edit A Message — CometChat documentation." --- @@ -21,7 +22,7 @@ In order to edit a message, you can use the `editMessage()` method. This method -``` +```javascript let receiverID = "RECEIVER_UID"; let messageText = "Hello world!"; let receiverType = CometChat.RECEIVER_TYPE.USER; @@ -67,7 +68,7 @@ In order to receive real-time events for message being edited, you need to overr -``` +```javascript var listenerID = "UNIQUE_LISTENER_ID"; CometChat.addMessageListener( diff --git a/sdk/ionic-legacy/2.0/messaging-receipts.mdx b/sdk/ionic-legacy/2.0/messaging-receipts.mdx index 4b55d422b..2856f2e99 100644 --- a/sdk/ionic-legacy/2.0/messaging-receipts.mdx +++ b/sdk/ionic-legacy/2.0/messaging-receipts.mdx @@ -1,5 +1,6 @@ --- title: "Delivery & Read Receipts" +description: "Delivery & Read Receipts — CometChat documentation." --- @@ -35,7 +36,7 @@ Ideally, you would like to mark all the messages as read for any conversation wh -``` +```javascript var messageId = "MESSAGE_ID"; var receiverId = "MESSAGE_SENDER_UID"; var receiverType = "user"; @@ -45,7 +46,7 @@ CometChat.markAsRead(messageId, receiverId, receiverType); -``` +```javascript var messageId = "MESSAGE_ID"; var receiverId = "MESSAGE_RECEIVER_GUID"; var receiverType = "group"; @@ -68,7 +69,7 @@ Real-time events for messages of a conversation being read or delivered can be o -``` +```javascript let listenerId = "UNIQUE_LISTENER_ID"; CometChat.addMessageListener( diff --git a/sdk/ionic-legacy/2.0/messaging-receive-messages.mdx b/sdk/ionic-legacy/2.0/messaging-receive-messages.mdx index 26eabcb46..83a102b0e 100644 --- a/sdk/ionic-legacy/2.0/messaging-receive-messages.mdx +++ b/sdk/ionic-legacy/2.0/messaging-receive-messages.mdx @@ -1,5 +1,6 @@ --- title: "Receive Messages" +description: "Receive Messages — CometChat documentation." --- @@ -52,7 +53,7 @@ We recommend you remove the listener once you don't want to receive a message fo -``` +```javascript var listenerID = "UNIQUE_LISTENER_ID"; CometChat.removeMessageListener(listenerID); @@ -84,7 +85,7 @@ Calling the `fetchNext()` method on the same object repeatedly allows you to fet -``` +```javascript let UID = "UID"; let limit = 30; let latestId = await CometChat.getLastDeliveredMessageId(); @@ -113,7 +114,7 @@ messagesRequest.fetchNext().then( -``` +```javascript let GUID = "GUID"; let limit = 30; let latestId = await CometChat.getLastDeliveredMessageId(); @@ -148,7 +149,7 @@ Using the `MessagesRequest` class described above, you can fetch the unread mess -``` +```javascript let UID = "UID"; let limit = 30; let messagesRequest = new CometChat.MessagesRequestBuilder() @@ -175,7 +176,7 @@ messagesRequest.fetchPrevious().then( -``` +```javascript let GUID = "GUID"; let limit = 30; let messagesRequest = new CometChat.MessagesRequestBuilder() @@ -214,7 +215,7 @@ Using the `MessagesRequest` class and the filters for the `MessagesRequestBuilde -``` +```javascript let UID = "UID"; let limit = 30; let messagesRequest = new CometChat.MessagesRequestBuilder() @@ -244,7 +245,7 @@ Using the `MessagesRequest` class and the filters for the `MessagesRequestBuilde -``` +```javascript let GUID = "GUID"; let limit = 30; let messagesRequest = new CometChat.MessagesRequestBuilder() @@ -276,7 +277,7 @@ Along with the other parameters mentioned above, you can use the `setSearchKeywo -``` +```javascript let UID = "UID"; let limit = 30; let searchKeyword = "Hello"; @@ -365,7 +366,7 @@ CometChat.getUnreadMessageCountForUser(UID, hideMessagesFromBlockedUsers); -``` +```javascript let UID = "UID"; CometChat.getUnreadMessageCountForUser(UID).then( @@ -416,7 +417,7 @@ CometChat.getUnreadMessageCountForGroup(GUID, hideMessagesFromBlockedUsers); -``` +```javascript let GUID = "GUID"; CometChat.getUnreadMessageCountForGroup(GUID).then( diff --git a/sdk/ionic-legacy/2.0/messaging-retrieve-conversations.mdx b/sdk/ionic-legacy/2.0/messaging-retrieve-conversations.mdx index 1abc9226d..8fc93ec83 100644 --- a/sdk/ionic-legacy/2.0/messaging-retrieve-conversations.mdx +++ b/sdk/ionic-legacy/2.0/messaging-retrieve-conversations.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Conversations" +description: "Retrieve Conversations — CometChat documentation." --- diff --git a/sdk/ionic-legacy/2.0/messaging-send-message.mdx b/sdk/ionic-legacy/2.0/messaging-send-message.mdx index 0b323eb2f..7547a5713 100644 --- a/sdk/ionic-legacy/2.0/messaging-send-message.mdx +++ b/sdk/ionic-legacy/2.0/messaging-send-message.mdx @@ -1,5 +1,6 @@ --- title: "Send A Message" +description: "Send A Message — CometChat documentation." --- @@ -24,7 +25,7 @@ To send a text message to a single user or group, you need to use the `sendMessa -``` +```javascript let receiverID = "UID"; let messageText = "Hello world!"; let receiverType = CometChat.RECEIVER_TYPE.USER; @@ -47,7 +48,7 @@ CometChat.sendMessage(textMessage).then( -``` +```javascript let receiverID = "GUID"; let messageText = "Hello world!"; let receiverType = CometChat.RECEIVER_TYPE.GROUP; @@ -87,7 +88,7 @@ To send custom data along with a text message, you can use the `setMetadata` met -``` +```javascript let receiverID = "UID"; let messageText = "Hello World!"; let receiverType = CometChat.RECEIVER_TYPE.USER; @@ -117,7 +118,7 @@ CometChat.sendMessage(textMessage).then( -``` +```javascript let receiverID = "GUID"; let messageText = "Hello World!"; let receiverType = CometChat.RECEIVER_TYPE.GROUP; @@ -194,7 +195,7 @@ if (response.didCancel) { -``` +```javascript let receiverID = "UID"; let messageType = CometChat.MESSAGE_TYPE.FILE; let receiverType = CometChat.RECEIVER_TYPE.USER; @@ -218,7 +219,7 @@ CometChat.sendMediaMessage(mediaMessage).then( -``` +```javascript let receiverID = "GUID"; let messageType = CometChat.MESSAGE_TYPE.FILE; let receiverType = CometChat.RECEIVER_TYPE.GROUP; @@ -260,7 +261,7 @@ To send custom data along with a media message, you can use the `setMetadata` me -``` +```javascript var metadata = { latitude: "50.6192171633316", longitude: "-72.68182268750002", @@ -279,7 +280,7 @@ To send a caption with a media message, you can use `setCaption` method and pass -``` +```javascript var caption = "Random Caption"; mediaMessage.setCaption(caption); @@ -301,7 +302,7 @@ The `sendCustomMessage()` methods takes an object of the `CustomMessage` which c -``` +```javascript var customMessage = new CometChat.CustomMessage( receiverID, receiverType, diff --git a/sdk/ionic-legacy/2.0/messaging-typing-indicators.mdx b/sdk/ionic-legacy/2.0/messaging-typing-indicators.mdx index 86d243c0d..1d542daeb 100644 --- a/sdk/ionic-legacy/2.0/messaging-typing-indicators.mdx +++ b/sdk/ionic-legacy/2.0/messaging-typing-indicators.mdx @@ -1,5 +1,6 @@ --- title: "Typing Indicators" +description: "Typing Indicators — CometChat documentation." --- @@ -18,7 +19,7 @@ You can use the `startTyping()` method to inform the receiver that the logged in -``` +```javascript let receiverId = "UID"; let receiverType = CometChat.RECEIVER_TYPE.USER; @@ -32,7 +33,7 @@ CometChat.startTyping(typingNotification); -``` +```javascript let receiverId = "GUID"; let receiverType = CometChat.RECEIVER_TYPE.GROUP; @@ -53,7 +54,7 @@ You can use the `endTyping()` method to inform the receiver that the logged in u -``` +```javascript let receiverId = "UID"; let receiverType = CometChat.RECEIVER_TYPE.USER; @@ -67,7 +68,7 @@ CometChat.endTyping(typingNotification); -``` +```javascript let receiverId = "GUID"; let receiverType = CometChat.RECEIVER_TYPE.GROUP; @@ -96,7 +97,7 @@ You will receive the typing indicators in the `onTypingStarted()` and the `onTyp -``` +```javascript let listenerId = "UNIQUE_LITENER_ID"; CometChat.addMessageListener( diff --git a/sdk/ionic-legacy/2.0/messaging.mdx b/sdk/ionic-legacy/2.0/messaging.mdx index 47c602d06..547e2d3f6 100644 --- a/sdk/ionic-legacy/2.0/messaging.mdx +++ b/sdk/ionic-legacy/2.0/messaging.mdx @@ -1,6 +1,7 @@ --- title: "Messaging" sidebarTitle: "Overview" +description: "Messaging — CometChat documentation." --- diff --git a/sdk/ionic-legacy/2.0/overview.mdx b/sdk/ionic-legacy/2.0/overview.mdx index 5201b347b..459012ef9 100644 --- a/sdk/ionic-legacy/2.0/overview.mdx +++ b/sdk/ionic-legacy/2.0/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/sdk/ionic-legacy/2.0/rate-limits.mdx b/sdk/ionic-legacy/2.0/rate-limits.mdx index 66e804f6a..a2c1e244b 100644 --- a/sdk/ionic-legacy/2.0/rate-limits.mdx +++ b/sdk/ionic-legacy/2.0/rate-limits.mdx @@ -1,5 +1,6 @@ --- title: "Rate Limits" +description: "Rate Limits — CometChat documentation." --- diff --git a/sdk/ionic-legacy/2.0/resources-all-real-time-listeners.mdx b/sdk/ionic-legacy/2.0/resources-all-real-time-listeners.mdx index ca5cde833..dd1f4df48 100644 --- a/sdk/ionic-legacy/2.0/resources-all-real-time-listeners.mdx +++ b/sdk/ionic-legacy/2.0/resources-all-real-time-listeners.mdx @@ -1,5 +1,6 @@ --- title: "All Real Time Listeners" +description: "All Real Time Listeners — CometChat documentation." --- diff --git a/sdk/ionic-legacy/2.0/resources-upgrading-from-v1.mdx b/sdk/ionic-legacy/2.0/resources-upgrading-from-v1.mdx index ab44e35ca..7014b272a 100644 --- a/sdk/ionic-legacy/2.0/resources-upgrading-from-v1.mdx +++ b/sdk/ionic-legacy/2.0/resources-upgrading-from-v1.mdx @@ -1,5 +1,6 @@ --- title: "Upgrading From V1" +description: "Upgrading From V1 — CometChat documentation." --- diff --git a/sdk/ionic-legacy/2.0/resources.mdx b/sdk/ionic-legacy/2.0/resources.mdx index 144faf6af..d1505f72b 100644 --- a/sdk/ionic-legacy/2.0/resources.mdx +++ b/sdk/ionic-legacy/2.0/resources.mdx @@ -1,6 +1,7 @@ --- title: "Resources" sidebarTitle: "Overview" +description: "Resources — CometChat documentation." --- diff --git a/sdk/ionic-legacy/2.0/setup.mdx b/sdk/ionic-legacy/2.0/setup.mdx index b4b925b09..dfec57c06 100644 --- a/sdk/ionic-legacy/2.0/setup.mdx +++ b/sdk/ionic-legacy/2.0/setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/ionic-legacy/2.0/threaded-messages.mdx b/sdk/ionic-legacy/2.0/threaded-messages.mdx index a04a6f3b4..60fbd075d 100644 --- a/sdk/ionic-legacy/2.0/threaded-messages.mdx +++ b/sdk/ionic-legacy/2.0/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- @@ -26,7 +27,7 @@ This can be achieved using the `setParentMessageId()` method provided by the obj -``` +```javascript let textMessage = new CometChat.TextMessage( UID, "Hello", @@ -60,7 +61,7 @@ To add a MessageListener, you can use the `addMessageListener()` method of the S -``` +```javascript var listenerID = "UNIQUE_LISTENER_ID"; var activeThreadId = 100; @@ -98,7 +99,7 @@ Once you have the object of the `MessagesRequest` class, you need to call the `f -``` +```javascript let limit = 30; let parentMessageId = 1; let messagesRequest = new CometChat.MessagesRequestBuilder() diff --git a/sdk/ionic-legacy/2.0/user-presence.mdx b/sdk/ionic-legacy/2.0/user-presence.mdx index 732aef8ee..e74640f0f 100644 --- a/sdk/ionic-legacy/2.0/user-presence.mdx +++ b/sdk/ionic-legacy/2.0/user-presence.mdx @@ -1,5 +1,6 @@ --- title: "User Presence" +description: "User Presence — CometChat documentation." --- @@ -30,7 +31,7 @@ You need to register the `UserListener` using the `addUserListener()` method whe -``` +```javascript let listenerID = "UNIQUE_LISTENER_ID"; CometChat.addUserListener( @@ -60,7 +61,7 @@ We recommend you remove the listener once the activity or view is not in use. We -``` +```javascript let listenerID = "UNIQUE_LISTENER_ID"; CometChat.removeUserListener(listenerID); ``` diff --git a/sdk/ionic-legacy/2.0/users-block-users.mdx b/sdk/ionic-legacy/2.0/users-block-users.mdx index 7a1028c45..469f87914 100644 --- a/sdk/ionic-legacy/2.0/users-block-users.mdx +++ b/sdk/ionic-legacy/2.0/users-block-users.mdx @@ -1,5 +1,6 @@ --- title: "Block Users" +description: "Block Users — CometChat documentation." --- @@ -16,7 +17,7 @@ You can block users using the `blockUsers()` method. Once any user is blocked, a -``` +```javascript var usersList = ["UID1", "UID2", "UID3"]; CometChat.blockUsers(usersList).then( (list) => { @@ -42,7 +43,7 @@ You can unblock the already blocked users using the `unblockUsers()` method. You -``` +```javascript var usersList = ["UID1", "UID2", "UID3"]; CometChat.unblockUsers(usersList).then( diff --git a/sdk/ionic-legacy/2.0/users-retrieve-users.mdx b/sdk/ionic-legacy/2.0/users-retrieve-users.mdx index 81a2f2e12..8de1b56df 100644 --- a/sdk/ionic-legacy/2.0/users-retrieve-users.mdx +++ b/sdk/ionic-legacy/2.0/users-retrieve-users.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Users" +description: "Retrieve Users — CometChat documentation." --- @@ -14,7 +15,7 @@ You can get the details of the logged-in user using the `getLoggedInUser()` meth -``` +```javascript var user = CometChat.getLoggedinUser().then( (user) => { console.log("user details:", { user }); @@ -43,7 +44,7 @@ This method sets the limit i.e. the number of users that should be fetched in a -``` +```javascript let limit = 30; let usersRequest = new CometChat.UsersRequestBuilder().setLimit(limit).build(); ``` @@ -58,7 +59,7 @@ This method allows you to set the search string based on which the users are to -``` +```javascript let limit = 30; let searchKeyword = "super"; let usersRequest = new CometChat.UsersRequestBuilder() @@ -82,7 +83,7 @@ If this parameter is not set, will return all the available users. -``` +```javascript let limit = 30; let usersRequest = new CometChat.UsersRequestBuilder() .setLimit(limit) @@ -100,7 +101,7 @@ This method is used to determine if the blocked users should be returned as a pa -``` +```javascript let limit = 30; let usersRequest = new CometChat.UsersRequestBuilder() .setLimit(limit) @@ -118,7 +119,7 @@ This method allows you to fetch the users based on multiple roles. -``` +```javascript let limit = 30; let roles = ["default", "dev"]; let usersRequest = new CometChat.UsersRequestBuilder() @@ -137,7 +138,7 @@ This property when set to true will return only the friends of the logged-in use -``` +```javascript let limit = 30; let usersRequest = new CometChat.UsersRequestBuilder() .setLimit(limit) @@ -155,7 +156,7 @@ This method accepts a list of tags based on which the list of users is to be fet -``` +```javascript let limit = 30; let tags = ["tag1", "tag2"]; let usersRequest = new CometChat.UsersRequestBuilder() @@ -174,7 +175,7 @@ This property when set to true will fetch tags data along with the list of users -``` +```javascript let limit = 30; let usersRequest = new CometChat.UsersRequestBuilder() .setLimit(limit) @@ -192,7 +193,7 @@ This method accepts a list of UIDs based on which the list of users is fetched. -``` +```javascript let limit = 30; let UIDs = ["cometchat-uid-1", "cometchat-uid-2"]; let usersRequest = new CometChat.UsersRequestBuilder() @@ -211,7 +212,7 @@ Once you have the object of the UsersRequest class, you need to call the fetchNe -``` +```javascript var limit = 30; var usersRequest = new CometChat.UsersRequestBuilder().setLimit(limit).build(); @@ -235,7 +236,7 @@ To get the information of a user, you can use the `getUser()` method. -``` +```javascript let UID = "UID"; CometChat.getUser(UID).then( (user) => { diff --git a/sdk/ionic-legacy/2.0/users-user-management.mdx b/sdk/ionic-legacy/2.0/users-user-management.mdx index ebb9ee1de..bccad3aa3 100644 --- a/sdk/ionic-legacy/2.0/users-user-management.mdx +++ b/sdk/ionic-legacy/2.0/users-user-management.mdx @@ -1,5 +1,6 @@ --- title: "User Management" +description: "User Management — CometChat documentation." --- @@ -24,7 +25,7 @@ Summing up- ## Creating a user -Ideally, user creation should take place at your backend. You can refer to our Rest API to learn more about [creating a user](https://api-explorer.cometchat.com/reference/creates-user) and use the appropriate code sample based on your backend language. +Ideally, user creation should take place at your backend. You can refer to our Rest API to learn more about [creating a user](/rest-api/chat-apis) and use the appropriate code sample based on your backend language. However, if you wish to create users on the fly, you can use the `createUser()` method. This method takes a `User` object and the `Auth Key` as input parameters and returns the created `User` object if the request is successful. @@ -61,7 +62,7 @@ UID can be alphanumeric with underscore and hyphen. Spaces, punctuation and othe ## Updating a user -Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](https://api-explorer.cometchat.com/reference/update-user) apis section. However, this can be achieved on the fly as well as using the `updateUser()` method. This method takes a `User` object and the `Auth Key` as inputs and returns the updated `User` object on the successful execution of the request. +Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](/rest-api/chat-apis) apis section. However, this can be achieved on the fly as well as using the `updateUser()` method. This method takes a `User` object and the `Auth Key` as inputs and returns the updated `User` object on the successful execution of the request. @@ -122,7 +123,7 @@ By using the `updateCurrentUserDetails()` method one can only update the logged- ## Deleting a user -Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](https://api-explorer.cometchat.com/reference/delete-user) section. +Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](/rest-api/chat-apis) section. ## User Class diff --git a/sdk/ionic-legacy/2.0/users.mdx b/sdk/ionic-legacy/2.0/users.mdx index 29ba5517c..5e48869f7 100644 --- a/sdk/ionic-legacy/2.0/users.mdx +++ b/sdk/ionic-legacy/2.0/users.mdx @@ -1,6 +1,7 @@ --- title: "Users" sidebarTitle: "Overview" +description: "Users — CometChat documentation." --- diff --git a/sdk/ionic-legacy/2.0/webhooks.mdx b/sdk/ionic-legacy/2.0/webhooks.mdx index 474750e38..2f9b36959 100644 --- a/sdk/ionic-legacy/2.0/webhooks.mdx +++ b/sdk/ionic-legacy/2.0/webhooks.mdx @@ -1,5 +1,6 @@ --- title: "Webhooks" +description: "Webhooks — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/advanced-connection-listener.mdx b/sdk/ionic-legacy/3.0/advanced-connection-listener.mdx index ccd8cb3af..b600bd9bf 100644 --- a/sdk/ionic-legacy/3.0/advanced-connection-listener.mdx +++ b/sdk/ionic-legacy/3.0/advanced-connection-listener.mdx @@ -1,5 +1,6 @@ --- title: "Connection Status" +description: "Connection Status — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/advanced-managing-web-socket-connections-manually.mdx b/sdk/ionic-legacy/3.0/advanced-managing-web-socket-connections-manually.mdx index f70efa86f..b56f316b6 100644 --- a/sdk/ionic-legacy/3.0/advanced-managing-web-socket-connections-manually.mdx +++ b/sdk/ionic-legacy/3.0/advanced-managing-web-socket-connections-manually.mdx @@ -1,5 +1,6 @@ --- title: "Managing Web Socket Connections Manually" +description: "Managing Web Socket Connections Manually — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/advanced.mdx b/sdk/ionic-legacy/3.0/advanced.mdx index 07e7ab601..955565099 100644 --- a/sdk/ionic-legacy/3.0/advanced.mdx +++ b/sdk/ionic-legacy/3.0/advanced.mdx @@ -1,6 +1,7 @@ --- title: "Advanced" sidebarTitle: "Overview" +description: "Advanced — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/authentication-login-listeners.mdx b/sdk/ionic-legacy/3.0/authentication-login-listeners.mdx index 71f9aa8da..7d404e56a 100644 --- a/sdk/ionic-legacy/3.0/authentication-login-listeners.mdx +++ b/sdk/ionic-legacy/3.0/authentication-login-listeners.mdx @@ -1,5 +1,6 @@ --- title: "Login Listeners" +description: "Login Listeners — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/authentication.mdx b/sdk/ionic-legacy/3.0/authentication.mdx index e213d9b0b..9b38e359c 100644 --- a/sdk/ionic-legacy/3.0/authentication.mdx +++ b/sdk/ionic-legacy/3.0/authentication.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Overview" +description: "Authentication — CometChat documentation." --- @@ -14,7 +15,7 @@ sidebarTitle: "Overview" Before you login the user, you must add the user to CometChat. 1. **For proof of concept/MVPs**: Create the user using the [CometChat Dashboard](https://app.cometchat.com). -2. **For production apps**: Use the CometChat [Create User API](https://api-explorer.cometchat.com/reference/creates-user) to create the user when your user signs up in your app. +2. **For production apps**: Use the CometChat [Create User API](/rest-api/chat-apis) to create the user when your user signs up in your app. **Sample Users** @@ -109,8 +110,8 @@ Be sure to use the **Auth Key** and not the **Rest API Key**. This ensures that This advanced authentication procedure does not use the Auth Key directly in your client code and thus ensuring that your Auth Key is not leaked even if the client code is reverse engineered. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `login()` method. diff --git a/sdk/ionic-legacy/3.0/bots.mdx b/sdk/ionic-legacy/3.0/bots.mdx index 34017b16c..5963e1d43 100644 --- a/sdk/ionic-legacy/3.0/bots.mdx +++ b/sdk/ionic-legacy/3.0/bots.mdx @@ -1,5 +1,6 @@ --- title: "Bots" +description: "Bots — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/calling-default-calling.mdx b/sdk/ionic-legacy/3.0/calling-default-calling.mdx index 62526a8bf..ea8e4a843 100644 --- a/sdk/ionic-legacy/3.0/calling-default-calling.mdx +++ b/sdk/ionic-legacy/3.0/calling-default-calling.mdx @@ -1,5 +1,6 @@ --- title: "Default Calling" +description: "Default Calling — CometChat documentation." --- @@ -29,7 +30,7 @@ The `initiateCall()` method sends a call request to a user or a group. -``` +```javascript var receiverID = "UID"; var callType = CometChat.CALL_TYPE.VIDEO; var receiverType = CometChat.RECEIVER_TYPE.USER; @@ -50,7 +51,7 @@ CometChat.initiateCall(call).then( -``` +```javascript var receiverID = "GUID"; var callType = CometChat.CALL_TYPE.VIDEO; var receiverType = CometChat.RECEIVER_TYPE.GROUP; @@ -71,7 +72,7 @@ CometChat.initiateCall(call).then( -``` +```javascript var receiverID: string = "UID"; var callType: string = CometChat.CALL_TYPE.VIDEO; var receiverType: string = CometChat.RECEIVER_TYPE.USER; @@ -90,7 +91,7 @@ CometChat.initiateCall(call).then( -``` +```javascript var receiverID: string = "GUID"; var callType: string = CometChat.CALL_TYPE.VIDEO; var receiverType: string = CometChat.RECEIVER_TYPE.GROUP; diff --git a/sdk/ionic-legacy/3.0/calling-direct-calling.mdx b/sdk/ionic-legacy/3.0/calling-direct-calling.mdx index b0b4358e0..e298ad594 100644 --- a/sdk/ionic-legacy/3.0/calling-direct-calling.mdx +++ b/sdk/ionic-legacy/3.0/calling-direct-calling.mdx @@ -1,5 +1,6 @@ --- title: "Direct Calling" +description: "Direct Calling — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/calling-recording.mdx b/sdk/ionic-legacy/3.0/calling-recording.mdx index 224ef92d3..7fcd62279 100644 --- a/sdk/ionic-legacy/3.0/calling-recording.mdx +++ b/sdk/ionic-legacy/3.0/calling-recording.mdx @@ -1,5 +1,6 @@ --- title: "Recording (Beta)" +description: "Recording (Beta) — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/calling-v3.mdx b/sdk/ionic-legacy/3.0/calling-v3.mdx index a87d0f3b3..1cbf77697 100644 --- a/sdk/ionic-legacy/3.0/calling-v3.mdx +++ b/sdk/ionic-legacy/3.0/calling-v3.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/calling.mdx b/sdk/ionic-legacy/3.0/calling.mdx index 796294c57..a8018f48b 100644 --- a/sdk/ionic-legacy/3.0/calling.mdx +++ b/sdk/ionic-legacy/3.0/calling.mdx @@ -1,6 +1,7 @@ --- title: "Calling" sidebarTitle: "Overview" +description: "Calling — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/groups-add-members-to-group.mdx b/sdk/ionic-legacy/3.0/groups-add-members-to-group.mdx index 3fabab835..9674bfa53 100644 --- a/sdk/ionic-legacy/3.0/groups-add-members-to-group.mdx +++ b/sdk/ionic-legacy/3.0/groups-add-members-to-group.mdx @@ -1,5 +1,6 @@ --- title: "Add Members To A Group" +description: "Add Members To A Group — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/groups-change-member-scope.mdx b/sdk/ionic-legacy/3.0/groups-change-member-scope.mdx index 22d2d0e49..73f8dae19 100644 --- a/sdk/ionic-legacy/3.0/groups-change-member-scope.mdx +++ b/sdk/ionic-legacy/3.0/groups-change-member-scope.mdx @@ -1,5 +1,6 @@ --- title: "Change Member Scope" +description: "Change Member Scope — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/groups-create-group.mdx b/sdk/ionic-legacy/3.0/groups-create-group.mdx index 164f80719..80b4a4beb 100644 --- a/sdk/ionic-legacy/3.0/groups-create-group.mdx +++ b/sdk/ionic-legacy/3.0/groups-create-group.mdx @@ -1,5 +1,6 @@ --- title: "Create A Group" +description: "Create A Group — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/groups-delete-group.mdx b/sdk/ionic-legacy/3.0/groups-delete-group.mdx index 32a907bed..457bfedd1 100644 --- a/sdk/ionic-legacy/3.0/groups-delete-group.mdx +++ b/sdk/ionic-legacy/3.0/groups-delete-group.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Group" +description: "Delete A Group — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/groups-join-group.mdx b/sdk/ionic-legacy/3.0/groups-join-group.mdx index fdd6efff1..3fb585434 100644 --- a/sdk/ionic-legacy/3.0/groups-join-group.mdx +++ b/sdk/ionic-legacy/3.0/groups-join-group.mdx @@ -1,5 +1,6 @@ --- title: "Join A Group" +description: "Join A Group — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/groups-kick-ban-members.mdx b/sdk/ionic-legacy/3.0/groups-kick-ban-members.mdx index 80c07ddc9..7ddc400ba 100644 --- a/sdk/ionic-legacy/3.0/groups-kick-ban-members.mdx +++ b/sdk/ionic-legacy/3.0/groups-kick-ban-members.mdx @@ -1,5 +1,6 @@ --- title: "Ban/Kick Member From A Group" +description: "Ban/Kick Member From A Group — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/groups-leave-group.mdx b/sdk/ionic-legacy/3.0/groups-leave-group.mdx index eb5c975eb..b37688a5a 100644 --- a/sdk/ionic-legacy/3.0/groups-leave-group.mdx +++ b/sdk/ionic-legacy/3.0/groups-leave-group.mdx @@ -1,5 +1,6 @@ --- title: "Leave A Group" +description: "Leave A Group — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/groups-retrieve-group-members.mdx b/sdk/ionic-legacy/3.0/groups-retrieve-group-members.mdx index c737fa21b..b62965fbe 100644 --- a/sdk/ionic-legacy/3.0/groups-retrieve-group-members.mdx +++ b/sdk/ionic-legacy/3.0/groups-retrieve-group-members.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Group Members" +description: "Retrieve Group Members — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/groups-retrieve-groups.mdx b/sdk/ionic-legacy/3.0/groups-retrieve-groups.mdx index 7475c3cd3..884c33e17 100644 --- a/sdk/ionic-legacy/3.0/groups-retrieve-groups.mdx +++ b/sdk/ionic-legacy/3.0/groups-retrieve-groups.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Groups" +description: "Retrieve Groups — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/groups-transfer-group-ownership.mdx b/sdk/ionic-legacy/3.0/groups-transfer-group-ownership.mdx index 5cc8c9def..fbcaab32c 100644 --- a/sdk/ionic-legacy/3.0/groups-transfer-group-ownership.mdx +++ b/sdk/ionic-legacy/3.0/groups-transfer-group-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Group Ownership" +description: "Transfer Group Ownership — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/groups-update-group.mdx b/sdk/ionic-legacy/3.0/groups-update-group.mdx index 9e09aca27..99d539693 100644 --- a/sdk/ionic-legacy/3.0/groups-update-group.mdx +++ b/sdk/ionic-legacy/3.0/groups-update-group.mdx @@ -1,5 +1,6 @@ --- title: "Update A Group" +description: "Update A Group — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/groups.mdx b/sdk/ionic-legacy/3.0/groups.mdx index 8a5496978..b89fc06aa 100644 --- a/sdk/ionic-legacy/3.0/groups.mdx +++ b/sdk/ionic-legacy/3.0/groups.mdx @@ -1,6 +1,7 @@ --- title: "Groups" sidebarTitle: "Overview" +description: "Groups — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/key-concepts.mdx b/sdk/ionic-legacy/3.0/key-concepts.mdx index f4d5cbde3..3e8cfe232 100644 --- a/sdk/ionic-legacy/3.0/key-concepts.mdx +++ b/sdk/ionic-legacy/3.0/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/message-structure-and-hierarchy.mdx b/sdk/ionic-legacy/3.0/message-structure-and-hierarchy.mdx index 6c0a7034d..a0ea24447 100644 --- a/sdk/ionic-legacy/3.0/message-structure-and-hierarchy.mdx +++ b/sdk/ionic-legacy/3.0/message-structure-and-hierarchy.mdx @@ -1,5 +1,6 @@ --- title: "Message Structure And Hierarchy" +description: "Message Structure And Hierarchy — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/messaging-additional-message-filtering.mdx b/sdk/ionic-legacy/3.0/messaging-additional-message-filtering.mdx index c5193de8c..1a43b79f2 100644 --- a/sdk/ionic-legacy/3.0/messaging-additional-message-filtering.mdx +++ b/sdk/ionic-legacy/3.0/messaging-additional-message-filtering.mdx @@ -1,5 +1,6 @@ --- title: "Additional Message Filtering" +description: "Additional Message Filtering — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/messaging-delete-conversation.mdx b/sdk/ionic-legacy/3.0/messaging-delete-conversation.mdx index b103cec9f..f3ad5406f 100644 --- a/sdk/ionic-legacy/3.0/messaging-delete-conversation.mdx +++ b/sdk/ionic-legacy/3.0/messaging-delete-conversation.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Conversation" +description: "Delete A Conversation — CometChat documentation." --- @@ -79,7 +80,7 @@ CometChat.deleteConversation(GUID, type).then( -This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](https://api-explorer.cometchat.com/reference/chat-apis). +This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](/rest-api/chat-apis). The `deleteConversation()` method takes the following parameters: diff --git a/sdk/ionic-legacy/3.0/messaging-delete-message.mdx b/sdk/ionic-legacy/3.0/messaging-delete-message.mdx index e915a8883..c2e5d0a0a 100644 --- a/sdk/ionic-legacy/3.0/messaging-delete-message.mdx +++ b/sdk/ionic-legacy/3.0/messaging-delete-message.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Message" +description: "Delete A Message — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/messaging-edit-message.mdx b/sdk/ionic-legacy/3.0/messaging-edit-message.mdx index 907a59a79..5a5ef9fb8 100644 --- a/sdk/ionic-legacy/3.0/messaging-edit-message.mdx +++ b/sdk/ionic-legacy/3.0/messaging-edit-message.mdx @@ -1,5 +1,6 @@ --- title: "Edit A Message" +description: "Edit A Message — CometChat documentation." --- @@ -25,7 +26,7 @@ While editing a message, you can update the tags associated with the Message. Yo -``` +```javascript let tags = ["pinnedMessage"]; textMessage.setTags(tags); @@ -34,7 +35,7 @@ textMessage.setTags(tags); -``` +```javascript let tags = ["pinnedMessage"]; customMessage.setTags(tags); @@ -43,7 +44,7 @@ customMessage.setTags(tags); -``` +```javascript let tags: Array = ["pinnedMessage"]; textMessage.setTags(tags); @@ -52,7 +53,7 @@ textMessage.setTags(tags); -``` +```javascript let tags: Array = ["pinnedMessage"]; customMessage.setTags(tags); diff --git a/sdk/ionic-legacy/3.0/messaging-receipts.mdx b/sdk/ionic-legacy/3.0/messaging-receipts.mdx index 600125290..630d39653 100644 --- a/sdk/ionic-legacy/3.0/messaging-receipts.mdx +++ b/sdk/ionic-legacy/3.0/messaging-receipts.mdx @@ -1,5 +1,6 @@ --- title: "Delivery & Read Receipts" +description: "Delivery & Read Receipts — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/messaging-receive-messages.mdx b/sdk/ionic-legacy/3.0/messaging-receive-messages.mdx index ace720134..8ea413f3c 100644 --- a/sdk/ionic-legacy/3.0/messaging-receive-messages.mdx +++ b/sdk/ionic-legacy/3.0/messaging-receive-messages.mdx @@ -1,5 +1,6 @@ --- title: "Receive Messages" +description: "Receive Messages — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/messaging-retrieve-conversations.mdx b/sdk/ionic-legacy/3.0/messaging-retrieve-conversations.mdx index d28a9dee9..adf73315a 100644 --- a/sdk/ionic-legacy/3.0/messaging-retrieve-conversations.mdx +++ b/sdk/ionic-legacy/3.0/messaging-retrieve-conversations.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Conversations" +description: "Retrieve Conversations — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/messaging-send-message.mdx b/sdk/ionic-legacy/3.0/messaging-send-message.mdx index 6b248c669..cbe494eb0 100644 --- a/sdk/ionic-legacy/3.0/messaging-send-message.mdx +++ b/sdk/ionic-legacy/3.0/messaging-send-message.mdx @@ -1,5 +1,6 @@ --- title: "Send A Message" +description: "Send A Message — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/messaging-typing-indicators.mdx b/sdk/ionic-legacy/3.0/messaging-typing-indicators.mdx index 16480114e..24a96aa37 100644 --- a/sdk/ionic-legacy/3.0/messaging-typing-indicators.mdx +++ b/sdk/ionic-legacy/3.0/messaging-typing-indicators.mdx @@ -1,5 +1,6 @@ --- title: "Typing Indicators" +description: "Typing Indicators — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/messaging.mdx b/sdk/ionic-legacy/3.0/messaging.mdx index 93d23f05f..20c4ad127 100644 --- a/sdk/ionic-legacy/3.0/messaging.mdx +++ b/sdk/ionic-legacy/3.0/messaging.mdx @@ -1,6 +1,7 @@ --- title: "Messaging" sidebarTitle: "Overview" +description: "Messaging — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/overview.mdx b/sdk/ionic-legacy/3.0/overview.mdx index f203d4838..2b1566f93 100644 --- a/sdk/ionic-legacy/3.0/overview.mdx +++ b/sdk/ionic-legacy/3.0/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- @@ -129,7 +130,7 @@ Please update the minimum target version in the Podfile. Goto **./ios/App** fold -``` +```javascript // For @cometchat-pro/ionic-calls version below 2.3.0 platform :ios, '11.0' diff --git a/sdk/ionic-legacy/3.0/rate-limits.mdx b/sdk/ionic-legacy/3.0/rate-limits.mdx index 2b8a91edb..1e7b626a1 100644 --- a/sdk/ionic-legacy/3.0/rate-limits.mdx +++ b/sdk/ionic-legacy/3.0/rate-limits.mdx @@ -1,5 +1,6 @@ --- title: "Rate Limits" +description: "Rate Limits — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/resources-all-real-time-listeners.mdx b/sdk/ionic-legacy/3.0/resources-all-real-time-listeners.mdx index a49b6cb24..a4af390aa 100644 --- a/sdk/ionic-legacy/3.0/resources-all-real-time-listeners.mdx +++ b/sdk/ionic-legacy/3.0/resources-all-real-time-listeners.mdx @@ -1,5 +1,6 @@ --- title: "All Real Time Listeners" +description: "All Real Time Listeners — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/resources-upgrading-from-v2.mdx b/sdk/ionic-legacy/3.0/resources-upgrading-from-v2.mdx index b8d1dc5eb..1c0f05544 100644 --- a/sdk/ionic-legacy/3.0/resources-upgrading-from-v2.mdx +++ b/sdk/ionic-legacy/3.0/resources-upgrading-from-v2.mdx @@ -1,5 +1,6 @@ --- title: "Upgrading From V2" +description: "Upgrading From V2 — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/resources.mdx b/sdk/ionic-legacy/3.0/resources.mdx index 9e266702a..cdb39d28a 100644 --- a/sdk/ionic-legacy/3.0/resources.mdx +++ b/sdk/ionic-legacy/3.0/resources.mdx @@ -1,6 +1,7 @@ --- title: "Resources" sidebarTitle: "Overview" +description: "Resources — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/setup.mdx b/sdk/ionic-legacy/3.0/setup.mdx index 749785a73..196f2bec3 100644 --- a/sdk/ionic-legacy/3.0/setup.mdx +++ b/sdk/ionic-legacy/3.0/setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- @@ -28,7 +29,7 @@ Install the package as NPM module: -``` +```bash npm install @cometchat-pro/cordova-ionic-chat@3.0.12 ``` @@ -127,7 +128,7 @@ Please update the minimum target version in the Podfile. Goto **./ios/App** fold -``` +```javascript // For @cometchat-pro/ionic-calls version below 2.3.0 platform :ios, '11.0' diff --git a/sdk/ionic-legacy/3.0/threaded-messages.mdx b/sdk/ionic-legacy/3.0/threaded-messages.mdx index 003e595d4..f0f7b9557 100644 --- a/sdk/ionic-legacy/3.0/threaded-messages.mdx +++ b/sdk/ionic-legacy/3.0/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/transient-messages.mdx b/sdk/ionic-legacy/3.0/transient-messages.mdx index 0957aa42e..e89e2d49b 100644 --- a/sdk/ionic-legacy/3.0/transient-messages.mdx +++ b/sdk/ionic-legacy/3.0/transient-messages.mdx @@ -1,5 +1,6 @@ --- title: "Transient Messages" +description: "Transient Messages — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/user-presence.mdx b/sdk/ionic-legacy/3.0/user-presence.mdx index 63f41e224..f6ac0863f 100644 --- a/sdk/ionic-legacy/3.0/user-presence.mdx +++ b/sdk/ionic-legacy/3.0/user-presence.mdx @@ -1,5 +1,6 @@ --- title: "User Presence" +description: "User Presence — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/users-block-users.mdx b/sdk/ionic-legacy/3.0/users-block-users.mdx index 928783103..ea400af7a 100644 --- a/sdk/ionic-legacy/3.0/users-block-users.mdx +++ b/sdk/ionic-legacy/3.0/users-block-users.mdx @@ -1,5 +1,6 @@ --- title: "Block Users" +description: "Block Users — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/users-retrieve-users.mdx b/sdk/ionic-legacy/3.0/users-retrieve-users.mdx index fee905d82..4c796ad12 100644 --- a/sdk/ionic-legacy/3.0/users-retrieve-users.mdx +++ b/sdk/ionic-legacy/3.0/users-retrieve-users.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Users" +description: "Retrieve Users — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/users-user-management.mdx b/sdk/ionic-legacy/3.0/users-user-management.mdx index d88e783dc..476ecbd3b 100644 --- a/sdk/ionic-legacy/3.0/users-user-management.mdx +++ b/sdk/ionic-legacy/3.0/users-user-management.mdx @@ -1,5 +1,6 @@ --- title: "User Management" +description: "User Management — CometChat documentation." --- @@ -24,7 +25,7 @@ Summing up- ## Creating a user -Ideally, user creation should take place at your backend. You can refer to our Rest API to learn more about [creating a user](https://api-explorer.cometchat.com/reference/creates-user) and use the appropriate code sample based on your backend language. +Ideally, user creation should take place at your backend. You can refer to our Rest API to learn more about [creating a user](/rest-api/chat-apis) and use the appropriate code sample based on your backend language. However, if you wish to create users on the fly, you can use the `createUser()` method. This method takes a `User` object and the `Auth Key` as input parameters and returns the created `User` object if the request is successful. @@ -83,7 +84,7 @@ UID can be alphanumeric with underscore and hyphen. Spaces, punctuation and othe ## Updating a user -Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](https://api-explorer.cometchat.com/reference/update-user) section. However, this can be achieved on the fly as well as using the `updateUser()` method. This method takes a `User` object and the `Auth Key` as inputs and returns the updated `User` object on the successful execution of the request. +Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](/rest-api/chat-apis) section. However, this can be achieved on the fly as well as using the `updateUser()` method. This method takes a `User` object and the `Auth Key` as inputs and returns the updated `User` object on the successful execution of the request. @@ -187,7 +188,7 @@ By using the `updateCurrentUserDetails()` method one can only update the logged- ## Deleting a user -Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](https://api-explorer.cometchat.com/reference/delete-user) section. +Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](/rest-api/chat-apis) section. ## User Class diff --git a/sdk/ionic-legacy/3.0/users.mdx b/sdk/ionic-legacy/3.0/users.mdx index eca83955b..d51304a18 100644 --- a/sdk/ionic-legacy/3.0/users.mdx +++ b/sdk/ionic-legacy/3.0/users.mdx @@ -1,6 +1,7 @@ --- title: "Users" sidebarTitle: "Overview" +description: "Users — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/v3-calling-recording.mdx b/sdk/ionic-legacy/3.0/v3-calling-recording.mdx index 224ef92d3..7fcd62279 100644 --- a/sdk/ionic-legacy/3.0/v3-calling-recording.mdx +++ b/sdk/ionic-legacy/3.0/v3-calling-recording.mdx @@ -1,5 +1,6 @@ --- title: "Recording (Beta)" +description: "Recording (Beta) — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/v3-setup.mdx b/sdk/ionic-legacy/3.0/v3-setup.mdx index 7c00d62f7..9fafc9001 100644 --- a/sdk/ionic-legacy/3.0/v3-setup.mdx +++ b/sdk/ionic-legacy/3.0/v3-setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- @@ -21,7 +22,7 @@ Install the package as NPM module: -``` +```bash npm install @cometchat-pro/ionic-calls@latest --save ``` diff --git a/sdk/ionic-legacy/3.0/v3-start-call-session.mdx b/sdk/ionic-legacy/3.0/v3-start-call-session.mdx index e81d52542..7a3d2337b 100644 --- a/sdk/ionic-legacy/3.0/v3-start-call-session.mdx +++ b/sdk/ionic-legacy/3.0/v3-start-call-session.mdx @@ -1,5 +1,6 @@ --- title: "Direct Calling" +description: "Direct Calling — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/v3-video-view-customisation.mdx b/sdk/ionic-legacy/3.0/v3-video-view-customisation.mdx index 76880e195..871d773ec 100644 --- a/sdk/ionic-legacy/3.0/v3-video-view-customisation.mdx +++ b/sdk/ionic-legacy/3.0/v3-video-view-customisation.mdx @@ -1,5 +1,6 @@ --- title: "Video View Customisation" +description: "Video View Customisation — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/video-view-customisation.mdx b/sdk/ionic-legacy/3.0/video-view-customisation.mdx index 414e4b4dc..1f7ff507a 100644 --- a/sdk/ionic-legacy/3.0/video-view-customisation.mdx +++ b/sdk/ionic-legacy/3.0/video-view-customisation.mdx @@ -1,5 +1,6 @@ --- title: "Video View Customisation" +description: "Video View Customisation — CometChat documentation." --- diff --git a/sdk/ionic-legacy/3.0/webhooks.mdx b/sdk/ionic-legacy/3.0/webhooks.mdx index 5903df759..08f804157 100644 --- a/sdk/ionic-legacy/3.0/webhooks.mdx +++ b/sdk/ionic-legacy/3.0/webhooks.mdx @@ -1,5 +1,6 @@ --- title: "Webhooks" +description: "Webhooks — CometChat documentation." --- diff --git a/sdk/ionic-legacy/additional-message-filtering.mdx b/sdk/ionic-legacy/additional-message-filtering.mdx index 343228c3b..f5701c062 100644 --- a/sdk/ionic-legacy/additional-message-filtering.mdx +++ b/sdk/ionic-legacy/additional-message-filtering.mdx @@ -1,5 +1,6 @@ --- title: "Additional Message Filtering" +description: "Additional Message Filtering — CometChat documentation." --- diff --git a/sdk/ionic-legacy/advanced.mdx b/sdk/ionic-legacy/advanced.mdx index 9b295951e..c38f715ff 100644 --- a/sdk/ionic-legacy/advanced.mdx +++ b/sdk/ionic-legacy/advanced.mdx @@ -1,6 +1,7 @@ --- title: "Advanced" sidebarTitle: "Overview" +description: "Advanced — CometChat documentation." --- diff --git a/sdk/ionic-legacy/ai-chatbots-overview.mdx b/sdk/ionic-legacy/ai-chatbots-overview.mdx index a5e168a8e..1280e5391 100644 --- a/sdk/ionic-legacy/ai-chatbots-overview.mdx +++ b/sdk/ionic-legacy/ai-chatbots-overview.mdx @@ -1,4 +1,5 @@ --- title: "Bots" url: "/ai-chatbots/overview" +description: "Navigate to Bots documentation." --- \ No newline at end of file diff --git a/sdk/ionic-legacy/ai-user-copilot-overview.mdx b/sdk/ionic-legacy/ai-user-copilot-overview.mdx index 3e798a3fb..eb49fe85a 100644 --- a/sdk/ionic-legacy/ai-user-copilot-overview.mdx +++ b/sdk/ionic-legacy/ai-user-copilot-overview.mdx @@ -1,4 +1,5 @@ --- title: "AI" url: "/fundamentals/ai-user-copilot/overview" +description: "Navigate to AI documentation." --- \ No newline at end of file diff --git a/sdk/ionic-legacy/authentication.mdx b/sdk/ionic-legacy/authentication.mdx index 298a11dbe..78ccecd3b 100644 --- a/sdk/ionic-legacy/authentication.mdx +++ b/sdk/ionic-legacy/authentication.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Overview" +description: "Authentication — CometChat documentation." --- @@ -12,7 +13,7 @@ sidebarTitle: "Overview" Before you log in a user, you must add the user to CometChat. 1. **For proof of concept/MVPs**: Create the user using the [CometChat Dashboard](https://app.cometchat.com). -2. **For production apps**: Use the CometChat [Create User API](https://api-explorer.cometchat.com/reference/creates-user) to create the user when your user signs up in your app. +2. **For production apps**: Use the CometChat [Create User API](/rest-api/chat-apis) to create the user when your user signs up in your app. Sample Users @@ -101,8 +102,8 @@ After the user logs in, their information is returned in the `User` object on `P This advanced authentication procedure does not use the Auth Key directly in your client code thus ensuring safety. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `login()` method. diff --git a/sdk/ionic-legacy/block-users.mdx b/sdk/ionic-legacy/block-users.mdx index 20434218b..d2fa1a117 100644 --- a/sdk/ionic-legacy/block-users.mdx +++ b/sdk/ionic-legacy/block-users.mdx @@ -1,5 +1,6 @@ --- title: "Block Users" +description: "Block Users — CometChat documentation." --- diff --git a/sdk/ionic-legacy/calling-overview.mdx b/sdk/ionic-legacy/calling-overview.mdx index e8a6060c6..988f0c5ff 100644 --- a/sdk/ionic-legacy/calling-overview.mdx +++ b/sdk/ionic-legacy/calling-overview.mdx @@ -1,6 +1,7 @@ --- title: "Calling" sidebarTitle: "Overview" +description: "Overview of Calling in CometChat." --- diff --git a/sdk/ionic-legacy/calling-setup.mdx b/sdk/ionic-legacy/calling-setup.mdx index b6a9d1b76..4b91ac6b4 100644 --- a/sdk/ionic-legacy/calling-setup.mdx +++ b/sdk/ionic-legacy/calling-setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/ionic-legacy/changelog.mdx b/sdk/ionic-legacy/changelog.mdx index b83ae03ae..632bb1604 100644 --- a/sdk/ionic-legacy/changelog.mdx +++ b/sdk/ionic-legacy/changelog.mdx @@ -1,6 +1,7 @@ --- title: "Changelog" url: "https://github.com/cometchat/chat-sdk-ionic/releases" +description: "Navigate to Changelog documentation." --- diff --git a/sdk/ionic-legacy/connection-behaviour.mdx b/sdk/ionic-legacy/connection-behaviour.mdx index dabb5c56b..c38284770 100644 --- a/sdk/ionic-legacy/connection-behaviour.mdx +++ b/sdk/ionic-legacy/connection-behaviour.mdx @@ -1,5 +1,6 @@ --- title: "Connection Behaviour" +description: "Connection Behaviour — CometChat documentation." --- diff --git a/sdk/ionic-legacy/connection-status.mdx b/sdk/ionic-legacy/connection-status.mdx index e71fc42bf..3c80b8cf8 100644 --- a/sdk/ionic-legacy/connection-status.mdx +++ b/sdk/ionic-legacy/connection-status.mdx @@ -1,5 +1,6 @@ --- title: "Connection Status" +description: "Connection Status — CometChat documentation." --- diff --git a/sdk/ionic-legacy/create-group.mdx b/sdk/ionic-legacy/create-group.mdx index f26eed9f9..02ddbe9fc 100644 --- a/sdk/ionic-legacy/create-group.mdx +++ b/sdk/ionic-legacy/create-group.mdx @@ -1,5 +1,6 @@ --- title: "Create A Group" +description: "Create A Group — CometChat documentation." --- diff --git a/sdk/ionic-legacy/default-call.mdx b/sdk/ionic-legacy/default-call.mdx index 7878d8333..13476783d 100644 --- a/sdk/ionic-legacy/default-call.mdx +++ b/sdk/ionic-legacy/default-call.mdx @@ -1,5 +1,6 @@ --- title: "Default Calling" +description: "Default Calling — CometChat documentation." --- diff --git a/sdk/ionic-legacy/delete-conversation.mdx b/sdk/ionic-legacy/delete-conversation.mdx index 7ebe248b6..926cc8807 100644 --- a/sdk/ionic-legacy/delete-conversation.mdx +++ b/sdk/ionic-legacy/delete-conversation.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Conversation" +description: "Delete A Conversation — CometChat documentation." --- @@ -73,7 +74,7 @@ CometChat.deleteConversation(GUID, type).then( -This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](https://api-explorer.cometchat.com/reference/deletes-conversation). +This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](/rest-api/chat-apis). The `deleteConversation()` method takes the following parameters: diff --git a/sdk/ionic-legacy/delete-group.mdx b/sdk/ionic-legacy/delete-group.mdx index 454555dcc..fbddda52b 100644 --- a/sdk/ionic-legacy/delete-group.mdx +++ b/sdk/ionic-legacy/delete-group.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Group" +description: "Delete A Group — CometChat documentation." --- diff --git a/sdk/ionic-legacy/delete-message.mdx b/sdk/ionic-legacy/delete-message.mdx index 243d92bc1..8692a7a9a 100644 --- a/sdk/ionic-legacy/delete-message.mdx +++ b/sdk/ionic-legacy/delete-message.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Message" +description: "Delete A Message — CometChat documentation." --- diff --git a/sdk/ionic-legacy/delivery-read-receipts.mdx b/sdk/ionic-legacy/delivery-read-receipts.mdx index 86f903951..4e1c7fd1e 100644 --- a/sdk/ionic-legacy/delivery-read-receipts.mdx +++ b/sdk/ionic-legacy/delivery-read-receipts.mdx @@ -1,5 +1,6 @@ --- title: "Delivery & Read Receipts" +description: "Delivery & Read Receipts — CometChat documentation." --- diff --git a/sdk/ionic-legacy/direct-call.mdx b/sdk/ionic-legacy/direct-call.mdx index 89413df55..e5bf7a987 100644 --- a/sdk/ionic-legacy/direct-call.mdx +++ b/sdk/ionic-legacy/direct-call.mdx @@ -1,5 +1,6 @@ --- title: "Direct Calling" +description: "Direct Calling — CometChat documentation." --- diff --git a/sdk/ionic-legacy/edit-message.mdx b/sdk/ionic-legacy/edit-message.mdx index 79f1b3ad2..00b62a92c 100644 --- a/sdk/ionic-legacy/edit-message.mdx +++ b/sdk/ionic-legacy/edit-message.mdx @@ -1,5 +1,6 @@ --- title: "Edit A Message" +description: "Edit A Message — CometChat documentation." --- diff --git a/sdk/ionic-legacy/extensions-overview.mdx b/sdk/ionic-legacy/extensions-overview.mdx index 29c1774bd..d7eadbbe5 100644 --- a/sdk/ionic-legacy/extensions-overview.mdx +++ b/sdk/ionic-legacy/extensions-overview.mdx @@ -1,4 +1,5 @@ --- title: "Extensions" url: "/fundamentals/extensions-overview" +description: "Navigate to Extensions documentation." --- \ No newline at end of file diff --git a/sdk/ionic-legacy/group-add-members.mdx b/sdk/ionic-legacy/group-add-members.mdx index d0599433b..892ef285c 100644 --- a/sdk/ionic-legacy/group-add-members.mdx +++ b/sdk/ionic-legacy/group-add-members.mdx @@ -1,5 +1,6 @@ --- title: "Add Members To A Group" +description: "Add Members To A Group — CometChat documentation." --- diff --git a/sdk/ionic-legacy/group-change-member-scope.mdx b/sdk/ionic-legacy/group-change-member-scope.mdx index c20ac1bb5..e5c48cde3 100644 --- a/sdk/ionic-legacy/group-change-member-scope.mdx +++ b/sdk/ionic-legacy/group-change-member-scope.mdx @@ -1,5 +1,6 @@ --- title: "Change Member Scope" +description: "Change Member Scope — CometChat documentation." --- diff --git a/sdk/ionic-legacy/group-kick-member.mdx b/sdk/ionic-legacy/group-kick-member.mdx index 8cf0675f0..8a881d7d1 100644 --- a/sdk/ionic-legacy/group-kick-member.mdx +++ b/sdk/ionic-legacy/group-kick-member.mdx @@ -1,5 +1,6 @@ --- title: "Kick Member From A Group" +description: "Kick Member From A Group — CometChat documentation." --- diff --git a/sdk/ionic-legacy/groups-overview.mdx b/sdk/ionic-legacy/groups-overview.mdx index 0140fd729..541481e2f 100644 --- a/sdk/ionic-legacy/groups-overview.mdx +++ b/sdk/ionic-legacy/groups-overview.mdx @@ -1,6 +1,7 @@ --- title: "Groups" sidebarTitle: "Overview" +description: "Overview of Groups in CometChat." --- diff --git a/sdk/ionic-legacy/interactive-messages.mdx b/sdk/ionic-legacy/interactive-messages.mdx index f749f4ad8..777db415d 100644 --- a/sdk/ionic-legacy/interactive-messages.mdx +++ b/sdk/ionic-legacy/interactive-messages.mdx @@ -1,5 +1,6 @@ --- title: "Interactive Messages" +description: "Interactive Messages — CometChat documentation." --- diff --git a/sdk/ionic-legacy/join-group.mdx b/sdk/ionic-legacy/join-group.mdx index 1b7419999..b3e25606e 100644 --- a/sdk/ionic-legacy/join-group.mdx +++ b/sdk/ionic-legacy/join-group.mdx @@ -1,5 +1,6 @@ --- title: "Join A Group" +description: "Join A Group — CometChat documentation." --- diff --git a/sdk/ionic-legacy/key-concepts.mdx b/sdk/ionic-legacy/key-concepts.mdx index e145ca826..a06dc269f 100644 --- a/sdk/ionic-legacy/key-concepts.mdx +++ b/sdk/ionic-legacy/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- diff --git a/sdk/ionic-legacy/leave-group.mdx b/sdk/ionic-legacy/leave-group.mdx index 4c88a09ed..7fd648818 100644 --- a/sdk/ionic-legacy/leave-group.mdx +++ b/sdk/ionic-legacy/leave-group.mdx @@ -1,5 +1,6 @@ --- title: "Leave A Group" +description: "Leave A Group — CometChat documentation." --- diff --git a/sdk/ionic-legacy/login-listeners.mdx b/sdk/ionic-legacy/login-listeners.mdx index 256c10979..335fba187 100644 --- a/sdk/ionic-legacy/login-listeners.mdx +++ b/sdk/ionic-legacy/login-listeners.mdx @@ -1,5 +1,6 @@ --- title: "Login Listeners" +description: "Login Listeners — CometChat documentation." --- diff --git a/sdk/ionic-legacy/managing-connections-manually.mdx b/sdk/ionic-legacy/managing-connections-manually.mdx index 7b28c12bb..56ebca8d3 100644 --- a/sdk/ionic-legacy/managing-connections-manually.mdx +++ b/sdk/ionic-legacy/managing-connections-manually.mdx @@ -1,5 +1,6 @@ --- title: "Managing Connections Manually" +description: "Managing Connections Manually — CometChat documentation." --- diff --git a/sdk/ionic-legacy/mentions.mdx b/sdk/ionic-legacy/mentions.mdx index 2679397c7..25545e495 100644 --- a/sdk/ionic-legacy/mentions.mdx +++ b/sdk/ionic-legacy/mentions.mdx @@ -1,5 +1,6 @@ --- title: "Mentions" +description: "Mentions — CometChat documentation." --- diff --git a/sdk/ionic-legacy/message-structure-and-hierarchy.mdx b/sdk/ionic-legacy/message-structure-and-hierarchy.mdx index 84d9be4b1..1b4c17252 100644 --- a/sdk/ionic-legacy/message-structure-and-hierarchy.mdx +++ b/sdk/ionic-legacy/message-structure-and-hierarchy.mdx @@ -1,6 +1,7 @@ --- title: "Message" sidebarTitle: "Message Structure And Hierarchy" +description: "Message — CometChat documentation." --- diff --git a/sdk/ionic-legacy/messaging-overview.mdx b/sdk/ionic-legacy/messaging-overview.mdx index 89632fcac..b2b39fdcd 100644 --- a/sdk/ionic-legacy/messaging-overview.mdx +++ b/sdk/ionic-legacy/messaging-overview.mdx @@ -1,6 +1,7 @@ --- title: "Messaging" sidebarTitle: "Overview" +description: "Overview of Messaging in CometChat." --- diff --git a/sdk/ionic-legacy/overview.mdx b/sdk/ionic-legacy/overview.mdx index 47d53a484..293946635 100644 --- a/sdk/ionic-legacy/overview.mdx +++ b/sdk/ionic-legacy/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/sdk/ionic-legacy/presenter-mode.mdx b/sdk/ionic-legacy/presenter-mode.mdx index 614ac366e..bf2fa6830 100644 --- a/sdk/ionic-legacy/presenter-mode.mdx +++ b/sdk/ionic-legacy/presenter-mode.mdx @@ -1,5 +1,6 @@ --- title: "Presenter Mode" +description: "Presenter Mode — CometChat documentation." --- diff --git a/sdk/ionic-legacy/rate-limits.mdx b/sdk/ionic-legacy/rate-limits.mdx index 2db6d57c0..378974643 100644 --- a/sdk/ionic-legacy/rate-limits.mdx +++ b/sdk/ionic-legacy/rate-limits.mdx @@ -1,5 +1,6 @@ --- title: "Rate Limits" +description: "Rate Limits — CometChat documentation." --- diff --git a/sdk/ionic-legacy/reactions.mdx b/sdk/ionic-legacy/reactions.mdx index 68d05616f..0d12bf935 100644 --- a/sdk/ionic-legacy/reactions.mdx +++ b/sdk/ionic-legacy/reactions.mdx @@ -1,5 +1,6 @@ --- title: "Reactions" +description: "Reactions — CometChat documentation." --- diff --git a/sdk/ionic-legacy/real-time-listeners.mdx b/sdk/ionic-legacy/real-time-listeners.mdx index e53ced7e7..fcf22a6e0 100644 --- a/sdk/ionic-legacy/real-time-listeners.mdx +++ b/sdk/ionic-legacy/real-time-listeners.mdx @@ -1,5 +1,6 @@ --- title: "All Real Time Listeners" +description: "All Real Time Listeners — CometChat documentation." --- diff --git a/sdk/ionic-legacy/receive-messages.mdx b/sdk/ionic-legacy/receive-messages.mdx index 2e655e99c..29cb969ea 100644 --- a/sdk/ionic-legacy/receive-messages.mdx +++ b/sdk/ionic-legacy/receive-messages.mdx @@ -1,5 +1,6 @@ --- title: "Receive A Message" +description: "Receive A Message — CometChat documentation." --- diff --git a/sdk/ionic-legacy/recording.mdx b/sdk/ionic-legacy/recording.mdx index 6d40e9a9a..74c3944da 100644 --- a/sdk/ionic-legacy/recording.mdx +++ b/sdk/ionic-legacy/recording.mdx @@ -1,5 +1,6 @@ --- title: "Recording(Beta)" +description: "Recording(Beta) — CometChat documentation." --- diff --git a/sdk/ionic-legacy/resources-overview.mdx b/sdk/ionic-legacy/resources-overview.mdx index fd54f25b9..bed5ad6e8 100644 --- a/sdk/ionic-legacy/resources-overview.mdx +++ b/sdk/ionic-legacy/resources-overview.mdx @@ -1,6 +1,7 @@ --- title: "Resources" sidebarTitle: "Overview" +description: "Overview of Resources in CometChat." --- diff --git a/sdk/ionic-legacy/retrieve-conversations.mdx b/sdk/ionic-legacy/retrieve-conversations.mdx index 069cb1063..745ef515d 100644 --- a/sdk/ionic-legacy/retrieve-conversations.mdx +++ b/sdk/ionic-legacy/retrieve-conversations.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Conversations" +description: "Retrieve Conversations — CometChat documentation." --- diff --git a/sdk/ionic-legacy/retrieve-group-members.mdx b/sdk/ionic-legacy/retrieve-group-members.mdx index 2124a941f..164dff618 100644 --- a/sdk/ionic-legacy/retrieve-group-members.mdx +++ b/sdk/ionic-legacy/retrieve-group-members.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Group Members" +description: "Retrieve Group Members — CometChat documentation." --- diff --git a/sdk/ionic-legacy/retrieve-groups.mdx b/sdk/ionic-legacy/retrieve-groups.mdx index 51e183f5a..c4cdc7239 100644 --- a/sdk/ionic-legacy/retrieve-groups.mdx +++ b/sdk/ionic-legacy/retrieve-groups.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Groups" +description: "Retrieve Groups — CometChat documentation." --- diff --git a/sdk/ionic-legacy/retrieve-users.mdx b/sdk/ionic-legacy/retrieve-users.mdx index bae70e0ca..d16c719fc 100644 --- a/sdk/ionic-legacy/retrieve-users.mdx +++ b/sdk/ionic-legacy/retrieve-users.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Users" +description: "Retrieve Users — CometChat documentation." --- diff --git a/sdk/ionic-legacy/send-message.mdx b/sdk/ionic-legacy/send-message.mdx index b11cd0582..b1a660781 100644 --- a/sdk/ionic-legacy/send-message.mdx +++ b/sdk/ionic-legacy/send-message.mdx @@ -1,5 +1,6 @@ --- title: "Send A Message" +description: "Send A Message — CometChat documentation." --- diff --git a/sdk/ionic-legacy/setup.mdx b/sdk/ionic-legacy/setup.mdx index 754b88623..e7cda5d3b 100644 --- a/sdk/ionic-legacy/setup.mdx +++ b/sdk/ionic-legacy/setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/ionic-legacy/threaded-messages.mdx b/sdk/ionic-legacy/threaded-messages.mdx index db986c623..b72b0aca6 100644 --- a/sdk/ionic-legacy/threaded-messages.mdx +++ b/sdk/ionic-legacy/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- diff --git a/sdk/ionic-legacy/transfer-group-ownership.mdx b/sdk/ionic-legacy/transfer-group-ownership.mdx index e1211e3e2..adfd1773b 100644 --- a/sdk/ionic-legacy/transfer-group-ownership.mdx +++ b/sdk/ionic-legacy/transfer-group-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Group Ownership" +description: "Transfer Group Ownership — CometChat documentation." --- diff --git a/sdk/ionic-legacy/transient-messages.mdx b/sdk/ionic-legacy/transient-messages.mdx index 1fb922060..5d17c9705 100644 --- a/sdk/ionic-legacy/transient-messages.mdx +++ b/sdk/ionic-legacy/transient-messages.mdx @@ -1,5 +1,6 @@ --- title: "Transient Messages" +description: "Transient Messages — CometChat documentation." --- diff --git a/sdk/ionic-legacy/typing-indicators.mdx b/sdk/ionic-legacy/typing-indicators.mdx index 0fc63e6a9..97bc0d49d 100644 --- a/sdk/ionic-legacy/typing-indicators.mdx +++ b/sdk/ionic-legacy/typing-indicators.mdx @@ -1,5 +1,6 @@ --- title: "Typing Indicators" +description: "Typing Indicators — CometChat documentation." --- diff --git a/sdk/ionic-legacy/update-group.mdx b/sdk/ionic-legacy/update-group.mdx index fdeabb595..0b430159f 100644 --- a/sdk/ionic-legacy/update-group.mdx +++ b/sdk/ionic-legacy/update-group.mdx @@ -1,5 +1,6 @@ --- title: "Update A Group" +description: "Update A Group — CometChat documentation." --- diff --git a/sdk/ionic-legacy/upgrading-from-v3-guide.mdx b/sdk/ionic-legacy/upgrading-from-v3-guide.mdx index 2fcea9300..57cae06d2 100644 --- a/sdk/ionic-legacy/upgrading-from-v3-guide.mdx +++ b/sdk/ionic-legacy/upgrading-from-v3-guide.mdx @@ -1,5 +1,6 @@ --- title: "Upgrading From V3" +description: "Upgrading From V3 — CometChat integration guide." --- diff --git a/sdk/ionic-legacy/user-management.mdx b/sdk/ionic-legacy/user-management.mdx index be03ebbe2..173fc3a12 100644 --- a/sdk/ionic-legacy/user-management.mdx +++ b/sdk/ionic-legacy/user-management.mdx @@ -1,5 +1,6 @@ --- title: "User Management" +description: "User Management — CometChat documentation." --- @@ -22,7 +23,7 @@ Summing up- ## Creating a user -Ideally, user creation should take place at your backend. You can refer to our Rest API to learn more about [creating a user](https://api-explorer.cometchat.com/reference/creates-user) and use the appropriate code sample based on your backend language. +Ideally, user creation should take place at your backend. You can refer to our Rest API to learn more about [creating a user](/rest-api/chat-apis) and use the appropriate code sample based on your backend language. However, if you wish to create users on the fly, you can use the `createUser()` method. This method takes a `User` object and the `Auth Key` as input parameters and returns the created `User` object if the request is successful. @@ -81,7 +82,7 @@ UID can be alphanumeric with underscore and hyphen. Spaces, punctuation and othe ## Updating a user -Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](https://api-explorer.cometchat.com/reference/update-user) section. However, this can be achieved on the fly as well as using the `updateUser()` method. This method takes a `User` object and the `Auth Key` as inputs and returns the updated `User` object on the successful execution of the request. +Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](/rest-api/chat-apis) section. However, this can be achieved on the fly as well as using the `updateUser()` method. This method takes a `User` object and the `Auth Key` as inputs and returns the updated `User` object on the successful execution of the request. @@ -185,7 +186,7 @@ By using the `updateCurrentUserDetails()` method one can only update the logged- ## Deleting a user -Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](https://api-explorer.cometchat.com/reference/delete-user) section. +Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](/rest-api/chat-apis) section. ## User Class diff --git a/sdk/ionic-legacy/user-presence.mdx b/sdk/ionic-legacy/user-presence.mdx index 399779170..6b8fc53c6 100644 --- a/sdk/ionic-legacy/user-presence.mdx +++ b/sdk/ionic-legacy/user-presence.mdx @@ -1,5 +1,6 @@ --- title: "User Presence" +description: "User Presence — CometChat documentation." --- @@ -28,7 +29,7 @@ You need to register the `UserListener` using the `addUserListener()` method whe -``` +```javascript let listenerID = "UNIQUE_LISTENER_ID"; CometChat.addUserListener( @@ -77,7 +78,7 @@ We recommend you remove the listener once the activity or view is not in use. We -``` +```javascript let listenerID = "UNIQUE_LISTENER_ID"; CometChat.removeUserListener(listenerID); ``` diff --git a/sdk/ionic-legacy/users-overview.mdx b/sdk/ionic-legacy/users-overview.mdx index 46e0d1027..5a1c9591a 100644 --- a/sdk/ionic-legacy/users-overview.mdx +++ b/sdk/ionic-legacy/users-overview.mdx @@ -1,6 +1,7 @@ --- title: "Users" sidebarTitle: "Overview" +description: "Overview of Users in CometChat." --- diff --git a/sdk/ionic-legacy/video-view-customisation.mdx b/sdk/ionic-legacy/video-view-customisation.mdx index b10103853..38793d348 100644 --- a/sdk/ionic-legacy/video-view-customisation.mdx +++ b/sdk/ionic-legacy/video-view-customisation.mdx @@ -1,5 +1,6 @@ --- title: "Video View Customisation" +description: "Video View Customisation — CometChat documentation." --- diff --git a/sdk/ionic-legacy/webhooks-overview.mdx b/sdk/ionic-legacy/webhooks-overview.mdx index 598d43500..c6059ded0 100644 --- a/sdk/ionic-legacy/webhooks-overview.mdx +++ b/sdk/ionic-legacy/webhooks-overview.mdx @@ -1,4 +1,5 @@ --- title: "Webhooks" url: "/fundamentals/webhooks-overview" +description: "Navigate to Webhooks documentation." --- \ No newline at end of file diff --git a/sdk/ios/2.0/add-members-to-a-group.mdx b/sdk/ios/2.0/add-members-to-a-group.mdx index b361d0503..e094a38af 100644 --- a/sdk/ios/2.0/add-members-to-a-group.mdx +++ b/sdk/ios/2.0/add-members-to-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Add Members To A Group" +description: "Add Members To A Group — CometChat documentation." --- diff --git a/sdk/ios/2.0/additional-message-filtering.mdx b/sdk/ios/2.0/additional-message-filtering.mdx index e0cf2d421..078def3be 100644 --- a/sdk/ios/2.0/additional-message-filtering.mdx +++ b/sdk/ios/2.0/additional-message-filtering.mdx @@ -1,5 +1,6 @@ --- title: "Additional Message Filtering" +description: "Additional Message Filtering — CometChat documentation." --- diff --git a/sdk/ios/2.0/advanced.mdx b/sdk/ios/2.0/advanced.mdx index dcaf1d9fd..9fd37d4ab 100644 --- a/sdk/ios/2.0/advanced.mdx +++ b/sdk/ios/2.0/advanced.mdx @@ -1,5 +1,6 @@ --- title: "Advanced" +description: "Advanced — CometChat documentation." --- diff --git a/sdk/ios/2.0/all-real-time-delegates-listeners.mdx b/sdk/ios/2.0/all-real-time-delegates-listeners.mdx index f64e762f5..c6fee6260 100644 --- a/sdk/ios/2.0/all-real-time-delegates-listeners.mdx +++ b/sdk/ios/2.0/all-real-time-delegates-listeners.mdx @@ -1,5 +1,6 @@ --- title: "All Real Time Delegates (Listeners)" +description: "All Real Time Delegates (Listeners) — CometChat documentation." --- diff --git a/sdk/ios/2.0/authentication.mdx b/sdk/ios/2.0/authentication.mdx index 0926e0f19..1589bb388 100644 --- a/sdk/ios/2.0/authentication.mdx +++ b/sdk/ios/2.0/authentication.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Overview" +description: "Authentication — CometChat documentation." --- @@ -10,7 +11,7 @@ sidebarTitle: "Overview" Before you log in to the user, you must add the user to CometChat. 1. **For proof of concept/MVPs**: Create the user using the [CometChat Dashboard](https://app.cometchat.com). -2. **For production apps**: Use the CometChat [Create User API](https://api-explorer.cometchat.com/reference/creates-user) to create the user when your user signs up in your app. +2. **For production apps**: Use the CometChat [Create User API](/rest-api/chat-apis) to create the user when your user signs up in your app. Sample Users @@ -96,8 +97,8 @@ The `login()` method returns the `User` object containing all the information of This advanced authentication procedure does not use the auth Key directly in your client code and thus ensuring that your auth Key is not leaked even if the client code is reverse engineered. -1. [Create a user](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a user](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `login()` method. The login method needs to be called in the following scenarios: diff --git a/sdk/ios/2.0/block-users.mdx b/sdk/ios/2.0/block-users.mdx index 51af0f556..ca38f36b1 100644 --- a/sdk/ios/2.0/block-users.mdx +++ b/sdk/ios/2.0/block-users.mdx @@ -1,5 +1,6 @@ --- title: "Block Users" +description: "Block Users — CometChat documentation." --- diff --git a/sdk/ios/2.0/bots.mdx b/sdk/ios/2.0/bots.mdx index ecb8b128e..7469d8cc7 100644 --- a/sdk/ios/2.0/bots.mdx +++ b/sdk/ios/2.0/bots.mdx @@ -1,5 +1,6 @@ --- title: "Bots" +description: "Bots — CometChat documentation." --- diff --git a/sdk/ios/2.0/calling.mdx b/sdk/ios/2.0/calling.mdx index 278e2f46f..d560d7144 100644 --- a/sdk/ios/2.0/calling.mdx +++ b/sdk/ios/2.0/calling.mdx @@ -1,6 +1,7 @@ --- title: "Calling" sidebarTitle: "Overview" +description: "Calling — CometChat documentation." --- diff --git a/sdk/ios/2.0/change-member-scope.mdx b/sdk/ios/2.0/change-member-scope.mdx index 29103c53e..c8f2920c8 100644 --- a/sdk/ios/2.0/change-member-scope.mdx +++ b/sdk/ios/2.0/change-member-scope.mdx @@ -1,5 +1,6 @@ --- title: "Change Member Scope" +description: "Change Member Scope — CometChat documentation." --- diff --git a/sdk/ios/2.0/connection-status.mdx b/sdk/ios/2.0/connection-status.mdx index a3a0b5895..bb18d3f3e 100644 --- a/sdk/ios/2.0/connection-status.mdx +++ b/sdk/ios/2.0/connection-status.mdx @@ -1,5 +1,6 @@ --- title: "Connection Status" +description: "Connection Status — CometChat documentation." --- diff --git a/sdk/ios/2.0/create-a-group.mdx b/sdk/ios/2.0/create-a-group.mdx index 5eeb464ad..cf0f44b36 100644 --- a/sdk/ios/2.0/create-a-group.mdx +++ b/sdk/ios/2.0/create-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Create A Group" +description: "Create A Group — CometChat documentation." --- diff --git a/sdk/ios/2.0/default-calling1.mdx b/sdk/ios/2.0/default-calling1.mdx index 9984555f2..addd17abc 100644 --- a/sdk/ios/2.0/default-calling1.mdx +++ b/sdk/ios/2.0/default-calling1.mdx @@ -1,5 +1,6 @@ --- title: "Default Calling" +description: "Default Calling — CometChat documentation." --- diff --git a/sdk/ios/2.0/delete-a-conversation.mdx b/sdk/ios/2.0/delete-a-conversation.mdx index d853dd74b..1f49d4f23 100644 --- a/sdk/ios/2.0/delete-a-conversation.mdx +++ b/sdk/ios/2.0/delete-a-conversation.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Conversation" +description: "Delete A Conversation — CometChat documentation." --- @@ -22,7 +23,7 @@ CometChat.deleteConversation(conversationWith: "cometchat-uid-1", conversationTy -This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](https://api-explorer.cometchat.com/reference/deletes-conversation). +This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](/rest-api/chat-apis). The `deleteConversation()` method takes the following parameters: diff --git a/sdk/ios/2.0/delete-a-group.mdx b/sdk/ios/2.0/delete-a-group.mdx index 90a898c5b..e5af6788e 100644 --- a/sdk/ios/2.0/delete-a-group.mdx +++ b/sdk/ios/2.0/delete-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Group" +description: "Delete A Group — CometChat documentation." --- diff --git a/sdk/ios/2.0/delete-a-message.mdx b/sdk/ios/2.0/delete-a-message.mdx index 94be39c9c..89decfb12 100644 --- a/sdk/ios/2.0/delete-a-message.mdx +++ b/sdk/ios/2.0/delete-a-message.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Message" +description: "Delete A Message — CometChat documentation." --- diff --git a/sdk/ios/2.0/delivery-read-receipts.mdx b/sdk/ios/2.0/delivery-read-receipts.mdx index 0ffce7e18..b1fd24230 100644 --- a/sdk/ios/2.0/delivery-read-receipts.mdx +++ b/sdk/ios/2.0/delivery-read-receipts.mdx @@ -1,5 +1,6 @@ --- title: "Delivery & Read Receipts" +description: "Delivery & Read Receipts — CometChat documentation." --- diff --git a/sdk/ios/2.0/direct-calling1.mdx b/sdk/ios/2.0/direct-calling1.mdx index 895fd2304..2ac726d2c 100644 --- a/sdk/ios/2.0/direct-calling1.mdx +++ b/sdk/ios/2.0/direct-calling1.mdx @@ -1,5 +1,6 @@ --- title: "Direct Calling" +description: "Direct Calling — CometChat documentation." --- diff --git a/sdk/ios/2.0/edit-a-message.mdx b/sdk/ios/2.0/edit-a-message.mdx index 57e0b2829..9331d754b 100644 --- a/sdk/ios/2.0/edit-a-message.mdx +++ b/sdk/ios/2.0/edit-a-message.mdx @@ -1,5 +1,6 @@ --- title: "Edit A Message" +description: "Edit A Message — CometChat documentation." --- diff --git a/sdk/ios/2.0/extensions.mdx b/sdk/ios/2.0/extensions.mdx index e68c97c58..67abda32a 100644 --- a/sdk/ios/2.0/extensions.mdx +++ b/sdk/ios/2.0/extensions.mdx @@ -1,5 +1,6 @@ --- title: "Extensions" +description: "Extensions — CometChat documentation." --- @@ -13,8 +14,8 @@ Extensions pickup where our core leaves. They help extend the functionality of C Extensions that help alert users of new messages. *Recommended for all apps.* [Push Notification](/notifications/ios-fcm-push-notifications)\ -[Email Notification](/notifications/email-notification-extension)\ -[SMS Notification](/notifications/sms-notification-extension) +[Email Notification](/notifications/email-notifications-extension-legacy)\ +[SMS Notification](/notifications/sms-notifications-extension-legacy) ### User Experience diff --git a/sdk/ios/2.0/groups.mdx b/sdk/ios/2.0/groups.mdx index 99e877026..be06c2c42 100644 --- a/sdk/ios/2.0/groups.mdx +++ b/sdk/ios/2.0/groups.mdx @@ -1,6 +1,7 @@ --- title: "Groups" sidebarTitle: "Overview" +description: "Groups — CometChat documentation." --- diff --git a/sdk/ios/2.0/increment-app-icon-badge-count.mdx b/sdk/ios/2.0/increment-app-icon-badge-count.mdx index b0f074392..7808e5b52 100644 --- a/sdk/ios/2.0/increment-app-icon-badge-count.mdx +++ b/sdk/ios/2.0/increment-app-icon-badge-count.mdx @@ -1,5 +1,6 @@ --- title: "Increment App Icon Badge Count" +description: "Increment App Icon Badge Count — CometChat documentation." --- diff --git a/sdk/ios/2.0/join-a-group.mdx b/sdk/ios/2.0/join-a-group.mdx index 967198bb2..a28f1138e 100644 --- a/sdk/ios/2.0/join-a-group.mdx +++ b/sdk/ios/2.0/join-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Join A Group" +description: "Join A Group — CometChat documentation." --- diff --git a/sdk/ios/2.0/key-concepts.mdx b/sdk/ios/2.0/key-concepts.mdx index 88962a9ef..e4c76fdb5 100644 --- a/sdk/ios/2.0/key-concepts.mdx +++ b/sdk/ios/2.0/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- diff --git a/sdk/ios/2.0/kick-member-from-a-group.mdx b/sdk/ios/2.0/kick-member-from-a-group.mdx index e40fcf244..a54ecaa5d 100644 --- a/sdk/ios/2.0/kick-member-from-a-group.mdx +++ b/sdk/ios/2.0/kick-member-from-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Ban/Kick Members From A Group" +description: "Ban/Kick Members From A Group — CometChat documentation." --- diff --git a/sdk/ios/2.0/launch-call-screen-on-tap-of-push-notification.mdx b/sdk/ios/2.0/launch-call-screen-on-tap-of-push-notification.mdx index 6f1b9cc76..651428d3a 100644 --- a/sdk/ios/2.0/launch-call-screen-on-tap-of-push-notification.mdx +++ b/sdk/ios/2.0/launch-call-screen-on-tap-of-push-notification.mdx @@ -1,5 +1,6 @@ --- title: "Launch Call Screen On Tap Of Push Notification" +description: "Launch Call Screen On Tap Of Push Notification — CometChat documentation." --- diff --git a/sdk/ios/2.0/launch-chat-window-push-notification.mdx b/sdk/ios/2.0/launch-chat-window-push-notification.mdx index 5c6402fbf..56d77e524 100644 --- a/sdk/ios/2.0/launch-chat-window-push-notification.mdx +++ b/sdk/ios/2.0/launch-chat-window-push-notification.mdx @@ -1,5 +1,6 @@ --- title: "Launch Chat Window On Tap Of Push Notification" +description: "Launch Chat Window On Tap Of Push Notification — CometChat documentation." --- diff --git a/sdk/ios/2.0/leave-a-group.mdx b/sdk/ios/2.0/leave-a-group.mdx index 758e27194..f09460217 100644 --- a/sdk/ios/2.0/leave-a-group.mdx +++ b/sdk/ios/2.0/leave-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Leave A Group" +description: "Leave A Group — CometChat documentation." --- diff --git a/sdk/ios/2.0/login-listeners.mdx b/sdk/ios/2.0/login-listeners.mdx index 2041e436e..8884286c3 100644 --- a/sdk/ios/2.0/login-listeners.mdx +++ b/sdk/ios/2.0/login-listeners.mdx @@ -1,5 +1,6 @@ --- title: "Login Listeners" +description: "Login Listeners — CometChat documentation." --- diff --git a/sdk/ios/2.0/message-structure-and-hierarchy.mdx b/sdk/ios/2.0/message-structure-and-hierarchy.mdx index 988fda05d..4dd282660 100644 --- a/sdk/ios/2.0/message-structure-and-hierarchy.mdx +++ b/sdk/ios/2.0/message-structure-and-hierarchy.mdx @@ -1,5 +1,6 @@ --- title: "Message Structure And Hierarchy" +description: "Message Structure And Hierarchy — CometChat documentation." --- diff --git a/sdk/ios/2.0/messaging.mdx b/sdk/ios/2.0/messaging.mdx index 56d6e57cb..b56cb1fcd 100644 --- a/sdk/ios/2.0/messaging.mdx +++ b/sdk/ios/2.0/messaging.mdx @@ -1,6 +1,7 @@ --- title: "Messaging" sidebarTitle: "Overview" +description: "Messaging — CometChat documentation." --- diff --git a/sdk/ios/2.0/overview.mdx b/sdk/ios/2.0/overview.mdx index 83368fa17..3f97ef16f 100644 --- a/sdk/ios/2.0/overview.mdx +++ b/sdk/ios/2.0/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/sdk/ios/2.0/publishing-app-on-appstore.mdx b/sdk/ios/2.0/publishing-app-on-appstore.mdx index c34a3c03a..e0fe71acd 100644 --- a/sdk/ios/2.0/publishing-app-on-appstore.mdx +++ b/sdk/ios/2.0/publishing-app-on-appstore.mdx @@ -1,5 +1,6 @@ --- title: "Publishing App On App Store" +description: "Publishing App On App Store — CometChat documentation." --- diff --git a/sdk/ios/2.0/rate-limits.mdx b/sdk/ios/2.0/rate-limits.mdx index 013cabbc4..53f131091 100644 --- a/sdk/ios/2.0/rate-limits.mdx +++ b/sdk/ios/2.0/rate-limits.mdx @@ -1,5 +1,6 @@ --- title: "Rate Limits" +description: "Rate Limits — CometChat documentation." --- diff --git a/sdk/ios/2.0/receive-a-message.mdx b/sdk/ios/2.0/receive-a-message.mdx index 1fe8344dc..165dba2e3 100644 --- a/sdk/ios/2.0/receive-a-message.mdx +++ b/sdk/ios/2.0/receive-a-message.mdx @@ -1,5 +1,6 @@ --- title: "Receive A Message" +description: "Receive A Message — CometChat documentation." --- diff --git a/sdk/ios/2.0/remove-delivered-notifications.mdx b/sdk/ios/2.0/remove-delivered-notifications.mdx index 975bcdae2..2de3c897b 100644 --- a/sdk/ios/2.0/remove-delivered-notifications.mdx +++ b/sdk/ios/2.0/remove-delivered-notifications.mdx @@ -1,5 +1,6 @@ --- title: "Remove Delivered Notifications" +description: "Remove Delivered Notifications — CometChat documentation." --- diff --git a/sdk/ios/2.0/resources.mdx b/sdk/ios/2.0/resources.mdx index 54ec46e0a..b25f8a14a 100644 --- a/sdk/ios/2.0/resources.mdx +++ b/sdk/ios/2.0/resources.mdx @@ -1,5 +1,6 @@ --- title: "Resources" +description: "Resources — CometChat documentation." --- diff --git a/sdk/ios/2.0/retrieve-conversations.mdx b/sdk/ios/2.0/retrieve-conversations.mdx index 758b4a4ac..bb1c135b8 100644 --- a/sdk/ios/2.0/retrieve-conversations.mdx +++ b/sdk/ios/2.0/retrieve-conversations.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Conversations" +description: "Retrieve Conversations — CometChat documentation." --- diff --git a/sdk/ios/2.0/retrieve-group-members.mdx b/sdk/ios/2.0/retrieve-group-members.mdx index 18ecdf3ff..eda78711d 100644 --- a/sdk/ios/2.0/retrieve-group-members.mdx +++ b/sdk/ios/2.0/retrieve-group-members.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Group Members" +description: "Retrieve Group Members — CometChat documentation." --- diff --git a/sdk/ios/2.0/retrieve-groups.mdx b/sdk/ios/2.0/retrieve-groups.mdx index 57fbd50ae..17e7189f6 100644 --- a/sdk/ios/2.0/retrieve-groups.mdx +++ b/sdk/ios/2.0/retrieve-groups.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Groups" +description: "Retrieve Groups — CometChat documentation." --- diff --git a/sdk/ios/2.0/retrieve-users.mdx b/sdk/ios/2.0/retrieve-users.mdx index 4d7712306..0d32f6b33 100644 --- a/sdk/ios/2.0/retrieve-users.mdx +++ b/sdk/ios/2.0/retrieve-users.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Users" +description: "Retrieve Users — CometChat documentation." --- diff --git a/sdk/ios/2.0/send-a-message.mdx b/sdk/ios/2.0/send-a-message.mdx index 18ca2cd8d..d7b6a30ec 100644 --- a/sdk/ios/2.0/send-a-message.mdx +++ b/sdk/ios/2.0/send-a-message.mdx @@ -1,5 +1,6 @@ --- title: "Send A Message" +description: "Send A Message — CometChat documentation." --- diff --git a/sdk/ios/2.0/setup.mdx b/sdk/ios/2.0/setup.mdx index 1716314f6..0db40ac41 100644 --- a/sdk/ios/2.0/setup.mdx +++ b/sdk/ios/2.0/setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/ios/2.0/threaded-messages.mdx b/sdk/ios/2.0/threaded-messages.mdx index ee10cf4b3..54f477be4 100644 --- a/sdk/ios/2.0/threaded-messages.mdx +++ b/sdk/ios/2.0/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- diff --git a/sdk/ios/2.0/transfer-group-ownership.mdx b/sdk/ios/2.0/transfer-group-ownership.mdx index 6d818fffa..92e6001c7 100644 --- a/sdk/ios/2.0/transfer-group-ownership.mdx +++ b/sdk/ios/2.0/transfer-group-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Group Ownership" +description: "Transfer Group Ownership — CometChat documentation." --- diff --git a/sdk/ios/2.0/typing-indicators.mdx b/sdk/ios/2.0/typing-indicators.mdx index 08fdd6514..fef3db282 100644 --- a/sdk/ios/2.0/typing-indicators.mdx +++ b/sdk/ios/2.0/typing-indicators.mdx @@ -1,5 +1,6 @@ --- title: "Typing Indicators" +description: "Typing Indicators — CometChat documentation." --- diff --git a/sdk/ios/2.0/update-a-group.mdx b/sdk/ios/2.0/update-a-group.mdx index 8ce76ec55..2311f990a 100644 --- a/sdk/ios/2.0/update-a-group.mdx +++ b/sdk/ios/2.0/update-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Update A Group" +description: "Update A Group — CometChat documentation." --- diff --git a/sdk/ios/2.0/upgrading-from-v1.mdx b/sdk/ios/2.0/upgrading-from-v1.mdx index 9de855fd9..f24b62505 100644 --- a/sdk/ios/2.0/upgrading-from-v1.mdx +++ b/sdk/ios/2.0/upgrading-from-v1.mdx @@ -1,5 +1,6 @@ --- title: "Upgrading From V1" +description: "Upgrading From V1 — CometChat documentation." --- diff --git a/sdk/ios/2.0/user-management.mdx b/sdk/ios/2.0/user-management.mdx index ceb00bbfc..910b0e0bc 100644 --- a/sdk/ios/2.0/user-management.mdx +++ b/sdk/ios/2.0/user-management.mdx @@ -1,5 +1,6 @@ --- title: "User Management" +description: "User Management — CometChat documentation." --- @@ -37,7 +38,7 @@ Summing up- ## Creating a user -Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [Creating a user](https://api-explorer.cometchat.com/reference/creates-user) and use the appropriate code sample based on your backend language. +Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [Creating a user](/rest-api/chat-apis) and use the appropriate code sample based on your backend language. However, if you wish to create users on the fly, you can use the `createUser()` method. This method takes a `User` object and the `Auth Key` as input parameters and returns the created `User` object if the request is successful. @@ -65,7 +66,7 @@ UID can be alphanumeric with underscore and hyphen. Spaces, punctuation and othe ## Updating a user -Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](https://api-explorer.cometchat.com/reference/update-user) section. However, this can be achieved on the fly as well using the `updateUser()` method. This method takes a `User` object and the Auth Key as inputs and returns the updated `User` object on successful execution of the request. +Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](/rest-api/chat-apis) section. However, this can be achieved on the fly as well using the `updateUser()` method. This method takes a `User` object and the Auth Key as inputs and returns the updated `User` object on successful execution of the request. @@ -108,7 +109,7 @@ By using the `updateCurrentUserDetails()` method one can only update the logged- ## Deleting a user -Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](https://api-explorer.cometchat.com/reference/delete-user) section. +Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](/rest-api/chat-apis) section. ## User Class diff --git a/sdk/ios/2.0/user-presence.mdx b/sdk/ios/2.0/user-presence.mdx index bd991f28c..85b943916 100644 --- a/sdk/ios/2.0/user-presence.mdx +++ b/sdk/ios/2.0/user-presence.mdx @@ -1,5 +1,6 @@ --- title: "User Presence" +description: "User Presence — CometChat documentation." --- diff --git a/sdk/ios/2.0/users.mdx b/sdk/ios/2.0/users.mdx index bed5d1d17..cd7355314 100644 --- a/sdk/ios/2.0/users.mdx +++ b/sdk/ios/2.0/users.mdx @@ -1,6 +1,7 @@ --- title: "Users" sidebarTitle: "Overview" +description: "Users — CometChat documentation." --- diff --git a/sdk/ios/2.0/webhooks.mdx b/sdk/ios/2.0/webhooks.mdx index 2cdd05da7..f3dd1b70a 100644 --- a/sdk/ios/2.0/webhooks.mdx +++ b/sdk/ios/2.0/webhooks.mdx @@ -1,5 +1,6 @@ --- title: "Webhooks" +description: "Webhooks — CometChat documentation." --- diff --git a/sdk/ios/3.0/add-members-to-a-group.mdx b/sdk/ios/3.0/add-members-to-a-group.mdx index 98caa489a..1ccd8439e 100644 --- a/sdk/ios/3.0/add-members-to-a-group.mdx +++ b/sdk/ios/3.0/add-members-to-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Add Members To A Group" +description: "Add Members To A Group — CometChat documentation." --- diff --git a/sdk/ios/3.0/additional-message-filtering.mdx b/sdk/ios/3.0/additional-message-filtering.mdx index 010341ed0..adbb2e56d 100644 --- a/sdk/ios/3.0/additional-message-filtering.mdx +++ b/sdk/ios/3.0/additional-message-filtering.mdx @@ -1,5 +1,6 @@ --- title: "Additional Message Filtering" +description: "Additional Message Filtering — CometChat documentation." --- diff --git a/sdk/ios/3.0/advanced.mdx b/sdk/ios/3.0/advanced.mdx index dcaf1d9fd..9fd37d4ab 100644 --- a/sdk/ios/3.0/advanced.mdx +++ b/sdk/ios/3.0/advanced.mdx @@ -1,5 +1,6 @@ --- title: "Advanced" +description: "Advanced — CometChat documentation." --- diff --git a/sdk/ios/3.0/all-real-time-delegates-listeners.mdx b/sdk/ios/3.0/all-real-time-delegates-listeners.mdx index 8292f2bbf..1c66b3db6 100644 --- a/sdk/ios/3.0/all-real-time-delegates-listeners.mdx +++ b/sdk/ios/3.0/all-real-time-delegates-listeners.mdx @@ -1,5 +1,6 @@ --- title: "All Real Time Delegates (Listeners)" +description: "All Real Time Delegates (Listeners) — CometChat documentation." --- diff --git a/sdk/ios/3.0/authentication.mdx b/sdk/ios/3.0/authentication.mdx index 0926e0f19..1589bb388 100644 --- a/sdk/ios/3.0/authentication.mdx +++ b/sdk/ios/3.0/authentication.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Overview" +description: "Authentication — CometChat documentation." --- @@ -10,7 +11,7 @@ sidebarTitle: "Overview" Before you log in to the user, you must add the user to CometChat. 1. **For proof of concept/MVPs**: Create the user using the [CometChat Dashboard](https://app.cometchat.com). -2. **For production apps**: Use the CometChat [Create User API](https://api-explorer.cometchat.com/reference/creates-user) to create the user when your user signs up in your app. +2. **For production apps**: Use the CometChat [Create User API](/rest-api/chat-apis) to create the user when your user signs up in your app. Sample Users @@ -96,8 +97,8 @@ The `login()` method returns the `User` object containing all the information of This advanced authentication procedure does not use the auth Key directly in your client code and thus ensuring that your auth Key is not leaked even if the client code is reverse engineered. -1. [Create a user](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a user](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `login()` method. The login method needs to be called in the following scenarios: diff --git a/sdk/ios/3.0/block-users.mdx b/sdk/ios/3.0/block-users.mdx index b00e115ae..ba8fdcf06 100644 --- a/sdk/ios/3.0/block-users.mdx +++ b/sdk/ios/3.0/block-users.mdx @@ -1,5 +1,6 @@ --- title: "Block Users" +description: "Block Users — CometChat documentation." --- diff --git a/sdk/ios/3.0/bots.mdx b/sdk/ios/3.0/bots.mdx index ecb8b128e..7469d8cc7 100644 --- a/sdk/ios/3.0/bots.mdx +++ b/sdk/ios/3.0/bots.mdx @@ -1,5 +1,6 @@ --- title: "Bots" +description: "Bots — CometChat documentation." --- diff --git a/sdk/ios/3.0/calling-v3.mdx b/sdk/ios/3.0/calling-v3.mdx index a26030213..e1b7c81f0 100644 --- a/sdk/ios/3.0/calling-v3.mdx +++ b/sdk/ios/3.0/calling-v3.mdx @@ -1,5 +1,6 @@ --- title: "Calling V3" +description: "Calling V3 — CometChat documentation." --- diff --git a/sdk/ios/3.0/calling.mdx b/sdk/ios/3.0/calling.mdx index 0924a11de..a2a064fe0 100644 --- a/sdk/ios/3.0/calling.mdx +++ b/sdk/ios/3.0/calling.mdx @@ -1,5 +1,6 @@ --- title: "Calling" +description: "Calling — CometChat documentation." --- diff --git a/sdk/ios/3.0/change-member-scope.mdx b/sdk/ios/3.0/change-member-scope.mdx index c8d458f58..ab1bfb806 100644 --- a/sdk/ios/3.0/change-member-scope.mdx +++ b/sdk/ios/3.0/change-member-scope.mdx @@ -1,5 +1,6 @@ --- title: "Change Member Scope" +description: "Change Member Scope — CometChat documentation." --- diff --git a/sdk/ios/3.0/connection-status.mdx b/sdk/ios/3.0/connection-status.mdx index 5c68b3cf3..4dac3cc85 100644 --- a/sdk/ios/3.0/connection-status.mdx +++ b/sdk/ios/3.0/connection-status.mdx @@ -1,5 +1,6 @@ --- title: "Connection Status" +description: "Connection Status — CometChat documentation." --- diff --git a/sdk/ios/3.0/create-a-group.mdx b/sdk/ios/3.0/create-a-group.mdx index f0ce8922b..c5cb09ed0 100644 --- a/sdk/ios/3.0/create-a-group.mdx +++ b/sdk/ios/3.0/create-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Create A Group" +description: "Create A Group — CometChat documentation." --- diff --git a/sdk/ios/3.0/default-calling.mdx b/sdk/ios/3.0/default-calling.mdx index d68923391..009ac8510 100644 --- a/sdk/ios/3.0/default-calling.mdx +++ b/sdk/ios/3.0/default-calling.mdx @@ -1,5 +1,6 @@ --- title: "Default Calling" +description: "Default Calling — CometChat documentation." --- diff --git a/sdk/ios/3.0/default-calling1.mdx b/sdk/ios/3.0/default-calling1.mdx index 3d6f83249..24f9a00c7 100644 --- a/sdk/ios/3.0/default-calling1.mdx +++ b/sdk/ios/3.0/default-calling1.mdx @@ -1,5 +1,6 @@ --- title: "Default Calling" +description: "Default Calling — CometChat documentation." --- diff --git a/sdk/ios/3.0/delete-a-conversation.mdx b/sdk/ios/3.0/delete-a-conversation.mdx index a9a805f8b..8cd815478 100644 --- a/sdk/ios/3.0/delete-a-conversation.mdx +++ b/sdk/ios/3.0/delete-a-conversation.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Conversation" +description: "Delete A Conversation — CometChat documentation." --- @@ -22,7 +23,7 @@ CometChat.deleteConversation(conversationWith: "cometchat-uid-1", conversationTy -This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](https://api-explorer.cometchat.com/reference/deletes-conversation). +This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](/rest-api/chat-apis). The `deleteConversation()` method takes the following parameters: diff --git a/sdk/ios/3.0/delete-a-group.mdx b/sdk/ios/3.0/delete-a-group.mdx index 90a898c5b..e5af6788e 100644 --- a/sdk/ios/3.0/delete-a-group.mdx +++ b/sdk/ios/3.0/delete-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Group" +description: "Delete A Group — CometChat documentation." --- diff --git a/sdk/ios/3.0/delete-a-message.mdx b/sdk/ios/3.0/delete-a-message.mdx index 53dedd810..f7c900e18 100644 --- a/sdk/ios/3.0/delete-a-message.mdx +++ b/sdk/ios/3.0/delete-a-message.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Message" +description: "Delete A Message — CometChat documentation." --- diff --git a/sdk/ios/3.0/delivery-read-receipts.mdx b/sdk/ios/3.0/delivery-read-receipts.mdx index 63e1c8ca2..7d95f58c2 100644 --- a/sdk/ios/3.0/delivery-read-receipts.mdx +++ b/sdk/ios/3.0/delivery-read-receipts.mdx @@ -1,5 +1,6 @@ --- title: "Delivery & Read Receipts" +description: "Delivery & Read Receipts — CometChat documentation." --- diff --git a/sdk/ios/3.0/direct-calling.mdx b/sdk/ios/3.0/direct-calling.mdx index e4b0f361e..237060ced 100644 --- a/sdk/ios/3.0/direct-calling.mdx +++ b/sdk/ios/3.0/direct-calling.mdx @@ -1,5 +1,6 @@ --- title: "Direct Calling" +description: "Direct Calling — CometChat documentation." --- diff --git a/sdk/ios/3.0/direct-calling1.mdx b/sdk/ios/3.0/direct-calling1.mdx index cf3340edf..61e84a96f 100644 --- a/sdk/ios/3.0/direct-calling1.mdx +++ b/sdk/ios/3.0/direct-calling1.mdx @@ -1,5 +1,6 @@ --- title: "Direct Calling" +description: "Direct Calling — CometChat documentation." --- diff --git a/sdk/ios/3.0/edit-a-message.mdx b/sdk/ios/3.0/edit-a-message.mdx index 31229b697..94c42c630 100644 --- a/sdk/ios/3.0/edit-a-message.mdx +++ b/sdk/ios/3.0/edit-a-message.mdx @@ -1,5 +1,6 @@ --- title: "Edit A Message" +description: "Edit A Message — CometChat documentation." --- diff --git a/sdk/ios/3.0/extensions-overview.mdx b/sdk/ios/3.0/extensions-overview.mdx index 29c1774bd..d7eadbbe5 100644 --- a/sdk/ios/3.0/extensions-overview.mdx +++ b/sdk/ios/3.0/extensions-overview.mdx @@ -1,4 +1,5 @@ --- title: "Extensions" url: "/fundamentals/extensions-overview" +description: "Navigate to Extensions documentation." --- \ No newline at end of file diff --git a/sdk/ios/3.0/groups.mdx b/sdk/ios/3.0/groups.mdx index 300e4361a..f37c5245e 100644 --- a/sdk/ios/3.0/groups.mdx +++ b/sdk/ios/3.0/groups.mdx @@ -1,5 +1,6 @@ --- title: "Groups" +description: "Groups — CometChat documentation." --- diff --git a/sdk/ios/3.0/increment-app-icon-badge-count.mdx b/sdk/ios/3.0/increment-app-icon-badge-count.mdx index e1c91f4ea..8a1bed225 100644 --- a/sdk/ios/3.0/increment-app-icon-badge-count.mdx +++ b/sdk/ios/3.0/increment-app-icon-badge-count.mdx @@ -1,5 +1,6 @@ --- title: "Increment App Icon Badge Count" +description: "Increment App Icon Badge Count — CometChat documentation." --- diff --git a/sdk/ios/3.0/integration.mdx b/sdk/ios/3.0/integration.mdx index 9bd75abf8..36f715ff6 100644 --- a/sdk/ios/3.0/integration.mdx +++ b/sdk/ios/3.0/integration.mdx @@ -1,5 +1,6 @@ --- title: "Integration" +description: "Integration — CometChat documentation." --- diff --git a/sdk/ios/3.0/join-a-group.mdx b/sdk/ios/3.0/join-a-group.mdx index 3f615d4d6..200479ccf 100644 --- a/sdk/ios/3.0/join-a-group.mdx +++ b/sdk/ios/3.0/join-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Join A Group" +description: "Join A Group — CometChat documentation." --- diff --git a/sdk/ios/3.0/key-concepts.mdx b/sdk/ios/3.0/key-concepts.mdx index a62934b71..f0b07182a 100644 --- a/sdk/ios/3.0/key-concepts.mdx +++ b/sdk/ios/3.0/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- diff --git a/sdk/ios/3.0/kick-member-from-a-group.mdx b/sdk/ios/3.0/kick-member-from-a-group.mdx index 375ec1282..a6a3b5ac4 100644 --- a/sdk/ios/3.0/kick-member-from-a-group.mdx +++ b/sdk/ios/3.0/kick-member-from-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Kick Member From A Group" +description: "Kick Member From A Group — CometChat documentation." --- diff --git a/sdk/ios/3.0/launch-call-screen-on-tap-of-push-notification.mdx b/sdk/ios/3.0/launch-call-screen-on-tap-of-push-notification.mdx index 6f1b9cc76..651428d3a 100644 --- a/sdk/ios/3.0/launch-call-screen-on-tap-of-push-notification.mdx +++ b/sdk/ios/3.0/launch-call-screen-on-tap-of-push-notification.mdx @@ -1,5 +1,6 @@ --- title: "Launch Call Screen On Tap Of Push Notification" +description: "Launch Call Screen On Tap Of Push Notification — CometChat documentation." --- diff --git a/sdk/ios/3.0/launch-chat-window-push-notification.mdx b/sdk/ios/3.0/launch-chat-window-push-notification.mdx index 5c6402fbf..56d77e524 100644 --- a/sdk/ios/3.0/launch-chat-window-push-notification.mdx +++ b/sdk/ios/3.0/launch-chat-window-push-notification.mdx @@ -1,5 +1,6 @@ --- title: "Launch Chat Window On Tap Of Push Notification" +description: "Launch Chat Window On Tap Of Push Notification — CometChat documentation." --- diff --git a/sdk/ios/3.0/leave-a-group.mdx b/sdk/ios/3.0/leave-a-group.mdx index 36d1269f1..f429798b8 100644 --- a/sdk/ios/3.0/leave-a-group.mdx +++ b/sdk/ios/3.0/leave-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Leave A Group" +description: "Leave A Group — CometChat documentation." --- diff --git a/sdk/ios/3.0/login-listeners.mdx b/sdk/ios/3.0/login-listeners.mdx index 2041e436e..8884286c3 100644 --- a/sdk/ios/3.0/login-listeners.mdx +++ b/sdk/ios/3.0/login-listeners.mdx @@ -1,5 +1,6 @@ --- title: "Login Listeners" +description: "Login Listeners — CometChat documentation." --- diff --git a/sdk/ios/3.0/managing-web-socket-connections-manually.mdx b/sdk/ios/3.0/managing-web-socket-connections-manually.mdx index 9fdfba9d8..93e7e5e69 100644 --- a/sdk/ios/3.0/managing-web-socket-connections-manually.mdx +++ b/sdk/ios/3.0/managing-web-socket-connections-manually.mdx @@ -1,5 +1,6 @@ --- title: "Managing Web Socket Connections Manually" +description: "Managing Web Socket Connections Manually — CometChat documentation." --- diff --git a/sdk/ios/3.0/message-structure-and-hierarchy.mdx b/sdk/ios/3.0/message-structure-and-hierarchy.mdx index 61d03d5b4..1045c6f9c 100644 --- a/sdk/ios/3.0/message-structure-and-hierarchy.mdx +++ b/sdk/ios/3.0/message-structure-and-hierarchy.mdx @@ -1,5 +1,6 @@ --- title: "Message Structure And Hierarchy" +description: "Message Structure And Hierarchy — CometChat documentation." --- diff --git a/sdk/ios/3.0/messaging.mdx b/sdk/ios/3.0/messaging.mdx index d7c0c8c39..6ce4ef399 100644 --- a/sdk/ios/3.0/messaging.mdx +++ b/sdk/ios/3.0/messaging.mdx @@ -1,6 +1,7 @@ --- title: "Messaging" sidebarTitle: "Overview" +description: "Messaging — CometChat documentation." --- diff --git a/sdk/ios/3.0/overview.mdx b/sdk/ios/3.0/overview.mdx index 25b463636..108bbee83 100644 --- a/sdk/ios/3.0/overview.mdx +++ b/sdk/ios/3.0/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/sdk/ios/3.0/prepare-your-app-for-background-updates.mdx b/sdk/ios/3.0/prepare-your-app-for-background-updates.mdx index 677249b7e..d4c5b6451 100644 --- a/sdk/ios/3.0/prepare-your-app-for-background-updates.mdx +++ b/sdk/ios/3.0/prepare-your-app-for-background-updates.mdx @@ -1,5 +1,6 @@ --- title: "Prepare Your App For Background Updates" +description: "Prepare Your App For Background Updates — CometChat documentation." --- diff --git a/sdk/ios/3.0/presenter-mode.mdx b/sdk/ios/3.0/presenter-mode.mdx index 6b04e53c8..01a563903 100644 --- a/sdk/ios/3.0/presenter-mode.mdx +++ b/sdk/ios/3.0/presenter-mode.mdx @@ -1,5 +1,6 @@ --- title: "Presenter Mode" +description: "Presenter Mode — CometChat documentation." --- diff --git a/sdk/ios/3.0/publishing-app-on-appstore.mdx b/sdk/ios/3.0/publishing-app-on-appstore.mdx index 8c2febcfb..3fc1387f3 100644 --- a/sdk/ios/3.0/publishing-app-on-appstore.mdx +++ b/sdk/ios/3.0/publishing-app-on-appstore.mdx @@ -1,5 +1,6 @@ --- title: "Publishing App On App Store" +description: "Publishing App On App Store — CometChat documentation." --- diff --git a/sdk/ios/3.0/rate-limits.mdx b/sdk/ios/3.0/rate-limits.mdx index e0e20054c..4e5014131 100644 --- a/sdk/ios/3.0/rate-limits.mdx +++ b/sdk/ios/3.0/rate-limits.mdx @@ -1,5 +1,6 @@ --- title: "Rate Limits" +description: "Rate Limits — CometChat documentation." --- diff --git a/sdk/ios/3.0/receive-a-message.mdx b/sdk/ios/3.0/receive-a-message.mdx index 1801c5216..d58d7b132 100644 --- a/sdk/ios/3.0/receive-a-message.mdx +++ b/sdk/ios/3.0/receive-a-message.mdx @@ -1,5 +1,6 @@ --- title: "Receive A Message" +description: "Receive A Message — CometChat documentation." --- diff --git a/sdk/ios/3.0/recording.mdx b/sdk/ios/3.0/recording.mdx index 1968f42e9..1c546730f 100644 --- a/sdk/ios/3.0/recording.mdx +++ b/sdk/ios/3.0/recording.mdx @@ -1,5 +1,6 @@ --- title: "Recording" +description: "Recording — CometChat documentation." --- diff --git a/sdk/ios/3.0/recording1.mdx b/sdk/ios/3.0/recording1.mdx index 26a20ff20..6f872effe 100644 --- a/sdk/ios/3.0/recording1.mdx +++ b/sdk/ios/3.0/recording1.mdx @@ -1,5 +1,6 @@ --- title: "Recording" +description: "Recording — CometChat documentation." --- diff --git a/sdk/ios/3.0/remove-delivered-notifications.mdx b/sdk/ios/3.0/remove-delivered-notifications.mdx index 975bcdae2..2de3c897b 100644 --- a/sdk/ios/3.0/remove-delivered-notifications.mdx +++ b/sdk/ios/3.0/remove-delivered-notifications.mdx @@ -1,5 +1,6 @@ --- title: "Remove Delivered Notifications" +description: "Remove Delivered Notifications — CometChat documentation." --- diff --git a/sdk/ios/3.0/resources.mdx b/sdk/ios/3.0/resources.mdx index e5406976b..889d5858d 100644 --- a/sdk/ios/3.0/resources.mdx +++ b/sdk/ios/3.0/resources.mdx @@ -1,5 +1,6 @@ --- title: "Resources" +description: "Resources — CometChat documentation." --- diff --git a/sdk/ios/3.0/retrieve-conversations.mdx b/sdk/ios/3.0/retrieve-conversations.mdx index c92813811..032b52827 100644 --- a/sdk/ios/3.0/retrieve-conversations.mdx +++ b/sdk/ios/3.0/retrieve-conversations.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Conversations" +description: "Retrieve Conversations — CometChat documentation." --- diff --git a/sdk/ios/3.0/retrieve-group-members.mdx b/sdk/ios/3.0/retrieve-group-members.mdx index 7866987b6..e002ec3ba 100644 --- a/sdk/ios/3.0/retrieve-group-members.mdx +++ b/sdk/ios/3.0/retrieve-group-members.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Group Members" +description: "Retrieve Group Members — CometChat documentation." --- diff --git a/sdk/ios/3.0/retrieve-groups.mdx b/sdk/ios/3.0/retrieve-groups.mdx index 44a55457d..c495a5940 100644 --- a/sdk/ios/3.0/retrieve-groups.mdx +++ b/sdk/ios/3.0/retrieve-groups.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Groups" +description: "Retrieve Groups — CometChat documentation." --- diff --git a/sdk/ios/3.0/retrieve-users.mdx b/sdk/ios/3.0/retrieve-users.mdx index 79e86d09f..60506dc49 100644 --- a/sdk/ios/3.0/retrieve-users.mdx +++ b/sdk/ios/3.0/retrieve-users.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Users" +description: "Retrieve Users — CometChat documentation." --- diff --git a/sdk/ios/3.0/send-a-message.mdx b/sdk/ios/3.0/send-a-message.mdx index 8a77ce54a..24c51a5bc 100644 --- a/sdk/ios/3.0/send-a-message.mdx +++ b/sdk/ios/3.0/send-a-message.mdx @@ -1,5 +1,6 @@ --- title: "Send A Message" +description: "Send A Message — CometChat documentation." --- diff --git a/sdk/ios/3.0/setup.mdx b/sdk/ios/3.0/setup.mdx index 10cc9f1b7..6398ac970 100644 --- a/sdk/ios/3.0/setup.mdx +++ b/sdk/ios/3.0/setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/ios/3.0/threaded-messages.mdx b/sdk/ios/3.0/threaded-messages.mdx index 9e75b7457..da6c9528b 100644 --- a/sdk/ios/3.0/threaded-messages.mdx +++ b/sdk/ios/3.0/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- diff --git a/sdk/ios/3.0/transfer-group-ownership.mdx b/sdk/ios/3.0/transfer-group-ownership.mdx index 6d818fffa..92e6001c7 100644 --- a/sdk/ios/3.0/transfer-group-ownership.mdx +++ b/sdk/ios/3.0/transfer-group-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Group Ownership" +description: "Transfer Group Ownership — CometChat documentation." --- diff --git a/sdk/ios/3.0/transient-messages.mdx b/sdk/ios/3.0/transient-messages.mdx index 6f1da0964..75eb65b25 100644 --- a/sdk/ios/3.0/transient-messages.mdx +++ b/sdk/ios/3.0/transient-messages.mdx @@ -1,5 +1,6 @@ --- title: "Transient Messages" +description: "Transient Messages — CometChat documentation." --- diff --git a/sdk/ios/3.0/typing-indicators.mdx b/sdk/ios/3.0/typing-indicators.mdx index 08fdd6514..fef3db282 100644 --- a/sdk/ios/3.0/typing-indicators.mdx +++ b/sdk/ios/3.0/typing-indicators.mdx @@ -1,5 +1,6 @@ --- title: "Typing Indicators" +description: "Typing Indicators — CometChat documentation." --- diff --git a/sdk/ios/3.0/update-a-group.mdx b/sdk/ios/3.0/update-a-group.mdx index 8ce76ec55..2311f990a 100644 --- a/sdk/ios/3.0/update-a-group.mdx +++ b/sdk/ios/3.0/update-a-group.mdx @@ -1,5 +1,6 @@ --- title: "Update A Group" +description: "Update A Group — CometChat documentation." --- diff --git a/sdk/ios/3.0/upgrading-from-v2.mdx b/sdk/ios/3.0/upgrading-from-v2.mdx index 575a2ada8..7318981f1 100644 --- a/sdk/ios/3.0/upgrading-from-v2.mdx +++ b/sdk/ios/3.0/upgrading-from-v2.mdx @@ -1,5 +1,6 @@ --- title: "Upgrading From V2" +description: "Upgrading From V2 — CometChat documentation." --- diff --git a/sdk/ios/3.0/user-management.mdx b/sdk/ios/3.0/user-management.mdx index f9bf96cb9..56d4c301c 100644 --- a/sdk/ios/3.0/user-management.mdx +++ b/sdk/ios/3.0/user-management.mdx @@ -1,5 +1,6 @@ --- title: "User Management" +description: "User Management — CometChat documentation." --- @@ -20,7 +21,7 @@ Summing up- ## Creating a user -Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [Creating a user](https://api-explorer.cometchat.com/reference/creates-user) and use the appropriate code sample based on your backend language. +Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [Creating a user](/rest-api/chat-apis) and use the appropriate code sample based on your backend language. However, if you wish to create users on the fly, you can use the `createUser()` method. This method takes a `User` object and the `Auth Key` as input parameters and returns the created `User` object if the request is successful. @@ -48,7 +49,7 @@ UID can be alphanumeric with underscore and hyphen. Spaces, punctuation and othe ## Updating a user -Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](https://api-explorer.cometchat.com/reference/update-user) section. However, this can be achieved on the fly as well using the `updateUser()` method. This method takes a `User` object and the Auth Key as inputs and returns the updated `User` object on successful execution of the request. +Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](/rest-api/chat-apis) section. However, this can be achieved on the fly as well using the `updateUser()` method. This method takes a `User` object and the Auth Key as inputs and returns the updated `User` object on successful execution of the request. @@ -91,7 +92,7 @@ By using the `updateCurrentUserDetails()` method one can only update the logged- ## Deleting a user -Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](https://api-explorer.cometchat.com/reference/delete-user) section. +Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](/rest-api/chat-apis) section. ## User Class diff --git a/sdk/ios/3.0/user-presence.mdx b/sdk/ios/3.0/user-presence.mdx index cb61844b9..90d3caedc 100644 --- a/sdk/ios/3.0/user-presence.mdx +++ b/sdk/ios/3.0/user-presence.mdx @@ -1,5 +1,6 @@ --- title: "User Presence" +description: "User Presence — CometChat documentation." --- diff --git a/sdk/ios/3.0/users.mdx b/sdk/ios/3.0/users.mdx index c52391ee6..9adc7c32c 100644 --- a/sdk/ios/3.0/users.mdx +++ b/sdk/ios/3.0/users.mdx @@ -1,5 +1,6 @@ --- title: "Users" +description: "Users — CometChat documentation." --- diff --git a/sdk/ios/3.0/video-view-customisation.mdx b/sdk/ios/3.0/video-view-customisation.mdx index 664813661..77498876b 100644 --- a/sdk/ios/3.0/video-view-customisation.mdx +++ b/sdk/ios/3.0/video-view-customisation.mdx @@ -1,5 +1,6 @@ --- title: "Video View Customisation" +description: "Video View Customisation — CometChat documentation." --- diff --git a/sdk/ios/3.0/video-view-customisation1.mdx b/sdk/ios/3.0/video-view-customisation1.mdx index 664813661..77498876b 100644 --- a/sdk/ios/3.0/video-view-customisation1.mdx +++ b/sdk/ios/3.0/video-view-customisation1.mdx @@ -1,5 +1,6 @@ --- title: "Video View Customisation" +description: "Video View Customisation — CometChat documentation." --- diff --git a/sdk/ios/3.0/webhooks.mdx b/sdk/ios/3.0/webhooks.mdx index 2cdd05da7..f3dd1b70a 100644 --- a/sdk/ios/3.0/webhooks.mdx +++ b/sdk/ios/3.0/webhooks.mdx @@ -1,5 +1,6 @@ --- title: "Webhooks" +description: "Webhooks — CometChat documentation." --- diff --git a/sdk/ios/additional-message-filtering.mdx b/sdk/ios/additional-message-filtering.mdx index 03075fa48..3981b9c9c 100644 --- a/sdk/ios/additional-message-filtering.mdx +++ b/sdk/ios/additional-message-filtering.mdx @@ -1,5 +1,6 @@ --- title: "Additional Message Filtering" +description: "Additional Message Filtering — CometChat documentation." --- diff --git a/sdk/ios/advanced.mdx b/sdk/ios/advanced.mdx index 7355c1ab6..f0b1d1654 100644 --- a/sdk/ios/advanced.mdx +++ b/sdk/ios/advanced.mdx @@ -1,6 +1,7 @@ --- title: "Advanced" sidebarTitle: "Overview" +description: "Advanced — CometChat documentation." --- diff --git a/sdk/ios/ai-agents.mdx b/sdk/ios/ai-agents.mdx index 2a920c71f..290eae6d2 100644 --- a/sdk/ios/ai-agents.mdx +++ b/sdk/ios/ai-agents.mdx @@ -1,5 +1,6 @@ --- title: "AI Agents" +description: "AI Agents — CometChat documentation." --- # AI Agents Overview diff --git a/sdk/ios/ai-chatbots-overview.mdx b/sdk/ios/ai-chatbots-overview.mdx index a5e168a8e..1280e5391 100644 --- a/sdk/ios/ai-chatbots-overview.mdx +++ b/sdk/ios/ai-chatbots-overview.mdx @@ -1,4 +1,5 @@ --- title: "Bots" url: "/ai-chatbots/overview" +description: "Navigate to Bots documentation." --- \ No newline at end of file diff --git a/sdk/ios/ai-moderation.mdx b/sdk/ios/ai-moderation.mdx index eda461d9a..1b4ac45ab 100644 --- a/sdk/ios/ai-moderation.mdx +++ b/sdk/ios/ai-moderation.mdx @@ -1,5 +1,6 @@ --- title: "AI Moderation" +description: "AI Moderation — CometChat documentation." --- ## Overview diff --git a/sdk/ios/ai-user-copilot-overview.mdx b/sdk/ios/ai-user-copilot-overview.mdx index 3e798a3fb..eb49fe85a 100644 --- a/sdk/ios/ai-user-copilot-overview.mdx +++ b/sdk/ios/ai-user-copilot-overview.mdx @@ -1,4 +1,5 @@ --- title: "AI" url: "/fundamentals/ai-user-copilot/overview" +description: "Navigate to AI documentation." --- \ No newline at end of file diff --git a/sdk/ios/all-real-time-delegates-listeners.mdx b/sdk/ios/all-real-time-delegates-listeners.mdx index ba8a2d67b..e25aafe89 100644 --- a/sdk/ios/all-real-time-delegates-listeners.mdx +++ b/sdk/ios/all-real-time-delegates-listeners.mdx @@ -1,5 +1,6 @@ --- title: "All Real Time Delegates (Listeners)" +description: "All Real Time Delegates (Listeners) — CometChat documentation." --- diff --git a/sdk/ios/authentication-overview.mdx b/sdk/ios/authentication-overview.mdx index f063e4f66..82f6c5a6a 100644 --- a/sdk/ios/authentication-overview.mdx +++ b/sdk/ios/authentication-overview.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Overview" +description: "Overview of Authentication in CometChat." --- @@ -10,7 +11,7 @@ sidebarTitle: "Overview" Before you log in a user, you must add the user to CometChat. 1. **For proof of concept/MVPs**: Create the user using the [CometChat Dashboard](https://app.cometchat.com). -2. **For production apps**: Use the CometChat [Create User API](https://api-explorer.cometchat.com/reference/creates-user) to create the user when your user signs up in your app. +2. **For production apps**: Use the CometChat [Create User API](/rest-api/chat-apis) to create the user when your user signs up in your app. Sample Users @@ -90,8 +91,8 @@ The `login()` method returns the `User` object containing all the information of This advanced authentication procedure does not use the Auth Key directly in your client code thus ensuring safety. -1. [Create a user](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a user](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `login()` method. The login method needs to be called in the following scenarios: diff --git a/sdk/ios/block-users.mdx b/sdk/ios/block-users.mdx index 13f62c70a..0a711042f 100644 --- a/sdk/ios/block-users.mdx +++ b/sdk/ios/block-users.mdx @@ -1,5 +1,6 @@ --- title: "Block Users" +description: "Block Users — CometChat documentation." --- diff --git a/sdk/ios/call-logs.mdx b/sdk/ios/call-logs.mdx index 91bf66538..9bcd03ad5 100644 --- a/sdk/ios/call-logs.mdx +++ b/sdk/ios/call-logs.mdx @@ -1,5 +1,6 @@ --- title: "Call Logs" +description: "Call Logs — CometChat documentation." --- diff --git a/sdk/ios/calling-overview.mdx b/sdk/ios/calling-overview.mdx index 4883e77b1..6710a17be 100644 --- a/sdk/ios/calling-overview.mdx +++ b/sdk/ios/calling-overview.mdx @@ -1,6 +1,7 @@ --- title: "Calling" sidebarTitle: "Overview" +description: "Overview of Calling in CometChat." --- ## Overview diff --git a/sdk/ios/calling-setup.mdx b/sdk/ios/calling-setup.mdx index 1c689f31b..27ed8fe44 100644 --- a/sdk/ios/calling-setup.mdx +++ b/sdk/ios/calling-setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/ios/changelog.mdx b/sdk/ios/changelog.mdx index 067c5dd4c..6e8895b7e 100644 --- a/sdk/ios/changelog.mdx +++ b/sdk/ios/changelog.mdx @@ -1,4 +1,5 @@ --- title: "Changelog" url: "https://github.com/cometchat/chat-sdk-ios/releases" +description: "Navigate to Changelog documentation." --- \ No newline at end of file diff --git a/sdk/ios/connection-status.mdx b/sdk/ios/connection-status.mdx index 5d296174f..2abc0f4b5 100644 --- a/sdk/ios/connection-status.mdx +++ b/sdk/ios/connection-status.mdx @@ -1,5 +1,6 @@ --- title: "Connection Status" +description: "Connection Status — CometChat documentation." --- diff --git a/sdk/ios/create-group.mdx b/sdk/ios/create-group.mdx index 1310a124a..66283a6a1 100644 --- a/sdk/ios/create-group.mdx +++ b/sdk/ios/create-group.mdx @@ -1,5 +1,6 @@ --- title: "Create A Group" +description: "Create A Group — CometChat documentation." --- diff --git a/sdk/ios/default-calling.mdx b/sdk/ios/default-calling.mdx index c0f5e5ebb..b637c8c72 100644 --- a/sdk/ios/default-calling.mdx +++ b/sdk/ios/default-calling.mdx @@ -1,5 +1,6 @@ --- title: "Ringing" +description: "Ringing — CometChat documentation." --- ## Overview diff --git a/sdk/ios/delete-conversation.mdx b/sdk/ios/delete-conversation.mdx index a9a805f8b..8cd815478 100644 --- a/sdk/ios/delete-conversation.mdx +++ b/sdk/ios/delete-conversation.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Conversation" +description: "Delete A Conversation — CometChat documentation." --- @@ -22,7 +23,7 @@ CometChat.deleteConversation(conversationWith: "cometchat-uid-1", conversationTy -This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](https://api-explorer.cometchat.com/reference/deletes-conversation). +This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](/rest-api/chat-apis). The `deleteConversation()` method takes the following parameters: diff --git a/sdk/ios/delete-group.mdx b/sdk/ios/delete-group.mdx index c305f4093..5c7a73a57 100644 --- a/sdk/ios/delete-group.mdx +++ b/sdk/ios/delete-group.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Group" +description: "Delete A Group — CometChat documentation." --- diff --git a/sdk/ios/delete-message.mdx b/sdk/ios/delete-message.mdx index 9d2192d20..f0212957d 100644 --- a/sdk/ios/delete-message.mdx +++ b/sdk/ios/delete-message.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Message" +description: "Delete A Message — CometChat documentation." --- diff --git a/sdk/ios/delivery-read-receipts.mdx b/sdk/ios/delivery-read-receipts.mdx index 954a85e65..e408c09e6 100644 --- a/sdk/ios/delivery-read-receipts.mdx +++ b/sdk/ios/delivery-read-receipts.mdx @@ -1,5 +1,6 @@ --- title: "Delivery & Read Receipts" +description: "Delivery & Read Receipts — CometChat documentation." --- diff --git a/sdk/ios/direct-calling.mdx b/sdk/ios/direct-calling.mdx index b525aa90c..7e37eaa68 100644 --- a/sdk/ios/direct-calling.mdx +++ b/sdk/ios/direct-calling.mdx @@ -1,5 +1,6 @@ --- title: "Call Session" +description: "Call Session — CometChat documentation." --- ## Overview diff --git a/sdk/ios/edit-message.mdx b/sdk/ios/edit-message.mdx index e3024ab3b..66861ece7 100644 --- a/sdk/ios/edit-message.mdx +++ b/sdk/ios/edit-message.mdx @@ -1,5 +1,6 @@ --- title: "Edit A Message" +description: "Edit A Message — CometChat documentation." --- diff --git a/sdk/ios/extensions-overview.mdx b/sdk/ios/extensions-overview.mdx index f47909ba9..006ca7239 100644 --- a/sdk/ios/extensions-overview.mdx +++ b/sdk/ios/extensions-overview.mdx @@ -1,4 +1,5 @@ --- title: "Extensions" url : "/fundamentals/extensions-overview" +description: "Overview of Extensions in CometChat." --- \ No newline at end of file diff --git a/sdk/ios/flag-message.mdx b/sdk/ios/flag-message.mdx index 37a2be33a..1d84c5233 100644 --- a/sdk/ios/flag-message.mdx +++ b/sdk/ios/flag-message.mdx @@ -1,5 +1,6 @@ --- title: "Flag Message" +description: "Flag Message — CometChat documentation." --- ## Overview diff --git a/sdk/ios/group-add-members.mdx b/sdk/ios/group-add-members.mdx index afd5ede5c..12cb04bb1 100644 --- a/sdk/ios/group-add-members.mdx +++ b/sdk/ios/group-add-members.mdx @@ -1,5 +1,6 @@ --- title: "Add Members To A Group" +description: "Add Members To A Group — CometChat documentation." --- diff --git a/sdk/ios/group-change-member-scope.mdx b/sdk/ios/group-change-member-scope.mdx index 1d06892d7..0e15266d0 100644 --- a/sdk/ios/group-change-member-scope.mdx +++ b/sdk/ios/group-change-member-scope.mdx @@ -1,5 +1,6 @@ --- title: "Change Member Scope" +description: "Change Member Scope — CometChat documentation." --- diff --git a/sdk/ios/group-kick-member.mdx b/sdk/ios/group-kick-member.mdx index 0def9ac5a..8fc840768 100644 --- a/sdk/ios/group-kick-member.mdx +++ b/sdk/ios/group-kick-member.mdx @@ -1,5 +1,6 @@ --- title: "Kick Member From A Group" +description: "Kick Member From A Group — CometChat documentation." --- diff --git a/sdk/ios/groups-overview.mdx b/sdk/ios/groups-overview.mdx index 99e877026..00b7d6b44 100644 --- a/sdk/ios/groups-overview.mdx +++ b/sdk/ios/groups-overview.mdx @@ -1,6 +1,7 @@ --- title: "Groups" sidebarTitle: "Overview" +description: "Overview of Groups in CometChat." --- diff --git a/sdk/ios/increment-app-icon-badge-count.mdx b/sdk/ios/increment-app-icon-badge-count.mdx index fd5bd8392..d0c200800 100644 --- a/sdk/ios/increment-app-icon-badge-count.mdx +++ b/sdk/ios/increment-app-icon-badge-count.mdx @@ -1,5 +1,6 @@ --- title: "Increment App Icon Badge Count" +description: "Increment App Icon Badge Count — CometChat documentation." --- diff --git a/sdk/ios/interactive-messages.mdx b/sdk/ios/interactive-messages.mdx index 8ac2fcbd9..47e0cf0d3 100644 --- a/sdk/ios/interactive-messages.mdx +++ b/sdk/ios/interactive-messages.mdx @@ -1,5 +1,6 @@ --- title: "Interactive Messages" +description: "Interactive Messages — CometChat documentation." --- diff --git a/sdk/ios/ios-overview.mdx b/sdk/ios/ios-overview.mdx index b892f3b64..910ad1476 100644 --- a/sdk/ios/ios-overview.mdx +++ b/sdk/ios/ios-overview.mdx @@ -1,4 +1,5 @@ --- title: "iOS UI Kit" url: "/ui-kit/ios/overview" +description: "Navigate to iOS UI Kit documentation." --- \ No newline at end of file diff --git a/sdk/ios/join-group.mdx b/sdk/ios/join-group.mdx index 88d05b124..b7082d446 100644 --- a/sdk/ios/join-group.mdx +++ b/sdk/ios/join-group.mdx @@ -1,5 +1,6 @@ --- title: "Join A Group" +description: "Join A Group — CometChat documentation." --- diff --git a/sdk/ios/key-concepts.mdx b/sdk/ios/key-concepts.mdx index 2e809f549..fed8ab223 100644 --- a/sdk/ios/key-concepts.mdx +++ b/sdk/ios/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- diff --git a/sdk/ios/launch-call-screen-on-tap-of-push-notification.mdx b/sdk/ios/launch-call-screen-on-tap-of-push-notification.mdx index 79fa30b74..ac0b662c9 100644 --- a/sdk/ios/launch-call-screen-on-tap-of-push-notification.mdx +++ b/sdk/ios/launch-call-screen-on-tap-of-push-notification.mdx @@ -1,5 +1,6 @@ --- title: "Launch Call Screen On Tap Of Push Notification" +description: "Launch Call Screen On Tap Of Push Notification — CometChat documentation." --- diff --git a/sdk/ios/launch-chat-window-on-tap-of-push-notification.mdx b/sdk/ios/launch-chat-window-on-tap-of-push-notification.mdx index 95bb11ea8..ea6a02d0a 100644 --- a/sdk/ios/launch-chat-window-on-tap-of-push-notification.mdx +++ b/sdk/ios/launch-chat-window-on-tap-of-push-notification.mdx @@ -1,5 +1,6 @@ --- title: "Launch Chat Window On Tap Of Push Notification" +description: "Launch Chat Window On Tap Of Push Notification — CometChat documentation." --- diff --git a/sdk/ios/leave-group.mdx b/sdk/ios/leave-group.mdx index c45e30113..144ce50f7 100644 --- a/sdk/ios/leave-group.mdx +++ b/sdk/ios/leave-group.mdx @@ -1,5 +1,6 @@ --- title: "Leave A Group" +description: "Leave A Group — CometChat documentation." --- diff --git a/sdk/ios/login-listeners.mdx b/sdk/ios/login-listeners.mdx index 2041e436e..8884286c3 100644 --- a/sdk/ios/login-listeners.mdx +++ b/sdk/ios/login-listeners.mdx @@ -1,5 +1,6 @@ --- title: "Login Listeners" +description: "Login Listeners — CometChat documentation." --- diff --git a/sdk/ios/managing-web-socket-connections-manually.mdx b/sdk/ios/managing-web-socket-connections-manually.mdx index 9fdfba9d8..93e7e5e69 100644 --- a/sdk/ios/managing-web-socket-connections-manually.mdx +++ b/sdk/ios/managing-web-socket-connections-manually.mdx @@ -1,5 +1,6 @@ --- title: "Managing Web Socket Connections Manually" +description: "Managing Web Socket Connections Manually — CometChat documentation." --- diff --git a/sdk/ios/marking-delivered-with-push-notification.mdx b/sdk/ios/marking-delivered-with-push-notification.mdx index 8afbcb793..33b2d9a31 100644 --- a/sdk/ios/marking-delivered-with-push-notification.mdx +++ b/sdk/ios/marking-delivered-with-push-notification.mdx @@ -1,5 +1,6 @@ --- title: "Marking Delivered From Push Notification" +description: "Marking Delivered From Push Notification — CometChat documentation." --- diff --git a/sdk/ios/mentions.mdx b/sdk/ios/mentions.mdx index b2ea5ce05..328f32b58 100644 --- a/sdk/ios/mentions.mdx +++ b/sdk/ios/mentions.mdx @@ -1,5 +1,6 @@ --- title: "Mentions" +description: "Mentions — CometChat documentation." --- diff --git a/sdk/ios/message-structure-and-hierarchy.mdx b/sdk/ios/message-structure-and-hierarchy.mdx index fef4ec36c..af82a1d45 100644 --- a/sdk/ios/message-structure-and-hierarchy.mdx +++ b/sdk/ios/message-structure-and-hierarchy.mdx @@ -1,5 +1,6 @@ --- title: "Message Structure And Hierarchy" +description: "Message Structure And Hierarchy — CometChat documentation." --- diff --git a/sdk/ios/messaging-overview.mdx b/sdk/ios/messaging-overview.mdx index 087e5f556..111d4ab2d 100644 --- a/sdk/ios/messaging-overview.mdx +++ b/sdk/ios/messaging-overview.mdx @@ -1,6 +1,7 @@ --- title: "Messaging" sidebarTitle: "Overview" +description: "Overview of Messaging in CometChat." --- diff --git a/sdk/ios/overview.mdx b/sdk/ios/overview.mdx index bf72c3a2e..3dbdffd77 100644 --- a/sdk/ios/overview.mdx +++ b/sdk/ios/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/sdk/ios/prepare-your-app-for-background-updates.mdx b/sdk/ios/prepare-your-app-for-background-updates.mdx index 9301db484..285af103e 100644 --- a/sdk/ios/prepare-your-app-for-background-updates.mdx +++ b/sdk/ios/prepare-your-app-for-background-updates.mdx @@ -1,5 +1,6 @@ --- title: "Prepare Your App For Background Updates" +description: "Prepare Your App For Background Updates — CometChat documentation." --- diff --git a/sdk/ios/presenter-mode.mdx b/sdk/ios/presenter-mode.mdx index f12090ba6..c271b04b8 100644 --- a/sdk/ios/presenter-mode.mdx +++ b/sdk/ios/presenter-mode.mdx @@ -1,5 +1,6 @@ --- title: "Presenter Mode" +description: "Presenter Mode — CometChat documentation." --- diff --git a/sdk/ios/publishing-app-on-appstore.mdx b/sdk/ios/publishing-app-on-appstore.mdx index ad28821b1..ca27f6989 100644 --- a/sdk/ios/publishing-app-on-appstore.mdx +++ b/sdk/ios/publishing-app-on-appstore.mdx @@ -1,5 +1,6 @@ --- title: "Publishing App On App Store" +description: "Publishing App On App Store — CometChat documentation." --- diff --git a/sdk/ios/rate-limits.mdx b/sdk/ios/rate-limits.mdx index 17581b144..796b22b12 100644 --- a/sdk/ios/rate-limits.mdx +++ b/sdk/ios/rate-limits.mdx @@ -1,5 +1,6 @@ --- title: "Rate Limits" +description: "Rate Limits — CometChat documentation." --- diff --git a/sdk/ios/reactions.mdx b/sdk/ios/reactions.mdx index 052fc3f21..325f6eddc 100644 --- a/sdk/ios/reactions.mdx +++ b/sdk/ios/reactions.mdx @@ -1,5 +1,6 @@ --- title: "Reactions" +description: "Reactions — CometChat documentation." --- diff --git a/sdk/ios/receive-message.mdx b/sdk/ios/receive-message.mdx index 837b2f29a..1450c86ee 100644 --- a/sdk/ios/receive-message.mdx +++ b/sdk/ios/receive-message.mdx @@ -1,5 +1,6 @@ --- title: "Receive A Message" +description: "Receive A Message — CometChat documentation." --- diff --git a/sdk/ios/recording.mdx b/sdk/ios/recording.mdx index f1a5ab6e4..9e38d80fb 100644 --- a/sdk/ios/recording.mdx +++ b/sdk/ios/recording.mdx @@ -1,5 +1,6 @@ --- title: "Recording" +description: "Recording — CometChat documentation." --- diff --git a/sdk/ios/remove-delivered-notifications.mdx b/sdk/ios/remove-delivered-notifications.mdx index d3d291ee8..d69f68bdc 100644 --- a/sdk/ios/remove-delivered-notifications.mdx +++ b/sdk/ios/remove-delivered-notifications.mdx @@ -1,5 +1,6 @@ --- title: "Remove Delivered Notifications" +description: "Remove Delivered Notifications — CometChat documentation." --- diff --git a/sdk/ios/resources-overview.mdx b/sdk/ios/resources-overview.mdx index 2ad1c8400..3d8043d32 100644 --- a/sdk/ios/resources-overview.mdx +++ b/sdk/ios/resources-overview.mdx @@ -1,6 +1,7 @@ --- title: "Resources" sidebarTitle: "Overview" +description: "Overview of Resources in CometChat." --- diff --git a/sdk/ios/retrieve-conversations.mdx b/sdk/ios/retrieve-conversations.mdx index 8d873f7f5..aec7be5e0 100644 --- a/sdk/ios/retrieve-conversations.mdx +++ b/sdk/ios/retrieve-conversations.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Conversations" +description: "Retrieve Conversations — CometChat documentation." --- diff --git a/sdk/ios/retrieve-group-members.mdx b/sdk/ios/retrieve-group-members.mdx index e96f3d0b0..25c5e128c 100644 --- a/sdk/ios/retrieve-group-members.mdx +++ b/sdk/ios/retrieve-group-members.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Group Members" +description: "Retrieve Group Members — CometChat documentation." --- diff --git a/sdk/ios/retrieve-groups.mdx b/sdk/ios/retrieve-groups.mdx index 44a55457d..c495a5940 100644 --- a/sdk/ios/retrieve-groups.mdx +++ b/sdk/ios/retrieve-groups.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Groups" +description: "Retrieve Groups — CometChat documentation." --- diff --git a/sdk/ios/retrieve-users.mdx b/sdk/ios/retrieve-users.mdx index 2f3579a12..18f49fcad 100644 --- a/sdk/ios/retrieve-users.mdx +++ b/sdk/ios/retrieve-users.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Users" +description: "Retrieve Users — CometChat documentation." --- diff --git a/sdk/ios/send-message.mdx b/sdk/ios/send-message.mdx index 8b8b6fa19..8a92a795b 100644 --- a/sdk/ios/send-message.mdx +++ b/sdk/ios/send-message.mdx @@ -1,5 +1,6 @@ --- title: "Send A Message" +description: "Send A Message — CometChat documentation." --- diff --git a/sdk/ios/session-timeout.mdx b/sdk/ios/session-timeout.mdx index d6b297d8c..f5d3aeab9 100644 --- a/sdk/ios/session-timeout.mdx +++ b/sdk/ios/session-timeout.mdx @@ -1,5 +1,6 @@ --- title: "Session Timeout Flow" +description: "Session Timeout Flow — CometChat documentation." --- diff --git a/sdk/ios/setup.mdx b/sdk/ios/setup.mdx index 29c70bb2b..f61536316 100644 --- a/sdk/ios/setup.mdx +++ b/sdk/ios/setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/ios/standalone-calling.mdx b/sdk/ios/standalone-calling.mdx index 022ee552f..97626fdeb 100644 --- a/sdk/ios/standalone-calling.mdx +++ b/sdk/ios/standalone-calling.mdx @@ -1,5 +1,6 @@ --- title: "Standalone Calling" +description: "Standalone Calling — CometChat documentation." --- ## Overview diff --git a/sdk/ios/threaded-messages.mdx b/sdk/ios/threaded-messages.mdx index c75a4733c..8be4d247d 100644 --- a/sdk/ios/threaded-messages.mdx +++ b/sdk/ios/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- diff --git a/sdk/ios/transfer-group-ownership.mdx b/sdk/ios/transfer-group-ownership.mdx index 6d818fffa..92e6001c7 100644 --- a/sdk/ios/transfer-group-ownership.mdx +++ b/sdk/ios/transfer-group-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Group Ownership" +description: "Transfer Group Ownership — CometChat documentation." --- diff --git a/sdk/ios/transient-messages.mdx b/sdk/ios/transient-messages.mdx index 6f1da0964..75eb65b25 100644 --- a/sdk/ios/transient-messages.mdx +++ b/sdk/ios/transient-messages.mdx @@ -1,5 +1,6 @@ --- title: "Transient Messages" +description: "Transient Messages — CometChat documentation." --- diff --git a/sdk/ios/typing-indicators.mdx b/sdk/ios/typing-indicators.mdx index 08fdd6514..fef3db282 100644 --- a/sdk/ios/typing-indicators.mdx +++ b/sdk/ios/typing-indicators.mdx @@ -1,5 +1,6 @@ --- title: "Typing Indicators" +description: "Typing Indicators — CometChat documentation." --- diff --git a/sdk/ios/update-group.mdx b/sdk/ios/update-group.mdx index 8b69733f5..53bc60d16 100644 --- a/sdk/ios/update-group.mdx +++ b/sdk/ios/update-group.mdx @@ -1,5 +1,6 @@ --- title: "Update A Group" +description: "Update A Group — CometChat documentation." --- diff --git a/sdk/ios/upgrading-from-v2.mdx b/sdk/ios/upgrading-from-v2.mdx index 3cdb9b36d..438463c83 100644 --- a/sdk/ios/upgrading-from-v2.mdx +++ b/sdk/ios/upgrading-from-v2.mdx @@ -1,5 +1,6 @@ --- title: "Upgrading From V2" +description: "Upgrading From V2 — CometChat documentation." --- diff --git a/sdk/ios/upgrading-from-v3-to-v4.mdx b/sdk/ios/upgrading-from-v3-to-v4.mdx index 05d06336e..0464a5189 100644 --- a/sdk/ios/upgrading-from-v3-to-v4.mdx +++ b/sdk/ios/upgrading-from-v3-to-v4.mdx @@ -1,5 +1,6 @@ --- title: "Upgrading From V3" +description: "Upgrading From V3 — CometChat documentation." --- diff --git a/sdk/ios/user-management.mdx b/sdk/ios/user-management.mdx index bdd886bd2..aace0cd20 100644 --- a/sdk/ios/user-management.mdx +++ b/sdk/ios/user-management.mdx @@ -1,5 +1,6 @@ --- title: "User Management" +description: "User Management — CometChat documentation." --- @@ -20,7 +21,7 @@ Summing up- ## Creating a user -Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [Creating a user](https://api-explorer.cometchat.com/reference/creates-user) and use the appropriate code sample based on your backend language. +Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [Creating a user](/rest-api/chat-apis) and use the appropriate code sample based on your backend language. However, if you wish to create users on the fly, you can use the `createUser()` method. This method takes a `User` object and the `Auth Key` as input parameters and returns the created `User` object if the request is successful. @@ -48,7 +49,7 @@ UID can be alphanumeric with underscore and hyphen. Spaces, punctuation and othe ## Updating a user -Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](https://api-explorer.cometchat.com/reference/update-user) section. However, this can be achieved on the fly as well using the `updateUser()` method. This method takes a `User` object and the Auth Key as inputs and returns the updated `User` object on successful execution of the request. +Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](/rest-api/chat-apis) section. However, this can be achieved on the fly as well using the `updateUser()` method. This method takes a `User` object and the Auth Key as inputs and returns the updated `User` object on successful execution of the request. @@ -91,7 +92,7 @@ By using the `updateCurrentUserDetails()` method one can only update the logged- ## Deleting a user -Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](https://api-explorer.cometchat.com/reference/delete-user) section. +Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](/rest-api/chat-apis) section. ## User Class diff --git a/sdk/ios/user-presence.mdx b/sdk/ios/user-presence.mdx index 3fd1c1ae5..513d5bea8 100644 --- a/sdk/ios/user-presence.mdx +++ b/sdk/ios/user-presence.mdx @@ -1,5 +1,6 @@ --- title: "User Presence" +description: "User Presence — CometChat documentation." --- diff --git a/sdk/ios/users-overview.mdx b/sdk/ios/users-overview.mdx index fe7c61592..2c0c4da99 100644 --- a/sdk/ios/users-overview.mdx +++ b/sdk/ios/users-overview.mdx @@ -1,6 +1,7 @@ --- title: "Users" sidebarTitle: "Overview" +description: "Overview of Users in CometChat." --- diff --git a/sdk/ios/video-view-customisation.mdx b/sdk/ios/video-view-customisation.mdx index 59b394618..9b971e822 100644 --- a/sdk/ios/video-view-customisation.mdx +++ b/sdk/ios/video-view-customisation.mdx @@ -1,5 +1,6 @@ --- title: "Video View Customisation" +description: "Video View Customisation — CometChat documentation." --- diff --git a/sdk/ios/web-socket-connection-behaviour.mdx b/sdk/ios/web-socket-connection-behaviour.mdx index f8b050621..814666e10 100644 --- a/sdk/ios/web-socket-connection-behaviour.mdx +++ b/sdk/ios/web-socket-connection-behaviour.mdx @@ -1,5 +1,6 @@ --- title: "Connection Behaviour" +description: "Connection Behaviour — CometChat documentation." --- diff --git a/sdk/ios/webhooks-overview.mdx b/sdk/ios/webhooks-overview.mdx index 598d43500..c6059ded0 100644 --- a/sdk/ios/webhooks-overview.mdx +++ b/sdk/ios/webhooks-overview.mdx @@ -1,4 +1,5 @@ --- title: "Webhooks" url: "/fundamentals/webhooks-overview" +description: "Navigate to Webhooks documentation." --- \ No newline at end of file diff --git a/sdk/javascript/2.0/advanced-connection-listeners.mdx b/sdk/javascript/2.0/advanced-connection-listeners.mdx index 11b6c89d7..6db31a3d5 100644 --- a/sdk/javascript/2.0/advanced-connection-listeners.mdx +++ b/sdk/javascript/2.0/advanced-connection-listeners.mdx @@ -1,5 +1,6 @@ --- title: "Connection Status" +description: "Connection Status — CometChat documentation." --- @@ -52,7 +53,7 @@ You can also get the current connection status by using `getConnectionStatus` pr -``` +```javascript var connectionStatus = CometChat.getConnectionStatus(); ``` diff --git a/sdk/javascript/2.0/advanced.mdx b/sdk/javascript/2.0/advanced.mdx index 7a8e791f6..931f86642 100644 --- a/sdk/javascript/2.0/advanced.mdx +++ b/sdk/javascript/2.0/advanced.mdx @@ -1,6 +1,7 @@ --- title: "Advanced" sidebarTitle: "Overview" +description: "Advanced — CometChat documentation." --- diff --git a/sdk/javascript/2.0/authentication-login-listeners.mdx b/sdk/javascript/2.0/authentication-login-listeners.mdx index 71748ab3f..76673bb8c 100644 --- a/sdk/javascript/2.0/authentication-login-listeners.mdx +++ b/sdk/javascript/2.0/authentication-login-listeners.mdx @@ -1,5 +1,6 @@ --- title: "Login Listener" +description: "Login Listener — CometChat documentation." --- diff --git a/sdk/javascript/2.0/authentication.mdx b/sdk/javascript/2.0/authentication.mdx index 1e24138ec..647ae4042 100644 --- a/sdk/javascript/2.0/authentication.mdx +++ b/sdk/javascript/2.0/authentication.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Overview" +description: "Authentication — CometChat documentation." --- @@ -10,7 +11,7 @@ sidebarTitle: "Overview" Before you login the user, you must add the user to CometChat. 1. **For proof of concept/MVPs**: Create the user using the [CometChat Dashboard](https://app.cometchat.com). -2. **For production apps**: Use the CometChat [Create User API](https://api-explorer.cometchat.com/reference/creates-user) to create the user when your user signs up in your app. +2. **For production apps**: Use the CometChat [Create User API](/rest-api/chat-apis) to create the user when your user signs up in your app. Sample Users @@ -77,8 +78,8 @@ Be sure to use the **Auth Key** and not the **Rest API Key**. This ensures that This advanced authentication procedure does not use the Auth Key directly in your client code and thus ensuring that your Auth Key is not leaked even if the client code is reverse engineered. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `login()` method. diff --git a/sdk/javascript/2.0/bots.mdx b/sdk/javascript/2.0/bots.mdx index a31e17e8b..e551f1999 100644 --- a/sdk/javascript/2.0/bots.mdx +++ b/sdk/javascript/2.0/bots.mdx @@ -1,5 +1,6 @@ --- title: "Bots" +description: "Bots — CometChat documentation." --- @@ -18,4 +19,4 @@ Once you've created a user, you can create a new bot. The actual implementation ### Reply to a message -When you receive a message from CometChat, you can process it and provide a response using our [Send Bot Message](https://api-explorer.cometchat.com/reference/sends-bot-message) Rest API. +When you receive a message from CometChat, you can process it and provide a response using our [Send Bot Message](/rest-api/chat-apis) Rest API. diff --git a/sdk/javascript/2.0/calling-custom-css.mdx b/sdk/javascript/2.0/calling-custom-css.mdx index 44ef22036..21191e179 100644 --- a/sdk/javascript/2.0/calling-custom-css.mdx +++ b/sdk/javascript/2.0/calling-custom-css.mdx @@ -1,5 +1,6 @@ --- title: "Custom CSS" +description: "Custom CSS — CometChat documentation." --- diff --git a/sdk/javascript/2.0/calling-default-calling.mdx b/sdk/javascript/2.0/calling-default-calling.mdx index 0d1cd539b..d67b1356a 100644 --- a/sdk/javascript/2.0/calling-default-calling.mdx +++ b/sdk/javascript/2.0/calling-default-calling.mdx @@ -1,5 +1,6 @@ --- title: "Default Calling" +description: "Default Calling — CometChat documentation." --- diff --git a/sdk/javascript/2.0/calling-direct-calling.mdx b/sdk/javascript/2.0/calling-direct-calling.mdx index 354fdb48c..6ace621fc 100644 --- a/sdk/javascript/2.0/calling-direct-calling.mdx +++ b/sdk/javascript/2.0/calling-direct-calling.mdx @@ -1,5 +1,6 @@ --- title: "Direct Calling" +description: "Direct Calling — CometChat documentation." --- diff --git a/sdk/javascript/2.0/calling-recording.mdx b/sdk/javascript/2.0/calling-recording.mdx index 71937258c..bcf22d693 100644 --- a/sdk/javascript/2.0/calling-recording.mdx +++ b/sdk/javascript/2.0/calling-recording.mdx @@ -1,5 +1,6 @@ --- title: "Recording (Beta)" +description: "Recording (Beta) — CometChat documentation." --- diff --git a/sdk/javascript/2.0/calling.mdx b/sdk/javascript/2.0/calling.mdx index 9603e8a6e..4b6d93f1e 100644 --- a/sdk/javascript/2.0/calling.mdx +++ b/sdk/javascript/2.0/calling.mdx @@ -1,6 +1,7 @@ --- title: "Calling" sidebarTitle: "Overview" +description: "Calling — CometChat documentation." --- diff --git a/sdk/javascript/2.0/groups-add-members-to-group.mdx b/sdk/javascript/2.0/groups-add-members-to-group.mdx index 878543d08..b04dc9fba 100644 --- a/sdk/javascript/2.0/groups-add-members-to-group.mdx +++ b/sdk/javascript/2.0/groups-add-members-to-group.mdx @@ -1,5 +1,6 @@ --- title: "Add Members To A Group" +description: "Add Members To A Group — CometChat documentation." --- diff --git a/sdk/javascript/2.0/groups-change-member-scope.mdx b/sdk/javascript/2.0/groups-change-member-scope.mdx index 3fe4513ad..dbc4c44d7 100644 --- a/sdk/javascript/2.0/groups-change-member-scope.mdx +++ b/sdk/javascript/2.0/groups-change-member-scope.mdx @@ -1,5 +1,6 @@ --- title: "Change Member Scope" +description: "Change Member Scope — CometChat documentation." --- diff --git a/sdk/javascript/2.0/groups-create-group.mdx b/sdk/javascript/2.0/groups-create-group.mdx index edbc7cdcd..3a38c4bbc 100644 --- a/sdk/javascript/2.0/groups-create-group.mdx +++ b/sdk/javascript/2.0/groups-create-group.mdx @@ -1,5 +1,6 @@ --- title: "Create A Group" +description: "Create A Group — CometChat documentation." --- diff --git a/sdk/javascript/2.0/groups-delete-group.mdx b/sdk/javascript/2.0/groups-delete-group.mdx index 528025963..de62d14bf 100644 --- a/sdk/javascript/2.0/groups-delete-group.mdx +++ b/sdk/javascript/2.0/groups-delete-group.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Group" +description: "Delete A Group — CometChat documentation." --- diff --git a/sdk/javascript/2.0/groups-join-group.mdx b/sdk/javascript/2.0/groups-join-group.mdx index 9c180cbbe..650678bb2 100644 --- a/sdk/javascript/2.0/groups-join-group.mdx +++ b/sdk/javascript/2.0/groups-join-group.mdx @@ -1,5 +1,6 @@ --- title: "Join A Group" +description: "Join A Group — CometChat documentation." --- diff --git a/sdk/javascript/2.0/groups-kick-ban-members.mdx b/sdk/javascript/2.0/groups-kick-ban-members.mdx index 423e4f63a..7db6e4762 100644 --- a/sdk/javascript/2.0/groups-kick-ban-members.mdx +++ b/sdk/javascript/2.0/groups-kick-ban-members.mdx @@ -1,5 +1,6 @@ --- title: "Ban/Kick Member From A Group" +description: "Ban/Kick Member From A Group — CometChat documentation." --- diff --git a/sdk/javascript/2.0/groups-leave-group.mdx b/sdk/javascript/2.0/groups-leave-group.mdx index f601d5bf5..def90a3b1 100644 --- a/sdk/javascript/2.0/groups-leave-group.mdx +++ b/sdk/javascript/2.0/groups-leave-group.mdx @@ -1,5 +1,6 @@ --- title: "Leave A Group" +description: "Leave A Group — CometChat documentation." --- diff --git a/sdk/javascript/2.0/groups-retrieve-group-members.mdx b/sdk/javascript/2.0/groups-retrieve-group-members.mdx index a860d440f..6910bd3af 100644 --- a/sdk/javascript/2.0/groups-retrieve-group-members.mdx +++ b/sdk/javascript/2.0/groups-retrieve-group-members.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Group Members" +description: "Retrieve Group Members — CometChat documentation." --- diff --git a/sdk/javascript/2.0/groups-retrieve-groups.mdx b/sdk/javascript/2.0/groups-retrieve-groups.mdx index de6e08fa7..66f7c0396 100644 --- a/sdk/javascript/2.0/groups-retrieve-groups.mdx +++ b/sdk/javascript/2.0/groups-retrieve-groups.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Groups" +description: "Retrieve Groups — CometChat documentation." --- diff --git a/sdk/javascript/2.0/groups-transfer-group-ownership.mdx b/sdk/javascript/2.0/groups-transfer-group-ownership.mdx index 4dbc7e816..7ac90f5a8 100644 --- a/sdk/javascript/2.0/groups-transfer-group-ownership.mdx +++ b/sdk/javascript/2.0/groups-transfer-group-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Group Ownership" +description: "Transfer Group Ownership — CometChat documentation." --- diff --git a/sdk/javascript/2.0/groups-update-group.mdx b/sdk/javascript/2.0/groups-update-group.mdx index a81deaa66..8b35358bc 100644 --- a/sdk/javascript/2.0/groups-update-group.mdx +++ b/sdk/javascript/2.0/groups-update-group.mdx @@ -1,5 +1,6 @@ --- title: "Update A Group" +description: "Update A Group — CometChat documentation." --- diff --git a/sdk/javascript/2.0/groups.mdx b/sdk/javascript/2.0/groups.mdx index 99e877026..be06c2c42 100644 --- a/sdk/javascript/2.0/groups.mdx +++ b/sdk/javascript/2.0/groups.mdx @@ -1,6 +1,7 @@ --- title: "Groups" sidebarTitle: "Overview" +description: "Groups — CometChat documentation." --- diff --git a/sdk/javascript/2.0/key-concepts.mdx b/sdk/javascript/2.0/key-concepts.mdx index 21a00a097..ad7eb8869 100644 --- a/sdk/javascript/2.0/key-concepts.mdx +++ b/sdk/javascript/2.0/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- diff --git a/sdk/javascript/2.0/message-structure-and-hierarchy.mdx b/sdk/javascript/2.0/message-structure-and-hierarchy.mdx index c678ce33e..79a6c7b50 100644 --- a/sdk/javascript/2.0/message-structure-and-hierarchy.mdx +++ b/sdk/javascript/2.0/message-structure-and-hierarchy.mdx @@ -1,6 +1,7 @@ --- title: "Message" sidebarTitle: "Message Structure And Hierarchy" +description: "Message — CometChat documentation." --- diff --git a/sdk/javascript/2.0/messaging-additional-message-filtering.mdx b/sdk/javascript/2.0/messaging-additional-message-filtering.mdx index 2ad9748b9..72ef4a134 100644 --- a/sdk/javascript/2.0/messaging-additional-message-filtering.mdx +++ b/sdk/javascript/2.0/messaging-additional-message-filtering.mdx @@ -1,5 +1,6 @@ --- title: "Additional Message Filtering" +description: "Additional Message Filtering — CometChat documentation." --- diff --git a/sdk/javascript/2.0/messaging-delete-conversation.mdx b/sdk/javascript/2.0/messaging-delete-conversation.mdx index ae04af17d..b22ed34fc 100644 --- a/sdk/javascript/2.0/messaging-delete-conversation.mdx +++ b/sdk/javascript/2.0/messaging-delete-conversation.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Conversation" +description: "Delete A Conversation — CometChat documentation." --- @@ -41,7 +42,7 @@ CometChat.deleteConversation(GUID, type).then( -This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](https://api-explorer.cometchat.com/reference/delete-user). +This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](/rest-api/chat-apis). The `deleteConversation()` method takes the following parameters: diff --git a/sdk/javascript/2.0/messaging-delete-message.mdx b/sdk/javascript/2.0/messaging-delete-message.mdx index 246467689..22456fa96 100644 --- a/sdk/javascript/2.0/messaging-delete-message.mdx +++ b/sdk/javascript/2.0/messaging-delete-message.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Message" +description: "Delete A Message — CometChat documentation." --- diff --git a/sdk/javascript/2.0/messaging-edit-message.mdx b/sdk/javascript/2.0/messaging-edit-message.mdx index fbe4ea606..80d9a53dc 100644 --- a/sdk/javascript/2.0/messaging-edit-message.mdx +++ b/sdk/javascript/2.0/messaging-edit-message.mdx @@ -1,5 +1,6 @@ --- title: "Edit A Message" +description: "Edit A Message — CometChat documentation." --- diff --git a/sdk/javascript/2.0/messaging-receipts.mdx b/sdk/javascript/2.0/messaging-receipts.mdx index 4db795d3f..f6613735f 100644 --- a/sdk/javascript/2.0/messaging-receipts.mdx +++ b/sdk/javascript/2.0/messaging-receipts.mdx @@ -1,5 +1,6 @@ --- title: "Delivery & Read Receipts" +description: "Delivery & Read Receipts — CometChat documentation." --- diff --git a/sdk/javascript/2.0/messaging-receive-message.mdx b/sdk/javascript/2.0/messaging-receive-message.mdx index e0b604d7c..55eaef458 100644 --- a/sdk/javascript/2.0/messaging-receive-message.mdx +++ b/sdk/javascript/2.0/messaging-receive-message.mdx @@ -1,5 +1,6 @@ --- title: "Receive Messages" +description: "Receive Messages — CometChat documentation." --- diff --git a/sdk/javascript/2.0/messaging-retrieve-conversations.mdx b/sdk/javascript/2.0/messaging-retrieve-conversations.mdx index 865e2c29b..41985b5b6 100644 --- a/sdk/javascript/2.0/messaging-retrieve-conversations.mdx +++ b/sdk/javascript/2.0/messaging-retrieve-conversations.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Conversations" +description: "Retrieve Conversations — CometChat documentation." --- diff --git a/sdk/javascript/2.0/messaging-send-message.mdx b/sdk/javascript/2.0/messaging-send-message.mdx index c49b54ff8..0575fbaa9 100644 --- a/sdk/javascript/2.0/messaging-send-message.mdx +++ b/sdk/javascript/2.0/messaging-send-message.mdx @@ -1,5 +1,6 @@ --- title: "Send A Message" +description: "Send A Message — CometChat documentation." --- diff --git a/sdk/javascript/2.0/messaging-typing-indicators.mdx b/sdk/javascript/2.0/messaging-typing-indicators.mdx index 4e85fd234..d755ee21f 100644 --- a/sdk/javascript/2.0/messaging-typing-indicators.mdx +++ b/sdk/javascript/2.0/messaging-typing-indicators.mdx @@ -1,5 +1,6 @@ --- title: "Typing Indicators" +description: "Typing Indicators — CometChat documentation." --- diff --git a/sdk/javascript/2.0/messaging.mdx b/sdk/javascript/2.0/messaging.mdx index e80c22ebc..4af3f1afb 100644 --- a/sdk/javascript/2.0/messaging.mdx +++ b/sdk/javascript/2.0/messaging.mdx @@ -1,6 +1,7 @@ --- title: "Messaging" sidebarTitle: "Overview" +description: "Messaging — CometChat documentation." --- diff --git a/sdk/javascript/2.0/overview.mdx b/sdk/javascript/2.0/overview.mdx index fabd64a8d..231d366a5 100644 --- a/sdk/javascript/2.0/overview.mdx +++ b/sdk/javascript/2.0/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/sdk/javascript/2.0/rate-limits.mdx b/sdk/javascript/2.0/rate-limits.mdx index eef6db229..2fd4f02bf 100644 --- a/sdk/javascript/2.0/rate-limits.mdx +++ b/sdk/javascript/2.0/rate-limits.mdx @@ -1,5 +1,6 @@ --- title: "Rate Limits" +description: "Rate Limits — CometChat documentation." --- diff --git a/sdk/javascript/2.0/resources-all-real-time-listeners.mdx b/sdk/javascript/2.0/resources-all-real-time-listeners.mdx index 2f709cf78..00b421fd3 100644 --- a/sdk/javascript/2.0/resources-all-real-time-listeners.mdx +++ b/sdk/javascript/2.0/resources-all-real-time-listeners.mdx @@ -1,5 +1,6 @@ --- title: "All Real Time Listeners" +description: "All Real Time Listeners — CometChat documentation." --- diff --git a/sdk/javascript/2.0/resources-upgrading-from-v1.mdx b/sdk/javascript/2.0/resources-upgrading-from-v1.mdx index a0d163bc6..1eef191d8 100644 --- a/sdk/javascript/2.0/resources-upgrading-from-v1.mdx +++ b/sdk/javascript/2.0/resources-upgrading-from-v1.mdx @@ -1,5 +1,6 @@ --- title: "Upgrading From V1" +description: "Upgrading From V1 — CometChat documentation." --- diff --git a/sdk/javascript/2.0/resources.mdx b/sdk/javascript/2.0/resources.mdx index 2286c045c..df5bc8af6 100644 --- a/sdk/javascript/2.0/resources.mdx +++ b/sdk/javascript/2.0/resources.mdx @@ -1,6 +1,7 @@ --- title: "Resources" sidebarTitle: "Overview" +description: "Resources — CometChat documentation." --- diff --git a/sdk/javascript/2.0/setup.mdx b/sdk/javascript/2.0/setup.mdx index 0961058e4..4ff9c00e2 100644 --- a/sdk/javascript/2.0/setup.mdx +++ b/sdk/javascript/2.0/setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/javascript/2.0/threaded-messages.mdx b/sdk/javascript/2.0/threaded-messages.mdx index 8315d5fe8..bcc13b87b 100644 --- a/sdk/javascript/2.0/threaded-messages.mdx +++ b/sdk/javascript/2.0/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- diff --git a/sdk/javascript/2.0/user-presence.mdx b/sdk/javascript/2.0/user-presence.mdx index a3ad964e0..584b3de63 100644 --- a/sdk/javascript/2.0/user-presence.mdx +++ b/sdk/javascript/2.0/user-presence.mdx @@ -1,5 +1,6 @@ --- title: "User Presence" +description: "User Presence — CometChat documentation." --- @@ -26,7 +27,7 @@ You need to register the `UserListener` using the `addUserListener()` method whe -``` +```javascript let listenerID = "UNIQUE_LISTENER_ID"; CometChat.addUserListener( @@ -58,7 +59,7 @@ We suggest adding this method when not in use. -``` +```javascript let listenerID = "UNIQUE_LISTENER_ID"; CometChat.removeUserListener(listenerID); ``` diff --git a/sdk/javascript/2.0/users-block-users.mdx b/sdk/javascript/2.0/users-block-users.mdx index a2a369ed6..e1adf239a 100644 --- a/sdk/javascript/2.0/users-block-users.mdx +++ b/sdk/javascript/2.0/users-block-users.mdx @@ -1,5 +1,6 @@ --- title: "Block Users" +description: "Block Users — CometChat documentation." --- diff --git a/sdk/javascript/2.0/users-retrieve-users.mdx b/sdk/javascript/2.0/users-retrieve-users.mdx index 42b67946a..a6826eeb8 100644 --- a/sdk/javascript/2.0/users-retrieve-users.mdx +++ b/sdk/javascript/2.0/users-retrieve-users.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Users" +description: "Retrieve Users — CometChat documentation." --- diff --git a/sdk/javascript/2.0/users-user-management.mdx b/sdk/javascript/2.0/users-user-management.mdx index 655d8eef5..9d47d89e3 100644 --- a/sdk/javascript/2.0/users-user-management.mdx +++ b/sdk/javascript/2.0/users-user-management.mdx @@ -1,5 +1,6 @@ --- title: "User Management" +description: "User Management — CometChat documentation." --- @@ -20,7 +21,7 @@ Summing up- ## Creating a user -Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [creating a user](https://api-explorer.cometchat.com/reference/creates-user) and use the appropriate code sample based on your backend language. +Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [creating a user](/rest-api/chat-apis) and use the appropriate code sample based on your backend language. However, if you wish to create users on the fly, you can use the `createUser()` method. This method takes a `User` object and the `Auth Key` as input parameters and returns the created `User` object if the request is successful. @@ -56,7 +57,7 @@ UID can be alphanumeric with underscore and hyphen. Spaces, punctuation and othe ## Updating a user -Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](https://api-explorer.cometchat.com/reference/update-user) section. However, this can be achieved on the fly as well as using the `updateUser()` method. This method takes a `User` object and the `Auth Key` as inputs and returns the updated `User` object on the successful execution of the request. +Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](/rest-api/chat-apis) section. However, this can be achieved on the fly as well as using the `updateUser()` method. This method takes a `User` object and the `Auth Key` as inputs and returns the updated `User` object on the successful execution of the request. @@ -115,7 +116,7 @@ By using the `updateCurrentUserDetails()` method one can only update the logged- ## Deleting a user -Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](https://api-explorer.cometchat.com/reference/delete-user) section. +Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](/rest-api/chat-apis) section. ## User Class diff --git a/sdk/javascript/2.0/users.mdx b/sdk/javascript/2.0/users.mdx index f2275296b..68c300c3d 100644 --- a/sdk/javascript/2.0/users.mdx +++ b/sdk/javascript/2.0/users.mdx @@ -1,6 +1,7 @@ --- title: "Users" sidebarTitle: "Overview" +description: "Users — CometChat documentation." --- diff --git a/sdk/javascript/2.0/webhooks.mdx b/sdk/javascript/2.0/webhooks.mdx index 9f68d05ee..ae3b4a614 100644 --- a/sdk/javascript/2.0/webhooks.mdx +++ b/sdk/javascript/2.0/webhooks.mdx @@ -1,5 +1,6 @@ --- title: "Webhooks" +description: "Webhooks — CometChat documentation." --- diff --git a/sdk/javascript/3.0/advanced-connection-listeners.mdx b/sdk/javascript/3.0/advanced-connection-listeners.mdx index ccd97233f..89b58a6a1 100644 --- a/sdk/javascript/3.0/advanced-connection-listeners.mdx +++ b/sdk/javascript/3.0/advanced-connection-listeners.mdx @@ -1,5 +1,6 @@ --- title: "Connection Status" +description: "Connection Status — CometChat documentation." --- diff --git a/sdk/javascript/3.0/advanced-managing-web-socket-connections-manually.mdx b/sdk/javascript/3.0/advanced-managing-web-socket-connections-manually.mdx index 96acb8544..69045aa22 100644 --- a/sdk/javascript/3.0/advanced-managing-web-socket-connections-manually.mdx +++ b/sdk/javascript/3.0/advanced-managing-web-socket-connections-manually.mdx @@ -1,5 +1,6 @@ --- title: "Managing Web Socket Connections Manually" +description: "Managing Web Socket Connections Manually — CometChat documentation." --- diff --git a/sdk/javascript/3.0/advanced.mdx b/sdk/javascript/3.0/advanced.mdx index 7a8e791f6..931f86642 100644 --- a/sdk/javascript/3.0/advanced.mdx +++ b/sdk/javascript/3.0/advanced.mdx @@ -1,6 +1,7 @@ --- title: "Advanced" sidebarTitle: "Overview" +description: "Advanced — CometChat documentation." --- diff --git a/sdk/javascript/3.0/angular-3-0-overview.mdx b/sdk/javascript/3.0/angular-3-0-overview.mdx index 59d7e5f7c..79acf68b2 100644 --- a/sdk/javascript/3.0/angular-3-0-overview.mdx +++ b/sdk/javascript/3.0/angular-3-0-overview.mdx @@ -1,4 +1,5 @@ --- title: "Angular UI Kit" url: "/ui-kit/angular/3.0/overview" +description: "Navigate to Angular UI Kit documentation." --- \ No newline at end of file diff --git a/sdk/javascript/3.0/authentication-login-listeners.mdx b/sdk/javascript/3.0/authentication-login-listeners.mdx index 906f2438d..48818b678 100644 --- a/sdk/javascript/3.0/authentication-login-listeners.mdx +++ b/sdk/javascript/3.0/authentication-login-listeners.mdx @@ -1,5 +1,6 @@ --- title: "Login Listener" +description: "Login Listener — CometChat documentation." --- diff --git a/sdk/javascript/3.0/authentication.mdx b/sdk/javascript/3.0/authentication.mdx index 7ee76a061..09445afea 100644 --- a/sdk/javascript/3.0/authentication.mdx +++ b/sdk/javascript/3.0/authentication.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Overview" +description: "Authentication — CometChat documentation." --- @@ -10,7 +11,7 @@ sidebarTitle: "Overview" Before you login the user, you must add the user to CometChat. 1. **For proof of concept/MVPs**: Create the user using the [CometChat Dashboard](https://app.cometchat.com). -2. **For production apps**: Use the CometChat [Create User API](https://api-explorer.cometchat.com/reference/creates-user) to create the user when your user signs up in your app. +2. **For production apps**: Use the CometChat [Create User API](/rest-api/chat-apis) to create the user when your user signs up in your app. Sample Users @@ -101,8 +102,8 @@ Be sure to use the **Auth Key** and not the **Rest API Key**. This ensures that This advanced authentication procedure does not use the Auth Key directly in your client code and thus ensuring that your Auth Key is not leaked even if the client code is reverse engineered. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `login()` method. diff --git a/sdk/javascript/3.0/bots.mdx b/sdk/javascript/3.0/bots.mdx index a31e17e8b..e551f1999 100644 --- a/sdk/javascript/3.0/bots.mdx +++ b/sdk/javascript/3.0/bots.mdx @@ -1,5 +1,6 @@ --- title: "Bots" +description: "Bots — CometChat documentation." --- @@ -18,4 +19,4 @@ Once you've created a user, you can create a new bot. The actual implementation ### Reply to a message -When you receive a message from CometChat, you can process it and provide a response using our [Send Bot Message](https://api-explorer.cometchat.com/reference/sends-bot-message) Rest API. +When you receive a message from CometChat, you can process it and provide a response using our [Send Bot Message](/rest-api/chat-apis) Rest API. diff --git a/sdk/javascript/3.0/calling-custom-css.mdx b/sdk/javascript/3.0/calling-custom-css.mdx index 47cf19e39..f77b8a0dc 100644 --- a/sdk/javascript/3.0/calling-custom-css.mdx +++ b/sdk/javascript/3.0/calling-custom-css.mdx @@ -1,5 +1,6 @@ --- title: "Custom CSS" +description: "Custom CSS — CometChat documentation." --- diff --git a/sdk/javascript/3.0/calling-default-calling.mdx b/sdk/javascript/3.0/calling-default-calling.mdx index be3269d75..5e5631e10 100644 --- a/sdk/javascript/3.0/calling-default-calling.mdx +++ b/sdk/javascript/3.0/calling-default-calling.mdx @@ -1,5 +1,6 @@ --- title: "Default Calling" +description: "Default Calling — CometChat documentation." --- @@ -25,7 +26,7 @@ The `initiateCall()` method sends a call request to a user or a group. -``` +```javascript var receiverID = "UID"; var callType = CometChat.CALL_TYPE.VIDEO; var receiverType = CometChat.RECEIVER_TYPE.USER; @@ -44,7 +45,7 @@ outGoingCall => { -``` +```javascript var receiverID = "GUID"; var callType = CometChat.CALL_TYPE.VIDEO; var receiverType = CometChat.RECEIVER_TYPE.GROUP; @@ -63,7 +64,7 @@ outGoingCall => { -``` +```javascript var receiverID: string = "UID"; var callType: string = CometChat.CALL_TYPE.VIDEO; var receiverType: string = CometChat.RECEIVER_TYPE.USER; @@ -82,7 +83,7 @@ CometChat.initiateCall(call).then( -``` +```javascript var receiverID: string = "GUID"; var callType: string = CometChat.CALL_TYPE.VIDEO; var receiverType: string = CometChat.RECEIVER_TYPE.GROUP; @@ -118,7 +119,7 @@ Wherever you wish to receive the call events in, you need to register the `CallL -``` +```javascript var listnerID = "UNIQUE_LISTENER_ID"; CometChat.addCallListener( listnerID, @@ -175,7 +176,7 @@ We recommend you remove the listener once the activity or fragment is not in use -``` +```javascript var listenerID = "UNIQUE_LISTENER_ID"; CometChat.removeCallListener(listenerID); @@ -208,7 +209,7 @@ Once you have received an incoming call from a user or in any group, to accept t -``` +```javascript var sessionID = "SESSION_ID"; CometChat.acceptCall(sessionID).then( @@ -249,7 +250,7 @@ To reject the incoming call once it is received using the `rejectCall()` method. -``` +```javascript var sessionID = "SESSION_ID"; var status = CometChat.CALL_STATUS.REJECTED; @@ -478,7 +479,7 @@ You can call the `muteAudio(mute: boolean)` method to mute/unmute your audio str -``` +```javascript let callController = CometChat.CallController.getInstance(); callController.muteAudio(true); ``` @@ -503,7 +504,7 @@ You can call the `pauseVideo(pause: boolean)` method to pause/unpause video stre -``` +```javascript let callController = CometChat.CallController.getInstance(); callController.pauseVideo(true); ``` @@ -528,7 +529,7 @@ You can call `startScreenShare()` to start the screen share. -``` +```javascript let callController = CometChat.CallController.getInstance(); callController.startScreenShare(); ``` @@ -551,7 +552,7 @@ You can call `stopScreenShare()` to stop the screen share. -``` +```javascript let callController = CometChat.CallController.getInstance(); callController.stopScreenShare(); ``` @@ -574,7 +575,7 @@ You can use the `setMode(mode: string)` method to set the mode. -``` +```javascript let mode = CometChat.CALL_MODE.SPOTLIGHT; let callController = CometChat.CallController.getInstance(); callController.setMode(mode); @@ -599,7 +600,7 @@ You can use the `getAudioInputDevices()` method to get all the available audio i -``` +```javascript let callController = CometChat.CallController.getInstance(); let audioInputDevices = callController.getAudioInputDevices(); ``` @@ -622,7 +623,7 @@ You can use the `getAudioOutputDevices()` method to get all the available audio -``` +```javascript let callController = CometChat.CallController.getInstance(); let audioOutputDevices = callController.getAudioOutputDevices(); ``` @@ -645,7 +646,7 @@ You can use the `getVideoInputDevices()` method to get all the available video i -``` +```javascript let callController = CometChat.CallController.getInstance(); let videoInputDevices = callController.getVideoInputDevices(); ``` @@ -668,7 +669,7 @@ You can use the `setAudioInputDevice(deviceId)` method to set the active audio i -``` +```javascript let callController = CometChat.CallController.getInstance(); callController.setAudioInputDevice(deviceId); ``` @@ -691,7 +692,7 @@ You can use the `setAudioOutputDevice(deviceId)` method to set the active audio -``` +```javascript let callController = CometChat.CallController.getInstance(); callController.setAudioOutputDevice(deviceId); ``` @@ -714,7 +715,7 @@ You can use the `setVideoInputDevice(deviceId)` method to set the active video i -``` +```javascript let callController = CometChat.CallController.getInstance(); callController.setVideoInputDevice(deviceId); ``` @@ -794,7 +795,7 @@ CometChat provides a method to get the details of the call that is currently act -``` +```javascript let activeCall = CometChat.getActiveCall(); ``` @@ -821,7 +822,7 @@ In order to get the number of participants in any call, you can use the `getCall -``` +```javascript let sessionId = "CALL_SESSION_ID"; let callType = "DEFAULT"; diff --git a/sdk/javascript/3.0/calling-direct-calling.mdx b/sdk/javascript/3.0/calling-direct-calling.mdx index 2cf5702c7..c21b4b158 100644 --- a/sdk/javascript/3.0/calling-direct-calling.mdx +++ b/sdk/javascript/3.0/calling-direct-calling.mdx @@ -1,5 +1,6 @@ --- title: "Direct Calling" +description: "Direct Calling — CometChat documentation." --- @@ -180,7 +181,7 @@ You can call the `muteAudio(mute: boolean)` method to mute/unmute your audio str -``` +```javascript let callController = CometChat.CallController.getInstance(); callController.muteAudio(true); ``` @@ -205,7 +206,7 @@ You can call the `pauseVideo(pause: boolean)` method to pause/unpause video stre -``` +```javascript let callController = CometChat.CallController.getInstance(); callController.pauseVideo(true); ``` @@ -230,7 +231,7 @@ You can call `startScreenShare()` to start the screen share. -``` +```javascript let callController = CometChat.CallController.getInstance(); callController.startScreenShare(); ``` @@ -253,7 +254,7 @@ You can call `stopScreenShare()` to stop the screen share. -``` +```javascript let callController = CometChat.CallController.getInstance(); callController.stopScreenShare(); ``` @@ -276,7 +277,7 @@ You can use the `setMode(mode: string)` method to set the mode. -``` +```javascript let mode = CometChat.CALL_MODE.SPOTLIGHT; let callController = CometChat.CallController.getInstance(); callController.setMode(mode); @@ -301,7 +302,7 @@ You can use the `getAudioInputDevices()` method to get all the available audio i -``` +```javascript let callController = CometChat.CallController.getInstance(); let audioInputDevices = callController.getAudioInputDevices(); ``` @@ -324,7 +325,7 @@ You can use the `getAudioOutputDevices()` method to get all the available audio -``` +```javascript let callController = CometChat.CallController.getInstance(); let audioOutputDevices = callController.getAudioOutputDevices(); ``` @@ -347,7 +348,7 @@ You can use the `getVideoInputDevices()` method to get all the available video i -``` +```javascript let callController = CometChat.CallController.getInstance(); let videoInputDevices = callController.getVideoInputDevices(); ``` @@ -370,7 +371,7 @@ You can use the `setAudioInputDevice(deviceId)` method to set the active audio i -``` +```javascript let callController = CometChat.CallController.getInstance(); callController.setAudioInputDevice(deviceId); ``` @@ -393,7 +394,7 @@ You can use the `setAudioOutputDevice(deviceId)` method to set the active audio -``` +```javascript let callController = CometChat.CallController.getInstance(); callController.setAudioOutputDevice(deviceId); ``` @@ -416,7 +417,7 @@ You can use the `setVideoInputDevice(deviceId)` method to set the active video i -``` +```javascript let callController = CometChat.CallController.getInstance(); callController.setVideoInputDevice(deviceId); ``` @@ -502,7 +503,7 @@ In order to get the number of participants in any call, you can use the `getCall -``` +```javascript let sessionId = "CALL_SESSION_ID"; let callType = "DIRECT"; diff --git a/sdk/javascript/3.0/calling-recording-v3.mdx b/sdk/javascript/3.0/calling-recording-v3.mdx index c015871b9..d1accff04 100644 --- a/sdk/javascript/3.0/calling-recording-v3.mdx +++ b/sdk/javascript/3.0/calling-recording-v3.mdx @@ -1,5 +1,6 @@ --- title: "Recording (Beta)" +description: "Recording (Beta) — CometChat documentation." --- diff --git a/sdk/javascript/3.0/calling-recording.mdx b/sdk/javascript/3.0/calling-recording.mdx index dadc4c0d8..86159f3b4 100644 --- a/sdk/javascript/3.0/calling-recording.mdx +++ b/sdk/javascript/3.0/calling-recording.mdx @@ -1,5 +1,6 @@ --- title: "Recording (Beta)" +description: "Recording (Beta) — CometChat documentation." --- @@ -16,7 +17,7 @@ A basic example of how to make changes to implement recording for a direct call/ -``` +```javascript // Add listeners onRecordingStarted and onRecordingStopped to the startCall method let sessionId = "SESSION_ID"; let audioOnly = false; @@ -49,7 +50,7 @@ CometChat.startCall( -``` +```javascript // Add listeners onRecordingStarted and onRecordingStopped to the startCall method let sessionId = "SESSION_ID"; let audioOnly = false; @@ -82,7 +83,7 @@ CometChat.startCall( -``` +```javascript // Add listeners onRecordingStarted and onRecordingStopped to the startCall method. let sessionId = "SESSION_ID"; let audioOnly = false; @@ -115,7 +116,7 @@ CometChat.startCall( -``` +```javascript // Add listeners onRecordingStarted and onRecordingStopped to the startCall method let sessionId = "SESSION_ID"; let audioOnly = false; @@ -172,7 +173,7 @@ You can use the startRecording() method to start call recording. -``` +```javascript let callController = CometChat.CallController.getInstance(); callController.startRecording(); ``` @@ -195,7 +196,7 @@ You can use the stopRecording() method to stop call recording. -``` +```javascript let callController = CometChat.CallController.getInstance(); callController.stopRecording(); ``` diff --git a/sdk/javascript/3.0/calling-v3.mdx b/sdk/javascript/3.0/calling-v3.mdx index 8c243eec0..a20e123d6 100644 --- a/sdk/javascript/3.0/calling-v3.mdx +++ b/sdk/javascript/3.0/calling-v3.mdx @@ -1,5 +1,6 @@ --- title: "Calling V3" +description: "Calling V3 — CometChat documentation." --- diff --git a/sdk/javascript/3.0/calling.mdx b/sdk/javascript/3.0/calling.mdx index 7f5598c58..1bc1b623d 100644 --- a/sdk/javascript/3.0/calling.mdx +++ b/sdk/javascript/3.0/calling.mdx @@ -1,6 +1,7 @@ --- title: "Calling" sidebarTitle: "Overview" +description: "Calling — CometChat documentation." --- diff --git a/sdk/javascript/3.0/extensions-overview.mdx b/sdk/javascript/3.0/extensions-overview.mdx index 29c1774bd..d7eadbbe5 100644 --- a/sdk/javascript/3.0/extensions-overview.mdx +++ b/sdk/javascript/3.0/extensions-overview.mdx @@ -1,4 +1,5 @@ --- title: "Extensions" url: "/fundamentals/extensions-overview" +description: "Navigate to Extensions documentation." --- \ No newline at end of file diff --git a/sdk/javascript/3.0/groups-add-members-to-group.mdx b/sdk/javascript/3.0/groups-add-members-to-group.mdx index c4706b0e2..0813993f2 100644 --- a/sdk/javascript/3.0/groups-add-members-to-group.mdx +++ b/sdk/javascript/3.0/groups-add-members-to-group.mdx @@ -1,5 +1,6 @@ --- title: "Add Members To A Group" +description: "Add Members To A Group — CometChat documentation." --- diff --git a/sdk/javascript/3.0/groups-change-member-scope.mdx b/sdk/javascript/3.0/groups-change-member-scope.mdx index 213e92890..a5dbce3f7 100644 --- a/sdk/javascript/3.0/groups-change-member-scope.mdx +++ b/sdk/javascript/3.0/groups-change-member-scope.mdx @@ -1,5 +1,6 @@ --- title: "Change Member Scope" +description: "Change Member Scope — CometChat documentation." --- diff --git a/sdk/javascript/3.0/groups-create-group.mdx b/sdk/javascript/3.0/groups-create-group.mdx index 025dd887e..27562a39e 100644 --- a/sdk/javascript/3.0/groups-create-group.mdx +++ b/sdk/javascript/3.0/groups-create-group.mdx @@ -1,5 +1,6 @@ --- title: "Create A Group" +description: "Create A Group — CometChat documentation." --- diff --git a/sdk/javascript/3.0/groups-delete-group.mdx b/sdk/javascript/3.0/groups-delete-group.mdx index 54bcf4137..4ffa95881 100644 --- a/sdk/javascript/3.0/groups-delete-group.mdx +++ b/sdk/javascript/3.0/groups-delete-group.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Group" +description: "Delete A Group — CometChat documentation." --- diff --git a/sdk/javascript/3.0/groups-join-group.mdx b/sdk/javascript/3.0/groups-join-group.mdx index d0a4fa701..cf21bb51b 100644 --- a/sdk/javascript/3.0/groups-join-group.mdx +++ b/sdk/javascript/3.0/groups-join-group.mdx @@ -1,5 +1,6 @@ --- title: "Join A Group" +description: "Join A Group — CometChat documentation." --- diff --git a/sdk/javascript/3.0/groups-kick-ban-members.mdx b/sdk/javascript/3.0/groups-kick-ban-members.mdx index 72c6a6ef8..7d66e7f1d 100644 --- a/sdk/javascript/3.0/groups-kick-ban-members.mdx +++ b/sdk/javascript/3.0/groups-kick-ban-members.mdx @@ -1,5 +1,6 @@ --- title: "Ban/Kick Member From A Group" +description: "Ban/Kick Member From A Group — CometChat documentation." --- diff --git a/sdk/javascript/3.0/groups-leave-group.mdx b/sdk/javascript/3.0/groups-leave-group.mdx index a9534b8aa..3955aa361 100644 --- a/sdk/javascript/3.0/groups-leave-group.mdx +++ b/sdk/javascript/3.0/groups-leave-group.mdx @@ -1,5 +1,6 @@ --- title: "Leave A Group" +description: "Leave A Group — CometChat documentation." --- diff --git a/sdk/javascript/3.0/groups-retrieve-group-members.mdx b/sdk/javascript/3.0/groups-retrieve-group-members.mdx index f9aac9ada..d5fbef1d2 100644 --- a/sdk/javascript/3.0/groups-retrieve-group-members.mdx +++ b/sdk/javascript/3.0/groups-retrieve-group-members.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Group Members" +description: "Retrieve Group Members — CometChat documentation." --- diff --git a/sdk/javascript/3.0/groups-retrieve-groups.mdx b/sdk/javascript/3.0/groups-retrieve-groups.mdx index 7bd499a6e..128b23924 100644 --- a/sdk/javascript/3.0/groups-retrieve-groups.mdx +++ b/sdk/javascript/3.0/groups-retrieve-groups.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Groups" +description: "Retrieve Groups — CometChat documentation." --- diff --git a/sdk/javascript/3.0/groups-transfer-group-ownership.mdx b/sdk/javascript/3.0/groups-transfer-group-ownership.mdx index 1de52a892..9cec3fa85 100644 --- a/sdk/javascript/3.0/groups-transfer-group-ownership.mdx +++ b/sdk/javascript/3.0/groups-transfer-group-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Group Ownership" +description: "Transfer Group Ownership — CometChat documentation." --- diff --git a/sdk/javascript/3.0/groups-update-group.mdx b/sdk/javascript/3.0/groups-update-group.mdx index 289c8598f..317ab2867 100644 --- a/sdk/javascript/3.0/groups-update-group.mdx +++ b/sdk/javascript/3.0/groups-update-group.mdx @@ -1,5 +1,6 @@ --- title: "Update A Group" +description: "Update A Group — CometChat documentation." --- diff --git a/sdk/javascript/3.0/groups.mdx b/sdk/javascript/3.0/groups.mdx index 99e877026..be06c2c42 100644 --- a/sdk/javascript/3.0/groups.mdx +++ b/sdk/javascript/3.0/groups.mdx @@ -1,6 +1,7 @@ --- title: "Groups" sidebarTitle: "Overview" +description: "Groups — CometChat documentation." --- diff --git a/sdk/javascript/3.0/key-concepts.mdx b/sdk/javascript/3.0/key-concepts.mdx index e0136703e..24ef65f82 100644 --- a/sdk/javascript/3.0/key-concepts.mdx +++ b/sdk/javascript/3.0/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- diff --git a/sdk/javascript/3.0/message-structure-and-hierarchy.mdx b/sdk/javascript/3.0/message-structure-and-hierarchy.mdx index c678ce33e..79a6c7b50 100644 --- a/sdk/javascript/3.0/message-structure-and-hierarchy.mdx +++ b/sdk/javascript/3.0/message-structure-and-hierarchy.mdx @@ -1,6 +1,7 @@ --- title: "Message" sidebarTitle: "Message Structure And Hierarchy" +description: "Message — CometChat documentation." --- diff --git a/sdk/javascript/3.0/messaging-additional-message-filtering.mdx b/sdk/javascript/3.0/messaging-additional-message-filtering.mdx index 4b66c4d96..31ecfa4ef 100644 --- a/sdk/javascript/3.0/messaging-additional-message-filtering.mdx +++ b/sdk/javascript/3.0/messaging-additional-message-filtering.mdx @@ -1,5 +1,6 @@ --- title: "Additional Message Filtering" +description: "Additional Message Filtering — CometChat documentation." --- diff --git a/sdk/javascript/3.0/messaging-delete-conversation.mdx b/sdk/javascript/3.0/messaging-delete-conversation.mdx index 886bc7c50..c2f3c53bb 100644 --- a/sdk/javascript/3.0/messaging-delete-conversation.mdx +++ b/sdk/javascript/3.0/messaging-delete-conversation.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Conversation" +description: "Delete A Conversation — CometChat documentation." --- @@ -71,7 +72,7 @@ CometChat.deleteConversation(GUID, type).then( -This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](https://api-explorer.cometchat.com/reference/deletes-conversation). +This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](/rest-api/chat-apis). The `deleteConversation()` method takes the following parameters: diff --git a/sdk/javascript/3.0/messaging-delete-message.mdx b/sdk/javascript/3.0/messaging-delete-message.mdx index cdcd20b14..08bd65da1 100644 --- a/sdk/javascript/3.0/messaging-delete-message.mdx +++ b/sdk/javascript/3.0/messaging-delete-message.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Message" +description: "Delete A Message — CometChat documentation." --- diff --git a/sdk/javascript/3.0/messaging-edit-message.mdx b/sdk/javascript/3.0/messaging-edit-message.mdx index 57fe2321e..a5fd2a9eb 100644 --- a/sdk/javascript/3.0/messaging-edit-message.mdx +++ b/sdk/javascript/3.0/messaging-edit-message.mdx @@ -1,5 +1,6 @@ --- title: "Edit A Message" +description: "Edit A Message — CometChat documentation." --- diff --git a/sdk/javascript/3.0/messaging-receipts.mdx b/sdk/javascript/3.0/messaging-receipts.mdx index 279d1ae9a..230a576a1 100644 --- a/sdk/javascript/3.0/messaging-receipts.mdx +++ b/sdk/javascript/3.0/messaging-receipts.mdx @@ -1,5 +1,6 @@ --- title: "Delivery & Read Receipts" +description: "Delivery & Read Receipts — CometChat documentation." --- diff --git a/sdk/javascript/3.0/messaging-receive-message.mdx b/sdk/javascript/3.0/messaging-receive-message.mdx index d9baf6d72..bc3527fb3 100644 --- a/sdk/javascript/3.0/messaging-receive-message.mdx +++ b/sdk/javascript/3.0/messaging-receive-message.mdx @@ -1,5 +1,6 @@ --- title: "Receive Messages" +description: "Receive Messages — CometChat documentation." --- diff --git a/sdk/javascript/3.0/messaging-retrieve-conversations.mdx b/sdk/javascript/3.0/messaging-retrieve-conversations.mdx index 55288ecc2..775aad452 100644 --- a/sdk/javascript/3.0/messaging-retrieve-conversations.mdx +++ b/sdk/javascript/3.0/messaging-retrieve-conversations.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Conversations" +description: "Retrieve Conversations — CometChat documentation." --- diff --git a/sdk/javascript/3.0/messaging-send-message.mdx b/sdk/javascript/3.0/messaging-send-message.mdx index 37e835d72..56fa371b7 100644 --- a/sdk/javascript/3.0/messaging-send-message.mdx +++ b/sdk/javascript/3.0/messaging-send-message.mdx @@ -1,5 +1,6 @@ --- title: "Send A Message" +description: "Send A Message — CometChat documentation." --- diff --git a/sdk/javascript/3.0/messaging-transient-messages.mdx b/sdk/javascript/3.0/messaging-transient-messages.mdx index d78d3a1fd..43a3b2e1d 100644 --- a/sdk/javascript/3.0/messaging-transient-messages.mdx +++ b/sdk/javascript/3.0/messaging-transient-messages.mdx @@ -1,5 +1,6 @@ --- title: "Transient Messages" +description: "Transient Messages — CometChat documentation." --- diff --git a/sdk/javascript/3.0/messaging-typing-indicators.mdx b/sdk/javascript/3.0/messaging-typing-indicators.mdx index 75a16c091..22ea1c61e 100644 --- a/sdk/javascript/3.0/messaging-typing-indicators.mdx +++ b/sdk/javascript/3.0/messaging-typing-indicators.mdx @@ -1,5 +1,6 @@ --- title: "Typing Indicators" +description: "Typing Indicators — CometChat documentation." --- diff --git a/sdk/javascript/3.0/messaging.mdx b/sdk/javascript/3.0/messaging.mdx index 365257af6..f521eed96 100644 --- a/sdk/javascript/3.0/messaging.mdx +++ b/sdk/javascript/3.0/messaging.mdx @@ -1,6 +1,7 @@ --- title: "Messaging" sidebarTitle: "Overview" +description: "Messaging — CometChat documentation." --- diff --git a/sdk/javascript/3.0/overview.mdx b/sdk/javascript/3.0/overview.mdx index 010d8a3e8..4ac12ab35 100644 --- a/sdk/javascript/3.0/overview.mdx +++ b/sdk/javascript/3.0/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/sdk/javascript/3.0/presenter-mode.mdx b/sdk/javascript/3.0/presenter-mode.mdx index 7cd40d7d1..be97f8287 100644 --- a/sdk/javascript/3.0/presenter-mode.mdx +++ b/sdk/javascript/3.0/presenter-mode.mdx @@ -1,5 +1,6 @@ --- title: "Presenter Mode" +description: "Presenter Mode — CometChat documentation." --- diff --git a/sdk/javascript/3.0/rate-limits.mdx b/sdk/javascript/3.0/rate-limits.mdx index 29710e2cd..116605797 100644 --- a/sdk/javascript/3.0/rate-limits.mdx +++ b/sdk/javascript/3.0/rate-limits.mdx @@ -1,5 +1,6 @@ --- title: "Rate Limits" +description: "Rate Limits — CometChat documentation." --- diff --git a/sdk/javascript/3.0/react-v3-overview.mdx b/sdk/javascript/3.0/react-v3-overview.mdx index 3c37b0075..c30471a4f 100644 --- a/sdk/javascript/3.0/react-v3-overview.mdx +++ b/sdk/javascript/3.0/react-v3-overview.mdx @@ -1,4 +1,5 @@ --- title: "React UI Kit" url: "/ui-kit/react/v3/overview" +description: "Navigate to React UI Kit documentation." --- \ No newline at end of file diff --git a/sdk/javascript/3.0/resources-all-real-time-listeners.mdx b/sdk/javascript/3.0/resources-all-real-time-listeners.mdx index 6b7aec301..e6a60b227 100644 --- a/sdk/javascript/3.0/resources-all-real-time-listeners.mdx +++ b/sdk/javascript/3.0/resources-all-real-time-listeners.mdx @@ -1,5 +1,6 @@ --- title: "All Real Time Listeners" +description: "All Real Time Listeners — CometChat documentation." --- diff --git a/sdk/javascript/3.0/resources-upgrading-from-v2.mdx b/sdk/javascript/3.0/resources-upgrading-from-v2.mdx index fc218197b..778988c9f 100644 --- a/sdk/javascript/3.0/resources-upgrading-from-v2.mdx +++ b/sdk/javascript/3.0/resources-upgrading-from-v2.mdx @@ -1,5 +1,6 @@ --- title: "Upgrading From V2" +description: "Upgrading From V2 — CometChat documentation." --- diff --git a/sdk/javascript/3.0/resources.mdx b/sdk/javascript/3.0/resources.mdx index 40d8fc035..21e25b466 100644 --- a/sdk/javascript/3.0/resources.mdx +++ b/sdk/javascript/3.0/resources.mdx @@ -1,6 +1,7 @@ --- title: "Resources" sidebarTitle: "Overview" +description: "Resources — CometChat documentation." --- diff --git a/sdk/javascript/3.0/setup.mdx b/sdk/javascript/3.0/setup.mdx index cee48f13c..c84e52c18 100644 --- a/sdk/javascript/3.0/setup.mdx +++ b/sdk/javascript/3.0/setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/javascript/3.0/threaded-messages.mdx b/sdk/javascript/3.0/threaded-messages.mdx index e04c46384..72fbc4422 100644 --- a/sdk/javascript/3.0/threaded-messages.mdx +++ b/sdk/javascript/3.0/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- diff --git a/sdk/javascript/3.0/user-presence.mdx b/sdk/javascript/3.0/user-presence.mdx index 8a72316c8..34fb52ad9 100644 --- a/sdk/javascript/3.0/user-presence.mdx +++ b/sdk/javascript/3.0/user-presence.mdx @@ -1,5 +1,6 @@ --- title: "User Presence" +description: "User Presence — CometChat documentation." --- diff --git a/sdk/javascript/3.0/users-block-users.mdx b/sdk/javascript/3.0/users-block-users.mdx index 196127689..d3b3d675f 100644 --- a/sdk/javascript/3.0/users-block-users.mdx +++ b/sdk/javascript/3.0/users-block-users.mdx @@ -1,5 +1,6 @@ --- title: "Block Users" +description: "Block Users — CometChat documentation." --- diff --git a/sdk/javascript/3.0/users-retrieve-users.mdx b/sdk/javascript/3.0/users-retrieve-users.mdx index 5d6d74d6b..1ac45c46f 100644 --- a/sdk/javascript/3.0/users-retrieve-users.mdx +++ b/sdk/javascript/3.0/users-retrieve-users.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Users" +description: "Retrieve Users — CometChat documentation." --- diff --git a/sdk/javascript/3.0/users-user-management.mdx b/sdk/javascript/3.0/users-user-management.mdx index aa2e2bc3a..cb7fcdf84 100644 --- a/sdk/javascript/3.0/users-user-management.mdx +++ b/sdk/javascript/3.0/users-user-management.mdx @@ -1,5 +1,6 @@ --- title: "User Management" +description: "User Management — CometChat documentation." --- @@ -20,7 +21,7 @@ Summing up- ## Creating a user -Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [creating a user](https://api-explorer.cometchat.com/reference/creates-user) and use the appropriate code sample based on your backend language. +Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [creating a user](/rest-api/chat-apis) and use the appropriate code sample based on your backend language. However, if you wish to create users on the fly, you can use the `createUser()` method. This method takes a `User` object and the `Auth Key` as input parameters and returns the created `User` object if the request is successful. @@ -77,7 +78,7 @@ UID can be alphanumeric with underscore and hyphen. Spaces, punctuation and othe ## Updating a user -Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](https://api-explorer.cometchat.com/reference/update-user) section. However, this can be achieved on the fly as well as using the `updateUser()` method. This method takes a `User` object and the `Auth Key` as inputs and returns the updated `User` object on the successful execution of the request. +Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](/rest-api/chat-apis) section. However, this can be achieved on the fly as well as using the `updateUser()` method. This method takes a `User` object and the `Auth Key` as inputs and returns the updated `User` object on the successful execution of the request. @@ -177,7 +178,7 @@ By using the `updateCurrentUserDetails()` method one can only update the logged- ## Deleting a user -Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](https://api-explorer.cometchat.com/reference/delete-user) section. +Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](/rest-api/chat-apis) section. ## User Class diff --git a/sdk/javascript/3.0/users.mdx b/sdk/javascript/3.0/users.mdx index 2682ae1a5..c830384fe 100644 --- a/sdk/javascript/3.0/users.mdx +++ b/sdk/javascript/3.0/users.mdx @@ -1,6 +1,7 @@ --- title: "Users" sidebarTitle: "Overview" +description: "Users — CometChat documentation." --- diff --git a/sdk/javascript/3.0/v3-default-call.mdx b/sdk/javascript/3.0/v3-default-call.mdx index 2486c1b10..45181698c 100644 --- a/sdk/javascript/3.0/v3-default-call.mdx +++ b/sdk/javascript/3.0/v3-default-call.mdx @@ -1,5 +1,6 @@ --- title: "Default Call" +description: "Default Call — CometChat documentation." --- diff --git a/sdk/javascript/3.0/v3-direct-calling.mdx b/sdk/javascript/3.0/v3-direct-calling.mdx index a8ce467d4..e96ea6731 100644 --- a/sdk/javascript/3.0/v3-direct-calling.mdx +++ b/sdk/javascript/3.0/v3-direct-calling.mdx @@ -1,5 +1,6 @@ --- title: "Direct Calling" +description: "Direct Calling — CometChat documentation." --- diff --git a/sdk/javascript/3.0/v3-setup.mdx b/sdk/javascript/3.0/v3-setup.mdx index 454dffdca..7885be1bd 100644 --- a/sdk/javascript/3.0/v3-setup.mdx +++ b/sdk/javascript/3.0/v3-setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/javascript/3.0/video-view-customisation-v3.mdx b/sdk/javascript/3.0/video-view-customisation-v3.mdx index f75e3a1cb..8fdfa14e1 100644 --- a/sdk/javascript/3.0/video-view-customisation-v3.mdx +++ b/sdk/javascript/3.0/video-view-customisation-v3.mdx @@ -1,5 +1,6 @@ --- title: "Video View Customisation" +description: "Video View Customisation — CometChat documentation." --- diff --git a/sdk/javascript/3.0/video-view-customisation.mdx b/sdk/javascript/3.0/video-view-customisation.mdx index b54465294..0522c1ab4 100644 --- a/sdk/javascript/3.0/video-view-customisation.mdx +++ b/sdk/javascript/3.0/video-view-customisation.mdx @@ -1,5 +1,6 @@ --- title: "Video View Customisation" +description: "Video View Customisation — CometChat documentation." --- diff --git a/sdk/javascript/3.0/virtual-background-v3.mdx b/sdk/javascript/3.0/virtual-background-v3.mdx index e1b162460..8179e1da6 100644 --- a/sdk/javascript/3.0/virtual-background-v3.mdx +++ b/sdk/javascript/3.0/virtual-background-v3.mdx @@ -1,5 +1,6 @@ --- title: "Virtual Background" +description: "Virtual Background — CometChat documentation." --- diff --git a/sdk/javascript/3.0/virtual-background.mdx b/sdk/javascript/3.0/virtual-background.mdx index 175298821..e3f027a28 100644 --- a/sdk/javascript/3.0/virtual-background.mdx +++ b/sdk/javascript/3.0/virtual-background.mdx @@ -1,5 +1,6 @@ --- title: "Virtual Background" +description: "Virtual Background — CometChat documentation." --- diff --git a/sdk/javascript/3.0/vue-3-0-overview.mdx b/sdk/javascript/3.0/vue-3-0-overview.mdx index ec9842fe0..f5d21f844 100644 --- a/sdk/javascript/3.0/vue-3-0-overview.mdx +++ b/sdk/javascript/3.0/vue-3-0-overview.mdx @@ -1,4 +1,5 @@ --- title: "Vue UI Kit" url: "/ui-kit/vue/3.0/overview" +description: "Navigate to Vue UI Kit documentation." --- \ No newline at end of file diff --git a/sdk/javascript/3.0/webhooks.mdx b/sdk/javascript/3.0/webhooks.mdx index 9f68d05ee..ae3b4a614 100644 --- a/sdk/javascript/3.0/webhooks.mdx +++ b/sdk/javascript/3.0/webhooks.mdx @@ -1,5 +1,6 @@ --- title: "Webhooks" +description: "Webhooks — CometChat documentation." --- diff --git a/sdk/javascript/additional-message-filtering.mdx b/sdk/javascript/additional-message-filtering.mdx index 6648ba35e..94d304dd9 100644 --- a/sdk/javascript/additional-message-filtering.mdx +++ b/sdk/javascript/additional-message-filtering.mdx @@ -1,5 +1,6 @@ --- title: "Additional Message Filtering" +description: "Additional Message Filtering — CometChat documentation." --- diff --git a/sdk/javascript/advanced-overview.mdx b/sdk/javascript/advanced-overview.mdx index 7a8e791f6..91201470d 100644 --- a/sdk/javascript/advanced-overview.mdx +++ b/sdk/javascript/advanced-overview.mdx @@ -1,6 +1,7 @@ --- title: "Advanced" sidebarTitle: "Overview" +description: "Overview of Advanced in CometChat." --- diff --git a/sdk/javascript/ai-agents.mdx b/sdk/javascript/ai-agents.mdx index f4b88d96a..9085976f9 100644 --- a/sdk/javascript/ai-agents.mdx +++ b/sdk/javascript/ai-agents.mdx @@ -1,5 +1,6 @@ --- title: "AI Agents" +description: "AI Agents — CometChat documentation." --- # AI Agents Overview diff --git a/sdk/javascript/ai-chatbots-overview.mdx b/sdk/javascript/ai-chatbots-overview.mdx index a5e168a8e..1280e5391 100644 --- a/sdk/javascript/ai-chatbots-overview.mdx +++ b/sdk/javascript/ai-chatbots-overview.mdx @@ -1,4 +1,5 @@ --- title: "Bots" url: "/ai-chatbots/overview" +description: "Navigate to Bots documentation." --- \ No newline at end of file diff --git a/sdk/javascript/ai-moderation.mdx b/sdk/javascript/ai-moderation.mdx index 768de5403..ba2fc84af 100644 --- a/sdk/javascript/ai-moderation.mdx +++ b/sdk/javascript/ai-moderation.mdx @@ -1,5 +1,6 @@ --- title: "AI Moderation" +description: "AI Moderation — CometChat documentation." --- ## Overview diff --git a/sdk/javascript/ai-user-copilot-overview.mdx b/sdk/javascript/ai-user-copilot-overview.mdx index 3e798a3fb..eb49fe85a 100644 --- a/sdk/javascript/ai-user-copilot-overview.mdx +++ b/sdk/javascript/ai-user-copilot-overview.mdx @@ -1,4 +1,5 @@ --- title: "AI" url: "/fundamentals/ai-user-copilot/overview" +description: "Navigate to AI documentation." --- \ No newline at end of file diff --git a/sdk/javascript/all-real-time-listeners.mdx b/sdk/javascript/all-real-time-listeners.mdx index a70adfb54..e555c3c2e 100644 --- a/sdk/javascript/all-real-time-listeners.mdx +++ b/sdk/javascript/all-real-time-listeners.mdx @@ -1,5 +1,6 @@ --- title: "All Real Time Listeners" +description: "All Real Time Listeners — CometChat documentation." --- diff --git a/sdk/javascript/angular-overview.mdx b/sdk/javascript/angular-overview.mdx index 8fc3391f7..005a07724 100644 --- a/sdk/javascript/angular-overview.mdx +++ b/sdk/javascript/angular-overview.mdx @@ -1,4 +1,5 @@ --- title: "Angular Overview" url: "/ui-kit/angular/overview" +description: "Navigate to Angular Overview documentation." --- \ No newline at end of file diff --git a/sdk/javascript/authentication-overview.mdx b/sdk/javascript/authentication-overview.mdx index 1df057175..a38cbfef9 100644 --- a/sdk/javascript/authentication-overview.mdx +++ b/sdk/javascript/authentication-overview.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Overview" +description: "Overview of Authentication in CometChat." --- @@ -10,7 +11,7 @@ sidebarTitle: "Overview" Before you log in a user, you must add the user to CometChat. 1. **For proof of concept/MVPs**: Create the user using the [CometChat Dashboard](https://app.cometchat.com). -2. **For production apps**: Use the CometChat [Create User API](https://api-explorer.cometchat.com/reference/creates-user) to create the user when your user signs up in your app. +2. **For production apps**: Use the CometChat [Create User API](/rest-api/chat-apis) to create the user when your user signs up in your app. @@ -98,8 +99,8 @@ After the user logs in, their information is returned in the `User` object on `P This advanced authentication procedure does not use the Auth Key directly in your client code thus ensuring safety. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `login()` method. diff --git a/sdk/javascript/block-users.mdx b/sdk/javascript/block-users.mdx index 738e07ab1..318e0918b 100644 --- a/sdk/javascript/block-users.mdx +++ b/sdk/javascript/block-users.mdx @@ -1,5 +1,6 @@ --- title: "Block Users" +description: "Block Users — CometChat documentation." --- diff --git a/sdk/javascript/call-logs.mdx b/sdk/javascript/call-logs.mdx index 74f2b87af..5415d2fbb 100644 --- a/sdk/javascript/call-logs.mdx +++ b/sdk/javascript/call-logs.mdx @@ -1,5 +1,6 @@ --- title: "Call Logs" +description: "Call Logs — CometChat documentation." --- diff --git a/sdk/javascript/calling-overview.mdx b/sdk/javascript/calling-overview.mdx index 18bc0ea62..c7398619c 100644 --- a/sdk/javascript/calling-overview.mdx +++ b/sdk/javascript/calling-overview.mdx @@ -1,6 +1,7 @@ --- title: "Calling" sidebarTitle: "Overview" +description: "Overview of Calling in CometChat." --- ## Overview diff --git a/sdk/javascript/calling-setup.mdx b/sdk/javascript/calling-setup.mdx index 7cd07247e..11eb72ecf 100644 --- a/sdk/javascript/calling-setup.mdx +++ b/sdk/javascript/calling-setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/javascript/changelog.mdx b/sdk/javascript/changelog.mdx index 421f16350..9ab57a411 100644 --- a/sdk/javascript/changelog.mdx +++ b/sdk/javascript/changelog.mdx @@ -1,4 +1,5 @@ --- title: "Changelog" url: "https://github.com/cometchat/chat-sdk-javascript/releases" +description: "Navigate to Changelog documentation." --- \ No newline at end of file diff --git a/sdk/javascript/connection-status.mdx b/sdk/javascript/connection-status.mdx index 7c67128bb..c54279825 100644 --- a/sdk/javascript/connection-status.mdx +++ b/sdk/javascript/connection-status.mdx @@ -1,5 +1,6 @@ --- title: "Connection Status" +description: "Connection Status — CometChat documentation." --- diff --git a/sdk/javascript/create-group.mdx b/sdk/javascript/create-group.mdx index 29eed3de5..0d91cf600 100644 --- a/sdk/javascript/create-group.mdx +++ b/sdk/javascript/create-group.mdx @@ -1,5 +1,6 @@ --- title: "Create A Group" +description: "Create A Group — CometChat documentation." --- diff --git a/sdk/javascript/custom-css.mdx b/sdk/javascript/custom-css.mdx index 56698ccf3..dc5cfd078 100644 --- a/sdk/javascript/custom-css.mdx +++ b/sdk/javascript/custom-css.mdx @@ -1,5 +1,6 @@ --- title: "Custom CSS" +description: "Custom CSS — CometChat documentation." --- diff --git a/sdk/javascript/default-call.mdx b/sdk/javascript/default-call.mdx index e6c274931..cbcd3f46c 100644 --- a/sdk/javascript/default-call.mdx +++ b/sdk/javascript/default-call.mdx @@ -1,5 +1,6 @@ --- title: "Ringing" +description: "Ringing — CometChat documentation." --- ## Overview diff --git a/sdk/javascript/delete-conversation.mdx b/sdk/javascript/delete-conversation.mdx index b91669f6a..f7470da83 100644 --- a/sdk/javascript/delete-conversation.mdx +++ b/sdk/javascript/delete-conversation.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Conversation" +description: "Delete A Conversation — CometChat documentation." --- @@ -71,7 +72,7 @@ CometChat.deleteConversation(GUID, type).then( -This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](https://api-explorer.cometchat.com/reference/resets-user-conversation). +This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](/rest-api/chat-apis). The `deleteConversation()` method takes the following parameters: diff --git a/sdk/javascript/delete-group.mdx b/sdk/javascript/delete-group.mdx index 54bcf4137..4ffa95881 100644 --- a/sdk/javascript/delete-group.mdx +++ b/sdk/javascript/delete-group.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Group" +description: "Delete A Group — CometChat documentation." --- diff --git a/sdk/javascript/delete-message.mdx b/sdk/javascript/delete-message.mdx index d84b07614..fc5c264eb 100644 --- a/sdk/javascript/delete-message.mdx +++ b/sdk/javascript/delete-message.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Message" +description: "Delete A Message — CometChat documentation." --- diff --git a/sdk/javascript/delivery-read-receipts.mdx b/sdk/javascript/delivery-read-receipts.mdx index 464e319fd..46cbc5210 100644 --- a/sdk/javascript/delivery-read-receipts.mdx +++ b/sdk/javascript/delivery-read-receipts.mdx @@ -1,5 +1,6 @@ --- title: "Delivery & Read Receipts" +description: "Delivery & Read Receipts — CometChat documentation." --- diff --git a/sdk/javascript/direct-call.mdx b/sdk/javascript/direct-call.mdx index 0bedb0234..8733bd68d 100644 --- a/sdk/javascript/direct-call.mdx +++ b/sdk/javascript/direct-call.mdx @@ -1,5 +1,6 @@ --- title: "Call Session" +description: "Call Session — CometChat documentation." --- ## Overview diff --git a/sdk/javascript/edit-message.mdx b/sdk/javascript/edit-message.mdx index 8b91b4aea..d7ed21d31 100644 --- a/sdk/javascript/edit-message.mdx +++ b/sdk/javascript/edit-message.mdx @@ -1,5 +1,6 @@ --- title: "Edit A Message" +description: "Edit A Message — CometChat documentation." --- diff --git a/sdk/javascript/extensions-overview.mdx b/sdk/javascript/extensions-overview.mdx index 29c1774bd..d7eadbbe5 100644 --- a/sdk/javascript/extensions-overview.mdx +++ b/sdk/javascript/extensions-overview.mdx @@ -1,4 +1,5 @@ --- title: "Extensions" url: "/fundamentals/extensions-overview" +description: "Navigate to Extensions documentation." --- \ No newline at end of file diff --git a/sdk/javascript/flag-message.mdx b/sdk/javascript/flag-message.mdx index 350149f5d..e39a9612b 100644 --- a/sdk/javascript/flag-message.mdx +++ b/sdk/javascript/flag-message.mdx @@ -1,5 +1,6 @@ --- title: "Flag Message" +description: "Flag Message — CometChat documentation." --- ## Overview diff --git a/sdk/javascript/group-add-members.mdx b/sdk/javascript/group-add-members.mdx index 98170bf0b..b7f737869 100644 --- a/sdk/javascript/group-add-members.mdx +++ b/sdk/javascript/group-add-members.mdx @@ -1,5 +1,6 @@ --- title: "Add Members To A Group" +description: "Add Members To A Group — CometChat documentation." --- diff --git a/sdk/javascript/group-change-member-scope.mdx b/sdk/javascript/group-change-member-scope.mdx index 422ae34b8..01487813a 100644 --- a/sdk/javascript/group-change-member-scope.mdx +++ b/sdk/javascript/group-change-member-scope.mdx @@ -1,5 +1,6 @@ --- title: "Change Member Scope" +description: "Change Member Scope — CometChat documentation." --- diff --git a/sdk/javascript/group-kick-ban-members.mdx b/sdk/javascript/group-kick-ban-members.mdx index 7433686cd..5505536ee 100644 --- a/sdk/javascript/group-kick-ban-members.mdx +++ b/sdk/javascript/group-kick-ban-members.mdx @@ -1,5 +1,6 @@ --- title: "Ban Or Kick Member From A Group" +description: "Ban Or Kick Member From A Group — CometChat documentation." --- diff --git a/sdk/javascript/groups-overview.mdx b/sdk/javascript/groups-overview.mdx index 4f3d1c363..e89864c6f 100644 --- a/sdk/javascript/groups-overview.mdx +++ b/sdk/javascript/groups-overview.mdx @@ -1,6 +1,7 @@ --- title: "Groups" sidebarTitle: "Overview" +description: "Overview of Groups in CometChat." --- diff --git a/sdk/javascript/interactive-messages.mdx b/sdk/javascript/interactive-messages.mdx index 2f083f734..1217c5c6d 100644 --- a/sdk/javascript/interactive-messages.mdx +++ b/sdk/javascript/interactive-messages.mdx @@ -1,5 +1,6 @@ --- title: "Interactive Messages" +description: "Interactive Messages — CometChat documentation." --- diff --git a/sdk/javascript/join-group.mdx b/sdk/javascript/join-group.mdx index 744f9e723..c6ed23f1a 100644 --- a/sdk/javascript/join-group.mdx +++ b/sdk/javascript/join-group.mdx @@ -1,5 +1,6 @@ --- title: "Join A Group" +description: "Join A Group — CometChat documentation." --- diff --git a/sdk/javascript/key-concepts.mdx b/sdk/javascript/key-concepts.mdx index 37e5885f1..27f5efff2 100644 --- a/sdk/javascript/key-concepts.mdx +++ b/sdk/javascript/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- diff --git a/sdk/javascript/leave-group.mdx b/sdk/javascript/leave-group.mdx index a9534b8aa..3955aa361 100644 --- a/sdk/javascript/leave-group.mdx +++ b/sdk/javascript/leave-group.mdx @@ -1,5 +1,6 @@ --- title: "Leave A Group" +description: "Leave A Group — CometChat documentation." --- diff --git a/sdk/javascript/login-listener.mdx b/sdk/javascript/login-listener.mdx index 4c98ff4c4..d7a7f2a27 100644 --- a/sdk/javascript/login-listener.mdx +++ b/sdk/javascript/login-listener.mdx @@ -1,5 +1,6 @@ --- title: "Login Listener" +description: "Login Listener — CometChat documentation." --- diff --git a/sdk/javascript/managing-web-sockets-connections-manually.mdx b/sdk/javascript/managing-web-sockets-connections-manually.mdx index 90cf107b5..fadebc229 100644 --- a/sdk/javascript/managing-web-sockets-connections-manually.mdx +++ b/sdk/javascript/managing-web-sockets-connections-manually.mdx @@ -1,5 +1,6 @@ --- title: "Managing Web Sockets Connections Manually" +description: "Managing Web Sockets Connections Manually — CometChat documentation." --- diff --git a/sdk/javascript/mentions.mdx b/sdk/javascript/mentions.mdx index c3ce4742a..495ac67f8 100644 --- a/sdk/javascript/mentions.mdx +++ b/sdk/javascript/mentions.mdx @@ -1,5 +1,6 @@ --- title: "Mentions" +description: "Mentions — CometChat documentation." --- diff --git a/sdk/javascript/message-structure-and-hierarchy.mdx b/sdk/javascript/message-structure-and-hierarchy.mdx index 797cb91df..35310e63c 100644 --- a/sdk/javascript/message-structure-and-hierarchy.mdx +++ b/sdk/javascript/message-structure-and-hierarchy.mdx @@ -1,6 +1,7 @@ --- title: "Message" sidebarTitle: "Message Structure And Hierarchy" +description: "Message — CometChat documentation." --- diff --git a/sdk/javascript/messaging-overview.mdx b/sdk/javascript/messaging-overview.mdx index 5a8902b43..a7f7bc793 100644 --- a/sdk/javascript/messaging-overview.mdx +++ b/sdk/javascript/messaging-overview.mdx @@ -1,6 +1,7 @@ --- title: "Messaging" sidebarTitle: "Overview" +description: "Overview of Messaging in CometChat." --- diff --git a/sdk/javascript/overview.mdx b/sdk/javascript/overview.mdx index 05fa4c3d2..c004155ee 100644 --- a/sdk/javascript/overview.mdx +++ b/sdk/javascript/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/sdk/javascript/presenter-mode.mdx b/sdk/javascript/presenter-mode.mdx index 42b2bdc2a..005d80eef 100644 --- a/sdk/javascript/presenter-mode.mdx +++ b/sdk/javascript/presenter-mode.mdx @@ -1,5 +1,6 @@ --- title: "Presenter Mode" +description: "Presenter Mode — CometChat documentation." --- diff --git a/sdk/javascript/rate-limits.mdx b/sdk/javascript/rate-limits.mdx index 17581b144..796b22b12 100644 --- a/sdk/javascript/rate-limits.mdx +++ b/sdk/javascript/rate-limits.mdx @@ -1,5 +1,6 @@ --- title: "Rate Limits" +description: "Rate Limits — CometChat documentation." --- diff --git a/sdk/javascript/react-overview.mdx b/sdk/javascript/react-overview.mdx index 20216cea4..1dd39853c 100644 --- a/sdk/javascript/react-overview.mdx +++ b/sdk/javascript/react-overview.mdx @@ -1,4 +1,5 @@ --- title: "React Overview" url: "/ui-kit/react/overview" +description: "Navigate to React Overview documentation." --- \ No newline at end of file diff --git a/sdk/javascript/reactions.mdx b/sdk/javascript/reactions.mdx index 8ac8f43fd..f1e8805a3 100644 --- a/sdk/javascript/reactions.mdx +++ b/sdk/javascript/reactions.mdx @@ -1,5 +1,6 @@ --- title: "Reactions" +description: "Reactions — CometChat documentation." --- diff --git a/sdk/javascript/receive-message.mdx b/sdk/javascript/receive-message.mdx index a6f9a8925..1db76f534 100644 --- a/sdk/javascript/receive-message.mdx +++ b/sdk/javascript/receive-message.mdx @@ -1,5 +1,6 @@ --- title: "Receive A Message" +description: "Receive A Message — CometChat documentation." --- diff --git a/sdk/javascript/recording.mdx b/sdk/javascript/recording.mdx index 214d56bcd..d309bbc8f 100644 --- a/sdk/javascript/recording.mdx +++ b/sdk/javascript/recording.mdx @@ -1,5 +1,6 @@ --- title: "Recording (Beta)" +description: "Recording (Beta) — CometChat documentation." --- diff --git a/sdk/javascript/resources-overview.mdx b/sdk/javascript/resources-overview.mdx index ea0d211bf..153ad9149 100644 --- a/sdk/javascript/resources-overview.mdx +++ b/sdk/javascript/resources-overview.mdx @@ -1,6 +1,7 @@ --- title: "Resources" sidebarTitle: "Overview" +description: "Overview of Resources in CometChat." --- diff --git a/sdk/javascript/retrieve-conversations.mdx b/sdk/javascript/retrieve-conversations.mdx index a58ef59d1..2805ade97 100644 --- a/sdk/javascript/retrieve-conversations.mdx +++ b/sdk/javascript/retrieve-conversations.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Conversations" +description: "Retrieve Conversations — CometChat documentation." --- diff --git a/sdk/javascript/retrieve-group-members.mdx b/sdk/javascript/retrieve-group-members.mdx index 3e21b909d..5aaca6590 100644 --- a/sdk/javascript/retrieve-group-members.mdx +++ b/sdk/javascript/retrieve-group-members.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Group Members" +description: "Retrieve Group Members — CometChat documentation." --- diff --git a/sdk/javascript/retrieve-groups.mdx b/sdk/javascript/retrieve-groups.mdx index 92a074c0d..97bf4b0a5 100644 --- a/sdk/javascript/retrieve-groups.mdx +++ b/sdk/javascript/retrieve-groups.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Groups" +description: "Retrieve Groups — CometChat documentation." --- diff --git a/sdk/javascript/retrieve-users.mdx b/sdk/javascript/retrieve-users.mdx index 943df6404..cc2c7b9bb 100644 --- a/sdk/javascript/retrieve-users.mdx +++ b/sdk/javascript/retrieve-users.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Users" +description: "Retrieve Users — CometChat documentation." --- diff --git a/sdk/javascript/send-message.mdx b/sdk/javascript/send-message.mdx index ae9f8e125..793a04712 100644 --- a/sdk/javascript/send-message.mdx +++ b/sdk/javascript/send-message.mdx @@ -1,5 +1,6 @@ --- title: "Send A Message" +description: "Send A Message — CometChat documentation." --- diff --git a/sdk/javascript/session-timeout.mdx b/sdk/javascript/session-timeout.mdx index 23470881f..99bf3ecb0 100644 --- a/sdk/javascript/session-timeout.mdx +++ b/sdk/javascript/session-timeout.mdx @@ -1,5 +1,6 @@ --- title: "Session Timeout Flow" +description: "Session Timeout Flow — CometChat documentation." --- diff --git a/sdk/javascript/setup-sdk.mdx b/sdk/javascript/setup-sdk.mdx index e9bdce872..6463bfc10 100644 --- a/sdk/javascript/setup-sdk.mdx +++ b/sdk/javascript/setup-sdk.mdx @@ -1,6 +1,7 @@ --- title: "Setup" sidebarTitle: "Overview" +description: "Setup — CometChat documentation." --- diff --git a/sdk/javascript/standalone-calling.mdx b/sdk/javascript/standalone-calling.mdx index 09df82d0e..aa3c73438 100644 --- a/sdk/javascript/standalone-calling.mdx +++ b/sdk/javascript/standalone-calling.mdx @@ -1,5 +1,6 @@ --- title: "Standalone Calling" +description: "Standalone Calling — CometChat documentation." --- ## Overview diff --git a/sdk/javascript/threaded-messages.mdx b/sdk/javascript/threaded-messages.mdx index e2d29a55a..75336f359 100644 --- a/sdk/javascript/threaded-messages.mdx +++ b/sdk/javascript/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- diff --git a/sdk/javascript/transfer-group-ownership.mdx b/sdk/javascript/transfer-group-ownership.mdx index 1de52a892..9cec3fa85 100644 --- a/sdk/javascript/transfer-group-ownership.mdx +++ b/sdk/javascript/transfer-group-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Group Ownership" +description: "Transfer Group Ownership — CometChat documentation." --- diff --git a/sdk/javascript/transient-messages.mdx b/sdk/javascript/transient-messages.mdx index 9f44b2267..53d837e44 100644 --- a/sdk/javascript/transient-messages.mdx +++ b/sdk/javascript/transient-messages.mdx @@ -1,5 +1,6 @@ --- title: "Transient Messages" +description: "Transient Messages — CometChat documentation." --- diff --git a/sdk/javascript/typing-indicators.mdx b/sdk/javascript/typing-indicators.mdx index 0174f5727..8ab8f097a 100644 --- a/sdk/javascript/typing-indicators.mdx +++ b/sdk/javascript/typing-indicators.mdx @@ -1,5 +1,6 @@ --- title: "Typing Indicators" +description: "Typing Indicators — CometChat documentation." --- diff --git a/sdk/javascript/update-group.mdx b/sdk/javascript/update-group.mdx index 113b79f8b..b3240dc97 100644 --- a/sdk/javascript/update-group.mdx +++ b/sdk/javascript/update-group.mdx @@ -1,5 +1,6 @@ --- title: "Update A Group" +description: "Update A Group — CometChat documentation." --- diff --git a/sdk/javascript/upgrading-from-v3.mdx b/sdk/javascript/upgrading-from-v3.mdx index 00cf6868a..ba31dd1a9 100644 --- a/sdk/javascript/upgrading-from-v3.mdx +++ b/sdk/javascript/upgrading-from-v3.mdx @@ -1,5 +1,6 @@ --- title: "Upgrading From V3" +description: "Upgrading From V3 — CometChat documentation." --- diff --git a/sdk/javascript/user-management.mdx b/sdk/javascript/user-management.mdx index 76ac2b585..79458ee23 100644 --- a/sdk/javascript/user-management.mdx +++ b/sdk/javascript/user-management.mdx @@ -1,5 +1,6 @@ --- title: "User Management" +description: "User Management — CometChat documentation." --- @@ -20,7 +21,7 @@ Summing up- ## Creating a user -Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [creating a user](https://api-explorer.cometchat.com/reference/creates-user) and use the appropriate code sample based on your backend language. +Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about [creating a user](/rest-api/chat-apis) and use the appropriate code sample based on your backend language. However, if you wish to create users on the fly, you can use the `createUser()` method. This method takes a `User` object and the `Auth Key` as input parameters and returns the created `User` object if the request is successful. @@ -77,7 +78,7 @@ UID can be alphanumeric with underscore and hyphen. Spaces, punctuation and othe ## Updating a user -Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](https://api-explorer.cometchat.com/reference/update-user) section. However, this can be achieved on the fly as well as using the `updateUser()` method. This method takes a `User` object and the `Auth Key` as inputs and returns the updated `User` object on the successful execution of the request. +Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](/rest-api/chat-apis) section. However, this can be achieved on the fly as well as using the `updateUser()` method. This method takes a `User` object and the `Auth Key` as inputs and returns the updated `User` object on the successful execution of the request. @@ -177,7 +178,7 @@ By using the `updateCurrentUserDetails()` method one can only update the logged- ## Deleting a user -Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](https://api-explorer.cometchat.com/reference/delete-user) section. +Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](/rest-api/chat-apis) section. ## User Class diff --git a/sdk/javascript/user-presence.mdx b/sdk/javascript/user-presence.mdx index 503bc0d6f..2dcf30d46 100644 --- a/sdk/javascript/user-presence.mdx +++ b/sdk/javascript/user-presence.mdx @@ -1,6 +1,7 @@ --- title: "User Presence" sidebarTitle: "Overview" +description: "User Presence — CometChat documentation." --- @@ -27,7 +28,7 @@ You need to register the `UserListener` using the `addUserListener()` method whe -``` +```javascript let listenerID = "UNIQUE_LISTENER_ID"; CometChat.addUserListener( @@ -78,7 +79,7 @@ We suggest adding this method when not in use. -``` +```javascript let listenerID = "UNIQUE_LISTENER_ID"; CometChat.removeUserListener(listenerID); ``` diff --git a/sdk/javascript/users-overview.mdx b/sdk/javascript/users-overview.mdx index 2193624f4..e73c7e929 100644 --- a/sdk/javascript/users-overview.mdx +++ b/sdk/javascript/users-overview.mdx @@ -1,6 +1,7 @@ --- title: "Users" sidebarTitle: "Overview" +description: "Overview of Users in CometChat." --- diff --git a/sdk/javascript/vue-overview.mdx b/sdk/javascript/vue-overview.mdx index ab5084a8c..9762d32a2 100644 --- a/sdk/javascript/vue-overview.mdx +++ b/sdk/javascript/vue-overview.mdx @@ -1,4 +1,5 @@ --- title: "Vue Overview" url: "/ui-kit/vue/overview" +description: "Navigate to Vue Overview documentation." --- \ No newline at end of file diff --git a/sdk/javascript/webhooks-overview.mdx b/sdk/javascript/webhooks-overview.mdx index 598d43500..c6059ded0 100644 --- a/sdk/javascript/webhooks-overview.mdx +++ b/sdk/javascript/webhooks-overview.mdx @@ -1,4 +1,5 @@ --- title: "Webhooks" url: "/fundamentals/webhooks-overview" +description: "Navigate to Webhooks documentation." --- \ No newline at end of file diff --git a/sdk/react-native/2.0/advanced-connection-listener.mdx b/sdk/react-native/2.0/advanced-connection-listener.mdx index bd1c28297..3e9923ba1 100644 --- a/sdk/react-native/2.0/advanced-connection-listener.mdx +++ b/sdk/react-native/2.0/advanced-connection-listener.mdx @@ -1,5 +1,6 @@ --- title: "Connection Status" +description: "Connection Status — CometChat documentation." --- diff --git a/sdk/react-native/2.0/advanced.mdx b/sdk/react-native/2.0/advanced.mdx index 7a8e791f6..931f86642 100644 --- a/sdk/react-native/2.0/advanced.mdx +++ b/sdk/react-native/2.0/advanced.mdx @@ -1,6 +1,7 @@ --- title: "Advanced" sidebarTitle: "Overview" +description: "Advanced — CometChat documentation." --- diff --git a/sdk/react-native/2.0/authentication-login-listeners.mdx b/sdk/react-native/2.0/authentication-login-listeners.mdx index dab87155f..af21dd4c9 100644 --- a/sdk/react-native/2.0/authentication-login-listeners.mdx +++ b/sdk/react-native/2.0/authentication-login-listeners.mdx @@ -1,5 +1,6 @@ --- title: "Login Listeners" +description: "Login Listeners — CometChat documentation." --- diff --git a/sdk/react-native/2.0/authentication.mdx b/sdk/react-native/2.0/authentication.mdx index d05ef8db9..4fbfd8c04 100644 --- a/sdk/react-native/2.0/authentication.mdx +++ b/sdk/react-native/2.0/authentication.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Overview" +description: "Authentication — CometChat documentation." --- @@ -10,7 +11,7 @@ sidebarTitle: "Overview" Before you login the user, you must add the user to CometChat. 1. **For proof of concept/MVPs**: Create the user using the [CometChat Dashboard](https://app.cometchat.com). -2. **For production apps**: Use the CometChat [Create User API](https://api-explorer.cometchat.com/v2/reference/createuser-1) to create the user when your user signs up in your app. +2. **For production apps**: Use the CometChat [Create User API](/rest-api/chat-apis) to create the user when your user signs up in your app. Sample Users @@ -77,8 +78,8 @@ Be sure to use the **Auth Key** and not the **Rest API Key**. This ensures that This advanced authentication procedure does not use the Auth Key directly in your client code and thus ensuring that your Auth Key is not leaked even if the client code is reverse engineered. -1. [Create a User](https://api-explorer.cometchat.com/v2/reference/createuser-1) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/v2/reference/createuser-1) via the CometChat API for the new user and save the token in your database. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `login()` method. diff --git a/sdk/react-native/2.0/bots.mdx b/sdk/react-native/2.0/bots.mdx index a31e17e8b..e551f1999 100644 --- a/sdk/react-native/2.0/bots.mdx +++ b/sdk/react-native/2.0/bots.mdx @@ -1,5 +1,6 @@ --- title: "Bots" +description: "Bots — CometChat documentation." --- @@ -18,4 +19,4 @@ Once you've created a user, you can create a new bot. The actual implementation ### Reply to a message -When you receive a message from CometChat, you can process it and provide a response using our [Send Bot Message](https://api-explorer.cometchat.com/reference/sends-bot-message) Rest API. +When you receive a message from CometChat, you can process it and provide a response using our [Send Bot Message](/rest-api/chat-apis) Rest API. diff --git a/sdk/react-native/2.0/calling-default-calling.mdx b/sdk/react-native/2.0/calling-default-calling.mdx index c3015f596..0c27f0477 100644 --- a/sdk/react-native/2.0/calling-default-calling.mdx +++ b/sdk/react-native/2.0/calling-default-calling.mdx @@ -1,5 +1,6 @@ --- title: "Default Calling" +description: "Default Calling — CometChat documentation." --- diff --git a/sdk/react-native/2.0/calling-direct-calling.mdx b/sdk/react-native/2.0/calling-direct-calling.mdx index 30135c96e..1bcc9152d 100644 --- a/sdk/react-native/2.0/calling-direct-calling.mdx +++ b/sdk/react-native/2.0/calling-direct-calling.mdx @@ -1,5 +1,6 @@ --- title: "Direct Calling" +description: "Direct Calling — CometChat documentation." --- diff --git a/sdk/react-native/2.0/calling.mdx b/sdk/react-native/2.0/calling.mdx index fc511cb83..7834f7f81 100644 --- a/sdk/react-native/2.0/calling.mdx +++ b/sdk/react-native/2.0/calling.mdx @@ -1,6 +1,7 @@ --- title: "Calling" sidebarTitle: "Overview" +description: "Calling — CometChat documentation." --- diff --git a/sdk/react-native/2.0/groups-add-members-to-group.mdx b/sdk/react-native/2.0/groups-add-members-to-group.mdx index 733931a8d..39d43ef6e 100644 --- a/sdk/react-native/2.0/groups-add-members-to-group.mdx +++ b/sdk/react-native/2.0/groups-add-members-to-group.mdx @@ -1,5 +1,6 @@ --- title: "Add Members To A Group" +description: "Add Members To A Group — CometChat documentation." --- diff --git a/sdk/react-native/2.0/groups-change-member-scope.mdx b/sdk/react-native/2.0/groups-change-member-scope.mdx index 05676e042..cc599c7e3 100644 --- a/sdk/react-native/2.0/groups-change-member-scope.mdx +++ b/sdk/react-native/2.0/groups-change-member-scope.mdx @@ -1,5 +1,6 @@ --- title: "Change Member Scope" +description: "Change Member Scope — CometChat documentation." --- diff --git a/sdk/react-native/2.0/groups-create-group.mdx b/sdk/react-native/2.0/groups-create-group.mdx index 56578d091..7f116f0d3 100644 --- a/sdk/react-native/2.0/groups-create-group.mdx +++ b/sdk/react-native/2.0/groups-create-group.mdx @@ -1,5 +1,6 @@ --- title: "Create A Group" +description: "Create A Group — CometChat documentation." --- diff --git a/sdk/react-native/2.0/groups-delete-group.mdx b/sdk/react-native/2.0/groups-delete-group.mdx index 7877e6bd2..91d87668c 100644 --- a/sdk/react-native/2.0/groups-delete-group.mdx +++ b/sdk/react-native/2.0/groups-delete-group.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Group" +description: "Delete A Group — CometChat documentation." --- diff --git a/sdk/react-native/2.0/groups-join-group.mdx b/sdk/react-native/2.0/groups-join-group.mdx index 08104cc2b..0d0da1fe2 100644 --- a/sdk/react-native/2.0/groups-join-group.mdx +++ b/sdk/react-native/2.0/groups-join-group.mdx @@ -1,5 +1,6 @@ --- title: "Join A Group" +description: "Join A Group — CometChat documentation." --- diff --git a/sdk/react-native/2.0/groups-kick-ban-members.mdx b/sdk/react-native/2.0/groups-kick-ban-members.mdx index 85ec86bf8..82fc085d7 100644 --- a/sdk/react-native/2.0/groups-kick-ban-members.mdx +++ b/sdk/react-native/2.0/groups-kick-ban-members.mdx @@ -1,5 +1,6 @@ --- title: "Ban/Kick Member From A Group" +description: "Ban/Kick Member From A Group — CometChat documentation." --- diff --git a/sdk/react-native/2.0/groups-leave-group.mdx b/sdk/react-native/2.0/groups-leave-group.mdx index 302802fea..260b30968 100644 --- a/sdk/react-native/2.0/groups-leave-group.mdx +++ b/sdk/react-native/2.0/groups-leave-group.mdx @@ -1,5 +1,6 @@ --- title: "Leave A Group" +description: "Leave A Group — CometChat documentation." --- diff --git a/sdk/react-native/2.0/groups-retrieve-group-members.mdx b/sdk/react-native/2.0/groups-retrieve-group-members.mdx index 857fece7c..5f461bb81 100644 --- a/sdk/react-native/2.0/groups-retrieve-group-members.mdx +++ b/sdk/react-native/2.0/groups-retrieve-group-members.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Group Members" +description: "Retrieve Group Members — CometChat documentation." --- diff --git a/sdk/react-native/2.0/groups-retrieve-groups.mdx b/sdk/react-native/2.0/groups-retrieve-groups.mdx index f47bc333c..99fc761a6 100644 --- a/sdk/react-native/2.0/groups-retrieve-groups.mdx +++ b/sdk/react-native/2.0/groups-retrieve-groups.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Groups" +description: "Retrieve Groups — CometChat documentation." --- diff --git a/sdk/react-native/2.0/groups-transfer-group-ownership.mdx b/sdk/react-native/2.0/groups-transfer-group-ownership.mdx index 0a5f73b7b..023b3b1d9 100644 --- a/sdk/react-native/2.0/groups-transfer-group-ownership.mdx +++ b/sdk/react-native/2.0/groups-transfer-group-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Group Ownership" +description: "Transfer Group Ownership — CometChat documentation." --- diff --git a/sdk/react-native/2.0/groups-update-group.mdx b/sdk/react-native/2.0/groups-update-group.mdx index e817732a4..8d4530352 100644 --- a/sdk/react-native/2.0/groups-update-group.mdx +++ b/sdk/react-native/2.0/groups-update-group.mdx @@ -1,5 +1,6 @@ --- title: "Update A Group" +description: "Update A Group — CometChat documentation." --- diff --git a/sdk/react-native/2.0/groups.mdx b/sdk/react-native/2.0/groups.mdx index 4f3d1c363..2df1802aa 100644 --- a/sdk/react-native/2.0/groups.mdx +++ b/sdk/react-native/2.0/groups.mdx @@ -1,6 +1,7 @@ --- title: "Groups" sidebarTitle: "Overview" +description: "Groups — CometChat documentation." --- diff --git a/sdk/react-native/2.0/key-concepts.mdx b/sdk/react-native/2.0/key-concepts.mdx index 21a00a097..ad7eb8869 100644 --- a/sdk/react-native/2.0/key-concepts.mdx +++ b/sdk/react-native/2.0/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- diff --git a/sdk/react-native/2.0/message-structure-and-hierarchy.mdx b/sdk/react-native/2.0/message-structure-and-hierarchy.mdx index 408da6e5b..384f66b8e 100644 --- a/sdk/react-native/2.0/message-structure-and-hierarchy.mdx +++ b/sdk/react-native/2.0/message-structure-and-hierarchy.mdx @@ -1,5 +1,6 @@ --- title: "Message Structure And Hierarchy" +description: "Message Structure And Hierarchy — CometChat documentation." --- diff --git a/sdk/react-native/2.0/messaging-additional-message-filtering.mdx b/sdk/react-native/2.0/messaging-additional-message-filtering.mdx index e5773872c..84437cbff 100644 --- a/sdk/react-native/2.0/messaging-additional-message-filtering.mdx +++ b/sdk/react-native/2.0/messaging-additional-message-filtering.mdx @@ -1,5 +1,6 @@ --- title: "Additional Message Filtering" +description: "Additional Message Filtering — CometChat documentation." --- diff --git a/sdk/react-native/2.0/messaging-delete-conversation.mdx b/sdk/react-native/2.0/messaging-delete-conversation.mdx index 19233aa4a..1bacf0588 100644 --- a/sdk/react-native/2.0/messaging-delete-conversation.mdx +++ b/sdk/react-native/2.0/messaging-delete-conversation.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Conversation" +description: "Delete A Conversation — CometChat documentation." --- @@ -41,7 +42,7 @@ CometChat.deleteConversation(GUID, type).then( -This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](https://api-explorer.cometchat.com/reference/deletes-conversation). +This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](/rest-api/chat-apis). The `deleteConversation()` method takes the following parameters: diff --git a/sdk/react-native/2.0/messaging-delete-message.mdx b/sdk/react-native/2.0/messaging-delete-message.mdx index 8c0f35e0b..240309c34 100644 --- a/sdk/react-native/2.0/messaging-delete-message.mdx +++ b/sdk/react-native/2.0/messaging-delete-message.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Message" +description: "Delete A Message — CometChat documentation." --- diff --git a/sdk/react-native/2.0/messaging-edit-message.mdx b/sdk/react-native/2.0/messaging-edit-message.mdx index 8d90e459a..06c14806a 100644 --- a/sdk/react-native/2.0/messaging-edit-message.mdx +++ b/sdk/react-native/2.0/messaging-edit-message.mdx @@ -1,5 +1,6 @@ --- title: "Edit A Message" +description: "Edit A Message — CometChat documentation." --- diff --git a/sdk/react-native/2.0/messaging-receipts.mdx b/sdk/react-native/2.0/messaging-receipts.mdx index cf2649ae7..920e368b1 100644 --- a/sdk/react-native/2.0/messaging-receipts.mdx +++ b/sdk/react-native/2.0/messaging-receipts.mdx @@ -1,5 +1,6 @@ --- title: "Delivery & Read Receipts" +description: "Delivery & Read Receipts — CometChat documentation." --- diff --git a/sdk/react-native/2.0/messaging-receive-messages.mdx b/sdk/react-native/2.0/messaging-receive-messages.mdx index aa92442b1..f3ede301b 100644 --- a/sdk/react-native/2.0/messaging-receive-messages.mdx +++ b/sdk/react-native/2.0/messaging-receive-messages.mdx @@ -1,5 +1,6 @@ --- title: "Receive Messages" +description: "Receive Messages — CometChat documentation." --- diff --git a/sdk/react-native/2.0/messaging-retrieve-conversations.mdx b/sdk/react-native/2.0/messaging-retrieve-conversations.mdx index a6875a3f6..88e09ce92 100644 --- a/sdk/react-native/2.0/messaging-retrieve-conversations.mdx +++ b/sdk/react-native/2.0/messaging-retrieve-conversations.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Conversations" +description: "Retrieve Conversations — CometChat documentation." --- diff --git a/sdk/react-native/2.0/messaging-send-message.mdx b/sdk/react-native/2.0/messaging-send-message.mdx index b0966ebdf..f3e77938d 100644 --- a/sdk/react-native/2.0/messaging-send-message.mdx +++ b/sdk/react-native/2.0/messaging-send-message.mdx @@ -1,5 +1,6 @@ --- title: "Send A Message" +description: "Send A Message — CometChat documentation." --- diff --git a/sdk/react-native/2.0/messaging-typing-indicators.mdx b/sdk/react-native/2.0/messaging-typing-indicators.mdx index d60f4c6c6..7dc925432 100644 --- a/sdk/react-native/2.0/messaging-typing-indicators.mdx +++ b/sdk/react-native/2.0/messaging-typing-indicators.mdx @@ -1,5 +1,6 @@ --- title: "Typing Indicators" +description: "Typing Indicators — CometChat documentation." --- diff --git a/sdk/react-native/2.0/messaging.mdx b/sdk/react-native/2.0/messaging.mdx index de1fe20fa..9232f286e 100644 --- a/sdk/react-native/2.0/messaging.mdx +++ b/sdk/react-native/2.0/messaging.mdx @@ -1,6 +1,7 @@ --- title: "Messaging" sidebarTitle: "Overview" +description: "Messaging — CometChat documentation." --- diff --git a/sdk/react-native/2.0/overview.mdx b/sdk/react-native/2.0/overview.mdx index 11a56c2b2..c6313dd44 100644 --- a/sdk/react-native/2.0/overview.mdx +++ b/sdk/react-native/2.0/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/sdk/react-native/2.0/rate-limits.mdx b/sdk/react-native/2.0/rate-limits.mdx index 30b7ca9c0..9651357e8 100644 --- a/sdk/react-native/2.0/rate-limits.mdx +++ b/sdk/react-native/2.0/rate-limits.mdx @@ -1,5 +1,6 @@ --- title: "Rate Limits" +description: "Rate Limits — CometChat documentation." --- diff --git a/sdk/react-native/2.0/resources-all-real-time-listeners.mdx b/sdk/react-native/2.0/resources-all-real-time-listeners.mdx index 97c35c267..be00e968e 100644 --- a/sdk/react-native/2.0/resources-all-real-time-listeners.mdx +++ b/sdk/react-native/2.0/resources-all-real-time-listeners.mdx @@ -1,5 +1,6 @@ --- title: "All Real Time Listeners" +description: "All Real Time Listeners — CometChat documentation." --- diff --git a/sdk/react-native/2.0/resources-push-notification-setup.mdx b/sdk/react-native/2.0/resources-push-notification-setup.mdx index d745de5cc..d907597d7 100644 --- a/sdk/react-native/2.0/resources-push-notification-setup.mdx +++ b/sdk/react-native/2.0/resources-push-notification-setup.mdx @@ -1,5 +1,6 @@ --- title: "Push Notification Setup" +description: "Push Notification Setup — CometChat documentation." --- diff --git a/sdk/react-native/2.0/resources-upgrading-from-v1.mdx b/sdk/react-native/2.0/resources-upgrading-from-v1.mdx index 388fbb213..ac6d979dc 100644 --- a/sdk/react-native/2.0/resources-upgrading-from-v1.mdx +++ b/sdk/react-native/2.0/resources-upgrading-from-v1.mdx @@ -1,5 +1,6 @@ --- title: "Upgrading From V1" +description: "Upgrading From V1 — CometChat documentation." --- diff --git a/sdk/react-native/2.0/resources.mdx b/sdk/react-native/2.0/resources.mdx index c08cd7c2a..cdee9fccf 100644 --- a/sdk/react-native/2.0/resources.mdx +++ b/sdk/react-native/2.0/resources.mdx @@ -1,6 +1,7 @@ --- title: "Resources" sidebarTitle: "Overview" +description: "Resources — CometChat documentation." --- diff --git a/sdk/react-native/2.0/setup.mdx b/sdk/react-native/2.0/setup.mdx index 5acdcf8c7..51efc4071 100644 --- a/sdk/react-native/2.0/setup.mdx +++ b/sdk/react-native/2.0/setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/react-native/2.0/threaded-messages.mdx b/sdk/react-native/2.0/threaded-messages.mdx index 7872806f5..bbcfa00c7 100644 --- a/sdk/react-native/2.0/threaded-messages.mdx +++ b/sdk/react-native/2.0/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- diff --git a/sdk/react-native/2.0/user-presence.mdx b/sdk/react-native/2.0/user-presence.mdx index 24adcc0bf..38821060d 100644 --- a/sdk/react-native/2.0/user-presence.mdx +++ b/sdk/react-native/2.0/user-presence.mdx @@ -1,5 +1,6 @@ --- title: "User Presence" +description: "User Presence — CometChat documentation." --- diff --git a/sdk/react-native/2.0/users-block-users.mdx b/sdk/react-native/2.0/users-block-users.mdx index 55c173d1a..dcedb7715 100644 --- a/sdk/react-native/2.0/users-block-users.mdx +++ b/sdk/react-native/2.0/users-block-users.mdx @@ -1,5 +1,6 @@ --- title: "Block Users" +description: "Block Users — CometChat documentation." --- diff --git a/sdk/react-native/2.0/users-retrieve-users.mdx b/sdk/react-native/2.0/users-retrieve-users.mdx index 570ee74ae..3f28e55f7 100644 --- a/sdk/react-native/2.0/users-retrieve-users.mdx +++ b/sdk/react-native/2.0/users-retrieve-users.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Users" +description: "Retrieve Users — CometChat documentation." --- diff --git a/sdk/react-native/2.0/users-user-management.mdx b/sdk/react-native/2.0/users-user-management.mdx index f837a5b84..f50833f3b 100644 --- a/sdk/react-native/2.0/users-user-management.mdx +++ b/sdk/react-native/2.0/users-user-management.mdx @@ -1,5 +1,6 @@ --- title: "User Management" +description: "User Management — CometChat documentation." --- @@ -20,7 +21,7 @@ Summing up- ## Creating a user -Ideally, user creation should take place at your backend. You can refer to our Rest API to learn more about [creating a user](https://api-explorer.cometchat.com/v2/reference/createuser-1) and use the appropriate code sample based on your backend language. +Ideally, user creation should take place at your backend. You can refer to our Rest API to learn more about [creating a user](/rest-api/chat-apis) and use the appropriate code sample based on your backend language. However, if you wish to create users on the fly, you can use the `createUser()` method. This method takes a `User` object and the `Auth Key` as input parameters and returns the created `User` object if the request is successful. @@ -56,7 +57,7 @@ UID can be alphanumeric with underscore and hyphen. Spaces, punctuation and othe ## Updating a user -Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](https://api-explorer.cometchat.com/v2/reference/updateuser-1) section. However, this can be achieved on the fly as well as using the `updateUser()` method. This method takes a `User` object and the `Auth Key` as inputs and returns the updated `User` object on the successful execution of the request. +Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](/rest-api/chat-apis) section. However, this can be achieved on the fly as well as using the `updateUser()` method. This method takes a `User` object and the `Auth Key` as inputs and returns the updated `User` object on the successful execution of the request. @@ -115,7 +116,7 @@ By using the `updateCurrentUserDetails()` method one can only update the logged- ## Deleting a user -Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](https://api-explorer.cometchat.com/v2/reference/deleteuser-1) section. +Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](/rest-api/chat-apis) section. ## User Class diff --git a/sdk/react-native/2.0/users.mdx b/sdk/react-native/2.0/users.mdx index c4f240700..1a69532d0 100644 --- a/sdk/react-native/2.0/users.mdx +++ b/sdk/react-native/2.0/users.mdx @@ -1,6 +1,7 @@ --- title: "Users" sidebarTitle: "Overview" +description: "Users — CometChat documentation." --- diff --git a/sdk/react-native/2.0/webhooks.mdx b/sdk/react-native/2.0/webhooks.mdx index cc76a6562..67342c982 100644 --- a/sdk/react-native/2.0/webhooks.mdx +++ b/sdk/react-native/2.0/webhooks.mdx @@ -1,5 +1,6 @@ --- title: "Webhooks" +description: "Webhooks — CometChat documentation." --- diff --git a/sdk/react-native/3.0/advanced-connection-listener.mdx b/sdk/react-native/3.0/advanced-connection-listener.mdx index bc6b5e16c..e1ee6c09e 100644 --- a/sdk/react-native/3.0/advanced-connection-listener.mdx +++ b/sdk/react-native/3.0/advanced-connection-listener.mdx @@ -1,5 +1,6 @@ --- title: "Connection Status" +description: "Connection Status — CometChat documentation." --- diff --git a/sdk/react-native/3.0/advanced.mdx b/sdk/react-native/3.0/advanced.mdx index 7a8e791f6..931f86642 100644 --- a/sdk/react-native/3.0/advanced.mdx +++ b/sdk/react-native/3.0/advanced.mdx @@ -1,6 +1,7 @@ --- title: "Advanced" sidebarTitle: "Overview" +description: "Advanced — CometChat documentation." --- diff --git a/sdk/react-native/3.0/authentication-login-listeners.mdx b/sdk/react-native/3.0/authentication-login-listeners.mdx index 8b2004d69..d7aea4736 100644 --- a/sdk/react-native/3.0/authentication-login-listeners.mdx +++ b/sdk/react-native/3.0/authentication-login-listeners.mdx @@ -1,5 +1,6 @@ --- title: "Login Listeners" +description: "Login Listeners — CometChat documentation." --- diff --git a/sdk/react-native/3.0/authentication.mdx b/sdk/react-native/3.0/authentication.mdx index c88f8943d..8617ff551 100644 --- a/sdk/react-native/3.0/authentication.mdx +++ b/sdk/react-native/3.0/authentication.mdx @@ -1,6 +1,7 @@ --- title: "Authentication" sidebarTitle: "Overview" +description: "Authentication — CometChat documentation." --- @@ -10,7 +11,7 @@ sidebarTitle: "Overview" Before you login the user, you must add the user to CometChat. 1. **For proof of concept/MVPs**: Create the user using the [CometChat Dashboard](https://app.cometchat.com). -2. **For production apps**: Use the CometChat [Create User API](https://api-explorer.cometchat.com/reference/creates-user) to create the user when your user signs up in your app. +2. **For production apps**: Use the CometChat [Create User API](/rest-api/chat-apis) to create the user when your user signs up in your app. Sample Users @@ -101,8 +102,8 @@ Be sure to use the **Auth Key** and not the **Rest API Key**. This ensures that This advanced authentication procedure does not use the Auth Key directly in your client code and thus ensuring that your Auth Key is not leaked even if the client code is reverse engineered. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `login()` method. diff --git a/sdk/react-native/3.0/bots.mdx b/sdk/react-native/3.0/bots.mdx index a31e17e8b..e551f1999 100644 --- a/sdk/react-native/3.0/bots.mdx +++ b/sdk/react-native/3.0/bots.mdx @@ -1,5 +1,6 @@ --- title: "Bots" +description: "Bots — CometChat documentation." --- @@ -18,4 +19,4 @@ Once you've created a user, you can create a new bot. The actual implementation ### Reply to a message -When you receive a message from CometChat, you can process it and provide a response using our [Send Bot Message](https://api-explorer.cometchat.com/reference/sends-bot-message) Rest API. +When you receive a message from CometChat, you can process it and provide a response using our [Send Bot Message](/rest-api/chat-apis) Rest API. diff --git a/sdk/react-native/3.0/calling-default-calling.mdx b/sdk/react-native/3.0/calling-default-calling.mdx index fbd98f29e..4c87a31a4 100644 --- a/sdk/react-native/3.0/calling-default-calling.mdx +++ b/sdk/react-native/3.0/calling-default-calling.mdx @@ -1,5 +1,6 @@ --- title: "Default Calling" +description: "Default Calling — CometChat documentation." --- diff --git a/sdk/react-native/3.0/calling-direct-calling.mdx b/sdk/react-native/3.0/calling-direct-calling.mdx index 70ce277f2..7df3c1d44 100644 --- a/sdk/react-native/3.0/calling-direct-calling.mdx +++ b/sdk/react-native/3.0/calling-direct-calling.mdx @@ -1,5 +1,6 @@ --- title: "Direct Calling" +description: "Direct Calling — CometChat documentation." --- diff --git a/sdk/react-native/3.0/calling-recording.mdx b/sdk/react-native/3.0/calling-recording.mdx index bd3f58c7e..28acf04ff 100644 --- a/sdk/react-native/3.0/calling-recording.mdx +++ b/sdk/react-native/3.0/calling-recording.mdx @@ -1,5 +1,6 @@ --- title: "Recording (Beta)" +description: "Recording (Beta) — CometChat documentation." --- diff --git a/sdk/react-native/3.0/calling-v3.mdx b/sdk/react-native/3.0/calling-v3.mdx index fe3d46739..abd872af3 100644 --- a/sdk/react-native/3.0/calling-v3.mdx +++ b/sdk/react-native/3.0/calling-v3.mdx @@ -1,5 +1,6 @@ --- title: "Calling V3" +description: "Calling V3 — CometChat documentation." --- diff --git a/sdk/react-native/3.0/calling.mdx b/sdk/react-native/3.0/calling.mdx index 6641605b8..834ac9ac5 100644 --- a/sdk/react-native/3.0/calling.mdx +++ b/sdk/react-native/3.0/calling.mdx @@ -1,6 +1,7 @@ --- title: "Calling" sidebarTitle: "Overview" +description: "Calling — CometChat documentation." --- diff --git a/sdk/react-native/3.0/extensions-overview.mdx b/sdk/react-native/3.0/extensions-overview.mdx index 29c1774bd..d7eadbbe5 100644 --- a/sdk/react-native/3.0/extensions-overview.mdx +++ b/sdk/react-native/3.0/extensions-overview.mdx @@ -1,4 +1,5 @@ --- title: "Extensions" url: "/fundamentals/extensions-overview" +description: "Navigate to Extensions documentation." --- \ No newline at end of file diff --git a/sdk/react-native/3.0/groups-add-members-to-group.mdx b/sdk/react-native/3.0/groups-add-members-to-group.mdx index bd528a48b..1b2c3b119 100644 --- a/sdk/react-native/3.0/groups-add-members-to-group.mdx +++ b/sdk/react-native/3.0/groups-add-members-to-group.mdx @@ -1,5 +1,6 @@ --- title: "Add Members To A Group" +description: "Add Members To A Group — CometChat documentation." --- diff --git a/sdk/react-native/3.0/groups-change-member-scope.mdx b/sdk/react-native/3.0/groups-change-member-scope.mdx index cff2dd1b1..bbb16d59e 100644 --- a/sdk/react-native/3.0/groups-change-member-scope.mdx +++ b/sdk/react-native/3.0/groups-change-member-scope.mdx @@ -1,5 +1,6 @@ --- title: "Change Member Scope" +description: "Change Member Scope — CometChat documentation." --- diff --git a/sdk/react-native/3.0/groups-create-group.mdx b/sdk/react-native/3.0/groups-create-group.mdx index 06971eb1b..f88920f53 100644 --- a/sdk/react-native/3.0/groups-create-group.mdx +++ b/sdk/react-native/3.0/groups-create-group.mdx @@ -1,5 +1,6 @@ --- title: "Create A Group" +description: "Create A Group — CometChat documentation." --- diff --git a/sdk/react-native/3.0/groups-delete-group.mdx b/sdk/react-native/3.0/groups-delete-group.mdx index 503caa4ca..1fc645a11 100644 --- a/sdk/react-native/3.0/groups-delete-group.mdx +++ b/sdk/react-native/3.0/groups-delete-group.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Group" +description: "Delete A Group — CometChat documentation." --- diff --git a/sdk/react-native/3.0/groups-join-group.mdx b/sdk/react-native/3.0/groups-join-group.mdx index a5722cfba..1e7042523 100644 --- a/sdk/react-native/3.0/groups-join-group.mdx +++ b/sdk/react-native/3.0/groups-join-group.mdx @@ -1,5 +1,6 @@ --- title: "Join A Group" +description: "Join A Group — CometChat documentation." --- diff --git a/sdk/react-native/3.0/groups-kick-ban-members.mdx b/sdk/react-native/3.0/groups-kick-ban-members.mdx index a9ad06c3b..3b1212a59 100644 --- a/sdk/react-native/3.0/groups-kick-ban-members.mdx +++ b/sdk/react-native/3.0/groups-kick-ban-members.mdx @@ -1,5 +1,6 @@ --- title: "Ban/Kick Member From A Group" +description: "Ban/Kick Member From A Group — CometChat documentation." --- diff --git a/sdk/react-native/3.0/groups-leave-group.mdx b/sdk/react-native/3.0/groups-leave-group.mdx index 5c3f4e20b..58124aa1e 100644 --- a/sdk/react-native/3.0/groups-leave-group.mdx +++ b/sdk/react-native/3.0/groups-leave-group.mdx @@ -1,5 +1,6 @@ --- title: "Leave A Group" +description: "Leave A Group — CometChat documentation." --- diff --git a/sdk/react-native/3.0/groups-retrieve-group-members.mdx b/sdk/react-native/3.0/groups-retrieve-group-members.mdx index c0455bdaf..b8a7908cd 100644 --- a/sdk/react-native/3.0/groups-retrieve-group-members.mdx +++ b/sdk/react-native/3.0/groups-retrieve-group-members.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Group Members" +description: "Retrieve Group Members — CometChat documentation." --- diff --git a/sdk/react-native/3.0/groups-retrieve-groups.mdx b/sdk/react-native/3.0/groups-retrieve-groups.mdx index 51f459163..06d36ae96 100644 --- a/sdk/react-native/3.0/groups-retrieve-groups.mdx +++ b/sdk/react-native/3.0/groups-retrieve-groups.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Groups" +description: "Retrieve Groups — CometChat documentation." --- diff --git a/sdk/react-native/3.0/groups-transfer-group-ownership.mdx b/sdk/react-native/3.0/groups-transfer-group-ownership.mdx index 516bd85ad..921b4c1e0 100644 --- a/sdk/react-native/3.0/groups-transfer-group-ownership.mdx +++ b/sdk/react-native/3.0/groups-transfer-group-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Group Ownership" +description: "Transfer Group Ownership — CometChat documentation." --- diff --git a/sdk/react-native/3.0/groups-update-group.mdx b/sdk/react-native/3.0/groups-update-group.mdx index 7ae1f917d..bd2ee3aae 100644 --- a/sdk/react-native/3.0/groups-update-group.mdx +++ b/sdk/react-native/3.0/groups-update-group.mdx @@ -1,5 +1,6 @@ --- title: "Update A Group" +description: "Update A Group — CometChat documentation." --- diff --git a/sdk/react-native/3.0/groups.mdx b/sdk/react-native/3.0/groups.mdx index 4f3d1c363..2df1802aa 100644 --- a/sdk/react-native/3.0/groups.mdx +++ b/sdk/react-native/3.0/groups.mdx @@ -1,6 +1,7 @@ --- title: "Groups" sidebarTitle: "Overview" +description: "Groups — CometChat documentation." --- diff --git a/sdk/react-native/3.0/key-concepts.mdx b/sdk/react-native/3.0/key-concepts.mdx index 5dbfc9682..60e121998 100644 --- a/sdk/react-native/3.0/key-concepts.mdx +++ b/sdk/react-native/3.0/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- diff --git a/sdk/react-native/3.0/managing-web-socket-connections-manually.mdx b/sdk/react-native/3.0/managing-web-socket-connections-manually.mdx index 9a116092c..35e34b71a 100644 --- a/sdk/react-native/3.0/managing-web-socket-connections-manually.mdx +++ b/sdk/react-native/3.0/managing-web-socket-connections-manually.mdx @@ -1,5 +1,6 @@ --- title: "Managing Web Socket Connections Manually" +description: "Managing Web Socket Connections Manually — CometChat documentation." --- diff --git a/sdk/react-native/3.0/message-structure-and-hierarchy.mdx b/sdk/react-native/3.0/message-structure-and-hierarchy.mdx index 4f260bf3c..8548ed7ba 100644 --- a/sdk/react-native/3.0/message-structure-and-hierarchy.mdx +++ b/sdk/react-native/3.0/message-structure-and-hierarchy.mdx @@ -1,5 +1,6 @@ --- title: "Message Structure And Hierarchy" +description: "Message Structure And Hierarchy — CometChat documentation." --- diff --git a/sdk/react-native/3.0/messaging-additional-message-filtering.mdx b/sdk/react-native/3.0/messaging-additional-message-filtering.mdx index 6839d5669..e7091de68 100644 --- a/sdk/react-native/3.0/messaging-additional-message-filtering.mdx +++ b/sdk/react-native/3.0/messaging-additional-message-filtering.mdx @@ -1,5 +1,6 @@ --- title: "Additional Message Filtering" +description: "Additional Message Filtering — CometChat documentation." --- diff --git a/sdk/react-native/3.0/messaging-delete-conversation.mdx b/sdk/react-native/3.0/messaging-delete-conversation.mdx index 8d5dc07be..078c3cf0b 100644 --- a/sdk/react-native/3.0/messaging-delete-conversation.mdx +++ b/sdk/react-native/3.0/messaging-delete-conversation.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Conversation" +description: "Delete A Conversation — CometChat documentation." --- @@ -71,7 +72,7 @@ CometChat.deleteConversation(GUID, type).then( -This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](https://api-explorer.cometchat.com/reference/deletes-conversation). +This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](/rest-api/chat-apis). The `deleteConversation()` method takes the following parameters: diff --git a/sdk/react-native/3.0/messaging-delete-message.mdx b/sdk/react-native/3.0/messaging-delete-message.mdx index 23c673849..4cf781bf3 100644 --- a/sdk/react-native/3.0/messaging-delete-message.mdx +++ b/sdk/react-native/3.0/messaging-delete-message.mdx @@ -1,5 +1,6 @@ --- title: "Delete A Message" +description: "Delete A Message — CometChat documentation." --- diff --git a/sdk/react-native/3.0/messaging-edit-message.mdx b/sdk/react-native/3.0/messaging-edit-message.mdx index 8b5b66533..9b8744a35 100644 --- a/sdk/react-native/3.0/messaging-edit-message.mdx +++ b/sdk/react-native/3.0/messaging-edit-message.mdx @@ -1,5 +1,6 @@ --- title: "Edit A Message" +description: "Edit A Message — CometChat documentation." --- diff --git a/sdk/react-native/3.0/messaging-receipts.mdx b/sdk/react-native/3.0/messaging-receipts.mdx index aee35197b..c08d0afd4 100644 --- a/sdk/react-native/3.0/messaging-receipts.mdx +++ b/sdk/react-native/3.0/messaging-receipts.mdx @@ -1,5 +1,6 @@ --- title: "Delivery & Read Receipts" +description: "Delivery & Read Receipts — CometChat documentation." --- diff --git a/sdk/react-native/3.0/messaging-receive-messages.mdx b/sdk/react-native/3.0/messaging-receive-messages.mdx index 44fd5186a..01f8c95b6 100644 --- a/sdk/react-native/3.0/messaging-receive-messages.mdx +++ b/sdk/react-native/3.0/messaging-receive-messages.mdx @@ -1,5 +1,6 @@ --- title: "Receive Messages" +description: "Receive Messages — CometChat documentation." --- diff --git a/sdk/react-native/3.0/messaging-retrieve-conversations.mdx b/sdk/react-native/3.0/messaging-retrieve-conversations.mdx index b3e9e34b3..7a7d3251e 100644 --- a/sdk/react-native/3.0/messaging-retrieve-conversations.mdx +++ b/sdk/react-native/3.0/messaging-retrieve-conversations.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Conversations" +description: "Retrieve Conversations — CometChat documentation." --- diff --git a/sdk/react-native/3.0/messaging-send-message.mdx b/sdk/react-native/3.0/messaging-send-message.mdx index 8161078d2..fee967faa 100644 --- a/sdk/react-native/3.0/messaging-send-message.mdx +++ b/sdk/react-native/3.0/messaging-send-message.mdx @@ -1,5 +1,6 @@ --- title: "Send A Message" +description: "Send A Message — CometChat documentation." --- diff --git a/sdk/react-native/3.0/messaging-typing-indicators.mdx b/sdk/react-native/3.0/messaging-typing-indicators.mdx index c7cbc77f6..ce03a1c67 100644 --- a/sdk/react-native/3.0/messaging-typing-indicators.mdx +++ b/sdk/react-native/3.0/messaging-typing-indicators.mdx @@ -1,5 +1,6 @@ --- title: "Typing Indicators" +description: "Typing Indicators — CometChat documentation." --- diff --git a/sdk/react-native/3.0/messaging.mdx b/sdk/react-native/3.0/messaging.mdx index 2e8d5f2bf..ecaec5f4d 100644 --- a/sdk/react-native/3.0/messaging.mdx +++ b/sdk/react-native/3.0/messaging.mdx @@ -1,6 +1,7 @@ --- title: "Messaging" sidebarTitle: "Overview" +description: "Messaging — CometChat documentation." --- diff --git a/sdk/react-native/3.0/overview.mdx b/sdk/react-native/3.0/overview.mdx index 733b10ee7..6b43038b8 100644 --- a/sdk/react-native/3.0/overview.mdx +++ b/sdk/react-native/3.0/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/sdk/react-native/3.0/presenter-mode.mdx b/sdk/react-native/3.0/presenter-mode.mdx index 3c4b5d68a..e3e2e49a1 100644 --- a/sdk/react-native/3.0/presenter-mode.mdx +++ b/sdk/react-native/3.0/presenter-mode.mdx @@ -1,5 +1,6 @@ --- title: "Presenter Mode" +description: "Presenter Mode — CometChat documentation." --- diff --git a/sdk/react-native/3.0/rate-limits.mdx b/sdk/react-native/3.0/rate-limits.mdx index 3e8fbd638..fe8910c75 100644 --- a/sdk/react-native/3.0/rate-limits.mdx +++ b/sdk/react-native/3.0/rate-limits.mdx @@ -1,5 +1,6 @@ --- title: "Rate Limits" +description: "Rate Limits — CometChat documentation." --- diff --git a/sdk/react-native/3.0/react-native-3-0-overview.mdx b/sdk/react-native/3.0/react-native-3-0-overview.mdx index c6bb4197c..e8e5af698 100644 --- a/sdk/react-native/3.0/react-native-3-0-overview.mdx +++ b/sdk/react-native/3.0/react-native-3-0-overview.mdx @@ -1,4 +1,5 @@ --- title: "V3 UI Kit" url: "/ui-kit/react-native/3.0/overview" +description: "Navigate to V3 UI Kit documentation." --- \ No newline at end of file diff --git a/sdk/react-native/3.0/recording-beta-v3.mdx b/sdk/react-native/3.0/recording-beta-v3.mdx index 3af2f0bd5..8d4bf667c 100644 --- a/sdk/react-native/3.0/recording-beta-v3.mdx +++ b/sdk/react-native/3.0/recording-beta-v3.mdx @@ -1,5 +1,6 @@ --- title: "Recording (Beta)" +description: "Recording (Beta) — CometChat documentation." --- diff --git a/sdk/react-native/3.0/resources-all-real-time-listeners.mdx b/sdk/react-native/3.0/resources-all-real-time-listeners.mdx index 495e849b5..3d3ab0786 100644 --- a/sdk/react-native/3.0/resources-all-real-time-listeners.mdx +++ b/sdk/react-native/3.0/resources-all-real-time-listeners.mdx @@ -1,5 +1,6 @@ --- title: "All Real Time Listeners" +description: "All Real Time Listeners — CometChat documentation." --- diff --git a/sdk/react-native/3.0/resources-push-notification-setup.mdx b/sdk/react-native/3.0/resources-push-notification-setup.mdx index cff5fea21..4dbc4ceb6 100644 --- a/sdk/react-native/3.0/resources-push-notification-setup.mdx +++ b/sdk/react-native/3.0/resources-push-notification-setup.mdx @@ -1,5 +1,6 @@ --- title: "Push Notification Setup" +description: "Push Notification Setup — CometChat documentation." --- diff --git a/sdk/react-native/3.0/resources-upgrading-from-v2.mdx b/sdk/react-native/3.0/resources-upgrading-from-v2.mdx index 0801317ec..51ca4f902 100644 --- a/sdk/react-native/3.0/resources-upgrading-from-v2.mdx +++ b/sdk/react-native/3.0/resources-upgrading-from-v2.mdx @@ -1,5 +1,6 @@ --- title: "Upgrading From V2" +description: "Upgrading From V2 — CometChat documentation." --- diff --git a/sdk/react-native/3.0/resources.mdx b/sdk/react-native/3.0/resources.mdx index 4b22c4deb..768206568 100644 --- a/sdk/react-native/3.0/resources.mdx +++ b/sdk/react-native/3.0/resources.mdx @@ -1,6 +1,7 @@ --- title: "Resources" sidebarTitle: "Overview" +description: "Resources — CometChat documentation." --- diff --git a/sdk/react-native/3.0/setup.mdx b/sdk/react-native/3.0/setup.mdx index f4ec36278..f29ed87ec 100644 --- a/sdk/react-native/3.0/setup.mdx +++ b/sdk/react-native/3.0/setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- @@ -102,7 +103,7 @@ For `@cometchat-pro/react-native-calls` version starting **2.3.0**, please make -``` +```html NSCameraUsageDescription This is for Camera permission NSMicrophoneUsageDescription diff --git a/sdk/react-native/3.0/threaded-messages.mdx b/sdk/react-native/3.0/threaded-messages.mdx index d991c07aa..c866ab577 100644 --- a/sdk/react-native/3.0/threaded-messages.mdx +++ b/sdk/react-native/3.0/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- diff --git a/sdk/react-native/3.0/transient-messages.mdx b/sdk/react-native/3.0/transient-messages.mdx index f81eb84b5..b14c17843 100644 --- a/sdk/react-native/3.0/transient-messages.mdx +++ b/sdk/react-native/3.0/transient-messages.mdx @@ -1,5 +1,6 @@ --- title: "Transient Messages" +description: "Transient Messages — CometChat documentation." --- diff --git a/sdk/react-native/3.0/user-presence.mdx b/sdk/react-native/3.0/user-presence.mdx index 650679add..6596ad264 100644 --- a/sdk/react-native/3.0/user-presence.mdx +++ b/sdk/react-native/3.0/user-presence.mdx @@ -1,5 +1,6 @@ --- title: "User Presence" +description: "User Presence — CometChat documentation." --- diff --git a/sdk/react-native/3.0/users-block-users.mdx b/sdk/react-native/3.0/users-block-users.mdx index 8e141bd1b..08f64603b 100644 --- a/sdk/react-native/3.0/users-block-users.mdx +++ b/sdk/react-native/3.0/users-block-users.mdx @@ -1,5 +1,6 @@ --- title: "Block Users" +description: "Block Users — CometChat documentation." --- diff --git a/sdk/react-native/3.0/users-retrieve-users.mdx b/sdk/react-native/3.0/users-retrieve-users.mdx index ab4b33034..d038a4f2e 100644 --- a/sdk/react-native/3.0/users-retrieve-users.mdx +++ b/sdk/react-native/3.0/users-retrieve-users.mdx @@ -1,5 +1,6 @@ --- title: "Retrieve Users" +description: "Retrieve Users — CometChat documentation." --- diff --git a/sdk/react-native/3.0/users-user-management.mdx b/sdk/react-native/3.0/users-user-management.mdx index 1a8a83016..30149ad39 100644 --- a/sdk/react-native/3.0/users-user-management.mdx +++ b/sdk/react-native/3.0/users-user-management.mdx @@ -1,5 +1,6 @@ --- title: "User Management" +description: "User Management — CometChat documentation." --- @@ -20,7 +21,7 @@ Summing up- ## Creating a user -Ideally, user creation should take place at your backend. You can refer to our Rest API to learn more about [creating a user](https://api-explorer.cometchat.com/reference/creates-user) and use the appropriate code sample based on your backend language. +Ideally, user creation should take place at your backend. You can refer to our Rest API to learn more about [creating a user](/rest-api/chat-apis) and use the appropriate code sample based on your backend language. However, if you wish to create users on the fly, you can use the `createUser()` method. This method takes a `User` object and the `Auth Key` as input parameters and returns the created `User` object if the request is successful. @@ -77,7 +78,7 @@ UID can be alphanumeric with underscore and hyphen. Spaces, punctuation and othe ## Updating a user -Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](https://api-explorer.cometchat.com/reference/update-user) section. However, this can be achieved on the fly as well as using the `updateUser()` method. This method takes a `User` object and the `Auth Key` as inputs and returns the updated `User` object on the successful execution of the request. +Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the [update a user](/rest-api/chat-apis) section. However, this can be achieved on the fly as well as using the `updateUser()` method. This method takes a `User` object and the `Auth Key` as inputs and returns the updated `User` object on the successful execution of the request. @@ -177,7 +178,7 @@ By using the `updateCurrentUserDetails()` method one can only update the logged- ## Deleting a user -Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](https://api-explorer.cometchat.com/reference/delete-user) section. +Deleting a user can only be achieved via the Restful APIs. For more information please check the [delete a user](/rest-api/chat-apis) section. ## User Class diff --git a/sdk/react-native/3.0/users.mdx b/sdk/react-native/3.0/users.mdx index eb887f201..3f0c0f200 100644 --- a/sdk/react-native/3.0/users.mdx +++ b/sdk/react-native/3.0/users.mdx @@ -1,6 +1,7 @@ --- title: "Users" sidebarTitle: "Overview" +description: "Users — CometChat documentation." --- diff --git a/sdk/react-native/3.0/v3-default-calling.mdx b/sdk/react-native/3.0/v3-default-calling.mdx index 5dfd8fd82..066366cb3 100644 --- a/sdk/react-native/3.0/v3-default-calling.mdx +++ b/sdk/react-native/3.0/v3-default-calling.mdx @@ -1,5 +1,6 @@ --- title: "Default Calling" +description: "Default Calling — CometChat documentation." --- diff --git a/sdk/react-native/3.0/v3-direct-calling.mdx b/sdk/react-native/3.0/v3-direct-calling.mdx index aa0492417..d92c70310 100644 --- a/sdk/react-native/3.0/v3-direct-calling.mdx +++ b/sdk/react-native/3.0/v3-direct-calling.mdx @@ -1,5 +1,6 @@ --- title: "Direct Calling" +description: "Direct Calling — CometChat documentation." --- diff --git a/sdk/react-native/3.0/v3-setup.mdx b/sdk/react-native/3.0/v3-setup.mdx index 1df3b5cc9..0dcd330e9 100644 --- a/sdk/react-native/3.0/v3-setup.mdx +++ b/sdk/react-native/3.0/v3-setup.mdx @@ -1,5 +1,6 @@ --- title: "Setup" +description: "Setup — CometChat documentation." --- diff --git a/sdk/react-native/3.0/v3-video-view-customisation.mdx b/sdk/react-native/3.0/v3-video-view-customisation.mdx index 79e57166b..e50555381 100644 --- a/sdk/react-native/3.0/v3-video-view-customisation.mdx +++ b/sdk/react-native/3.0/v3-video-view-customisation.mdx @@ -1,5 +1,6 @@ --- title: "Video View Customisation" +description: "Video View Customisation — CometChat documentation." --- diff --git a/sdk/react-native/3.0/video-view-customisation.mdx b/sdk/react-native/3.0/video-view-customisation.mdx index 7567f67f5..3644fdf8c 100644 --- a/sdk/react-native/3.0/video-view-customisation.mdx +++ b/sdk/react-native/3.0/video-view-customisation.mdx @@ -1,5 +1,6 @@ --- title: "Video View Customisation" +description: "Video View Customisation — CometChat documentation." --- diff --git a/sdk/react-native/3.0/webhooks.mdx b/sdk/react-native/3.0/webhooks.mdx index cc76a6562..67342c982 100644 --- a/sdk/react-native/3.0/webhooks.mdx +++ b/sdk/react-native/3.0/webhooks.mdx @@ -1,5 +1,6 @@ --- title: "Webhooks" +description: "Webhooks — CometChat documentation." --- diff --git a/sdk/react-native/ai-chatbots-overview.mdx b/sdk/react-native/ai-chatbots-overview.mdx index 7bbac1856..381a73e27 100644 --- a/sdk/react-native/ai-chatbots-overview.mdx +++ b/sdk/react-native/ai-chatbots-overview.mdx @@ -1,4 +1,5 @@ --- title: "Bots" url: "/ai-chatbots-overview" +description: "Navigate to Bots documentation." --- \ No newline at end of file diff --git a/sdk/react-native/ai-user-copilot-overview.mdx b/sdk/react-native/ai-user-copilot-overview.mdx index 3e798a3fb..eb49fe85a 100644 --- a/sdk/react-native/ai-user-copilot-overview.mdx +++ b/sdk/react-native/ai-user-copilot-overview.mdx @@ -1,4 +1,5 @@ --- title: "AI" url: "/fundamentals/ai-user-copilot/overview" +description: "Navigate to AI documentation." --- \ No newline at end of file diff --git a/sdk/react-native/authentication-overview.mdx b/sdk/react-native/authentication-overview.mdx index 2afe70562..70134ba85 100644 --- a/sdk/react-native/authentication-overview.mdx +++ b/sdk/react-native/authentication-overview.mdx @@ -24,7 +24,7 @@ const loggedInUser = await CometChat.getLoggedinUser(); Before you log in a user, you must add the user to CometChat. 1. **For proof of concept/MVPs**: Create the user using the [CometChat Dashboard](https://app.cometchat.com). -2. **For production apps**: Use the CometChat [Create User API](https://api-explorer.cometchat.com/reference/creates-user) to create the user when your user signs up in your app. +2. **For production apps**: Use the CometChat [Create User API](/rest-api/chat-apis) to create the user when your user signs up in your app. **Sample Users:** We have set up 5 users for testing with UIDs: `cometchat-uid-1`, `cometchat-uid-2`, `cometchat-uid-3`, `cometchat-uid-4` and `cometchat-uid-5`. @@ -133,10 +133,10 @@ This advanced authentication procedure does not use the Auth Key directly in you - [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. + [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. - [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. + [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. Load the Auth Token in your client and pass it to the `login()` method. diff --git a/sdk/react-native/changelog.mdx b/sdk/react-native/changelog.mdx index 97aed3f16..63464bb0f 100644 --- a/sdk/react-native/changelog.mdx +++ b/sdk/react-native/changelog.mdx @@ -1,4 +1,5 @@ --- title: "Changelog" url: "https://github.com/cometchat/chat-sdk-react-native/releases" +description: "Navigate to Changelog documentation." --- \ No newline at end of file diff --git a/sdk/react-native/delete-conversation.mdx b/sdk/react-native/delete-conversation.mdx index 0e0eecfac..2b9ffa259 100644 --- a/sdk/react-native/delete-conversation.mdx +++ b/sdk/react-native/delete-conversation.mdx @@ -98,7 +98,7 @@ CometChat.deleteConversation(GUID, type).then( -This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](https://api-explorer.cometchat.com/reference/deletes-conversation). +This method deletes the conversation only for the logged-in user. To delete a conversation for all the users of the conversation, please refer to our REST API documentation [here](/rest-api/chat-apis). The `deleteConversation()` method takes the following parameters: diff --git a/sdk/react-native/delivery-read-receipts.mdx b/sdk/react-native/delivery-read-receipts.mdx index 854168bc1..fd5f19d84 100644 --- a/sdk/react-native/delivery-read-receipts.mdx +++ b/sdk/react-native/delivery-read-receipts.mdx @@ -285,7 +285,7 @@ Ideally, you would like to mark all the messages as read for any conversation wh -``` +```javascript var messageId = "MESSAGE_ID"; var receiverId = "MESSAGE_SENDER_UID"; var receiverType = "user"; @@ -296,7 +296,7 @@ CometChat.markAsRead(messageId, receiverId, receiverType, senderId); -``` +```javascript var messageId = "MESSAGE_ID"; var receiverId = "MESSAGE_RECEIVER_GUID"; var receiverType = "group"; @@ -307,7 +307,7 @@ CometChat.markAsRead(messageId, receiverId, receiverType, senderId); -``` +```javascript var messageId: string = "MESSAGE_ID"; var receiverId: string = "MESSAGE_SENDER_UID"; var receiverType: string = "user"; @@ -318,7 +318,7 @@ CometChat.markAsRead(messageId, receiverId, receiverType, senderId); -``` +```javascript var messageId: string = "MESSAGE_ID"; var receiverId: string = "MESSAGE_RECEIVER_GUID"; var receiverType: string = "group"; diff --git a/sdk/react-native/extensions-overview.mdx b/sdk/react-native/extensions-overview.mdx index 29c1774bd..d7eadbbe5 100644 --- a/sdk/react-native/extensions-overview.mdx +++ b/sdk/react-native/extensions-overview.mdx @@ -1,4 +1,5 @@ --- title: "Extensions" url: "/fundamentals/extensions-overview" +description: "Navigate to Extensions documentation." --- \ No newline at end of file diff --git a/sdk/react-native/push-notification-setup.mdx b/sdk/react-native/push-notification-setup.mdx index 567859211..87f30efc3 100644 --- a/sdk/react-native/push-notification-setup.mdx +++ b/sdk/react-native/push-notification-setup.mdx @@ -1,5 +1,6 @@ --- title: "Push Notification Setup" +description: "Push Notification Setup — CometChat documentation." --- diff --git a/sdk/react-native/react-native-overview.mdx b/sdk/react-native/react-native-overview.mdx index f587f1b61..a9979760d 100644 --- a/sdk/react-native/react-native-overview.mdx +++ b/sdk/react-native/react-native-overview.mdx @@ -1,4 +1,5 @@ --- title: "React Native UI Kit" url: "/ui-kit/react-native/overview" +description: "Navigate to React Native UI Kit documentation." --- \ No newline at end of file diff --git a/sdk/react-native/webhooks-overview.mdx b/sdk/react-native/webhooks-overview.mdx index 598d43500..c6059ded0 100644 --- a/sdk/react-native/webhooks-overview.mdx +++ b/sdk/react-native/webhooks-overview.mdx @@ -1,4 +1,5 @@ --- title: "Webhooks" url: "/fundamentals/webhooks-overview" +description: "Navigate to Webhooks documentation." --- \ No newline at end of file diff --git a/snippets/widget/advanced-js-apis-wp.mdx b/snippets/widget/advanced-js-apis-wp.mdx index 3dfaf858c..6ce8b9eb5 100644 --- a/snippets/widget/advanced-js-apis-wp.mdx +++ b/snippets/widget/advanced-js-apis-wp.mdx @@ -1,5 +1,6 @@ --- title: Advanced JavaScript APIs +description: "CometChat documentation page." --- import ChatCallMethods from '/snippets/widget/chat-call-methods.mdx' diff --git a/snippets/widget/advanced-js-apis.mdx b/snippets/widget/advanced-js-apis.mdx index 8058a4a02..0360cfa3d 100644 --- a/snippets/widget/advanced-js-apis.mdx +++ b/snippets/widget/advanced-js-apis.mdx @@ -1,5 +1,6 @@ --- title: Advanced JavaScript Controls +description: "CometChat documentation page." --- import ChatCallMethods from '/snippets/widget/chat-call-methods.mdx' diff --git a/ui-kit/android/getting-started.mdx b/ui-kit/android/getting-started.mdx index 1fb12abe1..77b6feac1 100644 --- a/ui-kit/android/getting-started.mdx +++ b/ui-kit/android/getting-started.mdx @@ -44,7 +44,7 @@ You also need: - Gradle plugin 4.0.1 or later -Auth Key is for development only. In production, generate Auth Tokens server-side via the [REST API](https://api-explorer.cometchat.com/) and use [`loginWithAuthToken()`](/ui-kit/android/methods#login-using-auth-token). Never ship Auth Keys in client code. +Auth Key is for development only. In production, generate Auth Tokens server-side via the [REST API](/rest-api/chat-apis) and use [`loginWithAuthToken()`](/ui-kit/android/methods#login-using-auth-token). Never ship Auth Keys in client code. --- @@ -163,7 +163,7 @@ android.enableJetifier=true ## Step 3 — Initialize and Login -To authenticate a user, you need a UID. You can either create users on the [CometChat Dashboard](https://app.cometchat.com), via the [SDK method](/ui-kit/android/methods#create-user), or through the [REST API](https://api-explorer.cometchat.com/reference/creates-user). +To authenticate a user, you need a UID. You can either create users on the [CometChat Dashboard](https://app.cometchat.com), via the [SDK method](/ui-kit/android/methods#create-user), or through the [REST API](/rest-api/chat-apis). For development, use one of the pre-created test UIDs: diff --git a/ui-kit/android/link/changelog.mdx b/ui-kit/android/link/changelog.mdx index c423ac1b8..8c52d911c 100644 --- a/ui-kit/android/link/changelog.mdx +++ b/ui-kit/android/link/changelog.mdx @@ -1,4 +1,5 @@ --- title: "Changelog" url: "https://github.com/cometchat/cometchat-uikit-android/releases" +description: "Navigate to Changelog documentation." --- \ No newline at end of file diff --git a/ui-kit/android/link/figma.mdx b/ui-kit/android/link/figma.mdx index 36dc0a0e9..f1aca6d08 100644 --- a/ui-kit/android/link/figma.mdx +++ b/ui-kit/android/link/figma.mdx @@ -1,4 +1,5 @@ --- title: "Figma Design" url: "https://www.figma.com/community/file/1444324233177163609/cometchat-ui-kit-for-android" +description: "Navigate to Figma Design documentation." --- \ No newline at end of file diff --git a/ui-kit/android/link/sample.mdx b/ui-kit/android/link/sample.mdx index d05c8ebe6..df6907018 100644 --- a/ui-kit/android/link/sample.mdx +++ b/ui-kit/android/link/sample.mdx @@ -1,4 +1,5 @@ --- title: "Android Sample App" url: "https://github.com/cometchat/cometchat-uikit-android/tree/v5" +description: "Navigate to Android Sample App documentation." --- \ No newline at end of file diff --git a/ui-kit/android/methods.mdx b/ui-kit/android/methods.mdx index 24bccdd2f..3124b38d9 100644 --- a/ui-kit/android/methods.mdx +++ b/ui-kit/android/methods.mdx @@ -196,9 +196,9 @@ CometChatUIKit.login(UID, new CometChat.CallbackListener() { This advanced authentication procedure does not use the Auth Key directly in your client code thus ensuring safety. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `loginWithAuthToken()` method. diff --git a/ui-kit/android/v2/android-2-0-overview.mdx b/ui-kit/android/v2/android-2-0-overview.mdx index e493bb967..e813b8a37 100644 --- a/ui-kit/android/v2/android-2-0-overview.mdx +++ b/ui-kit/android/v2/android-2-0-overview.mdx @@ -1,4 +1,5 @@ --- title: "Android SDK" url: "/sdk/android/2.0/overview" +description: "Navigate to Android SDK documentation." --- \ No newline at end of file diff --git a/ui-kit/android/v2/customize-ui-kit.mdx b/ui-kit/android/v2/customize-ui-kit.mdx index 49a91ad9b..a81c0ec98 100644 --- a/ui-kit/android/v2/customize-ui-kit.mdx +++ b/ui-kit/android/v2/customize-ui-kit.mdx @@ -1,5 +1,6 @@ --- title: "Customize UI Kit" +description: "Customize UI Kit — CometChat documentation." --- diff --git a/ui-kit/android/v2/folder-structure-android-uikit.mdx b/ui-kit/android/v2/folder-structure-android-uikit.mdx index f7ba5f4f7..8c926f589 100644 --- a/ui-kit/android/v2/folder-structure-android-uikit.mdx +++ b/ui-kit/android/v2/folder-structure-android-uikit.mdx @@ -1,5 +1,6 @@ --- title: "UI Kit Library Structure" +description: "UI Kit Library Structure — CometChat documentation." --- UI Kit Library is a collection of custom UI Components designed to build text chat and voice/video calling features in your application. It includes three different packages. diff --git a/ui-kit/android/v2/key-concepts.mdx b/ui-kit/android/v2/key-concepts.mdx index c1e025c7b..b0a4d8225 100644 --- a/ui-kit/android/v2/key-concepts.mdx +++ b/ui-kit/android/v2/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- ### **CometChat Dashboard** diff --git a/ui-kit/android/v2/link/sdk.mdx b/ui-kit/android/v2/link/sdk.mdx index e493bb967..e813b8a37 100644 --- a/ui-kit/android/v2/link/sdk.mdx +++ b/ui-kit/android/v2/link/sdk.mdx @@ -1,4 +1,5 @@ --- title: "Android SDK" url: "/sdk/android/2.0/overview" +description: "Navigate to Android SDK documentation." --- \ No newline at end of file diff --git a/ui-kit/android/v2/message-structure-and-hierarchy.mdx b/ui-kit/android/v2/message-structure-and-hierarchy.mdx index 1255bd93d..218e00f44 100644 --- a/ui-kit/android/v2/message-structure-and-hierarchy.mdx +++ b/ui-kit/android/v2/message-structure-and-hierarchy.mdx @@ -1,5 +1,6 @@ --- title: "Message Structure And Hierarchy" +description: "Message Structure And Hierarchy — CometChat documentation." --- The below diagram helps you better understand the various message categories and types that a CometChat message can belong to. diff --git a/ui-kit/android/v2/overview.mdx b/ui-kit/android/v2/overview.mdx index abc347ed9..206eb725c 100644 --- a/ui-kit/android/v2/overview.mdx +++ b/ui-kit/android/v2/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- The CometChat Android Java UI Kit is developed to keep developers in mind and aims to reduce development efforts significantly. diff --git a/ui-kit/android/v2/ui-components.mdx b/ui-kit/android/v2/ui-components.mdx index d76d5d66c..3485edf5f 100644 --- a/ui-kit/android/v2/ui-components.mdx +++ b/ui-kit/android/v2/ui-components.mdx @@ -1,5 +1,6 @@ --- title: "UI Components" +description: "UI Components — CometChat documentation." --- **UI Components** are building a block of the UI Kit. **UI Components** are a set of custom classes specially designed to build a feature-rich chat app. To achieve high customizability while building an app one can use the UI Components. There are different UI Components available in the UI Kit library. diff --git a/ui-kit/android/v3/android-customize-ui-kit.mdx b/ui-kit/android/v3/android-customize-ui-kit.mdx index b5535844d..ce1b333bb 100644 --- a/ui-kit/android/v3/android-customize-ui-kit.mdx +++ b/ui-kit/android/v3/android-customize-ui-kit.mdx @@ -1,6 +1,7 @@ --- title: "Customize UI Kit" sidebarTitle: "Customize Ui Kit" +description: "Customize UI Kit — CometChat documentation." --- diff --git a/ui-kit/android/v3/android-java-ui-components.mdx b/ui-kit/android/v3/android-java-ui-components.mdx index a3ac3a94e..0c976cc2e 100644 --- a/ui-kit/android/v3/android-java-ui-components.mdx +++ b/ui-kit/android/v3/android-java-ui-components.mdx @@ -1,5 +1,6 @@ --- title: "UI Components" +description: "UI Components — CometChat documentation." --- **UI Components** are building a block of the UI Kit. **UI Components** are a set of custom classes specially designed to build a feature-rich chat app. To achieve high customizability while building an app one can use the UI Components. There are different UI Components available in the UI Kit library. diff --git a/ui-kit/android/v3/conversationlist.mdx b/ui-kit/android/v3/conversationlist.mdx index 163b9ffa4..6e87c9197 100644 --- a/ui-kit/android/v3/conversationlist.mdx +++ b/ui-kit/android/v3/conversationlist.mdx @@ -1,6 +1,7 @@ --- title: "Conversation List" sidebarTitle: "ConversationList" +description: "Conversation List — CometChat documentation." --- `ConversationList`is a component that displays lists of recent conversation done by logged-in user. `ConversationList` also handles empty states and loading state if the users has slower internet connection. diff --git a/ui-kit/android/v3/folder-structure-android-uikit.mdx b/ui-kit/android/v3/folder-structure-android-uikit.mdx index edcb25f18..288ad943f 100644 --- a/ui-kit/android/v3/folder-structure-android-uikit.mdx +++ b/ui-kit/android/v3/folder-structure-android-uikit.mdx @@ -1,5 +1,6 @@ --- title: "UI Kit Library Structure" +description: "UI Kit Library Structure — CometChat documentation." --- UI Kit Library is a collection of custom UI Components designed to build text chat and voice/video calling features in your application. It includes three different packages. diff --git a/ui-kit/android/v3/how-to-add-uikit-module.mdx b/ui-kit/android/v3/how-to-add-uikit-module.mdx index 599c1d6f1..5e0ecaffd 100644 --- a/ui-kit/android/v3/how-to-add-uikit-module.mdx +++ b/ui-kit/android/v3/how-to-add-uikit-module.mdx @@ -1,5 +1,6 @@ --- title: "How To Add UIKit Module?" +description: "How To Add UIKit Module? — CometChat documentation." --- To add UI Kit module developer will need to follow the three basic steps. diff --git a/ui-kit/android/v3/key-concepts.mdx b/ui-kit/android/v3/key-concepts.mdx index 0d71ea534..326d4cd0f 100644 --- a/ui-kit/android/v3/key-concepts.mdx +++ b/ui-kit/android/v3/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- ### CometChat Dashboard diff --git a/ui-kit/android/v3/link/extension.mdx b/ui-kit/android/v3/link/extension.mdx index 29c1774bd..d7eadbbe5 100644 --- a/ui-kit/android/v3/link/extension.mdx +++ b/ui-kit/android/v3/link/extension.mdx @@ -1,4 +1,5 @@ --- title: "Extensions" url: "/fundamentals/extensions-overview" +description: "Navigate to Extensions documentation." --- \ No newline at end of file diff --git a/ui-kit/android/v3/link/sdk.mdx b/ui-kit/android/v3/link/sdk.mdx index c27a31b44..f09c8657d 100644 --- a/ui-kit/android/v3/link/sdk.mdx +++ b/ui-kit/android/v3/link/sdk.mdx @@ -1,4 +1,5 @@ --- title: "Android SDK" url: "/sdk/android/overview" +description: "Navigate to Android SDK documentation." --- \ No newline at end of file diff --git a/ui-kit/android/v3/link/version.mdx b/ui-kit/android/v3/link/version.mdx index 21f7f6f1c..1456b7073 100644 --- a/ui-kit/android/v3/link/version.mdx +++ b/ui-kit/android/v3/link/version.mdx @@ -1,4 +1,5 @@ --- title: "Version 4" url: "/ui-kit/android/overview" +description: "Navigate to Version 4 documentation." --- \ No newline at end of file diff --git a/ui-kit/android/v3/overview.mdx b/ui-kit/android/v3/overview.mdx index 9e97d6ed9..0f18b6c47 100644 --- a/ui-kit/android/v3/overview.mdx +++ b/ui-kit/android/v3/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/ui-kit/android/v4/action-sheet.mdx b/ui-kit/android/v4/action-sheet.mdx index 4e88201e7..55e71e8a3 100644 --- a/ui-kit/android/v4/action-sheet.mdx +++ b/ui-kit/android/v4/action-sheet.mdx @@ -1,5 +1,6 @@ --- title: "Action Sheet" +description: "Action Sheet — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/ai-features.mdx b/ui-kit/android/v4/ai-features.mdx index d3a2d72dc..f1be87d65 100644 --- a/ui-kit/android/v4/ai-features.mdx +++ b/ui-kit/android/v4/ai-features.mdx @@ -1,5 +1,6 @@ --- title: "AI" +description: "AI — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/audio-bubble.mdx b/ui-kit/android/v4/audio-bubble.mdx index 0abcc876d..99c19e5de 100644 --- a/ui-kit/android/v4/audio-bubble.mdx +++ b/ui-kit/android/v4/audio-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Audio Bubble" +description: "Audio Bubble — CometChat documentation." --- `CometChatAudioBubble` is the content view for a MediaMessage if the media sent is an audio. diff --git a/ui-kit/android/v4/avatar.mdx b/ui-kit/android/v4/avatar.mdx index 8d4dd0605..1612ba58d 100644 --- a/ui-kit/android/v4/avatar.mdx +++ b/ui-kit/android/v4/avatar.mdx @@ -1,5 +1,6 @@ --- title: "Avatar" +description: "Avatar — CometChat documentation." --- `CometChatAvatar` component displays an image or user's avatar with fallback to the first two letters of the username or group's icon with fallback to the first two letter of the group name. diff --git a/ui-kit/android/v4/badge.mdx b/ui-kit/android/v4/badge.mdx index e2221538e..9cb6e08c1 100644 --- a/ui-kit/android/v4/badge.mdx +++ b/ui-kit/android/v4/badge.mdx @@ -1,5 +1,6 @@ --- title: "Badge" +description: "Badge — CometChat documentation." --- `CometChatBadge` is the custom component which is used to display the unread message count. It can be used in places like CometChatListItem, etc. diff --git a/ui-kit/android/v4/banned-members.mdx b/ui-kit/android/v4/banned-members.mdx index ee0e75d09..6636b6371 100644 --- a/ui-kit/android/v4/banned-members.mdx +++ b/ui-kit/android/v4/banned-members.mdx @@ -1,5 +1,6 @@ --- title: "Banned Members" +description: "Banned Members — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/call-buttons.mdx b/ui-kit/android/v4/call-buttons.mdx index f0644da87..73e11d487 100644 --- a/ui-kit/android/v4/call-buttons.mdx +++ b/ui-kit/android/v4/call-buttons.mdx @@ -1,5 +1,6 @@ --- title: "Call Buttons" +description: "Call Buttons — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/call-features.mdx b/ui-kit/android/v4/call-features.mdx index af09f22bb..f29c6e899 100644 --- a/ui-kit/android/v4/call-features.mdx +++ b/ui-kit/android/v4/call-features.mdx @@ -1,5 +1,6 @@ --- title: "Call" +description: "Call — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/call-log-details.mdx b/ui-kit/android/v4/call-log-details.mdx index 0a107e034..ae441dbb5 100644 --- a/ui-kit/android/v4/call-log-details.mdx +++ b/ui-kit/android/v4/call-log-details.mdx @@ -1,5 +1,6 @@ --- title: "Call Log Details" +description: "Call Log Details — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/call-log-history.mdx b/ui-kit/android/v4/call-log-history.mdx index 779290635..efa757da5 100644 --- a/ui-kit/android/v4/call-log-history.mdx +++ b/ui-kit/android/v4/call-log-history.mdx @@ -1,5 +1,6 @@ --- title: "Call Log History" +description: "Call Log History — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/call-log-participants.mdx b/ui-kit/android/v4/call-log-participants.mdx index d0f984508..91bb3d755 100644 --- a/ui-kit/android/v4/call-log-participants.mdx +++ b/ui-kit/android/v4/call-log-participants.mdx @@ -1,5 +1,6 @@ --- title: "Call Log Participants" +description: "Call Log Participants — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/call-log-recording.mdx b/ui-kit/android/v4/call-log-recording.mdx index 1035baee6..0312d1e24 100644 --- a/ui-kit/android/v4/call-log-recording.mdx +++ b/ui-kit/android/v4/call-log-recording.mdx @@ -1,5 +1,6 @@ --- title: "Call Log Recordings" +description: "Call Log Recordings — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/call-log-with-details.mdx b/ui-kit/android/v4/call-log-with-details.mdx index 13021eeed..19cf18eeb 100644 --- a/ui-kit/android/v4/call-log-with-details.mdx +++ b/ui-kit/android/v4/call-log-with-details.mdx @@ -1,5 +1,6 @@ --- title: "Call Log With Details" +description: "Call Log With Details — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/call-logs.mdx b/ui-kit/android/v4/call-logs.mdx index e4d132b2b..316dd30d6 100644 --- a/ui-kit/android/v4/call-logs.mdx +++ b/ui-kit/android/v4/call-logs.mdx @@ -1,5 +1,6 @@ --- title: "Call Logs" +description: "Call Logs — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/call-overview.mdx b/ui-kit/android/v4/call-overview.mdx index ca7352e4e..0e493ae97 100644 --- a/ui-kit/android/v4/call-overview.mdx +++ b/ui-kit/android/v4/call-overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- ## Overview diff --git a/ui-kit/android/v4/components-overview.mdx b/ui-kit/android/v4/components-overview.mdx index 6c8bf65c2..568d8b468 100644 --- a/ui-kit/android/v4/components-overview.mdx +++ b/ui-kit/android/v4/components-overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- CometChat's **UI Kit** is a set of pre-built UI components that allows you to easily craft an in-app chat with all the essential messaging features. diff --git a/ui-kit/android/v4/contacts.mdx b/ui-kit/android/v4/contacts.mdx index fc928ed5d..63885600b 100644 --- a/ui-kit/android/v4/contacts.mdx +++ b/ui-kit/android/v4/contacts.mdx @@ -1,5 +1,6 @@ --- title: "Contacts" +description: "Contacts — CometChat documentation." --- CometChatContacts is a versatile Android UI component specifically designed to facilitate the display and management of users and groups within chat applications. It streamlines the process of showcasing all app users and available chat groups in a user-friendly interface, making it easier for users to connect and communicate effectively. diff --git a/ui-kit/android/v4/conversations-with-messages.mdx b/ui-kit/android/v4/conversations-with-messages.mdx index 8860a0c48..f714fba38 100644 --- a/ui-kit/android/v4/conversations-with-messages.mdx +++ b/ui-kit/android/v4/conversations-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Conversations With Messages" +description: "Conversations With Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/conversations.mdx b/ui-kit/android/v4/conversations.mdx index ecfea0ed9..4a3b772fc 100644 --- a/ui-kit/android/v4/conversations.mdx +++ b/ui-kit/android/v4/conversations.mdx @@ -1,5 +1,6 @@ --- title: "Conversations" +description: "Conversations — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/core-features.mdx b/ui-kit/android/v4/core-features.mdx index 27e6974fb..7a7ba1fe2 100644 --- a/ui-kit/android/v4/core-features.mdx +++ b/ui-kit/android/v4/core-features.mdx @@ -1,5 +1,6 @@ --- title: "Core" +description: "Core — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/create-group.mdx b/ui-kit/android/v4/create-group.mdx index 9d0465ddf..e03ed0f2a 100644 --- a/ui-kit/android/v4/create-group.mdx +++ b/ui-kit/android/v4/create-group.mdx @@ -1,5 +1,6 @@ --- title: "Create Group" +description: "Create Group — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/date.mdx b/ui-kit/android/v4/date.mdx index 178bfc77e..f72a3f65d 100644 --- a/ui-kit/android/v4/date.mdx +++ b/ui-kit/android/v4/date.mdx @@ -1,5 +1,6 @@ --- title: "Date" +description: "Date — CometChat documentation." --- `CometChatDate` is a widget which is used to show the date and time. You can also customize the appearance of this widget by modifying its logic. diff --git a/ui-kit/android/v4/events.mdx b/ui-kit/android/v4/events.mdx index 8abb08d5c..72be5e96a 100644 --- a/ui-kit/android/v4/events.mdx +++ b/ui-kit/android/v4/events.mdx @@ -1,5 +1,6 @@ --- title: "Events" +description: "Events — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/extensions.mdx b/ui-kit/android/v4/extensions.mdx index 96017abb2..2ff0aade2 100644 --- a/ui-kit/android/v4/extensions.mdx +++ b/ui-kit/android/v4/extensions.mdx @@ -1,5 +1,6 @@ --- title: "Extensions" +description: "Extensions — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/file-bubble.mdx b/ui-kit/android/v4/file-bubble.mdx index c94af9234..9a78c2be7 100644 --- a/ui-kit/android/v4/file-bubble.mdx +++ b/ui-kit/android/v4/file-bubble.mdx @@ -1,5 +1,6 @@ --- title: "File Bubble" +description: "File Bubble — CometChat documentation." --- `CometChatFileBubble` is the content view for a MediaMessage if the media sent is a file. diff --git a/ui-kit/android/v4/getting-started.mdx b/ui-kit/android/v4/getting-started.mdx index 0c35a7374..b09de3c3e 100644 --- a/ui-kit/android/v4/getting-started.mdx +++ b/ui-kit/android/v4/getting-started.mdx @@ -1,5 +1,6 @@ --- title: "Getting Started" +description: "Getting Started — CometChat documentation." --- ## Start your first conversation diff --git a/ui-kit/android/v4/group-add-members.mdx b/ui-kit/android/v4/group-add-members.mdx index 6577830ff..4c5fd501e 100644 --- a/ui-kit/android/v4/group-add-members.mdx +++ b/ui-kit/android/v4/group-add-members.mdx @@ -1,5 +1,6 @@ --- title: "Add Members" +description: "Add Members — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/group-details.mdx b/ui-kit/android/v4/group-details.mdx index 02fc0837e..e1cccdf1d 100644 --- a/ui-kit/android/v4/group-details.mdx +++ b/ui-kit/android/v4/group-details.mdx @@ -1,5 +1,6 @@ --- title: "Group Details" +description: "Group Details — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/group-members.mdx b/ui-kit/android/v4/group-members.mdx index e50336d00..4517c70db 100644 --- a/ui-kit/android/v4/group-members.mdx +++ b/ui-kit/android/v4/group-members.mdx @@ -1,5 +1,6 @@ --- title: "Group Members" +description: "Group Members — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/groups-with-messages.mdx b/ui-kit/android/v4/groups-with-messages.mdx index d26fd509d..a991315e8 100644 --- a/ui-kit/android/v4/groups-with-messages.mdx +++ b/ui-kit/android/v4/groups-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Groups With Messages" +description: "Groups With Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/groups.mdx b/ui-kit/android/v4/groups.mdx index ab143b632..9ed6bf4a5 100644 --- a/ui-kit/android/v4/groups.mdx +++ b/ui-kit/android/v4/groups.mdx @@ -1,5 +1,6 @@ --- title: "Groups" +description: "Groups — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/image-bubble.mdx b/ui-kit/android/v4/image-bubble.mdx index 3506b8b60..3a496a394 100644 --- a/ui-kit/android/v4/image-bubble.mdx +++ b/ui-kit/android/v4/image-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Image Bubble" +description: "Image Bubble — CometChat documentation." --- `CometChatImageBubble` is the content view for a MediaMessage if the media sent is an image. diff --git a/ui-kit/android/v4/incoming-call.mdx b/ui-kit/android/v4/incoming-call.mdx index d25ce57df..ef023b2e5 100644 --- a/ui-kit/android/v4/incoming-call.mdx +++ b/ui-kit/android/v4/incoming-call.mdx @@ -1,5 +1,6 @@ --- title: "Incoming Call" +description: "Incoming Call — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/interactive-action-entity.mdx b/ui-kit/android/v4/interactive-action-entity.mdx index c7ca42e9e..46e031a32 100644 --- a/ui-kit/android/v4/interactive-action-entity.mdx +++ b/ui-kit/android/v4/interactive-action-entity.mdx @@ -1,5 +1,6 @@ --- title: "Action Entity" +description: "Action Entity — CometChat documentation." --- Base class for defining the type of actions that can be performed on `BaseInteractiveElement` diff --git a/ui-kit/android/v4/interactive-button-element.mdx b/ui-kit/android/v4/interactive-button-element.mdx index 7faa7ae0c..f05d2ed0d 100644 --- a/ui-kit/android/v4/interactive-button-element.mdx +++ b/ui-kit/android/v4/interactive-button-element.mdx @@ -1,5 +1,6 @@ --- title: "Button Element" +description: "Button Element — CometChat documentation." --- The `ButtonElement` class, inherited from the `BaseInteractiveElement` class, represents an interactive button element that can be added to a chat interface. It comprises of properties like button text and a flag indicating whether the button should be disabled after interaction. diff --git a/ui-kit/android/v4/interactive-card-bubble.mdx b/ui-kit/android/v4/interactive-card-bubble.mdx index 37875ba4d..b9f174ca2 100644 --- a/ui-kit/android/v4/interactive-card-bubble.mdx +++ b/ui-kit/android/v4/interactive-card-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Card Bubble" +description: "Card Bubble — CometChat documentation." --- The `CometChatCardBubble` component is used to display a card within a chat bubble. The card includes an image, text, and action buttons. It helps to offer action-oriented chat experiences, like booking a flight, ordering food, scheduling a meeting, etc., directly in the chat. diff --git a/ui-kit/android/v4/interactive-card-message.mdx b/ui-kit/android/v4/interactive-card-message.mdx index 5efd2ef39..660f13d4a 100644 --- a/ui-kit/android/v4/interactive-card-message.mdx +++ b/ui-kit/android/v4/interactive-card-message.mdx @@ -1,5 +1,6 @@ --- title: "Card Message" +description: "Card Message — CometChat documentation." --- The `CardMessage` class is used to create a card message for CometChat. It extends the `InteractiveMessage` class from CometChat. diff --git a/ui-kit/android/v4/interactive-checkbox-element.mdx b/ui-kit/android/v4/interactive-checkbox-element.mdx index 42925e2a6..1eb3bacc4 100644 --- a/ui-kit/android/v4/interactive-checkbox-element.mdx +++ b/ui-kit/android/v4/interactive-checkbox-element.mdx @@ -1,5 +1,6 @@ --- title: "Checkbox Element" +description: "Checkbox Element — CometChat documentation." --- The `CheckboxElement` class is utilised to create a single selection input element in a user interface. diff --git a/ui-kit/android/v4/interactive-custom-message.mdx b/ui-kit/android/v4/interactive-custom-message.mdx index 7bcd2c2f9..5877738a6 100644 --- a/ui-kit/android/v4/interactive-custom-message.mdx +++ b/ui-kit/android/v4/interactive-custom-message.mdx @@ -1,5 +1,6 @@ --- title: "Custom Interactive Message" +description: "Custom Interactive Message — CometChat documentation." --- The `CustomInteractiveMessage` class is used to create an interactive message that can be sent via CometChat. It extends the `InteractiveMessage` class from CometChat. diff --git a/ui-kit/android/v4/interactive-date-time-element.mdx b/ui-kit/android/v4/interactive-date-time-element.mdx index 24297ce97..1b1839ea8 100644 --- a/ui-kit/android/v4/interactive-date-time-element.mdx +++ b/ui-kit/android/v4/interactive-date-time-element.mdx @@ -1,5 +1,6 @@ --- title: "DateTimeElement" +description: "DateTimeElement — CometChat documentation." --- The DateTimeElement class is used to create a Date Picker element in a user interface. diff --git a/ui-kit/android/v4/interactive-element-entity.mdx b/ui-kit/android/v4/interactive-element-entity.mdx index c057099be..aa91aa6d2 100644 --- a/ui-kit/android/v4/interactive-element-entity.mdx +++ b/ui-kit/android/v4/interactive-element-entity.mdx @@ -1,5 +1,6 @@ --- title: "Element Entity" +description: "Element Entity — CometChat documentation." --- This is the base class for every element possible in the Interactive message component, defined by cometchat diff --git a/ui-kit/android/v4/interactive-form-bubble.mdx b/ui-kit/android/v4/interactive-form-bubble.mdx index bbe4a791d..d0dd74158 100644 --- a/ui-kit/android/v4/interactive-form-bubble.mdx +++ b/ui-kit/android/v4/interactive-form-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Form Bubble" +description: "Form Bubble — CometChat documentation." --- The `CometChatFormBubble` component is used to render a form within a chat bubble. The form fields are dynamically built based on the data passed in the `message` prop. The form fields can include text inputs, checkboxes, radio buttons, dropdown, labels, single selects, buttons. Once the form is filled out and submitted, the data will be sent to the provided URL or handled by a custom function. diff --git a/ui-kit/android/v4/interactive-form-message.mdx b/ui-kit/android/v4/interactive-form-message.mdx index c4669260b..83f2a81ad 100644 --- a/ui-kit/android/v4/interactive-form-message.mdx +++ b/ui-kit/android/v4/interactive-form-message.mdx @@ -1,5 +1,6 @@ --- title: "Form Message" +description: "Form Message — CometChat documentation." --- The `FormMessage` class is used to create an interactive form message that can be sent via CometChat. It extends the `InteractiveMessage` class from CometChat. diff --git a/ui-kit/android/v4/interactive-label-element.mdx b/ui-kit/android/v4/interactive-label-element.mdx index 68cce289f..f3227b4b6 100644 --- a/ui-kit/android/v4/interactive-label-element.mdx +++ b/ui-kit/android/v4/interactive-label-element.mdx @@ -1,5 +1,6 @@ --- title: "Label Element" +description: "Label Element — CometChat documentation." --- The `LabelElement` class enables the creation of a label element in a user interface. diff --git a/ui-kit/android/v4/interactive-radio-button-element.mdx b/ui-kit/android/v4/interactive-radio-button-element.mdx index 96300235e..a2052fb5d 100644 --- a/ui-kit/android/v4/interactive-radio-button-element.mdx +++ b/ui-kit/android/v4/interactive-radio-button-element.mdx @@ -1,5 +1,6 @@ --- title: "Radio Button Element" +description: "Radio Button Element — CometChat documentation." --- The `RadioButtonElement` class is utilised to create a single selection input element in a user interface. diff --git a/ui-kit/android/v4/interactive-scheduler-message.mdx b/ui-kit/android/v4/interactive-scheduler-message.mdx index 92ebb469d..ba962ed99 100644 --- a/ui-kit/android/v4/interactive-scheduler-message.mdx +++ b/ui-kit/android/v4/interactive-scheduler-message.mdx @@ -1,5 +1,6 @@ --- title: "Scheduler Message" +description: "Scheduler Message — CometChat documentation." --- The `SchedulerMessage` class is used to create an interactive scheduler message that can be sent via CometChat. It extends the [Interactive Messages](/sdk/android/interactive-messages) class from CometChat. diff --git a/ui-kit/android/v4/interactive-single-select-element.mdx b/ui-kit/android/v4/interactive-single-select-element.mdx index 9c82971ac..a8db81bdd 100644 --- a/ui-kit/android/v4/interactive-single-select-element.mdx +++ b/ui-kit/android/v4/interactive-single-select-element.mdx @@ -1,5 +1,6 @@ --- title: "Single Select Element" +description: "Single Select Element — CometChat documentation." --- The `SingleSelectElement` class is utilised to create a single selection input element in a user interface. diff --git a/ui-kit/android/v4/interactive-spinner-element.mdx b/ui-kit/android/v4/interactive-spinner-element.mdx index 680ac35f8..fbbf348a0 100644 --- a/ui-kit/android/v4/interactive-spinner-element.mdx +++ b/ui-kit/android/v4/interactive-spinner-element.mdx @@ -1,5 +1,6 @@ --- title: "Spinner Element" +description: "Spinner Element — CometChat documentation." --- The `SpinnerElement` class is utilised to create a single selection input element in a user interface. diff --git a/ui-kit/android/v4/interactive-textinput-element.mdx b/ui-kit/android/v4/interactive-textinput-element.mdx index 331a3f8d2..5beb483c3 100644 --- a/ui-kit/android/v4/interactive-textinput-element.mdx +++ b/ui-kit/android/v4/interactive-textinput-element.mdx @@ -1,5 +1,6 @@ --- title: "TextInput Element" +description: "TextInput Element — CometChat documentation." --- The `TextInputElement` class is used to create a text input element in a user interface. diff --git a/ui-kit/android/v4/join-protected-group.mdx b/ui-kit/android/v4/join-protected-group.mdx index 8400f16a2..4ca02a22e 100644 --- a/ui-kit/android/v4/join-protected-group.mdx +++ b/ui-kit/android/v4/join-protected-group.mdx @@ -1,5 +1,6 @@ --- title: "Join Protected Group" +description: "Join Protected Group — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/link/changelog.mdx b/ui-kit/android/v4/link/changelog.mdx index a6ee25e91..09d01a90c 100644 --- a/ui-kit/android/v4/link/changelog.mdx +++ b/ui-kit/android/v4/link/changelog.mdx @@ -1,4 +1,5 @@ --- title: "Changelog" url: "https://github.com/cometchat/cometchat-uikit-android-legacy/releases" +description: "Navigate to Changelog documentation." --- \ No newline at end of file diff --git a/ui-kit/android/v4/link/java.mdx b/ui-kit/android/v4/link/java.mdx index 523156f7e..bf5b90957 100644 --- a/ui-kit/android/v4/link/java.mdx +++ b/ui-kit/android/v4/link/java.mdx @@ -1,4 +1,5 @@ --- title: "Java Sample App" url: "https://github.com/cometchat/cometchat-sample-app-android-java" +description: "Navigate to Java Sample App documentation." --- \ No newline at end of file diff --git a/ui-kit/android/v4/link/kotlin.mdx b/ui-kit/android/v4/link/kotlin.mdx index 630f0e24b..221a880b8 100644 --- a/ui-kit/android/v4/link/kotlin.mdx +++ b/ui-kit/android/v4/link/kotlin.mdx @@ -1,4 +1,5 @@ --- title: "Kotlin Sample App" url: "https://github.com/cometchat/cometchat-uikit-android/tree/v4" +description: "Navigate to Kotlin Sample App documentation." --- \ No newline at end of file diff --git a/ui-kit/android/v4/list-base.mdx b/ui-kit/android/v4/list-base.mdx index 3db1ac76f..beabe3c5f 100644 --- a/ui-kit/android/v4/list-base.mdx +++ b/ui-kit/android/v4/list-base.mdx @@ -1,5 +1,6 @@ --- title: "List Base" +description: "List Base — CometChat documentation." --- `CometChatListBase` is a custom UI Component which displays common components used across `Conversations`, `Groups` & `Users`. It serves as the base component from which these components are inherited. diff --git a/ui-kit/android/v4/list-item.mdx b/ui-kit/android/v4/list-item.mdx index a6e70a4d8..3de118d80 100644 --- a/ui-kit/android/v4/list-item.mdx +++ b/ui-kit/android/v4/list-item.mdx @@ -1,5 +1,6 @@ --- title: "List Item" +description: "List Item — CometChat documentation." --- `CometChatListItem` contains one to three lines of text optionally flanked by icons or other widgets, such as `CometChatAvatar`, `CometChatDate` or `Text`. `CometChatAvatar` will always be shown in the leading view therefore either one among the `avatarURL` or `avatarName` must be provided. The icons (or other widgets) for the list item are defined with the `tailView` parameter. The first line of text is optional and is specified with `title`. The value of subtitle is also optional, will occupy the space allocated for an additional line of text or some other widget. diff --git a/ui-kit/android/v4/localize.mdx b/ui-kit/android/v4/localize.mdx index d3e062a43..456915e04 100644 --- a/ui-kit/android/v4/localize.mdx +++ b/ui-kit/android/v4/localize.mdx @@ -1,5 +1,6 @@ --- title: "Localize" +description: "Localize — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/media-recorder.mdx b/ui-kit/android/v4/media-recorder.mdx index fbeb2b810..007b2052d 100644 --- a/ui-kit/android/v4/media-recorder.mdx +++ b/ui-kit/android/v4/media-recorder.mdx @@ -1,5 +1,6 @@ --- title: "Media Recorder" +description: "Media Recorder — CometChat documentation." --- The `CometChatMediaRecorder` is a custom Android component that provides a user interface for recording audio and playing back the recorded audio. It is designed to be easily integrated into chat applications or other projects where audio messaging is required. diff --git a/ui-kit/android/v4/mentions-formatter-guide.mdx b/ui-kit/android/v4/mentions-formatter-guide.mdx index 3abcb5b71..ebf5b9cec 100644 --- a/ui-kit/android/v4/mentions-formatter-guide.mdx +++ b/ui-kit/android/v4/mentions-formatter-guide.mdx @@ -1,5 +1,6 @@ --- title: "Mentions Formatter" +description: "Mentions Formatter — CometChat integration guide." --- ## Overview diff --git a/ui-kit/android/v4/message-bubble.mdx b/ui-kit/android/v4/message-bubble.mdx index 8d08f3f2f..9fb65c2b9 100644 --- a/ui-kit/android/v4/message-bubble.mdx +++ b/ui-kit/android/v4/message-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Message Bubble" +description: "Message Bubble — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/message-composer.mdx b/ui-kit/android/v4/message-composer.mdx index 5e7dfcbe3..def1cad63 100644 --- a/ui-kit/android/v4/message-composer.mdx +++ b/ui-kit/android/v4/message-composer.mdx @@ -1,5 +1,6 @@ --- title: "Message Composer" +description: "Message Composer — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/message-header.mdx b/ui-kit/android/v4/message-header.mdx index 7a69b9641..c890f3753 100644 --- a/ui-kit/android/v4/message-header.mdx +++ b/ui-kit/android/v4/message-header.mdx @@ -1,5 +1,6 @@ --- title: "Message Header" +description: "Message Header — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/message-information.mdx b/ui-kit/android/v4/message-information.mdx index 2f5b217c0..d9b5614fc 100644 --- a/ui-kit/android/v4/message-information.mdx +++ b/ui-kit/android/v4/message-information.mdx @@ -1,5 +1,6 @@ --- title: "Message Information" +description: "Message Information — CometChat documentation." --- The MessageInformation is a [Component](/ui-kit/android/v4/components-overview#components) designed to display message-related information, such as delivery and read receipts. It serves as an integral part of the CometChat UI UI Kit, extending the [ListBase](/ui-kit/android/v4/list-base) class, which provides the underlying infrastructure for CometChat UI components. With its rich set of methods and properties, developers can easily customize and tailor the appearance and behavior of the message information view to suit the specific requirements of their application. diff --git a/ui-kit/android/v4/message-input.mdx b/ui-kit/android/v4/message-input.mdx index 82b55af62..fe868b9a0 100644 --- a/ui-kit/android/v4/message-input.mdx +++ b/ui-kit/android/v4/message-input.mdx @@ -1,5 +1,6 @@ --- title: "Message Input" +description: "Message Input — CometChat documentation." --- `CometChatMessageInput` is a component that provides a skeleton layout for contents of like `TextField`, auxiliary options, primary button view and attachment options. diff --git a/ui-kit/android/v4/message-list.mdx b/ui-kit/android/v4/message-list.mdx index 2fb2ca8f5..0e89ea6d3 100644 --- a/ui-kit/android/v4/message-list.mdx +++ b/ui-kit/android/v4/message-list.mdx @@ -1,5 +1,6 @@ --- title: "Message List" +description: "Message List — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/message-template.mdx b/ui-kit/android/v4/message-template.mdx index 93f270aaa..b64b15814 100644 --- a/ui-kit/android/v4/message-template.mdx +++ b/ui-kit/android/v4/message-template.mdx @@ -1,5 +1,6 @@ --- title: "Message Template" +description: "Message Template — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/messages.mdx b/ui-kit/android/v4/messages.mdx index 31b939c22..1f1dc99a1 100644 --- a/ui-kit/android/v4/messages.mdx +++ b/ui-kit/android/v4/messages.mdx @@ -1,5 +1,6 @@ --- title: "Messages" +description: "Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/methods.mdx b/ui-kit/android/v4/methods.mdx index 3d5d00d52..b415ae243 100644 --- a/ui-kit/android/v4/methods.mdx +++ b/ui-kit/android/v4/methods.mdx @@ -1,5 +1,6 @@ --- title: "Methods" +description: "Methods — CometChat documentation." --- ## Overview @@ -174,9 +175,9 @@ CometChatUIKit.login(UID, object : CometChat.CallbackListener() { This advanced authentication procedure does not use the Auth Key directly in your client code thus ensuring safety. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `loginWithAuthToken()` method. diff --git a/ui-kit/android/v4/multi-tab-chat-ui-guide.mdx b/ui-kit/android/v4/multi-tab-chat-ui-guide.mdx index 0a471923d..e377711dc 100644 --- a/ui-kit/android/v4/multi-tab-chat-ui-guide.mdx +++ b/ui-kit/android/v4/multi-tab-chat-ui-guide.mdx @@ -1,5 +1,6 @@ --- title: "Multi Tab Chat UI Guide" +description: "Multi Tab Chat UI Guide — CometChat integration guide." --- In this guide you will learn how to create a tabbed layout component using [bottom navigation](https://m2.material.io/components/bottom-navigation#using-tabs) to use widgets like [CometChatUsersWithMessages](/ui-kit/android/v4/users-with-messages), [CometChatGroupsWithMessages](/ui-kit/android/v4/groups-with-messages) and [CometChatConversationsWithMessages](/ui-kit/android/v4/users-with-messages) simultaneously. diff --git a/ui-kit/android/v4/ongoing-call.mdx b/ui-kit/android/v4/ongoing-call.mdx index 6a9550eb7..95d008c47 100644 --- a/ui-kit/android/v4/ongoing-call.mdx +++ b/ui-kit/android/v4/ongoing-call.mdx @@ -1,5 +1,6 @@ --- title: "Ongoing Call" +description: "Ongoing Call — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/outgoing-call.mdx b/ui-kit/android/v4/outgoing-call.mdx index 3eebb77fe..2192b9840 100644 --- a/ui-kit/android/v4/outgoing-call.mdx +++ b/ui-kit/android/v4/outgoing-call.mdx @@ -1,5 +1,6 @@ --- title: "Outgoing Call" +description: "Outgoing Call — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/overview.mdx b/ui-kit/android/v4/overview.mdx index 25c5e7a82..ccae860a1 100644 --- a/ui-kit/android/v4/overview.mdx +++ b/ui-kit/android/v4/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- With CometChat's UI Kit for Android, you can effortlessly build a chat app equipped with all the essential messaging features, along with customizable options tailored to your application requirements. This UI Kit comprises prebuilt UI components organized into smaller modules and components, each configurable to meet your specific needs. diff --git a/ui-kit/android/v4/receipt.mdx b/ui-kit/android/v4/receipt.mdx index ffa3f2ee0..8d2fe69d9 100644 --- a/ui-kit/android/v4/receipt.mdx +++ b/ui-kit/android/v4/receipt.mdx @@ -1,5 +1,6 @@ --- title: "Receipt" +description: "Receipt — CometChat documentation." --- The CometChatReceipt component renders the receipts such as sending, sent, delivered, read and error state indicator of a message. diff --git a/ui-kit/android/v4/shortcut-formatter-guide.mdx b/ui-kit/android/v4/shortcut-formatter-guide.mdx index ab6b7c715..d0ee4c8b4 100644 --- a/ui-kit/android/v4/shortcut-formatter-guide.mdx +++ b/ui-kit/android/v4/shortcut-formatter-guide.mdx @@ -1,5 +1,6 @@ --- title: "ShortCut Formatter" +description: "ShortCut Formatter — CometChat integration guide." --- ## Introduction diff --git a/ui-kit/android/v4/sound-manager.mdx b/ui-kit/android/v4/sound-manager.mdx index c57d4466b..a563c5833 100644 --- a/ui-kit/android/v4/sound-manager.mdx +++ b/ui-kit/android/v4/sound-manager.mdx @@ -1,5 +1,6 @@ --- title: "Sound Manager" +description: "Sound Manager — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/status-indicator.mdx b/ui-kit/android/v4/status-indicator.mdx index c8de2694a..9d2f592a5 100644 --- a/ui-kit/android/v4/status-indicator.mdx +++ b/ui-kit/android/v4/status-indicator.mdx @@ -1,5 +1,6 @@ --- title: "Status Indicator" +description: "Status Indicator — CometChat documentation." --- `CometChatStatusIndicator` is a customized component which indicates whether user is online or offline. You can customize the `borderColor`, `borderSize`, and `backgroundColor` of this component. diff --git a/ui-kit/android/v4/text-bubble.mdx b/ui-kit/android/v4/text-bubble.mdx index 2dc76e29a..afa2d3ddc 100644 --- a/ui-kit/android/v4/text-bubble.mdx +++ b/ui-kit/android/v4/text-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Text Bubble" +description: "Text Bubble — CometChat documentation." --- `CometChatTextBubble` is the content view shown for TextMessage. diff --git a/ui-kit/android/v4/theme.mdx b/ui-kit/android/v4/theme.mdx index c07712687..d9f560ae5 100644 --- a/ui-kit/android/v4/theme.mdx +++ b/ui-kit/android/v4/theme.mdx @@ -1,5 +1,6 @@ --- title: "Theme" +description: "Theme — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/threaded-messages.mdx b/ui-kit/android/v4/threaded-messages.mdx index b1089495b..92b4d253e 100644 --- a/ui-kit/android/v4/threaded-messages.mdx +++ b/ui-kit/android/v4/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/transfer-ownership.mdx b/ui-kit/android/v4/transfer-ownership.mdx index b9146055e..5c4a34bf0 100644 --- a/ui-kit/android/v4/transfer-ownership.mdx +++ b/ui-kit/android/v4/transfer-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Ownership" +description: "Transfer Ownership — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/users-with-messages.mdx b/ui-kit/android/v4/users-with-messages.mdx index f37b33c7f..59dd3d63f 100644 --- a/ui-kit/android/v4/users-with-messages.mdx +++ b/ui-kit/android/v4/users-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Users With Messages" +description: "Users With Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/users.mdx b/ui-kit/android/v4/users.mdx index 72678421d..e38f11717 100644 --- a/ui-kit/android/v4/users.mdx +++ b/ui-kit/android/v4/users.mdx @@ -1,5 +1,6 @@ --- title: "Users" +description: "Users — CometChat documentation." --- ## Overview diff --git a/ui-kit/android/v4/video-bubble.mdx b/ui-kit/android/v4/video-bubble.mdx index 2b2b117ec..08d7a4925 100644 --- a/ui-kit/android/v4/video-bubble.mdx +++ b/ui-kit/android/v4/video-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Video Bubble" +description: "Video Bubble — CometChat documentation." --- `CometChatVideoBubble` is the content view for a MediaMessage if the media sent is a video. diff --git a/ui-kit/angular/2.0/javascript-2-0-overview.mdx b/ui-kit/angular/2.0/javascript-2-0-overview.mdx index 9580ee04e..edf236ad5 100644 --- a/ui-kit/angular/2.0/javascript-2-0-overview.mdx +++ b/ui-kit/angular/2.0/javascript-2-0-overview.mdx @@ -1,4 +1,5 @@ --- title: "JavaScript SDK" url: "/sdk/javascript/2.0/overview" +description: "Navigate to JavaScript SDK documentation." --- \ No newline at end of file diff --git a/ui-kit/angular/2.0/key-concepts.mdx b/ui-kit/angular/2.0/key-concepts.mdx index b8cfef722..479cd16ff 100644 --- a/ui-kit/angular/2.0/key-concepts.mdx +++ b/ui-kit/angular/2.0/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- ### CometChat Dashboard diff --git a/ui-kit/angular/2.0/link/sdk.mdx b/ui-kit/angular/2.0/link/sdk.mdx index ee6f4494f..84e471eca 100644 --- a/ui-kit/angular/2.0/link/sdk.mdx +++ b/ui-kit/angular/2.0/link/sdk.mdx @@ -1,4 +1,5 @@ --- title: "Javascript SDK" url: "/sdk/javascript/2.0/overview" +description: "Navigate to Javascript SDK documentation." --- \ No newline at end of file diff --git a/ui-kit/angular/2.0/message-structure-and-hierarchy.mdx b/ui-kit/angular/2.0/message-structure-and-hierarchy.mdx index 9b471b90a..2409f2dd4 100644 --- a/ui-kit/angular/2.0/message-structure-and-hierarchy.mdx +++ b/ui-kit/angular/2.0/message-structure-and-hierarchy.mdx @@ -1,5 +1,6 @@ --- title: "Message Structure And Hierarchy" +description: "Message Structure And Hierarchy — CometChat documentation." --- The below diagram helps you better understand the various message categories and types that a CometChat message can belong to. diff --git a/ui-kit/angular/2.0/overview.mdx b/ui-kit/angular/2.0/overview.mdx index ebbd50f66..68713dd93 100644 --- a/ui-kit/angular/2.0/overview.mdx +++ b/ui-kit/angular/2.0/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- The CometChat Angular UI Kit is developed to keep developers in mind and aims to reduce development efforts significantly. diff --git a/ui-kit/angular/2.0/ui-components.mdx b/ui-kit/angular/2.0/ui-components.mdx index f6b2ae1d2..edaa624b4 100644 --- a/ui-kit/angular/2.0/ui-components.mdx +++ b/ui-kit/angular/2.0/ui-components.mdx @@ -1,5 +1,6 @@ --- title: "UI Components" +description: "UI Components — CometChat documentation." --- **UI Components** are building blocks of the UI Kit. **UI Components** are a set of custom classes specially designed to build a rich chat app. There are different UI Components available in the UI Kit Library. diff --git a/ui-kit/angular/3.0/javascript-3-0-overview.mdx b/ui-kit/angular/3.0/javascript-3-0-overview.mdx index 22b6579f4..3c2e8653d 100644 --- a/ui-kit/angular/3.0/javascript-3-0-overview.mdx +++ b/ui-kit/angular/3.0/javascript-3-0-overview.mdx @@ -1,4 +1,5 @@ --- title: "JavaScript SDK" url: "/sdk/javascript/3.0/overview" +description: "Navigate to JavaScript SDK documentation." --- \ No newline at end of file diff --git a/ui-kit/angular/3.0/key-concepts.mdx b/ui-kit/angular/3.0/key-concepts.mdx index e290d2e68..d74b76bd4 100644 --- a/ui-kit/angular/3.0/key-concepts.mdx +++ b/ui-kit/angular/3.0/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- ### CometChat Dashboard diff --git a/ui-kit/angular/3.0/link/extension.mdx b/ui-kit/angular/3.0/link/extension.mdx index 29c1774bd..d7eadbbe5 100644 --- a/ui-kit/angular/3.0/link/extension.mdx +++ b/ui-kit/angular/3.0/link/extension.mdx @@ -1,4 +1,5 @@ --- title: "Extensions" url: "/fundamentals/extensions-overview" +description: "Navigate to Extensions documentation." --- \ No newline at end of file diff --git a/ui-kit/angular/3.0/link/version.mdx b/ui-kit/angular/3.0/link/version.mdx index e53123d0b..e0a230ef0 100644 --- a/ui-kit/angular/3.0/link/version.mdx +++ b/ui-kit/angular/3.0/link/version.mdx @@ -1,4 +1,5 @@ --- title: "Version 4" url: "/ui-kit/angular/overview" +description: "Navigate to Version 4 documentation." --- \ No newline at end of file diff --git a/ui-kit/angular/3.0/overview.mdx b/ui-kit/angular/3.0/overview.mdx index beb26bbe5..8ad77e54f 100644 --- a/ui-kit/angular/3.0/overview.mdx +++ b/ui-kit/angular/3.0/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/ui-kit/angular/3.0/ui-components.mdx b/ui-kit/angular/3.0/ui-components.mdx index 1555933af..c96a13dd8 100644 --- a/ui-kit/angular/3.0/ui-components.mdx +++ b/ui-kit/angular/3.0/ui-components.mdx @@ -1,5 +1,6 @@ --- title: "UI Components" +description: "UI Components — CometChat documentation." --- **UI Components** are building blocks of the UI Kit. **UI Components** are a set of custom classes specially designed to build a rich chat app. There are different UI Components available in the UI Kit Library. diff --git a/ui-kit/angular/action-sheet.mdx b/ui-kit/angular/action-sheet.mdx index a33ee5409..df9169852 100644 --- a/ui-kit/angular/action-sheet.mdx +++ b/ui-kit/angular/action-sheet.mdx @@ -1,5 +1,6 @@ --- title: "Action Sheet" +description: "Action Sheet — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/ai-features.mdx b/ui-kit/angular/ai-features.mdx index 98fe10d99..ed1f2838b 100644 --- a/ui-kit/angular/ai-features.mdx +++ b/ui-kit/angular/ai-features.mdx @@ -1,5 +1,6 @@ --- title: "AI" +description: "AI — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/audio-bubble.mdx b/ui-kit/angular/audio-bubble.mdx index c2f2d054b..c6da51739 100644 --- a/ui-kit/angular/audio-bubble.mdx +++ b/ui-kit/angular/audio-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Audio Bubble" +description: "Audio Bubble — CometChat documentation." --- `CometChatAudioBubble` is the content view for a MediaMessage if the media sent is an audio. diff --git a/ui-kit/angular/avatar.mdx b/ui-kit/angular/avatar.mdx index 7244a15c3..5a8e1b112 100644 --- a/ui-kit/angular/avatar.mdx +++ b/ui-kit/angular/avatar.mdx @@ -1,5 +1,6 @@ --- title: "Avatar" +description: "Avatar — CometChat documentation." --- `CometChatAvatar` component displays an image or user's avatar with fallback to the first two letters of the username or group's icon with fallback to the first two letter of the group name. diff --git a/ui-kit/angular/backdrop.mdx b/ui-kit/angular/backdrop.mdx index a4a1c8222..516f4f21a 100644 --- a/ui-kit/angular/backdrop.mdx +++ b/ui-kit/angular/backdrop.mdx @@ -1,5 +1,6 @@ --- title: "Backdrop" +description: "Backdrop — CometChat documentation." --- This element represents the background against which other elements are presented. diff --git a/ui-kit/angular/badge.mdx b/ui-kit/angular/badge.mdx index 07358aac4..80bcca42b 100644 --- a/ui-kit/angular/badge.mdx +++ b/ui-kit/angular/badge.mdx @@ -1,5 +1,6 @@ --- title: "Badge" +description: "Badge — CometChat documentation." --- `CometChatBadge` is the custom component which is used to display the unread message count. It can be used in places like CometChatListItem, etc. diff --git a/ui-kit/angular/button-group.mdx b/ui-kit/angular/button-group.mdx index 70fc3c1f4..674b87f59 100644 --- a/ui-kit/angular/button-group.mdx +++ b/ui-kit/angular/button-group.mdx @@ -1,5 +1,6 @@ --- title: "Button Group" +description: "Button Group — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/call-buttons.mdx b/ui-kit/angular/call-buttons.mdx index 10f9534da..bf59ec403 100644 --- a/ui-kit/angular/call-buttons.mdx +++ b/ui-kit/angular/call-buttons.mdx @@ -1,5 +1,6 @@ --- title: "Call Buttons" +description: "Call Buttons — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/call-features.mdx b/ui-kit/angular/call-features.mdx index d92c48634..4c2cfe4e5 100644 --- a/ui-kit/angular/call-features.mdx +++ b/ui-kit/angular/call-features.mdx @@ -1,5 +1,6 @@ --- title: "Call" +description: "Call — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/call-log-details.mdx b/ui-kit/angular/call-log-details.mdx index d2c6aa3c6..e1b66e181 100644 --- a/ui-kit/angular/call-log-details.mdx +++ b/ui-kit/angular/call-log-details.mdx @@ -1,5 +1,6 @@ --- title: "Call Log Details" +description: "Call Log Details — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/call-log-history.mdx b/ui-kit/angular/call-log-history.mdx index a2b2db78d..0a220b998 100644 --- a/ui-kit/angular/call-log-history.mdx +++ b/ui-kit/angular/call-log-history.mdx @@ -1,5 +1,6 @@ --- title: "Call Log History" +description: "Call Log History — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/call-log-participants.mdx b/ui-kit/angular/call-log-participants.mdx index 800cbfc65..587ebc905 100644 --- a/ui-kit/angular/call-log-participants.mdx +++ b/ui-kit/angular/call-log-participants.mdx @@ -1,5 +1,6 @@ --- title: "Call Log Participants" +description: "Call Log Participants — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/call-log-recording.mdx b/ui-kit/angular/call-log-recording.mdx index 60305c63c..2db55d48f 100644 --- a/ui-kit/angular/call-log-recording.mdx +++ b/ui-kit/angular/call-log-recording.mdx @@ -1,5 +1,6 @@ --- title: "Call Log Recordings" +description: "Call Log Recordings — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/call-log-with-details.mdx b/ui-kit/angular/call-log-with-details.mdx index 08b6cdfb6..278c36ea0 100644 --- a/ui-kit/angular/call-log-with-details.mdx +++ b/ui-kit/angular/call-log-with-details.mdx @@ -1,5 +1,6 @@ --- title: "Call Log With Details" +description: "Call Log With Details — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/call-logs.mdx b/ui-kit/angular/call-logs.mdx index 0faf75039..21d0a23a3 100644 --- a/ui-kit/angular/call-logs.mdx +++ b/ui-kit/angular/call-logs.mdx @@ -1,5 +1,6 @@ --- title: "Call Logs" +description: "Call Logs — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/call-overview.mdx b/ui-kit/angular/call-overview.mdx index e06825018..51154114f 100644 --- a/ui-kit/angular/call-overview.mdx +++ b/ui-kit/angular/call-overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- CometChat's Calls feature is a sophisticated function that facilitates the smooth integration of one-on-one and group audio-visual calling capabilities into your application, enhancing user interactivity and experience. This advanced feature is implemented effectively and efficiently in the angular UI Kit. diff --git a/ui-kit/angular/checkbox.mdx b/ui-kit/angular/checkbox.mdx index 1d84259f5..c4f196f14 100644 --- a/ui-kit/angular/checkbox.mdx +++ b/ui-kit/angular/checkbox.mdx @@ -1,5 +1,6 @@ --- title: "Checkbox" +description: "Checkbox — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/cometchat-quick-view.mdx b/ui-kit/angular/cometchat-quick-view.mdx index 967d5954e..5bc396c4b 100644 --- a/ui-kit/angular/cometchat-quick-view.mdx +++ b/ui-kit/angular/cometchat-quick-view.mdx @@ -1,5 +1,6 @@ --- title: "Quick View" +description: "Quick View — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/components-overview.mdx b/ui-kit/angular/components-overview.mdx index 6c8bf65c2..568d8b468 100644 --- a/ui-kit/angular/components-overview.mdx +++ b/ui-kit/angular/components-overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- CometChat's **UI Kit** is a set of pre-built UI components that allows you to easily craft an in-app chat with all the essential messaging features. diff --git a/ui-kit/angular/confirm-dialog.mdx b/ui-kit/angular/confirm-dialog.mdx index f08af1e7e..f23a1f048 100644 --- a/ui-kit/angular/confirm-dialog.mdx +++ b/ui-kit/angular/confirm-dialog.mdx @@ -1,5 +1,6 @@ --- title: "Confirm Dialog" +description: "Confirm Dialog — CometChat documentation." --- ## OverView diff --git a/ui-kit/angular/contacts.mdx b/ui-kit/angular/contacts.mdx index 65d32c201..e696bf818 100644 --- a/ui-kit/angular/contacts.mdx +++ b/ui-kit/angular/contacts.mdx @@ -1,5 +1,6 @@ --- title: "Contacts" +description: "Contacts — CometChat documentation." --- CometChatContacts is a versatile Angular UI component specifically designed to facilitate the display and management of users and groups within chat applications. It streamlines the process of showcasing all app users and available chat groups in a user-friendly interface, making it easier for users to connect and communicate effectively. diff --git a/ui-kit/angular/conversations-with-messages.mdx b/ui-kit/angular/conversations-with-messages.mdx index a92ae19a9..f26176b8e 100644 --- a/ui-kit/angular/conversations-with-messages.mdx +++ b/ui-kit/angular/conversations-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Conversations With Messages" +description: "Conversations With Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/conversations.mdx b/ui-kit/angular/conversations.mdx index a524c09d9..451cd2520 100644 --- a/ui-kit/angular/conversations.mdx +++ b/ui-kit/angular/conversations.mdx @@ -1,5 +1,6 @@ --- title: "Conversations" +description: "Conversations — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/core-features.mdx b/ui-kit/angular/core-features.mdx index a45eb73e1..88aa7691e 100644 --- a/ui-kit/angular/core-features.mdx +++ b/ui-kit/angular/core-features.mdx @@ -1,5 +1,6 @@ --- title: "Core" +description: "Core — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/create-group.mdx b/ui-kit/angular/create-group.mdx index e636ed778..6a3e85ce8 100644 --- a/ui-kit/angular/create-group.mdx +++ b/ui-kit/angular/create-group.mdx @@ -1,5 +1,6 @@ --- title: "Create Group" +description: "Create Group — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/custom-message-guide.mdx b/ui-kit/angular/custom-message-guide.mdx index 27bfe77fe..d78755fb1 100644 --- a/ui-kit/angular/custom-message-guide.mdx +++ b/ui-kit/angular/custom-message-guide.mdx @@ -1,5 +1,6 @@ --- title: "Custom Message" +description: "Custom Message — CometChat integration guide." --- In this guide, we will demonstrate how to add a custom message with a custom-built message bubble to the [Message List](/ui-kit/angular/message-list) component. diff --git a/ui-kit/angular/custom-text-formatter-guide.mdx b/ui-kit/angular/custom-text-formatter-guide.mdx index 14706d0a8..25705c3b2 100644 --- a/ui-kit/angular/custom-text-formatter-guide.mdx +++ b/ui-kit/angular/custom-text-formatter-guide.mdx @@ -1,5 +1,6 @@ --- title: "Custom Text Formatter" +description: "Custom Text Formatter — CometChat integration guide." --- ## Overview diff --git a/ui-kit/angular/date.mdx b/ui-kit/angular/date.mdx index a7cf3254d..09c7aa149 100644 --- a/ui-kit/angular/date.mdx +++ b/ui-kit/angular/date.mdx @@ -1,5 +1,6 @@ --- title: "Date" +description: "Date — CometChat documentation." --- `CometChatDate` is a widget which is used to show the date and time. You can also customize the appearance of this widget by modifying its logic. diff --git a/ui-kit/angular/document-bubble.mdx b/ui-kit/angular/document-bubble.mdx index 0aba3b349..ae4195936 100644 --- a/ui-kit/angular/document-bubble.mdx +++ b/ui-kit/angular/document-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Document Bubble" +description: "Document Bubble — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/dropdown.mdx b/ui-kit/angular/dropdown.mdx index 475186c09..794b826be 100644 --- a/ui-kit/angular/dropdown.mdx +++ b/ui-kit/angular/dropdown.mdx @@ -1,5 +1,6 @@ --- title: "Dropdown" +description: "Dropdown — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/emoji-keyboard.mdx b/ui-kit/angular/emoji-keyboard.mdx index 95e480060..7f6b55d23 100644 --- a/ui-kit/angular/emoji-keyboard.mdx +++ b/ui-kit/angular/emoji-keyboard.mdx @@ -1,5 +1,6 @@ --- title: "Emoji Keyboard" +description: "Emoji Keyboard — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/events.mdx b/ui-kit/angular/events.mdx index 011a99964..636e6ac86 100644 --- a/ui-kit/angular/events.mdx +++ b/ui-kit/angular/events.mdx @@ -1,5 +1,6 @@ --- title: "Events" +description: "Events — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/extensions.mdx b/ui-kit/angular/extensions.mdx index 89c89485b..e7cd18089 100644 --- a/ui-kit/angular/extensions.mdx +++ b/ui-kit/angular/extensions.mdx @@ -1,5 +1,6 @@ --- title: "Extensions" +description: "Extensions — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/file-bubble.mdx b/ui-kit/angular/file-bubble.mdx index e1d6dc4a6..cbb4153e2 100644 --- a/ui-kit/angular/file-bubble.mdx +++ b/ui-kit/angular/file-bubble.mdx @@ -1,5 +1,6 @@ --- title: "File Bubble" +description: "File Bubble — CometChat documentation." --- `CometChatFileBubble` is the content view for a MediaMessage if the media sent is a file. diff --git a/ui-kit/angular/getting-started.mdx b/ui-kit/angular/getting-started.mdx index 6f045dc18..09eb326d2 100644 --- a/ui-kit/angular/getting-started.mdx +++ b/ui-kit/angular/getting-started.mdx @@ -1,5 +1,6 @@ --- title: "Getting Started" +description: "Getting Started — CometChat documentation." --- ## Start your first conversation diff --git a/ui-kit/angular/group-add-members.mdx b/ui-kit/angular/group-add-members.mdx index 7f3f24e77..b0048b7df 100644 --- a/ui-kit/angular/group-add-members.mdx +++ b/ui-kit/angular/group-add-members.mdx @@ -1,5 +1,6 @@ --- title: "Add Members" +description: "Add Members — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/group-banned-members.mdx b/ui-kit/angular/group-banned-members.mdx index f075839b4..68b97e5d5 100644 --- a/ui-kit/angular/group-banned-members.mdx +++ b/ui-kit/angular/group-banned-members.mdx @@ -1,5 +1,6 @@ --- title: "Banned Members" +description: "Banned Members — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/group-details.mdx b/ui-kit/angular/group-details.mdx index 6f7fe839c..0db6454e3 100644 --- a/ui-kit/angular/group-details.mdx +++ b/ui-kit/angular/group-details.mdx @@ -1,5 +1,6 @@ --- title: "Group Details" +description: "Group Details — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/group-members.mdx b/ui-kit/angular/group-members.mdx index 6d8cbac94..0e7e515fe 100644 --- a/ui-kit/angular/group-members.mdx +++ b/ui-kit/angular/group-members.mdx @@ -1,5 +1,6 @@ --- title: "Group Members" +description: "Group Members — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/group-transfer-ownership.mdx b/ui-kit/angular/group-transfer-ownership.mdx index 97bdd945f..7638a8104 100644 --- a/ui-kit/angular/group-transfer-ownership.mdx +++ b/ui-kit/angular/group-transfer-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Ownership" +description: "Transfer Ownership — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/groups-with-messages.mdx b/ui-kit/angular/groups-with-messages.mdx index 7a7bfa761..106e5fb9c 100644 --- a/ui-kit/angular/groups-with-messages.mdx +++ b/ui-kit/angular/groups-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Groups With Messages" +description: "Groups With Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/groups.mdx b/ui-kit/angular/groups.mdx index 3dc4d96b5..138801988 100644 --- a/ui-kit/angular/groups.mdx +++ b/ui-kit/angular/groups.mdx @@ -1,5 +1,6 @@ --- title: "Groups" +description: "Groups — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/icon-button.mdx b/ui-kit/angular/icon-button.mdx index d6258c2db..07bf039cf 100644 --- a/ui-kit/angular/icon-button.mdx +++ b/ui-kit/angular/icon-button.mdx @@ -1,5 +1,6 @@ --- title: "Icon Button" +description: "Icon Button — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/icon.mdx b/ui-kit/angular/icon.mdx index 5c2f82ddc..a94323ab3 100644 --- a/ui-kit/angular/icon.mdx +++ b/ui-kit/angular/icon.mdx @@ -1,5 +1,6 @@ --- title: "Icon" +description: "Icon — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/image-bubble.mdx b/ui-kit/angular/image-bubble.mdx index 20017ba66..c5b590557 100644 --- a/ui-kit/angular/image-bubble.mdx +++ b/ui-kit/angular/image-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Image Bubble" +description: "Image Bubble — CometChat documentation." --- `CometChatImageBubble` is the content view for a MediaMessage if the media sent is an image. diff --git a/ui-kit/angular/incoming-call.mdx b/ui-kit/angular/incoming-call.mdx index 02ce75293..6b887c604 100644 --- a/ui-kit/angular/incoming-call.mdx +++ b/ui-kit/angular/incoming-call.mdx @@ -1,5 +1,6 @@ --- title: "Incoming Call" +description: "Incoming Call — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/input.mdx b/ui-kit/angular/input.mdx index 3406afbb2..d3514b77c 100644 --- a/ui-kit/angular/input.mdx +++ b/ui-kit/angular/input.mdx @@ -1,5 +1,6 @@ --- title: "Input" +description: "Input — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/interactive-action-entity.mdx b/ui-kit/angular/interactive-action-entity.mdx index 86c655af5..b5184de8f 100644 --- a/ui-kit/angular/interactive-action-entity.mdx +++ b/ui-kit/angular/interactive-action-entity.mdx @@ -1,5 +1,6 @@ --- title: "Action Entity" +description: "Action Entity — CometChat documentation." --- Base class for defining the type of actions that can be performed on `BaseInteractiveElement` diff --git a/ui-kit/angular/interactive-button-element.mdx b/ui-kit/angular/interactive-button-element.mdx index 2b3e2faae..3a2e66621 100644 --- a/ui-kit/angular/interactive-button-element.mdx +++ b/ui-kit/angular/interactive-button-element.mdx @@ -1,5 +1,6 @@ --- title: "Button Element" +description: "Button Element — CometChat documentation." --- The `ButtonElement` class, inherited from the `BaseInteractiveElement` class, represents an interactive button element that can be added to a chat interface. It comprises of properties like button text and a flag indicating whether the button should be disabled after interaction. diff --git a/ui-kit/angular/interactive-card-bubble.mdx b/ui-kit/angular/interactive-card-bubble.mdx index 702a04421..31ce8fb57 100644 --- a/ui-kit/angular/interactive-card-bubble.mdx +++ b/ui-kit/angular/interactive-card-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Card Bubble" +description: "Card Bubble — CometChat documentation." --- The `CometChatCardBubble` component is used to display a card within a chat bubble. The card includes an image, text, and action buttons. It helps to offer action-oriented chat experiences, like booking a flight, ordering food, scheduling a meeting, etc., directly in the chat. diff --git a/ui-kit/angular/interactive-card-message.mdx b/ui-kit/angular/interactive-card-message.mdx index ca4cd5e92..269433aa2 100644 --- a/ui-kit/angular/interactive-card-message.mdx +++ b/ui-kit/angular/interactive-card-message.mdx @@ -1,5 +1,6 @@ --- title: "Card Message" +description: "Card Message — CometChat documentation." --- The `CardMessage` class is used to create a card message for CometChat. It extends the `InteractiveMessage` class from CometChat. diff --git a/ui-kit/angular/interactive-checkbox-element.mdx b/ui-kit/angular/interactive-checkbox-element.mdx index 1c99b2f40..0acb0a88a 100644 --- a/ui-kit/angular/interactive-checkbox-element.mdx +++ b/ui-kit/angular/interactive-checkbox-element.mdx @@ -1,5 +1,6 @@ --- title: "Checkbox Element" +description: "Checkbox Element — CometChat documentation." --- The `CheckboxElement` class aids in creating checkbox input elements in a user interface. diff --git a/ui-kit/angular/interactive-custom-interactive-message.mdx b/ui-kit/angular/interactive-custom-interactive-message.mdx index 9d4be1015..87d8ca6e4 100644 --- a/ui-kit/angular/interactive-custom-interactive-message.mdx +++ b/ui-kit/angular/interactive-custom-interactive-message.mdx @@ -1,5 +1,6 @@ --- title: "Custom Interactive Message" +description: "Custom Interactive Message — CometChat documentation." --- The `CustomInteractiveMessage` class extends CometChat's `InteractiveMessage` class and represents a custom interactive message that can be sent via CometChat. diff --git a/ui-kit/angular/interactive-date-time-picker-element.mdx b/ui-kit/angular/interactive-date-time-picker-element.mdx index ff1d23fe1..15aafc8ed 100644 --- a/ui-kit/angular/interactive-date-time-picker-element.mdx +++ b/ui-kit/angular/interactive-date-time-picker-element.mdx @@ -1,5 +1,6 @@ --- title: "DateTimePickerElement" +description: "DateTimePickerElement — CometChat documentation." --- The DateTimePickerElement class is used to create a Date Picker element in a user interface. diff --git a/ui-kit/angular/interactive-dropdown-element.mdx b/ui-kit/angular/interactive-dropdown-element.mdx index cfa52ff0e..b44e9dc44 100644 --- a/ui-kit/angular/interactive-dropdown-element.mdx +++ b/ui-kit/angular/interactive-dropdown-element.mdx @@ -1,5 +1,6 @@ --- title: "DropdownElement" +description: "DropdownElement — CometChat documentation." --- The `DropdownElement` class is used to create a dropdown selection element in a user interface. diff --git a/ui-kit/angular/interactive-element-type.mdx b/ui-kit/angular/interactive-element-type.mdx index fc5392ca7..cb6fa962f 100644 --- a/ui-kit/angular/interactive-element-type.mdx +++ b/ui-kit/angular/interactive-element-type.mdx @@ -1,5 +1,6 @@ --- title: "Element Type" +description: "Element Type — CometChat documentation." --- This is the base class for every element possible in the Interactive message component, defined by CometChat diff --git a/ui-kit/angular/interactive-form-bubble.mdx b/ui-kit/angular/interactive-form-bubble.mdx index 5e5e0cf5d..1a7e0ccdc 100644 --- a/ui-kit/angular/interactive-form-bubble.mdx +++ b/ui-kit/angular/interactive-form-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Form Bubble" +description: "Form Bubble — CometChat documentation." --- The `CometChatFormBubble` component is used to render a form within a chat bubble. The form fields are dynamically built based on the data passed in the `message` prop. The form fields can include text inputs, checkboxes, radio buttons, dropdown, labels, single selects, buttons. Once the form is filled out and submitted, the data will be sent to the provided URL or handled by a custom function. diff --git a/ui-kit/angular/interactive-form-message.mdx b/ui-kit/angular/interactive-form-message.mdx index 42474a5f3..9ba422f5c 100644 --- a/ui-kit/angular/interactive-form-message.mdx +++ b/ui-kit/angular/interactive-form-message.mdx @@ -1,5 +1,6 @@ --- title: "Form Message" +description: "Form Message — CometChat documentation." --- The `FormMessage` class is used to create an interactive form message that can be sent via CometChat. It extends the `InteractiveMessage` class from CometChat. diff --git a/ui-kit/angular/interactive-label-element.mdx b/ui-kit/angular/interactive-label-element.mdx index ef63196d6..c9366bdb8 100644 --- a/ui-kit/angular/interactive-label-element.mdx +++ b/ui-kit/angular/interactive-label-element.mdx @@ -1,5 +1,6 @@ --- title: "Label Element" +description: "Label Element — CometChat documentation." --- The `LabelElement` class enables the creation of a label element in a user interface. diff --git a/ui-kit/angular/interactive-radio-button-element.mdx b/ui-kit/angular/interactive-radio-button-element.mdx index 1b8bd3e5e..30fc77946 100644 --- a/ui-kit/angular/interactive-radio-button-element.mdx +++ b/ui-kit/angular/interactive-radio-button-element.mdx @@ -1,5 +1,6 @@ --- title: "Radio Button Element" +description: "Radio Button Element — CometChat documentation." --- The `RadioButtonElement` class is designed to create a radio button input element in a user interface. diff --git a/ui-kit/angular/interactive-scheduler-bubble.mdx b/ui-kit/angular/interactive-scheduler-bubble.mdx index a6350662a..99aaebe8b 100644 --- a/ui-kit/angular/interactive-scheduler-bubble.mdx +++ b/ui-kit/angular/interactive-scheduler-bubble.mdx @@ -1,5 +1,6 @@ --- title: "SchedulerBubble" +description: "SchedulerBubble — CometChat documentation." --- SchedulerBubble is a versatile type of component designed to facilitate easy and efficient event scheduling. It offers the following key features: diff --git a/ui-kit/angular/interactive-scheduler-message.mdx b/ui-kit/angular/interactive-scheduler-message.mdx index 5f221afdd..8b43a9c35 100644 --- a/ui-kit/angular/interactive-scheduler-message.mdx +++ b/ui-kit/angular/interactive-scheduler-message.mdx @@ -1,5 +1,6 @@ --- title: "Scheduler Message" +description: "Scheduler Message — CometChat documentation." --- The `SchedulerMessage` class is used to create an interactive scheduler message that can be sent via CometChat. It extends the [Interactive Messages](/sdk/javascript/interactive-messages) class from CometChat. diff --git a/ui-kit/angular/interactive-single-select-element.mdx b/ui-kit/angular/interactive-single-select-element.mdx index d6a268c96..268d35701 100644 --- a/ui-kit/angular/interactive-single-select-element.mdx +++ b/ui-kit/angular/interactive-single-select-element.mdx @@ -1,5 +1,6 @@ --- title: "Single Select Element" +description: "Single Select Element — CometChat documentation." --- The `SingleSelectElement` class is utilised to create a single selection input element in a user interface. diff --git a/ui-kit/angular/interactive-text-input-element.mdx b/ui-kit/angular/interactive-text-input-element.mdx index f31410e30..e1833a43c 100644 --- a/ui-kit/angular/interactive-text-input-element.mdx +++ b/ui-kit/angular/interactive-text-input-element.mdx @@ -1,5 +1,6 @@ --- title: "Text Input Element" +description: "Text Input Element — CometChat documentation." --- The `TextInputElement` class is used to create a text input element in a user interface. diff --git a/ui-kit/angular/join-protected-group.mdx b/ui-kit/angular/join-protected-group.mdx index 3d45760b4..c5bdb7fe2 100644 --- a/ui-kit/angular/join-protected-group.mdx +++ b/ui-kit/angular/join-protected-group.mdx @@ -1,5 +1,6 @@ --- title: "Join Protected Group" +description: "Join Protected Group — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/label.mdx b/ui-kit/angular/label.mdx index 343cecd80..ce6d64d45 100644 --- a/ui-kit/angular/label.mdx +++ b/ui-kit/angular/label.mdx @@ -1,5 +1,6 @@ --- title: "Label" +description: "Label — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/link/changelog.mdx b/ui-kit/angular/link/changelog.mdx index 587316007..c357449a7 100644 --- a/ui-kit/angular/link/changelog.mdx +++ b/ui-kit/angular/link/changelog.mdx @@ -1,4 +1,5 @@ --- title: "Changelog" url: "https://github.com/cometchat/cometchat-uikit-angular/releases" +description: "Navigate to Changelog documentation." --- \ No newline at end of file diff --git a/ui-kit/angular/link/sample.mdx b/ui-kit/angular/link/sample.mdx index dcef84015..be60fd5e2 100644 --- a/ui-kit/angular/link/sample.mdx +++ b/ui-kit/angular/link/sample.mdx @@ -1,4 +1,5 @@ --- title: "Angular Sample App" url: "https://github.com/cometchat/cometchat-sample-app-angular" +description: "Navigate to Angular Sample App documentation." --- \ No newline at end of file diff --git a/ui-kit/angular/list-item.mdx b/ui-kit/angular/list-item.mdx index 6b6edd794..4fa61c280 100644 --- a/ui-kit/angular/list-item.mdx +++ b/ui-kit/angular/list-item.mdx @@ -1,5 +1,6 @@ --- title: "List Item" +description: "List Item — CometChat documentation." --- `CometChatListItem` contains one to three lines of text optionally flanked by icons or other widgets, such as `CometChatAvatar`, `CometChatDate` or `Text`. `CometChatAvatar` will always be shown in the leading view therefore either one among the `avatarURL` or `avatarName` must be provided. The icons (or other widgets) for the list item are defined with the `tailView` parameter. The first line of text is optional and is specified with `title`. The value of subtitle is also optional, will occupy the space allocated for an additional line of text or some other widget. diff --git a/ui-kit/angular/list.mdx b/ui-kit/angular/list.mdx index 2e80152a8..a6755ccc1 100644 --- a/ui-kit/angular/list.mdx +++ b/ui-kit/angular/list.mdx @@ -1,5 +1,6 @@ --- title: "List" +description: "List — CometChat documentation." --- `CometChatList` contains one to three lines of text optionally flanked by icons or other widgets, such as `CometChatAvatar`, `CometChatDate` or `Text`. `CometChatAvatar` will always be shown in the leading view therefore either one among the `avatarURL` or `avatarName` must be provided. The icons (or other widgets) for the list item are defined with the `tailView` parameter. The first line of text is optional and is specified with `title`. The value of subtitle is also optional, will occupy the space allocated for an additional line of text or some other widget. diff --git a/ui-kit/angular/loader.mdx b/ui-kit/angular/loader.mdx index c6b54bfde..e1e80f7be 100644 --- a/ui-kit/angular/loader.mdx +++ b/ui-kit/angular/loader.mdx @@ -1,5 +1,6 @@ --- title: "Loader" +description: "Loader — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/localize.mdx b/ui-kit/angular/localize.mdx index b532eb983..d7e4e500f 100644 --- a/ui-kit/angular/localize.mdx +++ b/ui-kit/angular/localize.mdx @@ -1,5 +1,6 @@ --- title: "Localize" +description: "Localize — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/media-recorder.mdx b/ui-kit/angular/media-recorder.mdx index 9e0b58e9b..97ff4e5fa 100644 --- a/ui-kit/angular/media-recorder.mdx +++ b/ui-kit/angular/media-recorder.mdx @@ -1,5 +1,6 @@ --- title: "Media Recorder" +description: "Media Recorder — CometChat documentation." --- The `CometChatMediaRecorder` is a custom Android component that provides a user interface for recording audio and playing back the recorded audio. It is designed to be easily integrated into chat applications or other projects where audio messaging is required. diff --git a/ui-kit/angular/mentions-formatter-guide.mdx b/ui-kit/angular/mentions-formatter-guide.mdx index f1c273bab..1914b0bdf 100644 --- a/ui-kit/angular/mentions-formatter-guide.mdx +++ b/ui-kit/angular/mentions-formatter-guide.mdx @@ -1,5 +1,6 @@ --- title: "Mentions Formatter" +description: "Mentions Formatter — CometChat integration guide." --- ## Overview diff --git a/ui-kit/angular/message-bubble.mdx b/ui-kit/angular/message-bubble.mdx index 5ac38274f..cb8f30091 100644 --- a/ui-kit/angular/message-bubble.mdx +++ b/ui-kit/angular/message-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Message Bubble" +description: "Message Bubble — CometChat documentation." --- This component is used to visually represent individual messages and display them in a conversation-like format. diff --git a/ui-kit/angular/message-composer.mdx b/ui-kit/angular/message-composer.mdx index 1526ee688..73e7964ca 100644 --- a/ui-kit/angular/message-composer.mdx +++ b/ui-kit/angular/message-composer.mdx @@ -1,5 +1,6 @@ --- title: "Message Composer" +description: "Message Composer — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/message-header.mdx b/ui-kit/angular/message-header.mdx index 13b616a29..aefb3a42a 100644 --- a/ui-kit/angular/message-header.mdx +++ b/ui-kit/angular/message-header.mdx @@ -1,5 +1,6 @@ --- title: "Message Header" +description: "Message Header — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/message-information.mdx b/ui-kit/angular/message-information.mdx index a8efe0691..d5733d200 100644 --- a/ui-kit/angular/message-information.mdx +++ b/ui-kit/angular/message-information.mdx @@ -1,5 +1,6 @@ --- title: "Message Information" +description: "Message Information — CometChat documentation." --- The MessageInformation is a [Component](/ui-kit/angular/components-overview#components) designed to display message-related information, such as delivery and read receipts. It serves as an integral part of the CometChat UI UI Kit, extending the [List Item](/ui-kit/angular/list-item) class, which provides the underlying infrastructure for CometChat UI components. With its rich set of methods and properties, developers can easily customize and tailor the appearance and behavior of the message information view to suit the specific requirements of their application. diff --git a/ui-kit/angular/message-input.mdx b/ui-kit/angular/message-input.mdx index cf3527048..44acd569b 100644 --- a/ui-kit/angular/message-input.mdx +++ b/ui-kit/angular/message-input.mdx @@ -1,5 +1,6 @@ --- title: "Message Input" +description: "Message Input — CometChat documentation." --- `CometChatMessageInput` is a component that provides a skeleton layout for contents of like `TextField`, auxiliary options, primary button view and attachment options. This element enable users to enter free-form text data along with custom view of 3 variants (primary, secondary and auxiliary). diff --git a/ui-kit/angular/message-list.mdx b/ui-kit/angular/message-list.mdx index ecea4c027..2be92c35c 100644 --- a/ui-kit/angular/message-list.mdx +++ b/ui-kit/angular/message-list.mdx @@ -1,5 +1,6 @@ --- title: "Message List" +description: "Message List — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/message-template.mdx b/ui-kit/angular/message-template.mdx index cd6a9ba1b..a36b683a9 100644 --- a/ui-kit/angular/message-template.mdx +++ b/ui-kit/angular/message-template.mdx @@ -1,5 +1,6 @@ --- title: "Message Template" +description: "Message Template — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/messages.mdx b/ui-kit/angular/messages.mdx index c2785ffbc..7692289da 100644 --- a/ui-kit/angular/messages.mdx +++ b/ui-kit/angular/messages.mdx @@ -1,5 +1,6 @@ --- title: "Messages" +description: "Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/methods.mdx b/ui-kit/angular/methods.mdx index 985a1c8f3..80e893be4 100644 --- a/ui-kit/angular/methods.mdx +++ b/ui-kit/angular/methods.mdx @@ -1,5 +1,6 @@ --- title: "Methods" +description: "Methods — CometChat documentation." --- ## Overview @@ -146,8 +147,8 @@ CometChatUIKit.getLoggedinUser() This advanced authentication procedure does not use the Auth Key directly in your client code thus ensuring safety. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `loginWithAuthToken()` method. diff --git a/ui-kit/angular/modal.mdx b/ui-kit/angular/modal.mdx index 16a713e82..fbe547fbc 100644 --- a/ui-kit/angular/modal.mdx +++ b/ui-kit/angular/modal.mdx @@ -1,5 +1,6 @@ --- title: "Modal" +description: "Modal — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/multi-tab-chat-ui-guide.mdx b/ui-kit/angular/multi-tab-chat-ui-guide.mdx index b1f356da4..31be18f94 100644 --- a/ui-kit/angular/multi-tab-chat-ui-guide.mdx +++ b/ui-kit/angular/multi-tab-chat-ui-guide.mdx @@ -1,5 +1,6 @@ --- title: "Multi Tab Chat UI Guide" +description: "Multi Tab Chat UI Guide — CometChat integration guide." --- This guide will help you achieve a tabbed layout (aka Multi-Tab Chat UI) of the components available in CometChatUIKit for Angular. diff --git a/ui-kit/angular/new-attachment-option-guide.mdx b/ui-kit/angular/new-attachment-option-guide.mdx index d7db73855..0686c4da0 100644 --- a/ui-kit/angular/new-attachment-option-guide.mdx +++ b/ui-kit/angular/new-attachment-option-guide.mdx @@ -1,5 +1,6 @@ --- title: "New Attachment Option" +description: "New Attachment Option — CometChat integration guide." --- In this guide, we will demonstrate how to add a custom option to the action sheet of the [MessageComposer](/ui-kit/angular/message-composer) component. This guide is meant to showcase how custom features can be built on top of the existing codebase, enabling developers to tailor the user experience to their specific requirements. diff --git a/ui-kit/angular/new-message-option-guide.mdx b/ui-kit/angular/new-message-option-guide.mdx index 301d1c1ff..3f21488dc 100644 --- a/ui-kit/angular/new-message-option-guide.mdx +++ b/ui-kit/angular/new-message-option-guide.mdx @@ -1,5 +1,6 @@ --- title: "New Message Option" +description: "New Message Option — CometChat integration guide." --- This guide will help you add a custom option to the messages of type image. By default, CometChat UI Kit for Angular supports the following message options: diff --git a/ui-kit/angular/ongoing-call.mdx b/ui-kit/angular/ongoing-call.mdx index 5428722f2..9b2b74af1 100644 --- a/ui-kit/angular/ongoing-call.mdx +++ b/ui-kit/angular/ongoing-call.mdx @@ -1,5 +1,6 @@ --- title: "Ongoing Call" +description: "Ongoing Call — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/outgoing-call.mdx b/ui-kit/angular/outgoing-call.mdx index a97365cf1..c5a359540 100644 --- a/ui-kit/angular/outgoing-call.mdx +++ b/ui-kit/angular/outgoing-call.mdx @@ -1,5 +1,6 @@ --- title: "Outgoing Call" +description: "Outgoing Call — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/overview.mdx b/ui-kit/angular/overview.mdx index de16e7cf6..0503bdc31 100644 --- a/ui-kit/angular/overview.mdx +++ b/ui-kit/angular/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/ui-kit/angular/pop-over.mdx b/ui-kit/angular/pop-over.mdx index c49699a43..433cb9435 100644 --- a/ui-kit/angular/pop-over.mdx +++ b/ui-kit/angular/pop-over.mdx @@ -1,5 +1,6 @@ --- title: "Pop Over" +description: "Pop Over — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/radio-button.mdx b/ui-kit/angular/radio-button.mdx index b8cf70e49..b8ce963b8 100644 --- a/ui-kit/angular/radio-button.mdx +++ b/ui-kit/angular/radio-button.mdx @@ -1,5 +1,6 @@ --- title: "Radio Button" +description: "Radio Button — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/reaction-info.mdx b/ui-kit/angular/reaction-info.mdx index bf50c9dfa..f3e927390 100644 --- a/ui-kit/angular/reaction-info.mdx +++ b/ui-kit/angular/reaction-info.mdx @@ -1,5 +1,6 @@ --- title: "Reaction Info" +description: "Reaction Info — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/reaction-list.mdx b/ui-kit/angular/reaction-list.mdx index 771d405ee..7f74fc14a 100644 --- a/ui-kit/angular/reaction-list.mdx +++ b/ui-kit/angular/reaction-list.mdx @@ -1,5 +1,6 @@ --- title: "Reaction List" +description: "Reaction List — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/reaction.mdx b/ui-kit/angular/reaction.mdx index a8f7834a6..0b4d671e8 100644 --- a/ui-kit/angular/reaction.mdx +++ b/ui-kit/angular/reaction.mdx @@ -1,5 +1,6 @@ --- title: "Reactions" +description: "Reactions — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/receipt.mdx b/ui-kit/angular/receipt.mdx index 3b6573975..77bc1f8f4 100644 --- a/ui-kit/angular/receipt.mdx +++ b/ui-kit/angular/receipt.mdx @@ -1,5 +1,6 @@ --- title: "Receipt" +description: "Receipt — CometChat documentation." --- The CometChatReceipt component renders the receipts such as sending, sent, delivered, read and error state indicator of a message. diff --git a/ui-kit/angular/search-input.mdx b/ui-kit/angular/search-input.mdx index 33669e0e3..bc99709a5 100644 --- a/ui-kit/angular/search-input.mdx +++ b/ui-kit/angular/search-input.mdx @@ -1,5 +1,6 @@ --- title: "Search Input" +description: "Search Input — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/shortcut-formatter-guide.mdx b/ui-kit/angular/shortcut-formatter-guide.mdx index 84d5ddc47..f9c8b64ab 100644 --- a/ui-kit/angular/shortcut-formatter-guide.mdx +++ b/ui-kit/angular/shortcut-formatter-guide.mdx @@ -1,5 +1,6 @@ --- title: "ShortCut Formatter" +description: "ShortCut Formatter — CometChat integration guide." --- ## Overview diff --git a/ui-kit/angular/singleselect.mdx b/ui-kit/angular/singleselect.mdx index 5a1994f58..382c86f07 100644 --- a/ui-kit/angular/singleselect.mdx +++ b/ui-kit/angular/singleselect.mdx @@ -1,5 +1,6 @@ --- title: "Single Select" +description: "Single Select — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/sound-manager.mdx b/ui-kit/angular/sound-manager.mdx index d3010162d..393ed7a2d 100644 --- a/ui-kit/angular/sound-manager.mdx +++ b/ui-kit/angular/sound-manager.mdx @@ -1,5 +1,6 @@ --- title: "Sound Manager" +description: "Sound Manager — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/status-indicator.mdx b/ui-kit/angular/status-indicator.mdx index fd922402f..523e872e8 100644 --- a/ui-kit/angular/status-indicator.mdx +++ b/ui-kit/angular/status-indicator.mdx @@ -1,5 +1,6 @@ --- title: "Status Indicator" +description: "Status Indicator — CometChat documentation." --- `CometChatStatusIndicator` is a customized component which indicates whether user is online or offline. You can customize the `borderColor`, `borderSize`, and `backgroundColor` of this component. diff --git a/ui-kit/angular/text-bubble.mdx b/ui-kit/angular/text-bubble.mdx index 7a030ba93..bbacdb465 100644 --- a/ui-kit/angular/text-bubble.mdx +++ b/ui-kit/angular/text-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Text Bubble" +description: "Text Bubble — CometChat documentation." --- `CometChatTextBubble` is the content view shown for TextMessage. diff --git a/ui-kit/angular/theme.mdx b/ui-kit/angular/theme.mdx index febf1d987..bd53ad20c 100644 --- a/ui-kit/angular/theme.mdx +++ b/ui-kit/angular/theme.mdx @@ -1,5 +1,6 @@ --- title: "Theme" +description: "Theme — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/threaded-messages.mdx b/ui-kit/angular/threaded-messages.mdx index b064e60b1..72be534b5 100644 --- a/ui-kit/angular/threaded-messages.mdx +++ b/ui-kit/angular/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/url-formatter-guide.mdx b/ui-kit/angular/url-formatter-guide.mdx index 5ac23e4a5..02da3a77c 100644 --- a/ui-kit/angular/url-formatter-guide.mdx +++ b/ui-kit/angular/url-formatter-guide.mdx @@ -1,5 +1,6 @@ --- title: "URL Formatter" +description: "URL Formatter — CometChat integration guide." --- ## Overview diff --git a/ui-kit/angular/user-details.mdx b/ui-kit/angular/user-details.mdx index 61cf37572..0d93ad5ff 100644 --- a/ui-kit/angular/user-details.mdx +++ b/ui-kit/angular/user-details.mdx @@ -1,5 +1,6 @@ --- title: "User Details" +description: "User Details — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/user-member-wrapper.mdx b/ui-kit/angular/user-member-wrapper.mdx index 14d90529f..58ee5ab07 100644 --- a/ui-kit/angular/user-member-wrapper.mdx +++ b/ui-kit/angular/user-member-wrapper.mdx @@ -1,5 +1,6 @@ --- title: "User Member Wrapper" +description: "User Member Wrapper — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/users-with-messages.mdx b/ui-kit/angular/users-with-messages.mdx index cc1d3c0dd..e457ec500 100644 --- a/ui-kit/angular/users-with-messages.mdx +++ b/ui-kit/angular/users-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Users With Messages" +description: "Users With Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/users.mdx b/ui-kit/angular/users.mdx index 40d545070..b39add62c 100644 --- a/ui-kit/angular/users.mdx +++ b/ui-kit/angular/users.mdx @@ -1,5 +1,6 @@ --- title: "Users" +description: "Users — CometChat documentation." --- ## Overview diff --git a/ui-kit/angular/v5/integration.mdx b/ui-kit/angular/v5/integration.mdx index e19990740..a09c6aef0 100644 --- a/ui-kit/angular/v5/integration.mdx +++ b/ui-kit/angular/v5/integration.mdx @@ -38,7 +38,7 @@ You also need: - Angular CLI (`npm install -g @angular/cli`) -Auth Key is for development only. In production, generate Auth Tokens server-side via the [REST API](https://api-explorer.cometchat.com/) and use `loginWithAuthToken()`. Never ship Auth Keys in client code. +Auth Key is for development only. In production, generate Auth Tokens server-side via the [REST API](/rest-api/chat-apis) and use `loginWithAuthToken()`. Never ship Auth Keys in client code. --- diff --git a/ui-kit/angular/v5/methods.mdx b/ui-kit/angular/v5/methods.mdx index 374a3b9eb..fb2e89a82 100644 --- a/ui-kit/angular/v5/methods.mdx +++ b/ui-kit/angular/v5/methods.mdx @@ -125,8 +125,8 @@ CometChatUIKit.getLoggedinUser() Production-safe authentication that does not expose the Auth Key in client code. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `loginWithAuthToken()` method. ```typescript expandable diff --git a/ui-kit/angular/v5/overview.mdx b/ui-kit/angular/v5/overview.mdx index b003339ba..038842d0c 100644 --- a/ui-kit/angular/v5/overview.mdx +++ b/ui-kit/angular/v5/overview.mdx @@ -1,5 +1,6 @@ --- title: Overview +description: "CometChat documentation page." --- diff --git a/ui-kit/angular/video-bubble.mdx b/ui-kit/angular/video-bubble.mdx index ec7bf357b..ed2250be3 100644 --- a/ui-kit/angular/video-bubble.mdx +++ b/ui-kit/angular/video-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Video Bubble" +description: "Video Bubble — CometChat documentation." --- `CometChatVideoBubble` is the content view for a MediaMessage if the media sent is a video. diff --git a/ui-kit/flutter/getting-started.mdx b/ui-kit/flutter/getting-started.mdx index 15281ce0f..c7364a031 100644 --- a/ui-kit/flutter/getting-started.mdx +++ b/ui-kit/flutter/getting-started.mdx @@ -39,7 +39,7 @@ You need three things from the [CometChat Dashboard](https://app.cometchat.com/) You also need Flutter 3.0+ installed with Android Studio or VS Code. -Auth Key is for development only. In production, generate Auth Tokens server-side via the [REST API](https://api-explorer.cometchat.com/) and use `loginWithAuthToken()`. Never ship Auth Keys in client code. +Auth Key is for development only. In production, generate Auth Tokens server-side via the [REST API](/rest-api/chat-apis) and use `loginWithAuthToken()`. Never ship Auth Keys in client code. --- diff --git a/ui-kit/flutter/link/changelog.mdx b/ui-kit/flutter/link/changelog.mdx index 112358550..7de4cc005 100644 --- a/ui-kit/flutter/link/changelog.mdx +++ b/ui-kit/flutter/link/changelog.mdx @@ -1,4 +1,5 @@ --- title: "Changelog" url: "https://github.com/cometchat/cometchat-uikit-flutter/releases" +description: "Navigate to Changelog documentation." --- \ No newline at end of file diff --git a/ui-kit/flutter/link/sample.mdx b/ui-kit/flutter/link/sample.mdx index df4a74be3..e9cbab794 100644 --- a/ui-kit/flutter/link/sample.mdx +++ b/ui-kit/flutter/link/sample.mdx @@ -1,4 +1,5 @@ --- title: "Flutter Sample App" url: "https://github.com/cometchat/cometchat-sample-app-flutter" +description: "Navigate to Flutter Sample App documentation." --- \ No newline at end of file diff --git a/ui-kit/flutter/methods.mdx b/ui-kit/flutter/methods.mdx index 222a617cf..0cd6ce2d7 100644 --- a/ui-kit/flutter/methods.mdx +++ b/ui-kit/flutter/methods.mdx @@ -131,9 +131,9 @@ CometChatUIKit.login( Production-safe authentication that does not expose the Auth Key in client code. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `loginWithAuthToken()` method. diff --git a/ui-kit/flutter/multi-tab-chat-ui-guide.mdx b/ui-kit/flutter/multi-tab-chat-ui-guide.mdx index 949a0cc3d..24f03ebfa 100644 --- a/ui-kit/flutter/multi-tab-chat-ui-guide.mdx +++ b/ui-kit/flutter/multi-tab-chat-ui-guide.mdx @@ -1,5 +1,6 @@ --- title: "Multi Tab Chat UI Guide" +description: "Multi Tab Chat UI Guide — CometChat integration guide." --- This guide will help you create a multi-tab chat user interface using the cometchat\_chat\_uikit package in Flutter. The final UI will consist of three tabs: Conversations, Users, and Groups. diff --git a/ui-kit/flutter/upgrading-from-v4.mdx b/ui-kit/flutter/upgrading-from-v4.mdx index ea2c9de2f..5cd8c5ee7 100644 --- a/ui-kit/flutter/upgrading-from-v4.mdx +++ b/ui-kit/flutter/upgrading-from-v4.mdx @@ -1,5 +1,6 @@ --- title: "Upgrading from V4 to V5" +description: "Upgrading from V4 to V5 — CometChat documentation." --- diff --git a/ui-kit/flutter/v4/action-sheet.mdx b/ui-kit/flutter/v4/action-sheet.mdx index dcf9b380d..90e5774fe 100644 --- a/ui-kit/flutter/v4/action-sheet.mdx +++ b/ui-kit/flutter/v4/action-sheet.mdx @@ -1,5 +1,6 @@ --- title: "Action Sheet" +description: "Action Sheet — CometChat documentation." --- `CometChatActionSheet` is a `DraggableScrollableSheet` which shows each `ActionItem` and returns the `ActionItem` that is clicked on . You can customize the appearance of `CometChatActionSheet` too. diff --git a/ui-kit/flutter/v4/ai-features.mdx b/ui-kit/flutter/v4/ai-features.mdx index baa8e4ee4..49f6348eb 100644 --- a/ui-kit/flutter/v4/ai-features.mdx +++ b/ui-kit/flutter/v4/ai-features.mdx @@ -1,5 +1,6 @@ --- title: "AI" +description: "AI — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/audio-bubble.mdx b/ui-kit/flutter/v4/audio-bubble.mdx index c4b398cc2..ccd874f8c 100644 --- a/ui-kit/flutter/v4/audio-bubble.mdx +++ b/ui-kit/flutter/v4/audio-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Audio Bubble" +description: "Audio Bubble — CometChat documentation." --- `CometChatAudioBubble` is the content view for a [MediaMessage](/sdk/flutter/send-message#media-message) if the media sent is an audio. diff --git a/ui-kit/flutter/v4/avatar.mdx b/ui-kit/flutter/v4/avatar.mdx index 1f586619b..88eafe0e3 100644 --- a/ui-kit/flutter/v4/avatar.mdx +++ b/ui-kit/flutter/v4/avatar.mdx @@ -1,5 +1,6 @@ --- title: "Avatar" +description: "Avatar — CometChat documentation." --- `CometChatAvatar` component displays an image or user's avatar with fallback to the first two letters of the username or group's icon with fallback to the first two letter of the group name. diff --git a/ui-kit/flutter/v4/badge.mdx b/ui-kit/flutter/v4/badge.mdx index 387b81d5a..469cd5cda 100644 --- a/ui-kit/flutter/v4/badge.mdx +++ b/ui-kit/flutter/v4/badge.mdx @@ -1,5 +1,6 @@ --- title: "Badge" +description: "Badge — CometChat documentation." --- `CometChatBadge` is the custom component which is used to display the unread message count. It can be used in widgets like `CometChatListItem` shown for Conversation objects, `CometChatUI`, etc. diff --git a/ui-kit/flutter/v4/button.mdx b/ui-kit/flutter/v4/button.mdx index b25e24dc5..61c48cb16 100644 --- a/ui-kit/flutter/v4/button.mdx +++ b/ui-kit/flutter/v4/button.mdx @@ -1,5 +1,6 @@ --- title: "Button" +description: "Button — CometChat documentation." --- `CometChatButton` is a widget representing a button with optional icon and text. It provides customisable button styles through the `buttonStyle` object and handles tap events with `onTap` callback. diff --git a/ui-kit/flutter/v4/call-bubble.mdx b/ui-kit/flutter/v4/call-bubble.mdx index c0b6ff79c..a89038e42 100644 --- a/ui-kit/flutter/v4/call-bubble.mdx +++ b/ui-kit/flutter/v4/call-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Call Bubble" +description: "Call Bubble — CometChat documentation." --- `CometChatCallBubble` is a widget that displays the call information and a button to join a direct call. diff --git a/ui-kit/flutter/v4/call-buttons.mdx b/ui-kit/flutter/v4/call-buttons.mdx index 03dd200d7..f1d4cf4a3 100644 --- a/ui-kit/flutter/v4/call-buttons.mdx +++ b/ui-kit/flutter/v4/call-buttons.mdx @@ -1,5 +1,6 @@ --- title: "Call Buttons" +description: "Call Buttons — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/call-features.mdx b/ui-kit/flutter/v4/call-features.mdx index 76dc34d5c..826b7e682 100644 --- a/ui-kit/flutter/v4/call-features.mdx +++ b/ui-kit/flutter/v4/call-features.mdx @@ -1,5 +1,6 @@ --- title: "Call" +description: "Call — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/call-log-details.mdx b/ui-kit/flutter/v4/call-log-details.mdx index 706d560e2..4315eb363 100644 --- a/ui-kit/flutter/v4/call-log-details.mdx +++ b/ui-kit/flutter/v4/call-log-details.mdx @@ -1,5 +1,6 @@ --- title: "Call Log Details" +description: "Call Log Details — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/call-log-history.mdx b/ui-kit/flutter/v4/call-log-history.mdx index 36fe2a366..e3ff736bf 100644 --- a/ui-kit/flutter/v4/call-log-history.mdx +++ b/ui-kit/flutter/v4/call-log-history.mdx @@ -1,5 +1,6 @@ --- title: "Call Log History" +description: "Call Log History — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/call-log-participants.mdx b/ui-kit/flutter/v4/call-log-participants.mdx index 6ec888261..fa816eca0 100644 --- a/ui-kit/flutter/v4/call-log-participants.mdx +++ b/ui-kit/flutter/v4/call-log-participants.mdx @@ -1,5 +1,6 @@ --- title: "Call Log Participants" +description: "Call Log Participants — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/call-log-recording.mdx b/ui-kit/flutter/v4/call-log-recording.mdx index b409d6e23..2b0ef5cc7 100644 --- a/ui-kit/flutter/v4/call-log-recording.mdx +++ b/ui-kit/flutter/v4/call-log-recording.mdx @@ -1,5 +1,6 @@ --- title: "Call Log Recordings" +description: "Call Log Recordings — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/call-log-with-details.mdx b/ui-kit/flutter/v4/call-log-with-details.mdx index 8b0239f7f..6a395baac 100644 --- a/ui-kit/flutter/v4/call-log-with-details.mdx +++ b/ui-kit/flutter/v4/call-log-with-details.mdx @@ -1,5 +1,6 @@ --- title: "Call Log With Details" +description: "Call Log With Details — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/call-logs.mdx b/ui-kit/flutter/v4/call-logs.mdx index 107e746dc..4bf012e14 100644 --- a/ui-kit/flutter/v4/call-logs.mdx +++ b/ui-kit/flutter/v4/call-logs.mdx @@ -1,5 +1,6 @@ --- title: "Call Logs" +description: "Call Logs — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/call-overview.mdx b/ui-kit/flutter/v4/call-overview.mdx index cc8dd8154..fad73fdea 100644 --- a/ui-kit/flutter/v4/call-overview.mdx +++ b/ui-kit/flutter/v4/call-overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- ## Overview diff --git a/ui-kit/flutter/v4/card.mdx b/ui-kit/flutter/v4/card.mdx index e0252ebef..94bfb8573 100644 --- a/ui-kit/flutter/v4/card.mdx +++ b/ui-kit/flutter/v4/card.mdx @@ -1,5 +1,6 @@ --- title: "Card" +description: "Card — CometChat documentation." --- `CometChatCard` is a prebuilt widget which is used to display a card with title, subtitle, avatar and bottom view. diff --git a/ui-kit/flutter/v4/components-overview.mdx b/ui-kit/flutter/v4/components-overview.mdx index d379c3615..bc23b55b4 100644 --- a/ui-kit/flutter/v4/components-overview.mdx +++ b/ui-kit/flutter/v4/components-overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- CometChat's **UI Kit** is a set of pre-built UI Widget that allows you to easily craft an in-app chat with all the essential messaging features. diff --git a/ui-kit/flutter/v4/confirm-dialog.mdx b/ui-kit/flutter/v4/confirm-dialog.mdx index 128639b26..cc3d6441e 100644 --- a/ui-kit/flutter/v4/confirm-dialog.mdx +++ b/ui-kit/flutter/v4/confirm-dialog.mdx @@ -1,5 +1,6 @@ --- title: "Confirm Dialog" +description: "Confirm Dialog — CometChat documentation." --- `CometChatConfirmDialog` is a customizable alert dialog . diff --git a/ui-kit/flutter/v4/contacts.mdx b/ui-kit/flutter/v4/contacts.mdx index 2e0d1575b..fad683003 100644 --- a/ui-kit/flutter/v4/contacts.mdx +++ b/ui-kit/flutter/v4/contacts.mdx @@ -1,5 +1,6 @@ --- title: "Contacts" +description: "Contacts — CometChat documentation." --- `CometChatContacts` is a widget specifically designed to facilitate the display and management of users and groups within chat applications. It streamlines the process of showcasing all app users and available chat groups in a user-friendly interface, making it easier for users to connect and communicate effectively. Additionally, the widget includes a UI Segmented Control to switch between the users and groups list, enhancing navigation and usability. diff --git a/ui-kit/flutter/v4/conversations-with-messages.mdx b/ui-kit/flutter/v4/conversations-with-messages.mdx index 75a4d9cfd..d0ad9c6e6 100644 --- a/ui-kit/flutter/v4/conversations-with-messages.mdx +++ b/ui-kit/flutter/v4/conversations-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Conversations With Messages" +description: "Conversations With Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/conversations.mdx b/ui-kit/flutter/v4/conversations.mdx index 093b20a57..6274759f9 100644 --- a/ui-kit/flutter/v4/conversations.mdx +++ b/ui-kit/flutter/v4/conversations.mdx @@ -1,5 +1,6 @@ --- title: "Conversations" +description: "Conversations — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/core-features.mdx b/ui-kit/flutter/v4/core-features.mdx index 8de54a6db..19195ef6c 100644 --- a/ui-kit/flutter/v4/core-features.mdx +++ b/ui-kit/flutter/v4/core-features.mdx @@ -1,5 +1,6 @@ --- title: "Core" +description: "Core — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/create-group.mdx b/ui-kit/flutter/v4/create-group.mdx index c015a745b..4b7dfa4bf 100644 --- a/ui-kit/flutter/v4/create-group.mdx +++ b/ui-kit/flutter/v4/create-group.mdx @@ -1,5 +1,6 @@ --- title: "Create Group" +description: "Create Group — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/date.mdx b/ui-kit/flutter/v4/date.mdx index 97a2a4e19..529604c2b 100644 --- a/ui-kit/flutter/v4/date.mdx +++ b/ui-kit/flutter/v4/date.mdx @@ -1,5 +1,6 @@ --- title: "Date" +description: "Date — CometChat documentation." --- `CometChatDate` is a widget which is used to show the date and time. You can also customize the appearance of this widget by modifying its logic. diff --git a/ui-kit/flutter/v4/emoji-keyboard.mdx b/ui-kit/flutter/v4/emoji-keyboard.mdx index b895e4357..408d20ac2 100644 --- a/ui-kit/flutter/v4/emoji-keyboard.mdx +++ b/ui-kit/flutter/v4/emoji-keyboard.mdx @@ -1,5 +1,6 @@ --- title: "Emoji Keyboard" +description: "Emoji Keyboard — CometChat documentation." --- `CometChatEmojiKeyboard` is CometChat's very own customizable emoji keyboard. it can be rendered by calling function `showCometChatEmojiKeyboard`. diff --git a/ui-kit/flutter/v4/events.mdx b/ui-kit/flutter/v4/events.mdx index 7e059a76b..daea87313 100644 --- a/ui-kit/flutter/v4/events.mdx +++ b/ui-kit/flutter/v4/events.mdx @@ -1,5 +1,6 @@ --- title: "Events" +description: "Events — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/extensions.mdx b/ui-kit/flutter/v4/extensions.mdx index 76b43d8b3..7aeb4e7ad 100644 --- a/ui-kit/flutter/v4/extensions.mdx +++ b/ui-kit/flutter/v4/extensions.mdx @@ -1,5 +1,6 @@ --- title: "Extensions" +description: "Extensions — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/file-bubble.mdx b/ui-kit/flutter/v4/file-bubble.mdx index ee166c49a..f3513b81a 100644 --- a/ui-kit/flutter/v4/file-bubble.mdx +++ b/ui-kit/flutter/v4/file-bubble.mdx @@ -1,5 +1,6 @@ --- title: "File Bubble" +description: "File Bubble — CometChat documentation." --- `CometChatFileBubble` is the content view for a [MediaMessage](/sdk/flutter/send-message#media-message) if the media sent is a file. diff --git a/ui-kit/flutter/v4/getting-started.mdx b/ui-kit/flutter/v4/getting-started.mdx index ee96ab2cb..d12e2790b 100644 --- a/ui-kit/flutter/v4/getting-started.mdx +++ b/ui-kit/flutter/v4/getting-started.mdx @@ -1,5 +1,6 @@ --- title: "Getting Started" +description: "Getting Started — CometChat documentation." --- ## Start Your First Conversation diff --git a/ui-kit/flutter/v4/group-add-members.mdx b/ui-kit/flutter/v4/group-add-members.mdx index a2e588f5e..1b661edff 100644 --- a/ui-kit/flutter/v4/group-add-members.mdx +++ b/ui-kit/flutter/v4/group-add-members.mdx @@ -1,5 +1,6 @@ --- title: "Add Members" +description: "Add Members — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/group-banned-members.mdx b/ui-kit/flutter/v4/group-banned-members.mdx index 080664c18..5b440f474 100644 --- a/ui-kit/flutter/v4/group-banned-members.mdx +++ b/ui-kit/flutter/v4/group-banned-members.mdx @@ -1,5 +1,6 @@ --- title: "Banned Members" +description: "Banned Members — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/group-details.mdx b/ui-kit/flutter/v4/group-details.mdx index 93a142dbc..63cc94421 100644 --- a/ui-kit/flutter/v4/group-details.mdx +++ b/ui-kit/flutter/v4/group-details.mdx @@ -1,5 +1,6 @@ --- title: "Group Details" +description: "Group Details — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/group-members.mdx b/ui-kit/flutter/v4/group-members.mdx index f9ac3b87e..5bf2af85f 100644 --- a/ui-kit/flutter/v4/group-members.mdx +++ b/ui-kit/flutter/v4/group-members.mdx @@ -1,5 +1,6 @@ --- title: "Group Members" +description: "Group Members — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/group-transfer-ownership.mdx b/ui-kit/flutter/v4/group-transfer-ownership.mdx index 1f91478b8..398c46db4 100644 --- a/ui-kit/flutter/v4/group-transfer-ownership.mdx +++ b/ui-kit/flutter/v4/group-transfer-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Ownership" +description: "Transfer Ownership — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/groups-with-messages.mdx b/ui-kit/flutter/v4/groups-with-messages.mdx index 14fd9c18c..50bfa7049 100644 --- a/ui-kit/flutter/v4/groups-with-messages.mdx +++ b/ui-kit/flutter/v4/groups-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Groups With Messages" +description: "Groups With Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/groups.mdx b/ui-kit/flutter/v4/groups.mdx index c02e3d6c3..afb7e1a6d 100644 --- a/ui-kit/flutter/v4/groups.mdx +++ b/ui-kit/flutter/v4/groups.mdx @@ -1,5 +1,6 @@ --- title: "Groups" +description: "Groups — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/image-bubble.mdx b/ui-kit/flutter/v4/image-bubble.mdx index e78e89d67..e56985f21 100644 --- a/ui-kit/flutter/v4/image-bubble.mdx +++ b/ui-kit/flutter/v4/image-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Image Bubble" +description: "Image Bubble — CometChat documentation." --- `CometChatImageBubble` is the content view for a [MediaMessage](/sdk/flutter/send-message#media-message) if the media sent is an image. diff --git a/ui-kit/flutter/v4/incoming-call.mdx b/ui-kit/flutter/v4/incoming-call.mdx index 81f7b696e..a6d37e260 100644 --- a/ui-kit/flutter/v4/incoming-call.mdx +++ b/ui-kit/flutter/v4/incoming-call.mdx @@ -1,5 +1,6 @@ --- title: "Incoming Call" +description: "Incoming Call — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/interactive-action-entity.mdx b/ui-kit/flutter/v4/interactive-action-entity.mdx index e40bf9c29..029091568 100644 --- a/ui-kit/flutter/v4/interactive-action-entity.mdx +++ b/ui-kit/flutter/v4/interactive-action-entity.mdx @@ -1,5 +1,6 @@ --- title: "Action Entity" +description: "Action Entity — CometChat documentation." --- Base class for defining the type of actions that can be performed on `BaseInteractiveElement` diff --git a/ui-kit/flutter/v4/interactive-button-element.mdx b/ui-kit/flutter/v4/interactive-button-element.mdx index eb23377ff..04325dc3d 100644 --- a/ui-kit/flutter/v4/interactive-button-element.mdx +++ b/ui-kit/flutter/v4/interactive-button-element.mdx @@ -1,5 +1,6 @@ --- title: "Button Element" +description: "Button Element — CometChat documentation." --- The `ButtonElement` class, inherited from the `BaseInteractiveElement` class, represents an interactive button element that can be added to a chat interface. It comprises of properties like button text and a flag indicating whether the button should be disabled after interaction. diff --git a/ui-kit/flutter/v4/interactive-card-bubble.mdx b/ui-kit/flutter/v4/interactive-card-bubble.mdx index 6cb2f20a9..1daa3a140 100644 --- a/ui-kit/flutter/v4/interactive-card-bubble.mdx +++ b/ui-kit/flutter/v4/interactive-card-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Card Bubble" +description: "Card Bubble — CometChat documentation." --- The `CometChatCardBubble` component is used to display a card within a chat bubble. The card includes an image, text, and action buttons. It helps to offer action-oriented chat experiences, like booking a flight, ordering food, scheduling a meeting, etc., directly in the chat. diff --git a/ui-kit/flutter/v4/interactive-card-message.mdx b/ui-kit/flutter/v4/interactive-card-message.mdx index 459e42d27..35af21c24 100644 --- a/ui-kit/flutter/v4/interactive-card-message.mdx +++ b/ui-kit/flutter/v4/interactive-card-message.mdx @@ -1,5 +1,6 @@ --- title: "Card Message" +description: "Card Message — CometChat documentation." --- The `CardMessage` class is used to create a card message for CometChat. It extends the `InteractiveMessage` class from CometChat. diff --git a/ui-kit/flutter/v4/interactive-check-box-element.mdx b/ui-kit/flutter/v4/interactive-check-box-element.mdx index 6e11a6dca..d382007f9 100644 --- a/ui-kit/flutter/v4/interactive-check-box-element.mdx +++ b/ui-kit/flutter/v4/interactive-check-box-element.mdx @@ -1,5 +1,6 @@ --- title: "Check Box Element" +description: "Check Box Element — CometChat documentation." --- The `CheckboxElement` class is utilised to create a single selection input element in a user interface. diff --git a/ui-kit/flutter/v4/interactive-date-time-picker-element.mdx b/ui-kit/flutter/v4/interactive-date-time-picker-element.mdx index 1948f278f..b8ef237c9 100644 --- a/ui-kit/flutter/v4/interactive-date-time-picker-element.mdx +++ b/ui-kit/flutter/v4/interactive-date-time-picker-element.mdx @@ -1,5 +1,6 @@ --- title: "Date Time Picker Element" +description: "Date Time Picker Element — CometChat documentation." --- `DateTimeElement` is used to represent a single input field that allows to select date and time. diff --git a/ui-kit/flutter/v4/interactive-dropdown-element.mdx b/ui-kit/flutter/v4/interactive-dropdown-element.mdx index 9e65cbbed..418fa402d 100644 --- a/ui-kit/flutter/v4/interactive-dropdown-element.mdx +++ b/ui-kit/flutter/v4/interactive-dropdown-element.mdx @@ -1,5 +1,6 @@ --- title: "DropDown Element" +description: "DropDown Element — CometChat documentation." --- The `DropDownElement` class is utilised to create a single selection input element in a user interface. diff --git a/ui-kit/flutter/v4/interactive-element-entity.mdx b/ui-kit/flutter/v4/interactive-element-entity.mdx index bf94cb17f..a2ff9431f 100644 --- a/ui-kit/flutter/v4/interactive-element-entity.mdx +++ b/ui-kit/flutter/v4/interactive-element-entity.mdx @@ -1,5 +1,6 @@ --- title: "Element Entity" +description: "Element Entity — CometChat documentation." --- This is the base class for every element possible in the Interactive message component, defined by cometchat diff --git a/ui-kit/flutter/v4/interactive-form-bubble.mdx b/ui-kit/flutter/v4/interactive-form-bubble.mdx index b7136fd2e..054ad1587 100644 --- a/ui-kit/flutter/v4/interactive-form-bubble.mdx +++ b/ui-kit/flutter/v4/interactive-form-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Form Bubble" +description: "Form Bubble — CometChat documentation." --- The `CometChatFormBubble` component is used to render a [form](/ui-kit/flutter/v4/interactive-form-message) within a chat bubble. The form fields are dynamically built based on the data passed in the `message` prop. The form fields can include [TextInput Element](/ui-kit/flutter/v4/interactive-textinput-element), [Label Element](/ui-kit/flutter/v4/interactive-label-element), [Checkbox Element](/ui-kit/flutter/v4/interactive-check-box-element), [Radio Button Element](/ui-kit/flutter/v4/interactive-radio-button-element), [Dropdown](/web-elements/dropdown), [Single Select Element](/ui-kit/flutter/v4/single-select), [Button Element](/ui-kit/flutter/v4/button). Once the form is filled out and submitted, the data will be sent to the provided URL or handled by a custom function. diff --git a/ui-kit/flutter/v4/interactive-form-message.mdx b/ui-kit/flutter/v4/interactive-form-message.mdx index 0e3b9a804..c6721e27a 100644 --- a/ui-kit/flutter/v4/interactive-form-message.mdx +++ b/ui-kit/flutter/v4/interactive-form-message.mdx @@ -1,5 +1,6 @@ --- title: "Form Message" +description: "Form Message — CometChat documentation." --- The `FormMessage` class is used to create an interactive form message that can be sent via CometChat. It extends the [Interactive Messages](/sdk/flutter/interactive-messages) class from CometChat. diff --git a/ui-kit/flutter/v4/interactive-label-element.mdx b/ui-kit/flutter/v4/interactive-label-element.mdx index c92f07496..426e25091 100644 --- a/ui-kit/flutter/v4/interactive-label-element.mdx +++ b/ui-kit/flutter/v4/interactive-label-element.mdx @@ -1,5 +1,6 @@ --- title: "Label Element" +description: "Label Element — CometChat documentation." --- The `LabelElement` class enables the creation of a label element in a user interface. diff --git a/ui-kit/flutter/v4/interactive-radio-button-element.mdx b/ui-kit/flutter/v4/interactive-radio-button-element.mdx index 823ff95c8..e872f5a25 100644 --- a/ui-kit/flutter/v4/interactive-radio-button-element.mdx +++ b/ui-kit/flutter/v4/interactive-radio-button-element.mdx @@ -1,5 +1,6 @@ --- title: "Radio Button Element" +description: "Radio Button Element — CometChat documentation." --- The `RadioButtonElement` class is utilised to create a single selection input element in a user interface. diff --git a/ui-kit/flutter/v4/interactive-scheduler-bubble.mdx b/ui-kit/flutter/v4/interactive-scheduler-bubble.mdx index fa73093a1..5c3ef7b9b 100644 --- a/ui-kit/flutter/v4/interactive-scheduler-bubble.mdx +++ b/ui-kit/flutter/v4/interactive-scheduler-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Scheduler Bubble" +description: "Scheduler Bubble — CometChat documentation." --- CometChatSchedulerBubble is a versatile type of message widget designed to facilitate easy and efficient event scheduling. It offers the following key features: diff --git a/ui-kit/flutter/v4/interactive-scheduler-message.mdx b/ui-kit/flutter/v4/interactive-scheduler-message.mdx index ff07db2d8..000bb796f 100644 --- a/ui-kit/flutter/v4/interactive-scheduler-message.mdx +++ b/ui-kit/flutter/v4/interactive-scheduler-message.mdx @@ -1,5 +1,6 @@ --- title: "Scheduler Message" +description: "Scheduler Message — CometChat documentation." --- The `SchedulerMessage` class is used to create an interactive scheduler message that can be sent via CometChat. It extends the [Interactive Messages](/sdk/flutter/interactive-messages) class from CometChat. diff --git a/ui-kit/flutter/v4/interactive-textinput-element.mdx b/ui-kit/flutter/v4/interactive-textinput-element.mdx index ba8981941..e6c930b22 100644 --- a/ui-kit/flutter/v4/interactive-textinput-element.mdx +++ b/ui-kit/flutter/v4/interactive-textinput-element.mdx @@ -1,5 +1,6 @@ --- title: "TextInput Element" +description: "TextInput Element — CometChat documentation." --- The `TextInputElement` class is used to create a text input element in a user interface. diff --git a/ui-kit/flutter/v4/join-protected-group.mdx b/ui-kit/flutter/v4/join-protected-group.mdx index be2f41a93..5723f763e 100644 --- a/ui-kit/flutter/v4/join-protected-group.mdx +++ b/ui-kit/flutter/v4/join-protected-group.mdx @@ -1,5 +1,6 @@ --- title: "Join Protected Group" +description: "Join Protected Group — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/list-base.mdx b/ui-kit/flutter/v4/list-base.mdx index 9f3c7f321..4fdf3fffb 100644 --- a/ui-kit/flutter/v4/list-base.mdx +++ b/ui-kit/flutter/v4/list-base.mdx @@ -1,5 +1,6 @@ --- title: "List Base" +description: "List Base — CometChat documentation." --- `CometChatListBase` is a scaffolding widget which displays contents passed as child used across `CometChatConversations`, `CometChatGroups` & `CometChatUsers`. diff --git a/ui-kit/flutter/v4/list-item.mdx b/ui-kit/flutter/v4/list-item.mdx index 5c7b16df6..5586d225d 100644 --- a/ui-kit/flutter/v4/list-item.mdx +++ b/ui-kit/flutter/v4/list-item.mdx @@ -1,5 +1,6 @@ --- title: "List Item" +description: "List Item — CometChat documentation." --- `CometChatListItem` contains one to three lines of text optionally flanked by icons or other widgets, such as `CometChatAvatar`, `CometChatDate` or `Text`. `CometChatAvatar` will always be shown in the leading view therefore either one among the `avatarURL` or `avatarName` must be provided. The icons (or other widgets) for the list item are defined with the `tailView` parameter. The first line of text is optional and is specified with `title`. The value of subtitle is also optional, will occupy the space allocated for an additional line of text or some other widget. diff --git a/ui-kit/flutter/v4/localize.mdx b/ui-kit/flutter/v4/localize.mdx index 4b15c1bb7..c6886b7aa 100644 --- a/ui-kit/flutter/v4/localize.mdx +++ b/ui-kit/flutter/v4/localize.mdx @@ -1,5 +1,6 @@ --- title: "Localize" +description: "Localize — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/media-recorder.mdx b/ui-kit/flutter/v4/media-recorder.mdx index 29f9d4f40..18290b795 100644 --- a/ui-kit/flutter/v4/media-recorder.mdx +++ b/ui-kit/flutter/v4/media-recorder.mdx @@ -1,5 +1,6 @@ --- title: "Media Recorder" +description: "Media Recorder — CometChat documentation." --- `CometChatMediaRecorder` is a class that allows users to record and send audio messages. It has a start button to start recording, a stop button to stop recording, a play button to play the recorded message, a pause button to pause the recorded message, a submit button to submit the recorded message and a close button to close the media recorder. diff --git a/ui-kit/flutter/v4/mentions-formatter-guide.mdx b/ui-kit/flutter/v4/mentions-formatter-guide.mdx index 4136beee1..bc623c8ad 100644 --- a/ui-kit/flutter/v4/mentions-formatter-guide.mdx +++ b/ui-kit/flutter/v4/mentions-formatter-guide.mdx @@ -1,5 +1,6 @@ --- title: "Mentions Formatter" +description: "Mentions Formatter — CometChat integration guide." --- ## Overview diff --git a/ui-kit/flutter/v4/message-bubble.mdx b/ui-kit/flutter/v4/message-bubble.mdx index 618da0348..1404678b5 100644 --- a/ui-kit/flutter/v4/message-bubble.mdx +++ b/ui-kit/flutter/v4/message-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Message Bubble" +description: "Message Bubble — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/message-composer.mdx b/ui-kit/flutter/v4/message-composer.mdx index 4c1ea001d..48dbe86eb 100644 --- a/ui-kit/flutter/v4/message-composer.mdx +++ b/ui-kit/flutter/v4/message-composer.mdx @@ -1,5 +1,6 @@ --- title: "Message Composer" +description: "Message Composer — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/message-header.mdx b/ui-kit/flutter/v4/message-header.mdx index 644cef9f5..433410dd5 100644 --- a/ui-kit/flutter/v4/message-header.mdx +++ b/ui-kit/flutter/v4/message-header.mdx @@ -1,5 +1,6 @@ --- title: "Message Header" +description: "Message Header — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/message-information.mdx b/ui-kit/flutter/v4/message-information.mdx index 3dc29f236..9a5d28850 100644 --- a/ui-kit/flutter/v4/message-information.mdx +++ b/ui-kit/flutter/v4/message-information.mdx @@ -1,5 +1,6 @@ --- title: "Message Information" +description: "Message Information — CometChat documentation." --- The `CometChatMessageInformation` is a [Widget](/ui-kit/flutter/v4/components-overview#components) designed to display message-related information, such as delivery and read receipts. It serves as an integral part of the CometChat UI UI Kit, extending the [ListBase](/ui-kit/flutter/v4/list-base) class, which provides the underlying infrastructure for CometChat UI widgets. With its rich set of methods and properties, developers can easily customize and tailor the appearance and behavior of the message information widget to suit the specific requirements of their application. diff --git a/ui-kit/flutter/v4/message-input.mdx b/ui-kit/flutter/v4/message-input.mdx index 18cde18ab..aa7412775 100644 --- a/ui-kit/flutter/v4/message-input.mdx +++ b/ui-kit/flutter/v4/message-input.mdx @@ -1,5 +1,6 @@ --- title: "Message Input" +description: "Message Input — CometChat documentation." --- `CometChatMessageInput` is a component that provides a skeleton layout for contents of [CometChatMessageComposer](/ui-kit/flutter/v4/message-composer) like `TextField`, auxiliary options, primary button view and attachment options. diff --git a/ui-kit/flutter/v4/message-list.mdx b/ui-kit/flutter/v4/message-list.mdx index 96eafc786..6253ae173 100644 --- a/ui-kit/flutter/v4/message-list.mdx +++ b/ui-kit/flutter/v4/message-list.mdx @@ -1,5 +1,6 @@ --- title: "Message List" +description: "Message List — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/message-template.mdx b/ui-kit/flutter/v4/message-template.mdx index d671bcdaa..4addec00c 100644 --- a/ui-kit/flutter/v4/message-template.mdx +++ b/ui-kit/flutter/v4/message-template.mdx @@ -1,5 +1,6 @@ --- title: "Message Template" +description: "Message Template — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/messages.mdx b/ui-kit/flutter/v4/messages.mdx index 172813c22..988d1508e 100644 --- a/ui-kit/flutter/v4/messages.mdx +++ b/ui-kit/flutter/v4/messages.mdx @@ -1,5 +1,6 @@ --- title: "Messages" +description: "Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/methods.mdx b/ui-kit/flutter/v4/methods.mdx index b616d847b..2ca332cd3 100644 --- a/ui-kit/flutter/v4/methods.mdx +++ b/ui-kit/flutter/v4/methods.mdx @@ -1,5 +1,6 @@ --- title: "Methods" +description: "Methods — CometChat documentation." --- ## Overview @@ -93,9 +94,9 @@ CometChatUIKit.login(uid, onSuccess: (s) { This advanced authentication procedure does not use the Auth Key directly in your client code thus ensuring safety. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `loginWithAuthToken()` method. diff --git a/ui-kit/flutter/v4/multi-tab-chat-ui-guide.mdx b/ui-kit/flutter/v4/multi-tab-chat-ui-guide.mdx index 949a0cc3d..24f03ebfa 100644 --- a/ui-kit/flutter/v4/multi-tab-chat-ui-guide.mdx +++ b/ui-kit/flutter/v4/multi-tab-chat-ui-guide.mdx @@ -1,5 +1,6 @@ --- title: "Multi Tab Chat UI Guide" +description: "Multi Tab Chat UI Guide — CometChat integration guide." --- This guide will help you create a multi-tab chat user interface using the cometchat\_chat\_uikit package in Flutter. The final UI will consist of three tabs: Conversations, Users, and Groups. diff --git a/ui-kit/flutter/v4/ongoing-call.mdx b/ui-kit/flutter/v4/ongoing-call.mdx index 225e178e2..de16bb05c 100644 --- a/ui-kit/flutter/v4/ongoing-call.mdx +++ b/ui-kit/flutter/v4/ongoing-call.mdx @@ -1,5 +1,6 @@ --- title: "Ongoing Call" +description: "Ongoing Call — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/outgoing-call.mdx b/ui-kit/flutter/v4/outgoing-call.mdx index aff2dfec2..ffb995f8b 100644 --- a/ui-kit/flutter/v4/outgoing-call.mdx +++ b/ui-kit/flutter/v4/outgoing-call.mdx @@ -1,5 +1,6 @@ --- title: "Outgoing Call" +description: "Outgoing Call — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/overview.mdx b/ui-kit/flutter/v4/overview.mdx index 426bacdce..0aa179975 100644 --- a/ui-kit/flutter/v4/overview.mdx +++ b/ui-kit/flutter/v4/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- CometChat's UI Kit for Flutter simplifies the development of chat applications by providing a comprehensive set of customizable UI widgets. These widgets are organized into modules, allowing for easy integration and adaptation to match the specific requirements of your app. With this UI Kit, you can effortlessly incorporate essential messaging features while tailoring the interface to align with your application's unique style and functionality. diff --git a/ui-kit/flutter/v4/quick-view.mdx b/ui-kit/flutter/v4/quick-view.mdx index 476dda9c9..5bf5c959e 100644 --- a/ui-kit/flutter/v4/quick-view.mdx +++ b/ui-kit/flutter/v4/quick-view.mdx @@ -1,5 +1,6 @@ --- title: "Quick View" +description: "Quick View — CometChat documentation." --- CometChat's Quick View component allows you to create a quick overview panel with a title, subtitle, and an optional close button. diff --git a/ui-kit/flutter/v4/reactions-list.mdx b/ui-kit/flutter/v4/reactions-list.mdx index 002f91923..b1bfb81e3 100644 --- a/ui-kit/flutter/v4/reactions-list.mdx +++ b/ui-kit/flutter/v4/reactions-list.mdx @@ -1,5 +1,6 @@ --- title: "Reactions List" +description: "Reactions List — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/reactions.mdx b/ui-kit/flutter/v4/reactions.mdx index bb5634c0e..fa56b75cc 100644 --- a/ui-kit/flutter/v4/reactions.mdx +++ b/ui-kit/flutter/v4/reactions.mdx @@ -1,6 +1,7 @@ --- title: "Reactions" sidebarTitle: "Overview" +description: "Reactions — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/receipt.mdx b/ui-kit/flutter/v4/receipt.mdx index a75ee16d0..1023b39e0 100644 --- a/ui-kit/flutter/v4/receipt.mdx +++ b/ui-kit/flutter/v4/receipt.mdx @@ -1,5 +1,6 @@ --- title: "Receipt" +description: "Receipt — CometChat documentation." --- The `CometChatReceipt` component renders the receipts such as sending, sent, delivered, read, and error state indicators of a message. diff --git a/ui-kit/flutter/v4/shortcut-formatter-guide.mdx b/ui-kit/flutter/v4/shortcut-formatter-guide.mdx index 6660a6eff..33a7161d7 100644 --- a/ui-kit/flutter/v4/shortcut-formatter-guide.mdx +++ b/ui-kit/flutter/v4/shortcut-formatter-guide.mdx @@ -1,5 +1,6 @@ --- title: "Shortcut Formatter" +description: "Shortcut Formatter — CometChat integration guide." --- ## Introduction diff --git a/ui-kit/flutter/v4/single-select.mdx b/ui-kit/flutter/v4/single-select.mdx index 907dfffb8..106652d47 100644 --- a/ui-kit/flutter/v4/single-select.mdx +++ b/ui-kit/flutter/v4/single-select.mdx @@ -1,5 +1,6 @@ --- title: "Single Select" +description: "Single Select — CometChat documentation." --- The `CometChatSingleSelect` component is a customizable Single Select component that allows you to choose one option from a list of box-structured options. diff --git a/ui-kit/flutter/v4/sound-manager.mdx b/ui-kit/flutter/v4/sound-manager.mdx index fd3317552..6e7fa02f0 100644 --- a/ui-kit/flutter/v4/sound-manager.mdx +++ b/ui-kit/flutter/v4/sound-manager.mdx @@ -1,5 +1,6 @@ --- title: "Sound Manager" +description: "Sound Manager — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/status-indicator.mdx b/ui-kit/flutter/v4/status-indicator.mdx index 7589a75c4..c118ad73d 100644 --- a/ui-kit/flutter/v4/status-indicator.mdx +++ b/ui-kit/flutter/v4/status-indicator.mdx @@ -1,5 +1,6 @@ --- title: "Status Indicator" +description: "Status Indicator — CometChat documentation." --- `CometChatStatusIndicator` is a component which indicates whether user is online or offline. You can customize the `border` and `background color` of this component. diff --git a/ui-kit/flutter/v4/text-bubble.mdx b/ui-kit/flutter/v4/text-bubble.mdx index 9fc219b4a..1d2e7b285 100644 --- a/ui-kit/flutter/v4/text-bubble.mdx +++ b/ui-kit/flutter/v4/text-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Text Bubble" +description: "Text Bubble — CometChat documentation." --- `CometChatTextBubble` is the content view shown for [TextMessage](/sdk/flutter/send-message#text-message). diff --git a/ui-kit/flutter/v4/theme.mdx b/ui-kit/flutter/v4/theme.mdx index 657dee3a5..b18ee26d0 100644 --- a/ui-kit/flutter/v4/theme.mdx +++ b/ui-kit/flutter/v4/theme.mdx @@ -1,5 +1,6 @@ --- title: "Theme" +description: "Theme — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/threaded-messages.mdx b/ui-kit/flutter/v4/threaded-messages.mdx index 9c5b07149..0f902038f 100644 --- a/ui-kit/flutter/v4/threaded-messages.mdx +++ b/ui-kit/flutter/v4/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/user-details.mdx b/ui-kit/flutter/v4/user-details.mdx index 62dd81ec1..00d5dbbcb 100644 --- a/ui-kit/flutter/v4/user-details.mdx +++ b/ui-kit/flutter/v4/user-details.mdx @@ -1,5 +1,6 @@ --- title: "User Details" +description: "User Details — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/users-with-messages.mdx b/ui-kit/flutter/v4/users-with-messages.mdx index 9edae1518..f7634d35a 100644 --- a/ui-kit/flutter/v4/users-with-messages.mdx +++ b/ui-kit/flutter/v4/users-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Users With Messages" +description: "Users With Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/users.mdx b/ui-kit/flutter/v4/users.mdx index 0c42bbb05..e682517b7 100644 --- a/ui-kit/flutter/v4/users.mdx +++ b/ui-kit/flutter/v4/users.mdx @@ -1,5 +1,6 @@ --- title: "Users" +description: "Users — CometChat documentation." --- ## Overview diff --git a/ui-kit/flutter/v4/video-bubble.mdx b/ui-kit/flutter/v4/video-bubble.mdx index 7d2e9a5a5..32b92f825 100644 --- a/ui-kit/flutter/v4/video-bubble.mdx +++ b/ui-kit/flutter/v4/video-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Video Bubble" +description: "Video Bubble — CometChat documentation." --- `CometChatVideoBubble` is the content view for a [MediaMessage](/sdk/flutter/send-message#media-message) if the media sent is a video. diff --git a/ui-kit/ios/compact-message-composer.mdx b/ui-kit/ios/compact-message-composer.mdx index e49da9411..8916e9f04 100644 --- a/ui-kit/ios/compact-message-composer.mdx +++ b/ui-kit/ios/compact-message-composer.mdx @@ -1,5 +1,6 @@ --- title: "Compact Message Composer" +description: "Compact Message Composer — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/getting-started.mdx b/ui-kit/ios/getting-started.mdx index 007725f07..02c21791f 100644 --- a/ui-kit/ios/getting-started.mdx +++ b/ui-kit/ios/getting-started.mdx @@ -45,7 +45,7 @@ You also need: - macOS -Auth Key is for development only. In production, generate Auth Tokens server-side via the [REST API](https://api-explorer.cometchat.com/) and use [`loginWithAuthToken()`](/ui-kit/ios/methods#login-using-auth-token). Never ship Auth Keys in client code. +Auth Key is for development only. In production, generate Auth Tokens server-side via the [REST API](/rest-api/chat-apis) and use [`loginWithAuthToken()`](/ui-kit/ios/methods#login-using-auth-token). Never ship Auth Keys in client code. --- @@ -230,7 +230,7 @@ For development, use one of the pre-created test UIDs: `cometchat-uid-1` · `cometchat-uid-2` · `cometchat-uid-3` · `cometchat-uid-4` · `cometchat-uid-5` -Or create new users via the [CometChat Dashboard](https://app.cometchat.com), [SDK method](/ui-kit/ios/methods#create-user), or [REST API](https://api-explorer.cometchat.com/reference/creates-user). +Or create new users via the [CometChat Dashboard](https://app.cometchat.com), [SDK method](/ui-kit/ios/methods#create-user), or [REST API](/rest-api/chat-apis). After running the app, you should see: diff --git a/ui-kit/ios/link/changelog.mdx b/ui-kit/ios/link/changelog.mdx index 93875d746..091346209 100644 --- a/ui-kit/ios/link/changelog.mdx +++ b/ui-kit/ios/link/changelog.mdx @@ -1,4 +1,5 @@ --- title: "Changelog" url: "https://github.com/cometchat/cometchat-uikit-ios/releases" +description: "Navigate to Changelog documentation." --- \ No newline at end of file diff --git a/ui-kit/ios/link/figma.mdx b/ui-kit/ios/link/figma.mdx index afbd1a467..077585558 100644 --- a/ui-kit/ios/link/figma.mdx +++ b/ui-kit/ios/link/figma.mdx @@ -1,4 +1,5 @@ --- title: "Figma Design" url: "https://www.figma.com/community/file/1444325479486807899/cometchat-ui-kit-for-ios" +description: "Navigate to Figma Design documentation." --- \ No newline at end of file diff --git a/ui-kit/ios/link/sample.mdx b/ui-kit/ios/link/sample.mdx index 394270a49..5caddcef2 100644 --- a/ui-kit/ios/link/sample.mdx +++ b/ui-kit/ios/link/sample.mdx @@ -1,4 +1,5 @@ --- title: "iOS Sample App" url: "https://github.com/cometchat/cometchat-uikit-ios/tree/v5" +description: "Navigate to iOS Sample App documentation." --- \ No newline at end of file diff --git a/ui-kit/ios/methods.mdx b/ui-kit/ios/methods.mdx index d59caae27..f74169ab3 100644 --- a/ui-kit/ios/methods.mdx +++ b/ui-kit/ios/methods.mdx @@ -130,8 +130,8 @@ CometChatUIKit.login(uid: "uid") { (result) in This advanced authentication procedure does not use the Auth Key directly in your client code, ensuring better security. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `login(authToken:)` method. diff --git a/ui-kit/ios/v2/ios-2-0-overview.mdx b/ui-kit/ios/v2/ios-2-0-overview.mdx index a2b556226..2e8ebe5f6 100644 --- a/ui-kit/ios/v2/ios-2-0-overview.mdx +++ b/ui-kit/ios/v2/ios-2-0-overview.mdx @@ -1,4 +1,5 @@ --- title: "iOS SDK" url: "/sdk/ios/2.0/overview" +description: "Navigate to iOS SDK documentation." --- \ No newline at end of file diff --git a/ui-kit/ios/v2/ios-customize-ui-kit.mdx b/ui-kit/ios/v2/ios-customize-ui-kit.mdx index 2d110fd39..645404678 100644 --- a/ui-kit/ios/v2/ios-customize-ui-kit.mdx +++ b/ui-kit/ios/v2/ios-customize-ui-kit.mdx @@ -1,5 +1,6 @@ --- title: "Customize UI Kit" +description: "Customize UI Kit — CometChat documentation." --- diff --git a/ui-kit/ios/v2/key-concepts.mdx b/ui-kit/ios/v2/key-concepts.mdx index deb56e53a..b7e97a976 100644 --- a/ui-kit/ios/v2/key-concepts.mdx +++ b/ui-kit/ios/v2/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- ### CometChat Dashboard diff --git a/ui-kit/ios/v2/message-structure-and-hierarchy.mdx b/ui-kit/ios/v2/message-structure-and-hierarchy.mdx index 06692c9d0..6272c3ae3 100644 --- a/ui-kit/ios/v2/message-structure-and-hierarchy.mdx +++ b/ui-kit/ios/v2/message-structure-and-hierarchy.mdx @@ -1,5 +1,6 @@ --- title: "Message Structure And Hierarchy" +description: "Message Structure And Hierarchy — CometChat documentation." --- The below diagram helps you better understand the various message categories and types that a CometChat message can belong to. diff --git a/ui-kit/ios/v2/overview.mdx b/ui-kit/ios/v2/overview.mdx index 1e53bb3d5..ac7f408b0 100644 --- a/ui-kit/ios/v2/overview.mdx +++ b/ui-kit/ios/v2/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- The **CometChat iOS UI Kit** is developed to keep developers in mind and aims to reduce development efforts significantly. diff --git a/ui-kit/ios/v2/ui-components.mdx b/ui-kit/ios/v2/ui-components.mdx index 837acd545..f818a97a8 100644 --- a/ui-kit/ios/v2/ui-components.mdx +++ b/ui-kit/ios/v2/ui-components.mdx @@ -1,5 +1,6 @@ --- title: "UI Components" +description: "UI Components — CometChat documentation." --- **UI Components** are building blocks of the UI Kit. **UI Components** are a set of custom classes specially designed to build a rich chat app. There are different UI Components available in the UI Kit Library. diff --git a/ui-kit/ios/v3/customize-ui-kit.mdx b/ui-kit/ios/v3/customize-ui-kit.mdx index fde305dcf..678aa02c2 100644 --- a/ui-kit/ios/v3/customize-ui-kit.mdx +++ b/ui-kit/ios/v3/customize-ui-kit.mdx @@ -1,5 +1,6 @@ --- title: "Customize UI Kit" +description: "Customize UI Kit — CometChat documentation." --- diff --git a/ui-kit/ios/v3/ios-3-0-overview.mdx b/ui-kit/ios/v3/ios-3-0-overview.mdx index 1463fde85..87e7e8757 100644 --- a/ui-kit/ios/v3/ios-3-0-overview.mdx +++ b/ui-kit/ios/v3/ios-3-0-overview.mdx @@ -1,4 +1,5 @@ --- title: "iOS SDK" url: "/sdk/ios/3.0/overview" +description: "Navigate to iOS SDK documentation." --- \ No newline at end of file diff --git a/ui-kit/ios/v3/ios-ui-components.mdx b/ui-kit/ios/v3/ios-ui-components.mdx index 99cf79af0..eaf36d406 100644 --- a/ui-kit/ios/v3/ios-ui-components.mdx +++ b/ui-kit/ios/v3/ios-ui-components.mdx @@ -1,5 +1,6 @@ --- title: "UI Components" +description: "UI Components — CometChat documentation." --- **UI Components** are building blocks of the UI Kit. **UI Components** are a set of custom classes specially designed to build a rich chat app. There are different UI Components available in the UI Kit Library. diff --git a/ui-kit/ios/v3/key-concepts.mdx b/ui-kit/ios/v3/key-concepts.mdx index deb56e53a..b7e97a976 100644 --- a/ui-kit/ios/v3/key-concepts.mdx +++ b/ui-kit/ios/v3/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- ### CometChat Dashboard diff --git a/ui-kit/ios/v3/link/extension.mdx b/ui-kit/ios/v3/link/extension.mdx index 29c1774bd..d7eadbbe5 100644 --- a/ui-kit/ios/v3/link/extension.mdx +++ b/ui-kit/ios/v3/link/extension.mdx @@ -1,4 +1,5 @@ --- title: "Extensions" url: "/fundamentals/extensions-overview" +description: "Navigate to Extensions documentation." --- \ No newline at end of file diff --git a/ui-kit/ios/v3/link/version.mdx b/ui-kit/ios/v3/link/version.mdx index afe9576f3..a01a9ff8f 100644 --- a/ui-kit/ios/v3/link/version.mdx +++ b/ui-kit/ios/v3/link/version.mdx @@ -1,4 +1,5 @@ --- title: "Version 4" url: "/ui-kit/ios/v4/overview" +description: "Navigate to Version 4 documentation." --- \ No newline at end of file diff --git a/ui-kit/ios/v3/overview.mdx b/ui-kit/ios/v3/overview.mdx index d58b9a8bc..d1f913685 100644 --- a/ui-kit/ios/v3/overview.mdx +++ b/ui-kit/ios/v3/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- The **CometChat Swift UI Kit** lets developers integrate text chat and voice/video calling features into iOS apps seamlessly. diff --git a/ui-kit/ios/v4/action-sheet.mdx b/ui-kit/ios/v4/action-sheet.mdx index abac536a4..3ecda5fc7 100644 --- a/ui-kit/ios/v4/action-sheet.mdx +++ b/ui-kit/ios/v4/action-sheet.mdx @@ -1,5 +1,6 @@ --- title: "Action Sheet" +description: "Action Sheet — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/ai-features.mdx b/ui-kit/ios/v4/ai-features.mdx index be875ba3c..6c8d5b8ad 100644 --- a/ui-kit/ios/v4/ai-features.mdx +++ b/ui-kit/ios/v4/ai-features.mdx @@ -1,5 +1,6 @@ --- title: "AI" +description: "AI — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/audio-bubble.mdx b/ui-kit/ios/v4/audio-bubble.mdx index 9dbb5f502..5196d9707 100644 --- a/ui-kit/ios/v4/audio-bubble.mdx +++ b/ui-kit/ios/v4/audio-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Audio Bubble" +description: "Audio Bubble — CometChat documentation." --- `CometChatAudioBubble` is the content view for a MediaMessage if the media sent is an audio. diff --git a/ui-kit/ios/v4/avatar.mdx b/ui-kit/ios/v4/avatar.mdx index 5436c78a7..9d1ef959d 100644 --- a/ui-kit/ios/v4/avatar.mdx +++ b/ui-kit/ios/v4/avatar.mdx @@ -1,5 +1,6 @@ --- title: "Avatar" +description: "Avatar — CometChat documentation." --- The `CometChatAvatar` component displays user and group avatars. For users and groups , it displays either an image or the user's avatar and falls back to the first two letters of the username. diff --git a/ui-kit/ios/v4/badge.mdx b/ui-kit/ios/v4/badge.mdx index f7316a837..c4471d329 100644 --- a/ui-kit/ios/v4/badge.mdx +++ b/ui-kit/ios/v4/badge.mdx @@ -1,5 +1,6 @@ --- title: "Badge" +description: "Badge — CometChat documentation." --- The `CometChatBadge` component displays the unread count of messages for one-to-one private and group chats. diff --git a/ui-kit/ios/v4/call-buttons.mdx b/ui-kit/ios/v4/call-buttons.mdx index 7a4ccd546..48d230335 100644 --- a/ui-kit/ios/v4/call-buttons.mdx +++ b/ui-kit/ios/v4/call-buttons.mdx @@ -1,5 +1,6 @@ --- title: "Call Buttons" +description: "Call Buttons — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/call-features.mdx b/ui-kit/ios/v4/call-features.mdx index 423cc28ae..a54a12c5a 100644 --- a/ui-kit/ios/v4/call-features.mdx +++ b/ui-kit/ios/v4/call-features.mdx @@ -1,5 +1,6 @@ --- title: "Call" +description: "Call — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/call-log-details.mdx b/ui-kit/ios/v4/call-log-details.mdx index 6f5974474..f7506f089 100644 --- a/ui-kit/ios/v4/call-log-details.mdx +++ b/ui-kit/ios/v4/call-log-details.mdx @@ -1,5 +1,6 @@ --- title: "Call Log Details" +description: "Call Log Details — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/call-log-history.mdx b/ui-kit/ios/v4/call-log-history.mdx index 142209e0b..32ed77d0c 100644 --- a/ui-kit/ios/v4/call-log-history.mdx +++ b/ui-kit/ios/v4/call-log-history.mdx @@ -1,5 +1,6 @@ --- title: "Call Log History" +description: "Call Log History — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/call-log-participants.mdx b/ui-kit/ios/v4/call-log-participants.mdx index 46c97e4ce..175569c5f 100644 --- a/ui-kit/ios/v4/call-log-participants.mdx +++ b/ui-kit/ios/v4/call-log-participants.mdx @@ -1,5 +1,6 @@ --- title: "Call Log Participants" +description: "Call Log Participants — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/call-log-recording.mdx b/ui-kit/ios/v4/call-log-recording.mdx index 943eb561d..3c9f81793 100644 --- a/ui-kit/ios/v4/call-log-recording.mdx +++ b/ui-kit/ios/v4/call-log-recording.mdx @@ -1,5 +1,6 @@ --- title: "Call Log Recordings" +description: "Call Log Recordings — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/call-log-with-details.mdx b/ui-kit/ios/v4/call-log-with-details.mdx index 9e358f267..f2d34c4fc 100644 --- a/ui-kit/ios/v4/call-log-with-details.mdx +++ b/ui-kit/ios/v4/call-log-with-details.mdx @@ -1,5 +1,6 @@ --- title: "Call Log With Details" +description: "Call Log With Details — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/call-logs.mdx b/ui-kit/ios/v4/call-logs.mdx index 6ae31a87a..a46472c1e 100644 --- a/ui-kit/ios/v4/call-logs.mdx +++ b/ui-kit/ios/v4/call-logs.mdx @@ -1,5 +1,6 @@ --- title: "Call Logs" +description: "Call Logs — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/call-overview.mdx b/ui-kit/ios/v4/call-overview.mdx index b7023716b..be9cc8b1f 100644 --- a/ui-kit/ios/v4/call-overview.mdx +++ b/ui-kit/ios/v4/call-overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- ## Overview diff --git a/ui-kit/ios/v4/components-overview.mdx b/ui-kit/ios/v4/components-overview.mdx index 3888e4b00..63287042d 100644 --- a/ui-kit/ios/v4/components-overview.mdx +++ b/ui-kit/ios/v4/components-overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- CometChat's **UI Kit** is a set of pre-built UI components that allows you to easily craft an in-app chat with all the essential messaging features. diff --git a/ui-kit/ios/v4/contacts.mdx b/ui-kit/ios/v4/contacts.mdx index 128716cb0..d3e024ba9 100644 --- a/ui-kit/ios/v4/contacts.mdx +++ b/ui-kit/ios/v4/contacts.mdx @@ -1,5 +1,6 @@ --- title: "Contacts" +description: "Contacts — CometChat documentation." --- `CometChatContacts` is a `UIViewController` specifically designed to facilitate the display and management of users and groups within chat applications. It streamlines the process of showcasing all app users and available chat groups in a user-friendly interface, making it easier for users to connect and communicate effectively. Additionally, the view controller includes a `UISegmentedControl` to switch between the users and groups list, enhancing navigation and usability. diff --git a/ui-kit/ios/v4/conversations-with-messages.mdx b/ui-kit/ios/v4/conversations-with-messages.mdx index ef62f8248..5700d57a8 100644 --- a/ui-kit/ios/v4/conversations-with-messages.mdx +++ b/ui-kit/ios/v4/conversations-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Conversations With Messages" +description: "Conversations With Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/conversations.mdx b/ui-kit/ios/v4/conversations.mdx index 7e8a0c478..7182c9735 100644 --- a/ui-kit/ios/v4/conversations.mdx +++ b/ui-kit/ios/v4/conversations.mdx @@ -1,5 +1,6 @@ --- title: "Conversations" +description: "Conversations — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/core-features.mdx b/ui-kit/ios/v4/core-features.mdx index 64bb66cdc..52c15668e 100644 --- a/ui-kit/ios/v4/core-features.mdx +++ b/ui-kit/ios/v4/core-features.mdx @@ -1,5 +1,6 @@ --- title: "Core" +description: "Core — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/create-group.mdx b/ui-kit/ios/v4/create-group.mdx index 8ddef31e9..0d8b80d07 100644 --- a/ui-kit/ios/v4/create-group.mdx +++ b/ui-kit/ios/v4/create-group.mdx @@ -1,5 +1,6 @@ --- title: "Create Group" +description: "Create Group — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/date.mdx b/ui-kit/ios/v4/date.mdx index f3dcfad50..13d589447 100644 --- a/ui-kit/ios/v4/date.mdx +++ b/ui-kit/ios/v4/date.mdx @@ -1,5 +1,6 @@ --- title: "Date" +description: "Date — CometChat documentation." --- `CometChatDate` is a UILabel which is used to show the date and time. It provides various methods to customize the appearance and behavior of the CometChatDate. diff --git a/ui-kit/ios/v4/events.mdx b/ui-kit/ios/v4/events.mdx index c159fa652..03c877f1e 100644 --- a/ui-kit/ios/v4/events.mdx +++ b/ui-kit/ios/v4/events.mdx @@ -1,5 +1,6 @@ --- title: "Events" +description: "Events — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/extensions.mdx b/ui-kit/ios/v4/extensions.mdx index d5f46e4a5..df6d45c59 100644 --- a/ui-kit/ios/v4/extensions.mdx +++ b/ui-kit/ios/v4/extensions.mdx @@ -1,5 +1,6 @@ --- title: "Extensions" +description: "Extensions — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/file-bubble.mdx b/ui-kit/ios/v4/file-bubble.mdx index 70eeb7c0b..753f6a519 100644 --- a/ui-kit/ios/v4/file-bubble.mdx +++ b/ui-kit/ios/v4/file-bubble.mdx @@ -1,5 +1,6 @@ --- title: "File Bubble" +description: "File Bubble — CometChat documentation." --- CometChatFileBubble is the content view for a MediaMessage if the media sent is an file. diff --git a/ui-kit/ios/v4/getting-started.mdx b/ui-kit/ios/v4/getting-started.mdx index 34395baa1..2c7f8c3c0 100644 --- a/ui-kit/ios/v4/getting-started.mdx +++ b/ui-kit/ios/v4/getting-started.mdx @@ -1,5 +1,6 @@ --- title: "Getting Started" +description: "Getting Started — CometChat documentation." --- ## Start your first conversation diff --git a/ui-kit/ios/v4/group-add-members.mdx b/ui-kit/ios/v4/group-add-members.mdx index 03e6bb4ac..bada837c6 100644 --- a/ui-kit/ios/v4/group-add-members.mdx +++ b/ui-kit/ios/v4/group-add-members.mdx @@ -1,5 +1,6 @@ --- title: "Add Members" +description: "Add Members — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/group-banned-members.mdx b/ui-kit/ios/v4/group-banned-members.mdx index db44937d6..cc4c3f9b7 100644 --- a/ui-kit/ios/v4/group-banned-members.mdx +++ b/ui-kit/ios/v4/group-banned-members.mdx @@ -1,5 +1,6 @@ --- title: "Banned Members" +description: "Banned Members — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/group-details.mdx b/ui-kit/ios/v4/group-details.mdx index fcfa64dde..a47ad559f 100644 --- a/ui-kit/ios/v4/group-details.mdx +++ b/ui-kit/ios/v4/group-details.mdx @@ -1,5 +1,6 @@ --- title: "Group Details" +description: "Group Details — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/group-members.mdx b/ui-kit/ios/v4/group-members.mdx index 372499274..74eaef4b8 100644 --- a/ui-kit/ios/v4/group-members.mdx +++ b/ui-kit/ios/v4/group-members.mdx @@ -1,5 +1,6 @@ --- title: "Group Members" +description: "Group Members — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/group-transfer-ownership.mdx b/ui-kit/ios/v4/group-transfer-ownership.mdx index 105bb1719..5c717c9f6 100644 --- a/ui-kit/ios/v4/group-transfer-ownership.mdx +++ b/ui-kit/ios/v4/group-transfer-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Ownership" +description: "Transfer Ownership — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/groups-with-messages.mdx b/ui-kit/ios/v4/groups-with-messages.mdx index 98c0e8844..56fd279fe 100644 --- a/ui-kit/ios/v4/groups-with-messages.mdx +++ b/ui-kit/ios/v4/groups-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Groups With Messages" +description: "Groups With Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/groups.mdx b/ui-kit/ios/v4/groups.mdx index c1522337f..832a16cde 100644 --- a/ui-kit/ios/v4/groups.mdx +++ b/ui-kit/ios/v4/groups.mdx @@ -1,5 +1,6 @@ --- title: "Groups" +description: "Groups — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/image-bubble.mdx b/ui-kit/ios/v4/image-bubble.mdx index 469a50c47..a0ce83a30 100644 --- a/ui-kit/ios/v4/image-bubble.mdx +++ b/ui-kit/ios/v4/image-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Image Bubble" +description: "Image Bubble — CometChat documentation." --- `CometChatImageBubble` is the content view for a MediaMessage if the media sent is an image. diff --git a/ui-kit/ios/v4/incoming-call.mdx b/ui-kit/ios/v4/incoming-call.mdx index 1dc49c3a5..8e00e2cee 100644 --- a/ui-kit/ios/v4/incoming-call.mdx +++ b/ui-kit/ios/v4/incoming-call.mdx @@ -1,5 +1,6 @@ --- title: "Incoming Call" +description: "Incoming Call — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/interactive-action-entity.mdx b/ui-kit/ios/v4/interactive-action-entity.mdx index f5e434a02..65bf088a6 100644 --- a/ui-kit/ios/v4/interactive-action-entity.mdx +++ b/ui-kit/ios/v4/interactive-action-entity.mdx @@ -1,5 +1,6 @@ --- title: "Action Entity" +description: "Action Entity — CometChat documentation." --- Base class for defining the type of actions that can be performed on `BaseInteractiveElement` diff --git a/ui-kit/ios/v4/interactive-button-element.mdx b/ui-kit/ios/v4/interactive-button-element.mdx index b5420f8f9..efc87f0e1 100644 --- a/ui-kit/ios/v4/interactive-button-element.mdx +++ b/ui-kit/ios/v4/interactive-button-element.mdx @@ -1,5 +1,6 @@ --- title: "Button Element" +description: "Button Element — CometChat documentation." --- The `ButtonElement` class, inherited from the `BaseInteractiveElement` class, represents an interactive button element that can be added to a chat interface. It comprises of properties like button text and a flag indicating whether the button should be disabled after interaction. diff --git a/ui-kit/ios/v4/interactive-card-bubble.mdx b/ui-kit/ios/v4/interactive-card-bubble.mdx index 0ae4977aa..19c305c1c 100644 --- a/ui-kit/ios/v4/interactive-card-bubble.mdx +++ b/ui-kit/ios/v4/interactive-card-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Card Bubble" +description: "Card Bubble — CometChat documentation." --- The `CometChatCardBubble` component is used to display a card within a chat bubble. The card includes an image, text, and action buttons. It helps to offer action-oriented chat experiences, like booking a flight, ordering food, scheduling a meeting, etc., directly in the chat. diff --git a/ui-kit/ios/v4/interactive-card-message.mdx b/ui-kit/ios/v4/interactive-card-message.mdx index b65081188..5588fc478 100644 --- a/ui-kit/ios/v4/interactive-card-message.mdx +++ b/ui-kit/ios/v4/interactive-card-message.mdx @@ -1,5 +1,6 @@ --- title: "Card Message" +description: "Card Message — CometChat documentation." --- The `CardMessage` class is used to create a card message for CometChat. It extends the `InteractiveMessage` class from CometChat. diff --git a/ui-kit/ios/v4/interactive-check-box-element.mdx b/ui-kit/ios/v4/interactive-check-box-element.mdx index 94a92a797..7125826a9 100644 --- a/ui-kit/ios/v4/interactive-check-box-element.mdx +++ b/ui-kit/ios/v4/interactive-check-box-element.mdx @@ -1,5 +1,6 @@ --- title: "Check Box Element" +description: "Check Box Element — CometChat documentation." --- The `CheckboxElement` class is utilised to create a single selection input element in a user interface. diff --git a/ui-kit/ios/v4/interactive-date-time-picker-element.mdx b/ui-kit/ios/v4/interactive-date-time-picker-element.mdx index f85c52a66..870150b83 100644 --- a/ui-kit/ios/v4/interactive-date-time-picker-element.mdx +++ b/ui-kit/ios/v4/interactive-date-time-picker-element.mdx @@ -1,5 +1,6 @@ --- title: "Date Time Picker Element" +description: "Date Time Picker Element — CometChat documentation." --- `DateTimeElement` is used to represent a single input field that allows to select date and time. diff --git a/ui-kit/ios/v4/interactive-dropdown-element.mdx b/ui-kit/ios/v4/interactive-dropdown-element.mdx index 465a0b4b9..d7f4e2b09 100644 --- a/ui-kit/ios/v4/interactive-dropdown-element.mdx +++ b/ui-kit/ios/v4/interactive-dropdown-element.mdx @@ -1,5 +1,6 @@ --- title: "DropDown Element" +description: "DropDown Element — CometChat documentation." --- The `DropDownElement` class is utilised to create a single selection input element in a user interface. diff --git a/ui-kit/ios/v4/interactive-element-entity.mdx b/ui-kit/ios/v4/interactive-element-entity.mdx index cc9eb3ff6..98d68bd50 100644 --- a/ui-kit/ios/v4/interactive-element-entity.mdx +++ b/ui-kit/ios/v4/interactive-element-entity.mdx @@ -1,5 +1,6 @@ --- title: "Element Entity" +description: "Element Entity — CometChat documentation." --- This is the base class for every element possible in the Interactive message component, defined by cometchat diff --git a/ui-kit/ios/v4/interactive-form-bubble.mdx b/ui-kit/ios/v4/interactive-form-bubble.mdx index 668144bb3..05a2be58c 100644 --- a/ui-kit/ios/v4/interactive-form-bubble.mdx +++ b/ui-kit/ios/v4/interactive-form-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Form Bubble" +description: "Form Bubble — CometChat documentation." --- The `CometChatFormBubble` component is used to render a form within a chat bubble. The form fields are dynamically built based on the data passed in the `message` prop. The form fields can include text inputs, checkboxes, radio buttons, dropdown, labels, single selects, buttons. Once the form is filled out and submitted, the data will be sent to the provided URL or handled by a custom function. diff --git a/ui-kit/ios/v4/interactive-form-message.mdx b/ui-kit/ios/v4/interactive-form-message.mdx index 724546e88..1170b0317 100644 --- a/ui-kit/ios/v4/interactive-form-message.mdx +++ b/ui-kit/ios/v4/interactive-form-message.mdx @@ -1,5 +1,6 @@ --- title: "Form Message" +description: "Form Message — CometChat documentation." --- The `FormMessage` class is used to create an interactive form message that can be sent via CometChat. It extends the `InteractiveMessage` class from CometChat. diff --git a/ui-kit/ios/v4/interactive-label-element.mdx b/ui-kit/ios/v4/interactive-label-element.mdx index 1fbcd64d6..58d2d21f2 100644 --- a/ui-kit/ios/v4/interactive-label-element.mdx +++ b/ui-kit/ios/v4/interactive-label-element.mdx @@ -1,5 +1,6 @@ --- title: "Label Element" +description: "Label Element — CometChat documentation." --- The `LabelElement` class enables the creation of a label element in a user interface. diff --git a/ui-kit/ios/v4/interactive-radio-button-element.mdx b/ui-kit/ios/v4/interactive-radio-button-element.mdx index 74188f485..6994507a0 100644 --- a/ui-kit/ios/v4/interactive-radio-button-element.mdx +++ b/ui-kit/ios/v4/interactive-radio-button-element.mdx @@ -1,5 +1,6 @@ --- title: "Radio Button Element" +description: "Radio Button Element — CometChat documentation." --- The `RadioButtonElement` class is utilised to create a single selection input element in a user interface. diff --git a/ui-kit/ios/v4/interactive-scheduler-bubble.mdx b/ui-kit/ios/v4/interactive-scheduler-bubble.mdx index 55a26fc22..61a3e3eda 100644 --- a/ui-kit/ios/v4/interactive-scheduler-bubble.mdx +++ b/ui-kit/ios/v4/interactive-scheduler-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Scheduler Bubble" +description: "Scheduler Bubble — CometChat documentation." --- CometChatSchedulerBubble is a versatile type of message widget designed to facilitate easy and efficient event scheduling. It offers the following key features: diff --git a/ui-kit/ios/v4/interactive-scheduler-message.mdx b/ui-kit/ios/v4/interactive-scheduler-message.mdx index 6d28880e4..88a9a79e6 100644 --- a/ui-kit/ios/v4/interactive-scheduler-message.mdx +++ b/ui-kit/ios/v4/interactive-scheduler-message.mdx @@ -1,5 +1,6 @@ --- title: "Scheduler Message" +description: "Scheduler Message — CometChat documentation." --- The `SchedulerMessage` class is used to create an interactive scheduler message that can be sent via CometChat. It extends the Interactive Interactive Messages class from CometChat. diff --git a/ui-kit/ios/v4/interactive-textinput-element.mdx b/ui-kit/ios/v4/interactive-textinput-element.mdx index 66485b817..252209e26 100644 --- a/ui-kit/ios/v4/interactive-textinput-element.mdx +++ b/ui-kit/ios/v4/interactive-textinput-element.mdx @@ -1,5 +1,6 @@ --- title: "TextInput Element" +description: "TextInput Element — CometChat documentation." --- The `TextInputElement` class is used to create a text input element in a user interface. diff --git a/ui-kit/ios/v4/join-protected-group.mdx b/ui-kit/ios/v4/join-protected-group.mdx index ccfdcd98b..dfeefd7ea 100644 --- a/ui-kit/ios/v4/join-protected-group.mdx +++ b/ui-kit/ios/v4/join-protected-group.mdx @@ -1,5 +1,6 @@ --- title: "Join Protected Group" +description: "Join Protected Group — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/link/sample.mdx b/ui-kit/ios/v4/link/sample.mdx index 4172d09f7..8d83beb76 100644 --- a/ui-kit/ios/v4/link/sample.mdx +++ b/ui-kit/ios/v4/link/sample.mdx @@ -1,4 +1,5 @@ --- title: "iOS Sample App" url: "https://github.com/cometchat/cometchat-uikit-ios/tree/v4" +description: "Navigate to iOS Sample App documentation." --- \ No newline at end of file diff --git a/ui-kit/ios/v4/list-base.mdx b/ui-kit/ios/v4/list-base.mdx index ac9ed4c08..72b3854fb 100644 --- a/ui-kit/ios/v4/list-base.mdx +++ b/ui-kit/ios/v4/list-base.mdx @@ -1,5 +1,6 @@ --- title: "List Base" +description: "List Base — CometChat documentation." --- **CometChatListBase** is a container component having title (`navigationBar`), search (`search-bar`), `background`, and a container to embed a list view, such as `CometChatConversationList, CometChatGroupList, CometChatUserList,CometChatCallList.` diff --git a/ui-kit/ios/v4/list-item.mdx b/ui-kit/ios/v4/list-item.mdx index 04dd196ce..da1c25428 100644 --- a/ui-kit/ios/v4/list-item.mdx +++ b/ui-kit/ios/v4/list-item.mdx @@ -1,5 +1,6 @@ --- title: "List Item" +description: "List Item — CometChat documentation." --- `CometChatListItem` contains one to three lines of text optionally flanked by icons or other views, such as `CometChatAvatar`, `CometChatDate` or `Text`. `CometChatAvatar` will always be shown in the leading view therefore either one among the `avatarURL` or `avatarName` must be provided. The icons (or other widgets) for the list item are defined with the `tailView` parameter. The first line of text is optional and is specified with `title`. The value of subtitle is also optional, will occupy the space allocated for an additional line of text or some other view. diff --git a/ui-kit/ios/v4/localize.mdx b/ui-kit/ios/v4/localize.mdx index dd0b48439..a5e9844bd 100644 --- a/ui-kit/ios/v4/localize.mdx +++ b/ui-kit/ios/v4/localize.mdx @@ -1,5 +1,6 @@ --- title: "Localize" +description: "Localize — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/media-recorder.mdx b/ui-kit/ios/v4/media-recorder.mdx index a38878c80..b45c38f9d 100644 --- a/ui-kit/ios/v4/media-recorder.mdx +++ b/ui-kit/ios/v4/media-recorder.mdx @@ -1,5 +1,6 @@ --- title: "Media Recorder" +description: "Media Recorder — CometChat documentation." --- `CometChatMediaRecorder` is a class that allows users to record and send audio messages. It has a start button to start recording, a stop button to stop recording, a play button to play the recorded message, a pause button to pause the recorded message, a submit button to submit the recorded message and a close button to close the media recorder. diff --git a/ui-kit/ios/v4/mentions-formatter-guide.mdx b/ui-kit/ios/v4/mentions-formatter-guide.mdx index 448797aa9..d8b78002e 100644 --- a/ui-kit/ios/v4/mentions-formatter-guide.mdx +++ b/ui-kit/ios/v4/mentions-formatter-guide.mdx @@ -1,5 +1,6 @@ --- title: "Mentions Formatter" +description: "Mentions Formatter — CometChat integration guide." --- ## Overview diff --git a/ui-kit/ios/v4/message-bubble.mdx b/ui-kit/ios/v4/message-bubble.mdx index 3ce281388..b42bf1027 100644 --- a/ui-kit/ios/v4/message-bubble.mdx +++ b/ui-kit/ios/v4/message-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Message Bubble" +description: "Message Bubble — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/message-composer.mdx b/ui-kit/ios/v4/message-composer.mdx index 7ebbff3be..9cb64c52d 100644 --- a/ui-kit/ios/v4/message-composer.mdx +++ b/ui-kit/ios/v4/message-composer.mdx @@ -1,5 +1,6 @@ --- title: "Message Composer" +description: "Message Composer — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/message-header.mdx b/ui-kit/ios/v4/message-header.mdx index 9a91ee785..1b8063fa5 100644 --- a/ui-kit/ios/v4/message-header.mdx +++ b/ui-kit/ios/v4/message-header.mdx @@ -1,5 +1,6 @@ --- title: "Message Header" +description: "Message Header — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/message-information.mdx b/ui-kit/ios/v4/message-information.mdx index 5fa4054b1..b5d93a3c6 100644 --- a/ui-kit/ios/v4/message-information.mdx +++ b/ui-kit/ios/v4/message-information.mdx @@ -1,5 +1,6 @@ --- title: "Message Information" +description: "Message Information — CometChat documentation." --- The MessageInformation is a [Component](/ui-kit/ios/v4/components-overview#components) designed to display message-related information, such as delivery and read receipts. It serves as an integral part of the CometChat UI Kit, extending the [ListBase](/ui-kit/ios/v4/list-base) class, which provides the underlying infrastructure for CometChat UI components. With its rich set of methods and properties, developers can easily customize and tailor the appearance and behavior of the message information view to suit the specific requirements of their application. diff --git a/ui-kit/ios/v4/message-input.mdx b/ui-kit/ios/v4/message-input.mdx index 82b55af62..fe868b9a0 100644 --- a/ui-kit/ios/v4/message-input.mdx +++ b/ui-kit/ios/v4/message-input.mdx @@ -1,5 +1,6 @@ --- title: "Message Input" +description: "Message Input — CometChat documentation." --- `CometChatMessageInput` is a component that provides a skeleton layout for contents of like `TextField`, auxiliary options, primary button view and attachment options. diff --git a/ui-kit/ios/v4/message-list.mdx b/ui-kit/ios/v4/message-list.mdx index c945884cf..8b7bcd73f 100644 --- a/ui-kit/ios/v4/message-list.mdx +++ b/ui-kit/ios/v4/message-list.mdx @@ -1,5 +1,6 @@ --- title: "Message List" +description: "Message List — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/message-template.mdx b/ui-kit/ios/v4/message-template.mdx index 72a72b63d..e5eb73736 100644 --- a/ui-kit/ios/v4/message-template.mdx +++ b/ui-kit/ios/v4/message-template.mdx @@ -1,5 +1,6 @@ --- title: "Message Template" +description: "Message Template — CometChat documentation." --- ## Overview @@ -365,7 +366,7 @@ The `template.contentView` method of MessageTemplate allows you to add a custom custom\_message\_view\_file -``` +```python import UIKit import CometChatSDK import CometChatUIKitSwift diff --git a/ui-kit/ios/v4/messages.mdx b/ui-kit/ios/v4/messages.mdx index edc59f835..792e72996 100644 --- a/ui-kit/ios/v4/messages.mdx +++ b/ui-kit/ios/v4/messages.mdx @@ -1,5 +1,6 @@ --- title: "Messages" +description: "Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/methods.mdx b/ui-kit/ios/v4/methods.mdx index db4f1ac6c..076b15f57 100644 --- a/ui-kit/ios/v4/methods.mdx +++ b/ui-kit/ios/v4/methods.mdx @@ -1,5 +1,6 @@ --- title: "Methods" +description: "Methods — CometChat documentation." --- ## Overview @@ -99,8 +100,8 @@ CometChatUIKit.login(uid: "uid") { (result) in This advanced authentication procedure does not use the Auth Key directly in your client code thus ensuring safety. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `login(authToken:)` method. The concluding code block: diff --git a/ui-kit/ios/v4/multi-tab-chat-ui-guide.mdx b/ui-kit/ios/v4/multi-tab-chat-ui-guide.mdx index cde8ca4a1..745eb96d0 100644 --- a/ui-kit/ios/v4/multi-tab-chat-ui-guide.mdx +++ b/ui-kit/ios/v4/multi-tab-chat-ui-guide.mdx @@ -1,5 +1,6 @@ --- title: "Multi Tab Chat UI Guide" +description: "Multi Tab Chat UI Guide — CometChat integration guide." --- ## How to add Tabbed layout for Chat,Users,Groups and Call modules? diff --git a/ui-kit/ios/v4/ongoing-call.mdx b/ui-kit/ios/v4/ongoing-call.mdx index 70a83252d..0b240577c 100644 --- a/ui-kit/ios/v4/ongoing-call.mdx +++ b/ui-kit/ios/v4/ongoing-call.mdx @@ -1,5 +1,6 @@ --- title: "Ongoing Call" +description: "Ongoing Call — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/outgoing-call.mdx b/ui-kit/ios/v4/outgoing-call.mdx index 6f4e8be1d..0f7c1fe42 100644 --- a/ui-kit/ios/v4/outgoing-call.mdx +++ b/ui-kit/ios/v4/outgoing-call.mdx @@ -1,5 +1,6 @@ --- title: "Outgoing Call" +description: "Outgoing Call — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/overview.mdx b/ui-kit/ios/v4/overview.mdx index 69689e687..7ec80489d 100644 --- a/ui-kit/ios/v4/overview.mdx +++ b/ui-kit/ios/v4/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- CometChat's UI Kit for iOS Swift simplifies the development of chat applications by providing a comprehensive set of customizable UI components. These components are organized into modules, allowing for easy integration and adaptation to match the specific requirements of your app. With this UI Kit, you can effortlessly incorporate essential messaging features while tailoring the interface to align with your application's unique style and functionality. diff --git a/ui-kit/ios/v4/quick-reactions.mdx b/ui-kit/ios/v4/quick-reactions.mdx index cb1046ead..9be5de808 100644 --- a/ui-kit/ios/v4/quick-reactions.mdx +++ b/ui-kit/ios/v4/quick-reactions.mdx @@ -1,5 +1,6 @@ --- title: "Quick Reactions" +description: "Quick Reactions — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/reactions-list.mdx b/ui-kit/ios/v4/reactions-list.mdx index df5bc9092..1e99b1a84 100644 --- a/ui-kit/ios/v4/reactions-list.mdx +++ b/ui-kit/ios/v4/reactions-list.mdx @@ -1,5 +1,6 @@ --- title: "Reactions List" +description: "Reactions List — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/reactions.mdx b/ui-kit/ios/v4/reactions.mdx index b06863865..fdb39c94e 100644 --- a/ui-kit/ios/v4/reactions.mdx +++ b/ui-kit/ios/v4/reactions.mdx @@ -1,5 +1,6 @@ --- title: "Reactions" +description: "Reactions — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/receipt.mdx b/ui-kit/ios/v4/receipt.mdx index c51d4cf47..4fb82c1ae 100644 --- a/ui-kit/ios/v4/receipt.mdx +++ b/ui-kit/ios/v4/receipt.mdx @@ -1,5 +1,6 @@ --- title: "Receipt" +description: "Receipt — CometChat documentation." --- This component is of class `UIImageView` and is customizable to display `CometChatReceipt`. diff --git a/ui-kit/ios/v4/shortcut-formatter-guide.mdx b/ui-kit/ios/v4/shortcut-formatter-guide.mdx index 14e69e1e7..127dd05c6 100644 --- a/ui-kit/ios/v4/shortcut-formatter-guide.mdx +++ b/ui-kit/ios/v4/shortcut-formatter-guide.mdx @@ -1,5 +1,6 @@ --- title: "ShortCut Formatter" +description: "ShortCut Formatter — CometChat integration guide." --- ## Introduction diff --git a/ui-kit/ios/v4/sound-manager.mdx b/ui-kit/ios/v4/sound-manager.mdx index a9fdcd3cc..dc43d594c 100644 --- a/ui-kit/ios/v4/sound-manager.mdx +++ b/ui-kit/ios/v4/sound-manager.mdx @@ -1,5 +1,6 @@ --- title: "Sound Manager" +description: "Sound Manager — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/status-indicator.mdx b/ui-kit/ios/v4/status-indicator.mdx index 6ad095b5b..42d655dce 100644 --- a/ui-kit/ios/v4/status-indicator.mdx +++ b/ui-kit/ios/v4/status-indicator.mdx @@ -1,5 +1,6 @@ --- title: "Status Indicator" +description: "Status Indicator — CometChat documentation." --- This component is of the class `UImageView`. It's customisable to display the status of the user's presence as online, offline using colour codes or can be used to display type of a group as password protected, public or private using a custom image. diff --git a/ui-kit/ios/v4/text-bubble.mdx b/ui-kit/ios/v4/text-bubble.mdx index d5268c0c7..605629069 100644 --- a/ui-kit/ios/v4/text-bubble.mdx +++ b/ui-kit/ios/v4/text-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Text Bubble" +description: "Text Bubble — CometChat documentation." --- `CometChatTextBubble` is the content view shown for TextMessage. diff --git a/ui-kit/ios/v4/theme.mdx b/ui-kit/ios/v4/theme.mdx index 4496a95c1..05248e287 100644 --- a/ui-kit/ios/v4/theme.mdx +++ b/ui-kit/ios/v4/theme.mdx @@ -1,5 +1,6 @@ --- title: "Theme" +description: "Theme — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/threaded-messages.mdx b/ui-kit/ios/v4/threaded-messages.mdx index ee452a0e4..46e145bf3 100644 --- a/ui-kit/ios/v4/threaded-messages.mdx +++ b/ui-kit/ios/v4/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/user-details.mdx b/ui-kit/ios/v4/user-details.mdx index 971092175..399ba8458 100644 --- a/ui-kit/ios/v4/user-details.mdx +++ b/ui-kit/ios/v4/user-details.mdx @@ -1,5 +1,6 @@ --- title: "User Details" +description: "User Details — CometChat documentation." --- ## Overview @@ -555,7 +556,7 @@ class CustomUDProfileView: UIView { -``` +```javascript let customUDProfileView = CustomUDProfileView() let cometChatDetails = CometChatDetails() diff --git a/ui-kit/ios/v4/users-with-messages.mdx b/ui-kit/ios/v4/users-with-messages.mdx index 0c8b01747..1916c1142 100644 --- a/ui-kit/ios/v4/users-with-messages.mdx +++ b/ui-kit/ios/v4/users-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Users With Messages" +description: "Users With Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/ios/v4/users.mdx b/ui-kit/ios/v4/users.mdx index 962dfe2a7..b3cd89acd 100644 --- a/ui-kit/ios/v4/users.mdx +++ b/ui-kit/ios/v4/users.mdx @@ -1,5 +1,6 @@ --- title: "Users" +description: "Users — CometChat documentation." --- ## Overview @@ -668,7 +669,7 @@ class CustomUserSubtitleView: UIView { -``` +```javascript let cometChatUser = CometChatUsers() .setSubtitle { user in let customUserSubtitleView = CustomUserSubtitleView() diff --git a/ui-kit/ios/v4/video-bubble.mdx b/ui-kit/ios/v4/video-bubble.mdx index d3a9c4ec2..cc3fd80a0 100644 --- a/ui-kit/ios/v4/video-bubble.mdx +++ b/ui-kit/ios/v4/video-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Video Bubble" +description: "Video Bubble — CometChat documentation." --- `CometChatVideoBubble` is the content view for a MediaMessage if the media sent is a video. diff --git a/ui-kit/kotlin/2.0/customize-ui-kit.mdx b/ui-kit/kotlin/2.0/customize-ui-kit.mdx index 94496dcea..f07b2d4b5 100644 --- a/ui-kit/kotlin/2.0/customize-ui-kit.mdx +++ b/ui-kit/kotlin/2.0/customize-ui-kit.mdx @@ -1,5 +1,6 @@ --- title: "Customize UI Kit" +description: "Customize UI Kit — CometChat documentation." --- Version: v2 diff --git a/ui-kit/kotlin/2.0/key-concepts.mdx b/ui-kit/kotlin/2.0/key-concepts.mdx index 9ad7dc9ec..844ce28c9 100644 --- a/ui-kit/kotlin/2.0/key-concepts.mdx +++ b/ui-kit/kotlin/2.0/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- Version: v2 diff --git a/ui-kit/kotlin/2.0/message-structure-and-hierarchy.mdx b/ui-kit/kotlin/2.0/message-structure-and-hierarchy.mdx index 97051b194..0090cc7cf 100644 --- a/ui-kit/kotlin/2.0/message-structure-and-hierarchy.mdx +++ b/ui-kit/kotlin/2.0/message-structure-and-hierarchy.mdx @@ -1,5 +1,6 @@ --- title: "Message Structure And Hierarchy" +description: "Message Structure And Hierarchy — CometChat documentation." --- Version: v2 diff --git a/ui-kit/kotlin/2.0/overview.mdx b/ui-kit/kotlin/2.0/overview.mdx index a4f148ccf..e7af62be9 100644 --- a/ui-kit/kotlin/2.0/overview.mdx +++ b/ui-kit/kotlin/2.0/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- Version: v2 diff --git a/ui-kit/kotlin/2.0/ui-components.mdx b/ui-kit/kotlin/2.0/ui-components.mdx index e1b008437..2096e00de 100644 --- a/ui-kit/kotlin/2.0/ui-components.mdx +++ b/ui-kit/kotlin/2.0/ui-components.mdx @@ -1,5 +1,6 @@ --- title: "UI Components" +description: "UI Components — CometChat documentation." --- Version: v2 diff --git a/ui-kit/kotlin/customize-ui-kit.mdx b/ui-kit/kotlin/customize-ui-kit.mdx index 3575c81e3..77be3515d 100644 --- a/ui-kit/kotlin/customize-ui-kit.mdx +++ b/ui-kit/kotlin/customize-ui-kit.mdx @@ -1,5 +1,6 @@ --- title: "Customize UI Kit" +description: "Customize UI Kit — CometChat documentation." --- diff --git a/ui-kit/kotlin/key-concepts.mdx b/ui-kit/kotlin/key-concepts.mdx index 1f9b918b1..6f1ae61b7 100644 --- a/ui-kit/kotlin/key-concepts.mdx +++ b/ui-kit/kotlin/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- ### **CometChat Dashboard** diff --git a/ui-kit/kotlin/overview.mdx b/ui-kit/kotlin/overview.mdx index b7ee6eff6..5091da019 100644 --- a/ui-kit/kotlin/overview.mdx +++ b/ui-kit/kotlin/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- The CometChat Kotlin Chat UI Kit lets Android developers integrate fully featured text chat & voice/video calling into mobile apps seamlessly. diff --git a/ui-kit/kotlin/ui-components.mdx b/ui-kit/kotlin/ui-components.mdx index 395e04b88..09d47a44a 100644 --- a/ui-kit/kotlin/ui-components.mdx +++ b/ui-kit/kotlin/ui-components.mdx @@ -1,5 +1,6 @@ --- title: "UI Components" +description: "UI Components — CometChat documentation." --- **UI Components** are building a block of the UI Kit. **UI Components** are a set of custom classes specially designed to build a feature-rich chat app. To achieve high customizability while building an app one can use the UI Components. There are different UI Components available in the UI Kit library. diff --git a/ui-kit/react-native/call-features.mdx b/ui-kit/react-native/call-features.mdx index df77ad227..148df08fc 100644 --- a/ui-kit/react-native/call-features.mdx +++ b/ui-kit/react-native/call-features.mdx @@ -40,7 +40,7 @@ CometChat's Calls feature offers advanced functionality for seamlessly integrati ## Integration -First, make sure that you've correctly integrated the UI Kit library into your project. If you haven't done this yet or are facing difficulties, refer to the [Getting Started](/ui-kit/react-native/getting-started) guide. +First, make sure that you've correctly integrated the UI Kit library into your project. If you haven't done this yet or are facing difficulties, refer to the [Getting Started](/ui-kit/react-native/react-native-cli-integration) guide. Once you've successfully integrated the UI Kit, the next step is to add the CometChat Calls SDK to your project. This is necessary to enable the calling features in the UI Kit: diff --git a/ui-kit/react-native/calling-integration.mdx b/ui-kit/react-native/calling-integration.mdx index ea9703ebf..6badb7264 100644 --- a/ui-kit/react-native/calling-integration.mdx +++ b/ui-kit/react-native/calling-integration.mdx @@ -8,7 +8,7 @@ description: "Add voice and video calling to your React Native UI Kit applicatio This guide walks you through adding voice and video calling capabilities to your React Native application using the CometChat UI Kit. -Make sure you've completed the [Getting Started](/ui-kit/react-native/getting-started) guide before proceeding. +Make sure you've completed the [Getting Started](/ui-kit/react-native/react-native-cli-integration) guide before proceeding. ## Add the Calls SDK diff --git a/ui-kit/react-native/expo-integration.mdx b/ui-kit/react-native/expo-integration.mdx index 583869c18..d8fcbed46 100644 --- a/ui-kit/react-native/expo-integration.mdx +++ b/ui-kit/react-native/expo-integration.mdx @@ -43,7 +43,7 @@ You also need: - Xcode (for iOS) and Android Studio (for Android) for development builds -Auth Key is for development only. In production, generate Auth Tokens server-side via the [REST API](https://api-explorer.cometchat.com/) and use [`loginWithAuthToken()`](/ui-kit/react-native/methods#how-to-login-a-user-with-auth-token). Never ship Auth Keys in client code. +Auth Key is for development only. In production, generate Auth Tokens server-side via the [REST API](/rest-api/chat-apis) and use [`loginWithAuthToken()`](/ui-kit/react-native/methods#how-to-login-a-user-with-auth-token). Never ship Auth Keys in client code. --- diff --git a/ui-kit/react-native/link/changelog.mdx b/ui-kit/react-native/link/changelog.mdx index 708d00156..fd068aa6c 100644 --- a/ui-kit/react-native/link/changelog.mdx +++ b/ui-kit/react-native/link/changelog.mdx @@ -1,4 +1,5 @@ --- title: "Changelog" url: "https://github.com/cometchat/cometchat-uikit-react-native/releases" +description: "Navigate to Changelog documentation." --- \ No newline at end of file diff --git a/ui-kit/react-native/link/sample.mdx b/ui-kit/react-native/link/sample.mdx index 9e2822934..7bb9df68c 100644 --- a/ui-kit/react-native/link/sample.mdx +++ b/ui-kit/react-native/link/sample.mdx @@ -1,4 +1,5 @@ --- title: "React Native Sample App" url: "https://github.com/cometchat/cometchat-uikit-react-native/tree/v5" +description: "Navigate to React Native Sample App documentation." --- \ No newline at end of file diff --git a/ui-kit/react-native/methods.mdx b/ui-kit/react-native/methods.mdx index 02e9f2474..1e15a7cf7 100644 --- a/ui-kit/react-native/methods.mdx +++ b/ui-kit/react-native/methods.mdx @@ -93,8 +93,8 @@ CometChatUIKit.login({ uid: uid }) Production-safe authentication that does not expose the Auth Key in client code. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `login()` method. diff --git a/ui-kit/react-native/react-native-cli-integration.mdx b/ui-kit/react-native/react-native-cli-integration.mdx index f3f4b7822..faccea709 100644 --- a/ui-kit/react-native/react-native-cli-integration.mdx +++ b/ui-kit/react-native/react-native-cli-integration.mdx @@ -39,7 +39,7 @@ You also need: - Xcode (for iOS) and Android Studio (for Android) -Auth Key is for development only. In production, generate Auth Tokens server-side via the [REST API](https://api-explorer.cometchat.com/) and use [`loginWithAuthToken()`](/ui-kit/react-native/methods#how-to-login-a-user-with-auth-token). Never ship Auth Keys in client code. +Auth Key is for development only. In production, generate Auth Tokens server-side via the [REST API](/rest-api/chat-apis) and use [`loginWithAuthToken()`](/ui-kit/react-native/methods#how-to-login-a-user-with-auth-token). Never ship Auth Keys in client code. --- diff --git a/ui-kit/react-native/upgrading-from-v4.mdx b/ui-kit/react-native/upgrading-from-v4.mdx index 1e3d67c14..6760fd49d 100644 --- a/ui-kit/react-native/upgrading-from-v4.mdx +++ b/ui-kit/react-native/upgrading-from-v4.mdx @@ -43,7 +43,7 @@ To support the transition from v4 to v5, CometChat has built a [sample app](http -Learn how to build a complete messaging UI using the **v5 UI Kit** by following the step-by-step guide [here](/ui-kit/react-native/getting-started). +Learn how to build a complete messaging UI using the **v5 UI Kit** by following the step-by-step guide [here](/ui-kit/react-native/react-native-cli-integration). @@ -199,7 +199,7 @@ For a comprehensive overview of newly added, renamed, and removed properties, re Detailed reference of new, renamed, and removed props for each component - + Set up the v5 UI Kit and send your first message @@ -864,7 +864,7 @@ In CometChat v5 UI Kit, several props and methods in components have been update ## Next Steps - + Set up the v5 UI Kit and send your first message diff --git a/ui-kit/react-native/v2/customize-ui-kit.mdx b/ui-kit/react-native/v2/customize-ui-kit.mdx index 90b093b41..5f01f2ebe 100644 --- a/ui-kit/react-native/v2/customize-ui-kit.mdx +++ b/ui-kit/react-native/v2/customize-ui-kit.mdx @@ -1,5 +1,6 @@ --- title: "Customize UI Kit" +description: "Customize UI Kit — CometChat documentation." --- This guide helps you to enable/disable features present in the UI Kit. diff --git a/ui-kit/react-native/v2/key-concepts.mdx b/ui-kit/react-native/v2/key-concepts.mdx index deb56e53a..b7e97a976 100644 --- a/ui-kit/react-native/v2/key-concepts.mdx +++ b/ui-kit/react-native/v2/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- ### CometChat Dashboard diff --git a/ui-kit/react-native/v2/message-structure-and-hierarchy.mdx b/ui-kit/react-native/v2/message-structure-and-hierarchy.mdx index 01a6cd66d..1db5d1fd2 100644 --- a/ui-kit/react-native/v2/message-structure-and-hierarchy.mdx +++ b/ui-kit/react-native/v2/message-structure-and-hierarchy.mdx @@ -1,5 +1,6 @@ --- title: "Message Structure And Hierarchy" +description: "Message Structure And Hierarchy — CometChat documentation." --- The below diagram helps you better understand the various message categories and types that a CometChat message can belong to. diff --git a/ui-kit/react-native/v2/overview.mdx b/ui-kit/react-native/v2/overview.mdx index 90337318c..fe1e5fcfe 100644 --- a/ui-kit/react-native/v2/overview.mdx +++ b/ui-kit/react-native/v2/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- The CometChat React Native UI Kit is developed to keep developers in mind and aims to reduce development efforts significantly. diff --git a/ui-kit/react-native/v2/react-native-2-0-overview.mdx b/ui-kit/react-native/v2/react-native-2-0-overview.mdx index ddbdc1d15..bb4cac623 100644 --- a/ui-kit/react-native/v2/react-native-2-0-overview.mdx +++ b/ui-kit/react-native/v2/react-native-2-0-overview.mdx @@ -1,4 +1,5 @@ --- title: "React-Native SDK" url: "/sdk/react-native/2.0/overview" +description: "Navigate to React-Native SDK documentation." --- \ No newline at end of file diff --git a/ui-kit/react-native/v2/ui-components.mdx b/ui-kit/react-native/v2/ui-components.mdx index 3feb03afb..74d16ea3f 100644 --- a/ui-kit/react-native/v2/ui-components.mdx +++ b/ui-kit/react-native/v2/ui-components.mdx @@ -1,5 +1,6 @@ --- title: "UI Components" +description: "UI Components — CometChat documentation." --- **UI Components** are building blocks of the UI Kit. **UI Components** are a set of custom classes specially designed to build a rich chat app. There are different UI Components available in the UI Kit Library. diff --git a/ui-kit/react-native/v3/customize-ui-kit.mdx b/ui-kit/react-native/v3/customize-ui-kit.mdx index 04a6ae7bb..26c03f6ec 100644 --- a/ui-kit/react-native/v3/customize-ui-kit.mdx +++ b/ui-kit/react-native/v3/customize-ui-kit.mdx @@ -1,5 +1,6 @@ --- title: "Customize UI Kit" +description: "Customize UI Kit — CometChat documentation." --- This guide helps you to enable/disable features present in the UI Kit. diff --git a/ui-kit/react-native/v3/key-concepts.mdx b/ui-kit/react-native/v3/key-concepts.mdx index b0236fbd3..53a130d7e 100644 --- a/ui-kit/react-native/v3/key-concepts.mdx +++ b/ui-kit/react-native/v3/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- ### CometChat Dashboard diff --git a/ui-kit/react-native/v3/link/extension.mdx b/ui-kit/react-native/v3/link/extension.mdx index 29c1774bd..d7eadbbe5 100644 --- a/ui-kit/react-native/v3/link/extension.mdx +++ b/ui-kit/react-native/v3/link/extension.mdx @@ -1,4 +1,5 @@ --- title: "Extensions" url: "/fundamentals/extensions-overview" +description: "Navigate to Extensions documentation." --- \ No newline at end of file diff --git a/ui-kit/react-native/v3/link/sdk.mdx b/ui-kit/react-native/v3/link/sdk.mdx index 2f01efb12..ce652e7de 100644 --- a/ui-kit/react-native/v3/link/sdk.mdx +++ b/ui-kit/react-native/v3/link/sdk.mdx @@ -1,4 +1,5 @@ --- title: "React Native SDK" url: "/sdk/react-native/overview" +description: "Navigate to React Native SDK documentation." --- \ No newline at end of file diff --git a/ui-kit/react-native/v3/link/version.mdx b/ui-kit/react-native/v3/link/version.mdx index 67409bc23..d0817eac5 100644 --- a/ui-kit/react-native/v3/link/version.mdx +++ b/ui-kit/react-native/v3/link/version.mdx @@ -1,4 +1,5 @@ --- title: "Version 4" url: "/ui-kit/react-native/overview" +description: "Navigate to Version 4 documentation." --- \ No newline at end of file diff --git a/ui-kit/react-native/v3/overview.mdx b/ui-kit/react-native/v3/overview.mdx index 66cbc02aa..7af729e51 100644 --- a/ui-kit/react-native/v3/overview.mdx +++ b/ui-kit/react-native/v3/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/ui-kit/react-native/v3/ui-components.mdx b/ui-kit/react-native/v3/ui-components.mdx index 5e83d6ca1..75d7ad87a 100644 --- a/ui-kit/react-native/v3/ui-components.mdx +++ b/ui-kit/react-native/v3/ui-components.mdx @@ -1,5 +1,6 @@ --- title: "UI Components" +description: "UI Components — CometChat documentation." --- **UI Components** are building blocks of the UI Kit. **UI Components** are a set of custom classes specially designed to build a rich chat app. There are different UI Components available in the UI Kit Library. diff --git a/ui-kit/react-native/v4/ai-features.mdx b/ui-kit/react-native/v4/ai-features.mdx index c26a2c9da..75449a874 100644 --- a/ui-kit/react-native/v4/ai-features.mdx +++ b/ui-kit/react-native/v4/ai-features.mdx @@ -1,5 +1,6 @@ --- title: "AI" +description: "AI — CometChat documentation." --- Version: v4 diff --git a/ui-kit/react-native/v4/apple-privacy-manifest-guide.mdx b/ui-kit/react-native/v4/apple-privacy-manifest-guide.mdx index a7bacfe8a..b904421ed 100644 --- a/ui-kit/react-native/v4/apple-privacy-manifest-guide.mdx +++ b/ui-kit/react-native/v4/apple-privacy-manifest-guide.mdx @@ -1,5 +1,6 @@ --- title: "Apple Privacy Manifest" +description: "Apple Privacy Manifest — CometChat integration guide." --- ## Overview diff --git a/ui-kit/react-native/v4/audio-bubble.mdx b/ui-kit/react-native/v4/audio-bubble.mdx index 49b5e6e45..32054e329 100644 --- a/ui-kit/react-native/v4/audio-bubble.mdx +++ b/ui-kit/react-native/v4/audio-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Audio Bubble" +description: "Audio Bubble — CometChat documentation." --- `CometChatAudioBubble` is the content view for a [MediaMessage](/sdk/react-native/send-message#media-message) if the media sent is an audio. diff --git a/ui-kit/react-native/v4/avatar.mdx b/ui-kit/react-native/v4/avatar.mdx index 3b5d495f9..7588cc59b 100644 --- a/ui-kit/react-native/v4/avatar.mdx +++ b/ui-kit/react-native/v4/avatar.mdx @@ -1,5 +1,6 @@ --- title: "Avatar" +description: "Avatar — CometChat documentation." --- The `CometChatAvatar` component displays user and group avatars. For users and groups , it displays either an image or the user's avatar and falls back to the first two letters of the username. diff --git a/ui-kit/react-native/v4/badge.mdx b/ui-kit/react-native/v4/badge.mdx index 998a66825..dfc13bb97 100644 --- a/ui-kit/react-native/v4/badge.mdx +++ b/ui-kit/react-native/v4/badge.mdx @@ -1,5 +1,6 @@ --- title: "Badge" +description: "Badge — CometChat documentation." --- The `CometChatBadgeCount` component displays the unread count of messages for one-to-one private and group chats. diff --git a/ui-kit/react-native/v4/call-buttons.mdx b/ui-kit/react-native/v4/call-buttons.mdx index ea138be78..087c3d4e8 100644 --- a/ui-kit/react-native/v4/call-buttons.mdx +++ b/ui-kit/react-native/v4/call-buttons.mdx @@ -1,5 +1,6 @@ --- title: "Call Buttons" +description: "Call Buttons — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/call-features.mdx b/ui-kit/react-native/v4/call-features.mdx index 7eda3c5dd..e5d45f456 100644 --- a/ui-kit/react-native/v4/call-features.mdx +++ b/ui-kit/react-native/v4/call-features.mdx @@ -1,5 +1,6 @@ --- title: "Call" +description: "Call — CometChat documentation." --- You can integrate voice and video calling SDK to add calling functionality to your CometChat-enabled application. diff --git a/ui-kit/react-native/v4/call-log-details.mdx b/ui-kit/react-native/v4/call-log-details.mdx index 45c1d7b39..3606ce6fb 100644 --- a/ui-kit/react-native/v4/call-log-details.mdx +++ b/ui-kit/react-native/v4/call-log-details.mdx @@ -1,5 +1,6 @@ --- title: "Call Log Details" +description: "Call Log Details — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/call-log-history.mdx b/ui-kit/react-native/v4/call-log-history.mdx index 717feb792..9a5681c82 100644 --- a/ui-kit/react-native/v4/call-log-history.mdx +++ b/ui-kit/react-native/v4/call-log-history.mdx @@ -1,5 +1,6 @@ --- title: "Call Log History" +description: "Call Log History — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/call-log-participants.mdx b/ui-kit/react-native/v4/call-log-participants.mdx index 132669ae5..6388a7b8b 100644 --- a/ui-kit/react-native/v4/call-log-participants.mdx +++ b/ui-kit/react-native/v4/call-log-participants.mdx @@ -1,5 +1,6 @@ --- title: "Call Participants" +description: "Call Participants — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/call-log-recording.mdx b/ui-kit/react-native/v4/call-log-recording.mdx index 676a86abb..0bb0a0f76 100644 --- a/ui-kit/react-native/v4/call-log-recording.mdx +++ b/ui-kit/react-native/v4/call-log-recording.mdx @@ -1,5 +1,6 @@ --- title: "Call Log Recordings" +description: "Call Log Recordings — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/call-log-with-details.mdx b/ui-kit/react-native/v4/call-log-with-details.mdx index 982b16c20..98147fd74 100644 --- a/ui-kit/react-native/v4/call-log-with-details.mdx +++ b/ui-kit/react-native/v4/call-log-with-details.mdx @@ -1,5 +1,6 @@ --- title: "Call Log With Details" +description: "Call Log With Details — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/call-logs.mdx b/ui-kit/react-native/v4/call-logs.mdx index d6c9fe541..25a417168 100644 --- a/ui-kit/react-native/v4/call-logs.mdx +++ b/ui-kit/react-native/v4/call-logs.mdx @@ -1,5 +1,6 @@ --- title: "Call Logs" +description: "Call Logs — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/call-overview.mdx b/ui-kit/react-native/v4/call-overview.mdx index 8030aca22..b07d81660 100644 --- a/ui-kit/react-native/v4/call-overview.mdx +++ b/ui-kit/react-native/v4/call-overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- CometChat's Calls feature is a sophisticated function that facilitates the smooth integration of one-on-one and group audio-visual calling capabilities into your application, enhancing user interactivity and experience. This advanced feature is implemented effectively and efficiently in the React UI Kit. diff --git a/ui-kit/react-native/v4/components-overview.mdx b/ui-kit/react-native/v4/components-overview.mdx index a77206d36..adfa32d65 100644 --- a/ui-kit/react-native/v4/components-overview.mdx +++ b/ui-kit/react-native/v4/components-overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- CometChat's **UI Kit** is a set of pre-built UI components that allows you to easily craft an in-app chat with all the essential messaging features. diff --git a/ui-kit/react-native/v4/contacts.mdx b/ui-kit/react-native/v4/contacts.mdx index 6d9154919..139171212 100644 --- a/ui-kit/react-native/v4/contacts.mdx +++ b/ui-kit/react-native/v4/contacts.mdx @@ -1,5 +1,6 @@ --- title: "Contacts" +description: "Contacts — CometChat documentation." --- CometChatContacts is a versatile UI component specifically designed to facilitate the display and management of users and groups within chat applications. It streamlines the process of showcasing all app users and available chat groups in a user-friendly interface, making it easier for users to connect and communicate effectively. diff --git a/ui-kit/react-native/v4/conversations-with-messages.mdx b/ui-kit/react-native/v4/conversations-with-messages.mdx index 2fb5c3eff..c22e26eea 100644 --- a/ui-kit/react-native/v4/conversations-with-messages.mdx +++ b/ui-kit/react-native/v4/conversations-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Conversations With Messages" +description: "Conversations With Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/conversations.mdx b/ui-kit/react-native/v4/conversations.mdx index 26d9bca5e..00cd05f4d 100644 --- a/ui-kit/react-native/v4/conversations.mdx +++ b/ui-kit/react-native/v4/conversations.mdx @@ -1,5 +1,6 @@ --- title: "Conversations" +description: "Conversations — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/core-features.mdx b/ui-kit/react-native/v4/core-features.mdx index 1afeb7d29..c57f6c677 100644 --- a/ui-kit/react-native/v4/core-features.mdx +++ b/ui-kit/react-native/v4/core-features.mdx @@ -1,5 +1,6 @@ --- title: "Core" +description: "Core — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/create-group.mdx b/ui-kit/react-native/v4/create-group.mdx index 5f726903a..d4c967856 100644 --- a/ui-kit/react-native/v4/create-group.mdx +++ b/ui-kit/react-native/v4/create-group.mdx @@ -1,5 +1,6 @@ --- title: "Create Group" +description: "Create Group — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/date.mdx b/ui-kit/react-native/v4/date.mdx index 64f15674c..91dd2cdde 100644 --- a/ui-kit/react-native/v4/date.mdx +++ b/ui-kit/react-native/v4/date.mdx @@ -1,5 +1,6 @@ --- title: "Date" +description: "Date — CometChat documentation." --- `CometChatDate` is a widget which is used to show the date and time. You can also customize the appearance of this widget by modifying its logic. diff --git a/ui-kit/react-native/v4/events.mdx b/ui-kit/react-native/v4/events.mdx index 5d1db0468..52cac4f71 100644 --- a/ui-kit/react-native/v4/events.mdx +++ b/ui-kit/react-native/v4/events.mdx @@ -1,5 +1,6 @@ --- title: "Events" +description: "Events — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/expo-integration-guide.mdx b/ui-kit/react-native/v4/expo-integration-guide.mdx index 224ed39b5..6822bc7fa 100644 --- a/ui-kit/react-native/v4/expo-integration-guide.mdx +++ b/ui-kit/react-native/v4/expo-integration-guide.mdx @@ -1,5 +1,6 @@ --- title: "Expo Integration" +description: "Expo Integration — CometChat integration guide." --- Our React Native UI Kit does not work with Expo GO since it requires some custom native modules. Also, expo does not recommend using Expo GO for building production grade apps. So in order to use our UI Kit in an expo app you need to use [development builds](https://docs.expo.dev/develop/development-builds/introduction/). You can follow [this](https://docs.expo.dev/guides/local-app-development/) official Expo guide for more details. diff --git a/ui-kit/react-native/v4/extensions.mdx b/ui-kit/react-native/v4/extensions.mdx index 3fb56313b..674a76d4b 100644 --- a/ui-kit/react-native/v4/extensions.mdx +++ b/ui-kit/react-native/v4/extensions.mdx @@ -1,5 +1,6 @@ --- title: "Extensions" +description: "Extensions — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/file-bubble.mdx b/ui-kit/react-native/v4/file-bubble.mdx index 80490d7bc..dd1fed019 100644 --- a/ui-kit/react-native/v4/file-bubble.mdx +++ b/ui-kit/react-native/v4/file-bubble.mdx @@ -1,5 +1,6 @@ --- title: "File Bubble" +description: "File Bubble — CometChat documentation." --- `CometChatFileBubble` is the content view for a [MediaMessage](/sdk/react-native/send-message#media-message) if the media sent is a file. diff --git a/ui-kit/react-native/v4/getting-started.mdx b/ui-kit/react-native/v4/getting-started.mdx index 4ee556cd8..4dd184211 100644 --- a/ui-kit/react-native/v4/getting-started.mdx +++ b/ui-kit/react-native/v4/getting-started.mdx @@ -1,5 +1,6 @@ --- title: "Getting Started" +description: "Getting Started — CometChat documentation." --- ## Start your first conversation diff --git a/ui-kit/react-native/v4/group-add-members.mdx b/ui-kit/react-native/v4/group-add-members.mdx index f06a62548..2e9722eea 100644 --- a/ui-kit/react-native/v4/group-add-members.mdx +++ b/ui-kit/react-native/v4/group-add-members.mdx @@ -1,5 +1,6 @@ --- title: "Add Members" +description: "Add Members — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/group-banned-members.mdx b/ui-kit/react-native/v4/group-banned-members.mdx index 08423f725..bd402e2f6 100644 --- a/ui-kit/react-native/v4/group-banned-members.mdx +++ b/ui-kit/react-native/v4/group-banned-members.mdx @@ -1,5 +1,6 @@ --- title: "Banned Members" +description: "Banned Members — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/group-details.mdx b/ui-kit/react-native/v4/group-details.mdx index 56b15fd38..42b7a9d81 100644 --- a/ui-kit/react-native/v4/group-details.mdx +++ b/ui-kit/react-native/v4/group-details.mdx @@ -1,5 +1,6 @@ --- title: "Group Details" +description: "Group Details — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/group-members.mdx b/ui-kit/react-native/v4/group-members.mdx index 996ea62d3..936dc2d4e 100644 --- a/ui-kit/react-native/v4/group-members.mdx +++ b/ui-kit/react-native/v4/group-members.mdx @@ -1,5 +1,6 @@ --- title: "Group Members" +description: "Group Members — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/group-transfer-ownership.mdx b/ui-kit/react-native/v4/group-transfer-ownership.mdx index a36d682f4..c1b23c373 100644 --- a/ui-kit/react-native/v4/group-transfer-ownership.mdx +++ b/ui-kit/react-native/v4/group-transfer-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Ownership" +description: "Transfer Ownership — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/groups-with-messages.mdx b/ui-kit/react-native/v4/groups-with-messages.mdx index eb9daec37..71de2da7b 100644 --- a/ui-kit/react-native/v4/groups-with-messages.mdx +++ b/ui-kit/react-native/v4/groups-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Groups With Messages" +description: "Groups With Messages — CometChat documentation." --- The GroupsWithMessages is a [Composite Component](/ui-kit/react-native/v4/components-overview#composite-components) encompassing components such as [Groups](/ui-kit/react-native/v4/groups) and [Messages](/ui-kit/react-native/v4/messages). Both of these component contributes to the functionality and structure of the overall GroupsWithMessages component. diff --git a/ui-kit/react-native/v4/groups.mdx b/ui-kit/react-native/v4/groups.mdx index e9c90fb79..5d9625cee 100644 --- a/ui-kit/react-native/v4/groups.mdx +++ b/ui-kit/react-native/v4/groups.mdx @@ -1,5 +1,6 @@ --- title: "Groups" +description: "Groups — CometChat documentation." --- The Groups is a [Component](/ui-kit/react-native/v4/components-overview#components), showcasing an accessible list of all available groups. It provides an integral search functionality, allowing you to locate any specific groups swiftly and easily. For each group listed, the group name is displayed by default, in conjunction with the group icon when available. Additionally, it provides a useful feature by displaying the number of members in each group as a subtitle, offering valuable context about group size and activity level. diff --git a/ui-kit/react-native/v4/image-bubble.mdx b/ui-kit/react-native/v4/image-bubble.mdx index 8d7300633..115befe9e 100644 --- a/ui-kit/react-native/v4/image-bubble.mdx +++ b/ui-kit/react-native/v4/image-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Image Bubble" +description: "Image Bubble — CometChat documentation." --- `CometChatImageBubble` is the content view for a [MediaMessage](/sdk/react-native/send-message#media-message) if the media sent is an image. diff --git a/ui-kit/react-native/v4/incoming-call.mdx b/ui-kit/react-native/v4/incoming-call.mdx index 85d55c773..56f765997 100644 --- a/ui-kit/react-native/v4/incoming-call.mdx +++ b/ui-kit/react-native/v4/incoming-call.mdx @@ -1,5 +1,6 @@ --- title: "Incoming Call" +description: "Incoming Call — CometChat documentation." --- The `Incoming call` is a [Component](/ui-kit/react-native/v4/components-overview#components) that serves as a visual representation when the user receives an incoming call, such as a voice call or video call, providing options to answer or decline the call. diff --git a/ui-kit/react-native/v4/interactive-action-entity.mdx b/ui-kit/react-native/v4/interactive-action-entity.mdx index eca58911c..b32eb2e16 100644 --- a/ui-kit/react-native/v4/interactive-action-entity.mdx +++ b/ui-kit/react-native/v4/interactive-action-entity.mdx @@ -1,5 +1,6 @@ --- title: "Action Entity" +description: "Action Entity — CometChat documentation." --- Base class for defining the type of actions that can be performed on BaseInteractiveElement diff --git a/ui-kit/react-native/v4/interactive-button-element.mdx b/ui-kit/react-native/v4/interactive-button-element.mdx index d073ff46d..4243c15c0 100644 --- a/ui-kit/react-native/v4/interactive-button-element.mdx +++ b/ui-kit/react-native/v4/interactive-button-element.mdx @@ -1,5 +1,6 @@ --- title: "Button Element" +description: "Button Element — CometChat documentation." --- ## Constructor diff --git a/ui-kit/react-native/v4/interactive-card-bubble.mdx b/ui-kit/react-native/v4/interactive-card-bubble.mdx index f96dfafa1..2c7b07194 100644 --- a/ui-kit/react-native/v4/interactive-card-bubble.mdx +++ b/ui-kit/react-native/v4/interactive-card-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Card Bubble" +description: "Card Bubble — CometChat documentation." --- The CometChatCardBubble component is used to display a card within a chat bubble. The card includes an image, text, and action buttons. It helps to offer action-oriented chat experiences, like booking a flight, ordering food, scheduling a meeting, etc., directly in the chat. diff --git a/ui-kit/react-native/v4/interactive-card-message.mdx b/ui-kit/react-native/v4/interactive-card-message.mdx index af1842dfc..12386047c 100644 --- a/ui-kit/react-native/v4/interactive-card-message.mdx +++ b/ui-kit/react-native/v4/interactive-card-message.mdx @@ -1,5 +1,6 @@ --- title: "Card Message" +description: "Card Message — CometChat documentation." --- ## Constructor diff --git a/ui-kit/react-native/v4/interactive-checkbox-element.mdx b/ui-kit/react-native/v4/interactive-checkbox-element.mdx index b3e5e2ecc..eb1fd86d1 100644 --- a/ui-kit/react-native/v4/interactive-checkbox-element.mdx +++ b/ui-kit/react-native/v4/interactive-checkbox-element.mdx @@ -1,5 +1,6 @@ --- title: "Checkbox Element" +description: "Checkbox Element — CometChat documentation." --- The CheckboxElement class aids in creating checkbox input elements in a user interface. diff --git a/ui-kit/react-native/v4/interactive-custom-interactive-message.mdx b/ui-kit/react-native/v4/interactive-custom-interactive-message.mdx index 5cf85c797..b1c79acc8 100644 --- a/ui-kit/react-native/v4/interactive-custom-interactive-message.mdx +++ b/ui-kit/react-native/v4/interactive-custom-interactive-message.mdx @@ -1,5 +1,6 @@ --- title: "Custom Interactive Message" +description: "Custom Interactive Message — CometChat documentation." --- | Name | Type | Description | diff --git a/ui-kit/react-native/v4/interactive-dropdown-element.mdx b/ui-kit/react-native/v4/interactive-dropdown-element.mdx index 5dcdf315d..d7ffc63de 100644 --- a/ui-kit/react-native/v4/interactive-dropdown-element.mdx +++ b/ui-kit/react-native/v4/interactive-dropdown-element.mdx @@ -1,5 +1,6 @@ --- title: "Dropdown Element" +description: "Dropdown Element — CometChat documentation." --- The DropdownElement class is used to create a dropdown selection element in a user interface. diff --git a/ui-kit/react-native/v4/interactive-element-entity.mdx b/ui-kit/react-native/v4/interactive-element-entity.mdx index d928789d1..e7141e329 100644 --- a/ui-kit/react-native/v4/interactive-element-entity.mdx +++ b/ui-kit/react-native/v4/interactive-element-entity.mdx @@ -1,5 +1,6 @@ --- title: "Element Entity" +description: "Element Entity — CometChat documentation." --- Following are the different elements possible diff --git a/ui-kit/react-native/v4/interactive-form-bubble.mdx b/ui-kit/react-native/v4/interactive-form-bubble.mdx index a58fa8b27..37042ea92 100644 --- a/ui-kit/react-native/v4/interactive-form-bubble.mdx +++ b/ui-kit/react-native/v4/interactive-form-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Form Bubble" +description: "Form Bubble — CometChat documentation." --- The CometChatFormBubble component is used to render a form within a chat bubble. The form fields are dynamically built based on the data passed in the message prop. The form fields can include text inputs, checkboxes, radio buttons, dropdown, labels, single selects, buttons. Once the form is filled out and submitted, the data will be sent to the provided URL or handled by a custom function. diff --git a/ui-kit/react-native/v4/interactive-form-message.mdx b/ui-kit/react-native/v4/interactive-form-message.mdx index 0bef1c916..dad18088d 100644 --- a/ui-kit/react-native/v4/interactive-form-message.mdx +++ b/ui-kit/react-native/v4/interactive-form-message.mdx @@ -1,5 +1,6 @@ --- title: "Form Message" +description: "Form Message — CometChat documentation." --- ## Constructor diff --git a/ui-kit/react-native/v4/interactive-label-element.mdx b/ui-kit/react-native/v4/interactive-label-element.mdx index da1b5e9d4..72d2b7137 100644 --- a/ui-kit/react-native/v4/interactive-label-element.mdx +++ b/ui-kit/react-native/v4/interactive-label-element.mdx @@ -1,5 +1,6 @@ --- title: "Label Element" +description: "Label Element — CometChat documentation." --- The LabelElement class enables the creation of a label element in a user interface. diff --git a/ui-kit/react-native/v4/interactive-radio-button-element.mdx b/ui-kit/react-native/v4/interactive-radio-button-element.mdx index 74c75167a..3b72c9957 100644 --- a/ui-kit/react-native/v4/interactive-radio-button-element.mdx +++ b/ui-kit/react-native/v4/interactive-radio-button-element.mdx @@ -1,5 +1,6 @@ --- title: "Radio Button Element" +description: "Radio Button Element — CometChat documentation." --- ## Constructor diff --git a/ui-kit/react-native/v4/interactive-single-select-element.mdx b/ui-kit/react-native/v4/interactive-single-select-element.mdx index f90b3c027..22f63465a 100644 --- a/ui-kit/react-native/v4/interactive-single-select-element.mdx +++ b/ui-kit/react-native/v4/interactive-single-select-element.mdx @@ -1,5 +1,6 @@ --- title: "Single Select Element" +description: "Single Select Element — CometChat documentation." --- The SingleSelectElement class is utilised to create a single selection input element in a user interface. diff --git a/ui-kit/react-native/v4/interactive-textinput-element.mdx b/ui-kit/react-native/v4/interactive-textinput-element.mdx index 46ebfdedd..f5087b09d 100644 --- a/ui-kit/react-native/v4/interactive-textinput-element.mdx +++ b/ui-kit/react-native/v4/interactive-textinput-element.mdx @@ -1,5 +1,6 @@ --- title: "Text Input Element" +description: "Text Input Element — CometChat documentation." --- ## Constructor diff --git a/ui-kit/react-native/v4/join-protected-group.mdx b/ui-kit/react-native/v4/join-protected-group.mdx index 4043d07a6..84f82328d 100644 --- a/ui-kit/react-native/v4/join-protected-group.mdx +++ b/ui-kit/react-native/v4/join-protected-group.mdx @@ -1,5 +1,6 @@ --- title: "Join Protected Group" +description: "Join Protected Group — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/label-alignment.mdx b/ui-kit/react-native/v4/label-alignment.mdx index b4a88a5b8..4f3418ebd 100644 --- a/ui-kit/react-native/v4/label-alignment.mdx +++ b/ui-kit/react-native/v4/label-alignment.mdx @@ -1,5 +1,6 @@ --- title: "Label Alignment" +description: "Label Alignment — CometChat documentation." --- LabelAlignment is used to align the label for web elements. diff --git a/ui-kit/react-native/v4/link/sample.mdx b/ui-kit/react-native/v4/link/sample.mdx index 00af9b186..9f0ed31c6 100644 --- a/ui-kit/react-native/v4/link/sample.mdx +++ b/ui-kit/react-native/v4/link/sample.mdx @@ -1,4 +1,5 @@ --- title: "React Native Sample App" url: "https://github.com/cometchat/cometchat-sample-app-react-native" +description: "Navigate to React Native Sample App documentation." --- \ No newline at end of file diff --git a/ui-kit/react-native/v4/list-item.mdx b/ui-kit/react-native/v4/list-item.mdx index cfc3871aa..1d5a37b52 100644 --- a/ui-kit/react-native/v4/list-item.mdx +++ b/ui-kit/react-native/v4/list-item.mdx @@ -1,5 +1,6 @@ --- title: "List Item" +description: "List Item — CometChat documentation." --- ## How to integrate CometChatListItem ? diff --git a/ui-kit/react-native/v4/localize.mdx b/ui-kit/react-native/v4/localize.mdx index f270fe15e..6e35fe3b0 100644 --- a/ui-kit/react-native/v4/localize.mdx +++ b/ui-kit/react-native/v4/localize.mdx @@ -1,5 +1,6 @@ --- title: "Localize" +description: "Localize — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/media-recorder.mdx b/ui-kit/react-native/v4/media-recorder.mdx index 69b9f6c1e..cc1aca174 100644 --- a/ui-kit/react-native/v4/media-recorder.mdx +++ b/ui-kit/react-native/v4/media-recorder.mdx @@ -1,5 +1,6 @@ --- title: "Media Recorder" +description: "Media Recorder — CometChat documentation." --- diff --git a/ui-kit/react-native/v4/mentions-formatter-guide.mdx b/ui-kit/react-native/v4/mentions-formatter-guide.mdx index 4b2e3908e..67d711d44 100644 --- a/ui-kit/react-native/v4/mentions-formatter-guide.mdx +++ b/ui-kit/react-native/v4/mentions-formatter-guide.mdx @@ -1,5 +1,6 @@ --- title: "Mentions Formatter" +description: "Mentions Formatter — CometChat integration guide." --- ## Overview diff --git a/ui-kit/react-native/v4/message-bubble.mdx b/ui-kit/react-native/v4/message-bubble.mdx index 66152ce61..2994de88c 100644 --- a/ui-kit/react-native/v4/message-bubble.mdx +++ b/ui-kit/react-native/v4/message-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Message Bubble" +description: "Message Bubble — CometChat documentation." --- `CometChatMessageBubble` is the reusable components which forms different types of message bubbles accordingly. diff --git a/ui-kit/react-native/v4/message-composer.mdx b/ui-kit/react-native/v4/message-composer.mdx index 390a063d9..bceec3b27 100644 --- a/ui-kit/react-native/v4/message-composer.mdx +++ b/ui-kit/react-native/v4/message-composer.mdx @@ -1,5 +1,6 @@ --- title: "Message Composer" +description: "Message Composer — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/message-header.mdx b/ui-kit/react-native/v4/message-header.mdx index 30766e110..3afebec9a 100644 --- a/ui-kit/react-native/v4/message-header.mdx +++ b/ui-kit/react-native/v4/message-header.mdx @@ -1,5 +1,6 @@ --- title: "Message Header" +description: "Message Header — CometChat documentation." --- `MessageHeader` is a [Component](/ui-kit/react-native/v4/components-overview#components) that showcases the [User](/sdk/react-native/users-overview) or [Group](/sdk/react-native/groups-overview) details in the toolbar. Furthermore, it also presents a typing indicator and a back navigation button for ease of use. diff --git a/ui-kit/react-native/v4/message-information.mdx b/ui-kit/react-native/v4/message-information.mdx index 20808f9ff..8c14aba51 100644 --- a/ui-kit/react-native/v4/message-information.mdx +++ b/ui-kit/react-native/v4/message-information.mdx @@ -1,5 +1,6 @@ --- title: "Message Information" +description: "Message Information — CometChat documentation." --- diff --git a/ui-kit/react-native/v4/message-list.mdx b/ui-kit/react-native/v4/message-list.mdx index dcac94c76..f083b96fd 100644 --- a/ui-kit/react-native/v4/message-list.mdx +++ b/ui-kit/react-native/v4/message-list.mdx @@ -1,5 +1,6 @@ --- title: "Message List" +description: "Message List — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/message-template.mdx b/ui-kit/react-native/v4/message-template.mdx index 8fcc2dae5..8171930a2 100644 --- a/ui-kit/react-native/v4/message-template.mdx +++ b/ui-kit/react-native/v4/message-template.mdx @@ -1,5 +1,6 @@ --- title: "Message Template" +description: "Message Template — CometChat documentation." --- A MessageTemplate provides you with the capability to define and customize both the structure and the behavior of the [MessageBubble](/ui-kit/react-native/v4/message-bubble). It acts as a schema or design blueprint for the creation of a variety of [MessageBubble](/ui-kit/react-native/v4/message-bubble) components, allowing you to manage the appearance and interactions of [MessageBubble](/ui-kit/react-native/v4/message-bubble) within your application effectively and consistently. diff --git a/ui-kit/react-native/v4/messages.mdx b/ui-kit/react-native/v4/messages.mdx index 6e14e381d..bd6694c3a 100644 --- a/ui-kit/react-native/v4/messages.mdx +++ b/ui-kit/react-native/v4/messages.mdx @@ -1,5 +1,6 @@ --- title: "Messages" +description: "Messages — CometChat documentation." --- The Messages is a [Composite Component](/ui-kit/react-native/v4/components-overview#components) that manages messages for users and groups. diff --git a/ui-kit/react-native/v4/methods.mdx b/ui-kit/react-native/v4/methods.mdx index 031703806..a5ce367ac 100644 --- a/ui-kit/react-native/v4/methods.mdx +++ b/ui-kit/react-native/v4/methods.mdx @@ -1,5 +1,6 @@ --- title: "Methods" +description: "Methods — CometChat documentation." --- `CometChatUIKit` is a class that contains all necessary methods to help initialize the [CometChat SDK](/sdk/react-native/overview) with valid credentials for the ui kit to utilize. @@ -440,8 +441,8 @@ CometChatUIKit.login({uid: uid}) This advanced authentication procedure does not use the Auth Key directly in your client code thus ensuring safety. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `login({authToken: authToken})` method. diff --git a/ui-kit/react-native/v4/multi-tab-chat-ui-guide.mdx b/ui-kit/react-native/v4/multi-tab-chat-ui-guide.mdx index 2304e0e30..c44e8d75b 100644 --- a/ui-kit/react-native/v4/multi-tab-chat-ui-guide.mdx +++ b/ui-kit/react-native/v4/multi-tab-chat-ui-guide.mdx @@ -1,5 +1,6 @@ --- title: "Multi Tab Chat UI Guide" +description: "Multi Tab Chat UI Guide — CometChat integration guide." --- We’ll use the [CometChatConversationsWithMessages](/ui-kit/react-native/v4/conversations-with-messages), [CometChatUsersWithMessages](/ui-kit/react-native/v4/users-with-messages), and [CometChatGroupsWithMessages](/ui-kit/react-native/v4/groups-with-messages) components and launch them as individual tab items within the tabbed layout. diff --git a/ui-kit/react-native/v4/ongoing-call.mdx b/ui-kit/react-native/v4/ongoing-call.mdx index e0d885b9f..fbf1b8f15 100644 --- a/ui-kit/react-native/v4/ongoing-call.mdx +++ b/ui-kit/react-native/v4/ongoing-call.mdx @@ -1,5 +1,6 @@ --- title: "Ongoing Call" +description: "Ongoing Call — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/outgoing-call.mdx b/ui-kit/react-native/v4/outgoing-call.mdx index 113f2ff00..3b958c0f6 100644 --- a/ui-kit/react-native/v4/outgoing-call.mdx +++ b/ui-kit/react-native/v4/outgoing-call.mdx @@ -1,5 +1,6 @@ --- title: "Outgoing Call" +description: "Outgoing Call — CometChat documentation." --- The outgoing call component is a visual representation of a user-initiated call, whether it's a voice or video call. It serves as an interface for managing outgoing calls, providing users with essential options to control the call experience. This component typically includes information about the call recipient, call controls for canceling the call, and feedback on the call status, such as indicating when the call is in progress. diff --git a/ui-kit/react-native/v4/overview.mdx b/ui-kit/react-native/v4/overview.mdx index f5f75de16..2c46f3fb6 100644 --- a/ui-kit/react-native/v4/overview.mdx +++ b/ui-kit/react-native/v4/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- With CometChat's UI Kit for React Native, you can effortlessly build a chat app equipped with all the essential messaging features, along with customizable options tailored to your application requirements. This UI Kit comprises prebuilt UI components organized into smaller modules and components, each configurable to meet your specific needs. diff --git a/ui-kit/react-native/v4/quick-reactions.mdx b/ui-kit/react-native/v4/quick-reactions.mdx index 64f79b942..ae84b4aa3 100644 --- a/ui-kit/react-native/v4/quick-reactions.mdx +++ b/ui-kit/react-native/v4/quick-reactions.mdx @@ -1,5 +1,6 @@ --- title: "Quick Reactions" +description: "Quick Reactions — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/reaction-list.mdx b/ui-kit/react-native/v4/reaction-list.mdx index 070d72fe5..31a97891a 100644 --- a/ui-kit/react-native/v4/reaction-list.mdx +++ b/ui-kit/react-native/v4/reaction-list.mdx @@ -1,5 +1,6 @@ --- title: "Reaction List" +description: "Reaction List — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/reaction.mdx b/ui-kit/react-native/v4/reaction.mdx index cc27a468d..529edcb06 100644 --- a/ui-kit/react-native/v4/reaction.mdx +++ b/ui-kit/react-native/v4/reaction.mdx @@ -1,6 +1,7 @@ --- title: "Reactions" sidebarTitle: "Overview" +description: "Reactions — CometChat documentation." --- The `CometChatReactions` component provides a visual representation of emoji reactions associated with a specific message. It enables users to quickly identify which emojis were used to react to the message and by whom. diff --git a/ui-kit/react-native/v4/receipt.mdx b/ui-kit/react-native/v4/receipt.mdx index 3af8e741f..c3fcd3da2 100644 --- a/ui-kit/react-native/v4/receipt.mdx +++ b/ui-kit/react-native/v4/receipt.mdx @@ -1,5 +1,6 @@ --- title: "Receipt" +description: "Receipt — CometChat documentation." --- The CometChatMessageReceipt component renders the receipts such as sending, sent, delivered, read and error state indicator of a message. diff --git a/ui-kit/react-native/v4/shortcut-formatter-guide.mdx b/ui-kit/react-native/v4/shortcut-formatter-guide.mdx index df7ab8ba6..e00a052d0 100644 --- a/ui-kit/react-native/v4/shortcut-formatter-guide.mdx +++ b/ui-kit/react-native/v4/shortcut-formatter-guide.mdx @@ -1,5 +1,6 @@ --- title: "ShortCut Formatter" +description: "ShortCut Formatter — CometChat integration guide." --- ## Introduction diff --git a/ui-kit/react-native/v4/sound-manager.mdx b/ui-kit/react-native/v4/sound-manager.mdx index c2fc808c5..5f139eec8 100644 --- a/ui-kit/react-native/v4/sound-manager.mdx +++ b/ui-kit/react-native/v4/sound-manager.mdx @@ -1,5 +1,6 @@ --- title: "Sound Manager" +description: "Sound Manager — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/status-indicator.mdx b/ui-kit/react-native/v4/status-indicator.mdx index fc7506fa5..d657d8f8f 100644 --- a/ui-kit/react-native/v4/status-indicator.mdx +++ b/ui-kit/react-native/v4/status-indicator.mdx @@ -1,5 +1,6 @@ --- title: "Status Indicator" +description: "Status Indicator — CometChat documentation." --- `CometChatStatusIndicator` is a customised component which indicates whether user is online or offline. diff --git a/ui-kit/react-native/v4/text-bubble.mdx b/ui-kit/react-native/v4/text-bubble.mdx index bd2fe1ec1..fcbb356a3 100644 --- a/ui-kit/react-native/v4/text-bubble.mdx +++ b/ui-kit/react-native/v4/text-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Text Bubble" +description: "Text Bubble — CometChat documentation." --- `CometChatTextBubble` is the content view shown for [TextMessage](/sdk/react-native/send-message#text-message). diff --git a/ui-kit/react-native/v4/theme.mdx b/ui-kit/react-native/v4/theme.mdx index 8a684fc24..04e2503c7 100644 --- a/ui-kit/react-native/v4/theme.mdx +++ b/ui-kit/react-native/v4/theme.mdx @@ -1,5 +1,6 @@ --- title: "Theme" +description: "Theme — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/threaded-messages.mdx b/ui-kit/react-native/v4/threaded-messages.mdx index 99153e479..4e988e7cb 100644 --- a/ui-kit/react-native/v4/threaded-messages.mdx +++ b/ui-kit/react-native/v4/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/user-details.mdx b/ui-kit/react-native/v4/user-details.mdx index 9edf86ed1..720745e9e 100644 --- a/ui-kit/react-native/v4/user-details.mdx +++ b/ui-kit/react-native/v4/user-details.mdx @@ -1,5 +1,6 @@ --- title: "User Details" +description: "User Details — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/users-with-messages.mdx b/ui-kit/react-native/v4/users-with-messages.mdx index 37b6a6d92..57f52e0e4 100644 --- a/ui-kit/react-native/v4/users-with-messages.mdx +++ b/ui-kit/react-native/v4/users-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Users With Messages" +description: "Users With Messages — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/users.mdx b/ui-kit/react-native/v4/users.mdx index 1b0f8c293..90f3160b8 100644 --- a/ui-kit/react-native/v4/users.mdx +++ b/ui-kit/react-native/v4/users.mdx @@ -1,5 +1,6 @@ --- title: "Users" +description: "Users — CometChat documentation." --- ## Overview diff --git a/ui-kit/react-native/v4/video-bubble.mdx b/ui-kit/react-native/v4/video-bubble.mdx index 991ccd39d..121b916f1 100644 --- a/ui-kit/react-native/v4/video-bubble.mdx +++ b/ui-kit/react-native/v4/video-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Video Bubble" +description: "Video Bubble — CometChat documentation." --- `CometChatVideoBubble` is the content component for [Media message](/sdk/react-native/send-message#media-message) if the media sent is a video. diff --git a/ui-kit/react/astro-integration.mdx b/ui-kit/react/astro-integration.mdx index d1cd40283..e82de9e4b 100644 --- a/ui-kit/react/astro-integration.mdx +++ b/ui-kit/react/astro-integration.mdx @@ -42,7 +42,7 @@ You need three things from the [CometChat Dashboard](https://app.cometchat.com/) You also need Node.js (v16+) and npm/yarn installed. -Auth Key is for development only. In production, generate Auth Tokens server-side via the [REST API](https://api-explorer.cometchat.com/) and use [`loginWithAuthToken()`](/ui-kit/react/methods#login-using-auth-token). Never ship Auth Keys in client code. +Auth Key is for development only. In production, generate Auth Tokens server-side via the [REST API](/rest-api/chat-apis) and use [`loginWithAuthToken()`](/ui-kit/react/methods#login-using-auth-token). Never ship Auth Keys in client code. --- diff --git a/ui-kit/react/link/changelog.mdx b/ui-kit/react/link/changelog.mdx index e3acadbd7..c5b52da0f 100644 --- a/ui-kit/react/link/changelog.mdx +++ b/ui-kit/react/link/changelog.mdx @@ -1,4 +1,5 @@ --- title: "Changelog" url: "https://github.com/cometchat/cometchat-uikit-react/releases?q=v6&expanded=true" +description: "Navigate to Changelog documentation." --- diff --git a/ui-kit/react/link/figma.mdx b/ui-kit/react/link/figma.mdx index 784cf16e7..d33e50f01 100644 --- a/ui-kit/react/link/figma.mdx +++ b/ui-kit/react/link/figma.mdx @@ -1,4 +1,5 @@ --- title: "Figma Design" url: "https://www.figma.com/community/file/1442863561340379957/cometchat-ui-kit-for-web" +description: "Navigate to Figma Design documentation." --- diff --git a/ui-kit/react/link/sample.mdx b/ui-kit/react/link/sample.mdx index d7748ae0d..f0d70f9fd 100644 --- a/ui-kit/react/link/sample.mdx +++ b/ui-kit/react/link/sample.mdx @@ -1,4 +1,5 @@ --- title: "React Sample App" url: "https://github.com/cometchat/cometchat-uikit-react/tree/v6/sample-app" +description: "Navigate to React Sample App documentation." --- diff --git a/ui-kit/react/methods.mdx b/ui-kit/react/methods.mdx index 2b03c4a68..455556ce9 100644 --- a/ui-kit/react/methods.mdx +++ b/ui-kit/react/methods.mdx @@ -218,8 +218,8 @@ CometChatUIKit.getLoggedinUser() Production-safe authentication that does not expose the Auth Key in client code. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `loginWithAuthToken()` method. diff --git a/ui-kit/react/moved/builder-customisations.mdx b/ui-kit/react/moved/builder-customisations.mdx index c0aab0638..4d8ecec92 100644 --- a/ui-kit/react/moved/builder-customisations.mdx +++ b/ui-kit/react/moved/builder-customisations.mdx @@ -1,6 +1,7 @@ --- title: "Customizing Your UI Kit Builder Integration" sidebarTitle: "Overview" +description: "Customizing Your UI Kit Builder Integration — CometChat documentation." --- While the `CometChatSettings.ts` file allows basic toggling of features in the UI Kit Builder, **deeper customizations** require a more hands-on approach. Follow the steps below to tailor the UI Kit to your exact needs. diff --git a/ui-kit/react/moved/builder-dir-structure.mdx b/ui-kit/react/moved/builder-dir-structure.mdx index 9ec131b6d..7c5fff088 100644 --- a/ui-kit/react/moved/builder-dir-structure.mdx +++ b/ui-kit/react/moved/builder-dir-structure.mdx @@ -1,6 +1,7 @@ --- title: "CometChat UI Kit Builder Directory Structure" sidebarTitle: "Directory Structure" +description: "CometChat UI Kit Builder Directory Structure — CometChat documentation." --- This document provides an overview of the CometChat UI Kit Builder directory structure, helping you understand the organization of the project and where to find specific files when you need to customize or extend functionality. diff --git a/ui-kit/react/moved/builder-integration-nextjs.mdx b/ui-kit/react/moved/builder-integration-nextjs.mdx index 24cfb126a..df1399d67 100644 --- a/ui-kit/react/moved/builder-integration-nextjs.mdx +++ b/ui-kit/react/moved/builder-integration-nextjs.mdx @@ -1,6 +1,7 @@ --- title: "Getting Started With UI Kit Builder" sidebarTitle: "Integration - Next.js" +description: "Getting Started With UI Kit Builder — CometChat documentation." --- **UI Kit Builder** is a powerful tool designed to simplify the integration of CometChat's UI Kit into your existing React application. @@ -167,7 +168,7 @@ export default CometChatNoSSR; To authenticate a user, you need a **`UID`**. You can either: -1. **Create new users** on the **[CometChat Dashboard](https://app.cometchat.com)**, **[CometChat SDK Method](/ui-kit/react/methods#create-user)** or **[via the API](https://api-explorer.cometchat.com/reference/creates-user)**. +1. **Create new users** on the **[CometChat Dashboard](https://app.cometchat.com)**, **[CometChat SDK Method](/ui-kit/react/methods#create-user)** or **[via the API](/rest-api/chat-apis)**. 2. **Use pre-generated test users**: @@ -460,7 +461,7 @@ When you enable the **Without Sidebar** option for the Sidebar, the following be Start your development server: -``` +```bash npm run dev ``` diff --git a/ui-kit/react/moved/builder-integration-react-router.mdx b/ui-kit/react/moved/builder-integration-react-router.mdx index 54f43b401..a746a3c15 100644 --- a/ui-kit/react/moved/builder-integration-react-router.mdx +++ b/ui-kit/react/moved/builder-integration-react-router.mdx @@ -1,6 +1,7 @@ --- title: "Getting Started With UI Kit Builder" sidebarTitle: "Integration - React Router" +description: "Getting Started With UI Kit Builder — CometChat documentation." --- **UI Kit Builder** is a powerful tool designed to simplify the integration of CometChat's UI Kit into your existing React application. @@ -174,7 +175,7 @@ export default CometChatNoSSR; To authenticate a user, you need a **`UID`**. You can either: -1. **Create new users** on the **[CometChat Dashboard](https://app.cometchat.com)**, **[CometChat SDK Method](/ui-kit/react/methods#create-user)** or **[via the API](https://api-explorer.cometchat.com/reference/creates-user)**. +1. **Create new users** on the **[CometChat Dashboard](https://app.cometchat.com)**, **[CometChat SDK Method](/ui-kit/react/methods#create-user)** or **[via the API](/rest-api/chat-apis)**. 2. **Use pre-generated test users**: @@ -475,7 +476,7 @@ When you enable the **Without Sidebar** option for the Sidebar, the following be 1. **Start the development server** - ``` + ```bash npm run dev ``` diff --git a/ui-kit/react/moved/builder-integration.mdx b/ui-kit/react/moved/builder-integration.mdx index deafcdcef..093989dee 100644 --- a/ui-kit/react/moved/builder-integration.mdx +++ b/ui-kit/react/moved/builder-integration.mdx @@ -1,6 +1,7 @@ --- title: "Getting Started With UI Kit Builder" sidebarTitle: "Integration - React.js" +description: "Getting Started With UI Kit Builder — CometChat documentation." --- **UI Kit Builder** is a powerful tool designed to simplify the integration of CometChat's UI Kit into your existing React application. @@ -214,7 +215,7 @@ These values are required for proper authentication and seamless integration. To authenticate a user, you need a **`UID`**. You can either: -1. **Create new users** on the **[CometChat Dashboard](https://app.cometchat.com)**, **[CometChat SDK Method](/ui-kit/react/methods#create-user)** or **[via the API](https://api-explorer.cometchat.com/reference/creates-user)**. +1. **Create new users** on the **[CometChat Dashboard](https://app.cometchat.com)**, **[CometChat SDK Method](/ui-kit/react/methods#create-user)** or **[via the API](/rest-api/chat-apis)**. 2. **Use pre-generated test users**: @@ -397,7 +398,7 @@ Start your application with the appropriate command based on your setup: * Vite / Next.js: -``` +```bash npm run dev ``` diff --git a/ui-kit/react/moved/builder-settings.mdx b/ui-kit/react/moved/builder-settings.mdx index 433780beb..9d2e35c3d 100644 --- a/ui-kit/react/moved/builder-settings.mdx +++ b/ui-kit/react/moved/builder-settings.mdx @@ -1,5 +1,6 @@ --- title: "CometChat Settings Guide" +description: "CometChat Settings Guide — CometChat documentation." --- The `CometChatSettings.ts` file defines configuration options for **[CometChat Builder](https://preview.cometchat.com/)**, giving developers full control over messaging capabilities, AI enhancements, UI layout, styling, and moderation tools. diff --git a/ui-kit/react/next-js-integration.mdx b/ui-kit/react/next-js-integration.mdx index ca539b5ed..1bd8e2a61 100644 --- a/ui-kit/react/next-js-integration.mdx +++ b/ui-kit/react/next-js-integration.mdx @@ -46,7 +46,7 @@ You need three things from the [CometChat Dashboard](https://app.cometchat.com/) You also need Node.js (v16+) and npm/yarn installed. -Auth Key is for development only. In production, generate Auth Tokens server-side via the [REST API](https://api-explorer.cometchat.com/) and use [`loginWithAuthToken()`](/ui-kit/react/methods#login-using-auth-token). Never ship Auth Keys in client code. +Auth Key is for development only. In production, generate Auth Tokens server-side via the [REST API](/rest-api/chat-apis) and use [`loginWithAuthToken()`](/ui-kit/react/methods#login-using-auth-token). Never ship Auth Keys in client code. --- diff --git a/ui-kit/react/react-js-integration.mdx b/ui-kit/react/react-js-integration.mdx index 8f2841395..3ebf1029f 100644 --- a/ui-kit/react/react-js-integration.mdx +++ b/ui-kit/react/react-js-integration.mdx @@ -41,7 +41,7 @@ You need three things from the [CometChat Dashboard](https://app.cometchat.com/) You also need Node.js (v16+) and npm/yarn installed. -Auth Key is for development only. In production, generate Auth Tokens server-side via the [REST API](https://api-explorer.cometchat.com/) and use [`loginWithAuthToken()`](/ui-kit/react/methods#login-using-auth-token). Never ship Auth Keys in client code. +Auth Key is for development only. In production, generate Auth Tokens server-side via the [REST API](/rest-api/chat-apis) and use [`loginWithAuthToken()`](/ui-kit/react/methods#login-using-auth-token). Never ship Auth Keys in client code. --- diff --git a/ui-kit/react/react-router-integration.mdx b/ui-kit/react/react-router-integration.mdx index 477e9438d..c77c57ad6 100644 --- a/ui-kit/react/react-router-integration.mdx +++ b/ui-kit/react/react-router-integration.mdx @@ -42,7 +42,7 @@ You need three things from the [CometChat Dashboard](https://app.cometchat.com/) You also need Node.js (v16+) and npm/yarn installed. -Auth Key is for development only. In production, generate Auth Tokens server-side via the [REST API](https://api-explorer.cometchat.com/) and use [`loginWithAuthToken()`](/ui-kit/react/methods#login-using-auth-token). Never ship Auth Keys in client code. +Auth Key is for development only. In production, generate Auth Tokens server-side via the [REST API](/rest-api/chat-apis) and use [`loginWithAuthToken()`](/ui-kit/react/methods#login-using-auth-token). Never ship Auth Keys in client code. --- diff --git a/ui-kit/react/v2/customize-ui-kit.mdx b/ui-kit/react/v2/customize-ui-kit.mdx index 449423dee..9a66f826b 100644 --- a/ui-kit/react/v2/customize-ui-kit.mdx +++ b/ui-kit/react/v2/customize-ui-kit.mdx @@ -1,5 +1,6 @@ --- title: "Customize UI Kit" +description: "Customize UI Kit — CometChat documentation." --- This guide helps you to enable/disable features present in the UI Kit. diff --git a/ui-kit/react/v2/integration-with-nextjs.mdx b/ui-kit/react/v2/integration-with-nextjs.mdx index 766230006..ccd8fd617 100644 --- a/ui-kit/react/v2/integration-with-nextjs.mdx +++ b/ui-kit/react/v2/integration-with-nextjs.mdx @@ -1,5 +1,6 @@ --- title: "Integration With Next.js" +description: "Integration With Next.js — CometChat documentation." --- Using React UI Kit, you can integrate your Next.js application with CometChat. diff --git a/ui-kit/react/v2/javascript-2-0-overview.mdx b/ui-kit/react/v2/javascript-2-0-overview.mdx index 9580ee04e..edf236ad5 100644 --- a/ui-kit/react/v2/javascript-2-0-overview.mdx +++ b/ui-kit/react/v2/javascript-2-0-overview.mdx @@ -1,4 +1,5 @@ --- title: "JavaScript SDK" url: "/sdk/javascript/2.0/overview" +description: "Navigate to JavaScript SDK documentation." --- \ No newline at end of file diff --git a/ui-kit/react/v2/key-concepts.mdx b/ui-kit/react/v2/key-concepts.mdx index deb56e53a..b7e97a976 100644 --- a/ui-kit/react/v2/key-concepts.mdx +++ b/ui-kit/react/v2/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- ### CometChat Dashboard diff --git a/ui-kit/react/v2/message-structure-and-hierarchy.mdx b/ui-kit/react/v2/message-structure-and-hierarchy.mdx index 1c85b0c9c..5ec91704f 100644 --- a/ui-kit/react/v2/message-structure-and-hierarchy.mdx +++ b/ui-kit/react/v2/message-structure-and-hierarchy.mdx @@ -1,5 +1,6 @@ --- title: "Message Structure And Hierarchy" +description: "Message Structure And Hierarchy — CometChat documentation." --- The below diagram helps you better understand the various message categories and types that a CometChat message can belong to. diff --git a/ui-kit/react/v2/overview.mdx b/ui-kit/react/v2/overview.mdx index 00a8d5949..14542d32e 100644 --- a/ui-kit/react/v2/overview.mdx +++ b/ui-kit/react/v2/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- The CometChat React UI Kit is developed to keep developers in mind and aims to reduce development efforts significantly. diff --git a/ui-kit/react/v2/ui-components.mdx b/ui-kit/react/v2/ui-components.mdx index 3a22d01ef..13012d2d4 100644 --- a/ui-kit/react/v2/ui-components.mdx +++ b/ui-kit/react/v2/ui-components.mdx @@ -1,5 +1,6 @@ --- title: "UI Components" +description: "UI Components — CometChat documentation." --- **UI Components** are building blocks of the UI Kit. **UI Components** are a set of custom classes specially designed to build a rich chat app. There are different UI Components available in the UI Kit Library. diff --git a/ui-kit/react/v3/customize.mdx b/ui-kit/react/v3/customize.mdx index 7ddae7765..7d9439a72 100644 --- a/ui-kit/react/v3/customize.mdx +++ b/ui-kit/react/v3/customize.mdx @@ -1,5 +1,6 @@ --- title: "Customize UI Kit" +description: "Customize UI Kit — CometChat documentation." --- This guide helps you to enable/disable features present in the UI Kit. diff --git a/ui-kit/react/v3/extensions-overview.mdx b/ui-kit/react/v3/extensions-overview.mdx index 29c1774bd..d7eadbbe5 100644 --- a/ui-kit/react/v3/extensions-overview.mdx +++ b/ui-kit/react/v3/extensions-overview.mdx @@ -1,4 +1,5 @@ --- title: "Extensions" url: "/fundamentals/extensions-overview" +description: "Navigate to Extensions documentation." --- \ No newline at end of file diff --git a/ui-kit/react/v3/javascript-3-0-overview.mdx b/ui-kit/react/v3/javascript-3-0-overview.mdx index 22b6579f4..3c2e8653d 100644 --- a/ui-kit/react/v3/javascript-3-0-overview.mdx +++ b/ui-kit/react/v3/javascript-3-0-overview.mdx @@ -1,4 +1,5 @@ --- title: "JavaScript SDK" url: "/sdk/javascript/3.0/overview" +description: "Navigate to JavaScript SDK documentation." --- \ No newline at end of file diff --git a/ui-kit/react/v3/key-concepts.mdx b/ui-kit/react/v3/key-concepts.mdx index deb56e53a..b7e97a976 100644 --- a/ui-kit/react/v3/key-concepts.mdx +++ b/ui-kit/react/v3/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- ### CometChat Dashboard diff --git a/ui-kit/react/v3/nextjs.mdx b/ui-kit/react/v3/nextjs.mdx index b6ded2e63..a1fe52578 100644 --- a/ui-kit/react/v3/nextjs.mdx +++ b/ui-kit/react/v3/nextjs.mdx @@ -1,5 +1,6 @@ --- title: "Integration With Next.js" +description: "Integration With Next.js — CometChat documentation." --- Using React UI Kit, you can integrate your Next.js application with CometChat. diff --git a/ui-kit/react/v3/overview.mdx b/ui-kit/react/v3/overview.mdx index ef9b04c8c..776a7f6e5 100644 --- a/ui-kit/react/v3/overview.mdx +++ b/ui-kit/react/v3/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- Our React Chat UI Kit lets developers easily add text, voice & video to your website. It a fully polished UI and the complete business logic. diff --git a/ui-kit/react/v3/ui-components.mdx b/ui-kit/react/v3/ui-components.mdx index bddde5416..ee566bed9 100644 --- a/ui-kit/react/v3/ui-components.mdx +++ b/ui-kit/react/v3/ui-components.mdx @@ -1,5 +1,6 @@ --- title: "UI Components" +description: "UI Components — CometChat documentation." --- **UI Components** are building blocks of the UI Kit. **UI Components** are a set of custom classes specially designed to build a rich chat app. There are different UI Components available in the UI Kit Library. diff --git a/ui-kit/react/v4/action-sheet.mdx b/ui-kit/react/v4/action-sheet.mdx index e0733f2ae..5beb29f3e 100644 --- a/ui-kit/react/v4/action-sheet.mdx +++ b/ui-kit/react/v4/action-sheet.mdx @@ -1,5 +1,6 @@ --- title: "Action Sheet" +description: "Action Sheet — CometChat documentation." --- diff --git a/ui-kit/react/v4/ai-features.mdx b/ui-kit/react/v4/ai-features.mdx index 413a5e1ca..cb9708690 100644 --- a/ui-kit/react/v4/ai-features.mdx +++ b/ui-kit/react/v4/ai-features.mdx @@ -1,5 +1,6 @@ --- title: "AI" +description: "AI — CometChat documentation." --- diff --git a/ui-kit/react/v4/audio-bubble.mdx b/ui-kit/react/v4/audio-bubble.mdx index c6d6ac26f..e4e913963 100644 --- a/ui-kit/react/v4/audio-bubble.mdx +++ b/ui-kit/react/v4/audio-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Audio Bubble" +description: "Audio Bubble — CometChat documentation." --- diff --git a/ui-kit/react/v4/avatar.mdx b/ui-kit/react/v4/avatar.mdx index 1c9f9885c..828e75eef 100644 --- a/ui-kit/react/v4/avatar.mdx +++ b/ui-kit/react/v4/avatar.mdx @@ -1,5 +1,6 @@ --- title: "Avatar" +description: "Avatar — CometChat documentation." --- diff --git a/ui-kit/react/v4/backdrop.mdx b/ui-kit/react/v4/backdrop.mdx index 1d599835c..c8ceeeec2 100644 --- a/ui-kit/react/v4/backdrop.mdx +++ b/ui-kit/react/v4/backdrop.mdx @@ -1,5 +1,6 @@ --- title: "Backdrop" +description: "Backdrop — CometChat documentation." --- diff --git a/ui-kit/react/v4/badge.mdx b/ui-kit/react/v4/badge.mdx index 8dd783d25..a84c0713e 100644 --- a/ui-kit/react/v4/badge.mdx +++ b/ui-kit/react/v4/badge.mdx @@ -1,5 +1,6 @@ --- title: "Badge" +description: "Badge — CometChat documentation." --- diff --git a/ui-kit/react/v4/button-group.mdx b/ui-kit/react/v4/button-group.mdx index 22741e845..030677e94 100644 --- a/ui-kit/react/v4/button-group.mdx +++ b/ui-kit/react/v4/button-group.mdx @@ -1,5 +1,6 @@ --- title: "Button Group" +description: "Button Group — CometChat documentation." --- diff --git a/ui-kit/react/v4/call-buttons.mdx b/ui-kit/react/v4/call-buttons.mdx index 16babe97d..c485e9476 100644 --- a/ui-kit/react/v4/call-buttons.mdx +++ b/ui-kit/react/v4/call-buttons.mdx @@ -1,5 +1,6 @@ --- title: "Call Buttons" +description: "Call Buttons — CometChat documentation." --- diff --git a/ui-kit/react/v4/call-features.mdx b/ui-kit/react/v4/call-features.mdx index 81972f2f0..e6298a252 100644 --- a/ui-kit/react/v4/call-features.mdx +++ b/ui-kit/react/v4/call-features.mdx @@ -1,5 +1,6 @@ --- title: "Call" +description: "Call — CometChat documentation." --- diff --git a/ui-kit/react/v4/call-log-details.mdx b/ui-kit/react/v4/call-log-details.mdx index 5f982754b..f3b5ca584 100644 --- a/ui-kit/react/v4/call-log-details.mdx +++ b/ui-kit/react/v4/call-log-details.mdx @@ -1,5 +1,6 @@ --- title: "Call Log Details" +description: "Call Log Details — CometChat documentation." --- diff --git a/ui-kit/react/v4/call-log-history.mdx b/ui-kit/react/v4/call-log-history.mdx index cc1c5e12b..e290df3fc 100644 --- a/ui-kit/react/v4/call-log-history.mdx +++ b/ui-kit/react/v4/call-log-history.mdx @@ -1,5 +1,6 @@ --- title: "Call Log History" +description: "Call Log History — CometChat documentation." --- diff --git a/ui-kit/react/v4/call-log-participants.mdx b/ui-kit/react/v4/call-log-participants.mdx index 04e09f664..ecce14ab9 100644 --- a/ui-kit/react/v4/call-log-participants.mdx +++ b/ui-kit/react/v4/call-log-participants.mdx @@ -1,5 +1,6 @@ --- title: "Call Log Participants" +description: "Call Log Participants — CometChat documentation." --- diff --git a/ui-kit/react/v4/call-log-recording.mdx b/ui-kit/react/v4/call-log-recording.mdx index 9895f6cd1..61f095293 100644 --- a/ui-kit/react/v4/call-log-recording.mdx +++ b/ui-kit/react/v4/call-log-recording.mdx @@ -1,5 +1,6 @@ --- title: "Call Log Recordings" +description: "Call Log Recordings — CometChat documentation." --- diff --git a/ui-kit/react/v4/call-log-with-details.mdx b/ui-kit/react/v4/call-log-with-details.mdx index 957b2d20f..e02ef7a28 100644 --- a/ui-kit/react/v4/call-log-with-details.mdx +++ b/ui-kit/react/v4/call-log-with-details.mdx @@ -1,5 +1,6 @@ --- title: "Call Log With Details" +description: "Call Log With Details — CometChat documentation." --- diff --git a/ui-kit/react/v4/call-logs.mdx b/ui-kit/react/v4/call-logs.mdx index 7f6dab0a7..1f2a16b92 100644 --- a/ui-kit/react/v4/call-logs.mdx +++ b/ui-kit/react/v4/call-logs.mdx @@ -1,5 +1,6 @@ --- title: "Call Logs" +description: "Call Logs — CometChat documentation." --- diff --git a/ui-kit/react/v4/call-overview.mdx b/ui-kit/react/v4/call-overview.mdx index f71d7339c..14c7044c3 100644 --- a/ui-kit/react/v4/call-overview.mdx +++ b/ui-kit/react/v4/call-overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/ui-kit/react/v4/checkbox.mdx b/ui-kit/react/v4/checkbox.mdx index 821b3f368..1cc0d6415 100644 --- a/ui-kit/react/v4/checkbox.mdx +++ b/ui-kit/react/v4/checkbox.mdx @@ -1,5 +1,6 @@ --- title: "Checkbox" +description: "Checkbox — CometChat documentation." --- diff --git a/ui-kit/react/v4/cometchat-quick-view.mdx b/ui-kit/react/v4/cometchat-quick-view.mdx index d83429801..75471be7c 100644 --- a/ui-kit/react/v4/cometchat-quick-view.mdx +++ b/ui-kit/react/v4/cometchat-quick-view.mdx @@ -1,5 +1,6 @@ --- title: "Quick View" +description: "Quick View — CometChat documentation." --- diff --git a/ui-kit/react/v4/components-overview.mdx b/ui-kit/react/v4/components-overview.mdx index bec7db55b..2b348f570 100644 --- a/ui-kit/react/v4/components-overview.mdx +++ b/ui-kit/react/v4/components-overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/ui-kit/react/v4/confirm-dialog.mdx b/ui-kit/react/v4/confirm-dialog.mdx index 9b3aac13c..9f3b27d0e 100644 --- a/ui-kit/react/v4/confirm-dialog.mdx +++ b/ui-kit/react/v4/confirm-dialog.mdx @@ -1,5 +1,6 @@ --- title: "Confirm Dialog" +description: "Confirm Dialog — CometChat documentation." --- diff --git a/ui-kit/react/v4/contacts.mdx b/ui-kit/react/v4/contacts.mdx index 6c0cf74df..24cada0de 100644 --- a/ui-kit/react/v4/contacts.mdx +++ b/ui-kit/react/v4/contacts.mdx @@ -1,5 +1,6 @@ --- title: "Contacts" +description: "Contacts — CometChat documentation." --- diff --git a/ui-kit/react/v4/conversations-with-messages.mdx b/ui-kit/react/v4/conversations-with-messages.mdx index 516e0a56a..d183d4168 100644 --- a/ui-kit/react/v4/conversations-with-messages.mdx +++ b/ui-kit/react/v4/conversations-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Conversations With Messages" +description: "Conversations With Messages — CometChat documentation." --- diff --git a/ui-kit/react/v4/conversations.mdx b/ui-kit/react/v4/conversations.mdx index 7f2ffd2c9..182eb6273 100644 --- a/ui-kit/react/v4/conversations.mdx +++ b/ui-kit/react/v4/conversations.mdx @@ -1,6 +1,7 @@ --- title: "Conversations" sidebarTitle: "Overview" +description: "Conversations — CometChat documentation." --- diff --git a/ui-kit/react/v4/core-features.mdx b/ui-kit/react/v4/core-features.mdx index fbf7e721b..b46db6c08 100644 --- a/ui-kit/react/v4/core-features.mdx +++ b/ui-kit/react/v4/core-features.mdx @@ -1,5 +1,6 @@ --- title: "Core" +description: "Core — CometChat documentation." --- diff --git a/ui-kit/react/v4/create-group.mdx b/ui-kit/react/v4/create-group.mdx index 314783cb5..22f0f051b 100644 --- a/ui-kit/react/v4/create-group.mdx +++ b/ui-kit/react/v4/create-group.mdx @@ -1,5 +1,6 @@ --- title: "Create Group" +description: "Create Group — CometChat documentation." --- diff --git a/ui-kit/react/v4/custom-text-formatter-guide.mdx b/ui-kit/react/v4/custom-text-formatter-guide.mdx index b0ee91c9e..d8f37c13f 100644 --- a/ui-kit/react/v4/custom-text-formatter-guide.mdx +++ b/ui-kit/react/v4/custom-text-formatter-guide.mdx @@ -1,5 +1,6 @@ --- title: "Custom Text Formatter" +description: "Custom Text Formatter — CometChat integration guide." --- diff --git a/ui-kit/react/v4/date.mdx b/ui-kit/react/v4/date.mdx index 75c152bcc..ddd4c9334 100644 --- a/ui-kit/react/v4/date.mdx +++ b/ui-kit/react/v4/date.mdx @@ -1,5 +1,6 @@ --- title: "Date" +description: "Date — CometChat documentation." --- diff --git a/ui-kit/react/v4/document-bubble.mdx b/ui-kit/react/v4/document-bubble.mdx index 94e35c7a1..c2a7cdf96 100644 --- a/ui-kit/react/v4/document-bubble.mdx +++ b/ui-kit/react/v4/document-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Document Bubble" +description: "Document Bubble — CometChat documentation." --- diff --git a/ui-kit/react/v4/dropdown.mdx b/ui-kit/react/v4/dropdown.mdx index a19078e88..c70f208e1 100644 --- a/ui-kit/react/v4/dropdown.mdx +++ b/ui-kit/react/v4/dropdown.mdx @@ -1,5 +1,6 @@ --- title: "Dropdown" +description: "Dropdown — CometChat documentation." --- diff --git a/ui-kit/react/v4/emoji-keyboard.mdx b/ui-kit/react/v4/emoji-keyboard.mdx index 87614d09f..efc178f23 100644 --- a/ui-kit/react/v4/emoji-keyboard.mdx +++ b/ui-kit/react/v4/emoji-keyboard.mdx @@ -1,5 +1,6 @@ --- title: "Emoji Keyboard" +description: "Emoji Keyboard — CometChat documentation." --- diff --git a/ui-kit/react/v4/events.mdx b/ui-kit/react/v4/events.mdx index 5a11143bb..2ab7be0d2 100644 --- a/ui-kit/react/v4/events.mdx +++ b/ui-kit/react/v4/events.mdx @@ -1,5 +1,6 @@ --- title: "Events" +description: "Events — CometChat documentation." --- diff --git a/ui-kit/react/v4/extensions.mdx b/ui-kit/react/v4/extensions.mdx index cfbe39714..fdd096782 100644 --- a/ui-kit/react/v4/extensions.mdx +++ b/ui-kit/react/v4/extensions.mdx @@ -1,5 +1,6 @@ --- title: "Extensions" +description: "Extensions — CometChat documentation." --- diff --git a/ui-kit/react/v4/file-bubble.mdx b/ui-kit/react/v4/file-bubble.mdx index b933e95f9..2c13522bc 100644 --- a/ui-kit/react/v4/file-bubble.mdx +++ b/ui-kit/react/v4/file-bubble.mdx @@ -1,5 +1,6 @@ --- title: "File Bubble" +description: "File Bubble — CometChat documentation." --- diff --git a/ui-kit/react/v4/getting-started.mdx b/ui-kit/react/v4/getting-started.mdx index 54b785a94..29f16088d 100644 --- a/ui-kit/react/v4/getting-started.mdx +++ b/ui-kit/react/v4/getting-started.mdx @@ -1,5 +1,6 @@ --- title: "Getting Started" +description: "Getting Started — CometChat documentation." --- ## Start your first conversation diff --git a/ui-kit/react/v4/group-add-members.mdx b/ui-kit/react/v4/group-add-members.mdx index 22727db3f..c4bda9379 100644 --- a/ui-kit/react/v4/group-add-members.mdx +++ b/ui-kit/react/v4/group-add-members.mdx @@ -1,5 +1,6 @@ --- title: "Add Members" +description: "Add Members — CometChat documentation." --- diff --git a/ui-kit/react/v4/group-banned-members.mdx b/ui-kit/react/v4/group-banned-members.mdx index 61fd97e2c..ecbc135f5 100644 --- a/ui-kit/react/v4/group-banned-members.mdx +++ b/ui-kit/react/v4/group-banned-members.mdx @@ -1,5 +1,6 @@ --- title: "Banned Members" +description: "Banned Members — CometChat documentation." --- diff --git a/ui-kit/react/v4/group-details.mdx b/ui-kit/react/v4/group-details.mdx index a1bfe26d1..e43ea7650 100644 --- a/ui-kit/react/v4/group-details.mdx +++ b/ui-kit/react/v4/group-details.mdx @@ -1,5 +1,6 @@ --- title: "Group Details" +description: "Group Details — CometChat documentation." --- diff --git a/ui-kit/react/v4/group-members.mdx b/ui-kit/react/v4/group-members.mdx index 8781640dc..206e7c535 100644 --- a/ui-kit/react/v4/group-members.mdx +++ b/ui-kit/react/v4/group-members.mdx @@ -1,5 +1,6 @@ --- title: "Group Members" +description: "Group Members — CometChat documentation." --- diff --git a/ui-kit/react/v4/group-transfer-ownership.mdx b/ui-kit/react/v4/group-transfer-ownership.mdx index 8a4ac6e31..43feb20bb 100644 --- a/ui-kit/react/v4/group-transfer-ownership.mdx +++ b/ui-kit/react/v4/group-transfer-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Ownership" +description: "Transfer Ownership — CometChat documentation." --- diff --git a/ui-kit/react/v4/groups-with-messages.mdx b/ui-kit/react/v4/groups-with-messages.mdx index d14fbf93f..dc11f4c8d 100644 --- a/ui-kit/react/v4/groups-with-messages.mdx +++ b/ui-kit/react/v4/groups-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Groups With Messages" +description: "Groups With Messages — CometChat documentation." --- diff --git a/ui-kit/react/v4/groups.mdx b/ui-kit/react/v4/groups.mdx index 5910635c3..4c768d687 100644 --- a/ui-kit/react/v4/groups.mdx +++ b/ui-kit/react/v4/groups.mdx @@ -1,6 +1,7 @@ --- title: "Groups" sidebarTitle: "Overview" +description: "Groups — CometChat documentation." --- diff --git a/ui-kit/react/v4/icon-button.mdx b/ui-kit/react/v4/icon-button.mdx index 9f17a0733..f2c325a85 100644 --- a/ui-kit/react/v4/icon-button.mdx +++ b/ui-kit/react/v4/icon-button.mdx @@ -1,5 +1,6 @@ --- title: "Icon Button" +description: "Icon Button — CometChat documentation." --- diff --git a/ui-kit/react/v4/icon.mdx b/ui-kit/react/v4/icon.mdx index 49a419bc6..c70c27eac 100644 --- a/ui-kit/react/v4/icon.mdx +++ b/ui-kit/react/v4/icon.mdx @@ -1,5 +1,6 @@ --- title: "Icon" +description: "Icon — CometChat documentation." --- diff --git a/ui-kit/react/v4/image-bubble.mdx b/ui-kit/react/v4/image-bubble.mdx index b62ff5a59..d818da454 100644 --- a/ui-kit/react/v4/image-bubble.mdx +++ b/ui-kit/react/v4/image-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Image Bubble" +description: "Image Bubble — CometChat documentation." --- diff --git a/ui-kit/react/v4/incoming-call.mdx b/ui-kit/react/v4/incoming-call.mdx index 94d2ded33..b512e5b8a 100644 --- a/ui-kit/react/v4/incoming-call.mdx +++ b/ui-kit/react/v4/incoming-call.mdx @@ -1,5 +1,6 @@ --- title: "Incoming Call" +description: "Incoming Call — CometChat documentation." --- diff --git a/ui-kit/react/v4/input.mdx b/ui-kit/react/v4/input.mdx index a61231d4f..bade75311 100644 --- a/ui-kit/react/v4/input.mdx +++ b/ui-kit/react/v4/input.mdx @@ -1,5 +1,6 @@ --- title: "Input" +description: "Input — CometChat documentation." --- diff --git a/ui-kit/react/v4/interactive-action-entity.mdx b/ui-kit/react/v4/interactive-action-entity.mdx index 69348fbc1..ef03786f7 100644 --- a/ui-kit/react/v4/interactive-action-entity.mdx +++ b/ui-kit/react/v4/interactive-action-entity.mdx @@ -1,5 +1,6 @@ --- title: "Action Entity" +description: "Action Entity — CometChat documentation." --- diff --git a/ui-kit/react/v4/interactive-button-element.mdx b/ui-kit/react/v4/interactive-button-element.mdx index 409f85d8a..7dc07ef87 100644 --- a/ui-kit/react/v4/interactive-button-element.mdx +++ b/ui-kit/react/v4/interactive-button-element.mdx @@ -1,5 +1,6 @@ --- title: "Button Element" +description: "Button Element — CometChat documentation." --- diff --git a/ui-kit/react/v4/interactive-card-bubble.mdx b/ui-kit/react/v4/interactive-card-bubble.mdx index a1761fef6..f5bb4d731 100644 --- a/ui-kit/react/v4/interactive-card-bubble.mdx +++ b/ui-kit/react/v4/interactive-card-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Card Bubble" +description: "Card Bubble — CometChat documentation." --- diff --git a/ui-kit/react/v4/interactive-card-message.mdx b/ui-kit/react/v4/interactive-card-message.mdx index 036f5a152..00b7dbb1b 100644 --- a/ui-kit/react/v4/interactive-card-message.mdx +++ b/ui-kit/react/v4/interactive-card-message.mdx @@ -1,5 +1,6 @@ --- title: "Card Message" +description: "Card Message — CometChat documentation." --- diff --git a/ui-kit/react/v4/interactive-checkbox-element.mdx b/ui-kit/react/v4/interactive-checkbox-element.mdx index e8c3dadfb..f43cdd8c1 100644 --- a/ui-kit/react/v4/interactive-checkbox-element.mdx +++ b/ui-kit/react/v4/interactive-checkbox-element.mdx @@ -1,5 +1,6 @@ --- title: "Checkbox Element" +description: "Checkbox Element — CometChat documentation." --- diff --git a/ui-kit/react/v4/interactive-custom-interactive-message.mdx b/ui-kit/react/v4/interactive-custom-interactive-message.mdx index ca7b3fc42..f233cb9ae 100644 --- a/ui-kit/react/v4/interactive-custom-interactive-message.mdx +++ b/ui-kit/react/v4/interactive-custom-interactive-message.mdx @@ -1,5 +1,6 @@ --- title: "Custom Interactive Message" +description: "Custom Interactive Message — CometChat documentation." --- diff --git a/ui-kit/react/v4/interactive-date-time-picker-element.mdx b/ui-kit/react/v4/interactive-date-time-picker-element.mdx index 9f608beb0..2ebe1ceeb 100644 --- a/ui-kit/react/v4/interactive-date-time-picker-element.mdx +++ b/ui-kit/react/v4/interactive-date-time-picker-element.mdx @@ -1,5 +1,6 @@ --- title: "DateTimePickerElement" +description: "DateTimePickerElement — CometChat documentation." --- diff --git a/ui-kit/react/v4/interactive-dropdown-element.mdx b/ui-kit/react/v4/interactive-dropdown-element.mdx index 7f893acc5..584bc7e76 100644 --- a/ui-kit/react/v4/interactive-dropdown-element.mdx +++ b/ui-kit/react/v4/interactive-dropdown-element.mdx @@ -1,5 +1,6 @@ --- title: "DropdownElement" +description: "DropdownElement — CometChat documentation." --- diff --git a/ui-kit/react/v4/interactive-element-type.mdx b/ui-kit/react/v4/interactive-element-type.mdx index 50e6e0a82..09e3ec39b 100644 --- a/ui-kit/react/v4/interactive-element-type.mdx +++ b/ui-kit/react/v4/interactive-element-type.mdx @@ -1,5 +1,6 @@ --- title: "Element Type" +description: "Element Type — CometChat documentation." --- diff --git a/ui-kit/react/v4/interactive-form-bubble.mdx b/ui-kit/react/v4/interactive-form-bubble.mdx index a03dbf615..9a20f4e19 100644 --- a/ui-kit/react/v4/interactive-form-bubble.mdx +++ b/ui-kit/react/v4/interactive-form-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Form Bubble" +description: "Form Bubble — CometChat documentation." --- diff --git a/ui-kit/react/v4/interactive-form-message.mdx b/ui-kit/react/v4/interactive-form-message.mdx index 54d89ef43..bdebed606 100644 --- a/ui-kit/react/v4/interactive-form-message.mdx +++ b/ui-kit/react/v4/interactive-form-message.mdx @@ -1,5 +1,6 @@ --- title: "Form Message" +description: "Form Message — CometChat documentation." --- diff --git a/ui-kit/react/v4/interactive-label-element.mdx b/ui-kit/react/v4/interactive-label-element.mdx index d4ed016d8..2ed97ae10 100644 --- a/ui-kit/react/v4/interactive-label-element.mdx +++ b/ui-kit/react/v4/interactive-label-element.mdx @@ -1,5 +1,6 @@ --- title: "Label Element" +description: "Label Element — CometChat documentation." --- diff --git a/ui-kit/react/v4/interactive-radio-button-element.mdx b/ui-kit/react/v4/interactive-radio-button-element.mdx index 89f88a2fc..6016e9f68 100644 --- a/ui-kit/react/v4/interactive-radio-button-element.mdx +++ b/ui-kit/react/v4/interactive-radio-button-element.mdx @@ -1,5 +1,6 @@ --- title: "Radio Button Element" +description: "Radio Button Element — CometChat documentation." --- diff --git a/ui-kit/react/v4/interactive-scheduler-bubble.mdx b/ui-kit/react/v4/interactive-scheduler-bubble.mdx index 66618641f..9ff286dd3 100644 --- a/ui-kit/react/v4/interactive-scheduler-bubble.mdx +++ b/ui-kit/react/v4/interactive-scheduler-bubble.mdx @@ -1,5 +1,6 @@ --- title: "SchedulerBubble" +description: "SchedulerBubble — CometChat documentation." --- diff --git a/ui-kit/react/v4/interactive-scheduler-message.mdx b/ui-kit/react/v4/interactive-scheduler-message.mdx index 9c3219f89..c83fee020 100644 --- a/ui-kit/react/v4/interactive-scheduler-message.mdx +++ b/ui-kit/react/v4/interactive-scheduler-message.mdx @@ -1,5 +1,6 @@ --- title: "Scheduler Message" +description: "Scheduler Message — CometChat documentation." --- diff --git a/ui-kit/react/v4/interactive-single-select-element.mdx b/ui-kit/react/v4/interactive-single-select-element.mdx index 7c0e30ba7..0b740c849 100644 --- a/ui-kit/react/v4/interactive-single-select-element.mdx +++ b/ui-kit/react/v4/interactive-single-select-element.mdx @@ -1,5 +1,6 @@ --- title: "Single Select Element" +description: "Single Select Element — CometChat documentation." --- diff --git a/ui-kit/react/v4/interactive-text-input-element.mdx b/ui-kit/react/v4/interactive-text-input-element.mdx index 3d90c958b..08dd20b9d 100644 --- a/ui-kit/react/v4/interactive-text-input-element.mdx +++ b/ui-kit/react/v4/interactive-text-input-element.mdx @@ -1,5 +1,6 @@ --- title: "Text Input Element" +description: "Text Input Element — CometChat documentation." --- diff --git a/ui-kit/react/v4/join-protected-group.mdx b/ui-kit/react/v4/join-protected-group.mdx index 7ff0effb7..b9f072abe 100644 --- a/ui-kit/react/v4/join-protected-group.mdx +++ b/ui-kit/react/v4/join-protected-group.mdx @@ -1,5 +1,6 @@ --- title: "Join Protected Group" +description: "Join Protected Group — CometChat documentation." --- diff --git a/ui-kit/react/v4/label.mdx b/ui-kit/react/v4/label.mdx index 604d23e75..18f95b1f8 100644 --- a/ui-kit/react/v4/label.mdx +++ b/ui-kit/react/v4/label.mdx @@ -1,5 +1,6 @@ --- title: "Label" +description: "Label — CometChat documentation." --- diff --git a/ui-kit/react/v4/list-item.mdx b/ui-kit/react/v4/list-item.mdx index dcb7f3cd5..1e8ec989d 100644 --- a/ui-kit/react/v4/list-item.mdx +++ b/ui-kit/react/v4/list-item.mdx @@ -1,5 +1,6 @@ --- title: "List Item" +description: "List Item — CometChat documentation." --- diff --git a/ui-kit/react/v4/list.mdx b/ui-kit/react/v4/list.mdx index dd4eb3145..f8149df22 100644 --- a/ui-kit/react/v4/list.mdx +++ b/ui-kit/react/v4/list.mdx @@ -1,5 +1,6 @@ --- title: "List" +description: "List — CometChat documentation." --- diff --git a/ui-kit/react/v4/loader.mdx b/ui-kit/react/v4/loader.mdx index f4368af11..a28c2efc3 100644 --- a/ui-kit/react/v4/loader.mdx +++ b/ui-kit/react/v4/loader.mdx @@ -1,5 +1,6 @@ --- title: "Loader" +description: "Loader — CometChat documentation." --- diff --git a/ui-kit/react/v4/localize.mdx b/ui-kit/react/v4/localize.mdx index 08bed141a..9c066e3fe 100644 --- a/ui-kit/react/v4/localize.mdx +++ b/ui-kit/react/v4/localize.mdx @@ -1,5 +1,6 @@ --- title: "Localize" +description: "Localize — CometChat documentation." --- diff --git a/ui-kit/react/v4/media-recorder.mdx b/ui-kit/react/v4/media-recorder.mdx index 512e79762..3351f140e 100644 --- a/ui-kit/react/v4/media-recorder.mdx +++ b/ui-kit/react/v4/media-recorder.mdx @@ -1,5 +1,6 @@ --- title: "Media Recorder" +description: "Media Recorder — CometChat documentation." --- diff --git a/ui-kit/react/v4/mentions-formatter-guide.mdx b/ui-kit/react/v4/mentions-formatter-guide.mdx index c9f645e68..99beed181 100644 --- a/ui-kit/react/v4/mentions-formatter-guide.mdx +++ b/ui-kit/react/v4/mentions-formatter-guide.mdx @@ -1,5 +1,6 @@ --- title: "Mentions Formatter" +description: "Mentions Formatter — CometChat integration guide." --- diff --git a/ui-kit/react/v4/message-bubble.mdx b/ui-kit/react/v4/message-bubble.mdx index fd9b7ee74..1618b9a86 100644 --- a/ui-kit/react/v4/message-bubble.mdx +++ b/ui-kit/react/v4/message-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Message Bubble" +description: "Message Bubble — CometChat documentation." --- diff --git a/ui-kit/react/v4/message-composer.mdx b/ui-kit/react/v4/message-composer.mdx index a49d1ccaf..03b6348b7 100644 --- a/ui-kit/react/v4/message-composer.mdx +++ b/ui-kit/react/v4/message-composer.mdx @@ -1,5 +1,6 @@ --- title: "Message Composer" +description: "Message Composer — CometChat documentation." --- diff --git a/ui-kit/react/v4/message-header.mdx b/ui-kit/react/v4/message-header.mdx index 0a9cec485..77e2d5ffd 100644 --- a/ui-kit/react/v4/message-header.mdx +++ b/ui-kit/react/v4/message-header.mdx @@ -1,5 +1,6 @@ --- title: "Message Header" +description: "Message Header — CometChat documentation." --- diff --git a/ui-kit/react/v4/message-information.mdx b/ui-kit/react/v4/message-information.mdx index ef4e3cb1c..3d5354393 100644 --- a/ui-kit/react/v4/message-information.mdx +++ b/ui-kit/react/v4/message-information.mdx @@ -1,5 +1,6 @@ --- title: "Message Information" +description: "Message Information — CometChat documentation." --- diff --git a/ui-kit/react/v4/message-input.mdx b/ui-kit/react/v4/message-input.mdx index 1ed4eaa02..081f6ecf9 100644 --- a/ui-kit/react/v4/message-input.mdx +++ b/ui-kit/react/v4/message-input.mdx @@ -1,5 +1,6 @@ --- title: "Message Input" +description: "Message Input — CometChat documentation." --- diff --git a/ui-kit/react/v4/message-list.mdx b/ui-kit/react/v4/message-list.mdx index 94534796f..32b852579 100644 --- a/ui-kit/react/v4/message-list.mdx +++ b/ui-kit/react/v4/message-list.mdx @@ -1,5 +1,6 @@ --- title: "Message List" +description: "Message List — CometChat documentation." --- diff --git a/ui-kit/react/v4/message-template.mdx b/ui-kit/react/v4/message-template.mdx index 273f9d5b7..14870bf01 100644 --- a/ui-kit/react/v4/message-template.mdx +++ b/ui-kit/react/v4/message-template.mdx @@ -1,5 +1,6 @@ --- title: "Message Template" +description: "Message Template — CometChat documentation." --- diff --git a/ui-kit/react/v4/messages.mdx b/ui-kit/react/v4/messages.mdx index 18dc49dc1..e07ef6743 100644 --- a/ui-kit/react/v4/messages.mdx +++ b/ui-kit/react/v4/messages.mdx @@ -1,6 +1,7 @@ --- title: "Messages" sidebarTitle: "Overview" +description: "Messages — CometChat documentation." --- diff --git a/ui-kit/react/v4/methods.mdx b/ui-kit/react/v4/methods.mdx index 4af60644a..46075fe7f 100644 --- a/ui-kit/react/v4/methods.mdx +++ b/ui-kit/react/v4/methods.mdx @@ -1,5 +1,6 @@ --- title: "Methods" +description: "Methods — CometChat documentation." --- @@ -170,8 +171,8 @@ CometChatUIKit.getLoggedinUser() This advanced authentication procedure does not use the Auth Key directly in your client code thus ensuring safety. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `loginWithAuthToken()` method. diff --git a/ui-kit/react/v4/modal.mdx b/ui-kit/react/v4/modal.mdx index 83ba10ac1..e8ffce5eb 100644 --- a/ui-kit/react/v4/modal.mdx +++ b/ui-kit/react/v4/modal.mdx @@ -1,5 +1,6 @@ --- title: "Modal" +description: "Modal — CometChat documentation." --- diff --git a/ui-kit/react/v4/multi-tab-chat-ui-guide.mdx b/ui-kit/react/v4/multi-tab-chat-ui-guide.mdx index 7062c4d12..bfa5272b9 100644 --- a/ui-kit/react/v4/multi-tab-chat-ui-guide.mdx +++ b/ui-kit/react/v4/multi-tab-chat-ui-guide.mdx @@ -1,5 +1,6 @@ --- title: "Multi Tab Chat UI Guide" +description: "Multi Tab Chat UI Guide — CometChat integration guide." --- diff --git a/ui-kit/react/v4/next-js-integration-guide.mdx b/ui-kit/react/v4/next-js-integration-guide.mdx index f67afeae4..105eef3c3 100644 --- a/ui-kit/react/v4/next-js-integration-guide.mdx +++ b/ui-kit/react/v4/next-js-integration-guide.mdx @@ -1,5 +1,6 @@ --- title: "Next.js Integration" +description: "Next.js Integration — CometChat integration guide." --- diff --git a/ui-kit/react/v4/ongoing-call.mdx b/ui-kit/react/v4/ongoing-call.mdx index bbad6388f..f22efa46e 100644 --- a/ui-kit/react/v4/ongoing-call.mdx +++ b/ui-kit/react/v4/ongoing-call.mdx @@ -1,5 +1,6 @@ --- title: "Ongoing Call" +description: "Ongoing Call — CometChat documentation." --- diff --git a/ui-kit/react/v4/outgoing-call.mdx b/ui-kit/react/v4/outgoing-call.mdx index a63880adc..85b836805 100644 --- a/ui-kit/react/v4/outgoing-call.mdx +++ b/ui-kit/react/v4/outgoing-call.mdx @@ -1,5 +1,6 @@ --- title: "Outgoing Call" +description: "Outgoing Call — CometChat documentation." --- diff --git a/ui-kit/react/v4/overview.mdx b/ui-kit/react/v4/overview.mdx index e3ae577c1..e51201dfe 100644 --- a/ui-kit/react/v4/overview.mdx +++ b/ui-kit/react/v4/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/ui-kit/react/v4/pop-over.mdx b/ui-kit/react/v4/pop-over.mdx index d3b64e868..e603aba0f 100644 --- a/ui-kit/react/v4/pop-over.mdx +++ b/ui-kit/react/v4/pop-over.mdx @@ -1,5 +1,6 @@ --- title: "Pop Over" +description: "Pop Over — CometChat documentation." --- diff --git a/ui-kit/react/v4/property-changes.mdx b/ui-kit/react/v4/property-changes.mdx index 8e8569441..846b6d906 100644 --- a/ui-kit/react/v4/property-changes.mdx +++ b/ui-kit/react/v4/property-changes.mdx @@ -1,5 +1,6 @@ --- title: "Property Changes" +description: "Property Changes — CometChat documentation." --- diff --git a/ui-kit/react/v4/radio-button.mdx b/ui-kit/react/v4/radio-button.mdx index f3be8718f..8428a146b 100644 --- a/ui-kit/react/v4/radio-button.mdx +++ b/ui-kit/react/v4/radio-button.mdx @@ -1,5 +1,6 @@ --- title: "Radio Button" +description: "Radio Button — CometChat documentation." --- diff --git a/ui-kit/react/v4/reaction-info.mdx b/ui-kit/react/v4/reaction-info.mdx index 5cb140eea..ba871008c 100644 --- a/ui-kit/react/v4/reaction-info.mdx +++ b/ui-kit/react/v4/reaction-info.mdx @@ -1,5 +1,6 @@ --- title: "Reaction Info" +description: "Reaction Info — CometChat documentation." --- diff --git a/ui-kit/react/v4/reaction-list.mdx b/ui-kit/react/v4/reaction-list.mdx index cc746a790..c24b666a3 100644 --- a/ui-kit/react/v4/reaction-list.mdx +++ b/ui-kit/react/v4/reaction-list.mdx @@ -1,5 +1,6 @@ --- title: "Reaction List" +description: "Reaction List — CometChat documentation." --- diff --git a/ui-kit/react/v4/reaction.mdx b/ui-kit/react/v4/reaction.mdx index 1c0dc33d7..8c16bd60f 100644 --- a/ui-kit/react/v4/reaction.mdx +++ b/ui-kit/react/v4/reaction.mdx @@ -1,6 +1,7 @@ --- title: "Reactions" sidebarTitle: "Overview" +description: "Reactions — CometChat documentation." --- diff --git a/ui-kit/react/v4/receipt.mdx b/ui-kit/react/v4/receipt.mdx index c11564de0..56019c138 100644 --- a/ui-kit/react/v4/receipt.mdx +++ b/ui-kit/react/v4/receipt.mdx @@ -1,5 +1,6 @@ --- title: "Receipt" +description: "Receipt — CometChat documentation." --- diff --git a/ui-kit/react/v4/search-input.mdx b/ui-kit/react/v4/search-input.mdx index c4f57b3f2..c39db763f 100644 --- a/ui-kit/react/v4/search-input.mdx +++ b/ui-kit/react/v4/search-input.mdx @@ -1,5 +1,6 @@ --- title: "Search Input" +description: "Search Input — CometChat documentation." --- diff --git a/ui-kit/react/v4/shortcut-formatter-guide.mdx b/ui-kit/react/v4/shortcut-formatter-guide.mdx index de75735b2..91eba2316 100644 --- a/ui-kit/react/v4/shortcut-formatter-guide.mdx +++ b/ui-kit/react/v4/shortcut-formatter-guide.mdx @@ -1,5 +1,6 @@ --- title: "ShortCut Formatter" +description: "ShortCut Formatter — CometChat integration guide." --- diff --git a/ui-kit/react/v4/singleselect.mdx b/ui-kit/react/v4/singleselect.mdx index 2cc7345dd..e35d915db 100644 --- a/ui-kit/react/v4/singleselect.mdx +++ b/ui-kit/react/v4/singleselect.mdx @@ -1,5 +1,6 @@ --- title: "Single Select" +description: "Single Select — CometChat documentation." --- diff --git a/ui-kit/react/v4/sound-manager.mdx b/ui-kit/react/v4/sound-manager.mdx index 7b2f44511..387cf0d55 100644 --- a/ui-kit/react/v4/sound-manager.mdx +++ b/ui-kit/react/v4/sound-manager.mdx @@ -1,5 +1,6 @@ --- title: "Sound Manager" +description: "Sound Manager — CometChat documentation." --- diff --git a/ui-kit/react/v4/status-indicator.mdx b/ui-kit/react/v4/status-indicator.mdx index 6796a9195..4d0420df0 100644 --- a/ui-kit/react/v4/status-indicator.mdx +++ b/ui-kit/react/v4/status-indicator.mdx @@ -1,5 +1,6 @@ --- title: "Status Indicator" +description: "Status Indicator — CometChat documentation." --- diff --git a/ui-kit/react/v4/text-bubble.mdx b/ui-kit/react/v4/text-bubble.mdx index f03bfc1ed..43d167fea 100644 --- a/ui-kit/react/v4/text-bubble.mdx +++ b/ui-kit/react/v4/text-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Text Bubble" +description: "Text Bubble — CometChat documentation." --- diff --git a/ui-kit/react/v4/theme.mdx b/ui-kit/react/v4/theme.mdx index 92526a338..aa2d7b684 100644 --- a/ui-kit/react/v4/theme.mdx +++ b/ui-kit/react/v4/theme.mdx @@ -1,5 +1,6 @@ --- title: "Theme" +description: "Theme — CometChat documentation." --- diff --git a/ui-kit/react/v4/threaded-messages.mdx b/ui-kit/react/v4/threaded-messages.mdx index 8e7496d49..fd9b0afcd 100644 --- a/ui-kit/react/v4/threaded-messages.mdx +++ b/ui-kit/react/v4/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- diff --git a/ui-kit/react/v4/upgrade-to-v5.mdx b/ui-kit/react/v4/upgrade-to-v5.mdx index 15035c156..bcff96eb8 100644 --- a/ui-kit/react/v4/upgrade-to-v5.mdx +++ b/ui-kit/react/v4/upgrade-to-v5.mdx @@ -1,5 +1,6 @@ --- title: "Upgrade To V5" +description: "Upgrade To V5 — CometChat documentation." --- diff --git a/ui-kit/react/v4/url-formatter-guide.mdx b/ui-kit/react/v4/url-formatter-guide.mdx index fc77b714e..955c78f01 100644 --- a/ui-kit/react/v4/url-formatter-guide.mdx +++ b/ui-kit/react/v4/url-formatter-guide.mdx @@ -1,5 +1,6 @@ --- title: "URL Formatter" +description: "URL Formatter — CometChat integration guide." --- diff --git a/ui-kit/react/v4/user-member-wrapper.mdx b/ui-kit/react/v4/user-member-wrapper.mdx index e31603ee0..0bc2255bc 100644 --- a/ui-kit/react/v4/user-member-wrapper.mdx +++ b/ui-kit/react/v4/user-member-wrapper.mdx @@ -1,5 +1,6 @@ --- title: "User Member Wrapper" +description: "User Member Wrapper — CometChat documentation." --- diff --git a/ui-kit/react/v4/users-details.mdx b/ui-kit/react/v4/users-details.mdx index 65b64a2c8..03667f79a 100644 --- a/ui-kit/react/v4/users-details.mdx +++ b/ui-kit/react/v4/users-details.mdx @@ -1,5 +1,6 @@ --- title: "User Details" +description: "User Details — CometChat documentation." --- diff --git a/ui-kit/react/v4/users-with-messages.mdx b/ui-kit/react/v4/users-with-messages.mdx index 1c403337f..4e4f3ba99 100644 --- a/ui-kit/react/v4/users-with-messages.mdx +++ b/ui-kit/react/v4/users-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Users With Messages" +description: "Users With Messages — CometChat documentation." --- diff --git a/ui-kit/react/v4/users.mdx b/ui-kit/react/v4/users.mdx index b26a26c2e..bf84aa98b 100644 --- a/ui-kit/react/v4/users.mdx +++ b/ui-kit/react/v4/users.mdx @@ -1,6 +1,7 @@ --- title: "Users" sidebarTitle: "Overview" +description: "Users — CometChat documentation." --- diff --git a/ui-kit/react/v4/video-bubble.mdx b/ui-kit/react/v4/video-bubble.mdx index ba98d7337..c2afecaf6 100644 --- a/ui-kit/react/v4/video-bubble.mdx +++ b/ui-kit/react/v4/video-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Video Bubble" +description: "Video Bubble — CometChat documentation." --- diff --git a/ui-kit/react/v5/ai-features.mdx b/ui-kit/react/v5/ai-features.mdx index 019856554..b65cdfebf 100644 --- a/ui-kit/react/v5/ai-features.mdx +++ b/ui-kit/react/v5/ai-features.mdx @@ -1,5 +1,6 @@ --- title: "AI User Copilot" +description: "AI User Copilot — CometChat documentation." --- diff --git a/ui-kit/react/v5/call-buttons.mdx b/ui-kit/react/v5/call-buttons.mdx index 2a44b105f..6346ce04f 100644 --- a/ui-kit/react/v5/call-buttons.mdx +++ b/ui-kit/react/v5/call-buttons.mdx @@ -1,5 +1,6 @@ --- title: "Call Buttons" +description: "Call Buttons — CometChat documentation." --- ## Overview diff --git a/ui-kit/react/v5/call-features.mdx b/ui-kit/react/v5/call-features.mdx index 2bc386a85..2e88a01ef 100644 --- a/ui-kit/react/v5/call-features.mdx +++ b/ui-kit/react/v5/call-features.mdx @@ -1,5 +1,6 @@ --- title: "Call" +description: "Call — CometChat documentation." --- diff --git a/ui-kit/react/v5/call-logs.mdx b/ui-kit/react/v5/call-logs.mdx index 94da06d47..1ecd2728a 100644 --- a/ui-kit/react/v5/call-logs.mdx +++ b/ui-kit/react/v5/call-logs.mdx @@ -1,5 +1,6 @@ --- title: "Call Logs" +description: "Call Logs — CometChat documentation." --- diff --git a/ui-kit/react/v5/components-overview.mdx b/ui-kit/react/v5/components-overview.mdx index a3955f297..44f398e33 100644 --- a/ui-kit/react/v5/components-overview.mdx +++ b/ui-kit/react/v5/components-overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/ui-kit/react/v5/conversations.mdx b/ui-kit/react/v5/conversations.mdx index bb54d647b..e24a4a68e 100644 --- a/ui-kit/react/v5/conversations.mdx +++ b/ui-kit/react/v5/conversations.mdx @@ -1,5 +1,6 @@ --- title: "Conversations" +description: "Conversations — CometChat documentation." --- diff --git a/ui-kit/react/v5/core-features.mdx b/ui-kit/react/v5/core-features.mdx index d292749d2..81fd28959 100644 --- a/ui-kit/react/v5/core-features.mdx +++ b/ui-kit/react/v5/core-features.mdx @@ -1,5 +1,6 @@ --- title: "Core" +description: "Core — CometChat documentation." --- diff --git a/ui-kit/react/v5/custom-text-formatter-guide.mdx b/ui-kit/react/v5/custom-text-formatter-guide.mdx index b60fee647..fd59b0673 100644 --- a/ui-kit/react/v5/custom-text-formatter-guide.mdx +++ b/ui-kit/react/v5/custom-text-formatter-guide.mdx @@ -1,5 +1,6 @@ --- title: "Custom Text Formatter" +description: "Custom Text Formatter — CometChat integration guide." --- diff --git a/ui-kit/react/v5/events.mdx b/ui-kit/react/v5/events.mdx index a93b4eac5..0217762ce 100644 --- a/ui-kit/react/v5/events.mdx +++ b/ui-kit/react/v5/events.mdx @@ -1,5 +1,6 @@ --- title: "Events" +description: "Events — CometChat documentation." --- diff --git a/ui-kit/react/v5/extensions.mdx b/ui-kit/react/v5/extensions.mdx index 757e7152a..67547ae50 100644 --- a/ui-kit/react/v5/extensions.mdx +++ b/ui-kit/react/v5/extensions.mdx @@ -1,5 +1,6 @@ --- title: "Extensions" +description: "Extensions — CometChat documentation." --- diff --git a/ui-kit/react/v5/group-members.mdx b/ui-kit/react/v5/group-members.mdx index 7cb6f470a..268152310 100644 --- a/ui-kit/react/v5/group-members.mdx +++ b/ui-kit/react/v5/group-members.mdx @@ -1,5 +1,6 @@ --- title: "Group Members" +description: "Group Members — CometChat documentation." --- ## Overview diff --git a/ui-kit/react/v5/groups.mdx b/ui-kit/react/v5/groups.mdx index 1be8ddf63..1633d5352 100644 --- a/ui-kit/react/v5/groups.mdx +++ b/ui-kit/react/v5/groups.mdx @@ -1,5 +1,6 @@ --- title: "Groups" +description: "Groups — CometChat documentation." --- diff --git a/ui-kit/react/v5/incoming-call.mdx b/ui-kit/react/v5/incoming-call.mdx index ed0a6f1a7..57b95917f 100644 --- a/ui-kit/react/v5/incoming-call.mdx +++ b/ui-kit/react/v5/incoming-call.mdx @@ -1,5 +1,6 @@ --- title: "Incoming Call" +description: "Incoming Call — CometChat documentation." --- diff --git a/ui-kit/react/v5/integration.mdx b/ui-kit/react/v5/integration.mdx index d96c20cc8..98933e443 100644 --- a/ui-kit/react/v5/integration.mdx +++ b/ui-kit/react/v5/integration.mdx @@ -1,5 +1,6 @@ --- title: "React Integration" +description: "React Integration — CometChat documentation." --- diff --git a/ui-kit/react/v5/integration/next-js.mdx b/ui-kit/react/v5/integration/next-js.mdx index 2bb0c6d3e..02e01b7e3 100644 --- a/ui-kit/react/v5/integration/next-js.mdx +++ b/ui-kit/react/v5/integration/next-js.mdx @@ -1,5 +1,6 @@ --- title: "Next.js Integration" +description: "Next.js Integration — CometChat documentation." --- @@ -321,7 +322,7 @@ body { -``` +```bash npm run dev ``` 🎉 You can now see conversations component like below, diff --git a/ui-kit/react/v5/localize.mdx b/ui-kit/react/v5/localize.mdx index 3e570f2ae..2fc6112ec 100644 --- a/ui-kit/react/v5/localize.mdx +++ b/ui-kit/react/v5/localize.mdx @@ -1,5 +1,6 @@ --- title: "Localize" +description: "Localize — CometChat documentation." --- diff --git a/ui-kit/react/v5/mentions-formatter-guide.mdx b/ui-kit/react/v5/mentions-formatter-guide.mdx index 8ee2b9693..b1dde56ef 100644 --- a/ui-kit/react/v5/mentions-formatter-guide.mdx +++ b/ui-kit/react/v5/mentions-formatter-guide.mdx @@ -1,5 +1,6 @@ --- title: "Mentions Formatter" +description: "Mentions Formatter — CometChat integration guide." --- diff --git a/ui-kit/react/v5/message-composer.mdx b/ui-kit/react/v5/message-composer.mdx index 8caa3f6be..28401b543 100644 --- a/ui-kit/react/v5/message-composer.mdx +++ b/ui-kit/react/v5/message-composer.mdx @@ -1,5 +1,6 @@ --- title: "Message Composer" +description: "Message Composer — CometChat documentation." --- ## Overview diff --git a/ui-kit/react/v5/message-header.mdx b/ui-kit/react/v5/message-header.mdx index 113fdd88b..296cc8120 100644 --- a/ui-kit/react/v5/message-header.mdx +++ b/ui-kit/react/v5/message-header.mdx @@ -1,5 +1,6 @@ --- title: "Message Header" +description: "Message Header — CometChat documentation." --- diff --git a/ui-kit/react/v5/message-list.mdx b/ui-kit/react/v5/message-list.mdx index 4445f1073..b873a89ec 100644 --- a/ui-kit/react/v5/message-list.mdx +++ b/ui-kit/react/v5/message-list.mdx @@ -1,5 +1,6 @@ --- title: "Message List" +description: "Message List — CometChat documentation." --- diff --git a/ui-kit/react/v5/message-template.mdx b/ui-kit/react/v5/message-template.mdx index 69df70e1b..336e0fe2e 100644 --- a/ui-kit/react/v5/message-template.mdx +++ b/ui-kit/react/v5/message-template.mdx @@ -1,5 +1,6 @@ --- title: "Message Template" +description: "Message Template — CometChat documentation." --- ## Overview diff --git a/ui-kit/react/v5/methods.mdx b/ui-kit/react/v5/methods.mdx index 30673bf24..087171112 100644 --- a/ui-kit/react/v5/methods.mdx +++ b/ui-kit/react/v5/methods.mdx @@ -1,5 +1,6 @@ --- title: "Methods" +description: "Methods — CometChat documentation." --- @@ -204,8 +205,8 @@ CometChatUIKit.getLoggedinUser() This advanced authentication procedure does not use the Auth Key directly in your client code thus ensuring safety. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `loginWithAuthToken()` method. diff --git a/ui-kit/react/v5/outgoing-call.mdx b/ui-kit/react/v5/outgoing-call.mdx index 3d1f432ad..7c3fdeac3 100644 --- a/ui-kit/react/v5/outgoing-call.mdx +++ b/ui-kit/react/v5/outgoing-call.mdx @@ -1,5 +1,6 @@ --- title: "Outgoing Call" +description: "Outgoing Call — CometChat documentation." --- diff --git a/ui-kit/react/v5/overview.mdx b/ui-kit/react/v5/overview.mdx index 854279b3d..e638038de 100644 --- a/ui-kit/react/v5/overview.mdx +++ b/ui-kit/react/v5/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/ui-kit/react/v5/property-changes.mdx b/ui-kit/react/v5/property-changes.mdx index 71bb0ced8..bf7c3a7c6 100644 --- a/ui-kit/react/v5/property-changes.mdx +++ b/ui-kit/react/v5/property-changes.mdx @@ -1,5 +1,6 @@ --- title: "Property Changes" +description: "Property Changes — CometChat documentation." --- diff --git a/ui-kit/react/v5/shortcut-formatter-guide.mdx b/ui-kit/react/v5/shortcut-formatter-guide.mdx index 5092da158..9ef211997 100644 --- a/ui-kit/react/v5/shortcut-formatter-guide.mdx +++ b/ui-kit/react/v5/shortcut-formatter-guide.mdx @@ -1,5 +1,6 @@ --- title: "ShortCut Formatter" +description: "ShortCut Formatter — CometChat integration guide." --- diff --git a/ui-kit/react/v5/sound-manager.mdx b/ui-kit/react/v5/sound-manager.mdx index 26f4efcf8..9c5bfe604 100644 --- a/ui-kit/react/v5/sound-manager.mdx +++ b/ui-kit/react/v5/sound-manager.mdx @@ -1,5 +1,6 @@ --- title: "Sound Manager" +description: "Sound Manager — CometChat documentation." --- diff --git a/ui-kit/react/v5/theme.mdx b/ui-kit/react/v5/theme.mdx index 8d02b2ce6..4d43ce281 100644 --- a/ui-kit/react/v5/theme.mdx +++ b/ui-kit/react/v5/theme.mdx @@ -1,5 +1,6 @@ --- title: "Introduction" +description: "Introduction — CometChat documentation." --- diff --git a/ui-kit/react/v5/theme/color-resources.mdx b/ui-kit/react/v5/theme/color-resources.mdx index 398a1a1f8..6c82237fa 100644 --- a/ui-kit/react/v5/theme/color-resources.mdx +++ b/ui-kit/react/v5/theme/color-resources.mdx @@ -1,5 +1,6 @@ --- title: "Color Resources" +description: "Color Resources — CometChat documentation." --- diff --git a/ui-kit/react/v5/theme/message-bubble-styling.mdx b/ui-kit/react/v5/theme/message-bubble-styling.mdx index 23feefaa1..2f1f9ee5c 100644 --- a/ui-kit/react/v5/theme/message-bubble-styling.mdx +++ b/ui-kit/react/v5/theme/message-bubble-styling.mdx @@ -1,5 +1,6 @@ --- title: "Message Bubble Styling" +description: "Message Bubble Styling — CometChat documentation." --- diff --git a/ui-kit/react/v5/threaded-message-preview.mdx b/ui-kit/react/v5/threaded-message-preview.mdx index c919ec6b8..46f4cc4a5 100644 --- a/ui-kit/react/v5/threaded-message-preview.mdx +++ b/ui-kit/react/v5/threaded-message-preview.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Message Preview" +description: "Threaded Message Preview — CometChat documentation." --- diff --git a/ui-kit/react/v5/upgrading-from-v4.mdx b/ui-kit/react/v5/upgrading-from-v4.mdx index efae853c9..8fc8630f1 100644 --- a/ui-kit/react/v5/upgrading-from-v4.mdx +++ b/ui-kit/react/v5/upgrading-from-v4.mdx @@ -1,5 +1,6 @@ --- title: "Upgrading From V4" +description: "Upgrading From V4 — CometChat documentation." --- diff --git a/ui-kit/react/v5/url-formatter-guide.mdx b/ui-kit/react/v5/url-formatter-guide.mdx index 0fd14b6fa..f0f7b6277 100644 --- a/ui-kit/react/v5/url-formatter-guide.mdx +++ b/ui-kit/react/v5/url-formatter-guide.mdx @@ -1,5 +1,6 @@ --- title: "URL Formatter" +description: "URL Formatter — CometChat integration guide." --- diff --git a/ui-kit/react/v5/users.mdx b/ui-kit/react/v5/users.mdx index 271042dc6..701a60a0f 100644 --- a/ui-kit/react/v5/users.mdx +++ b/ui-kit/react/v5/users.mdx @@ -1,5 +1,6 @@ --- title: "Users" +description: "Users — CometChat documentation." --- diff --git a/ui-kit/vue/2.0/javascript-2-0-overview.mdx b/ui-kit/vue/2.0/javascript-2-0-overview.mdx index 9580ee04e..edf236ad5 100644 --- a/ui-kit/vue/2.0/javascript-2-0-overview.mdx +++ b/ui-kit/vue/2.0/javascript-2-0-overview.mdx @@ -1,4 +1,5 @@ --- title: "JavaScript SDK" url: "/sdk/javascript/2.0/overview" +description: "Navigate to JavaScript SDK documentation." --- \ No newline at end of file diff --git a/ui-kit/vue/2.0/key-concepts.mdx b/ui-kit/vue/2.0/key-concepts.mdx index deb56e53a..b7e97a976 100644 --- a/ui-kit/vue/2.0/key-concepts.mdx +++ b/ui-kit/vue/2.0/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- ### CometChat Dashboard diff --git a/ui-kit/vue/2.0/message-structure-and-hierarchy.mdx b/ui-kit/vue/2.0/message-structure-and-hierarchy.mdx index da76ab48f..bbbc64284 100644 --- a/ui-kit/vue/2.0/message-structure-and-hierarchy.mdx +++ b/ui-kit/vue/2.0/message-structure-and-hierarchy.mdx @@ -1,5 +1,6 @@ --- title: "Message Structure And Hierarchy" +description: "Message Structure And Hierarchy — CometChat documentation." --- The below diagram helps you better understand the various message categories and types that a CometChat message can belong to. diff --git a/ui-kit/vue/2.0/overview.mdx b/ui-kit/vue/2.0/overview.mdx index c005a4617..9288847d9 100644 --- a/ui-kit/vue/2.0/overview.mdx +++ b/ui-kit/vue/2.0/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- The CometChat Vue UI Kit is developed to keep developers in mind and aims to reduce development efforts significantly. diff --git a/ui-kit/vue/2.0/ui-components.mdx b/ui-kit/vue/2.0/ui-components.mdx index 79d72526d..029d6b5f4 100644 --- a/ui-kit/vue/2.0/ui-components.mdx +++ b/ui-kit/vue/2.0/ui-components.mdx @@ -1,5 +1,6 @@ --- title: "UI Components" +description: "UI Components — CometChat documentation." --- **UI Components** are building blocks of the UI Kit. **UI Components** are a set of custom classes specially designed to build a rich chat app. There are different UI Components available in the UI Kit Library. diff --git a/ui-kit/vue/3.0/integration-with-nuxtjs.mdx b/ui-kit/vue/3.0/integration-with-nuxtjs.mdx index deb371260..497f56860 100644 --- a/ui-kit/vue/3.0/integration-with-nuxtjs.mdx +++ b/ui-kit/vue/3.0/integration-with-nuxtjs.mdx @@ -1,5 +1,6 @@ --- title: "Integration With Nuxt.Js" +description: "Integration With Nuxt.Js — CometChat documentation." --- Using Vue UI Kit, you can integrate your Nuxt.js application with CometChat. diff --git a/ui-kit/vue/3.0/javascript-3-0-overview.mdx b/ui-kit/vue/3.0/javascript-3-0-overview.mdx index 22b6579f4..3c2e8653d 100644 --- a/ui-kit/vue/3.0/javascript-3-0-overview.mdx +++ b/ui-kit/vue/3.0/javascript-3-0-overview.mdx @@ -1,4 +1,5 @@ --- title: "JavaScript SDK" url: "/sdk/javascript/3.0/overview" +description: "Navigate to JavaScript SDK documentation." --- \ No newline at end of file diff --git a/ui-kit/vue/3.0/key-concepts.mdx b/ui-kit/vue/3.0/key-concepts.mdx index 32c0854d7..dd808c2a7 100644 --- a/ui-kit/vue/3.0/key-concepts.mdx +++ b/ui-kit/vue/3.0/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- ### CometChat Dashboard diff --git a/ui-kit/vue/3.0/link/extension.mdx b/ui-kit/vue/3.0/link/extension.mdx index 29c1774bd..d7eadbbe5 100644 --- a/ui-kit/vue/3.0/link/extension.mdx +++ b/ui-kit/vue/3.0/link/extension.mdx @@ -1,4 +1,5 @@ --- title: "Extensions" url: "/fundamentals/extensions-overview" +description: "Navigate to Extensions documentation." --- \ No newline at end of file diff --git a/ui-kit/vue/3.0/link/version.mdx b/ui-kit/vue/3.0/link/version.mdx index 8346b776a..1f085748b 100644 --- a/ui-kit/vue/3.0/link/version.mdx +++ b/ui-kit/vue/3.0/link/version.mdx @@ -1,4 +1,5 @@ --- title: "Version 4" url: "/ui-kit/vue/overview" +description: "Navigate to Version 4 documentation." --- \ No newline at end of file diff --git a/ui-kit/vue/3.0/overview.mdx b/ui-kit/vue/3.0/overview.mdx index 4d90a8fbf..607f8e968 100644 --- a/ui-kit/vue/3.0/overview.mdx +++ b/ui-kit/vue/3.0/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- diff --git a/ui-kit/vue/3.0/ui-components.mdx b/ui-kit/vue/3.0/ui-components.mdx index b338478fa..10ae5ed4e 100644 --- a/ui-kit/vue/3.0/ui-components.mdx +++ b/ui-kit/vue/3.0/ui-components.mdx @@ -1,5 +1,6 @@ --- title: "UI Components" +description: "UI Components — CometChat documentation." --- **UI Components** are building blocks of the UI Kit. **UI Components** are a set of custom classes specially designed to build a rich chat app. There are different UI Components available in the UI Kit Library. diff --git a/ui-kit/vue/ai-assist-bot.mdx b/ui-kit/vue/ai-assist-bot.mdx index bb23619b4..e8d947799 100644 --- a/ui-kit/vue/ai-assist-bot.mdx +++ b/ui-kit/vue/ai-assist-bot.mdx @@ -1,5 +1,6 @@ --- title: "AI Assist Bot" +description: "AI Assist Bot — CometChat documentation." --- `AI Assist Bot` is a class which can be used to ask a question to a bot in a given conversation. diff --git a/ui-kit/vue/ai-conversation-starter.mdx b/ui-kit/vue/ai-conversation-starter.mdx index ae34756dd..a1645a44e 100644 --- a/ui-kit/vue/ai-conversation-starter.mdx +++ b/ui-kit/vue/ai-conversation-starter.mdx @@ -1,5 +1,6 @@ --- title: "AI Conversation Starter" +description: "AI Conversation Starter — CometChat documentation." --- Configure Conversation Starter with this class. diff --git a/ui-kit/vue/ai-conversation-summary.mdx b/ui-kit/vue/ai-conversation-summary.mdx index 87d00ecef..88549b22a 100644 --- a/ui-kit/vue/ai-conversation-summary.mdx +++ b/ui-kit/vue/ai-conversation-summary.mdx @@ -1,5 +1,6 @@ --- title: "AI Conversation Summary" +description: "AI Conversation Summary — CometChat documentation." --- AI Conversation Summary is a class which generates a summary of a given conversation. diff --git a/ui-kit/vue/ai-integration.mdx b/ui-kit/vue/ai-integration.mdx index 18b4d7fe4..d32aa8ecc 100644 --- a/ui-kit/vue/ai-integration.mdx +++ b/ui-kit/vue/ai-integration.mdx @@ -1,5 +1,6 @@ --- title: "Integration" +description: "Integration — CometChat documentation." --- By default, SmartReplies and ConversationStarter will be enabled if they are enabled from the dashboard as well. diff --git a/ui-kit/vue/ai-smart-replies.mdx b/ui-kit/vue/ai-smart-replies.mdx index 7ab799d40..75b290982 100644 --- a/ui-kit/vue/ai-smart-replies.mdx +++ b/ui-kit/vue/ai-smart-replies.mdx @@ -1,5 +1,6 @@ --- title: "AI Smart Replies" +description: "AI Smart Replies — CometChat documentation." --- `AI Smart Replies` is a class which fetches a list of replies generated using AI for replying to a message in a conversation. diff --git a/ui-kit/vue/call-buttons.mdx b/ui-kit/vue/call-buttons.mdx index d0c72154d..ca4fcef5e 100644 --- a/ui-kit/vue/call-buttons.mdx +++ b/ui-kit/vue/call-buttons.mdx @@ -1,5 +1,6 @@ --- title: "Call Buttons" +description: "Call Buttons — CometChat documentation." --- This component provides users with the ability to make calls, access call-related functionalities, and control call settings. Clicking this button typically triggers the call to be placed to the desired recipient. diff --git a/ui-kit/vue/calls-integration.mdx b/ui-kit/vue/calls-integration.mdx index 60e09dd27..170bec647 100644 --- a/ui-kit/vue/calls-integration.mdx +++ b/ui-kit/vue/calls-integration.mdx @@ -1,5 +1,6 @@ --- title: "Integration" +description: "Integration — CometChat documentation." --- ## Integration diff --git a/ui-kit/vue/contacts.mdx b/ui-kit/vue/contacts.mdx index a053de767..9041449c2 100644 --- a/ui-kit/vue/contacts.mdx +++ b/ui-kit/vue/contacts.mdx @@ -1,5 +1,6 @@ --- title: "Contacts" +description: "Contacts — CometChat documentation." --- CometChatContacts is a standalone UI component specifically designed to facilitate the display and management of users and groups within chat applications. It streamlines the process of showcasing all app users and available chat groups in a user-friendly interface, making it easier for users to connect and communicate effectively. diff --git a/ui-kit/vue/conversations-with-messages.mdx b/ui-kit/vue/conversations-with-messages.mdx index 9530a53ad..adecde89d 100644 --- a/ui-kit/vue/conversations-with-messages.mdx +++ b/ui-kit/vue/conversations-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Conversations With Messages" +description: "Conversations With Messages — CometChat documentation." --- This component is responsible for displaying the recent conversation between participants in a 1:1 or group chat. It also allows users to send text, images, videos, or other media as messages to communicate with one another in real-time. diff --git a/ui-kit/vue/conversations.mdx b/ui-kit/vue/conversations.mdx index 61a7dee54..b235239a1 100644 --- a/ui-kit/vue/conversations.mdx +++ b/ui-kit/vue/conversations.mdx @@ -1,5 +1,6 @@ --- title: "Conversations" +description: "Conversations — CometChat documentation." --- This component lists the most recent or latest conversations or contacts with whom you have exchanged messages. It provides a convenient way to quickly access and resume conversations with the people you have been in contact with recently. diff --git a/ui-kit/vue/group-add-members.mdx b/ui-kit/vue/group-add-members.mdx index 5deb424d2..cabe6a281 100644 --- a/ui-kit/vue/group-add-members.mdx +++ b/ui-kit/vue/group-add-members.mdx @@ -1,5 +1,6 @@ --- title: "Add Members" +description: "Add Members — CometChat documentation." --- This component allows administrators or group owners to add new members to a specific group. It enables administrators or group owners to extend the membership of a group by adding new users to participate in the group's discussions and activities. By utilising this feature, administrators can manage group membership, and control access to group content. diff --git a/ui-kit/vue/group-banned-members.mdx b/ui-kit/vue/group-banned-members.mdx index 7690d9bd2..3e48e7d39 100644 --- a/ui-kit/vue/group-banned-members.mdx +++ b/ui-kit/vue/group-banned-members.mdx @@ -1,5 +1,6 @@ --- title: "Banned Members" +description: "Banned Members — CometChat documentation." --- This component lists all the users who have been restricted or prohibited from participating in specific groups or conversations. When the user is banned, they are no longer able to access or engage with the content and discussions within the banned group. diff --git a/ui-kit/vue/group-details.mdx b/ui-kit/vue/group-details.mdx index 8fb21140a..6a3b30447 100644 --- a/ui-kit/vue/group-details.mdx +++ b/ui-kit/vue/group-details.mdx @@ -1,5 +1,6 @@ --- title: "Group Details" +description: "Group Details — CometChat documentation." --- `CometChatDetails` is a component that provides additional information and settings related to a specific group. diff --git a/ui-kit/vue/group-members.mdx b/ui-kit/vue/group-members.mdx index 4cdea6ad0..9f8fe8205 100644 --- a/ui-kit/vue/group-members.mdx +++ b/ui-kit/vue/group-members.mdx @@ -1,5 +1,6 @@ --- title: "Group Members" +description: "Group Members — CometChat documentation." --- This component lists all the users who have been added or invited to participate in a particular group and have access to its discussions, shared content, and collaboration features. diff --git a/ui-kit/vue/group-transfer-ownership.mdx b/ui-kit/vue/group-transfer-ownership.mdx index fe80ec029..e734f8c8c 100644 --- a/ui-kit/vue/group-transfer-ownership.mdx +++ b/ui-kit/vue/group-transfer-ownership.mdx @@ -1,5 +1,6 @@ --- title: "Transfer Ownership" +description: "Transfer Ownership — CometChat documentation." --- This component allows the current owner or administrator of a group to transfer the ownership rights and administrative control of that group to another user. By transferring ownership, the original owner can designate a new user as the group owner, giving them full control and administrative privileges over the group. diff --git a/ui-kit/vue/groups-with-messages.mdx b/ui-kit/vue/groups-with-messages.mdx index 240c784cc..8e5703e4b 100644 --- a/ui-kit/vue/groups-with-messages.mdx +++ b/ui-kit/vue/groups-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Groups With Messages" +description: "Groups With Messages — CometChat documentation." --- This component is responsible for listing all the groups created on CometChat. It also allows group members to send text, images, videos, or other media as messages to communicate with one another in real-time. diff --git a/ui-kit/vue/groups.mdx b/ui-kit/vue/groups.mdx index 5cb198e13..383864f4a 100644 --- a/ui-kit/vue/groups.mdx +++ b/ui-kit/vue/groups.mdx @@ -1,5 +1,6 @@ --- title: "Groups" +description: "Groups — CometChat documentation." --- This component lists all the groups created on CometChat and also allows users to search for groups. It enables users to find and locate specific groups based on various search criteria or parameters. diff --git a/ui-kit/vue/incoming-call.mdx b/ui-kit/vue/incoming-call.mdx index 40ca5da29..252c11bf9 100644 --- a/ui-kit/vue/incoming-call.mdx +++ b/ui-kit/vue/incoming-call.mdx @@ -1,5 +1,6 @@ --- title: "Incoming Call" +description: "Incoming Call — CometChat documentation." --- The incoming call component is displayed when the user receives an incoming call, such as a voice call, video call. It serves as a visual representation of an incoming call and provides options for the user to answer or decline the call. diff --git a/ui-kit/vue/integration.mdx b/ui-kit/vue/integration.mdx index 2ba6c70fe..82d421572 100644 --- a/ui-kit/vue/integration.mdx +++ b/ui-kit/vue/integration.mdx @@ -1,6 +1,7 @@ --- title: "Integration" sidebarTitle: "Overview" +description: "Integration — CometChat documentation." --- ### Before you begin @@ -46,7 +47,7 @@ This developer kit is an add-on feature to [CometChat JavaScript SDK](/sdk/javas * CLI -``` +```bash npm install @cometchat/chat-uikit-vue ``` @@ -172,8 +173,8 @@ const mountApp = () => { This advanced authentication procedure does not use the Auth Key directly in your client code thus ensuring safety. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `loginWithAuthToken()` method. diff --git a/ui-kit/vue/key-concepts.mdx b/ui-kit/vue/key-concepts.mdx index e9f5d0d12..788d1c49c 100644 --- a/ui-kit/vue/key-concepts.mdx +++ b/ui-kit/vue/key-concepts.mdx @@ -1,5 +1,6 @@ --- title: "Key Concepts" +description: "Key Concepts — CometChat documentation." --- ### CometChat Dashboard diff --git a/ui-kit/vue/link/changelog.mdx b/ui-kit/vue/link/changelog.mdx index 3717b6c9e..7c77f1375 100644 --- a/ui-kit/vue/link/changelog.mdx +++ b/ui-kit/vue/link/changelog.mdx @@ -1,4 +1,5 @@ --- title: "Changelog" url: "https://github.com/cometchat/cometchat-uikit-vue/releases" +description: "Navigate to Changelog documentation." --- \ No newline at end of file diff --git a/ui-kit/vue/link/sample.mdx b/ui-kit/vue/link/sample.mdx index 7a4d44231..4436a8f68 100644 --- a/ui-kit/vue/link/sample.mdx +++ b/ui-kit/vue/link/sample.mdx @@ -1,4 +1,5 @@ --- title: "Vue Sample App" url: "https://github.com/cometchat/cometchat-sample-app-vue/releases" +description: "Navigate to Vue Sample App documentation." --- \ No newline at end of file diff --git a/ui-kit/vue/message-bubble.mdx b/ui-kit/vue/message-bubble.mdx index 5ac38274f..cb8f30091 100644 --- a/ui-kit/vue/message-bubble.mdx +++ b/ui-kit/vue/message-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Message Bubble" +description: "Message Bubble — CometChat documentation." --- This component is used to visually represent individual messages and display them in a conversation-like format. diff --git a/ui-kit/vue/message-composer.mdx b/ui-kit/vue/message-composer.mdx index 3ca449f52..e3abc2f7c 100644 --- a/ui-kit/vue/message-composer.mdx +++ b/ui-kit/vue/message-composer.mdx @@ -1,5 +1,6 @@ --- title: "Message Composer" +description: "Message Composer — CometChat documentation." --- This component allows users to compose and send messages. It provides a text input area or field where users can enter their messages or responses before sending them to other participants in the conversation. diff --git a/ui-kit/vue/message-header.mdx b/ui-kit/vue/message-header.mdx index bd65a4156..ed54b39cb 100644 --- a/ui-kit/vue/message-header.mdx +++ b/ui-kit/vue/message-header.mdx @@ -1,5 +1,6 @@ --- title: "Message Header" +description: "Message Header — CometChat documentation." --- This component contains relevant information relevant to the chat conversation. diff --git a/ui-kit/vue/message-information.mdx b/ui-kit/vue/message-information.mdx index 3f630dae8..1bcea0b30 100644 --- a/ui-kit/vue/message-information.mdx +++ b/ui-kit/vue/message-information.mdx @@ -1,5 +1,6 @@ --- title: "Message Information" +description: "Message Information — CometChat documentation." --- CometChatMessageInformation is a standalone component that displays comprehensive information about the message receipts. This will enable users to easily access details such as the message content, recipient and delivery receipt information for a more informed communication experience. diff --git a/ui-kit/vue/message-list.mdx b/ui-kit/vue/message-list.mdx index dee54734c..3283339dd 100644 --- a/ui-kit/vue/message-list.mdx +++ b/ui-kit/vue/message-list.mdx @@ -1,5 +1,6 @@ --- title: "Message List" +description: "Message List — CometChat documentation." --- This is a fundamental component of the chat interface that displays a list of chat messages exchanged between participants in a conversation. It serves as a chronological log of the conversation, presenting messages in the order they were sent. diff --git a/ui-kit/vue/messages.mdx b/ui-kit/vue/messages.mdx index 43519ac5c..209623506 100644 --- a/ui-kit/vue/messages.mdx +++ b/ui-kit/vue/messages.mdx @@ -1,5 +1,6 @@ --- title: "Messages" +description: "Messages — CometChat documentation." --- This component is responsible for displaying the conversation between participants in a 1:1 or group chat. diff --git a/ui-kit/vue/nuxtjs-integration.mdx b/ui-kit/vue/nuxtjs-integration.mdx index 28c78ef80..876a40aea 100644 --- a/ui-kit/vue/nuxtjs-integration.mdx +++ b/ui-kit/vue/nuxtjs-integration.mdx @@ -1,5 +1,6 @@ --- title: "Nuxt.Js Integration" +description: "Nuxt.Js Integration — CometChat documentation." --- Using Vue UI Kit, you can integrate your Nuxt.js application with CometChat. diff --git a/ui-kit/vue/ongoing-call.mdx b/ui-kit/vue/ongoing-call.mdx index dcf3da5ce..3dd030011 100644 --- a/ui-kit/vue/ongoing-call.mdx +++ b/ui-kit/vue/ongoing-call.mdx @@ -1,5 +1,6 @@ --- title: "Ongoing Call" +description: "Ongoing Call — CometChat documentation." --- This component is displayed during an ongoing voice or video call. This provides a dedicated screen or interface where users can engage in real-time conversation, view video streams, access call controls, and interact with various call-related features. diff --git a/ui-kit/vue/outgoing-call.mdx b/ui-kit/vue/outgoing-call.mdx index 783e24119..610861e76 100644 --- a/ui-kit/vue/outgoing-call.mdx +++ b/ui-kit/vue/outgoing-call.mdx @@ -1,5 +1,6 @@ --- title: "Outgoing Call" +description: "Outgoing Call — CometChat documentation." --- ## Overview diff --git a/ui-kit/vue/overview.mdx b/ui-kit/vue/overview.mdx index e78b1ce24..8f306b71c 100644 --- a/ui-kit/vue/overview.mdx +++ b/ui-kit/vue/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- CometChat's **UI Kit** for Vue, you can easily built an chat app with all the essential messaging feature along with the customisations and so on as per your application needs. This **UI Kit** is a set of prebuilt UI components divided into smaller modules and components and each and every component is configurable to suit your need. diff --git a/ui-kit/vue/shared-elements.mdx b/ui-kit/vue/shared-elements.mdx index ce61285a5..3bee97c92 100644 --- a/ui-kit/vue/shared-elements.mdx +++ b/ui-kit/vue/shared-elements.mdx @@ -1,5 +1,6 @@ --- title: "Shared" +description: "Shared — CometChat documentation." --- This module contains reusable components, utilities, constants, and helper functions that are used across the other CometChat's web UI Kits. [Learn more](/web-shared/overview) diff --git a/ui-kit/vue/tabs.mdx b/ui-kit/vue/tabs.mdx index 880e25f99..ea8f4788a 100644 --- a/ui-kit/vue/tabs.mdx +++ b/ui-kit/vue/tabs.mdx @@ -1,5 +1,6 @@ --- title: "Tabs" +description: "Tabs — CometChat documentation." --- This component allows for the organisation and presentation of content or functionality into separate tabs or sections. It provides a way for users to switch between different tabs to access distinct sets of information or perform specific actions. diff --git a/ui-kit/vue/theme.mdx b/ui-kit/vue/theme.mdx index 38b19dcac..1f5fbd2ee 100644 --- a/ui-kit/vue/theme.mdx +++ b/ui-kit/vue/theme.mdx @@ -1,5 +1,6 @@ --- title: "Theme" +description: "Theme — CometChat documentation." --- Theme class provides endless number of customisations to improve or transform the look and feel of the UI Kit as per your application need. [Learn more](/web-shared/theme). diff --git a/ui-kit/vue/threaded-messages.mdx b/ui-kit/vue/threaded-messages.mdx index b238e9dd7..a766fa3b5 100644 --- a/ui-kit/vue/threaded-messages.mdx +++ b/ui-kit/vue/threaded-messages.mdx @@ -1,5 +1,6 @@ --- title: "Threaded Messages" +description: "Threaded Messages — CometChat documentation." --- This component allows users to organise and group related messages into separate conversations within a larger conversation. It provides a way to maintain context, focus, and clarity when multiple discussions or topics are happening simultaneously within a chat. diff --git a/ui-kit/vue/ui-components-overview.mdx b/ui-kit/vue/ui-components-overview.mdx index 555d6b9d8..bfb1ca259 100644 --- a/ui-kit/vue/ui-components-overview.mdx +++ b/ui-kit/vue/ui-components-overview.mdx @@ -1,5 +1,6 @@ --- title: "UI Components" +description: "Overview of UI Components in CometChat." --- CometChat's **UI Kit** is a set of pre-built UI components that allows you to easily craft an in-app chat with all the essential messaging features. diff --git a/ui-kit/vue/ui-kit-methods.mdx b/ui-kit/vue/ui-kit-methods.mdx index b20384675..1999cb716 100644 --- a/ui-kit/vue/ui-kit-methods.mdx +++ b/ui-kit/vue/ui-kit-methods.mdx @@ -1,5 +1,6 @@ --- title: "CometChat UI Kit" +description: "CometChat UI Kit — CometChat documentation." --- `CometChatUIKit` is a class that contains all necessary methods to help initialise the [CometChat SDK](/sdk/javascript/overview) with valid credentials for the UI Kit to utilise. @@ -152,8 +153,8 @@ CometChatUIKit.getLoggedinUser() This advanced authentication procedure does not use the Auth Key directly in your client code thus ensuring safety. -1. [Create a User](https://api-explorer.cometchat.com/reference/creates-user) via the CometChat API when the user signs up in your app. -2. [Create an Auth Token](https://api-explorer.cometchat.com/reference/create-authtoken) via the CometChat API for the new user and save the token in your database. +1. [Create a User](/rest-api/chat-apis) via the CometChat API when the user signs up in your app. +2. [Create an Auth Token](/rest-api/chat-apis) via the CometChat API for the new user and save the token in your database. 3. Load the Auth Token in your client and pass it to the `loginWithAuthToken()` method. diff --git a/ui-kit/vue/user-details.mdx b/ui-kit/vue/user-details.mdx index 0a6d707e2..a242b5356 100644 --- a/ui-kit/vue/user-details.mdx +++ b/ui-kit/vue/user-details.mdx @@ -1,5 +1,6 @@ --- title: "User Details" +description: "User Details — CometChat documentation." --- `CometChatDetails` is a component that provides additional information and settings related to a specific user. diff --git a/ui-kit/vue/user-member-wrapper.mdx b/ui-kit/vue/user-member-wrapper.mdx index 671470ce1..f128f9914 100644 --- a/ui-kit/vue/user-member-wrapper.mdx +++ b/ui-kit/vue/user-member-wrapper.mdx @@ -1,5 +1,6 @@ --- title: "User Member Wrapper" +description: "User Member Wrapper — CometChat documentation." --- The CometChatUserMemberWrapper is a UI component that combines the features of CometChatUsers and CometChatGroupMemberWrapper. It's designed to work behind the scenes in the CometChatMessageComposer to show a simple and smart list of suggestions when users want to mention others in their messages. This makes it easier for users to engage with each other and manage group conversations in a smooth and convenient way. diff --git a/ui-kit/vue/users-with-messages.mdx b/ui-kit/vue/users-with-messages.mdx index dd7d69433..eb96c2ff4 100644 --- a/ui-kit/vue/users-with-messages.mdx +++ b/ui-kit/vue/users-with-messages.mdx @@ -1,5 +1,6 @@ --- title: "Users With Messages" +description: "Users With Messages — CometChat documentation." --- This component is responsible for listing all the users registered on CometChat. It also allows users to send text, images, videos, or other media as messages to communicate with one another in real-time. diff --git a/ui-kit/vue/users.mdx b/ui-kit/vue/users.mdx index af76539a6..12b032c7c 100644 --- a/ui-kit/vue/users.mdx +++ b/ui-kit/vue/users.mdx @@ -1,5 +1,6 @@ --- title: "Users" +description: "Users — CometChat documentation." --- This component lists all the users registered on CometChat and also allows users to search for other users. It enables users to find and locate specific individuals based on various search criteria or parameters. Online users are represented with a green colored dot. diff --git a/ui-kit/vue/web-elements.mdx b/ui-kit/vue/web-elements.mdx index f72bd89c0..f7da5af0f 100644 --- a/ui-kit/vue/web-elements.mdx +++ b/ui-kit/vue/web-elements.mdx @@ -1,5 +1,6 @@ --- title: "Elements" +description: "Elements — CometChat documentation." --- Elements is a set of pre-built UI components that act as building blocks of our UI Kit. These UI components are built following the [web components](https://developer.mozilla.org/en-US/docs/Web/API/Web_components) standard and using [lit](https://lit.dev/) library. This allows us to create a framework-agnostic solution so that they can be integrated with our web UIKits such as React, Angular and Vue. diff --git a/web-elements/action-sheet.mdx b/web-elements/action-sheet.mdx index 9fec359c2..42b1f2873 100644 --- a/web-elements/action-sheet.mdx +++ b/web-elements/action-sheet.mdx @@ -1,5 +1,6 @@ --- title: "Action Sheet" +description: "Action Sheet — CometChat documentation." --- This element is a slide-up pane for presenting the user with a set of actions. diff --git a/web-elements/audio-bubble.mdx b/web-elements/audio-bubble.mdx index 0e976d31b..1d1171300 100644 --- a/web-elements/audio-bubble.mdx +++ b/web-elements/audio-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Audio Bubble" +description: "Audio Bubble — CometChat documentation." --- This element handles the display and the play/pause functionality for an individual audio. This element uses the native embed audio element. diff --git a/web-elements/avatar.mdx b/web-elements/avatar.mdx index f03e026bd..0beee7816 100644 --- a/web-elements/avatar.mdx +++ b/web-elements/avatar.mdx @@ -1,5 +1,6 @@ --- title: "Avatar" +description: "Avatar — CometChat documentation." --- This element is used to represent a CometChat.User of CometChat.group profile picture with fallback to the initials. diff --git a/web-elements/backdrop.mdx b/web-elements/backdrop.mdx index 0b2409fa8..3f3ebe7e5 100644 --- a/web-elements/backdrop.mdx +++ b/web-elements/backdrop.mdx @@ -1,5 +1,6 @@ --- title: "Backdrop" +description: "Backdrop — CometChat documentation." --- This element represents the background against which other elements are presented. diff --git a/web-elements/badge.mdx b/web-elements/badge.mdx index fa4ac4e58..8ed3874a1 100644 --- a/web-elements/badge.mdx +++ b/web-elements/badge.mdx @@ -1,5 +1,6 @@ --- title: "Badge" +description: "Badge — CometChat documentation." --- This element is a numeric value descriptor i.e it displays the unread count of messages for 1-1/group chats. diff --git a/web-elements/button-group.mdx b/web-elements/button-group.mdx index f38540e5f..65d8b3387 100644 --- a/web-elements/button-group.mdx +++ b/web-elements/button-group.mdx @@ -1,5 +1,6 @@ --- title: "Button Group" +description: "Button Group — CometChat documentation." --- This element is grouping of buttons together in a single line. diff --git a/web-elements/checkbox.mdx b/web-elements/checkbox.mdx index e3281c66c..b0e31138b 100644 --- a/web-elements/checkbox.mdx +++ b/web-elements/checkbox.mdx @@ -1,5 +1,6 @@ --- title: "Checkbox" +description: "Checkbox — CometChat documentation." --- This element allow the user to select one or more items from a set. diff --git a/web-elements/cometchat-quick-view.mdx b/web-elements/cometchat-quick-view.mdx index afbf237a4..d25a0b95a 100644 --- a/web-elements/cometchat-quick-view.mdx +++ b/web-elements/cometchat-quick-view.mdx @@ -1,5 +1,6 @@ --- title: "QuickView" +description: "QuickView — CometChat documentation." --- CometChat's Quick View component allows you to create a quick overview panel with a title, subtitle, and an optional close button. It extends from the LitElement's base class. diff --git a/web-elements/confirm-dialog.mdx b/web-elements/confirm-dialog.mdx index f75ddac65..345894f02 100644 --- a/web-elements/confirm-dialog.mdx +++ b/web-elements/confirm-dialog.mdx @@ -1,5 +1,6 @@ --- title: "Confirm Dialog" +description: "Confirm Dialog — CometChat documentation." --- This element is a type of modal window that appears in front of app content to ask for a decision. It require users to explicitly confirm their choice before an option is committed. diff --git a/web-elements/date.mdx b/web-elements/date.mdx index 723cfc886..61d3d9056 100644 --- a/web-elements/date.mdx +++ b/web-elements/date.mdx @@ -1,5 +1,6 @@ --- title: "Date" +description: "Date — CometChat documentation." --- This element displays the date with the in-built support of 3 date patterns. diff --git a/web-elements/document-bubble.mdx b/web-elements/document-bubble.mdx index df5db40b2..f9cc23cb3 100644 --- a/web-elements/document-bubble.mdx +++ b/web-elements/document-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Document Bubble" +description: "Document Bubble — CometChat documentation." --- This element is a card view consisting of title, subtitle, url, icon and a launch button. diff --git a/web-elements/dropdown.mdx b/web-elements/dropdown.mdx index 3661dfa62..64f65ab02 100644 --- a/web-elements/dropdown.mdx +++ b/web-elements/dropdown.mdx @@ -1,5 +1,6 @@ --- title: "Dropdown" +description: "Dropdown — CometChat documentation." --- This element is a stylised version of the select component. It allows the user to select one option from a list. diff --git a/web-elements/emoji-keyboard.mdx b/web-elements/emoji-keyboard.mdx index a0d33939c..df2f08c44 100644 --- a/web-elements/emoji-keyboard.mdx +++ b/web-elements/emoji-keyboard.mdx @@ -1,5 +1,6 @@ --- title: "Emoji Keyboard" +description: "Emoji Keyboard — CometChat documentation." --- This element is CometChat's very own emoji picker with native emoji support. diff --git a/web-elements/file-bubble.mdx b/web-elements/file-bubble.mdx index 87cfd1164..e9b7c3cff 100644 --- a/web-elements/file-bubble.mdx +++ b/web-elements/file-bubble.mdx @@ -1,5 +1,6 @@ --- title: "File Bubble" +description: "File Bubble — CometChat documentation." --- This element handles the display and the download functionality for an individual file. diff --git a/web-elements/icon-button.mdx b/web-elements/icon-button.mdx index 2d3f61dd2..dc01b249a 100644 --- a/web-elements/icon-button.mdx +++ b/web-elements/icon-button.mdx @@ -1,5 +1,6 @@ --- title: "Icon Button" +description: "Icon Button — CometChat documentation." --- This element uses [Icon element](/web-elements/icon) and [Label element](/web-elements/label) to show text and icon(with background) and along with an alignment property to align the icon around the text. The purpose of this element is to initiate an action. diff --git a/web-elements/icon.mdx b/web-elements/icon.mdx index c5758663b..e7778e78e 100644 --- a/web-elements/icon.mdx +++ b/web-elements/icon.mdx @@ -1,5 +1,6 @@ --- title: "Icon" +description: "Icon — CometChat documentation." --- This element displays an icon. It currently supports only svg icons diff --git a/web-elements/image-bubble.mdx b/web-elements/image-bubble.mdx index 948732ac7..27449455a 100644 --- a/web-elements/image-bubble.mdx +++ b/web-elements/image-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Image Bubble" +description: "Image Bubble — CometChat documentation." --- This element handles the display for an individual image. diff --git a/web-elements/input.mdx b/web-elements/input.mdx index 735253cd7..34b7ae3d9 100644 --- a/web-elements/input.mdx +++ b/web-elements/input.mdx @@ -1,5 +1,6 @@ --- title: "Input" +description: "Input — CometChat documentation." --- This element allows users to enter or provide data or information within a web form or interface. It is one of the fundamental building blocks for user input and interaction on websites and web applications. diff --git a/web-elements/label.mdx b/web-elements/label.mdx index 8ea19df75..0d6935f9f 100644 --- a/web-elements/label.mdx +++ b/web-elements/label.mdx @@ -1,5 +1,6 @@ --- title: "Label" +description: "Label — CometChat documentation." --- This element provides descriptive information about the associated UI element. diff --git a/web-elements/list-item.mdx b/web-elements/list-item.mdx index 22836077e..f92bc34ce 100644 --- a/web-elements/list-item.mdx +++ b/web-elements/list-item.mdx @@ -1,5 +1,6 @@ --- title: "List Item" +description: "List Item — CometChat documentation." --- This element is used to display rows of information, such as a contact list, playlist, or menu. They contain Avatar, Status indicator, title, subtitle, tailView and menuView. diff --git a/web-elements/loader.mdx b/web-elements/loader.mdx index 9cf5d0da6..63c86cda8 100644 --- a/web-elements/loader.mdx +++ b/web-elements/loader.mdx @@ -1,5 +1,6 @@ --- title: "Loader" +description: "Loader — CometChat documentation." --- This element helps to notify users that loading is underway. They are used while retrieving data or performing slow computations. diff --git a/web-elements/media-recorder.mdx b/web-elements/media-recorder.mdx index 2cec8a06e..db35a109a 100644 --- a/web-elements/media-recorder.mdx +++ b/web-elements/media-recorder.mdx @@ -1,5 +1,6 @@ --- title: "Media Recorder" +description: "Media Recorder — CometChat documentation." --- This element allows users to record voice and send them as audio messages. It has a start button to start recording, a stop button to stop recording, a play button to play the recorded message, a submit button to submit the recorded message and a close button to close the media recorder. diff --git a/web-elements/message-input.mdx b/web-elements/message-input.mdx index 7561812cb..e8f7dd56f 100644 --- a/web-elements/message-input.mdx +++ b/web-elements/message-input.mdx @@ -1,5 +1,6 @@ --- title: "Message Input" +description: "Message Input — CometChat documentation." --- This element enable users to enter free-form text data along with custom view of 3 variants (primary, secondary and auxiliary). diff --git a/web-elements/modal.mdx b/web-elements/modal.mdx index 21890f619..a9091e3e1 100644 --- a/web-elements/modal.mdx +++ b/web-elements/modal.mdx @@ -1,5 +1,6 @@ --- title: "Modal" +description: "Modal — CometChat documentation." --- This element renders its children component in front of the backdrop element. diff --git a/web-elements/overview.mdx b/web-elements/overview.mdx index b2128bcc6..7aab51196 100644 --- a/web-elements/overview.mdx +++ b/web-elements/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- Elements is a set of pre-built UI components that act as building blocks of our UI Kit. These UI components are built following the [web components](https://developer.mozilla.org/en-US/docs/Web/API/Web_components) standard and using [lit](https://lit.dev/) library. This allows us to create a framework-agnostic solution so that they can be integrated with our web UIKits such as React, Angular and Vue. diff --git a/web-elements/pop-over.mdx b/web-elements/pop-over.mdx index f5ac7403f..4f32ebc69 100644 --- a/web-elements/pop-over.mdx +++ b/web-elements/pop-over.mdx @@ -1,5 +1,6 @@ --- title: "Popover" +description: "Popover — CometChat documentation." --- This element displays additional content or options in a small, overlay-like window. It appears on top of the current screen without requiring the user to navigate to a different page or screen. diff --git a/web-elements/radio-button.mdx b/web-elements/radio-button.mdx index 676fd5c87..ca5e249a2 100644 --- a/web-elements/radio-button.mdx +++ b/web-elements/radio-button.mdx @@ -1,5 +1,6 @@ --- title: "Radio Button" +description: "Radio Button — CometChat documentation." --- This element allows the user to exactly select one item from a set. diff --git a/web-elements/receipt.mdx b/web-elements/receipt.mdx index 1841015ec..5003f94ab 100644 --- a/web-elements/receipt.mdx +++ b/web-elements/receipt.mdx @@ -1,5 +1,6 @@ --- title: "Receipt" +description: "Receipt — CometChat documentation." --- This element renders the read receipts such as sending, sent, delivered and error state indicator of a sent message. diff --git a/web-elements/search-input.mdx b/web-elements/search-input.mdx index 4b230bb97..92b8d0055 100644 --- a/web-elements/search-input.mdx +++ b/web-elements/search-input.mdx @@ -1,5 +1,6 @@ --- title: "Search Input" +description: "Search Input — CometChat documentation." --- This element is built on top of [Input](/web-elements/input) element and enables users to enter a search string. diff --git a/web-elements/singleselect.mdx b/web-elements/singleselect.mdx index 805ae35ce..5e09bddfd 100644 --- a/web-elements/singleselect.mdx +++ b/web-elements/singleselect.mdx @@ -1,5 +1,6 @@ --- title: "SingleSelect" +description: "SingleSelect — CometChat documentation." --- The `CometChatSingleSelect` component is a customizable Single Select component that allows you to choose one option from a list of box-structured options. It extends from the LitElement's base class. diff --git a/web-elements/status-indicator.mdx b/web-elements/status-indicator.mdx index b10a8037f..6c6f1e501 100644 --- a/web-elements/status-indicator.mdx +++ b/web-elements/status-indicator.mdx @@ -1,5 +1,6 @@ --- title: "Status Indicator" +description: "Status Indicator — CometChat documentation." --- This element shows the user presence as dots with colored background and group type as dots with background images. diff --git a/web-elements/text-bubble.mdx b/web-elements/text-bubble.mdx index 11baa4a37..f59646501 100644 --- a/web-elements/text-bubble.mdx +++ b/web-elements/text-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Text Bubble" +description: "Text Bubble — CometChat documentation." --- This element handles the display for an individual text message. diff --git a/web-elements/text-input.mdx b/web-elements/text-input.mdx index 725e77c40..22a497a20 100644 --- a/web-elements/text-input.mdx +++ b/web-elements/text-input.mdx @@ -1,5 +1,6 @@ --- title: "Text Input" +description: "Text Input — CometChat documentation." --- This element enable users to enter free-form text data along with custom view of 3 variants (primary, secondary and auxiliary). diff --git a/web-elements/video-bubble.mdx b/web-elements/video-bubble.mdx index 3d829b313..86b4a1901 100644 --- a/web-elements/video-bubble.mdx +++ b/web-elements/video-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Video Bubble" +description: "Video Bubble — CometChat documentation." --- This element handles the display and the play/pause functionality for an individual video. This element uses the native embed video element. diff --git a/web-shared/action-entity.mdx b/web-shared/action-entity.mdx index 0ead05c56..8c871afcc 100644 --- a/web-shared/action-entity.mdx +++ b/web-shared/action-entity.mdx @@ -1,5 +1,6 @@ --- title: "Action Entity" +description: "Action Entity — CometChat documentation." --- Base class for defining the type of actions that can be performed on `BaseInteractiveElement` diff --git a/web-shared/actionitem.mdx b/web-shared/actionitem.mdx index 1a05e40e0..3e77ea2cf 100644 --- a/web-shared/actionitem.mdx +++ b/web-shared/actionitem.mdx @@ -1,5 +1,6 @@ --- title: "ActionItem" +description: "ActionItem — CometChat documentation." --- CometChatActionItem is a pre-defined structure for creating action that can be used to perform an action such as a button click or navigating a link. diff --git a/web-shared/actionsicon.mdx b/web-shared/actionsicon.mdx index b79e982ef..9f13b7060 100644 --- a/web-shared/actionsicon.mdx +++ b/web-shared/actionsicon.mdx @@ -1,5 +1,6 @@ --- title: "ActionsIcon" +description: "ActionsIcon — CometChat documentation." --- `CometChatActionsIcon` is a pre-defined structure for creating actions that the user can perform on a message with an icon representation. diff --git a/web-shared/actionsview.mdx b/web-shared/actionsview.mdx index ac31504b5..f7547715f 100644 --- a/web-shared/actionsview.mdx +++ b/web-shared/actionsview.mdx @@ -1,5 +1,6 @@ --- title: "ActionsView" +description: "ActionsView — CometChat documentation." --- `CometChatActionsView` is a pre-defined structure for creating actions that the user can perform on a message with a customised UI view representation. diff --git a/web-shared/add-members-configuration.mdx b/web-shared/add-members-configuration.mdx index 1a6621022..21379e444 100644 --- a/web-shared/add-members-configuration.mdx +++ b/web-shared/add-members-configuration.mdx @@ -1,5 +1,6 @@ --- title: "AddMembersConfiguration" +description: "AddMembersConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatAddMembers` component that are available for customisation via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/addmembersstyle.mdx b/web-shared/addmembersstyle.mdx index 13567c837..d3a8307f1 100644 --- a/web-shared/addmembersstyle.mdx +++ b/web-shared/addmembersstyle.mdx @@ -1,5 +1,6 @@ --- title: "AddMembersStyle" +description: "AddMembersStyle — CometChat documentation." --- Styling properties of the `CometChatAddMembers` component diff --git a/web-shared/ai-assist-bot-configuration.mdx b/web-shared/ai-assist-bot-configuration.mdx index d64489245..baecc231d 100644 --- a/web-shared/ai-assist-bot-configuration.mdx +++ b/web-shared/ai-assist-bot-configuration.mdx @@ -1,5 +1,6 @@ --- title: "AIAssistBotConfiguration" +description: "AIAssistBotConfiguration — CometChat documentation." --- This refers to the properties of the `AIAssistBot` component that are available for customisation. diff --git a/web-shared/ai-assist-bot-style.mdx b/web-shared/ai-assist-bot-style.mdx index 7c0a4ba38..6d397bdcf 100644 --- a/web-shared/ai-assist-bot-style.mdx +++ b/web-shared/ai-assist-bot-style.mdx @@ -1,5 +1,6 @@ --- title: "AIAssistBotStyle" +description: "AIAssistBotStyle — CometChat documentation." --- Styling properties of `AIAssistBot` component. diff --git a/web-shared/ai-conversation-starter-configuration.mdx b/web-shared/ai-conversation-starter-configuration.mdx index 32b06806a..57888a20e 100644 --- a/web-shared/ai-conversation-starter-configuration.mdx +++ b/web-shared/ai-conversation-starter-configuration.mdx @@ -1,5 +1,6 @@ --- title: "AIConversationStarterConfiguration" +description: "AIConversationStarterConfiguration — CometChat documentation." --- This refers to the properties of the AIConversationStarter component that are available for customisation. diff --git a/web-shared/ai-conversation-starter-style.mdx b/web-shared/ai-conversation-starter-style.mdx index 1349c1057..a821b1df5 100644 --- a/web-shared/ai-conversation-starter-style.mdx +++ b/web-shared/ai-conversation-starter-style.mdx @@ -1,5 +1,6 @@ --- title: "AIConversationStarterStyle" +description: "AIConversationStarterStyle — CometChat documentation." --- Styling properties of `AIConversationStarter` component. diff --git a/web-shared/ai-conversation-summary-configuration.mdx b/web-shared/ai-conversation-summary-configuration.mdx index 5066eb743..084abef00 100644 --- a/web-shared/ai-conversation-summary-configuration.mdx +++ b/web-shared/ai-conversation-summary-configuration.mdx @@ -1,5 +1,6 @@ --- title: "AIConversationSummaryConfiguration" +description: "AIConversationSummaryConfiguration — CometChat documentation." --- | Property | Type | Description | diff --git a/web-shared/ai-conversation-summary-style.mdx b/web-shared/ai-conversation-summary-style.mdx index 357ce9404..bff7c1eed 100644 --- a/web-shared/ai-conversation-summary-style.mdx +++ b/web-shared/ai-conversation-summary-style.mdx @@ -1,5 +1,6 @@ --- title: "AIConversationSummaryStyle" +description: "AIConversationSummaryStyle — CometChat documentation." --- Styling properties of `AIConversationSummary` component. diff --git a/web-shared/ai-smart-replies-configuration.mdx b/web-shared/ai-smart-replies-configuration.mdx index 2387ab8d7..1c5abbd31 100644 --- a/web-shared/ai-smart-replies-configuration.mdx +++ b/web-shared/ai-smart-replies-configuration.mdx @@ -1,5 +1,6 @@ --- title: "AISmartRepliesConfiguration" +description: "AISmartRepliesConfiguration — CometChat documentation." --- This refers to the properties of the `AISmartReplies` component that are available for customisation. diff --git a/web-shared/ai-smart-replies-style.mdx b/web-shared/ai-smart-replies-style.mdx index a777efa43..c32e9edfe 100644 --- a/web-shared/ai-smart-replies-style.mdx +++ b/web-shared/ai-smart-replies-style.mdx @@ -1,5 +1,6 @@ --- title: "AISmartRepliesStyle" +description: "AISmartRepliesStyle — CometChat documentation." --- Styling properties of `AISmartReplies` component. diff --git a/web-shared/auxiliarybuttonalignment.mdx b/web-shared/auxiliarybuttonalignment.mdx index 998a6a256..086691e3e 100644 --- a/web-shared/auxiliarybuttonalignment.mdx +++ b/web-shared/auxiliarybuttonalignment.mdx @@ -1,5 +1,6 @@ --- title: "AuxiliaryButtonAlignment" +description: "AuxiliaryButtonAlignment — CometChat documentation." --- AuxiliaryButtonAlignment describes the positioning of auxiliary buttons in `CometChatMessageComposer` component. diff --git a/web-shared/banned-members-configuration.mdx b/web-shared/banned-members-configuration.mdx index e6301f915..6f377f930 100644 --- a/web-shared/banned-members-configuration.mdx +++ b/web-shared/banned-members-configuration.mdx @@ -1,5 +1,6 @@ --- title: "BannedMembersConfiguration" +description: "BannedMembersConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatBannedMembers` component that are available for customisation via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/bannedmembersstyle.mdx b/web-shared/bannedmembersstyle.mdx index a44adb182..dbc7c9386 100644 --- a/web-shared/bannedmembersstyle.mdx +++ b/web-shared/bannedmembersstyle.mdx @@ -1,5 +1,6 @@ --- title: "BannedMembersStyle" +description: "BannedMembersStyle — CometChat documentation." --- Styling properties of the `CometChatBannedMembers` component. diff --git a/web-shared/button-element.mdx b/web-shared/button-element.mdx index 37244a349..d0783c8b5 100644 --- a/web-shared/button-element.mdx +++ b/web-shared/button-element.mdx @@ -1,5 +1,6 @@ --- title: "Button Element" +description: "Button Element — CometChat documentation." --- The `ButtonElement` class, inherited from the `BaseInteractiveElement` class, represents an interactive button element that can be added to a chat interface. It comprises of properties like button text and a flag indicating whether the button should be disabled after interaction. diff --git a/web-shared/call-log-details-configuration.mdx b/web-shared/call-log-details-configuration.mdx index e28074711..d80fe13a5 100644 --- a/web-shared/call-log-details-configuration.mdx +++ b/web-shared/call-log-details-configuration.mdx @@ -1,5 +1,6 @@ --- title: "CallLogDetailsConfiguration" +description: "CallLogDetailsConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatCallLogDetails` component that are available for customisation via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/call-log-history-configuration.mdx b/web-shared/call-log-history-configuration.mdx index 182d98cc6..7539cde32 100644 --- a/web-shared/call-log-history-configuration.mdx +++ b/web-shared/call-log-history-configuration.mdx @@ -1,5 +1,6 @@ --- title: "CallLogHistoryConfiguration" +description: "CallLogHistoryConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatCallLogHistory` component that are available for customisation via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/call-log-participants-configuration.mdx b/web-shared/call-log-participants-configuration.mdx index 38b13e6d7..be6f2e9b8 100644 --- a/web-shared/call-log-participants-configuration.mdx +++ b/web-shared/call-log-participants-configuration.mdx @@ -1,5 +1,6 @@ --- title: "CallLogParticipantsConfiguration" +description: "CallLogParticipantsConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatCallLogParticipants` component that are available for customisation via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/call-log-recordings-configuration.mdx b/web-shared/call-log-recordings-configuration.mdx index c4119da46..7a97a5ce6 100644 --- a/web-shared/call-log-recordings-configuration.mdx +++ b/web-shared/call-log-recordings-configuration.mdx @@ -1,5 +1,6 @@ --- title: "CallLogRecordingsConfiguration" +description: "CallLogRecordingsConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatCallLogRecordings` component that are available for customisation via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/call-logs-configuration.mdx b/web-shared/call-logs-configuration.mdx index 35af40699..bdfe88142 100644 --- a/web-shared/call-logs-configuration.mdx +++ b/web-shared/call-logs-configuration.mdx @@ -1,5 +1,6 @@ --- title: "CallLogsConfiguration" +description: "CallLogsConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatCallLogs` component that are available for customisation via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/callbuttonsstyle.mdx b/web-shared/callbuttonsstyle.mdx index 869861cbc..15c24318b 100644 --- a/web-shared/callbuttonsstyle.mdx +++ b/web-shared/callbuttonsstyle.mdx @@ -1,5 +1,6 @@ --- title: "CallButtonsStyle" +description: "CallButtonsStyle — CometChat documentation." --- Styling properties of the `CometChatCallButtons` component diff --git a/web-shared/calllogdetailsstyle.mdx b/web-shared/calllogdetailsstyle.mdx index 67b36becf..aa0edad60 100644 --- a/web-shared/calllogdetailsstyle.mdx +++ b/web-shared/calllogdetailsstyle.mdx @@ -1,5 +1,6 @@ --- title: "CallLogDetailsStyle" +description: "CallLogDetailsStyle — CometChat documentation." --- Styling properties of CometChatCallLogDetails component. diff --git a/web-shared/callloghistorystyle.mdx b/web-shared/callloghistorystyle.mdx index a4eddd51d..71c798a05 100644 --- a/web-shared/callloghistorystyle.mdx +++ b/web-shared/callloghistorystyle.mdx @@ -1,5 +1,6 @@ --- title: "CallLogHistoryStyle" +description: "CallLogHistoryStyle — CometChat documentation." --- Styling properties of `CometChatCallLogHistory` component. diff --git a/web-shared/calllogparticipantsstyle.mdx b/web-shared/calllogparticipantsstyle.mdx index c7e157004..e1e3ff6ae 100644 --- a/web-shared/calllogparticipantsstyle.mdx +++ b/web-shared/calllogparticipantsstyle.mdx @@ -1,5 +1,6 @@ --- title: "CallLogParticipantsStyle" +description: "CallLogParticipantsStyle — CometChat documentation." --- `CometChatCallLogParticipants` diff --git a/web-shared/calllogrecordingsstyle.mdx b/web-shared/calllogrecordingsstyle.mdx index 8d01684d2..c339402bb 100644 --- a/web-shared/calllogrecordingsstyle.mdx +++ b/web-shared/calllogrecordingsstyle.mdx @@ -1,5 +1,6 @@ --- title: "CallLogRecordingsStyle" +description: "CallLogRecordingsStyle — CometChat documentation." --- `CometChatCallRecording` diff --git a/web-shared/calllogsstyle.mdx b/web-shared/calllogsstyle.mdx index 7336936c2..0e53859e0 100644 --- a/web-shared/calllogsstyle.mdx +++ b/web-shared/calllogsstyle.mdx @@ -1,5 +1,6 @@ --- title: "CallLogsStyle" +description: "CallLogsStyle — CometChat documentation." --- Styling properties of `CometChatCallLogs` component. diff --git a/web-shared/calls-events.mdx b/web-shared/calls-events.mdx index 4d642323c..9a06b63f3 100644 --- a/web-shared/calls-events.mdx +++ b/web-shared/calls-events.mdx @@ -1,5 +1,6 @@ --- title: "Calls Events" +description: "Calls Events — CometChat documentation." --- `CometChatCallEvents` emits events when the logged-in user executes some action on a call object. diff --git a/web-shared/card-bubble.mdx b/web-shared/card-bubble.mdx index 246cf4cf8..d4fc89459 100644 --- a/web-shared/card-bubble.mdx +++ b/web-shared/card-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Card Bubble" +description: "Card Bubble — CometChat documentation." --- The `CometChatCardBubble` component is used to display a card within a chat bubble. The card includes an image, text, and action buttons. It helps to offer action-oriented chat experiences, like booking a flight, ordering food, scheduling a meeting, etc., directly in the chat. diff --git a/web-shared/card-message.mdx b/web-shared/card-message.mdx index bf4b0aa82..ce542b4a8 100644 --- a/web-shared/card-message.mdx +++ b/web-shared/card-message.mdx @@ -1,5 +1,6 @@ --- title: "Card Message" +description: "Card Message — CometChat documentation." --- The `CardMessage` class is used to create a card message for CometChat. It extends the `InteractiveMessage` class from CometChat. diff --git a/web-shared/checkbox-element.mdx b/web-shared/checkbox-element.mdx index d6364e15f..8a2111ee8 100644 --- a/web-shared/checkbox-element.mdx +++ b/web-shared/checkbox-element.mdx @@ -1,5 +1,6 @@ --- title: "Checkbox Element" +description: "Checkbox Element — CometChat documentation." --- The `CheckboxElement` class aids in creating checkbox input elements in a user interface. diff --git a/web-shared/cometchatschedulerbubble.mdx b/web-shared/cometchatschedulerbubble.mdx index adc5624f3..1daaa9291 100644 --- a/web-shared/cometchatschedulerbubble.mdx +++ b/web-shared/cometchatschedulerbubble.mdx @@ -1,5 +1,6 @@ --- title: "SchedulerBubble" +description: "SchedulerBubble — CometChat documentation." --- SchedulerBubble is a versatile type of component designed to facilitate easy and efficient event scheduling. It offers the following key features: diff --git a/web-shared/contacts-configuration.mdx b/web-shared/contacts-configuration.mdx index dd2cd35a1..b9245ce4d 100644 --- a/web-shared/contacts-configuration.mdx +++ b/web-shared/contacts-configuration.mdx @@ -1,5 +1,6 @@ --- title: "ContactsConfiguration" +description: "ContactsConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatContacts` component that are available for customisation via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/contactsstyle.mdx b/web-shared/contactsstyle.mdx index 64030edf9..c3283bfdf 100644 --- a/web-shared/contactsstyle.mdx +++ b/web-shared/contactsstyle.mdx @@ -1,5 +1,6 @@ --- title: "ContactsStyle" +description: "ContactsStyle — CometChat documentation." --- Styling properties of the `CometChatContacts` component diff --git a/web-shared/conversations-configuration.mdx b/web-shared/conversations-configuration.mdx index 97d22f7d9..c118932b3 100644 --- a/web-shared/conversations-configuration.mdx +++ b/web-shared/conversations-configuration.mdx @@ -1,5 +1,6 @@ --- title: "ConversationsConfiguration" +description: "ConversationsConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatConversations` component that are available for customisation via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/conversations-events.mdx b/web-shared/conversations-events.mdx index 0399f7ad0..c93053d3c 100644 --- a/web-shared/conversations-events.mdx +++ b/web-shared/conversations-events.mdx @@ -1,5 +1,6 @@ --- title: "Conversations Events" +description: "Conversations Events — CometChat documentation." --- `CometChatConversationEvents` emits events when the logged-in user executes some action on a conversation object. diff --git a/web-shared/conversationsstyle.mdx b/web-shared/conversationsstyle.mdx index 3020c377c..8a6e8d52f 100644 --- a/web-shared/conversationsstyle.mdx +++ b/web-shared/conversationsstyle.mdx @@ -1,5 +1,6 @@ --- title: "ConversationsStyle" +description: "ConversationsStyle — CometChat documentation." --- Styling properties of `CometChatConversations` component diff --git a/web-shared/creategroup-configuration.mdx b/web-shared/creategroup-configuration.mdx index 385476e60..cabf8c79d 100644 --- a/web-shared/creategroup-configuration.mdx +++ b/web-shared/creategroup-configuration.mdx @@ -1,5 +1,6 @@ --- title: "CreateGroupConfiguration" +description: "CreateGroupConfiguration — CometChat documentation." --- Configurable properties of `CometChatCreateGroup` component diff --git a/web-shared/creategroupstyle.mdx b/web-shared/creategroupstyle.mdx index d6536f0a0..d7c59393d 100644 --- a/web-shared/creategroupstyle.mdx +++ b/web-shared/creategroupstyle.mdx @@ -1,5 +1,6 @@ --- title: "CreateGroupStyle" +description: "CreateGroupStyle — CometChat documentation." --- Styling properties of `CometChatCreateGroup` component diff --git a/web-shared/custom-interactive-message.mdx b/web-shared/custom-interactive-message.mdx index 5eb131318..691f1ac3b 100644 --- a/web-shared/custom-interactive-message.mdx +++ b/web-shared/custom-interactive-message.mdx @@ -1,5 +1,6 @@ --- title: "Custom Interactive Message" +description: "Custom Interactive Message — CometChat documentation." --- The `CustomInteractiveMessage` class extends CometChat's `InteractiveMessage` class and represents a custom interactive message that can be sent via CometChat. diff --git a/web-shared/date-time-picker-element.mdx b/web-shared/date-time-picker-element.mdx index 8012cfa13..8b568c1bc 100644 --- a/web-shared/date-time-picker-element.mdx +++ b/web-shared/date-time-picker-element.mdx @@ -1,5 +1,6 @@ --- title: "DateTimePickerElement" +description: "DateTimePickerElement — CometChat documentation." --- The DateTimePickerElement class is used to create a Date Picker element in a user interface. diff --git a/web-shared/datepatterns.mdx b/web-shared/datepatterns.mdx index 90f819319..0b3f6b5fd 100644 --- a/web-shared/datepatterns.mdx +++ b/web-shared/datepatterns.mdx @@ -1,5 +1,6 @@ --- title: "DatePatterns" +description: "DatePatterns — CometChat documentation." --- DatePatterns describes a specific format or arrangement used to represent dates in a human-readable form. diff --git a/web-shared/details-configuration.mdx b/web-shared/details-configuration.mdx index 30e67726c..3530cc54c 100644 --- a/web-shared/details-configuration.mdx +++ b/web-shared/details-configuration.mdx @@ -1,5 +1,6 @@ --- title: "DetailsConfiguration" +description: "DetailsConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatDetails` component that are available for customisation via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/detailsoption.mdx b/web-shared/detailsoption.mdx index bace7dc62..99f1faf19 100644 --- a/web-shared/detailsoption.mdx +++ b/web-shared/detailsoption.mdx @@ -1,5 +1,6 @@ --- title: "DetailsOption" +description: "DetailsOption — CometChat documentation." --- CometChatDetailsOption is a pre-defined structure for creating option within a [DetailsTemplate](/web-shared/detailstemplate) in the `CometChatDetails` component. diff --git a/web-shared/detailsstyle.mdx b/web-shared/detailsstyle.mdx index 9e3df6582..e533bba88 100644 --- a/web-shared/detailsstyle.mdx +++ b/web-shared/detailsstyle.mdx @@ -1,5 +1,6 @@ --- title: "DetailsStyle" +description: "DetailsStyle — CometChat documentation." --- Styling properties of the `CometChatDetails` component diff --git a/web-shared/detailstemplate.mdx b/web-shared/detailstemplate.mdx index 931d1ebfc..aef64dfd7 100644 --- a/web-shared/detailstemplate.mdx +++ b/web-shared/detailstemplate.mdx @@ -1,5 +1,6 @@ --- title: "DetailsTemplate" +description: "DetailsTemplate — CometChat documentation." --- `CometChatDetailsTemplate` is a pre-defined structure for creating a template data for the `CometChatDetails` component. diff --git a/web-shared/documenticonalignment.mdx b/web-shared/documenticonalignment.mdx index b02e69e85..6260656e0 100644 --- a/web-shared/documenticonalignment.mdx +++ b/web-shared/documenticonalignment.mdx @@ -1,5 +1,6 @@ --- title: "DocumentIconAlignment" +description: "DocumentIconAlignment — CometChat documentation." --- DocumentIconAlignment describes the positioning of icon within the [CometChatDocumentBubble](/web-elements/document-bubble) component. diff --git a/web-shared/dropdown-element.mdx b/web-shared/dropdown-element.mdx index c29e0f9cd..327590eca 100644 --- a/web-shared/dropdown-element.mdx +++ b/web-shared/dropdown-element.mdx @@ -1,5 +1,6 @@ --- title: "DropdownElement" +description: "DropdownElement — CometChat documentation." --- The `DropdownElement` class is used to create a dropdown selection element in a user interface. diff --git a/web-shared/element-type.mdx b/web-shared/element-type.mdx index fc5392ca7..cb6fa962f 100644 --- a/web-shared/element-type.mdx +++ b/web-shared/element-type.mdx @@ -1,5 +1,6 @@ --- title: "Element Type" +description: "Element Type — CometChat documentation." --- This is the base class for every element possible in the Interactive message component, defined by CometChat diff --git a/web-shared/form-bubble.mdx b/web-shared/form-bubble.mdx index 109dc550c..5f7eda9b7 100644 --- a/web-shared/form-bubble.mdx +++ b/web-shared/form-bubble.mdx @@ -1,5 +1,6 @@ --- title: "Form Bubble" +description: "Form Bubble — CometChat documentation." --- The `CometChatFormBubble` component is used to render a form within a chat bubble. The form fields are dynamically built based on the data passed in the `message` prop. The form fields can include text inputs, checkboxes, radio buttons, dropdown, labels, single selects, buttons. Once the form is filled out and submitted, the data will be sent to the provided URL or handled by a custom function. diff --git a/web-shared/form-message.mdx b/web-shared/form-message.mdx index 6b3ee6ef7..66f650681 100644 --- a/web-shared/form-message.mdx +++ b/web-shared/form-message.mdx @@ -1,5 +1,6 @@ --- title: "Form Message" +description: "Form Message — CometChat documentation." --- The `FormMessage` class is used to create an interactive form message that can be sent via CometChat. It extends the `InteractiveMessage` class from CometChat. diff --git a/web-shared/group-members-configuration.mdx b/web-shared/group-members-configuration.mdx index ac15aa617..7248432e7 100644 --- a/web-shared/group-members-configuration.mdx +++ b/web-shared/group-members-configuration.mdx @@ -1,5 +1,6 @@ --- title: "GroupMembersConfiguration" +description: "GroupMembersConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatGroupMembers` component that are available for customisation via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/groupmembersstyle.mdx b/web-shared/groupmembersstyle.mdx index 936d9c522..5d377e702 100644 --- a/web-shared/groupmembersstyle.mdx +++ b/web-shared/groupmembersstyle.mdx @@ -1,5 +1,6 @@ --- title: "GroupMembersStyle" +description: "GroupMembersStyle — CometChat documentation." --- Styling properties of the `CometChatGroupMembers` component diff --git a/web-shared/groups-configurations.mdx b/web-shared/groups-configurations.mdx index df4cffc77..88ef89161 100644 --- a/web-shared/groups-configurations.mdx +++ b/web-shared/groups-configurations.mdx @@ -1,5 +1,6 @@ --- title: "GroupsConfiguration" +description: "GroupsConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatGroups` component that are available for customisation via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/groups-events.mdx b/web-shared/groups-events.mdx index 4c1aa9125..eedd41b77 100644 --- a/web-shared/groups-events.mdx +++ b/web-shared/groups-events.mdx @@ -1,5 +1,6 @@ --- title: "Groups Events" +description: "Groups Events — CometChat documentation." --- `CometChatGroupEvents` emits events when the logged-in user executes some action on a group object. diff --git a/web-shared/groupsstyle.mdx b/web-shared/groupsstyle.mdx index 966b92e81..52794219c 100644 --- a/web-shared/groupsstyle.mdx +++ b/web-shared/groupsstyle.mdx @@ -1,5 +1,6 @@ --- title: "GroupsStyle" +description: "GroupsStyle — CometChat documentation." --- Styling properties of `CometChatGroups` component. diff --git a/web-shared/httpsrequestmethods.mdx b/web-shared/httpsrequestmethods.mdx index e502b4ddf..cbbe65d0b 100644 --- a/web-shared/httpsrequestmethods.mdx +++ b/web-shared/httpsrequestmethods.mdx @@ -1,5 +1,6 @@ --- title: "HTTPSRequestMethods" +description: "HTTPSRequestMethods — CometChat documentation." --- HTTPSRequestMethods lists the HTTP methods for API requests. diff --git a/web-shared/iconbuttonalignment.mdx b/web-shared/iconbuttonalignment.mdx index 700e60d02..53d4557a1 100644 --- a/web-shared/iconbuttonalignment.mdx +++ b/web-shared/iconbuttonalignment.mdx @@ -1,5 +1,6 @@ --- title: "IconButtonAlignment" +description: "IconButtonAlignment — CometChat documentation." --- IconButtonAlignment describes the positioning of icon within the [CometChatIconButton](/web-elements/icon-button) component. diff --git a/web-shared/incomingcallstyle.mdx b/web-shared/incomingcallstyle.mdx index d3d37524f..474b1fa92 100644 --- a/web-shared/incomingcallstyle.mdx +++ b/web-shared/incomingcallstyle.mdx @@ -1,5 +1,6 @@ --- title: "IncomingCallStyle" +description: "IncomingCallStyle — CometChat documentation." --- Styling properties of the `CometChatIncomingCall` component diff --git a/web-shared/joinggroupstyle.mdx b/web-shared/joinggroupstyle.mdx index 5271ddb8f..469146c9e 100644 --- a/web-shared/joinggroupstyle.mdx +++ b/web-shared/joinggroupstyle.mdx @@ -1,5 +1,6 @@ --- title: "JoinGroupStyle" +description: "JoinGroupStyle — CometChat documentation." --- Styling properties of `CometChatJoinGroup` component. diff --git a/web-shared/joingroup-configuration.mdx b/web-shared/joingroup-configuration.mdx index a198e0b05..0549d94db 100644 --- a/web-shared/joingroup-configuration.mdx +++ b/web-shared/joingroup-configuration.mdx @@ -1,5 +1,6 @@ --- title: "JoinGroupConfiguration" +description: "JoinGroupConfiguration — CometChat documentation." --- Configurable properties of `CometChatJoinGroup` component. diff --git a/web-shared/label-element.mdx b/web-shared/label-element.mdx index 5e5efd2e8..53784bfee 100644 --- a/web-shared/label-element.mdx +++ b/web-shared/label-element.mdx @@ -1,5 +1,6 @@ --- title: "Label Element" +description: "Label Element — CometChat documentation." --- The `LabelElement` class enables the creation of a label element in a user interface. diff --git a/web-shared/labelalignment.mdx b/web-shared/labelalignment.mdx index f556d5d1f..81d978ded 100644 --- a/web-shared/labelalignment.mdx +++ b/web-shared/labelalignment.mdx @@ -1,5 +1,6 @@ --- title: "LabelAlignment" +description: "LabelAlignment — CometChat documentation." --- LabelAlignment is used to align the label for web elements. diff --git a/web-shared/localize.mdx b/web-shared/localize.mdx index 5790c5c24..5dd185f54 100644 --- a/web-shared/localize.mdx +++ b/web-shared/localize.mdx @@ -1,5 +1,6 @@ --- title: "Localize" +description: "Localize — CometChat documentation." --- With language localization, CometChat UI Kit adapts to the language of a specific country or region. `CometChatLocalize` allows you to detect the language of your users based on their browser settings and set the language accordingly. diff --git a/web-shared/mentions-text-formatter.mdx b/web-shared/mentions-text-formatter.mdx index d3ffbf402..df95669a2 100644 --- a/web-shared/mentions-text-formatter.mdx +++ b/web-shared/mentions-text-formatter.mdx @@ -1,5 +1,6 @@ --- title: "CometChatMentionsTextFormatter" +description: "CometChatMentionsTextFormatter — CometChat documentation." --- ## Introduction diff --git a/web-shared/message-composer-configuration.mdx b/web-shared/message-composer-configuration.mdx index 004886da4..c1b548082 100644 --- a/web-shared/message-composer-configuration.mdx +++ b/web-shared/message-composer-configuration.mdx @@ -1,5 +1,6 @@ --- title: "MessageComposerConfiguration" +description: "MessageComposerConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatMessageComposer` component that are available for customisation via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/message-header-configuration.mdx b/web-shared/message-header-configuration.mdx index b9133d7f0..2061cefbc 100644 --- a/web-shared/message-header-configuration.mdx +++ b/web-shared/message-header-configuration.mdx @@ -1,5 +1,6 @@ --- title: "MessageHeaderConfiguration" +description: "MessageHeaderConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatMessageHeader` component that are available for customisation via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/message-information-configuration.mdx b/web-shared/message-information-configuration.mdx index 451d28084..fb755d7a3 100644 --- a/web-shared/message-information-configuration.mdx +++ b/web-shared/message-information-configuration.mdx @@ -1,5 +1,6 @@ --- title: "MessageInformationConfiguration" +description: "MessageInformationConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatMessageInformation` component that are available for customisation via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/message-list-configuration.mdx b/web-shared/message-list-configuration.mdx index ef45a5a12..e66f21f35 100644 --- a/web-shared/message-list-configuration.mdx +++ b/web-shared/message-list-configuration.mdx @@ -1,5 +1,6 @@ --- title: "MessageListConfiguration" +description: "MessageListConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatMessageList` component that are available for customisation via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/message-template.mdx b/web-shared/message-template.mdx index 3df583b3a..dfb52344c 100644 --- a/web-shared/message-template.mdx +++ b/web-shared/message-template.mdx @@ -1,5 +1,6 @@ --- title: "MessageTemplate" +description: "MessageTemplate — CometChat documentation." --- `CometChatMessageTemplate` is a pre-defined structure for creating message views that can be used as a starting point or blueprint for creating message views, often known as message bubbles. These views appear in the message list view and render the messages of that particular chat or conversation. It allows developers to define standard message viewing formats that can be reused or customised for different use cases, or even add new ones for their own purposes. diff --git a/web-shared/messagebubblealignment.mdx b/web-shared/messagebubblealignment.mdx index 992dc8f22..0adbbcae9 100644 --- a/web-shared/messagebubblealignment.mdx +++ b/web-shared/messagebubblealignment.mdx @@ -1,5 +1,6 @@ --- title: "MessageBubbleAlignment" +description: "MessageBubbleAlignment — CometChat documentation." --- MessageBubbleAlignment describes the positioning of the message bubble. diff --git a/web-shared/messagebubblestyle.mdx b/web-shared/messagebubblestyle.mdx index b3d9fe0fc..3e2fd3ed7 100644 --- a/web-shared/messagebubblestyle.mdx +++ b/web-shared/messagebubblestyle.mdx @@ -1,5 +1,6 @@ --- title: "MessageBubbleStyle" +description: "MessageBubbleStyle — CometChat documentation." --- Styling properties and values of the `CometChatMessageBubble` component diff --git a/web-shared/messagecomposeraction.mdx b/web-shared/messagecomposeraction.mdx index 7c37d8243..8ecb1ac8b 100644 --- a/web-shared/messagecomposeraction.mdx +++ b/web-shared/messagecomposeraction.mdx @@ -1,5 +1,6 @@ --- title: "MessageComposerAction" +description: "MessageComposerAction — CometChat documentation." --- `CometChatMessageComposerAction` is a pre-defined structure for creating an attachment option in the `CometChatMessageComposer` component that the user can perform in addition to composing a message. diff --git a/web-shared/messagecomposerstyle.mdx b/web-shared/messagecomposerstyle.mdx index a1d3de301..b18c675ee 100644 --- a/web-shared/messagecomposerstyle.mdx +++ b/web-shared/messagecomposerstyle.mdx @@ -1,5 +1,6 @@ --- title: "MessageComposerStyle" +description: "MessageComposerStyle — CometChat documentation." --- Styling properties of the `CometChatMessageComposer` component diff --git a/web-shared/messageheaderstyle.mdx b/web-shared/messageheaderstyle.mdx index c8692968d..d566e4cdc 100644 --- a/web-shared/messageheaderstyle.mdx +++ b/web-shared/messageheaderstyle.mdx @@ -1,5 +1,6 @@ --- title: "MessageHeaderStyle" +description: "MessageHeaderStyle — CometChat documentation." --- Styling properties of the `CometChatMessageHeader` component diff --git a/web-shared/messageinformationstyle.mdx b/web-shared/messageinformationstyle.mdx index bbd8dbeb5..401d3a3d1 100644 --- a/web-shared/messageinformationstyle.mdx +++ b/web-shared/messageinformationstyle.mdx @@ -1,5 +1,6 @@ --- title: "MessageInformationStyle" +description: "MessageInformationStyle — CometChat documentation." --- Styling properties of `CometChatMessageInformation` component. diff --git a/web-shared/messagelistalignment.mdx b/web-shared/messagelistalignment.mdx index 33e2c1925..79ad6677a 100644 --- a/web-shared/messagelistalignment.mdx +++ b/web-shared/messagelistalignment.mdx @@ -1,5 +1,6 @@ --- title: "MessageListAlignment" +description: "MessageListAlignment — CometChat documentation." --- `MessageListAlignment` describes the positioning or arrangement of message bubbles in the component diff --git a/web-shared/messageliststyle.mdx b/web-shared/messageliststyle.mdx index 56a733fe8..78c39d6ab 100644 --- a/web-shared/messageliststyle.mdx +++ b/web-shared/messageliststyle.mdx @@ -1,5 +1,6 @@ --- title: "MessageListStyle" +description: "MessageListStyle — CometChat documentation." --- Styling properties of the `CometChatMessageList` component diff --git a/web-shared/messages-configuration.mdx b/web-shared/messages-configuration.mdx index af82979b2..ad410392b 100644 --- a/web-shared/messages-configuration.mdx +++ b/web-shared/messages-configuration.mdx @@ -1,5 +1,6 @@ --- title: "MessagesConfiguration" +description: "MessagesConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatMessages` component that are available for customisation via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/messages-events.mdx b/web-shared/messages-events.mdx index c4bcb1d97..ef8f59f07 100644 --- a/web-shared/messages-events.mdx +++ b/web-shared/messages-events.mdx @@ -1,5 +1,6 @@ --- title: "Messages Events" +description: "Messages Events — CometChat documentation." --- `CometChatMessageEvents` emits events when the logged-in user executes some action on a message object. diff --git a/web-shared/messagesstyle.mdx b/web-shared/messagesstyle.mdx index dbb218729..c4d3d00af 100644 --- a/web-shared/messagesstyle.mdx +++ b/web-shared/messagesstyle.mdx @@ -1,5 +1,6 @@ --- title: "MessagesStyle" +description: "MessagesStyle — CometChat documentation." --- Styling properties of `CometChatMessages` component. diff --git a/web-shared/ongoingcallstyle.mdx b/web-shared/ongoingcallstyle.mdx index 4ed195ab2..9a48ff66e 100644 --- a/web-shared/ongoingcallstyle.mdx +++ b/web-shared/ongoingcallstyle.mdx @@ -1,5 +1,6 @@ --- title: "OngoingCallStyle" +description: "OngoingCallStyle — CometChat documentation." --- Styling properties of the `CometChatOngoingCall` component. diff --git a/web-shared/option.mdx b/web-shared/option.mdx index 56a477382..c2749effb 100644 --- a/web-shared/option.mdx +++ b/web-shared/option.mdx @@ -1,5 +1,6 @@ --- title: "Option" +description: "Option — CometChat documentation." --- CometChatOption is a pre-defined structure for creating an option that can be used to perform an action message such as edit, delete etc. diff --git a/web-shared/outgoingcallstyle.mdx b/web-shared/outgoingcallstyle.mdx index 6eea06378..cb56a19e8 100644 --- a/web-shared/outgoingcallstyle.mdx +++ b/web-shared/outgoingcallstyle.mdx @@ -1,5 +1,6 @@ --- title: "OutgoingCallStyle" +description: "OutgoingCallStyle — CometChat documentation." --- Styling properties of the `CometChatOutgoingCall` component diff --git a/web-shared/overview.mdx b/web-shared/overview.mdx index 366a3d6dd..728a0bcea 100644 --- a/web-shared/overview.mdx +++ b/web-shared/overview.mdx @@ -1,5 +1,6 @@ --- title: "Overview" +description: "Overview of Overview in CometChat." --- This is a collection of utility functions and constants for building chat UI components with CometChat's web UIKits. This is created and published as a dependency of all our web UIKits. diff --git a/web-shared/radio-button-element.mdx b/web-shared/radio-button-element.mdx index eb5f1d944..4be33d8c1 100644 --- a/web-shared/radio-button-element.mdx +++ b/web-shared/radio-button-element.mdx @@ -1,5 +1,6 @@ --- title: "Radio Button Element" +description: "Radio Button Element — CometChat documentation." --- The `RadioButtonElement` class is designed to create a radio button input element in a user interface. diff --git a/web-shared/reaction-info-configuration.mdx b/web-shared/reaction-info-configuration.mdx index 0dc20741b..44ef1f22a 100644 --- a/web-shared/reaction-info-configuration.mdx +++ b/web-shared/reaction-info-configuration.mdx @@ -1,5 +1,6 @@ --- title: "ReactionInfoConfiguration" +description: "ReactionInfoConfiguration — CometChat documentation." --- You can modify the Reaction Info component's properties using the ReactionInfoConfiguration object. To use a configuration, you simply need to pass it to respective parameter. diff --git a/web-shared/reaction-info-style.mdx b/web-shared/reaction-info-style.mdx index 32c719328..afcd8b4ef 100644 --- a/web-shared/reaction-info-style.mdx +++ b/web-shared/reaction-info-style.mdx @@ -1,5 +1,6 @@ --- title: "ReactionInfoStyle" +description: "ReactionInfoStyle — CometChat documentation." --- Styling properties of `ReactionInfo` component. diff --git a/web-shared/reaction-info.mdx b/web-shared/reaction-info.mdx index 867b7ba11..56e38928d 100644 --- a/web-shared/reaction-info.mdx +++ b/web-shared/reaction-info.mdx @@ -1,5 +1,6 @@ --- title: "ReactionInfo" +description: "ReactionInfo — CometChat documentation." --- The `CometChatReactionInfo` component is used to display the count and users of a specific reaction to a message. diff --git a/web-shared/reaction-list-configuration.mdx b/web-shared/reaction-list-configuration.mdx index 9515a9d55..6eb53f838 100644 --- a/web-shared/reaction-list-configuration.mdx +++ b/web-shared/reaction-list-configuration.mdx @@ -1,5 +1,6 @@ --- title: "ReactionListConfiguration" +description: "ReactionListConfiguration — CometChat documentation." --- You can modify the Reaction List component's properties using the ReactionListConfiguration object. To use a configuration, you simply need to pass it to respective parameter. diff --git a/web-shared/reaction-list-style.mdx b/web-shared/reaction-list-style.mdx index b8dcc82b5..85b7217c1 100644 --- a/web-shared/reaction-list-style.mdx +++ b/web-shared/reaction-list-style.mdx @@ -1,5 +1,6 @@ --- title: "ReactionListStyle" +description: "ReactionListStyle — CometChat documentation." --- Styling properties of `ReactionList` component. diff --git a/web-shared/reaction-list.mdx b/web-shared/reaction-list.mdx index 521cd97bc..c73b467b2 100644 --- a/web-shared/reaction-list.mdx +++ b/web-shared/reaction-list.mdx @@ -1,5 +1,6 @@ --- title: "ReactionList" +description: "ReactionList — CometChat documentation." --- The `CometChatReactionList` component is used to manage and display reactions in messages. It provides functionalities like fetching reactions when a message is updated, updating the reactions, and observing when the user has scrolled to the end of the reaction list. diff --git a/web-shared/reactions-configuration.mdx b/web-shared/reactions-configuration.mdx index b8532b1cc..4ab268095 100644 --- a/web-shared/reactions-configuration.mdx +++ b/web-shared/reactions-configuration.mdx @@ -1,5 +1,6 @@ --- title: "ReactionsConfiguration" +description: "ReactionsConfiguration — CometChat documentation." --- You can modify the Reaction component's properties using the ReactionsConfiguration object. To use a configuration, you simply need to pass it to respective parameter. diff --git a/web-shared/reactions-style.mdx b/web-shared/reactions-style.mdx index 23edb844a..f7400c444 100644 --- a/web-shared/reactions-style.mdx +++ b/web-shared/reactions-style.mdx @@ -1,5 +1,6 @@ --- title: "ReactionsStyle" +description: "ReactionsStyle — CometChat documentation." --- Styling properties of `Reactions` component. diff --git a/web-shared/reactions.mdx b/web-shared/reactions.mdx index 0928d7448..0f723fa2c 100644 --- a/web-shared/reactions.mdx +++ b/web-shared/reactions.mdx @@ -1,5 +1,6 @@ --- title: "Reactions" +description: "Reactions — CometChat documentation." --- The `CometChatReactions` component is used to display a list of reactions to a specific message. Users can see who has reacted to the message and with what emoji. diff --git a/web-shared/receipts.mdx b/web-shared/receipts.mdx index 8f228a24c..e723d1ff7 100644 --- a/web-shared/receipts.mdx +++ b/web-shared/receipts.mdx @@ -1,5 +1,6 @@ --- title: "Receipts" +description: "Receipts — CometChat documentation." --- `Receipts` describes the different states of sent messages. diff --git a/web-shared/scheduler-message.mdx b/web-shared/scheduler-message.mdx index 2a41a4605..831b03b02 100644 --- a/web-shared/scheduler-message.mdx +++ b/web-shared/scheduler-message.mdx @@ -1,5 +1,6 @@ --- title: "Scheduler Message" +description: "Scheduler Message — CometChat documentation." --- The `SchedulerMessage` class is used to create an interactive scheduler message that can be sent via CometChat. It extends the [Interactive Messages](/sdk/javascript/interactive-messages) class from CometChat. diff --git a/web-shared/selectionmode.mdx b/web-shared/selectionmode.mdx index 7daf7adbb..dc8d2f4ce 100644 --- a/web-shared/selectionmode.mdx +++ b/web-shared/selectionmode.mdx @@ -1,5 +1,6 @@ --- title: "SelectionMode" +description: "SelectionMode — CometChat documentation." --- `MessageListAlignment` describes the positioning or arrangement of message bubbles in the component diff --git a/web-shared/single-select-element.mdx b/web-shared/single-select-element.mdx index f35b9e646..7a6ce9627 100644 --- a/web-shared/single-select-element.mdx +++ b/web-shared/single-select-element.mdx @@ -1,5 +1,6 @@ --- title: "Single Select Element" +description: "Single Select Element — CometChat documentation." --- The `SingleSelectElement` class is utilised to create a single selection input element in a user interface. diff --git a/web-shared/sound-manager.mdx b/web-shared/sound-manager.mdx index e08f762b0..c71504b89 100644 --- a/web-shared/sound-manager.mdx +++ b/web-shared/sound-manager.mdx @@ -1,5 +1,6 @@ --- title: "Sound Manager" +description: "Sound Manager — CometChat documentation." --- `CometChatSoundManager` provides functionalities for managing audio playback for incoming / outgoing messages in 1:1 or group chat. diff --git a/web-shared/tabalignment.mdx b/web-shared/tabalignment.mdx index 9420a07d6..e75e23f5f 100644 --- a/web-shared/tabalignment.mdx +++ b/web-shared/tabalignment.mdx @@ -1,5 +1,6 @@ --- title: "TabAlignment" +description: "TabAlignment — CometChat documentation." --- `TabAlignment` describes alignment or positioning of tabs in a tabbed interface diff --git a/web-shared/tabitem.mdx b/web-shared/tabitem.mdx index 6cbbe79ff..09e17f7f3 100644 --- a/web-shared/tabitem.mdx +++ b/web-shared/tabitem.mdx @@ -1,5 +1,6 @@ --- title: "TabItem" +description: "TabItem — CometChat documentation." --- `CometChatTabItem` is a pre-defined structure for creating a tab item that can be part of tabbed interface. diff --git a/web-shared/tabitemstyle.mdx b/web-shared/tabitemstyle.mdx index daa561a56..9630ba584 100644 --- a/web-shared/tabitemstyle.mdx +++ b/web-shared/tabitemstyle.mdx @@ -1,5 +1,6 @@ --- title: "TabItemStyle" +description: "TabItemStyle — CometChat documentation." --- Styling properties of `CometChatTabItem` component. diff --git a/web-shared/tabsstyle.mdx b/web-shared/tabsstyle.mdx index a05ded37f..226b12119 100644 --- a/web-shared/tabsstyle.mdx +++ b/web-shared/tabsstyle.mdx @@ -1,5 +1,6 @@ --- title: "TabsStyle" +description: "TabsStyle — CometChat documentation." --- Styling properties of `CometChatTabs` component. diff --git a/web-shared/tabsvisibility.mdx b/web-shared/tabsvisibility.mdx index babd7c854..c386b599d 100644 --- a/web-shared/tabsvisibility.mdx +++ b/web-shared/tabsvisibility.mdx @@ -1,5 +1,6 @@ --- title: "TabsVisibility" +description: "TabsVisibility — CometChat documentation." --- `TabsVisibility` describes distinct state of tabs in order to change their visibility diff --git a/web-shared/text-formatters.mdx b/web-shared/text-formatters.mdx index 21780871f..e3676b58e 100644 --- a/web-shared/text-formatters.mdx +++ b/web-shared/text-formatters.mdx @@ -1,5 +1,6 @@ --- title: "CometChatTextFormatter" +description: "CometChatTextFormatter — CometChat documentation." --- ## Introduction diff --git a/web-shared/text-input-element.mdx b/web-shared/text-input-element.mdx index 6dd900dc0..f7a9089f3 100644 --- a/web-shared/text-input-element.mdx +++ b/web-shared/text-input-element.mdx @@ -1,5 +1,6 @@ --- title: "Text Input Element" +description: "Text Input Element — CometChat documentation." --- The `TextInputElement` class is used to create a text input element in a user interface. diff --git a/web-shared/theme.mdx b/web-shared/theme.mdx index 661783e8e..814af849e 100644 --- a/web-shared/theme.mdx +++ b/web-shared/theme.mdx @@ -1,5 +1,6 @@ --- title: "Theme" +description: "Theme — CometChat documentation." --- `CometChatTheme` class is made up of two primary components such as: diff --git a/web-shared/threaded-messages-configuration.mdx b/web-shared/threaded-messages-configuration.mdx index 0f0aaca6d..4e97eb372 100644 --- a/web-shared/threaded-messages-configuration.mdx +++ b/web-shared/threaded-messages-configuration.mdx @@ -1,5 +1,6 @@ --- title: "ThreadedMessagesConfiguration" +description: "ThreadedMessagesConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatThreadedMessages` component that are available for customisation via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/threadedmessagesstyle.mdx b/web-shared/threadedmessagesstyle.mdx index fcbdc75a1..39f9bb7a7 100644 --- a/web-shared/threadedmessagesstyle.mdx +++ b/web-shared/threadedmessagesstyle.mdx @@ -1,5 +1,6 @@ --- title: "ThreadedMessagesStyle" +description: "ThreadedMessagesStyle — CometChat documentation." --- Styling properties of the `CometChatThreadedMessages` component. diff --git a/web-shared/timestampalignment.mdx b/web-shared/timestampalignment.mdx index 40c17d646..b020372ca 100644 --- a/web-shared/timestampalignment.mdx +++ b/web-shared/timestampalignment.mdx @@ -1,5 +1,6 @@ --- title: "TimestampAlignment" +description: "TimestampAlignment — CometChat documentation." --- `TimestampAlignment` described the positioning or arrangement of timestamp for each message bubble in the component diff --git a/web-shared/transfer-ownership-configuration.mdx b/web-shared/transfer-ownership-configuration.mdx index c4ed5e65d..ea28e240f 100644 --- a/web-shared/transfer-ownership-configuration.mdx +++ b/web-shared/transfer-ownership-configuration.mdx @@ -1,5 +1,6 @@ --- title: "TransferOwnershipConfiguration" +description: "TransferOwnershipConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatTransferOwnership` component that are available for customisation via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/transferownershipstyle.mdx b/web-shared/transferownershipstyle.mdx index 183f51e6a..8c8508fbb 100644 --- a/web-shared/transferownershipstyle.mdx +++ b/web-shared/transferownershipstyle.mdx @@ -1,5 +1,6 @@ --- title: "TransferOwnershipStyle" +description: "TransferOwnershipStyle — CometChat documentation." --- Styling properties of the `CometChatTransferOwnership` component. diff --git a/web-shared/ui-events.mdx b/web-shared/ui-events.mdx index 6d8ea0b2a..a8ecaf1c8 100644 --- a/web-shared/ui-events.mdx +++ b/web-shared/ui-events.mdx @@ -1,5 +1,6 @@ --- title: "UI Events" +description: "UI Events — CometChat documentation." --- UI events, refer to actions or interactions performed by a user within the CometChat's UI Kit. These events are triggered when a user interacts with various UI elements, such as buttons, menus, checkboxes, input fields, or any other interactive components. diff --git a/web-shared/uikitsettings.mdx b/web-shared/uikitsettings.mdx index 96bc860f7..664f783e2 100644 --- a/web-shared/uikitsettings.mdx +++ b/web-shared/uikitsettings.mdx @@ -1,5 +1,6 @@ --- title: "UIKitSettings" +description: "UIKitSettings — CometChat documentation." --- UIKitSettings is pre-defined structure containing credentials required to initialise [CometChat SDK](/sdk/javascript/overview). diff --git a/web-shared/url-text-formatter.mdx b/web-shared/url-text-formatter.mdx index e3c95b4ab..bf6baf337 100644 --- a/web-shared/url-text-formatter.mdx +++ b/web-shared/url-text-formatter.mdx @@ -1,5 +1,6 @@ --- title: "CometChatUrlTextFormatter" +description: "CometChatUrlTextFormatter — CometChat documentation." --- ## Introduction diff --git a/web-shared/usermember-wrapper-configuration.mdx b/web-shared/usermember-wrapper-configuration.mdx index 1422b5aa1..79d8810ca 100644 --- a/web-shared/usermember-wrapper-configuration.mdx +++ b/web-shared/usermember-wrapper-configuration.mdx @@ -1,5 +1,6 @@ --- title: "UserMemberWrapperConfiguration" +description: "UserMemberWrapperConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatUserMemberWrapper` component that are available for customization via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/users-configuration.mdx b/web-shared/users-configuration.mdx index e5a815f40..67e01a25e 100644 --- a/web-shared/users-configuration.mdx +++ b/web-shared/users-configuration.mdx @@ -1,5 +1,6 @@ --- title: "UsersConfiguration" +description: "UsersConfiguration — CometChat documentation." --- This refers to the properties of the `CometChatUsers` component that are available for customisation via the parent component when the component exists in a deep nested hierarchy. diff --git a/web-shared/users-events.mdx b/web-shared/users-events.mdx index 487ae4087..fc7622539 100644 --- a/web-shared/users-events.mdx +++ b/web-shared/users-events.mdx @@ -1,5 +1,6 @@ --- title: "Users Events" +description: "Users Events — CometChat documentation." --- `CometChatUserEvents` emits events when the logged-in user executes some action on an user object. diff --git a/web-shared/usersstyle.mdx b/web-shared/usersstyle.mdx index 30e1ae877..b315068f9 100644 --- a/web-shared/usersstyle.mdx +++ b/web-shared/usersstyle.mdx @@ -1,5 +1,6 @@ --- title: "UsersStyle" +description: "UsersStyle — CometChat documentation." --- Styling properties of `CometChatUsers` component. diff --git a/web-shared/withdetailsstyle.mdx b/web-shared/withdetailsstyle.mdx index 39e2645f5..a0ea9b92a 100644 --- a/web-shared/withdetailsstyle.mdx +++ b/web-shared/withdetailsstyle.mdx @@ -1,5 +1,6 @@ --- title: "WithDetailsStyle" +description: "WithDetailsStyle — CometChat documentation." --- Styling properties of `CometChatCallLogsWithDetails` component. diff --git a/web-shared/withmessagesstyle.mdx b/web-shared/withmessagesstyle.mdx index 3ca5af395..3a2666e2c 100644 --- a/web-shared/withmessagesstyle.mdx +++ b/web-shared/withmessagesstyle.mdx @@ -1,5 +1,6 @@ --- title: "WithMessagesStyle" +description: "WithMessagesStyle — CometChat documentation." --- Styling properties of all the `CometChatConversationsWithMessages`, `CometChatUsersWithMessages`, `CometChatGroupsWithMessages` component. diff --git a/widget/html/legacy.mdx b/widget/html/legacy.mdx index 513b26aaa..b8350e995 100644 --- a/widget/html/legacy.mdx +++ b/widget/html/legacy.mdx @@ -1,6 +1,7 @@ --- title: "HTML Widget (Legacy)" sidebarTitle: "HTML Widget (Legacy)" +description: "HTML Widget (Legacy) — CometChat documentation." --- import ChatWidgetLegacyOverview from '/snippets/widget/legacy/overview.mdx'; @@ -632,7 +633,7 @@ CometChatWidget.logout().then(response => { If you wish to manage the Auth Key and generate Auth Token from your server application. We recommended you follow the below steps. -Please open this document - [https://api-explorer.cometchat.com/reference/chat-apis](https://api-explorer.cometchat.com/reference/chat-apis) and refer to this Post API call ([https://api-explorer.cometchat.com/reference/create-authtoken](https://api-explorer.cometchat.com/reference/create-authtoken)) to create users and generate Auth token +Please open this document - [/rest-api/chat-apis) and refer to this Post API call ([/rest-api/chat-apis)) to create users and generate Auth token You may then use the generated **Auth Token** and pass it to the login method below to log in to the user diff --git a/widget/wordpress/legacy.mdx b/widget/wordpress/legacy.mdx index a3667efcd..3e2883b4d 100644 --- a/widget/wordpress/legacy.mdx +++ b/widget/wordpress/legacy.mdx @@ -1,6 +1,7 @@ --- title: "WordPress Widget (Legacy)" sidebarTitle: "WordPress Widget (Legacy)" +description: "WordPress Widget (Legacy) — CometChat documentation." --- import ChatWidgetLegacyOverview from '/snippets/widget/legacy/overview.mdx'; @@ -78,7 +79,7 @@ Replace `WIDGET_ID` with your Widget ID. -``` +```json [cometchat-pro widget-id='WIDGET_ID' widget-height='600px' widget-width='600px' widget-version='v3'] ``` @@ -120,7 +121,7 @@ Replace `WIDGET_ID` with your Widget ID. -``` +```json [cometchat-pro widget-id='WIDGET_ID' widget-height='600px' widget-width='600px' widget-version='v3' widget-docked='true' widget-docked-position='right' rounded-corners='true'] ```