{
    "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"
                ],
                "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"
                                ],
                                "properties": {
                                    "messages": {
                                        "description": "Wrapper for the messages.",
                                        "required": [
                                            "muid"
                                        ],
                                        "properties": {
                                            "<muid>": {
                                                "description": "Wraps a single message object. The **&lt;muid&gt;** 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 **&lt;muid&gt;** 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": {
                                                            "<uid>": {
                                                                "description": "A map where each key is a user’s unique identifier (UID) and the value is that user’s details. The &lt;uid&gt; 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 <uid> 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"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Import Message(s)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "<muid>": {
                                                    "type": "object",
                                                    "allOf": [
                                                        {
                                                            "properties": {
                                                                "sentAt": {},
                                                                "deliveredAt": {},
                                                                "readAt": {}
                                                            },
                                                            "type": "object"
                                                        },
                                                        {
                                                            "$ref": "#/components/schemas/messageSchema"
                                                        }
                                                    ]
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                },
                                "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"
                                                ]
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "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": {
                                            "<uid>": {
                                                "description": "Wraps a user object. The **&lt;uid&gt;** 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 **&lt;uid&gt;** 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"
                                            }
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Import User(s)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "<uid>": {
                                                    "type": "object",
                                                    "allOf": [
                                                        {
                                                            "properties": {
                                                                "lastActiveAt": {},
                                                                "deactivatedAt": {}
                                                            },
                                                            "type": "object"
                                                        },
                                                        {
                                                            "$ref": "#/components/schemas/userSchema"
                                                        }
                                                    ]
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                },
                                "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
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "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": {
                                            "<guid>": {
                                                "description": "Wraps a group object. The **&lt;guid&gt;** 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 **&lt;guid&gt;** 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"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Import Group(s)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "<guid>": {
                                                    "type": "object",
                                                    "allOf": [
                                                        {
                                                            "$ref": "#/components/schemas/groupSchema"
                                                        }
                                                    ]
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                },
                                "example": {
                                    "data": {
                                        "guid1": {
                                            "success": true,
                                            "data": {
                                                "guid": "guid1",
                                                "name": "guid1",
                                                "type": "public",
                                                "conversationId": "group_guid1",
                                                "createdAt": 1673421419,
                                                "owner": "superhero1"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKey": []
                    }
                ]
            }
        },
        "/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": {
                                            "<guid>_member_<uid>": {
                                                "description": "Wraps a single member object. The **&lt;guid&gt;&#95member&#95&lt;uid&gt;** 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 **&lt;guid&gt;&#95member&#95&lt;uid&gt;** 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"
                                                }
                                            }
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Import Group Member(s)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "properties": {
                                                "<memberId>": {
                                                    "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
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "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"
            },
            "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
                        },
                        "additionalProperties": {
                            "type": "boolean"
                        }
                    }
                },
                "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"
            },
            "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"
                        }
                    }
                },
                "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"
            },
            "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
                    }
                },
                "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
                    },
                    "updatedAt": {
                        "description": "Timestamp when permissions were last updated",
                        "type": "integer",
                        "example": 1640000000
                    }
                },
                "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"
            },
            "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"
                    },
                    "status": {
                        "description": "Status of the operation",
                        "type": "string",
                        "example": "removed"
                    },
                    "updatedAt": {
                        "description": "Timestamp when permission was removed",
                        "type": "integer",
                        "example": 1640000000
                    }
                },
                "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
                    }
                },
                "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": {
                            "<uid>": {
                                "properties": {
                                    "success": {
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "type": "object"
                    },
                    "admins": {
                        "properties": {
                            "<uid>": {
                                "properties": {
                                    "success": {
                                        "type": "boolean"
                                    },
                                    "data": {
                                        "type": "object"
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "type": "object"
                    },
                    "moderators": {
                        "properties": {
                            "<uid>": {
                                "properties": {
                                    "success": {
                                        "type": "boolean"
                                    },
                                    "data": {
                                        "type": "object"
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "type": "object"
                    },
                    "participants": {
                        "properties": {
                            "<uid>": {
                                "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": {
                            "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"
                        }
                    },
                    "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"
                                    }
                                },
                                "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"
                    }
                },
                "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
                                ]
                            }
                        },
                        "type": "object"
                    },
                    "mutePreferences": {
                        "$ref": "#/components/schemas/MutePreferences"
                    },
                    "usePrivacyTemplate": {
                        "type": "boolean"
                    }
                },
                "type": "object"
            },
            "pushNotificationSchema": {
                "properties": {
                    "success": {
                        "type": "boolean"
                    }
                },
                "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"
                    }
                },
                "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"
                    }
                },
                "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"
                    },
                    "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"
                    }
                },
                "type": "object"
            },
            "triggerSchema": {
                "description": "Response data",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "category": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "unmuteConversation": {
                "properties": {
                    "id": {
                        "description": "uid or guid",
                        "type": "string"
                    },
                    "type": {
                        "description": "oneOnOne or group",
                        "type": "string",
                        "enum": [
                            "oneOnOne",
                            "group"
                        ]
                    }
                },
                "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": "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"
                    },
                    "sentAt": {
                        "type": "integer"
                    },
                    "updatedAt": {
                        "type": "integer"
                    }
                },
                "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"
                    }
                },
                "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"
                    }
                },
                "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.",
                        "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"
            },
            "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"
                    }
                },
                "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.",
                        "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"
            },
            "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"
                    }
                },
                "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": {
                    "type": "string"
                },
                "examples": {
                    "string": {
                        "summary": "Provider ID",
                        "value": ""
                    }
                }
            },
            "requiredUID": {
                "name": "uid",
                "in": "query",
                "description": "(Required) UID",
                "required": true,
                "schema": {
                    "type": "string"
                }
            }
        },
        "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-<REGION>.cometchat.io/<APP_ID>/media/<HASH>.png?fat=<FILE_ACCESS_TOKEN>"
                            }
                        ]
                    },
                    "category": "message",
                    "type": "image",
                    "receiver": "cometchat-uid-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"
        },
        {
            "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."
        },
        {
            "name": "Moderation",
            "description": "The REST collections for Moderations."
        }
    ]
}