---
title: Schema Validation
---

[Skip to content](#_top)

[API Reference](https://developers.cloudflare.com/api/terraform)

Copy Markdown

Open in **Claude**Open in **ChatGPT**Open in **Cursor**

---

**Copy Markdown****View as Markdown**

# Schema Validation

#### Schema ValidationSchemas

#### resource cloudflare\_schema\_validation\_schemas

##### required Expand Collapse

zone\_id: String

Identifier.

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20resource)%20%3E%20(attribute)%20zone_id>)

kind: String

The kind of the schema

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20resource)%20%3E%20(attribute)%20kind>)

name: String

A human-readable name for the schema

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20resource)%20%3E%20(attribute)%20name>)

source: String

The raw schema, e.g., the OpenAPI schema, either as JSON or YAML

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20resource)%20%3E%20(attribute)%20source>)

validation\_enabled: Bool

An indicator if this schema is enabled

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20resource)%20%3E%20(attribute)%20validation_enabled>)

##### computed Expand Collapse

id: String

A unique identifier of this schema

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20resource)%20%3E%20(attribute)%20id>)

schema\_id: String

A unique identifier of this schema

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20resource)%20%3E%20(attribute)%20schema_id>)

created\_at: Time

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20resource)%20%3E%20(attribute)%20created_at>)

### cloudflare\_schema\_validation\_schemas

Terraform

HTTPTypeScriptPythonGoTerraform

```
resource "cloudflare_schema_validation_schemas" "example_schema_validation_schemas" {
  zone_id = "023e105f4ecef8ad9ca31a8372d0c353"
  kind = "openapi_v3"
  name = "petstore schema"
  source = "<schema file contents>"
  validation_enabled = true
}
```

#### data cloudflare\_schema\_validation\_schemas

##### required Expand Collapse

zone\_id: String

Identifier.

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-single)%20%3E%20(attribute)%20zone_id>)

##### optional Expand Collapse

schema\_id?: String

UUID.

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-single)%20%3E%20(attribute)%20schema_id>)

omit\_source?: Bool

Omit the source-files of schemas and only retrieve their meta-data.

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-single)%20%3E%20(attribute)%20omit_source>)

<details>

<summary>

filter?: Attributes

</summary>

validation\_enabled?: Bool

Filter for enabled schemas

<a href="#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-single)%20%3E%20(attribute)%20filter%20%3E%20(attribute)%20validation_enabled">Link to this property</a>

</details>

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-single)%20%3E%20(attribute)%20filter>)

##### computed Expand Collapse

id: String

UUID.

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-single)%20%3E%20(attribute)%20id>)

created\_at: Time

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-single)%20%3E%20(attribute)%20created_at>)

kind: String

The kind of the schema

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-single)%20%3E%20(attribute)%20kind>)

name: String

A human-readable name for the schema

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-single)%20%3E%20(attribute)%20name>)

source: String

The raw schema, e.g., the OpenAPI schema, either as JSON or YAML

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-single)%20%3E%20(attribute)%20source>)

validation\_enabled: Bool

An indicator if this schema is enabled

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-single)%20%3E%20(attribute)%20validation_enabled>)

### cloudflare\_schema\_validation\_schemas

Terraform

HTTPTypeScriptPythonGoTerraform

```
data "cloudflare_schema_validation_schemas" "example_schema_validation_schemas" {
  zone_id = "023e105f4ecef8ad9ca31a8372d0c353"
  schema_id = "f174e90a-fafe-4643-bbbc-4a0ed4fc8415"
  omit_source = true
}
```

#### data cloudflare\_schema\_validation\_schemas\_list

##### required Expand Collapse

zone\_id: String

Identifier.

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-plural)%20%3E%20(attribute)%20zone_id>)

##### optional Expand Collapse

validation\_enabled?: Bool

Filter for enabled schemas

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-plural)%20%3E%20(attribute)%20validation_enabled>)

omit\_source?: Bool

Omit the source-files of schemas and only retrieve their meta-data.

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-plural)%20%3E%20(attribute)%20omit_source>)

max\_items?: Int64

Max items to fetch, default: 1000

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-plural)%20%3E%20(attribute)%20max_items>)

##### computed Expand Collapse

<details>

<summary>

result: List\[Attributes]

The items returned by the data source

</summary>

id: String

A unique identifier of this schema

<a href="#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-plural)%20%3E%20(attribute)%20result%20%3E%20(attribute)%20id">Link to this property</a>

created\_at: Time

