Skip to main content
Glama

chat.spaces.patch

Update a Google Chat space's display name, access settings, permissions, or threading state by applying a field mask. Use it to resolve ALREADY_EXISTS display name conflicts.

Instructions

Updates a space. For an example, see Update a space. If you're updating the displayName field and receive the error message ALREADY_EXISTS, try a different display name.. An existing space within the Google Workspace organization might already use this display name. Supports the following types of authentication: - App authentication with [administrator approval](https://support.g [HTTP PATCH] — updates the resource; refused under --readonly safety profiles. Returns the API's response resource as JSON — request body is a JSON Space object accepting accessSettings, adminInstalled, createTime, customer, displayName, externalUserAllowed, importMode, importModeExpireTime and 13 more fields; pass it via params or whole via body_file Siblings over the same resource: completeImport, create, delete, findDirectMessage, findGroupChats, get, list, search, setup.

Input Schema

NameRequiredDescriptionDefault
nameYes[URL path segment] Identifier. Resource name of the space. Format: `spaces/{space}` Where `{space}` represents the system-assigned ID for the space. You can obtain the space ID by
queryNoExtra KEY=VALUE query pairs for endpoints whose parameters Discovery does not describe.
paramsNoParameter map merged into the request; typed parameters win.
dry_runNoReturn the request that would be sent, without sending it.
body_fileNoRead the request body from this file ('-' for stdin) instead of building one from the parameters. The body is a JSON Space object.
updateMaskNo[query parameter] Required. The updated field paths, comma separated if there are multiple. You can update the following fields for a space: `space_details`: Updates the space's
request_bodyNoRequest body of type Space: pass it via `params` (merged into the built body) or whole via `body_file`.
useAdminAccessNo[query parameter] Optional. When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator wit

Output Schema

