Method: spaces.create

  • 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 thePOST https://chat.googleapis.com/v1/spaces HTTP 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, anALREADY_EXISTS error will be returned, suggesting to try a different displayName.

Creates a space. Can be used to create a named space, or a group chat inImport mode. For an example, seeCreate a space.

Supports the following types ofauthentication:

  • App authentication withadministrator 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, thespace.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, setspace.permission_settings.manage_apps tomanagersAllowed.

Space membership upon creation depends on whether the space is created inImport 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 messageALREADY_EXISTS when creating a space, try a differentdisplayName. 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 usesgRPC Transcoding syntax.

Query parameters

Parameters
requestId

string

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 ofSpace.

Response body

If successful, the response body contains a newly created instance ofSpace.

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 theAuthorization guide.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-07-25 UTC.