## Replace a webhook `client.RealtimeKit.Webhooks.ReplaceWebhook(ctx, appID, webhookID, params) (*WebhookReplaceWebhookResponse, error)` **put** `/accounts/{account_id}/realtime/kit/{app_id}/webhooks/{webhook_id}` Replace all details for the given webhook ID. ### Parameters - `appID string` The app identifier tag. - `webhookID string` - `params WebhookReplaceWebhookParams` - `AccountID param.Field[string]` Path param: The account identifier tag. - `Events param.Field[[]WebhookReplaceWebhookParamsEvent]` Body param: Events that this webhook will get triggered by - `const WebhookReplaceWebhookParamsEventMeetingStarted WebhookReplaceWebhookParamsEvent = "meeting.started"` - `const WebhookReplaceWebhookParamsEventMeetingEnded WebhookReplaceWebhookParamsEvent = "meeting.ended"` - `const WebhookReplaceWebhookParamsEventMeetingParticipantJoined WebhookReplaceWebhookParamsEvent = "meeting.participantJoined"` - `const WebhookReplaceWebhookParamsEventMeetingParticipantLeft WebhookReplaceWebhookParamsEvent = "meeting.participantLeft"` - `const WebhookReplaceWebhookParamsEventMeetingChatSynced WebhookReplaceWebhookParamsEvent = "meeting.chatSynced"` - `const WebhookReplaceWebhookParamsEventRecordingStatusUpdate WebhookReplaceWebhookParamsEvent = "recording.statusUpdate"` - `const WebhookReplaceWebhookParamsEventLivestreamingStatusUpdate WebhookReplaceWebhookParamsEvent = "livestreaming.statusUpdate"` - `const WebhookReplaceWebhookParamsEventMeetingTranscript WebhookReplaceWebhookParamsEvent = "meeting.transcript"` - `const WebhookReplaceWebhookParamsEventMeetingSummary WebhookReplaceWebhookParamsEvent = "meeting.summary"` - `Name param.Field[string]` Body param: Name of the webhook - `URL param.Field[string]` Body param: URL this webhook will send events to - `Enabled param.Field[bool]` Body param: Set whether or not the webhook should be active when created ### Returns - `type WebhookReplaceWebhookResponse struct{…}` - `Data WebhookReplaceWebhookResponseData` - `ID string` ID of the webhook - `CreatedAt Time` Timestamp when this webhook was created - `Enabled bool` Set to true if the webhook is active - `Events []WebhookReplaceWebhookResponseDataEvent` Events this webhook will send updates for - `const WebhookReplaceWebhookResponseDataEventMeetingStarted WebhookReplaceWebhookResponseDataEvent = "meeting.started"` - `const WebhookReplaceWebhookResponseDataEventMeetingEnded WebhookReplaceWebhookResponseDataEvent = "meeting.ended"` - `const WebhookReplaceWebhookResponseDataEventMeetingParticipantJoined WebhookReplaceWebhookResponseDataEvent = "meeting.participantJoined"` - `const WebhookReplaceWebhookResponseDataEventMeetingParticipantLeft WebhookReplaceWebhookResponseDataEvent = "meeting.participantLeft"` - `const WebhookReplaceWebhookResponseDataEventMeetingChatSynced WebhookReplaceWebhookResponseDataEvent = "meeting.chatSynced"` - `const WebhookReplaceWebhookResponseDataEventRecordingStatusUpdate WebhookReplaceWebhookResponseDataEvent = "recording.statusUpdate"` - `const WebhookReplaceWebhookResponseDataEventLivestreamingStatusUpdate WebhookReplaceWebhookResponseDataEvent = "livestreaming.statusUpdate"` - `const WebhookReplaceWebhookResponseDataEventMeetingTranscript WebhookReplaceWebhookResponseDataEvent = "meeting.transcript"` - `const WebhookReplaceWebhookResponseDataEventMeetingSummary WebhookReplaceWebhookResponseDataEvent = "meeting.summary"` - `Name string` Name of the webhook - `UpdatedAt Time` Timestamp when this webhook was updated - `URL string` URL the webhook will send events to - `Success bool` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/realtime_kit" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.RealtimeKit.Webhooks.ReplaceWebhook( context.TODO(), "app_id", "webhook_id", realtime_kit.WebhookReplaceWebhookParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), Events: cloudflare.F([]realtime_kit.WebhookReplaceWebhookParamsEvent{realtime_kit.WebhookReplaceWebhookParamsEventMeetingStarted, realtime_kit.WebhookReplaceWebhookParamsEventMeetingEnded, realtime_kit.WebhookReplaceWebhookParamsEventMeetingParticipantJoined, realtime_kit.WebhookReplaceWebhookParamsEventMeetingParticipantLeft, realtime_kit.WebhookReplaceWebhookParamsEventMeetingChatSynced, realtime_kit.WebhookReplaceWebhookParamsEventRecordingStatusUpdate, realtime_kit.WebhookReplaceWebhookParamsEventLivestreamingStatusUpdate, realtime_kit.WebhookReplaceWebhookParamsEventMeetingTranscript, realtime_kit.WebhookReplaceWebhookParamsEventMeetingSummary}), Name: cloudflare.F("All events webhook"), URL: cloudflare.F("https://webhook.site/b23a5bbd-c7b0-4ced-a9e2-78ae7889897e"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Data) } ``` #### Response ```json { "data": { "id": "0d1f069d-43bb-489a-ad8c-7eb95592ba8e", "created_at": "2022-05-28T07:01:53.075Z", "enabled": true, "events": [ "meeting.started", "meeting.ended", "meeting.participantJoined", "meeting.participantLeft", "meeting.chatSynced", "recording.statusUpdate", "livestreaming.statusUpdate", "meeting.transcript", "meeting.summary" ], "name": "All events webhook", "updated_at": "2022-05-28T07:01:53.075Z", "url": "https://webhook.site/b23a5bbd-c7b0-4ced-a9e2-78ae7889897e" }, "success": true } ```