> ## Documentation Index > Fetch the complete documentation index at: https://openrouter.ai/docs/llms.txt > Use this file to discover all available pages before exploring further. # ResponsesRequestPlugin ## Supported Types ### AutoBetaRouterPlugin ```go theme={null} responsesRequestPlugin := components.CreateResponsesRequestPluginAutoBetaRouter(components.AutoBetaRouterPlugin{/* values here */}) ``` ### AutoRouterPlugin ```go theme={null} responsesRequestPlugin := components.CreateResponsesRequestPluginAutoRouter(components.AutoRouterPlugin{/* values here */}) ``` ### ContextCompressionPlugin ```go theme={null} responsesRequestPlugin := components.CreateResponsesRequestPluginContextCompression(components.ContextCompressionPlugin{/* values here */}) ``` ### FileParserPlugin ```go theme={null} responsesRequestPlugin := components.CreateResponsesRequestPluginFileParser(components.FileParserPlugin{/* values here */}) ``` ### FusionPlugin ```go theme={null} responsesRequestPlugin := components.CreateResponsesRequestPluginFusion(components.FusionPlugin{/* values here */}) ``` ### ModerationPlugin ```go theme={null} responsesRequestPlugin := components.CreateResponsesRequestPluginModeration(components.ModerationPlugin{/* values here */}) ``` ### ParetoRouterPlugin ```go theme={null} responsesRequestPlugin := components.CreateResponsesRequestPluginParetoRouter(components.ParetoRouterPlugin{/* values here */}) ``` ### ResponseHealingPlugin ```go theme={null} responsesRequestPlugin := components.CreateResponsesRequestPluginResponseHealing(components.ResponseHealingPlugin{/* values here */}) ``` ### WebSearchPlugin ```go theme={null} responsesRequestPlugin := components.CreateResponsesRequestPluginWeb(components.WebSearchPlugin{/* values here */}) ``` ### WebFetchPlugin ```go theme={null} responsesRequestPlugin := components.CreateResponsesRequestPluginWebFetch(components.WebFetchPlugin{/* values here */}) ``` ## Union Discrimination Use the `Type` field to determine which variant is active, then access the corresponding field: ```go theme={null} switch responsesRequestPlugin.Type { case components.ResponsesRequestPluginTypeAutoBetaRouter: // responsesRequestPlugin.AutoBetaRouterPlugin is populated case components.ResponsesRequestPluginTypeAutoRouter: // responsesRequestPlugin.AutoRouterPlugin is populated case components.ResponsesRequestPluginTypeContextCompression: // responsesRequestPlugin.ContextCompressionPlugin is populated case components.ResponsesRequestPluginTypeFileParser: // responsesRequestPlugin.FileParserPlugin is populated case components.ResponsesRequestPluginTypeFusion: // responsesRequestPlugin.FusionPlugin is populated case components.ResponsesRequestPluginTypeModeration: // responsesRequestPlugin.ModerationPlugin is populated case components.ResponsesRequestPluginTypeParetoRouter: // responsesRequestPlugin.ParetoRouterPlugin is populated case components.ResponsesRequestPluginTypeResponseHealing: // responsesRequestPlugin.ResponseHealingPlugin is populated case components.ResponsesRequestPluginTypeWeb: // responsesRequestPlugin.WebSearchPlugin is populated case components.ResponsesRequestPluginTypeWebFetch: // responsesRequestPlugin.WebFetchPlugin is populated } ```