> ## 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. # Fields A typed field to extract, compute, estimate or forecast from the state. Which types a model answers is model-specific; unsupported types are rejected with 400. ## Supported Types ### ExtractionDateField ```go theme={null} fields := components.CreateFieldsDate(components.ExtractionDateField{/* values here */}) ``` ### ExtractionDatetimeField ```go theme={null} fields := components.CreateFieldsDatetime(components.ExtractionDatetimeField{/* values here */}) ``` ### ExtractionDurationField ```go theme={null} fields := components.CreateFieldsDuration(components.ExtractionDurationField{/* values here */}) ``` ### ExtractionEstimateField ```go theme={null} fields := components.CreateFieldsEstimate(components.ExtractionEstimateField{/* values here */}) ``` ### ExtractionForecastField ```go theme={null} fields := components.CreateFieldsForecast(components.ExtractionForecastField{/* values here */}) ``` ### ExtractionListField ```go theme={null} fields := components.CreateFieldsList(components.ExtractionListField{/* values here */}) ``` ### ExtractionNumberField ```go theme={null} fields := components.CreateFieldsNumber(components.ExtractionNumberField{/* values here */}) ``` ### ExtractionTextField ```go theme={null} fields := components.CreateFieldsText(components.ExtractionTextField{/* values here */}) ``` ### ExtractionTimeField ```go theme={null} fields := components.CreateFieldsTime(components.ExtractionTimeField{/* values here */}) ``` ## Union Discrimination Use the `Type` field to determine which variant is active, then access the corresponding field: ```go theme={null} switch fields.Type { case components.FieldsTypeDate: // fields.ExtractionDateField is populated case components.FieldsTypeDatetime: // fields.ExtractionDatetimeField is populated case components.FieldsTypeDuration: // fields.ExtractionDurationField is populated case components.FieldsTypeEstimate: // fields.ExtractionEstimateField is populated case components.FieldsTypeForecast: // fields.ExtractionForecastField is populated case components.FieldsTypeList: // fields.ExtractionListField is populated case components.FieldsTypeNumber: // fields.ExtractionNumberField is populated case components.FieldsTypeText: // fields.ExtractionTextField is populated case components.FieldsTypeTime: // fields.ExtractionTimeField is populated } ```