## Get a webhook subscription by ID `client.WebhookSubscriptions.Get(ctx, subscriptionID) (*WebhookSubscription, error)` **get** `/v3/webhook-subscriptions/{subscriptionId}` Retrieve details for a specific webhook subscription including its target URL, subscribed events, and current status. ### Parameters - `subscriptionID string` ### Returns - `type WebhookSubscription struct{…}` - `ID string` Unique identifier for the webhook subscription - `CreatedAt Time` When the subscription was created - `IsActive bool` Whether this subscription is currently active - `SubscribedEvents []WebhookEventType` List of event types this subscription receives - `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"` - `TargetURL string` URL where webhook events will be sent - `UpdatedAt Time` When the subscription was last updated - `PhoneNumbers []string` Phone numbers this subscription filters for. If null or empty, events from all phone numbers are delivered. ### 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"), ) webhookSubscription, err := client.WebhookSubscriptions.Get(context.TODO(), "b2c3d4e5-f6a7-8901-bcde-f23456789012") if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", webhookSubscription.ID) } ``` #### Response ```json { "id": "b2c3d4e5-f6a7-8901-bcde-f23456789012", "created_at": "2024-01-15T10:30:00Z", "is_active": true, "subscribed_events": [ "message.sent", "message.delivered", "message.read" ], "target_url": "https://webhooks.example.com/linq/events", "updated_at": "2024-01-15T10:30:00Z", "phone_numbers": [ "string" ] } ```