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

# Body

## Supported Types

### BodyChatCompletion

```go theme={null}
body := components.CreateBodyBodyChatCompletion(components.BodyChatCompletion{/* values here */})
```

### OpenResponsesResult

```go theme={null}
body := components.CreateBodyOpenResponsesResult(components.OpenResponsesResult{/* values here */})
```

### BodyMessage

```go theme={null}
body := components.CreateBodyBodyMessage(components.BodyMessage{/* values here */})
```

### BodyList

```go theme={null}
body := components.CreateBodyBodyList(components.BodyList{/* values here */})
```

## Union Discrimination

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

```go theme={null}
switch body.Type {
	case components.BodyTypeBodyChatCompletion:
		// body.BodyChatCompletion is populated
	case components.BodyTypeOpenResponsesResult:
		// body.OpenResponsesResult is populated
	case components.BodyTypeBodyMessage:
		// body.BodyMessage is populated
	case components.BodyTypeBodyList:
		// body.BodyList is populated
}
```
