---
title: Define a single origin rule using Terraform · Cloudflare Rules docs
description: Create an origin rule using Terraform to override the `Host` header, the resolved hostname, and the destination port of API requests.
lastUpdated: 2025-04-03T17:29:23.000Z
source_url:
  html: https://77261bbd.preview.developers.cloudflare.com/rules/origin-rules/examples/define-single-origin-terraform/index.md
  md: https://77261bbd.preview.developers.cloudflare.com/rules/origin-rules/examples/define-single-origin-terraform/
---

Note

Terraform code snippets below refer to the v4 SDK only.

The following example defines a single origin rule for a zone using Terraform. The rule overrides the `Host` header, the resolved hostname, and the destination port of API requests.

```tf
# Change origin for API requests
resource "cloudflare_ruleset" "http_origin_example" {
  zone_id     = "<ZONE_ID>"
  name        = "Change origin"
  description = ""
  kind        = "zone"
  phase       = "http_request_origin"


  rules {
    ref         = "change_api_origin"
    description = "Change origin of API requests"
    expression  = "(http.request.uri.path matches \"^/api/\")"
    action      = "route"
    action_parameters {
      host_header = "example.net"
      origin {
        host = "example.net"
        port = 8000
      }
    }
  }
}
```

## Additional resources

For additional guidance on using Terraform with Cloudflare, refer to the following resources:

* [Terraform documentation](https://developers.cloudflare.com/terraform/)
* [Cloudflare Provider for Terraform](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs) (reference documentation)
