ResponsesRequestToolUnion - Go SDK
ResponsesRequestToolUnion type definition
The Go SDK and docs are currently in beta. Report issues on GitHub.
Supported Types
ResponsesRequestToolFunction
1 responsesRequestToolUnion := components.CreateResponsesRequestToolUnionFunction(components.ResponsesRequestToolFunction{/* values here */})
PreviewWebSearchServerTool
1 responsesRequestToolUnion := components.CreateResponsesRequestToolUnionWebSearchPreview(components.PreviewWebSearchServerTool{/* values here */})
Preview20250311WebSearchServerTool
1 responsesRequestToolUnion := components.CreateResponsesRequestToolUnionWebSearchPreview20250311(components.Preview20250311WebSearchServerTool{/* values here */})
LegacyWebSearchServerTool
1 responsesRequestToolUnion := components.CreateResponsesRequestToolUnionWebSearch(components.LegacyWebSearchServerTool{/* values here */})
WebSearchServerTool
1 responsesRequestToolUnion := components.CreateResponsesRequestToolUnionWebSearch20250826(components.WebSearchServerTool{/* values here */})
FileSearchServerTool
1 responsesRequestToolUnion := components.CreateResponsesRequestToolUnionFileSearch(components.FileSearchServerTool{/* values here */})
ComputerUseServerTool
1 responsesRequestToolUnion := components.CreateResponsesRequestToolUnionComputerUsePreview(components.ComputerUseServerTool{/* values here */})
CodeInterpreterServerTool
1 responsesRequestToolUnion := components.CreateResponsesRequestToolUnionCodeInterpreter(components.CodeInterpreterServerTool{/* values here */})
McpServerTool
1 responsesRequestToolUnion := components.CreateResponsesRequestToolUnionMcp(components.McpServerTool{/* values here */})
ImageGenerationServerTool
1 responsesRequestToolUnion := components.CreateResponsesRequestToolUnionImageGeneration(components.ImageGenerationServerTool{/* values here */})
CodexLocalShellTool
1 responsesRequestToolUnion := components.CreateResponsesRequestToolUnionLocalShell(components.CodexLocalShellTool{/* values here */})
ShellServerTool
1 responsesRequestToolUnion := components.CreateResponsesRequestToolUnionShell(components.ShellServerTool{/* values here */})
ApplyPatchServerTool
1 responsesRequestToolUnion := components.CreateResponsesRequestToolUnionApplyPatch(components.ApplyPatchServerTool{/* values here */})
CustomTool
1 responsesRequestToolUnion := components.CreateResponsesRequestToolUnionCustom(components.CustomTool{/* values here */})
DatetimeServerTool
1 responsesRequestToolUnion := components.CreateResponsesRequestToolUnionOpenrouterDatetime(components.DatetimeServerTool{/* values here */})
WebSearchServerToolOpenRouter
1 responsesRequestToolUnion := components.CreateResponsesRequestToolUnionOpenrouterWebSearch(components.WebSearchServerToolOpenRouter{/* values here */})
Union Discrimination
Use the Type field to determine which variant is active, then access the corresponding field:
1 switch responsesRequestToolUnion.Type { 2 case components.ResponsesRequestToolUnionTypeFunction: 3 // responsesRequestToolUnion.ResponsesRequestToolFunction is populated 4 case components.ResponsesRequestToolUnionTypeWebSearchPreview: 5 // responsesRequestToolUnion.PreviewWebSearchServerTool is populated 6 case components.ResponsesRequestToolUnionTypeWebSearchPreview20250311: 7 // responsesRequestToolUnion.Preview20250311WebSearchServerTool is populated 8 case components.ResponsesRequestToolUnionTypeWebSearch: 9 // responsesRequestToolUnion.LegacyWebSearchServerTool is populated 10 case components.ResponsesRequestToolUnionTypeWebSearch20250826: 11 // responsesRequestToolUnion.WebSearchServerTool is populated 12 case components.ResponsesRequestToolUnionTypeFileSearch: 13 // responsesRequestToolUnion.FileSearchServerTool is populated 14 case components.ResponsesRequestToolUnionTypeComputerUsePreview: 15 // responsesRequestToolUnion.ComputerUseServerTool is populated 16 case components.ResponsesRequestToolUnionTypeCodeInterpreter: 17 // responsesRequestToolUnion.CodeInterpreterServerTool is populated 18 case components.ResponsesRequestToolUnionTypeMcp: 19 // responsesRequestToolUnion.McpServerTool is populated 20 case components.ResponsesRequestToolUnionTypeImageGeneration: 21 // responsesRequestToolUnion.ImageGenerationServerTool is populated 22 case components.ResponsesRequestToolUnionTypeLocalShell: 23 // responsesRequestToolUnion.CodexLocalShellTool is populated 24 case components.ResponsesRequestToolUnionTypeShell: 25 // responsesRequestToolUnion.ShellServerTool is populated 26 case components.ResponsesRequestToolUnionTypeApplyPatch: 27 // responsesRequestToolUnion.ApplyPatchServerTool is populated 28 case components.ResponsesRequestToolUnionTypeCustom: 29 // responsesRequestToolUnion.CustomTool is populated 30 case components.ResponsesRequestToolUnionTypeOpenrouterDatetime: 31 // responsesRequestToolUnion.DatetimeServerTool is populated 32 case components.ResponsesRequestToolUnionTypeOpenrouterWebSearch: 33 // responsesRequestToolUnion.WebSearchServerToolOpenRouter is populated 34 }