---
title: Validate origin
---

[Skip to content](#_top)

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

[Logpush](https://developers.cloudflare.com/api/python/resources/logpush)

[Validate](https://developers.cloudflare.com/api/python/resources/logpush/subresources/validate)

Copy Markdown

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

---

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

# Validate origin

logpush.validate.origin(ValidateOriginParams\*\*kwargs) -> [ValidateOriginResponse](<https://developers.cloudflare.com/api/python/resources/logpush#(resource)%20logpush.validate%20%3E%20(model)%20validate_origin_response%20%3E%20(schema)>)

POST/{accounts\_or\_zones}/{account\_or\_zone\_id}/logpush/validate/origin

Validates logpull origin with logpull\_options.

##### Security

<details>

<summary>API Token</summary>



The preferred authorization scheme for interacting with the Cloudflare API. <a href="https://developers.cloudflare.com/fundamentals/api/get-started/create-token/">Create a token</a>.

**Example:**<code>Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY</code>

</details>

<details>

<summary>API Email + API Key</summary>



The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

**Example:**<code>X-Auth-Email: user@example.com</code>

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

**Example:**<code>X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194</code>

</details>

##### Accepted Permissions (at least one required)

`Logs Write`

##### ParametersExpand Collapse

Deprecatedlogpull\_options: Optional\[str]

This field is deprecated. Use `output_options` instead. Configuration string. It specifies things like requested fields and timestamp formats. If migrating from the logpull api, copy the url (full url or just the query string) of your call here, and logpush will keep on making this call for you, setting start and end times appropriately.

formaturi-reference

maxLength4096

[Link to this property](<#(resource)%20logpush.validate%20%3E%20(method)%20origin%20%3E%20(params)%20default%20%3E%20(param)%20logpull_options%20%3E%20(schema)>)

account\_id: Optional\[str]

The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.

[Link to this property](<#(resource)%20logpush.validate%20%3E%20(method)%20origin%20%3E%20(params)%20default%20%3E%20(param)%20account_id%20%3E%20(schema)>)

zone\_id: Optional\[str]

The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.

[Link to this property](<#(resource)%20logpush.validate%20%3E%20(method)%20origin%20%3E%20(params)%20default%20%3E%20(param)%20zone_id%20%3E%20(schema)>)

##### ReturnsExpand Collapse

<details>

<summary>

class ValidateOriginResponse: …

</summary>

message: Optional\[str]

<a href="#(resource)%20logpush.validate%20%3E%20(model)%20validate_origin_response%20%3E%20(schema)%20%3E%20(property)%20message">Link to this property</a>

valid: Optional\[bool]

<a href="#(resource)%20logpush.validate%20%3E%20(model)%20validate_origin_response%20%3E%20(schema)%20%3E%20(property)%20valid">Link to this property</a>

</details>

[Link to this property](<#(resource)%20logpush.validate%20%3E%20(model)%20validate_origin_response%20%3E%20(schema)>)

### Validate origin

Python

HTTPTypeScriptPythonGoTerraform

```
import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
response = client.logpush.validate.origin(
    logpull_options="fields=RayID,ClientIP,EdgeStartTimestamp&timestamps=rfc3339",
    account_id="account_id",
)
print(response.valid)
```

200 example

```
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "message": "",
    "valid": true
  }
}
```

##### Returns Examples

200 example

```
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "message": "",
    "valid": true
  }
}
```