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
        • MessagesRequestToolUnion
      • 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
  • ToolCustom
  • ToolBash20250124
  • ToolTextEditor20250124
  • ToolWebSearch20250305
  • ToolWebSearch20260209
  • ToolAdvisor20260301
  • DatetimeServerTool
  • ImageGenerationServerToolOpenRouter
  • ChatSearchModelsServerTool
  • WebFetchServerTool
  • OpenRouterWebSearchServerTool
  • MessagesRequestTool
  • Union Discrimination
Go SDKAPI ReferenceModels

MessagesRequestToolUnion - Go SDK

MessagesRequestToolUnion 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

ToolCustom

1messagesRequestToolUnion := components.CreateMessagesRequestToolUnionToolCustom(components.ToolCustom{/* values here */})

ToolBash20250124

1messagesRequestToolUnion := components.CreateMessagesRequestToolUnionToolBash20250124(components.ToolBash20250124{/* values here */})

ToolTextEditor20250124

1messagesRequestToolUnion := components.CreateMessagesRequestToolUnionToolTextEditor20250124(components.ToolTextEditor20250124{/* values here */})

ToolWebSearch20250305

1messagesRequestToolUnion := components.CreateMessagesRequestToolUnionToolWebSearch20250305(components.ToolWebSearch20250305{/* values here */})

ToolWebSearch20260209

1messagesRequestToolUnion := components.CreateMessagesRequestToolUnionToolWebSearch20260209(components.ToolWebSearch20260209{/* values here */})

ToolAdvisor20260301

1messagesRequestToolUnion := components.CreateMessagesRequestToolUnionToolAdvisor20260301(components.ToolAdvisor20260301{/* values here */})

DatetimeServerTool

1messagesRequestToolUnion := components.CreateMessagesRequestToolUnionDatetimeServerTool(components.DatetimeServerTool{/* values here */})

ImageGenerationServerToolOpenRouter

1messagesRequestToolUnion := components.CreateMessagesRequestToolUnionImageGenerationServerToolOpenRouter(components.ImageGenerationServerToolOpenRouter{/* values here */})

ChatSearchModelsServerTool

1messagesRequestToolUnion := components.CreateMessagesRequestToolUnionChatSearchModelsServerTool(components.ChatSearchModelsServerTool{/* values here */})

WebFetchServerTool

1messagesRequestToolUnion := components.CreateMessagesRequestToolUnionWebFetchServerTool(components.WebFetchServerTool{/* values here */})

OpenRouterWebSearchServerTool

1messagesRequestToolUnion := components.CreateMessagesRequestToolUnionOpenRouterWebSearchServerTool(components.OpenRouterWebSearchServerTool{/* values here */})

MessagesRequestTool

1messagesRequestToolUnion := components.CreateMessagesRequestToolUnionMessagesRequestTool(components.MessagesRequestTool{/* values here */})

Union Discrimination

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

1switch messagesRequestToolUnion.Type {
2 case components.MessagesRequestToolUnionTypeToolCustom:
3 // messagesRequestToolUnion.ToolCustom is populated
4 case components.MessagesRequestToolUnionTypeToolBash20250124:
5 // messagesRequestToolUnion.ToolBash20250124 is populated
6 case components.MessagesRequestToolUnionTypeToolTextEditor20250124:
7 // messagesRequestToolUnion.ToolTextEditor20250124 is populated
8 case components.MessagesRequestToolUnionTypeToolWebSearch20250305:
9 // messagesRequestToolUnion.ToolWebSearch20250305 is populated
10 case components.MessagesRequestToolUnionTypeToolWebSearch20260209:
11 // messagesRequestToolUnion.ToolWebSearch20260209 is populated
12 case components.MessagesRequestToolUnionTypeToolAdvisor20260301:
13 // messagesRequestToolUnion.ToolAdvisor20260301 is populated
14 case components.MessagesRequestToolUnionTypeDatetimeServerTool:
15 // messagesRequestToolUnion.DatetimeServerTool is populated
16 case components.MessagesRequestToolUnionTypeImageGenerationServerToolOpenRouter:
17 // messagesRequestToolUnion.ImageGenerationServerToolOpenRouter is populated
18 case components.MessagesRequestToolUnionTypeChatSearchModelsServerTool:
19 // messagesRequestToolUnion.ChatSearchModelsServerTool is populated
20 case components.MessagesRequestToolUnionTypeWebFetchServerTool:
21 // messagesRequestToolUnion.WebFetchServerTool is populated
22 case components.MessagesRequestToolUnionTypeOpenRouterWebSearchServerTool:
23 // messagesRequestToolUnion.OpenRouterWebSearchServerTool is populated
24 case components.MessagesRequestToolUnionTypeMessagesRequestTool:
25 // messagesRequestToolUnion.MessagesRequestTool is populated
26}