# Webhooks ## View webhooks `client.Stream.Webhooks.Get(ctx, query) (*WebhookGetResponse, error)` **get** `/accounts/{account_id}/stream/webhook` Retrieves a list of webhooks. ### Parameters - `query WebhookGetParams` - `AccountID param.Field[string]` The account identifier tag. ### Returns - `type WebhookGetResponse interface{…}` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/stream" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) webhook, err := client.Stream.Webhooks.Get(context.TODO(), stream.WebhookGetParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", webhook) } ``` #### 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": {} } ``` ## Create webhooks `client.Stream.Webhooks.Update(ctx, params) (*WebhookUpdateResponse, error)` **put** `/accounts/{account_id}/stream/webhook` Creates a webhook notification. ### Parameters - `params WebhookUpdateParams` - `AccountID param.Field[string]` Path param: The account identifier tag. - `NotificationURL param.Field[string]` Body param: The URL where webhooks will be sent. ### Returns - `type WebhookUpdateResponse interface{…}` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/stream" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) webhook, err := client.Stream.Webhooks.Update(context.TODO(), stream.WebhookUpdateParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), NotificationURL: cloudflare.F("https://example.com"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", webhook) } ``` #### 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": {} } ``` ## Delete webhooks `client.Stream.Webhooks.Delete(ctx, body) (*string, error)` **delete** `/accounts/{account_id}/stream/webhook` Deletes a webhook. ### Parameters - `body WebhookDeleteParams` - `AccountID param.Field[string]` The account identifier tag. ### Returns - `type WebhookDeleteResponseEnvelopeResult string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/stream" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) webhook, err := client.Stream.Webhooks.Delete(context.TODO(), stream.WebhookDeleteParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", webhook) } ``` #### 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": "ok" } ```