<a href="#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-plural)%20%3E%20(attribute)%20result%20%3E%20(attribute)%20created_at">Link to this property</a>

kind: String

The kind of the schema

<a href="#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-plural)%20%3E%20(attribute)%20result%20%3E%20(attribute)%20kind">Link to this property</a>

name: String

A human-readable name for the schema

<a href="#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-plural)%20%3E%20(attribute)%20result%20%3E%20(attribute)%20name">Link to this property</a>

schema\_id: String

A unique identifier of this schema

<a href="#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-plural)%20%3E%20(attribute)%20result%20%3E%20(attribute)%20schema_id">Link to this property</a>

source: String

The raw schema, e.g., the OpenAPI schema, either as JSON or YAML

<a href="#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-plural)%20%3E%20(attribute)%20result%20%3E%20(attribute)%20source">Link to this property</a>

validation\_enabled: Bool

An indicator if this schema is enabled

<a href="#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-plural)%20%3E%20(attribute)%20result%20%3E%20(attribute)%20validation_enabled">Link to this property</a>

</details>

[Link to this property](<#(resource)%20schema_validation.schemas%20%3E%20(terraform%20datasource-plural)%20%3E%20(attribute)%20result>)

### cloudflare\_schema\_validation\_schemas\_list

Terraform

HTTPTypeScriptPythonGoTerraform

```
data "cloudflare_schema_validation_schemas_list" "example_schema_validation_schemas_list" {
  zone_id = "023e105f4ecef8ad9ca31a8372d0c353"
  validation_enabled = true
}
```

#### Schema ValidationSettings

#### resource cloudflare\_schema\_validation\_settings

##### required Expand Collapse

zone\_id: String

Identifier.

[Link to this property](<#(resource)%20schema_validation.settings%20%3E%20(terraform%20resource)%20%3E%20(attribute)%20zone_id>)

validation\_default\_mitigation\_action: String

The default mitigation action used Mitigation actions are as follows:

- `"log"` - log request when request does not conform to schema
- `"block"` - deny access to the site when request does not conform to schema
- `"none"` - skip running schema validation

[Link to this property](<#(resource)%20schema_validation.settings%20%3E%20(terraform%20resource)%20%3E%20(attribute)%20validation_default_mitigation_action>)

##### optional Expand Collapse

validation\_override\_mitigation\_action?: String

When set, this overrides both zone level and operation level mitigation actions.

- `"none"` - skip running schema validation entirely for the request
- `null` - clears any existing override

[Link to this property](<#(resource)%20schema_validation.settings%20%3E%20(terraform%20resource)%20%3E%20(attribute)%20validation_override_mitigation_action>)

### cloudflare\_schema\_validation\_settings

Terraform

HTTPTypeScriptPythonGoTerraform

```
resource "cloudflare_schema_validation_settings" "example_schema_validation_settings" {
  zone_id = "023e105f4ecef8ad9ca31a8372d0c353"
  validation_default_mitigation_action = "block"
  validation_override_mitigation_action = "none"
}
```

#### data cloudflare\_schema\_validation\_settings

##### required Expand Collapse

zone\_id: String

Identifier.

[Link to this property](<#(resource)%20schema_validation.settings%20%3E%20(terraform%20datasource-single)%20%3E%20(attribute)%20zone_id>)

##### computed Expand Collapse

validation\_default\_mitigation\_action: String

The default mitigation action used

Mitigation actions are as follows:

- `log` - log request when request does not conform to schema
- `block` - deny access to the site when request does not conform to schema
- `none` - skip running schema validation

[Link to this property](<#(resource)%20schema_validation.settings%20%3E%20(terraform%20datasource-single)%20%3E%20(attribute)%20validation_default_mitigation_action>)

validation\_override\_mitigation\_action: String

When not null, this overrides global both zone level and operation level mitigation actions. This can serve as a quick way to disable schema validation for the whole zone.

- `"none"` will skip running schema validation entirely for the request

[Link to this property](<#(resource)%20schema_validation.settings%20%3E%20(terraform%20datasource-single)%20%3E%20(attribute)%20validation_override_mitigation_action>)

### cloudflare\_schema\_validation\_settings

Terraform

HTTPTypeScriptPythonGoTerraform

```
data "cloudflare_schema_validation_settings" "example_schema_validation_settings" {
  zone_id = "023e105f4ecef8ad9ca31a8372d0c353"
}
```

#### Schema ValidationSettingsOperations

#### resource cloudflare\_schema\_validation\_operation\_settings

##### required Expand Collapse

operation\_id: String

UUID.

[Link to this property](<#(resource)%20schema_validation.settings.operations%20%3E%20(terraform%20resource)%20%3E%20(attribute)%20operation_id>)

zone\_id: String

Identifier.

[Link to this property](<#(resource)%20schema_validation.settings.operations%20%3E%20(terraform%20resource)%20%3E%20(attribute)%20zone_id>)

mitigation\_action: String

When set, this applies a mitigation action to this operation

- `"log"` - log request when request does not conform to schema for this operation
- `"block"` - deny access to the site when request does not conform to schema for this operation
- `"none"` - will skip mitigation for this operation
- `null` - clears any mitigation action

[Link to this property](<#(resource)%20schema_validation.settings.operations%20%3E%20(terraform%20resource)%20%3E%20(attribute)%20mitigation_action>)

### cloudflare\_schema\_validation\_operation\_settings

Terraform

HTTPTypeScriptPythonGoTerraform

```
resource "cloudflare_schema_validation_operation_settings" "example_schema_validation_operation_settings" {
  zone_id = "023e105f4ecef8ad9ca31a8372d0c353"
  operation_id = "f174e90a-fafe-4643-bbbc-4a0ed4fc8415"
  mitigation_action = "block"
}
```

#### data cloudflare\_schema\_validation\_operation\_settings

##### required Expand Collapse

operation\_id: String

UUID.

[Link to this property](<#(resource)%20schema_validation.settings.operations%20%3E%20(terraform%20datasource-single)%20%3E%20(attribute)%20operation_id>)

zone\_id: String

Identifier.

[Link to this property](<#(resource)%20schema_validation.settings.operations%20%3E%20(terraform%20datasource-single)%20%3E%20(attribute)%20zone_id>)

##### computed Expand Collapse

mitigation\_action: String

When set, this applies a mitigation action to this operation which supersedes a global schema validation setting just for this operation

- `"log"` - log request when request does not conform to schema for this operation
- `"block"` - deny access to the site when request does not conform to schema for this operation
- `"none"` - will skip mitigation for this operation

[Link to this property](<#(resource)%20schema_validation.settings.operations%20%3E%20(terraform%20datasource-single)%20%3E%20(attribute)%20mitigation_action>)

### cloudflare\_schema\_validation\_operation\_settings

Terraform

HTTPTypeScriptPythonGoTerraform

```
data "cloudflare_schema_validation_operation_settings" "example_schema_validation_operation_settings" {
  zone_id = "023e105f4ecef8ad9ca31a8372d0c353"
  operation_id = "f174e90a-fafe-4643-bbbc-4a0ed4fc8415"
}
```

#### data cloudflare\_schema\_validation\_operation\_settings\_list

##### required Expand Collapse

zone\_id: String

Identifier.

[Link to this property](<#(resource)%20schema_validation.settings.operations%20%3E%20(terraform%20datasource-plural)%20%3E%20(attribute)%20zone_id>)

##### optional Expand Collapse

max\_items?: Int64

Max items to fetch, default: 1000

[Link to this property](<#(resource)%20schema_validation.settings.operations%20%3E%20(terraform%20datasource-plural)%20%3E%20(attribute)%20max_items>)

##### computed Expand Collapse

<details>

<summary>

result: List\[Attributes]

The items returned by the data source

</summary>

mitigation\_action: String

When set, this applies a mitigation action to this operation which supersedes a global schema validation setting just for this operation

- <code>"log"</code> - log request when request does not conform to schema for this operation
- <code>"block"</code> - deny access to the site when request does not conform to schema for this operation
- <code>"none"</code> - will skip mitigation for this operation

<a href="#(resource)%20schema_validation.settings.operations%20%3E%20(terraform%20datasource-plural)%20%3E%20(attribute)%20result%20%3E%20(attribute)%20mitigation_action">Link to this property</a>

operation\_id: String

UUID.

<a href="#(resource)%20schema_validation.settings.operations%20%3E%20(terraform%20datasource-plural)%20%3E%20(attribute)%20result%20%3E%20(attribute)%20operation_id">Link to this property</a>

</details>

[Link to this property](<#(resource)%20schema_validation.settings.operations%20%3E%20(terraform%20datasource-plural)%20%3E%20(attribute)%20result>)

### cloudflare\_schema\_validation\_operation\_settings\_list

Terraform

HTTPTypeScriptPythonGoTerraform

```
data "cloudflare_schema_validation_operation_settings_list" "example_schema_validation_operation_settings_list" {
  zone_id = "023e105f4ecef8ad9ca31a8372d0c353"
}
```