- [HTTP request](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/create#body.HTTP_TEMPLATE)
- [Query parameters](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/create#body.QUERY_PARAMETERS)
- [Request body](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/create#body.request_body)
- [Response body](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/create#body.response_body)
- [Authorization scopes](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/create#body.aspect)
- [Try it!](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/create#try-it)

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](https://developers.google.com/workspace/chat/create-spaces).

Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize):

- [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://google.aip.dev/127) syntax.

### Query parameters

| Parameters ||
|---|---|
| `requestId` | `string` Optional. A unique ID for this request. A random UUID is recommended. Specifying a request ID makes the request idempotent, which ensures that multiple identical requests with the same request ID result in only a single space being created. Subsequent requests with the same request ID return the existing space and do not update the space, even if the requested details differ from the current state. To use this field effectively: - Ensure that subsequent requests are identical and use the same authentication credentials as the original request. - If a space was already created with the provided request ID, the request returns that space. Note that the returned space might not be fully populated; the API echoes the space in your request with the system-assigned resource name populated. To retrieve the latest metadata for the space, call `spaces.get`. - Reusing an existing request ID with a different authenticated user results in an error. |

### Request body

The request body contains an instance of `https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces#Space`.

### Response body

If successful, the response body contains a newly created instance of `https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces#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](https://developers.google.com/workspace/chat/authenticate-authorize).