# Review Lead source removal

`source_channels.review_removal`

After the user asks to remove a Lead source, read its removal options and choose any required replacement with the user. Review that exact removal here. Explain its effects and affected counts, including changed attribution in reports, then obtain a second explicit confirmation before removal. The review expires after ten minutes or when the reviewed source, activity, or destination changes.

[Lead sources guide](https://docs.levr.ai/mcp/resources/source_channels.md)

Availability depends on live discovery and your access to the record. Do not infer MCP calls from REST paths.

Operation: read. Required OAuth scopes: mcp.

## Input schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "provider_slug": {
      "description": "Copy provider_slug from providers.list; named slugs are valid.",
      "maxLength": 255,
      "minLength": 1,
      "type": "string"
    },
    "replacement_source_channel_id": {
      "anyOf": [
        {
          "description": "Replacement Lead source ID returned by source_channels.get_removal_options when activity must be moved.",
          "maxLength": 255,
          "minLength": 1,
          "pattern": "^srcch_[A-Za-z0-9_-]+$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Replacement Lead source ID returned by source_channels.get_removal_options when activity must be moved."
    },
    "source_channel_id": {
      "description": "Canonical Lead source ID returned by source_channels.list.",
      "maxLength": 255,
      "minLength": 1,
      "pattern": "^srcch_[A-Za-z0-9_-]+$",
      "type": "string"
    }
  },
  "required": [
    "provider_slug",
    "source_channel_id"
  ],
  "type": "object"
}
```

## Output schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "oneOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "properties": {
        "ok": {
          "const": true
        }
      },
      "required": [
        "data"
      ]
    },
    {
      "not": {
        "required": [
          "data"
        ]
      },
      "properties": {
        "ok": {
          "const": false
        }
      },
      "required": [
        "error"
      ]
    }
  ],
  "properties": {
    "data": {
      "additionalProperties": false,
      "properties": {
        "api_credentials_will_be_revoked": {
          "type": "boolean"
        },
        "business_count": {
          "description": "Attributed businesses affected by removal.",
          "minimum": 0,
          "type": "integer"
        },
        "can_remove": {
          "description": "Whether this Lead source can currently be removed.",
          "type": "boolean"
        },
        "deal_count": {
          "description": "Attributed Deals affected by removal.",
          "minimum": 0,
          "type": "integer"
        },
        "effect": {
          "type": "string"
        },
        "frontend_link": {
          "format": "uri",
          "type": "string"
        },
        "id": {
          "description": "Stable public identifier for the referenced resource.",
          "maxLength": 255,
          "minLength": 1,
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "reason": {
          "description": "Why removal is unavailable, or an empty string when it is available.",
          "type": "string"
        },
        "replacement_source_channel_id": {
          "anyOf": [
            {
              "description": "Stable public identifier for the referenced resource.",
              "maxLength": 255,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Stable public identifier for the referenced resource."
        },
        "replacement_source_channels": {
          "description": "Canonical destination choices when requires_replacement is true.",
          "items": {
            "additionalProperties": false,
            "properties": {
              "created_at": {
                "format": "date-time",
                "type": "string"
              },
              "frontend_link": {
                "format": "uri",
                "type": "string"
              },
              "id": {
                "description": "Stable public identifier for the referenced resource.",
                "maxLength": 255,
                "minLength": 1,
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "type": {
                "enum": [
                  "in_house",
                  "client_added",
                  "marketplace",
                  "business_signup_link",
                  "referrer_api",
                  "provider_relationship"
                ],
                "type": "string"
              },
              "type_label": {
                "type": "string"
              },
              "updated_at": {
                "format": "date-time",
                "type": "string"
              }
            },
            "required": [
              "id",
              "name",
              "type",
              "type_label",
              "created_at",
              "updated_at",
              "frontend_link"
            ],
            "type": "object"
          },
          "maxItems": 25,
          "type": "array"
        },
        "requires_replacement": {
          "description": "Whether the user must choose where existing business and Deal attribution should move.",
          "type": "boolean"
        },
        "review_token": {
          "maxLength": 16000,
          "type": "string"
        },
        "revision": {
          "description": "Opaque configuration revision returned by a Lead source read.",
          "pattern": "^[a-f0-9]{64}$",
          "type": "string"
        },
        "signup_links_should_no_longer_be_used": {
          "type": "boolean"
        },
        "type": {
          "enum": [
            "in_house",
            "client_added",
            "marketplace",
            "business_signup_link",
            "referrer_api",
            "provider_relationship"
          ],
          "type": "string"
        }
      },
      "required": [
        "id",
        "name",
        "type",
        "revision",
        "can_remove",
        "requires_replacement",
        "reason",
        "business_count",
        "deal_count",
        "replacement_source_channels",
        "signup_links_should_no_longer_be_used",
        "api_credentials_will_be_revoked",
        "frontend_link",
        "review_token",
        "effect",
        "replacement_source_channel_id"
      ],
      "type": "object"
    },
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "additionalProperties": true,
          "description": "Optional bounded, agent-safe correction or recovery facts.",
          "type": "object"
        },
        "message": {
          "type": "string"
        },
        "retryable": {
          "type": "boolean"
        }
      },
      "required": [
        "code",
        "message",
        "retryable"
      ],
      "type": "object"
    },
    "meta": {
      "additionalProperties": false,
      "properties": {
        "request_id": {
          "type": "string"
        }
      },
      "required": [
        "request_id"
      ],
      "type": "object"
    },
    "ok": {
      "description": "Whether the tool completed successfully.",
      "type": "boolean"
    }
  },
  "required": [
    "ok",
    "meta"
  ],
  "type": "object"
}
```
