> ## 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. # AnthropicUsageIteration ## Supported Types ### AnthropicCompactionUsageIteration ```go theme={null} anthropicUsageIteration := components.CreateAnthropicUsageIterationAnthropicCompactionUsageIteration(components.AnthropicCompactionUsageIteration{/* values here */}) ``` ### AnthropicMessageUsageIteration ```go theme={null} anthropicUsageIteration := components.CreateAnthropicUsageIterationAnthropicMessageUsageIteration(components.AnthropicMessageUsageIteration{/* values here */}) ``` ### AnthropicAdvisorMessageUsageIteration ```go theme={null} anthropicUsageIteration := components.CreateAnthropicUsageIterationAnthropicAdvisorMessageUsageIteration(components.AnthropicAdvisorMessageUsageIteration{/* values here */}) ``` ### AnthropicUnknownUsageIteration ```go theme={null} anthropicUsageIteration := components.CreateAnthropicUsageIterationAnthropicUnknownUsageIteration(components.AnthropicUnknownUsageIteration{/* values here */}) ``` ## Union Discrimination Use the `Type` field to determine which variant is active, then access the corresponding field: ```go theme={null} switch anthropicUsageIteration.Type { case components.AnthropicUsageIterationTypeAnthropicCompactionUsageIteration: // anthropicUsageIteration.AnthropicCompactionUsageIteration is populated case components.AnthropicUsageIterationTypeAnthropicMessageUsageIteration: // anthropicUsageIteration.AnthropicMessageUsageIteration is populated case components.AnthropicUsageIterationTypeAnthropicAdvisorMessageUsageIteration: // anthropicUsageIteration.AnthropicAdvisorMessageUsageIteration is populated case components.AnthropicUsageIterationTypeAnthropicUnknownUsageIteration: // anthropicUsageIteration.AnthropicUnknownUsageIteration is populated } ```