AI-generated Key Takeaways
-  Creates a space in Google Chat, which can be a named space or a group chat, supporting app and user authentication. 
-  When using app authentication, the space.customer field is required and no members are added in Import mode; otherwise, the calling user becomes a member. 
-  Uses the POST https://chat.googleapis.com/v1/spacesHTTP request to create a space and requires specific OAuth scopes for authorization.
-  The request body should contain a Space object and the response, if successful, will contain the newly created Space object. 
-  If the displayName already exists, an ALREADY_EXISTSerror will be returned, suggesting to try a different displayName.
Creates a space. Can be used to create a named space, or a group chat in Import mode 
. For an example, see Create a space 
.
Supports the following types of authentication :
-  App authentication with administrator approval and one of the following authorization scopes: -  https://www.googleapis.com/auth/chat.app.spaces.create
-  https://www.googleapis.com/auth/chat.app.spaces
 
-  
-  User authentication with one of the following authorization scopes: -  https://www.googleapis.com/auth/chat.spaces.create
-  https://www.googleapis.com/auth/chat.spaces
-  https://www.googleapis.com/auth/chat.import(import mode spaces only)
 
-  
When authenticating as an app, the space.customer 
field must be set in the request.
When authenticating as an app, the Chat app is added as a member of the space. However, unlike human authentication, the Chat app is not added as a space manager. By default, the Chat app can be removed from the space by all space members. To allow only space managers to remove the app from a space, set space.permission_settings.manage_apps 
to managersAllowed 
.
Space membership upon creation depends on whether the space is created in Import mode 
:
- Import mode:No members are created.
-  All other modes:The calling user is added as a member. This is: - The app itself when using app authentication.
- The human user when using user authentication.
 
If you receive the error message ALREADY_EXISTS 
when creating  a space, try a different displayName 
. An existing space within  the Google Workspace organization might already use this display name.
HTTP request
 POST https://chat.googleapis.com/v1/spaces 
The URL uses gRPC Transcoding syntax.
Query parameters
| Parameters | |
|---|---|
| requestId |   Optional. A unique identifier for this request. A random UUID is recommended. Specifying an existing request ID returns the space created with that ID instead of creating a new space. Specifying an existing request ID from the same Chat app with a different authenticated user returns an error. | 
Request body
The request body contains an instance of  Space 
 
.
Response body
If successful, the response body contains a newly created instance of  Space 
 
.
Authorization scopes
Requires one of the following OAuth scopes:
-  https://www.googleapis.com/auth/chat.app.spaces.create
-  https://www.googleapis.com/auth/chat.app.spaces
-  https://www.googleapis.com/auth/chat.import
-  https://www.googleapis.com/auth/chat.spaces
-  https://www.googleapis.com/auth/chat.spaces.create
For more information, see the Authorization guide .

