ResponsesRequestToolUnion - Go SDK

ResponsesRequestToolUnion type definition

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

Supported Types

ResponsesRequestToolFunction

1responsesRequestToolUnion := components.CreateResponsesRequestToolUnionFunction(components.ResponsesRequestToolFunction{/* values here */})

PreviewWebSearchServerTool

1responsesRequestToolUnion := components.CreateResponsesRequestToolUnionWebSearchPreview(components.PreviewWebSearchServerTool{/* values here */})

Preview20250311WebSearchServerTool

1responsesRequestToolUnion := components.CreateResponsesRequestToolUnionWebSearchPreview20250311(components.Preview20250311WebSearchServerTool{/* values here */})

LegacyWebSearchServerTool

1responsesRequestToolUnion := components.CreateResponsesRequestToolUnionWebSearch(components.LegacyWebSearchServerTool{/* values here */})

WebSearchServerTool

1responsesRequestToolUnion := components.CreateResponsesRequestToolUnionWebSearch20250826(components.WebSearchServerTool{/* values here */})

FileSearchServerTool

1responsesRequestToolUnion := components.CreateResponsesRequestToolUnionFileSearch(components.FileSearchServerTool{/* values here */})

ComputerUseServerTool

1responsesRequestToolUnion := components.CreateResponsesRequestToolUnionComputerUsePreview(components.ComputerUseServerTool{/* values here */})

CodeInterpreterServerTool

1responsesRequestToolUnion := components.CreateResponsesRequestToolUnionCodeInterpreter(components.CodeInterpreterServerTool{/* values here */})

McpServerTool

1responsesRequestToolUnion := components.CreateResponsesRequestToolUnionMcp(components.McpServerTool{/* values here */})

ImageGenerationServerTool

1responsesRequestToolUnion := components.CreateResponsesRequestToolUnionImageGeneration(components.ImageGenerationServerTool{/* values here */})

CodexLocalShellTool

1responsesRequestToolUnion := components.CreateResponsesRequestToolUnionLocalShell(components.CodexLocalShellTool{/* values here */})

ShellServerTool

1responsesRequestToolUnion := components.CreateResponsesRequestToolUnionShell(components.ShellServerTool{/* values here */})

ApplyPatchServerTool

1responsesRequestToolUnion := components.CreateResponsesRequestToolUnionApplyPatch(components.ApplyPatchServerTool{/* values here */})

CustomTool

1responsesRequestToolUnion := components.CreateResponsesRequestToolUnionCustom(components.CustomTool{/* values here */})

DatetimeServerTool

1responsesRequestToolUnion := components.CreateResponsesRequestToolUnionOpenrouterDatetime(components.DatetimeServerTool{/* values here */})

WebSearchServerToolOpenRouter

1responsesRequestToolUnion := components.CreateResponsesRequestToolUnionOpenrouterWebSearch(components.WebSearchServerToolOpenRouter{/* values here */})

Union Discrimination

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

1switch 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}