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