diff --git a/slack_sdk/web/async_client.py b/slack_sdk/web/async_client.py index 2840b75f7..b0859f336 100644 --- a/slack_sdk/web/async_client.py +++ b/slack_sdk/web/async_client.py @@ -2855,14 +2855,22 @@ async def canvases_create( self, *, title: Optional[str] = None, - document_content: Dict[str, str], + document_content: Optional[Dict[str, str]] = None, + channel_id: Optional[str] = None, **kwargs, ) -> AsyncSlackResponse: """Create Canvas for a user. https://docs.slack.dev/reference/methods/canvases.create """ - kwargs.update({"title": title, "document_content": document_content}) + kwargs.update( + { + "title": title, + "document_content": document_content, + "channel_id": channel_id, + } + ) + kwargs = _remove_none_values(kwargs) return await self.api_call("canvases.create", json=kwargs) async def canvases_edit( diff --git a/slack_sdk/web/client.py b/slack_sdk/web/client.py index 9f4c7fa16..6534c8732 100644 --- a/slack_sdk/web/client.py +++ b/slack_sdk/web/client.py @@ -2845,14 +2845,22 @@ def canvases_create( self, *, title: Optional[str] = None, - document_content: Dict[str, str], + document_content: Optional[Dict[str, str]] = None, + channel_id: Optional[str] = None, **kwargs, ) -> SlackResponse: """Create Canvas for a user. https://docs.slack.dev/reference/methods/canvases.create """ - kwargs.update({"title": title, "document_content": document_content}) + kwargs.update( + { + "title": title, + "document_content": document_content, + "channel_id": channel_id, + } + ) + kwargs = _remove_none_values(kwargs) return self.api_call("canvases.create", json=kwargs) def canvases_edit( diff --git a/slack_sdk/web/legacy_client.py b/slack_sdk/web/legacy_client.py index 5c4fa90c1..03110af54 100644 --- a/slack_sdk/web/legacy_client.py +++ b/slack_sdk/web/legacy_client.py @@ -2856,14 +2856,22 @@ def canvases_create( self, *, title: Optional[str] = None, - document_content: Dict[str, str], + document_content: Optional[Dict[str, str]] = None, + channel_id: Optional[str] = None, **kwargs, ) -> Union[Future, SlackResponse]: """Create Canvas for a user. https://docs.slack.dev/reference/methods/canvases.create """ - kwargs.update({"title": title, "document_content": document_content}) + kwargs.update( + { + "title": title, + "document_content": document_content, + "channel_id": channel_id, + } + ) + kwargs = _remove_none_values(kwargs) return self.api_call("canvases.create", json=kwargs) def canvases_edit( diff --git a/tests/slack_sdk_async/web/test_web_client_coverage.py b/tests/slack_sdk_async/web/test_web_client_coverage.py index 6ebe28700..6b63b28d6 100644 --- a/tests/slack_sdk_async/web/test_web_client_coverage.py +++ b/tests/slack_sdk_async/web/test_web_client_coverage.py @@ -626,8 +626,8 @@ async def run_method(self, method_name, method, async_method): self.api_methods_to_call.remove(method(id="R111")["method"]) await async_method(id="R111") elif method_name == "canvases_create": - self.api_methods_to_call.remove(method(document_content={})["method"]) - await async_method(document_content={}) + self.api_methods_to_call.remove(method(channel_id="C123")["method"]) + await async_method(channel_id="C123") elif method_name == "conversations_canvases_create": self.api_methods_to_call.remove(method(channel_id="C123", document_content={})["method"]) await async_method(channel_id="C123", document_content={})