Skip to main content
Glama

gmail.users.settings.cse.keypairs.disable

Disable a client-side encryption key pair to stop its use for decrypting incoming CSE mail or signing outgoing CSE messages; re-enable later or permanently delete after 30 days.

Instructions

Turns off a client-side encryption key pair. The authenticated user can no longer use the key pair to decrypt incoming CSE message texts or sign outgoing CSE mail. To regain access, use the EnableCseKeyPair to turn on the key pair. After 30 days, you can permanently delete the key pair by using the ObliterateCseKeyPair method. For administrators managing identities and keypairs for users in their organization, requests require authorization with a service account that has [domain-wide delegation authority](https://develop [HTTP POST] — creates or triggers a change; refused under --readonly safety profiles. Returns the API's response resource as JSON — request body is a JSON DisableCseKeyPairRequest object; pass it via params or whole via body_file Siblings over the same resource: create, enable, get, list, obliterate.

Input Schema

NameRequiredDescriptionDefault
queryNoExtra KEY=VALUE query pairs for endpoints whose parameters Discovery does not describe.
paramsNoParameter map merged into the request; typed parameters win.
userIdYes[URL path segment] The requester's primary email address. To indicate the authenticated user, you can use the special value `me`.me
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 DisableCseKeyPairRequest object.
keyPairIdYes[URL path segment] The identifier of the key pair to turn off.
request_bodyNoRequest body of type DisableCseKeyPairRequest: pass it via `params` (merged into the built body) or whole via `body_file`.

Output Schema

NameRequiredDescriptionDefault
pemNo
pkcs7No
keyPairIdNo
disableTimeNo
enablementStateNo
privateKeyMetadataNo
subjectEmailAddressesNo

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 DisableCseKeyPairRequest object."
    • addedInput schema / properties / request_body
      Added value: +{
      +  "description": "Request body of type DisableCseKeyPairRequest: pass it via `params` (merged into the built body) or whole via `body_file`.",
      +  "type": "object"
      +}
  2. Changed4 schema fields changed
    • changedInput schema / properties / keyPairId / description
      Previous value: -"The identifier of the key pair to turn off."New value: +"[URL path segment] The identifier of the key pair to turn off."
    • addedInput schema / properties / userId / default
      Added value: +"me"
    • changedInput schema / properties / userId / description
      Previous value: -"The requester's primary email address. To indicate the authenticated user, you can use the special value `me`."New value: +"[URL path segment] The requester's primary email address. To indicate the authenticated user, you can use the special value `me`."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "disableTime": {
      +      "type": "string"
      +    },
      +    "enablementState": {
      +      "enum": [
      +        "stateUnspecified",
      +        "enabled",
      +        "disabled"
      +      ],
      +      "type": "string"
      +    },
      +    "keyPairId": {
      +      "type": "string"
      +    },
      +    "pem": {
      +      "type": "string"
      +    },
      +    "pkcs7": {
      +      "type": "string"
      +    },
      +    "privateKeyMetadata": {
      +      "items": {
      +        "properties": {
      +          "hardwareKeyMetadata": {
      +            "properties": {
      +              "description": {
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "kaclsKeyMetadata": {
      +            "properties": {
      +              "kaclsData": {
      +                "type": "string"
      +              },
      +              "kaclsUri": {
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "privateKeyMetadataId": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "subjectEmailAddresses": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so well: it discloses the exact capability lost, that the change is reversible within a 30-day window before obliteration becomes possible, and that administrator use requires a service-account with domain-wide delegation. The appended metadata further notes the HTTP POST mutation profile and that the call is refused under --readonly safety profiles.

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

Conciseness4/5

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

The core effect and the alternative-routing sentences are front-loaded and each earns its place. There is minor noise: a truncated markdown link ('[domain-wide delegation authority](https://develop') and trailing wrapper metadata that reads as bolted-on rather than integrated.

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

Completeness5/5

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

For a destructive settings mutation, the description covers consequences, reversibility window, authorization prerequisites, request-body shape, and the sibling set. An output schema exists, so the absence of return-value detail is not a gap.

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 description coverage is 100%, so every parameter is already documented in the input schema, giving a baseline of 3. The description restates that the body is a DisableCseKeyPairRequest passed via `params` or `body_file`, but adds no new semantics for userId or keyPairId beyond the schema text.

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

Purpose5/5

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

The description opens with a specific verb+resource: 'Turns off a client-side encryption key pair.' It immediately states the concrete effect (no longer able to decrypt incoming CSE texts or sign outgoing CSE mail), which distinguishes it unambiguously from sibling operations like enable, obliterate, and get.

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

Usage Guidelines5/5

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

It explicitly routes to alternatives and the conditions selecting them: 'To regain access, use the EnableCseKeyPair' and 'After 30 days, you can permanently delete the key pair by using the ObliterateCseKeyPair method.' It also states who the tool is for when it requires elevated authorization (administrators using a service account with domain-wide delegation).

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