> ## 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
}
```
