## Validate ownership challenge `client.Logpush.Ownership.Validate(ctx, params) (*OwnershipValidation, error)` **post** `/{accounts_or_zones}/{account_or_zone_id}/logpush/ownership/validate` Validates ownership challenge of the destination. ### Parameters - `params OwnershipValidateParams` - `DestinationConf param.Field[string]` Body param: Uniquely identifies a resource (such as an s3 bucket) where data. will be pushed. Additional configuration parameters supported by the destination may be included. - `OwnershipChallenge param.Field[string]` Body param: Ownership challenge token to prove destination ownership. - `AccountID param.Field[string]` Path param: The Account ID to use for this endpoint. Mutually exclusive with the Zone ID. - `ZoneID param.Field[string]` Path param: The Zone ID to use for this endpoint. Mutually exclusive with the Account ID. ### Returns - `type OwnershipValidation struct{…}` - `Valid bool` ### Example ```go 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"), ) ownershipValidation, err := client.Logpush.Ownership.Validate(context.TODO(), logpush.OwnershipValidateParams{ DestinationConf: cloudflare.F("s3://mybucket/logs?region=us-west-2"), OwnershipChallenge: cloudflare.F("00000000000000000000"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", ownershipValidation.Valid) } ``` #### Response ```json { "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": { "valid": true } } ```