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

# ContentPartDoneEventPart - Go SDK

> ContentPartDoneEventPart type definition

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

## Supported Types

### ResponseOutputText

```go lines theme={null}
contentPartDoneEventPart := components.CreateContentPartDoneEventPartOutputText(components.ResponseOutputText{/* values here */})
```

### ReasoningTextContent

```go lines theme={null}
contentPartDoneEventPart := components.CreateContentPartDoneEventPartReasoningText(components.ReasoningTextContent{/* values here */})
```

### OpenAIResponsesRefusalContent

```go lines theme={null}
contentPartDoneEventPart := components.CreateContentPartDoneEventPartRefusal(components.OpenAIResponsesRefusalContent{/* values here */})
```

## Union Discrimination

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

```go lines theme={null}
switch contentPartDoneEventPart.Type {
	case components.ContentPartDoneEventPartTypeOutputText:
		// contentPartDoneEventPart.ResponseOutputText is populated
	case components.ContentPartDoneEventPartTypeReasoningText:
		// contentPartDoneEventPart.ReasoningTextContent is populated
	case components.ContentPartDoneEventPartTypeRefusal:
		// contentPartDoneEventPart.OpenAIResponsesRefusalContent is populated
	default:
		// Unknown type - use contentPartDoneEventPart.GetUnknownRaw() for raw JSON
}
```
