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

# Data type validation

> Learn how to use the data type validation test

## Definition

The data type validation test allows you to set guardrails on the data types of your features.

## Taxonomy

* **Task types**: Tabular classification, tabular regression.
* **Availability**: development (Continuously evaluate your models and datasets as you iterate on their versions.)
  and monitoring (Monitor a model in production, measure its health, check for drifts and set up alerts.).

## Why it matters

* Detect data quality issues early by ensuring each feature has the expected data type.

## Test configuration examples

If you are writing a `tests.json`, here are a few valid configurations for the character length test:

```json Development theme={null}
[
  {
    "name": "Feature 'Age' is numeric",
    "description": "Asserts that the feature 'Age' is numeric",
    "type": "integrity",
    "subtype": "dtypeValidation",
    "thresholds": [
      {
        "insightName": "featureProfile",
        "insightParameters": [{ "name": "name", "value": "Age" }],
        "measurement": "dtype",
        "operator": "is",
        "value": "Numeric"
      }
    ],
    "subpopulationFilters": null,
    "mode": "development",
    "usesValidationDataset": true,
    "usesTrainingDataset": false,
    "usesMlModel": false,
    "syncId": "b4dee7dc-4f15-48ca-a282-63e2c04e0689"
  },
  {
    "name": "Feature 'Geography' is categorical",
    "description": "Asserts that the feature 'Geography' is categorical",
    "type": "integrity",
    "subtype": "dtypeValidation",
    "thresholds": [
      {
        "insightName": "featureProfile",
        "insightParameters": [{ "name": "name", "value": "Geography" }],
        "measurement": "dtype",
        "operator": "is",
        "value": "Categorical"
      }
    ],
    "subpopulationFilters": null,
    "mode": "development",
    "usesValidationDataset": true,
    "usesTrainingDataset": false,
    "usesMlModel": false,
    "syncId": "96622fba-ea00-4e42-8f42-5e8f5f60805f"
  }
]
```

```json Monitoring theme={null}
[
  {
    "name": "Feature 'Age' is numeric",
    "description": "Asserts that the feature 'Age' is numeric",
    "type": "integrity",
    "subtype": "dtypeValidation",
    "thresholds": [
      {
        "insightName": "featureProfile",
        "insightParameters": [{ "name": "name", "value": "Age" }],
        "measurement": "dtype",
        "operator": "is",
        "value": "Numeric"
      }
    ],
    "subpopulationFilters": null,
    "mode": "monitoring",
    "usesProductionData": true,
    "evaluationWindow": 3600,
    "delayWindow": 0,
    "syncId": "b4dee7dc-4f15-48ca-a282-63e2c04e0689"
  },
  {
    "name": "Feature 'Geography' is categorical",
    "description": "Asserts that the feature 'Geography' is categorical",
    "type": "integrity",
    "subtype": "dtypeValidation",
    "thresholds": [
      {
        "insightName": "featureProfile",
        "insightParameters": [{ "name": "name", "value": "Geography" }],
        "measurement": "dtype",
        "operator": "is",
        "value": "Categorical"
      }
    ],
    "subpopulationFilters": null,
    "mode": "monitoring",
    "usesProductionData": true,
    "evaluationWindow": 3600,
    "delayWindow": 0,
    "syncId": "96622fba-ea00-4e42-8f42-5e8f5f60805f"
  }
]
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.