{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/stormmcp/json-schema/stormmcp-discover-dynamic-tools-request-schema.json",
  "title": "DiscoverDynamicToolsRequest",
  "description": "Request for `POST /api/v1/dynamic/tools/discover` (MCPG-882, Phase 2e) — the Radar service's\ndynamic-index callback. Both ids are cross-checked against the authenticated bearer (the caller's\nown token, echoed by Radar): a mismatch is `403`, mirroring the dynamic transport's\ntenant-claim discipline. They are carried explicitly (rather than derived from the token alone) so\nthe Radar service states which surface it believes it is indexing and the gateway verifies it.",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/stormmcp-dynamictoolsdiscovery-api-openapi.yml#/components/schemas/DiscoverDynamicToolsRequest",
  "required": [
    "tenantId",
    "userId"
  ],
  "type": "object",
  "properties": {
    "tenantId": {
      "type": "string",
      "description": "Gets or sets the tenant whose dynamic surface to discover.",
      "format": "uuid"
    },
    "userId": {
      "type": "string",
      "description": "Gets or sets the user whose dynamic surface to discover.",
      "format": "uuid"
    }
  }
}