> ## 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 } ```