> ## 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.

# EasyInputMessagePhaseUnion - Go SDK

> EasyInputMessagePhaseUnion type definition

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

The phase of an assistant message. Use `commentary` for an intermediate assistant message and `final_answer` for the final assistant message. For follow-up requests with models like `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages. Omitting it can degrade performance. Not used for user messages.

## Supported Types

### EasyInputMessagePhaseCommentary

```go lines theme={null}
easyInputMessagePhaseUnion := components.CreateEasyInputMessagePhaseUnionEasyInputMessagePhaseCommentary(components.EasyInputMessagePhaseCommentary{/* values here */})
```

### EasyInputMessagePhaseFinalAnswer

```go lines theme={null}
easyInputMessagePhaseUnion := components.CreateEasyInputMessagePhaseUnionEasyInputMessagePhaseFinalAnswer(components.EasyInputMessagePhaseFinalAnswer{/* values here */})
```

###

```go lines theme={null}
easyInputMessagePhaseUnion := components.CreateEasyInputMessagePhaseUnionAny(any{/* values here */})
```

## Union Discrimination

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

```go lines theme={null}
switch easyInputMessagePhaseUnion.Type {
	case components.EasyInputMessagePhaseUnionTypeEasyInputMessagePhaseCommentary:
		// easyInputMessagePhaseUnion.EasyInputMessagePhaseCommentary is populated
	case components.EasyInputMessagePhaseUnionTypeEasyInputMessagePhaseFinalAnswer:
		// easyInputMessagePhaseUnion.EasyInputMessagePhaseFinalAnswer is populated
	case components.EasyInputMessagePhaseUnionTypeAny:
		// easyInputMessagePhaseUnion.Any is populated
}
```
