For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
ModelsChatRankingsDocs
DocsAPI ReferenceClient SDKsAgent SDKCookbookChangelog
DocsAPI ReferenceClient SDKsAgent SDKCookbookChangelog
    • Overview
    • Usage for Agents
  • TypeScript SDK
    • Overview
  • Python SDK
    • Overview
  • Go SDK
      • Analytics
      • APIKeys
      • Byok
      • Chat
      • Credits
      • Datasets
      • Embeddings
      • Endpoints
      • Generations
      • Guardrails
        • Models
        • MessagesRequestPlugin
      • OAuth
      • Observability
      • Organization
      • Presets
      • Providers
      • Rerank
      • Beta.Responses
      • Transcriptions
      • Speech
      • VideoGeneration
      • Workspaces
  • DevTools
    • Overview
    • Migrating to @openrouter/agent
LogoLogo
ModelsChatRankingsDocs
On this page
  • Supported Types
  • AutoRouterPlugin
  • ContextCompressionPlugin
  • FileParserPlugin
  • FusionPlugin
  • ModerationPlugin
  • ParetoRouterPlugin
  • ResponseHealingPlugin
  • WebSearchPlugin
  • WebFetchPlugin
  • Union Discrimination
Go SDKAPI ReferenceModels

MessagesRequestPlugin - Go SDK

MessagesRequestPlugin type definition
Was this page helpful?
Previous

OAuth - Go SDK

OAuth method reference
Next
Built with

The Go SDK and docs are currently in beta. Report issues on GitHub.

Supported Types

AutoRouterPlugin

1messagesRequestPlugin := components.CreateMessagesRequestPluginAutoRouter(components.AutoRouterPlugin{/* values here */})

ContextCompressionPlugin

1messagesRequestPlugin := components.CreateMessagesRequestPluginContextCompression(components.ContextCompressionPlugin{/* values here */})

FileParserPlugin

1messagesRequestPlugin := components.CreateMessagesRequestPluginFileParser(components.FileParserPlugin{/* values here */})

FusionPlugin

1messagesRequestPlugin := components.CreateMessagesRequestPluginFusion(components.FusionPlugin{/* values here */})

ModerationPlugin

1messagesRequestPlugin := components.CreateMessagesRequestPluginModeration(components.ModerationPlugin{/* values here */})

ParetoRouterPlugin

1messagesRequestPlugin := components.CreateMessagesRequestPluginParetoRouter(components.ParetoRouterPlugin{/* values here */})

ResponseHealingPlugin

1messagesRequestPlugin := components.CreateMessagesRequestPluginResponseHealing(components.ResponseHealingPlugin{/* values here */})

WebSearchPlugin

1messagesRequestPlugin := components.CreateMessagesRequestPluginWeb(components.WebSearchPlugin{/* values here */})

WebFetchPlugin

1messagesRequestPlugin := components.CreateMessagesRequestPluginWebFetch(components.WebFetchPlugin{/* values here */})

Union Discrimination

Use the Type field to determine which variant is active, then access the corresponding field:

1switch messagesRequestPlugin.Type {
2 case components.MessagesRequestPluginTypeAutoRouter:
3 // messagesRequestPlugin.AutoRouterPlugin is populated
4 case components.MessagesRequestPluginTypeContextCompression:
5 // messagesRequestPlugin.ContextCompressionPlugin is populated
6 case components.MessagesRequestPluginTypeFileParser:
7 // messagesRequestPlugin.FileParserPlugin is populated
8 case components.MessagesRequestPluginTypeFusion:
9 // messagesRequestPlugin.FusionPlugin is populated
10 case components.MessagesRequestPluginTypeModeration:
11 // messagesRequestPlugin.ModerationPlugin is populated
12 case components.MessagesRequestPluginTypeParetoRouter:
13 // messagesRequestPlugin.ParetoRouterPlugin is populated
14 case components.MessagesRequestPluginTypeResponseHealing:
15 // messagesRequestPlugin.ResponseHealingPlugin is populated
16 case components.MessagesRequestPluginTypeWeb:
17 // messagesRequestPlugin.WebSearchPlugin is populated
18 case components.MessagesRequestPluginTypeWebFetch:
19 // messagesRequestPlugin.WebFetchPlugin is populated
20}