{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/stormmcp/json-schema/stormmcp-clear-connections-impact-response-schema.json",
  "title": "ClearConnectionsImpactResponse",
  "description": "The rows one connection clear would remove, and the digest the admin acknowledges (MCPG-2383).\nExactly one of IReadOnlyList&lt;AppPersonalConnectionRow&gt; ClearConnectionsImpactResponse.PersonalRows and AppTenantConfigurationRow? ClearConnectionsImpactResponse.TenantRow is populated, because no\nscope chooses both. A Tenant configuration clear that deletes an OAuth provider also removes the\npersonal OAuth connections issued under it; those are listed in IReadOnlyList&lt;AppPersonalConnectionRow&gt; ClearConnectionsImpactResponse.RemovedPersonalRows,\nnot in IReadOnlyList&lt;AppPersonalConnectionRow&gt; ClearConnectionsImpactResponse.PersonalRows, because the admin did not choose them.",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/stormmcp-integrations-api-openapi.yml#/components/schemas/ClearConnectionsImpactResponse",
  "type": "object",
  "properties": {
    "scope": {
      "type": "string",
      "description": "Gets the clear scope."
    },
    "personalRows": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/AppPersonalConnectionRow"
      },
      "description": "Gets the personal connections the clear removes, sorted by user id."
    },
    "tenantRow": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "description": "Gets the Tenant configuration the clear removes, for string ConnectionClearScopes.TenantConfiguration.",
          "$ref": "#/$defs/AppTenantConfigurationRow"
        }
      ]
    },
    "removedPersonalRows": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/AppPersonalConnectionRow"
      },
      "description": "Gets the personal OAuth connections a string ConnectionClearScopes.TenantConfiguration\nclear removes because they were issued under the OAuth provider the clear deletes, sorted by\nuser id. Empty for every other scope."
    },
    "removesPersonalOAuthUnderProvider": {
      "type": "boolean",
      "description": "Gets a value indicating whether the Tenant configuration clear deletes an OAuth provider, so\nthat every personal OAuth connection issued under it is removed, including any the gateway\nholds no record of and cannot list by user. False for every other scope."
    },
    "digest": {
      "type": "string",
      "description": "Gets the acknowledgment digest of this impact."
    }
  },
  "$defs": {
    "AppPersonalConnectionRow": {
      "type": "object",
      "properties": {
        "userId": {
          "type": "string",
          "description": "Gets the owning user id. The platform shows that user's email.",
          "format": "uuid"
        },
        "authType": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "description": "Gets the connection's authentication type, when known.",
              "$ref": "#/$defs/McpServerAuthType"
            }
          ]
        },
        "source": {
          "type": "string",
          "description": "Gets where the connection is stored: one of AppRevokeConnectionSources."
        },
        "clearable": {
          "type": "boolean",
          "description": "Gets a value indicating whether an admin may clear it. False for an OAuth connection until\nSP-680 lets the credential store honour an admin clear of another user's OAuth token."
        }
      },
      "description": "One user's personal connection for an app, as App Management lists it (MCPG-2383)."
    },
    "AppTenantConfigurationRow": {
      "type": "object",
      "properties": {
        "authType": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "description": "Gets the configuration's authentication type, when known.",
              "$ref": "#/$defs/McpServerAuthType"
            }
          ]
        },
        "clearable": {
          "type": "boolean",
          "description": "Gets a value indicating whether an admin may clear it. A Tenant configuration is clearable\nfor every authentication type: the SP-680 wait applies to a chosen clear of another user's\nconnection only. A clear that deletes an OAuth provider lists the personal OAuth connections\nit removes in its preflight."
        }
      },
      "description": "An app's Tenant configuration as App Management lists it (MCPG-2383)."
    },
    "McpServerAuthType": {
      "type": "integer",
      "description": "An enumeration representing the authentication types for MCP servers."
    }
  }
}