> ## Documentation Index
> Fetch the complete documentation index at: https://openrouter-d02e98a0-mintlify-5b6e02fd.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# ReasoningDetailUnion - Go SDK

> ReasoningDetailUnion type definition

<Warning>
  The Go SDK and docs are currently in beta.
  Report issues on [GitHub](https://github.com/OpenRouterTeam/go-sdk/issues).
</Warning>

Reasoning detail union schema

## Supported Types

### ReasoningDetailEncrypted

```go lines theme={null}
reasoningDetailUnion := components.CreateReasoningDetailUnionReasoningEncrypted(components.ReasoningDetailEncrypted{/* values here */})
```

### ReasoningDetailSummary

```go lines theme={null}
reasoningDetailUnion := components.CreateReasoningDetailUnionReasoningSummary(components.ReasoningDetailSummary{/* values here */})
```

### ReasoningDetailText

```go lines theme={null}
reasoningDetailUnion := components.CreateReasoningDetailUnionReasoningText(components.ReasoningDetailText{/* values here */})
```

## Union Discrimination

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

```go lines theme={null}
switch reasoningDetailUnion.Type {
	case components.ReasoningDetailUnionTypeReasoningEncrypted:
		// reasoningDetailUnion.ReasoningDetailEncrypted is populated
	case components.ReasoningDetailUnionTypeReasoningSummary:
		// reasoningDetailUnion.ReasoningDetailSummary is populated
	case components.ReasoningDetailUnionTypeReasoningText:
		// reasoningDetailUnion.ReasoningDetailText is populated
	default:
		// Unknown type - use reasoningDetailUnion.GetUnknownRaw() for raw JSON
}
```
