OpenResponsesResultToolUnion - Go SDK

OpenResponsesResultToolUnion type definition

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

Supported Types

OpenResponsesResultToolFunction

1openResponsesResultToolUnion := components.CreateOpenResponsesResultToolUnionFunction(components.OpenResponsesResultToolFunction{/* values here */})

PreviewWebSearchServerTool

1openResponsesResultToolUnion := components.CreateOpenResponsesResultToolUnionWebSearchPreview(components.PreviewWebSearchServerTool{/* values here */})

Preview20250311WebSearchServerTool

1openResponsesResultToolUnion := components.CreateOpenResponsesResultToolUnionWebSearchPreview20250311(components.Preview20250311WebSearchServerTool{/* values here */})

LegacyWebSearchServerTool

1openResponsesResultToolUnion := components.CreateOpenResponsesResultToolUnionWebSearch(components.LegacyWebSearchServerTool{/* values here */})

WebSearchServerTool

1openResponsesResultToolUnion := components.CreateOpenResponsesResultToolUnionWebSearch20250826(components.WebSearchServerTool{/* values here */})

FileSearchServerTool

1openResponsesResultToolUnion := components.CreateOpenResponsesResultToolUnionFileSearch(components.FileSearchServerTool{/* values here */})

ComputerUseServerTool

1openResponsesResultToolUnion := components.CreateOpenResponsesResultToolUnionComputerUsePreview(components.ComputerUseServerTool{/* values here */})

CodeInterpreterServerTool

1openResponsesResultToolUnion := components.CreateOpenResponsesResultToolUnionCodeInterpreter(components.CodeInterpreterServerTool{/* values here */})

McpServerTool

1openResponsesResultToolUnion := components.CreateOpenResponsesResultToolUnionMcp(components.McpServerTool{/* values here */})

ImageGenerationServerTool

1openResponsesResultToolUnion := components.CreateOpenResponsesResultToolUnionImageGeneration(components.ImageGenerationServerTool{/* values here */})

CodexLocalShellTool

1openResponsesResultToolUnion := components.CreateOpenResponsesResultToolUnionLocalShell(components.CodexLocalShellTool{/* values here */})

ShellServerTool

1openResponsesResultToolUnion := components.CreateOpenResponsesResultToolUnionShell(components.ShellServerTool{/* values here */})

ApplyPatchServerTool

1openResponsesResultToolUnion := components.CreateOpenResponsesResultToolUnionApplyPatch(components.ApplyPatchServerTool{/* values here */})

CustomTool

1openResponsesResultToolUnion := components.CreateOpenResponsesResultToolUnionCustom(components.CustomTool{/* values here */})

Union Discrimination

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

1switch openResponsesResultToolUnion.Type {
2 case components.OpenResponsesResultToolUnionTypeFunction:
3 // openResponsesResultToolUnion.OpenResponsesResultToolFunction is populated
4 case components.OpenResponsesResultToolUnionTypeWebSearchPreview:
5 // openResponsesResultToolUnion.PreviewWebSearchServerTool is populated
6 case components.OpenResponsesResultToolUnionTypeWebSearchPreview20250311:
7 // openResponsesResultToolUnion.Preview20250311WebSearchServerTool is populated
8 case components.OpenResponsesResultToolUnionTypeWebSearch:
9 // openResponsesResultToolUnion.LegacyWebSearchServerTool is populated
10 case components.OpenResponsesResultToolUnionTypeWebSearch20250826:
11 // openResponsesResultToolUnion.WebSearchServerTool is populated
12 case components.OpenResponsesResultToolUnionTypeFileSearch:
13 // openResponsesResultToolUnion.FileSearchServerTool is populated
14 case components.OpenResponsesResultToolUnionTypeComputerUsePreview:
15 // openResponsesResultToolUnion.ComputerUseServerTool is populated
16 case components.OpenResponsesResultToolUnionTypeCodeInterpreter:
17 // openResponsesResultToolUnion.CodeInterpreterServerTool is populated
18 case components.OpenResponsesResultToolUnionTypeMcp:
19 // openResponsesResultToolUnion.McpServerTool is populated
20 case components.OpenResponsesResultToolUnionTypeImageGeneration:
21 // openResponsesResultToolUnion.ImageGenerationServerTool is populated
22 case components.OpenResponsesResultToolUnionTypeLocalShell:
23 // openResponsesResultToolUnion.CodexLocalShellTool is populated
24 case components.OpenResponsesResultToolUnionTypeShell:
25 // openResponsesResultToolUnion.ShellServerTool is populated
26 case components.OpenResponsesResultToolUnionTypeApplyPatch:
27 // openResponsesResultToolUnion.ApplyPatchServerTool is populated
28 case components.OpenResponsesResultToolUnionTypeCustom:
29 // openResponsesResultToolUnion.CustomTool is populated
30 default:
31 // Unknown type - use openResponsesResultToolUnion.GetUnknownRaw() for raw JSON
32}