NameRequiredDescriptionDefault
nameNo
typeNo
customerNo
spaceUriNo
threadedNo
spaceTypeNo
createTimeNo
importModeNo
displayNameNo
spaceDetailsNo
accessSettingsNo
adminInstalledNo
lastActiveTimeNo
membershipCountNo
singleUserBotDmNo
spaceHistoryStateNo
permissionSettingsNo
externalUserAllowedNo
spaceThreadingStateNo
importModeExpireTimeNo
predefinedPermissionSettingsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / body_file / description
      Previous value: -"Read the request body from this file ('-' for stdin) instead of building one from the parameters."New value: +"Read the request body from this file ('-' for stdin) instead of building one from the parameters. The body is a JSON Space object."
    • addedInput schema / properties / request_body
      Added value: +{
      +  "description": "Request body of type Space: pass it via `params` (merged into the built body) or whole via `body_file`.",
      +  "properties": {
      +    "accessSettings": {
      +      "properties": {
      +        "accessPermissionSettings": {
      +          "properties": {
      +            "discoverSpaceSetting": {
      +              "properties": {
      +                "principals": {
      +                  "items": {
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "joinSpaceSetting": {
      +              "properties": {
      +                "principals": {
      +                  "items": {
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "viewSpaceMembershipSetting": {
      +              "properties": {
      +                "principals": {
      +                  "items": {
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                }
      +              },
      +              "type": "object"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "accessState": {
      +          "enum": [
      +            "ACCESS_STATE_UNSPECIFIED",
      +            "PRIVATE",
      +            "DISCOVERABLE"
      +          ],
      +          "type": "string"
      +        },
      +        "audience": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "adminInstalled": {
      +      "type": "boolean"
      +    },
      +    "createTime": {
      +      "type": "string"
      +    },
      +    "customer": {
      +      "type": "string"
      +    },
      +    "displayName": {
      +      "type": "string"
      +    },
      +    "externalUserAllowed": {
      +      "type": "boolean"
      +    },
      +    "importMode": {
      +      "type": "boolean"
      +    },
      +    "importModeExpireTime": {
      +      "type": "string"
      +    },
      +    "lastActiveTime": {
      +      "type": "string"
      +    },
      +    "membershipCount": {
      +      "properties": {
      +        "joinedDirectHumanUserCount": {
      +          "type": "integer"
      +        },
      +        "joinedGroupCount": {
      +          "type": "integer"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "name": {
      +      "type": "string"
      +    },
      +    "permissionSettings": {
      +      "properties": {
      +        "manageApps": {
      +          "properties": {
      +            "assistantManagersAllowed": {
      +              "type": "boolean"
      +            },
      +            "managersAllowed": {
      +              "type": "boolean"
      +            },
      +            "membersAllowed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "manageMembersAndGroups": {
      +          "properties": {
      +            "assistantManagersAllowed": {
      +              "type": "boolean"
      +            },
      +            "managersAllowed": {
      +              "type": "boolean"
      +            },
      +            "membersAllowed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "manageWebhooks": {
      +          "properties": {
      +            "assistantManagersAllowed": {
      +              "type": "boolean"
      +            },
      +            "managersAllowed": {
      +              "type": "boolean"
      +            },
      +            "membersAllowed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "modifySpaceDetails": {
      +          "properties": {
      +            "assistantManagersAllowed": {
      +              "type": "boolean"
      +            },
      +            "managersAllowed": {
      +              "type": "boolean"
      +            },
      +            "membersAllowed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "postMessages": {
      +          "properties": {
      +            "assistantManagersAllowed": {
      +              "type": "boolean"
      +            },
      +            "managersAllowed": {
      +              "type": "boolean"
      +            },
      +            "membersAllowed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "replyMessages": {
      +          "properties": {
      +            "assistantManagersAllowed": {
      +              "type": "boolean"
      +            },
      +            "managersAllowed": {
      +              "type": "boolean"
      +            },
      +            "membersAllowed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "toggleHistory": {
      +          "properties": {
      +            "assistantManagersAllowed": {
      +              "type": "boolean"
      +            },
      +            "managersAllowed": {
      +              "type": "boolean"
      +            },
      +            "membersAllowed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "useAtMentionAll": {
      +          "properties": {
      +            "assistantManagersAllowed": {
      +              "type": "boolean"
      +            },
      +            "managersAllowed": {
      +              "type": "boolean"
      +            },
      +            "membersAllowed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "viewSpaceMembership": {
      +          "properties": {
      +            "assistantManagersAllowed": {
      +              "type": "boolean"
      +            },
      +            "managersAllowed": {
      +              "type": "boolean"
      +            },
      +            "membersAllowed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "predefinedPermissionSettings": {
      +      "enum": [
      +        "PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED",
      +        "COLLABORATION_SPACE",
      +        "ANNOUNCEMENT_SPACE"
      +      ],
      +      "type": "string"
      +    },
      +    "singleUserBotDm": {
      +      "type": "boolean"
      +    },
      +    "spaceDetails": {
      +      "properties": {
      +        "description": {
      +          "type": "string"
      +        },
      +        "guidelines": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "spaceHistoryState": {
      +      "enum": [
      +        "HISTORY_STATE_UNSPECIFIED",
      +        "HISTORY_OFF",
      +        "HISTORY_ON"
      +      ],
      +      "type": "string"
      +    },
      +    "spaceThreadingState": {
      +      "enum": [
      +        "SPACE_THREADING_STATE_UNSPECIFIED",
      +        "THREADED_MESSAGES",
      +        "GROUPED_MESSAGES",
      +        "UNTHREADED_MESSAGES"
      +      ],
      +      "type": "string"
      +    },
      +    "spaceType": {
      +      "enum": [
      +        "SPACE_TYPE_UNSPECIFIED",
      +        "SPACE",
      +        "GROUP_CHAT",
      +        "DIRECT_MESSAGE"
      +      ],
      +      "type": "string"
      +    },
      +    "spaceUri": {
      +      "type": "string"
      +    },
      +    "threaded": {
      +      "type": "boolean"
      +    },
      +    "type": {
      +      "enum": [
      +        "TYPE_UNSPECIFIED",
      +        "ROOM",
      +        "DM"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed6 schema fields changed
    • changedInput schema / properties / name / description
      Previous value: -"Identifier. Resource name of the space. Format: `spaces/{space}` Where `{space}` represents the system-assigned ID for the space. You can obtain the space ID by"New value: +"[URL path segment] Identifier. Resource name of the space. Format: `spaces/{space}` Where `{space}` represents the system-assigned ID for the space. You can obtain the space ID by"
    • addedInput schema / properties / name / pattern
      Added value: +"^spaces/[^/]+$"
    • changedInput schema / properties / updateMask / description
      Previous value: -"Required. The updated field paths, comma separated if there are multiple. You can update the following fields for a space: `space_details`: Updates the space's "New value: +"[query parameter] Required. The updated field paths, comma separated if there are multiple. You can update the following fields for a space: `space_details`: Updates the space's "
    • addedInput schema / properties / updateMask / format
      Added value: +"google-fieldmask"
    • changedInput schema / properties / useAdminAccess / description
      Previous value: -"Optional. When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator wit"New value: +"[query parameter] Optional. When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator wit"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "accessSettings": {
      +      "properties": {
      +        "accessPermissionSettings": {
      +          "properties": {
      +            "discoverSpaceSetting": {
      +              "properties": {
      +                "principals": {
      +                  "items": {
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "joinSpaceSetting": {
      +              "properties": {
      +                "principals": {
      +                  "items": {
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "viewSpaceMembershipSetting": {
      +              "properties": {
      +                "principals": {
      +                  "items": {
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                }
      +              },
      +              "type": "object"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "accessState": {
      +          "enum": [
      +            "ACCESS_STATE_UNSPECIFIED",
      +            "PRIVATE",
      +            "DISCOVERABLE"
      +          ],
      +          "type": "string"
      +        },
      +        "audience": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "adminInstalled": {
      +      "type": "boolean"
      +    },
      +    "createTime": {
      +      "type": "string"
      +    },
      +    "customer": {
      +      "type": "string"
      +    },
      +    "displayName": {
      +      "type": "string"
      +    },
      +    "externalUserAllowed": {
      +      "type": "boolean"
      +    },
      +    "importMode": {
      +      "type": "boolean"
      +    },
      +    "importModeExpireTime": {
      +      "type": "string"
      +    },
      +    "lastActiveTime": {
      +      "type": "string"
      +    },
      +    "membershipCount": {
      +      "properties": {
      +        "joinedDirectHumanUserCount": {
      +          "type": "integer"
      +        },
      +        "joinedGroupCount": {
      +          "type": "integer"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "name": {
      +      "type": "string"
      +    },
      +    "permissionSettings": {
      +      "properties": {
      +        "manageApps": {
      +          "properties": {
      +            "assistantManagersAllowed": {
      +              "type": "boolean"
      +            },
      +            "managersAllowed": {
      +              "type": "boolean"
      +            },
      +            "membersAllowed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "manageMembersAndGroups": {
      +          "properties": {
      +            "assistantManagersAllowed": {
      +              "type": "boolean"
      +            },
      +            "managersAllowed": {
      +              "type": "boolean"
      +            },
      +            "membersAllowed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "manageWebhooks": {
      +          "properties": {
      +            "assistantManagersAllowed": {
      +              "type": "boolean"
      +            },
      +            "managersAllowed": {
      +              "type": "boolean"
      +            },
      +            "membersAllowed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "modifySpaceDetails": {
      +          "properties": {
      +            "assistantManagersAllowed": {
      +              "type": "boolean"
      +            },
      +            "managersAllowed": {
      +              "type": "boolean"
      +            },
      +            "membersAllowed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "postMessages": {
      +          "properties": {
      +            "assistantManagersAllowed": {
      +              "type": "boolean"
      +            },
      +            "managersAllowed": {
      +              "type": "boolean"
      +            },
      +            "membersAllowed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "replyMessages": {
      +          "properties": {
      +            "assistantManagersAllowed": {
      +              "type": "boolean"
      +            },
      +            "managersAllowed": {
      +              "type": "boolean"
      +            },
      +            "membersAllowed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "toggleHistory": {
      +          "properties": {
      +            "assistantManagersAllowed": {
      +              "type": "boolean"
      +            },
      +            "managersAllowed": {
      +              "type": "boolean"
      +            },
      +            "membersAllowed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "useAtMentionAll": {
      +          "properties": {
      +            "assistantManagersAllowed": {
      +              "type": "boolean"
      +            },
      +            "managersAllowed": {
      +              "type": "boolean"
      +            },
      +            "membersAllowed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "viewSpaceMembership": {
      +          "properties": {
      +            "assistantManagersAllowed": {
      +              "type": "boolean"
      +            },
      +            "managersAllowed": {
      +              "type": "boolean"
      +            },
      +            "membersAllowed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "predefinedPermissionSettings": {
      +      "enum": [
      +        "PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED",
      +        "COLLABORATION_SPACE",
      +        "ANNOUNCEMENT_SPACE"
      +      ],
      +      "type": "string"
      +    },
      +    "singleUserBotDm": {
      +      "type": "boolean"
      +    },
      +    "spaceDetails": {
      +      "properties": {
      +        "description": {
      +          "type": "string"
      +        },
      +        "guidelines": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "spaceHistoryState": {
      +      "enum": [
      +        "HISTORY_STATE_UNSPECIFIED",
      +        "HISTORY_OFF",
      +        "HISTORY_ON"
      +      ],
      +      "type": "string"
      +    },
      +    "spaceThreadingState": {
      +      "enum": [
      +        "SPACE_THREADING_STATE_UNSPECIFIED",
      +        "THREADED_MESSAGES",
      +        "GROUPED_MESSAGES",
      +        "UNTHREADED_MESSAGES"
      +      ],
      +      "type": "string"
      +    },
      +    "spaceType": {
      +      "enum": [
      +        "SPACE_TYPE_UNSPECIFIED",
      +        "SPACE",
      +        "GROUP_CHAT",
      +        "DIRECT_MESSAGE"
      +      ],
      +      "type": "string"
      +    },
      +    "spaceUri": {
      +      "type": "string"
      +    },
      +    "threaded": {
      +      "type": "boolean"
      +    },
      +    "type": {
      +      "enum": [
      +        "TYPE_UNSPECIFIED",
      +        "ROOM",
      +        "DM"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  3. First observed

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses it is a mutation ([HTTP PATCH]), that it is 'refused under --readonly safety profiles', that it returns the response resource as JSON, the authentication modes required, and the ALREADY_EXISTS failure mode. Permission specifics and reversibility are only partially covered, preventing a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded correctly with 'Updates a space', but the block is cluttered: a truncated auth link ('https://support.g'), a doubled period ('different display name..'), and a trailing sibling list that adds bulk without routing value. Useful content, but not tightly edited.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 8-parameter mutation with nested objects, the description covers auth, error handling, safety profile, and body/params mechanics adequately. An output schema exists, so the return-value note is supplementary rather than necessary; the definition is close to complete for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all parameters, establishing a baseline of 3. The description adds the useful params-vs-body_file merge semantics and enumerates body fields, but does not explain updateMask behavior or the query/useAdminAccess parameters beyond what the schema states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Updates a space', which cleanly separates it from create/delete/get on the same resource. It lists sibling tools sharing the resource but doesn't explicitly say what makes patch the right choice over them, keeping it short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides scenario-specific guidance for the ALREADY_EXISTS error when updating displayName, which is genuinely useful. However, there is no explicit when-to-use vs. when-not-to-use guidance relative to the many siblings named, and no stated prerequisites beyond a partial authentication note.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools