---
title: Validate origin
---

[Skip to content](#_top)

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

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

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

Copy Markdown

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

---

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

# Validate origin

client.Logpush.Validate.Origin(ctx, params) (\*[ValidateOriginResponse](<https://developers.cloudflare.com/api/go/resources/logpush#(resource)%20logpush.validate%20%3E%20(model)%20ValidateOriginResponse%20%3E%20(schema)>), error)

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

<details>

<summary>

params ValidateOriginParams

</summary>

DeprecatedLogpullOptions param.Field\[string]

Body param: This field is deprecated. Use <code>output_options</code> 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

<a href="#(resource)%20logpush.validate%20%3E%20(method)%20origin%20%3E%20(params)%20default%20%3E%20(param)%20logpull_options">Link to this property</a>

AccountID param.Field\[string]Optional

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

<a href="#(resource)%20logpush.validate%20%3E%20(method)%20origin%20%3E%20(params)%20default%20%3E%20(param)%20account_id">Link to this property</a>

ZoneID param.Field\[string]Optional

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

<a href="#(resource)%20logpush.validate%20%3E%20(method)%20origin%20%3E%20(params)%20default%20%3E%20(param)%20zone_id">Link to this property</a>

</details>

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

##### ReturnsExpand Collapse

<details>

<summary>

type ValidateOriginResponse struct{…}

</summary>

Message stringOptional

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

Valid boolOptional

<a href="#(resource)%20logpush.validate%20%3E%20(model)%20ValidateOriginResponse%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)%20ValidateOriginResponse%20%3E%20(schema)>)

### Validate origin

Go

HTTPTypeScriptPythonGoTerraform

```
package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/logpush"
  "github.com/cloudflare/cloudflare-go/option"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  response, err := client.Logpush.Validate.Origin(context.TODO(), logpush.ValidateOriginParams{
    LogpullOptions: cloudflare.F("fields=RayID,ClientIP,EdgeStartTimestamp&timestamps=rfc3339"),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", 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
  }
}
```