# Webhook Events ## List available webhook event types `client.WebhookEvents.List(ctx) (*WebhookEventListResponse, error)` **get** `/v3/webhook-events` Returns all available webhook event types that can be subscribed to. Use this endpoint to discover valid values for the `subscribed_events` field when creating or updating webhook subscriptions. ### Returns - `type WebhookEventListResponse struct{…}` - `DocURL HTTPSApidocsLinqappComDocumentationWebhookEvents` URL to the webhook events documentation - `const HTTPSApidocsLinqappComDocumentationWebhookEventsHTTPSApidocsLinqappComDocumentationWebhookEvents HTTPSApidocsLinqappComDocumentationWebhookEvents = "https://apidocs.linqapp.com/documentation/webhook-events"` - `Events []WebhookEventType` List of all available webhook event types - `const WebhookEventTypeMessageSent WebhookEventType = "message.sent"` - `const WebhookEventTypeMessageReceived WebhookEventType = "message.received"` - `const WebhookEventTypeMessageRead WebhookEventType = "message.read"` - `const WebhookEventTypeMessageDelivered WebhookEventType = "message.delivered"` - `const WebhookEventTypeMessageFailed WebhookEventType = "message.failed"` - `const WebhookEventTypeMessageEdited WebhookEventType = "message.edited"` - `const WebhookEventTypeReactionAdded WebhookEventType = "reaction.added"` - `const WebhookEventTypeReactionRemoved WebhookEventType = "reaction.removed"` - `const WebhookEventTypeParticipantAdded WebhookEventType = "participant.added"` - `const WebhookEventTypeParticipantRemoved WebhookEventType = "participant.removed"` - `const WebhookEventTypeChatCreated WebhookEventType = "chat.created"` - `const WebhookEventTypeChatGroupNameUpdated WebhookEventType = "chat.group_name_updated"` - `const WebhookEventTypeChatGroupIconUpdated WebhookEventType = "chat.group_icon_updated"` - `const WebhookEventTypeChatGroupNameUpdateFailed WebhookEventType = "chat.group_name_update_failed"` - `const WebhookEventTypeChatGroupIconUpdateFailed WebhookEventType = "chat.group_icon_update_failed"` - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"` - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"` - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"` - `const WebhookEventTypeCallInitiated WebhookEventType = "call.initiated"` - `const WebhookEventTypeCallRinging WebhookEventType = "call.ringing"` - `const WebhookEventTypeCallAnswered WebhookEventType = "call.answered"` - `const WebhookEventTypeCallEnded WebhookEventType = "call.ended"` - `const WebhookEventTypeCallFailed WebhookEventType = "call.failed"` - `const WebhookEventTypeCallDeclined WebhookEventType = "call.declined"` - `const WebhookEventTypeCallNoAnswer WebhookEventType = "call.no_answer"` ### Example ```go package main import ( "context" "fmt" "github.com/linq-team/linq-go" "github.com/linq-team/linq-go/option" ) func main() { client := linqgo.NewClient( option.WithAPIKey("My API Key"), ) webhookEvents, err := client.WebhookEvents.List(context.TODO()) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", webhookEvents.DocURL) } ``` #### Response ```json { "events": [ "message.sent", "message.received", "message.read", "message.delivered", "message.failed", "reaction.added", "reaction.removed", "participant.added", "participant.removed", "chat.created", "chat.group_name_updated", "chat.group_icon_updated", "chat.group_name_update_failed", "chat.group_icon_update_failed", "chat.typing_indicator.started", "chat.typing_indicator.stopped", "message.edited", "phone_number.status_updated" ], "doc_url": "https://apidocs.linqapp.com/documentation/webhook-events" } ``` ## Domain Types ### Webhook Event Type - `type WebhookEventType string` Valid webhook event types that can be subscribed to. **Note:** `message.edited` is only delivered to subscriptions using `webhook_version: "2026-02-03"`. Subscribing to this event on a v2025 subscription will not produce any deliveries. - `const WebhookEventTypeMessageSent WebhookEventType = "message.sent"` - `const WebhookEventTypeMessageReceived WebhookEventType = "message.received"` - `const WebhookEventTypeMessageRead WebhookEventType = "message.read"` - `const WebhookEventTypeMessageDelivered WebhookEventType = "message.delivered"` - `const WebhookEventTypeMessageFailed WebhookEventType = "message.failed"` - `const WebhookEventTypeMessageEdited WebhookEventType = "message.edited"` - `const WebhookEventTypeReactionAdded WebhookEventType = "reaction.added"` - `const WebhookEventTypeReactionRemoved WebhookEventType = "reaction.removed"` - `const WebhookEventTypeParticipantAdded WebhookEventType = "participant.added"` - `const WebhookEventTypeParticipantRemoved WebhookEventType = "participant.removed"` - `const WebhookEventTypeChatCreated WebhookEventType = "chat.created"` - `const WebhookEventTypeChatGroupNameUpdated WebhookEventType = "chat.group_name_updated"` - `const WebhookEventTypeChatGroupIconUpdated WebhookEventType = "chat.group_icon_updated"` - `const WebhookEventTypeChatGroupNameUpdateFailed WebhookEventType = "chat.group_name_update_failed"` - `const WebhookEventTypeChatGroupIconUpdateFailed WebhookEventType = "chat.group_icon_update_failed"` - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"` - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"` - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"` - `const WebhookEventTypeCallInitiated WebhookEventType = "call.initiated"` - `const WebhookEventTypeCallRinging WebhookEventType = "call.ringing"` - `const WebhookEventTypeCallAnswered WebhookEventType = "call.answered"` - `const WebhookEventTypeCallEnded WebhookEventType = "call.ended"` - `const WebhookEventTypeCallFailed WebhookEventType = "call.failed"` - `const WebhookEventTypeCallDeclined WebhookEventType = "call.declined"` - `const WebhookEventTypeCallNoAnswer WebhookEventType = "call.no_answer"`