Skip to main content
The Go SDK and docs are currently in beta. Report issues on GitHub.

Supported Types

OutputReasoningItemStatusCompleted

outputReasoningItemStatusUnion := components.CreateOutputReasoningItemStatusUnionOutputReasoningItemStatusCompleted(components.OutputReasoningItemStatusCompleted{/* values here */})

OutputReasoningItemStatusIncomplete

outputReasoningItemStatusUnion := components.CreateOutputReasoningItemStatusUnionOutputReasoningItemStatusIncomplete(components.OutputReasoningItemStatusIncomplete{/* values here */})

OutputReasoningItemStatusInProgress

outputReasoningItemStatusUnion := components.CreateOutputReasoningItemStatusUnionOutputReasoningItemStatusInProgress(components.OutputReasoningItemStatusInProgress{/* values here */})

Union Discrimination

Use the Type field to determine which variant is active, then access the corresponding field:
switch outputReasoningItemStatusUnion.Type {
	case components.OutputReasoningItemStatusUnionTypeOutputReasoningItemStatusCompleted:
		// outputReasoningItemStatusUnion.OutputReasoningItemStatusCompleted is populated
	case components.OutputReasoningItemStatusUnionTypeOutputReasoningItemStatusIncomplete:
		// outputReasoningItemStatusUnion.OutputReasoningItemStatusIncomplete is populated
	case components.OutputReasoningItemStatusUnionTypeOutputReasoningItemStatusInProgress:
		// outputReasoningItemStatusUnion.OutputReasoningItemStatusInProgress is populated
}