# Webhooks

## Domain Types

### Message Event V2

- `type MessageEventV2 struct{…}`

  Unified payload for message webhooks when using `webhook_version: "2026-02-03"`.

  This schema is used for message.sent, message.received, message.delivered, and message.read
  events when the subscription URL includes `?version=2026-02-03`.

  Key differences from V1 (2025-01-01):

  - `direction`: "inbound" or "outbound" instead of `is_from_me` boolean
  - `sender_handle`: Full handle object for the sender
  - `chat`: Nested object with `id`, `is_group`, and `owner_handle`
  - Message fields (`id`, `parts`, `effect`, etc.) are at the top level, not nested in `message`

  Timestamps indicate the message state:

  - `message.sent`: sent_at set, delivered_at=null, read_at=null
  - `message.received`: sent_at set, delivered_at=null, read_at=null
  - `message.delivered`: sent_at set, delivered_at set, read_at=null
  - `message.read`: sent_at set, delivered_at set, read_at set

  - `ID string`

    Message identifier

  - `Chat MessageEventV2Chat`

    Chat information

    - `ID string`

      Chat identifier

    - `HealthStatus MessageEventV2ChatHealthStatus`

      **[BETA]** Current health for a chat. Always present — chats start at `HEALTHY` and may shift based on engagement and delivery signals on the conversation. Many `AT_RISK` or `CRITICAL` chats on a single line increase the risk of line flagging.

      Switch on `status` to surface chat and line health in your UI — the enum is the long-term contract. Each status carries a `doc_url` that deep-links to the relevant section of the Chat Health guide. To gate a send, act on the response rather than the status: a `403` is the authoritative answer.

      See the [Chat Health guide](/channel/imessage/guides/chats/chat-health) for what each status means and how to react.

      - `DocURL string`

        Deep-link to the relevant section of the Chat Health guide for this status.

      - `Status string`

        Current health bucket for the chat. See the [Chat Health guide](/channel/imessage/guides/chats/chat-health) for what each value means and how to react. `doc_url` deep-links to the relevant section.

        `OPTED_OUT` — the recipient sent `STOP`, `UNSUBSCRIBE`, `OPTOUT`, `CANCEL`, `END`, or `QUIT`.
        The keyword must be the whole trimmed message, never part of a longer one: `STOP` counts, `please stop`
        does not. Most keywords must match exactly, including case. `OPT OUT` is the exception — it matches in any
        casing, with or without the space or a hyphen, so `opt out`, `Opt-Out` and `optout` all count. It clears as
        soon as they reply again: any later message from them that is not itself an opt-out keyword opts them back
        in immediately — a reply in any conversation with you counts, the same way the block does.

        `OPTED_OUT` marks only the conversation the keyword arrived in. The block below is wider than the mark, so
        a conversation still reading `HEALTHY` can be blocked as well — gate on the `403`, not on the status.
        Group threads are never marked and are never blocked.

        Linq enforces this: while a recipient is opted out, every send to them is rejected with `403` (error code
        `2024`) before the message is queued, across every chat and every line on your account. Nothing is
        delivered, including a final courtesy message — to send one, set `override_optout: true` on that single
        request.

        - `const MessageEventV2ChatHealthStatusStatusHealthy MessageEventV2ChatHealthStatusStatus = "HEALTHY"`

        - `const MessageEventV2ChatHealthStatusStatusAtRisk MessageEventV2ChatHealthStatusStatus = "AT_RISK"`

        - `const MessageEventV2ChatHealthStatusStatusCritical MessageEventV2ChatHealthStatusStatus = "CRITICAL"`

        - `const MessageEventV2ChatHealthStatusStatusOptedOut MessageEventV2ChatHealthStatusStatus = "OPTED_OUT"`

      - `UpdatedAt Time`

        When this status last changed.

    - `IsGroup bool`

      Whether this is a group chat

    - `OwnerHandle ChatHandle`

      Your phone number's handle. Always has is_me=true.

      - `ID string`

        Unique identifier for this handle

      - `Handle string`

        Phone number (E.164) or email address of the participant

      - `JoinedAt Time`

        When this participant joined the chat

      - `Service ServiceType`

        Messaging service type. Where this names the transport a message used,
        it is per-message: a chat's own `service` can differ from a message in
        it, and Apple can downgrade an individual message.

        - `const ServiceTypeIMessage ServiceType = "iMessage"`

        - `const ServiceTypeSMS ServiceType = "SMS"`

        - `const ServiceTypeRCS ServiceType = "RCS"`

      - `IsMe bool`

        Whether this handle belongs to the sender (your phone number)

      - `LeftAt Time`

        When they left (if applicable)

      - `LineType ChatHandleLineType`

        The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
        RCS-only line, which sends RCS and SMS but never iMessage. Same values as
        the `type` parameter on `GET /v3/available_number`. A property of the line
        itself, so unlike `service` it does not change with the conversation:
        an iMessage-capable line can still carry an RCS or SMS conversation.

        - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

        - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

      - `Status ChatHandleStatus`

        Participant status

        - `const ChatHandleStatusActive ChatHandleStatus = "active"`

        - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

        - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

  - `Direction MessageEventV2Direction`

    Message direction - "outbound" if sent by you, "inbound" if received

    - `const MessageEventV2DirectionInbound MessageEventV2Direction = "inbound"`

    - `const MessageEventV2DirectionOutbound MessageEventV2Direction = "outbound"`

  - `Parts []MessageEventV2PartUnion`

    Message parts (text and/or media)

    - `type SchemasTextPartResponse struct{…}`

      A text message part

      - `Type SchemasTextPartResponseType`

        Indicates this is a text message part

        - `const SchemasTextPartResponseTypeText SchemasTextPartResponseType = "text"`

      - `Value string`

        The text content

      - `InlineStickers []InlineStickerResponse`

        Stickers placed inside the text, in the order they appear in `value`. `null` when the
        part has none.

        Set on messages sent with `inline_stickers`. An inline sticker received over iMessage
        currently arrives as a separate media part.

        - `Range []int64`

          Character range `[start, end)` in `value` that the sticker replaces. Those characters
          are hidden on iMessage and sent as written on SMS and RCS.
          *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

        - `ID string`

          Attachment ID of the sticker image.

        - `FileName string`

          Filename of the sticker

        - `MimeType string`

          MIME type of the sticker image

        - `URL string`

          URL for downloading the sticker image. Permanent for a normal upload; a time-limited
          signed URL when the image is an ephemeral attachment.

      - `Mention string`

        DEPRECATED: Use `mentions` instead. Handle (E.164 phone number or Apple ID email)
        of the **first** mention on this part. A part may carry several mentions; this
        field shows only the first in `value` order, so it cannot be used to determine
        whether a given participant was mentioned. `null` when the part carries no mention.

      - `MentionRange []int64`

        DEPRECATED: Use `mentions[].range` instead. Character range `[start, end)` in
        `value` highlighted as the **first** mention only. `null` when the range was
        omitted (the whole `value` is highlighted) or the part carries no mention.
        *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

      - `Mentions []SchemasTextPartResponseMention`

        Every mention on this part, in the order they appear in `value`. `null` when the
        part carries no mention. A part can carry several mentions of different people —
        check `is_me` to tell whether this line was one of them.

        Only iMessage carries mentions. On a received message this is populated when the
        sender was on iMessage; SMS and RCS have no way to mark a mention, so a message
        from an SMS or RCS participant arrives as plain text with `mentions` null, even in
        a group where other participants are on iMessage.

        - `Handle string`

          Address of the mentioned participant, exactly as the device recorded it — an E.164
          phone number or an email address.

        - `IsMe bool`

          Whether the mentioned participant is this line.

        - `Range []int64`

          Character range `[start, end)` in `value` highlighted as this mention.
          *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

      - `TextDecorations []TextDecoration`

        Text decorations applied to character ranges in the value

        - `Range []int64`

          Character range `[start, end)` in the `value` string where the decoration applies.
          `start` is inclusive, `end` is exclusive.
          *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

        - `Animation TextDecorationAnimation`

          Animated text effect to apply. Mutually exclusive with `style`.

          - `const TextDecorationAnimationBig TextDecorationAnimation = "big"`

          - `const TextDecorationAnimationSmall TextDecorationAnimation = "small"`

          - `const TextDecorationAnimationShake TextDecorationAnimation = "shake"`

          - `const TextDecorationAnimationNod TextDecorationAnimation = "nod"`

          - `const TextDecorationAnimationExplode TextDecorationAnimation = "explode"`

          - `const TextDecorationAnimationRipple TextDecorationAnimation = "ripple"`

          - `const TextDecorationAnimationBloom TextDecorationAnimation = "bloom"`

          - `const TextDecorationAnimationJitter TextDecorationAnimation = "jitter"`

        - `Style TextDecorationStyle`

          Text style to apply. Mutually exclusive with `animation`.

          - `const TextDecorationStyleBold TextDecorationStyle = "bold"`

          - `const TextDecorationStyleItalic TextDecorationStyle = "italic"`

          - `const TextDecorationStyleStrikethrough TextDecorationStyle = "strikethrough"`

          - `const TextDecorationStyleUnderline TextDecorationStyle = "underline"`

    - `type SchemasMediaPartResponse struct{…}`

      A media attachment part

      - `ID string`

        Unique attachment identifier

      - `Filename string`

        Original filename

      - `MimeType string`

        MIME type of the file

      - `SizeBytes int64`

        File size in bytes

      - `Type SchemasMediaPartResponseType`

        Indicates this is a media attachment part

        - `const SchemasMediaPartResponseTypeMedia SchemasMediaPartResponseType = "media"`

      - `URL string`

        Presigned URL for downloading the attachment (expires in 1 hour).

    - `type MessageEventV2PartLink struct{…}`

      A rich link preview part

      - `Type Link`

        Indicates this is a rich link preview part

        - `const LinkLink Link = "link"`

      - `Value string`

        The URL

    - `type MessageEventV2PartIMessageApp struct{…}`

      An iMessage app card part.

      - `App MessageEventV2PartIMessageAppApp`

        Identifies the iMessage app (Messages app extension) that backs the card.

        - `BundleID string`

          Bundle identifier of the Messages app extension.

        - `Name string`

          Display name of the app.

        - `TeamID string`

          The app's 10-character team identifier.

        - `AppStoreID int64`

          The owning app's App Store id, when known.

      - `Layout MessageEventV2PartIMessageAppLayout`

        Visible layout of the card.

        - `Caption string`

          Primary label, top-left and bold.

        - `Subcaption string`

          Secondary label, below caption on the left.

        - `TrailingCaption string`

          Label shown top-right.

        - `TrailingSubcaption string`

          Label shown below trailing_caption.

      - `Type IMessageApp`

        Indicates this is an iMessage app card part.

        - `const IMessageAppIMessageApp IMessageApp = "imessage_app"`

      - `URL string`

        The URL the recipient's app opens when the user taps the card.

      - `FallbackText string`

        Fallback text for surfaces that cannot render the card.

    - `type MessageEventV2PartAppClip struct{…}`

      An Apple Pay App Clip payment card part

      - `Type AppClip`

        Indicates this is an App Clip payment card part

        - `const AppClipAppClip AppClip = "app_clip"`

      - `Value string`

        The checkout link the card opens

      - `Description string`

        The card's summary line, composed by Linq from the checkout session

      - `ImageURL string`

        The card's preview image

      - `Title string`

        The card's headline, composed by Linq from the checkout session

  - `SenderHandle ChatHandle`

    The handle that sent this message

  - `Service ServiceType`

    Messaging service type. Where this names the transport a message used,
    it is per-message: a chat's own `service` can differ from a message in
    it, and Apple can downgrade an individual message.

  - `DeliveredAt Time`

    When the message was delivered. Null if not yet delivered.

  - `DeviceFirstSeenAt Time`

    When the sending device was first seen for this sender (the message time for a newly seen device). Absent for SMS/RCS and for outbound messages.

  - `DeviceStatus MessageEventV2DeviceStatus`

    The device a sender used, relative to devices we've seen from them before. `first_contact` = their first device (first message we've seen from this sender); `known` = a device we've seen before; `new` = a device we have NOT seen for a sender who already had one (the account/SIM-takeover signal).

    - `const MessageEventV2DeviceStatusFirstContact MessageEventV2DeviceStatus = "first_contact"`

    - `const MessageEventV2DeviceStatusKnown MessageEventV2DeviceStatus = "known"`

    - `const MessageEventV2DeviceStatusNew MessageEventV2DeviceStatus = "new"`

  - `Effect SchemasMessageEffect`

    iMessage effect applied to a message (screen or bubble animation)

    - `Name string`

      Effect name (confetti, fireworks, slam, gentle, etc.)

    - `Type SchemasMessageEffectType`

      Effect category

      - `const SchemasMessageEffectTypeScreen SchemasMessageEffectType = "screen"`

      - `const SchemasMessageEffectTypeBubble SchemasMessageEffectType = "bubble"`

  - `IdempotencyKey string`

    Idempotency key for deduplication of outbound messages.

  - `PreferredService MessageEventV2PreferredService`

    Preferred messaging service type. Includes "auto" for default fallback behavior.

    - `const MessageEventV2PreferredServiceIMessage MessageEventV2PreferredService = "iMessage"`

    - `const MessageEventV2PreferredServiceSMS MessageEventV2PreferredService = "SMS"`

    - `const MessageEventV2PreferredServiceRCS MessageEventV2PreferredService = "RCS"`

    - `const MessageEventV2PreferredServiceAuto MessageEventV2PreferredService = "auto"`

  - `ReadAt Time`

    When the message was read. Null if not yet read.

  - `ReconciledAt Time`

    Present only when this message was recovered by reconciliation rather than delivered live, and set to the time of that recovery. The field is omitted entirely for normally-delivered messages, which is the overwhelming majority. When present, expect `sent_at` to be substantially earlier than delivery of this event: the message is genuine but is arriving late and out of real-time order, so treat it as history rather than as a live inbound (for example, suppress auto-replies).

  - `ReplyTo MessageEventV2ReplyTo`

    Reference to the message this is replying to (for threaded replies)

    - `MessageID string`

      ID of the message being replied to

    - `PartIndex int64`

      Index of the part being replied to

  - `SentAt Time`

    When the message was sent. Null if not yet sent.

  - `ZeroRetention bool`

    True when this message was sent on a zero-day-retention line. `parts` is always empty in that case — Linq never persists this message's content, so there is nothing to include here, not even a count or type of what was sent.

### Message Payload

- `type MessagePayload struct{…}`

  Message content nested within webhook events

  - `ID string`

    Message identifier

  - `CreatedAt Time`

    When the message record was created

  - `DeliveredAt Time`

    When the message was delivered

  - `DeviceFirstSeenAt Time`

    When the sending device was first seen for this sender (the message time for a newly seen device). Absent for SMS/RCS and for outbound messages.

  - `DeviceStatus MessagePayloadDeviceStatus`

    The device a sender used, relative to devices we've seen from them before. `first_contact` = their first device (first message we've seen from this sender); `known` = a device we've seen before; `new` = a device we have NOT seen for a sender who already had one (the account/SIM-takeover signal).

    - `const MessagePayloadDeviceStatusFirstContact MessagePayloadDeviceStatus = "first_contact"`

    - `const MessagePayloadDeviceStatusKnown MessagePayloadDeviceStatus = "known"`

    - `const MessagePayloadDeviceStatusNew MessagePayloadDeviceStatus = "new"`

  - `Effect SchemasMessageEffect`

    iMessage effect applied to a message (screen or bubble animation)

    - `Name string`

      Effect name (confetti, fireworks, slam, gentle, etc.)

    - `Type SchemasMessageEffectType`

      Effect category

      - `const SchemasMessageEffectTypeScreen SchemasMessageEffectType = "screen"`

      - `const SchemasMessageEffectTypeBubble SchemasMessageEffectType = "bubble"`

  - `IsDelivered bool`

    Whether the message has been delivered

  - `IsRead bool`

    Whether the message has been read

  - `Parts []MessagePayloadPartUnion`

    Message content parts (text and/or media)

    - `type SchemasTextPartResponse struct{…}`

      A text message part

      - `Type SchemasTextPartResponseType`

        Indicates this is a text message part

        - `const SchemasTextPartResponseTypeText SchemasTextPartResponseType = "text"`

      - `Value string`

        The text content

      - `InlineStickers []InlineStickerResponse`

        Stickers placed inside the text, in the order they appear in `value`. `null` when the
        part has none.

        Set on messages sent with `inline_stickers`. An inline sticker received over iMessage
        currently arrives as a separate media part.

        - `Range []int64`

          Character range `[start, end)` in `value` that the sticker replaces. Those characters
          are hidden on iMessage and sent as written on SMS and RCS.
          *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

        - `ID string`

          Attachment ID of the sticker image.

        - `FileName string`

          Filename of the sticker

        - `MimeType string`

          MIME type of the sticker image

        - `URL string`

          URL for downloading the sticker image. Permanent for a normal upload; a time-limited
          signed URL when the image is an ephemeral attachment.

      - `Mention string`

        DEPRECATED: Use `mentions` instead. Handle (E.164 phone number or Apple ID email)
        of the **first** mention on this part. A part may carry several mentions; this
        field shows only the first in `value` order, so it cannot be used to determine
        whether a given participant was mentioned. `null` when the part carries no mention.

      - `MentionRange []int64`

        DEPRECATED: Use `mentions[].range` instead. Character range `[start, end)` in
        `value` highlighted as the **first** mention only. `null` when the range was
        omitted (the whole `value` is highlighted) or the part carries no mention.
        *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

      - `Mentions []SchemasTextPartResponseMention`

        Every mention on this part, in the order they appear in `value`. `null` when the
        part carries no mention. A part can carry several mentions of different people —
        check `is_me` to tell whether this line was one of them.

        Only iMessage carries mentions. On a received message this is populated when the
        sender was on iMessage; SMS and RCS have no way to mark a mention, so a message
        from an SMS or RCS participant arrives as plain text with `mentions` null, even in
        a group where other participants are on iMessage.

        - `Handle string`

          Address of the mentioned participant, exactly as the device recorded it — an E.164
          phone number or an email address.

        - `IsMe bool`

          Whether the mentioned participant is this line.

        - `Range []int64`

          Character range `[start, end)` in `value` highlighted as this mention.
          *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

      - `TextDecorations []TextDecoration`

        Text decorations applied to character ranges in the value

        - `Range []int64`

          Character range `[start, end)` in the `value` string where the decoration applies.
          `start` is inclusive, `end` is exclusive.
          *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

        - `Animation TextDecorationAnimation`

          Animated text effect to apply. Mutually exclusive with `style`.

          - `const TextDecorationAnimationBig TextDecorationAnimation = "big"`

          - `const TextDecorationAnimationSmall TextDecorationAnimation = "small"`

          - `const TextDecorationAnimationShake TextDecorationAnimation = "shake"`

          - `const TextDecorationAnimationNod TextDecorationAnimation = "nod"`

          - `const TextDecorationAnimationExplode TextDecorationAnimation = "explode"`

          - `const TextDecorationAnimationRipple TextDecorationAnimation = "ripple"`

          - `const TextDecorationAnimationBloom TextDecorationAnimation = "bloom"`

          - `const TextDecorationAnimationJitter TextDecorationAnimation = "jitter"`

        - `Style TextDecorationStyle`

          Text style to apply. Mutually exclusive with `animation`.

          - `const TextDecorationStyleBold TextDecorationStyle = "bold"`

          - `const TextDecorationStyleItalic TextDecorationStyle = "italic"`

          - `const TextDecorationStyleStrikethrough TextDecorationStyle = "strikethrough"`

          - `const TextDecorationStyleUnderline TextDecorationStyle = "underline"`

    - `type SchemasMediaPartResponse struct{…}`

      A media attachment part

      - `ID string`

        Unique attachment identifier

      - `Filename string`

        Original filename

      - `MimeType string`

        MIME type of the file

      - `SizeBytes int64`

        File size in bytes

      - `Type SchemasMediaPartResponseType`

        Indicates this is a media attachment part

        - `const SchemasMediaPartResponseTypeMedia SchemasMediaPartResponseType = "media"`

      - `URL string`

        Presigned URL for downloading the attachment (expires in 1 hour).

    - `MessagePayloadPartSchemasLinkPartResponse`

      - `Type string`

        Indicates this is a rich link preview part

        - `const MessagePayloadPartSchemasLinkPartResponseTypeLink MessagePayloadPartSchemasLinkPartResponseType = "link"`

      - `Value string`

        The URL

    - `MessagePayloadPartSchemasIMessageAppPartResponse`

      - `App MessagePayloadPartSchemasIMessageAppPartResponseApp`

        Identifies the iMessage app (Messages app extension) that backs the card.

        - `BundleID string`

          Bundle identifier of the Messages app extension.

        - `Name string`

          Display name of the app.

        - `TeamID string`

          The app's 10-character team identifier.

        - `AppStoreID int64`

          The owning app's App Store id, when known.

      - `Layout MessagePayloadPartSchemasIMessageAppPartResponseLayout`

        Visible layout of the card.

        - `Caption string`

          Primary label, top-left and bold.

        - `Subcaption string`

          Secondary label, below caption on the left.

        - `TrailingCaption string`

          Label shown top-right.

        - `TrailingSubcaption string`

          Label shown below trailing_caption.

      - `Type string`

        Indicates this is an iMessage app card part.

        - `const MessagePayloadPartSchemasIMessageAppPartResponseTypeIMessageApp MessagePayloadPartSchemasIMessageAppPartResponseType = "imessage_app"`

      - `URL string`

        The URL the recipient's app opens when the user taps the card.

      - `FallbackText string`

        Fallback text for surfaces that cannot render the card.

    - `MessagePayloadPartSchemasAppClipPartResponse`

      - `Type string`

        Indicates this is an App Clip payment card part

        - `const MessagePayloadPartSchemasAppClipPartResponseTypeAppClip MessagePayloadPartSchemasAppClipPartResponseType = "app_clip"`

      - `Value string`

        The checkout link the card opens

      - `Description string`

        The card's summary line, composed by Linq from the checkout session

      - `ImageURL string`

        The card's preview image

      - `Title string`

        The card's headline, composed by Linq from the checkout session

  - `ReadAt Time`

    When the message was read

  - `ReconciledAt Time`

    Present only when this message was recovered by reconciliation rather than delivered live, and set to the time of that recovery. The field is omitted entirely for normally-delivered messages, which is the overwhelming majority. When present, expect `sent_at` to be substantially earlier than delivery of this event: the message is genuine but is arriving late and out of real-time order, so treat it as history rather than as a live inbound (for example, suppress auto-replies).

  - `ReplyTo MessagePayloadReplyTo`

    Reference to the message this is replying to

    - `MessageID string`

      The ID of the message being replied to

    - `PartIndex int64`

      Index of the message part being replied to (0-based)

  - `SentAt Time`

    When the message was sent

  - `UpdatedAt Time`

    When the message record was last updated

  - `ZeroRetention bool`

    True when this message was sent on a zero-day-retention line. `parts` is always empty in that case — Linq never persists this message's content, so there is nothing to include here, not even a count or type of what was sent.

### Reaction Event Base

- `type ReactionEventBase struct{…}`

  - `IsFromMe bool`

    Whether this reaction was from the owner of the phone number (true) or from someone else (false)

  - `ReactionType ReactionType`

    Type of reaction. Standard iMessage tapbacks are love, like, dislike, laugh, emphasize, question.
    Custom emoji reactions have type "custom" with the actual emoji in the custom_emoji field.
    Sticker reactions have type "sticker" with sticker attachment details in the sticker field.

    - `const ReactionTypeLove ReactionType = "love"`

    - `const ReactionTypeLike ReactionType = "like"`

    - `const ReactionTypeDislike ReactionType = "dislike"`

    - `const ReactionTypeLaugh ReactionType = "laugh"`

    - `const ReactionTypeEmphasize ReactionType = "emphasize"`

    - `const ReactionTypeQuestion ReactionType = "question"`

    - `const ReactionTypeCustom ReactionType = "custom"`

    - `const ReactionTypeSticker ReactionType = "sticker"`

  - `ChatID string`

    Chat identifier (UUID)

  - `CustomEmoji string`

    The actual emoji when reaction_type is "custom". Null for standard tapbacks.

  - `From string`

    DEPRECATED: Use from_handle instead. Phone number or email address of the person who added/removed the reaction.

  - `FromHandle ChatHandle`

    The person who added/removed the reaction as a full handle object

    - `ID string`

      Unique identifier for this handle

    - `Handle string`

      Phone number (E.164) or email address of the participant

    - `JoinedAt Time`

      When this participant joined the chat

    - `Service ServiceType`

      Messaging service type. Where this names the transport a message used,
      it is per-message: a chat's own `service` can differ from a message in
      it, and Apple can downgrade an individual message.

      - `const ServiceTypeIMessage ServiceType = "iMessage"`

      - `const ServiceTypeSMS ServiceType = "SMS"`

      - `const ServiceTypeRCS ServiceType = "RCS"`

    - `IsMe bool`

      Whether this handle belongs to the sender (your phone number)

    - `LeftAt Time`

      When they left (if applicable)

    - `LineType ChatHandleLineType`

      The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
      RCS-only line, which sends RCS and SMS but never iMessage. Same values as
      the `type` parameter on `GET /v3/available_number`. A property of the line
      itself, so unlike `service` it does not change with the conversation:
      an iMessage-capable line can still carry an RCS or SMS conversation.

      - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

      - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

    - `Status ChatHandleStatus`

      Participant status

      - `const ChatHandleStatusActive ChatHandleStatus = "active"`

      - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

      - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

  - `MessageID string`

    Message identifier (UUID) that the reaction was added to or removed from

  - `PartIndex int64`

    Index of the message part that was reacted to (0-based)

  - `ReactedAt Time`

    When the reaction was added or removed

  - `ReactionID string`

    Identifier for this reaction. Pass it to
    `PATCH /v3/messages/{messageId}/reactions/{reactionId}` to move a sticker.
    Stickers stack, so this is what distinguishes one sticker from another on the
    same message.

  - `Service ServiceType`

    Messaging service type. Where this names the transport a message used,
    it is per-message: a chat's own `service` can differ from a message in
    it, and Apple can downgrade an individual message.

  - `Sticker ReactionEventBaseSticker`

    Sticker attachment details when reaction_type is "sticker". Null for non-sticker reactions.

    - `FileName string`

      Filename of the sticker

    - `Height int64`

      Sticker image height in pixels

    - `MimeType string`

      MIME type of the sticker image

    - `URL string`

      Presigned URL for downloading the sticker image (expires in 1 hour).

    - `Width int64`

      Sticker image width in pixels

### Schemas Media Part Response

- `type SchemasMediaPartResponse struct{…}`

  A media attachment part

  - `ID string`

    Unique attachment identifier

  - `Filename string`

    Original filename

  - `MimeType string`

    MIME type of the file

  - `SizeBytes int64`

    File size in bytes

  - `Type SchemasMediaPartResponseType`

    Indicates this is a media attachment part

    - `const SchemasMediaPartResponseTypeMedia SchemasMediaPartResponseType = "media"`

  - `URL string`

    Presigned URL for downloading the attachment (expires in 1 hour).

### Schemas Message Effect

- `type SchemasMessageEffect struct{…}`

  iMessage effect applied to a message (screen or bubble animation)

  - `Name string`

    Effect name (confetti, fireworks, slam, gentle, etc.)

  - `Type SchemasMessageEffectType`

    Effect category

    - `const SchemasMessageEffectTypeScreen SchemasMessageEffectType = "screen"`

    - `const SchemasMessageEffectTypeBubble SchemasMessageEffectType = "bubble"`

### Schemas Text Part Response

- `type SchemasTextPartResponse struct{…}`

  A text message part

  - `Type SchemasTextPartResponseType`

    Indicates this is a text message part

    - `const SchemasTextPartResponseTypeText SchemasTextPartResponseType = "text"`

  - `Value string`

    The text content

  - `InlineStickers []InlineStickerResponse`

    Stickers placed inside the text, in the order they appear in `value`. `null` when the
    part has none.

    Set on messages sent with `inline_stickers`. An inline sticker received over iMessage
    currently arrives as a separate media part.

    - `Range []int64`

      Character range `[start, end)` in `value` that the sticker replaces. Those characters
      are hidden on iMessage and sent as written on SMS and RCS.
      *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

    - `ID string`

      Attachment ID of the sticker image.

    - `FileName string`

      Filename of the sticker

    - `MimeType string`

      MIME type of the sticker image

    - `URL string`

      URL for downloading the sticker image. Permanent for a normal upload; a time-limited
      signed URL when the image is an ephemeral attachment.

  - `Mention string`

    DEPRECATED: Use `mentions` instead. Handle (E.164 phone number or Apple ID email)
    of the **first** mention on this part. A part may carry several mentions; this
    field shows only the first in `value` order, so it cannot be used to determine
    whether a given participant was mentioned. `null` when the part carries no mention.

  - `MentionRange []int64`

    DEPRECATED: Use `mentions[].range` instead. Character range `[start, end)` in
    `value` highlighted as the **first** mention only. `null` when the range was
    omitted (the whole `value` is highlighted) or the part carries no mention.
    *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

  - `Mentions []SchemasTextPartResponseMention`

    Every mention on this part, in the order they appear in `value`. `null` when the
    part carries no mention. A part can carry several mentions of different people —
    check `is_me` to tell whether this line was one of them.

    Only iMessage carries mentions. On a received message this is populated when the
    sender was on iMessage; SMS and RCS have no way to mark a mention, so a message
    from an SMS or RCS participant arrives as plain text with `mentions` null, even in
    a group where other participants are on iMessage.

    - `Handle string`

      Address of the mentioned participant, exactly as the device recorded it — an E.164
      phone number or an email address.

    - `IsMe bool`

      Whether the mentioned participant is this line.

    - `Range []int64`

      Character range `[start, end)` in `value` highlighted as this mention.
      *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

  - `TextDecorations []TextDecoration`

    Text decorations applied to character ranges in the value

    - `Range []int64`

      Character range `[start, end)` in the `value` string where the decoration applies.
      `start` is inclusive, `end` is exclusive.
      *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

    - `Animation TextDecorationAnimation`

      Animated text effect to apply. Mutually exclusive with `style`.

      - `const TextDecorationAnimationBig TextDecorationAnimation = "big"`

      - `const TextDecorationAnimationSmall TextDecorationAnimation = "small"`

      - `const TextDecorationAnimationShake TextDecorationAnimation = "shake"`

      - `const TextDecorationAnimationNod TextDecorationAnimation = "nod"`

      - `const TextDecorationAnimationExplode TextDecorationAnimation = "explode"`

      - `const TextDecorationAnimationRipple TextDecorationAnimation = "ripple"`

      - `const TextDecorationAnimationBloom TextDecorationAnimation = "bloom"`

      - `const TextDecorationAnimationJitter TextDecorationAnimation = "jitter"`

    - `Style TextDecorationStyle`

      Text style to apply. Mutually exclusive with `animation`.

      - `const TextDecorationStyleBold TextDecorationStyle = "bold"`

      - `const TextDecorationStyleItalic TextDecorationStyle = "italic"`

      - `const TextDecorationStyleStrikethrough TextDecorationStyle = "strikethrough"`

      - `const TextDecorationStyleUnderline TextDecorationStyle = "underline"`

### message.sent

- `type MessageSentWebhookEvent struct{…}`

  Complete webhook payload for message.sent events (2026-02-03 format)

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data MessageEventV2`

    Unified payload for message webhooks when using `webhook_version: "2026-02-03"`.

    This schema is used for message.sent, message.received, message.delivered, and message.read
    events when the subscription URL includes `?version=2026-02-03`.

    Key differences from V1 (2025-01-01):

    - `direction`: "inbound" or "outbound" instead of `is_from_me` boolean
    - `sender_handle`: Full handle object for the sender
    - `chat`: Nested object with `id`, `is_group`, and `owner_handle`
    - Message fields (`id`, `parts`, `effect`, etc.) are at the top level, not nested in `message`

    Timestamps indicate the message state:

    - `message.sent`: sent_at set, delivered_at=null, read_at=null
    - `message.received`: sent_at set, delivered_at=null, read_at=null
    - `message.delivered`: sent_at set, delivered_at set, read_at=null
    - `message.read`: sent_at set, delivered_at set, read_at set

    - `ID string`

      Message identifier

    - `Chat MessageEventV2Chat`

      Chat information

      - `ID string`

        Chat identifier

      - `HealthStatus MessageEventV2ChatHealthStatus`

        **[BETA]** Current health for a chat. Always present — chats start at `HEALTHY` and may shift based on engagement and delivery signals on the conversation. Many `AT_RISK` or `CRITICAL` chats on a single line increase the risk of line flagging.

        Switch on `status` to surface chat and line health in your UI — the enum is the long-term contract. Each status carries a `doc_url` that deep-links to the relevant section of the Chat Health guide. To gate a send, act on the response rather than the status: a `403` is the authoritative answer.

        See the [Chat Health guide](/channel/imessage/guides/chats/chat-health) for what each status means and how to react.

        - `DocURL string`

          Deep-link to the relevant section of the Chat Health guide for this status.

        - `Status string`

          Current health bucket for the chat. See the [Chat Health guide](/channel/imessage/guides/chats/chat-health) for what each value means and how to react. `doc_url` deep-links to the relevant section.

          `OPTED_OUT` — the recipient sent `STOP`, `UNSUBSCRIBE`, `OPTOUT`, `CANCEL`, `END`, or `QUIT`.
          The keyword must be the whole trimmed message, never part of a longer one: `STOP` counts, `please stop`
          does not. Most keywords must match exactly, including case. `OPT OUT` is the exception — it matches in any
          casing, with or without the space or a hyphen, so `opt out`, `Opt-Out` and `optout` all count. It clears as
          soon as they reply again: any later message from them that is not itself an opt-out keyword opts them back
          in immediately — a reply in any conversation with you counts, the same way the block does.

          `OPTED_OUT` marks only the conversation the keyword arrived in. The block below is wider than the mark, so
          a conversation still reading `HEALTHY` can be blocked as well — gate on the `403`, not on the status.
          Group threads are never marked and are never blocked.

          Linq enforces this: while a recipient is opted out, every send to them is rejected with `403` (error code
          `2024`) before the message is queued, across every chat and every line on your account. Nothing is
          delivered, including a final courtesy message — to send one, set `override_optout: true` on that single
          request.

          - `const MessageEventV2ChatHealthStatusStatusHealthy MessageEventV2ChatHealthStatusStatus = "HEALTHY"`

          - `const MessageEventV2ChatHealthStatusStatusAtRisk MessageEventV2ChatHealthStatusStatus = "AT_RISK"`

          - `const MessageEventV2ChatHealthStatusStatusCritical MessageEventV2ChatHealthStatusStatus = "CRITICAL"`

          - `const MessageEventV2ChatHealthStatusStatusOptedOut MessageEventV2ChatHealthStatusStatus = "OPTED_OUT"`

        - `UpdatedAt Time`

          When this status last changed.

      - `IsGroup bool`

        Whether this is a group chat

      - `OwnerHandle ChatHandle`

        Your phone number's handle. Always has is_me=true.

        - `ID string`

          Unique identifier for this handle

        - `Handle string`

          Phone number (E.164) or email address of the participant

        - `JoinedAt Time`

          When this participant joined the chat

        - `Service ServiceType`

          Messaging service type. Where this names the transport a message used,
          it is per-message: a chat's own `service` can differ from a message in
          it, and Apple can downgrade an individual message.

          - `const ServiceTypeIMessage ServiceType = "iMessage"`

          - `const ServiceTypeSMS ServiceType = "SMS"`

          - `const ServiceTypeRCS ServiceType = "RCS"`

        - `IsMe bool`

          Whether this handle belongs to the sender (your phone number)

        - `LeftAt Time`

          When they left (if applicable)

        - `LineType ChatHandleLineType`

          The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
          RCS-only line, which sends RCS and SMS but never iMessage. Same values as
          the `type` parameter on `GET /v3/available_number`. A property of the line
          itself, so unlike `service` it does not change with the conversation:
          an iMessage-capable line can still carry an RCS or SMS conversation.

          - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

          - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

        - `Status ChatHandleStatus`

          Participant status

          - `const ChatHandleStatusActive ChatHandleStatus = "active"`

          - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

          - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

    - `Direction MessageEventV2Direction`

      Message direction - "outbound" if sent by you, "inbound" if received

      - `const MessageEventV2DirectionInbound MessageEventV2Direction = "inbound"`

      - `const MessageEventV2DirectionOutbound MessageEventV2Direction = "outbound"`

    - `Parts []MessageEventV2PartUnion`

      Message parts (text and/or media)

      - `type SchemasTextPartResponse struct{…}`

        A text message part

        - `Type SchemasTextPartResponseType`

          Indicates this is a text message part

          - `const SchemasTextPartResponseTypeText SchemasTextPartResponseType = "text"`

        - `Value string`

          The text content

        - `InlineStickers []InlineStickerResponse`

          Stickers placed inside the text, in the order they appear in `value`. `null` when the
          part has none.

          Set on messages sent with `inline_stickers`. An inline sticker received over iMessage
          currently arrives as a separate media part.

          - `Range []int64`

            Character range `[start, end)` in `value` that the sticker replaces. Those characters
            are hidden on iMessage and sent as written on SMS and RCS.
            *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

          - `ID string`

            Attachment ID of the sticker image.

          - `FileName string`

            Filename of the sticker

          - `MimeType string`

            MIME type of the sticker image

          - `URL string`

            URL for downloading the sticker image. Permanent for a normal upload; a time-limited
            signed URL when the image is an ephemeral attachment.

        - `Mention string`

          DEPRECATED: Use `mentions` instead. Handle (E.164 phone number or Apple ID email)
          of the **first** mention on this part. A part may carry several mentions; this
          field shows only the first in `value` order, so it cannot be used to determine
          whether a given participant was mentioned. `null` when the part carries no mention.

        - `MentionRange []int64`

          DEPRECATED: Use `mentions[].range` instead. Character range `[start, end)` in
          `value` highlighted as the **first** mention only. `null` when the range was
          omitted (the whole `value` is highlighted) or the part carries no mention.
          *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

        - `Mentions []SchemasTextPartResponseMention`

          Every mention on this part, in the order they appear in `value`. `null` when the
          part carries no mention. A part can carry several mentions of different people —
          check `is_me` to tell whether this line was one of them.

          Only iMessage carries mentions. On a received message this is populated when the
          sender was on iMessage; SMS and RCS have no way to mark a mention, so a message
          from an SMS or RCS participant arrives as plain text with `mentions` null, even in
          a group where other participants are on iMessage.

          - `Handle string`

            Address of the mentioned participant, exactly as the device recorded it — an E.164
            phone number or an email address.

          - `IsMe bool`

            Whether the mentioned participant is this line.

          - `Range []int64`

            Character range `[start, end)` in `value` highlighted as this mention.
            *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

        - `TextDecorations []TextDecoration`

          Text decorations applied to character ranges in the value

          - `Range []int64`

            Character range `[start, end)` in the `value` string where the decoration applies.
            `start` is inclusive, `end` is exclusive.
            *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

          - `Animation TextDecorationAnimation`

            Animated text effect to apply. Mutually exclusive with `style`.

            - `const TextDecorationAnimationBig TextDecorationAnimation = "big"`

            - `const TextDecorationAnimationSmall TextDecorationAnimation = "small"`

            - `const TextDecorationAnimationShake TextDecorationAnimation = "shake"`

            - `const TextDecorationAnimationNod TextDecorationAnimation = "nod"`

            - `const TextDecorationAnimationExplode TextDecorationAnimation = "explode"`

            - `const TextDecorationAnimationRipple TextDecorationAnimation = "ripple"`

            - `const TextDecorationAnimationBloom TextDecorationAnimation = "bloom"`

            - `const TextDecorationAnimationJitter TextDecorationAnimation = "jitter"`

          - `Style TextDecorationStyle`

            Text style to apply. Mutually exclusive with `animation`.

            - `const TextDecorationStyleBold TextDecorationStyle = "bold"`

            - `const TextDecorationStyleItalic TextDecorationStyle = "italic"`

            - `const TextDecorationStyleStrikethrough TextDecorationStyle = "strikethrough"`

            - `const TextDecorationStyleUnderline TextDecorationStyle = "underline"`

      - `type SchemasMediaPartResponse struct{…}`

        A media attachment part

        - `ID string`

          Unique attachment identifier

        - `Filename string`

          Original filename

        - `MimeType string`

          MIME type of the file

        - `SizeBytes int64`

          File size in bytes

        - `Type SchemasMediaPartResponseType`

          Indicates this is a media attachment part

          - `const SchemasMediaPartResponseTypeMedia SchemasMediaPartResponseType = "media"`

        - `URL string`

          Presigned URL for downloading the attachment (expires in 1 hour).

      - `type MessageEventV2PartLink struct{…}`

        A rich link preview part

        - `Type Link`

          Indicates this is a rich link preview part

          - `const LinkLink Link = "link"`

        - `Value string`

          The URL

      - `type MessageEventV2PartIMessageApp struct{…}`

        An iMessage app card part.

        - `App MessageEventV2PartIMessageAppApp`

          Identifies the iMessage app (Messages app extension) that backs the card.

          - `BundleID string`

            Bundle identifier of the Messages app extension.

          - `Name string`

            Display name of the app.

          - `TeamID string`

            The app's 10-character team identifier.

          - `AppStoreID int64`

            The owning app's App Store id, when known.

        - `Layout MessageEventV2PartIMessageAppLayout`

          Visible layout of the card.

          - `Caption string`

            Primary label, top-left and bold.

          - `Subcaption string`

            Secondary label, below caption on the left.

          - `TrailingCaption string`

            Label shown top-right.

          - `TrailingSubcaption string`

            Label shown below trailing_caption.

        - `Type IMessageApp`

          Indicates this is an iMessage app card part.

          - `const IMessageAppIMessageApp IMessageApp = "imessage_app"`

        - `URL string`

          The URL the recipient's app opens when the user taps the card.

        - `FallbackText string`

          Fallback text for surfaces that cannot render the card.

      - `type MessageEventV2PartAppClip struct{…}`

        An Apple Pay App Clip payment card part

        - `Type AppClip`

          Indicates this is an App Clip payment card part

          - `const AppClipAppClip AppClip = "app_clip"`

        - `Value string`

          The checkout link the card opens

        - `Description string`

          The card's summary line, composed by Linq from the checkout session

        - `ImageURL string`

          The card's preview image

        - `Title string`

          The card's headline, composed by Linq from the checkout session

    - `SenderHandle ChatHandle`

      The handle that sent this message

    - `Service ServiceType`

      Messaging service type. Where this names the transport a message used,
      it is per-message: a chat's own `service` can differ from a message in
      it, and Apple can downgrade an individual message.

    - `DeliveredAt Time`

      When the message was delivered. Null if not yet delivered.

    - `DeviceFirstSeenAt Time`

      When the sending device was first seen for this sender (the message time for a newly seen device). Absent for SMS/RCS and for outbound messages.

    - `DeviceStatus MessageEventV2DeviceStatus`

      The device a sender used, relative to devices we've seen from them before. `first_contact` = their first device (first message we've seen from this sender); `known` = a device we've seen before; `new` = a device we have NOT seen for a sender who already had one (the account/SIM-takeover signal).

      - `const MessageEventV2DeviceStatusFirstContact MessageEventV2DeviceStatus = "first_contact"`

      - `const MessageEventV2DeviceStatusKnown MessageEventV2DeviceStatus = "known"`

      - `const MessageEventV2DeviceStatusNew MessageEventV2DeviceStatus = "new"`

    - `Effect SchemasMessageEffect`

      iMessage effect applied to a message (screen or bubble animation)

      - `Name string`

        Effect name (confetti, fireworks, slam, gentle, etc.)

      - `Type SchemasMessageEffectType`

        Effect category

        - `const SchemasMessageEffectTypeScreen SchemasMessageEffectType = "screen"`

        - `const SchemasMessageEffectTypeBubble SchemasMessageEffectType = "bubble"`

    - `IdempotencyKey string`

      Idempotency key for deduplication of outbound messages.

    - `PreferredService MessageEventV2PreferredService`

      Preferred messaging service type. Includes "auto" for default fallback behavior.

      - `const MessageEventV2PreferredServiceIMessage MessageEventV2PreferredService = "iMessage"`

      - `const MessageEventV2PreferredServiceSMS MessageEventV2PreferredService = "SMS"`

      - `const MessageEventV2PreferredServiceRCS MessageEventV2PreferredService = "RCS"`

      - `const MessageEventV2PreferredServiceAuto MessageEventV2PreferredService = "auto"`

    - `ReadAt Time`

      When the message was read. Null if not yet read.

    - `ReconciledAt Time`

      Present only when this message was recovered by reconciliation rather than delivered live, and set to the time of that recovery. The field is omitted entirely for normally-delivered messages, which is the overwhelming majority. When present, expect `sent_at` to be substantially earlier than delivery of this event: the message is genuine but is arriving late and out of real-time order, so treat it as history rather than as a live inbound (for example, suppress auto-replies).

    - `ReplyTo MessageEventV2ReplyTo`

      Reference to the message this is replying to (for threaded replies)

      - `MessageID string`

        ID of the message being replied to

      - `PartIndex int64`

        Index of the part being replied to

    - `SentAt Time`

      When the message was sent. Null if not yet sent.

    - `ZeroRetention bool`

      True when this message was sent on a zero-day-retention line. `parts` is always empty in that case — Linq never persists this message's content, so there is nothing to include here, not even a count or type of what was sent.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### message.received

- `type MessageReceivedWebhookEvent struct{…}`

  Complete webhook payload for message.received events (2026-02-03 format)

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data MessageEventV2`

    Unified payload for message webhooks when using `webhook_version: "2026-02-03"`.

    This schema is used for message.sent, message.received, message.delivered, and message.read
    events when the subscription URL includes `?version=2026-02-03`.

    Key differences from V1 (2025-01-01):

    - `direction`: "inbound" or "outbound" instead of `is_from_me` boolean
    - `sender_handle`: Full handle object for the sender
    - `chat`: Nested object with `id`, `is_group`, and `owner_handle`
    - Message fields (`id`, `parts`, `effect`, etc.) are at the top level, not nested in `message`

    Timestamps indicate the message state:

    - `message.sent`: sent_at set, delivered_at=null, read_at=null
    - `message.received`: sent_at set, delivered_at=null, read_at=null
    - `message.delivered`: sent_at set, delivered_at set, read_at=null
    - `message.read`: sent_at set, delivered_at set, read_at set

    - `ID string`

      Message identifier

    - `Chat MessageEventV2Chat`

      Chat information

      - `ID string`

        Chat identifier

      - `HealthStatus MessageEventV2ChatHealthStatus`

        **[BETA]** Current health for a chat. Always present — chats start at `HEALTHY` and may shift based on engagement and delivery signals on the conversation. Many `AT_RISK` or `CRITICAL` chats on a single line increase the risk of line flagging.

        Switch on `status` to surface chat and line health in your UI — the enum is the long-term contract. Each status carries a `doc_url` that deep-links to the relevant section of the Chat Health guide. To gate a send, act on the response rather than the status: a `403` is the authoritative answer.

        See the [Chat Health guide](/channel/imessage/guides/chats/chat-health) for what each status means and how to react.

        - `DocURL string`

          Deep-link to the relevant section of the Chat Health guide for this status.

        - `Status string`

          Current health bucket for the chat. See the [Chat Health guide](/channel/imessage/guides/chats/chat-health) for what each value means and how to react. `doc_url` deep-links to the relevant section.

          `OPTED_OUT` — the recipient sent `STOP`, `UNSUBSCRIBE`, `OPTOUT`, `CANCEL`, `END`, or `QUIT`.
          The keyword must be the whole trimmed message, never part of a longer one: `STOP` counts, `please stop`
          does not. Most keywords must match exactly, including case. `OPT OUT` is the exception — it matches in any
          casing, with or without the space or a hyphen, so `opt out`, `Opt-Out` and `optout` all count. It clears as
          soon as they reply again: any later message from them that is not itself an opt-out keyword opts them back
          in immediately — a reply in any conversation with you counts, the same way the block does.

          `OPTED_OUT` marks only the conversation the keyword arrived in. The block below is wider than the mark, so
          a conversation still reading `HEALTHY` can be blocked as well — gate on the `403`, not on the status.
          Group threads are never marked and are never blocked.

          Linq enforces this: while a recipient is opted out, every send to them is rejected with `403` (error code
          `2024`) before the message is queued, across every chat and every line on your account. Nothing is
          delivered, including a final courtesy message — to send one, set `override_optout: true` on that single
          request.

          - `const MessageEventV2ChatHealthStatusStatusHealthy MessageEventV2ChatHealthStatusStatus = "HEALTHY"`

          - `const MessageEventV2ChatHealthStatusStatusAtRisk MessageEventV2ChatHealthStatusStatus = "AT_RISK"`

          - `const MessageEventV2ChatHealthStatusStatusCritical MessageEventV2ChatHealthStatusStatus = "CRITICAL"`

          - `const MessageEventV2ChatHealthStatusStatusOptedOut MessageEventV2ChatHealthStatusStatus = "OPTED_OUT"`

        - `UpdatedAt Time`

          When this status last changed.

      - `IsGroup bool`

        Whether this is a group chat

      - `OwnerHandle ChatHandle`

        Your phone number's handle. Always has is_me=true.

        - `ID string`

          Unique identifier for this handle

        - `Handle string`

          Phone number (E.164) or email address of the participant

        - `JoinedAt Time`

          When this participant joined the chat

        - `Service ServiceType`

          Messaging service type. Where this names the transport a message used,
          it is per-message: a chat's own `service` can differ from a message in
          it, and Apple can downgrade an individual message.

          - `const ServiceTypeIMessage ServiceType = "iMessage"`

          - `const ServiceTypeSMS ServiceType = "SMS"`

          - `const ServiceTypeRCS ServiceType = "RCS"`

        - `IsMe bool`

          Whether this handle belongs to the sender (your phone number)

        - `LeftAt Time`

          When they left (if applicable)

        - `LineType ChatHandleLineType`

          The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
          RCS-only line, which sends RCS and SMS but never iMessage. Same values as
          the `type` parameter on `GET /v3/available_number`. A property of the line
          itself, so unlike `service` it does not change with the conversation:
          an iMessage-capable line can still carry an RCS or SMS conversation.

          - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

          - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

        - `Status ChatHandleStatus`

          Participant status

          - `const ChatHandleStatusActive ChatHandleStatus = "active"`

          - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

          - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

    - `Direction MessageEventV2Direction`

      Message direction - "outbound" if sent by you, "inbound" if received

      - `const MessageEventV2DirectionInbound MessageEventV2Direction = "inbound"`

      - `const MessageEventV2DirectionOutbound MessageEventV2Direction = "outbound"`

    - `Parts []MessageEventV2PartUnion`

      Message parts (text and/or media)

      - `type SchemasTextPartResponse struct{…}`

        A text message part

        - `Type SchemasTextPartResponseType`

          Indicates this is a text message part

          - `const SchemasTextPartResponseTypeText SchemasTextPartResponseType = "text"`

        - `Value string`

          The text content

        - `InlineStickers []InlineStickerResponse`

          Stickers placed inside the text, in the order they appear in `value`. `null` when the
          part has none.

          Set on messages sent with `inline_stickers`. An inline sticker received over iMessage
          currently arrives as a separate media part.

          - `Range []int64`

            Character range `[start, end)` in `value` that the sticker replaces. Those characters
            are hidden on iMessage and sent as written on SMS and RCS.
            *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

          - `ID string`

            Attachment ID of the sticker image.

          - `FileName string`

            Filename of the sticker

          - `MimeType string`

            MIME type of the sticker image

          - `URL string`

            URL for downloading the sticker image. Permanent for a normal upload; a time-limited
            signed URL when the image is an ephemeral attachment.

        - `Mention string`

          DEPRECATED: Use `mentions` instead. Handle (E.164 phone number or Apple ID email)
          of the **first** mention on this part. A part may carry several mentions; this
          field shows only the first in `value` order, so it cannot be used to determine
          whether a given participant was mentioned. `null` when the part carries no mention.

        - `MentionRange []int64`

          DEPRECATED: Use `mentions[].range` instead. Character range `[start, end)` in
          `value` highlighted as the **first** mention only. `null` when the range was
          omitted (the whole `value` is highlighted) or the part carries no mention.
          *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

        - `Mentions []SchemasTextPartResponseMention`

          Every mention on this part, in the order they appear in `value`. `null` when the
          part carries no mention. A part can carry several mentions of different people —
          check `is_me` to tell whether this line was one of them.

          Only iMessage carries mentions. On a received message this is populated when the
          sender was on iMessage; SMS and RCS have no way to mark a mention, so a message
          from an SMS or RCS participant arrives as plain text with `mentions` null, even in
          a group where other participants are on iMessage.

          - `Handle string`

            Address of the mentioned participant, exactly as the device recorded it — an E.164
            phone number or an email address.

          - `IsMe bool`

            Whether the mentioned participant is this line.

          - `Range []int64`

            Character range `[start, end)` in `value` highlighted as this mention.
            *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

        - `TextDecorations []TextDecoration`

          Text decorations applied to character ranges in the value

          - `Range []int64`

            Character range `[start, end)` in the `value` string where the decoration applies.
            `start` is inclusive, `end` is exclusive.
            *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

          - `Animation TextDecorationAnimation`

            Animated text effect to apply. Mutually exclusive with `style`.

            - `const TextDecorationAnimationBig TextDecorationAnimation = "big"`

            - `const TextDecorationAnimationSmall TextDecorationAnimation = "small"`

            - `const TextDecorationAnimationShake TextDecorationAnimation = "shake"`

            - `const TextDecorationAnimationNod TextDecorationAnimation = "nod"`

            - `const TextDecorationAnimationExplode TextDecorationAnimation = "explode"`

            - `const TextDecorationAnimationRipple TextDecorationAnimation = "ripple"`

            - `const TextDecorationAnimationBloom TextDecorationAnimation = "bloom"`

            - `const TextDecorationAnimationJitter TextDecorationAnimation = "jitter"`

          - `Style TextDecorationStyle`

            Text style to apply. Mutually exclusive with `animation`.

            - `const TextDecorationStyleBold TextDecorationStyle = "bold"`

            - `const TextDecorationStyleItalic TextDecorationStyle = "italic"`

            - `const TextDecorationStyleStrikethrough TextDecorationStyle = "strikethrough"`

            - `const TextDecorationStyleUnderline TextDecorationStyle = "underline"`

      - `type SchemasMediaPartResponse struct{…}`

        A media attachment part

        - `ID string`

          Unique attachment identifier

        - `Filename string`

          Original filename

        - `MimeType string`

          MIME type of the file

        - `SizeBytes int64`

          File size in bytes

        - `Type SchemasMediaPartResponseType`

          Indicates this is a media attachment part

          - `const SchemasMediaPartResponseTypeMedia SchemasMediaPartResponseType = "media"`

        - `URL string`

          Presigned URL for downloading the attachment (expires in 1 hour).

      - `type MessageEventV2PartLink struct{…}`

        A rich link preview part

        - `Type Link`

          Indicates this is a rich link preview part

          - `const LinkLink Link = "link"`

        - `Value string`

          The URL

      - `type MessageEventV2PartIMessageApp struct{…}`

        An iMessage app card part.

        - `App MessageEventV2PartIMessageAppApp`

          Identifies the iMessage app (Messages app extension) that backs the card.

          - `BundleID string`

            Bundle identifier of the Messages app extension.

          - `Name string`

            Display name of the app.

          - `TeamID string`

            The app's 10-character team identifier.

          - `AppStoreID int64`

            The owning app's App Store id, when known.

        - `Layout MessageEventV2PartIMessageAppLayout`

          Visible layout of the card.

          - `Caption string`

            Primary label, top-left and bold.

          - `Subcaption string`

            Secondary label, below caption on the left.

          - `TrailingCaption string`

            Label shown top-right.

          - `TrailingSubcaption string`

            Label shown below trailing_caption.

        - `Type IMessageApp`

          Indicates this is an iMessage app card part.

          - `const IMessageAppIMessageApp IMessageApp = "imessage_app"`

        - `URL string`

          The URL the recipient's app opens when the user taps the card.

        - `FallbackText string`

          Fallback text for surfaces that cannot render the card.

      - `type MessageEventV2PartAppClip struct{…}`

        An Apple Pay App Clip payment card part

        - `Type AppClip`

          Indicates this is an App Clip payment card part

          - `const AppClipAppClip AppClip = "app_clip"`

        - `Value string`

          The checkout link the card opens

        - `Description string`

          The card's summary line, composed by Linq from the checkout session

        - `ImageURL string`

          The card's preview image

        - `Title string`

          The card's headline, composed by Linq from the checkout session

    - `SenderHandle ChatHandle`

      The handle that sent this message

    - `Service ServiceType`

      Messaging service type. Where this names the transport a message used,
      it is per-message: a chat's own `service` can differ from a message in
      it, and Apple can downgrade an individual message.

    - `DeliveredAt Time`

      When the message was delivered. Null if not yet delivered.

    - `DeviceFirstSeenAt Time`

      When the sending device was first seen for this sender (the message time for a newly seen device). Absent for SMS/RCS and for outbound messages.

    - `DeviceStatus MessageEventV2DeviceStatus`

      The device a sender used, relative to devices we've seen from them before. `first_contact` = their first device (first message we've seen from this sender); `known` = a device we've seen before; `new` = a device we have NOT seen for a sender who already had one (the account/SIM-takeover signal).

      - `const MessageEventV2DeviceStatusFirstContact MessageEventV2DeviceStatus = "first_contact"`

      - `const MessageEventV2DeviceStatusKnown MessageEventV2DeviceStatus = "known"`

      - `const MessageEventV2DeviceStatusNew MessageEventV2DeviceStatus = "new"`

    - `Effect SchemasMessageEffect`

      iMessage effect applied to a message (screen or bubble animation)

      - `Name string`

        Effect name (confetti, fireworks, slam, gentle, etc.)

      - `Type SchemasMessageEffectType`

        Effect category

        - `const SchemasMessageEffectTypeScreen SchemasMessageEffectType = "screen"`

        - `const SchemasMessageEffectTypeBubble SchemasMessageEffectType = "bubble"`

    - `IdempotencyKey string`

      Idempotency key for deduplication of outbound messages.

    - `PreferredService MessageEventV2PreferredService`

      Preferred messaging service type. Includes "auto" for default fallback behavior.

      - `const MessageEventV2PreferredServiceIMessage MessageEventV2PreferredService = "iMessage"`

      - `const MessageEventV2PreferredServiceSMS MessageEventV2PreferredService = "SMS"`

      - `const MessageEventV2PreferredServiceRCS MessageEventV2PreferredService = "RCS"`

      - `const MessageEventV2PreferredServiceAuto MessageEventV2PreferredService = "auto"`

    - `ReadAt Time`

      When the message was read. Null if not yet read.

    - `ReconciledAt Time`

      Present only when this message was recovered by reconciliation rather than delivered live, and set to the time of that recovery. The field is omitted entirely for normally-delivered messages, which is the overwhelming majority. When present, expect `sent_at` to be substantially earlier than delivery of this event: the message is genuine but is arriving late and out of real-time order, so treat it as history rather than as a live inbound (for example, suppress auto-replies).

    - `ReplyTo MessageEventV2ReplyTo`

      Reference to the message this is replying to (for threaded replies)

      - `MessageID string`

        ID of the message being replied to

      - `PartIndex int64`

        Index of the part being replied to

    - `SentAt Time`

      When the message was sent. Null if not yet sent.

    - `ZeroRetention bool`

      True when this message was sent on a zero-day-retention line. `parts` is always empty in that case — Linq never persists this message's content, so there is nothing to include here, not even a count or type of what was sent.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### message.read

- `type MessageReadWebhookEvent struct{…}`

  Complete webhook payload for message.read events (2026-02-03 format)

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data MessageEventV2`

    Unified payload for message webhooks when using `webhook_version: "2026-02-03"`.

    This schema is used for message.sent, message.received, message.delivered, and message.read
    events when the subscription URL includes `?version=2026-02-03`.

    Key differences from V1 (2025-01-01):

    - `direction`: "inbound" or "outbound" instead of `is_from_me` boolean
    - `sender_handle`: Full handle object for the sender
    - `chat`: Nested object with `id`, `is_group`, and `owner_handle`
    - Message fields (`id`, `parts`, `effect`, etc.) are at the top level, not nested in `message`

    Timestamps indicate the message state:

    - `message.sent`: sent_at set, delivered_at=null, read_at=null
    - `message.received`: sent_at set, delivered_at=null, read_at=null
    - `message.delivered`: sent_at set, delivered_at set, read_at=null
    - `message.read`: sent_at set, delivered_at set, read_at set

    - `ID string`

      Message identifier

    - `Chat MessageEventV2Chat`

      Chat information

      - `ID string`

        Chat identifier

      - `HealthStatus MessageEventV2ChatHealthStatus`

        **[BETA]** Current health for a chat. Always present — chats start at `HEALTHY` and may shift based on engagement and delivery signals on the conversation. Many `AT_RISK` or `CRITICAL` chats on a single line increase the risk of line flagging.

        Switch on `status` to surface chat and line health in your UI — the enum is the long-term contract. Each status carries a `doc_url` that deep-links to the relevant section of the Chat Health guide. To gate a send, act on the response rather than the status: a `403` is the authoritative answer.

        See the [Chat Health guide](/channel/imessage/guides/chats/chat-health) for what each status means and how to react.

        - `DocURL string`

          Deep-link to the relevant section of the Chat Health guide for this status.

        - `Status string`

          Current health bucket for the chat. See the [Chat Health guide](/channel/imessage/guides/chats/chat-health) for what each value means and how to react. `doc_url` deep-links to the relevant section.

          `OPTED_OUT` — the recipient sent `STOP`, `UNSUBSCRIBE`, `OPTOUT`, `CANCEL`, `END`, or `QUIT`.
          The keyword must be the whole trimmed message, never part of a longer one: `STOP` counts, `please stop`
          does not. Most keywords must match exactly, including case. `OPT OUT` is the exception — it matches in any
          casing, with or without the space or a hyphen, so `opt out`, `Opt-Out` and `optout` all count. It clears as
          soon as they reply again: any later message from them that is not itself an opt-out keyword opts them back
          in immediately — a reply in any conversation with you counts, the same way the block does.

          `OPTED_OUT` marks only the conversation the keyword arrived in. The block below is wider than the mark, so
          a conversation still reading `HEALTHY` can be blocked as well — gate on the `403`, not on the status.
          Group threads are never marked and are never blocked.

          Linq enforces this: while a recipient is opted out, every send to them is rejected with `403` (error code
          `2024`) before the message is queued, across every chat and every line on your account. Nothing is
          delivered, including a final courtesy message — to send one, set `override_optout: true` on that single
          request.

          - `const MessageEventV2ChatHealthStatusStatusHealthy MessageEventV2ChatHealthStatusStatus = "HEALTHY"`

          - `const MessageEventV2ChatHealthStatusStatusAtRisk MessageEventV2ChatHealthStatusStatus = "AT_RISK"`

          - `const MessageEventV2ChatHealthStatusStatusCritical MessageEventV2ChatHealthStatusStatus = "CRITICAL"`

          - `const MessageEventV2ChatHealthStatusStatusOptedOut MessageEventV2ChatHealthStatusStatus = "OPTED_OUT"`

        - `UpdatedAt Time`

          When this status last changed.

      - `IsGroup bool`

        Whether this is a group chat

      - `OwnerHandle ChatHandle`

        Your phone number's handle. Always has is_me=true.

        - `ID string`

          Unique identifier for this handle

        - `Handle string`

          Phone number (E.164) or email address of the participant

        - `JoinedAt Time`

          When this participant joined the chat

        - `Service ServiceType`

          Messaging service type. Where this names the transport a message used,
          it is per-message: a chat's own `service` can differ from a message in
          it, and Apple can downgrade an individual message.

          - `const ServiceTypeIMessage ServiceType = "iMessage"`

          - `const ServiceTypeSMS ServiceType = "SMS"`

          - `const ServiceTypeRCS ServiceType = "RCS"`

        - `IsMe bool`

          Whether this handle belongs to the sender (your phone number)

        - `LeftAt Time`

          When they left (if applicable)

        - `LineType ChatHandleLineType`

          The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
          RCS-only line, which sends RCS and SMS but never iMessage. Same values as
          the `type` parameter on `GET /v3/available_number`. A property of the line
          itself, so unlike `service` it does not change with the conversation:
          an iMessage-capable line can still carry an RCS or SMS conversation.

          - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

          - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

        - `Status ChatHandleStatus`

          Participant status

          - `const ChatHandleStatusActive ChatHandleStatus = "active"`

          - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

          - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

    - `Direction MessageEventV2Direction`

      Message direction - "outbound" if sent by you, "inbound" if received

      - `const MessageEventV2DirectionInbound MessageEventV2Direction = "inbound"`

      - `const MessageEventV2DirectionOutbound MessageEventV2Direction = "outbound"`

    - `Parts []MessageEventV2PartUnion`

      Message parts (text and/or media)

      - `type SchemasTextPartResponse struct{…}`

        A text message part

        - `Type SchemasTextPartResponseType`

          Indicates this is a text message part

          - `const SchemasTextPartResponseTypeText SchemasTextPartResponseType = "text"`

        - `Value string`

          The text content

        - `InlineStickers []InlineStickerResponse`

          Stickers placed inside the text, in the order they appear in `value`. `null` when the
          part has none.

          Set on messages sent with `inline_stickers`. An inline sticker received over iMessage
          currently arrives as a separate media part.

          - `Range []int64`

            Character range `[start, end)` in `value` that the sticker replaces. Those characters
            are hidden on iMessage and sent as written on SMS and RCS.
            *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

          - `ID string`

            Attachment ID of the sticker image.

          - `FileName string`

            Filename of the sticker

          - `MimeType string`

            MIME type of the sticker image

          - `URL string`

            URL for downloading the sticker image. Permanent for a normal upload; a time-limited
            signed URL when the image is an ephemeral attachment.

        - `Mention string`

          DEPRECATED: Use `mentions` instead. Handle (E.164 phone number or Apple ID email)
          of the **first** mention on this part. A part may carry several mentions; this
          field shows only the first in `value` order, so it cannot be used to determine
          whether a given participant was mentioned. `null` when the part carries no mention.

        - `MentionRange []int64`

          DEPRECATED: Use `mentions[].range` instead. Character range `[start, end)` in
          `value` highlighted as the **first** mention only. `null` when the range was
          omitted (the whole `value` is highlighted) or the part carries no mention.
          *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

        - `Mentions []SchemasTextPartResponseMention`

          Every mention on this part, in the order they appear in `value`. `null` when the
          part carries no mention. A part can carry several mentions of different people —
          check `is_me` to tell whether this line was one of them.

          Only iMessage carries mentions. On a received message this is populated when the
          sender was on iMessage; SMS and RCS have no way to mark a mention, so a message
          from an SMS or RCS participant arrives as plain text with `mentions` null, even in
          a group where other participants are on iMessage.

          - `Handle string`

            Address of the mentioned participant, exactly as the device recorded it — an E.164
            phone number or an email address.

          - `IsMe bool`

            Whether the mentioned participant is this line.

          - `Range []int64`

            Character range `[start, end)` in `value` highlighted as this mention.
            *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

        - `TextDecorations []TextDecoration`

          Text decorations applied to character ranges in the value

          - `Range []int64`

            Character range `[start, end)` in the `value` string where the decoration applies.
            `start` is inclusive, `end` is exclusive.
            *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

          - `Animation TextDecorationAnimation`

            Animated text effect to apply. Mutually exclusive with `style`.

            - `const TextDecorationAnimationBig TextDecorationAnimation = "big"`

            - `const TextDecorationAnimationSmall TextDecorationAnimation = "small"`

            - `const TextDecorationAnimationShake TextDecorationAnimation = "shake"`

            - `const TextDecorationAnimationNod TextDecorationAnimation = "nod"`

            - `const TextDecorationAnimationExplode TextDecorationAnimation = "explode"`

            - `const TextDecorationAnimationRipple TextDecorationAnimation = "ripple"`

            - `const TextDecorationAnimationBloom TextDecorationAnimation = "bloom"`

            - `const TextDecorationAnimationJitter TextDecorationAnimation = "jitter"`

          - `Style TextDecorationStyle`

            Text style to apply. Mutually exclusive with `animation`.

            - `const TextDecorationStyleBold TextDecorationStyle = "bold"`

            - `const TextDecorationStyleItalic TextDecorationStyle = "italic"`

            - `const TextDecorationStyleStrikethrough TextDecorationStyle = "strikethrough"`

            - `const TextDecorationStyleUnderline TextDecorationStyle = "underline"`

      - `type SchemasMediaPartResponse struct{…}`

        A media attachment part

        - `ID string`

          Unique attachment identifier

        - `Filename string`

          Original filename

        - `MimeType string`

          MIME type of the file

        - `SizeBytes int64`

          File size in bytes

        - `Type SchemasMediaPartResponseType`

          Indicates this is a media attachment part

          - `const SchemasMediaPartResponseTypeMedia SchemasMediaPartResponseType = "media"`

        - `URL string`

          Presigned URL for downloading the attachment (expires in 1 hour).

      - `type MessageEventV2PartLink struct{…}`

        A rich link preview part

        - `Type Link`

          Indicates this is a rich link preview part

          - `const LinkLink Link = "link"`

        - `Value string`

          The URL

      - `type MessageEventV2PartIMessageApp struct{…}`

        An iMessage app card part.

        - `App MessageEventV2PartIMessageAppApp`

          Identifies the iMessage app (Messages app extension) that backs the card.

          - `BundleID string`

            Bundle identifier of the Messages app extension.

          - `Name string`

            Display name of the app.

          - `TeamID string`

            The app's 10-character team identifier.

          - `AppStoreID int64`

            The owning app's App Store id, when known.

        - `Layout MessageEventV2PartIMessageAppLayout`

          Visible layout of the card.

          - `Caption string`

            Primary label, top-left and bold.

          - `Subcaption string`

            Secondary label, below caption on the left.

          - `TrailingCaption string`

            Label shown top-right.

          - `TrailingSubcaption string`

            Label shown below trailing_caption.

        - `Type IMessageApp`

          Indicates this is an iMessage app card part.

          - `const IMessageAppIMessageApp IMessageApp = "imessage_app"`

        - `URL string`

          The URL the recipient's app opens when the user taps the card.

        - `FallbackText string`

          Fallback text for surfaces that cannot render the card.

      - `type MessageEventV2PartAppClip struct{…}`

        An Apple Pay App Clip payment card part

        - `Type AppClip`

          Indicates this is an App Clip payment card part

          - `const AppClipAppClip AppClip = "app_clip"`

        - `Value string`

          The checkout link the card opens

        - `Description string`

          The card's summary line, composed by Linq from the checkout session

        - `ImageURL string`

          The card's preview image

        - `Title string`

          The card's headline, composed by Linq from the checkout session

    - `SenderHandle ChatHandle`

      The handle that sent this message

    - `Service ServiceType`

      Messaging service type. Where this names the transport a message used,
      it is per-message: a chat's own `service` can differ from a message in
      it, and Apple can downgrade an individual message.

    - `DeliveredAt Time`

      When the message was delivered. Null if not yet delivered.

    - `DeviceFirstSeenAt Time`

      When the sending device was first seen for this sender (the message time for a newly seen device). Absent for SMS/RCS and for outbound messages.

    - `DeviceStatus MessageEventV2DeviceStatus`

      The device a sender used, relative to devices we've seen from them before. `first_contact` = their first device (first message we've seen from this sender); `known` = a device we've seen before; `new` = a device we have NOT seen for a sender who already had one (the account/SIM-takeover signal).

      - `const MessageEventV2DeviceStatusFirstContact MessageEventV2DeviceStatus = "first_contact"`

      - `const MessageEventV2DeviceStatusKnown MessageEventV2DeviceStatus = "known"`

      - `const MessageEventV2DeviceStatusNew MessageEventV2DeviceStatus = "new"`

    - `Effect SchemasMessageEffect`

      iMessage effect applied to a message (screen or bubble animation)

      - `Name string`

        Effect name (confetti, fireworks, slam, gentle, etc.)

      - `Type SchemasMessageEffectType`

        Effect category

        - `const SchemasMessageEffectTypeScreen SchemasMessageEffectType = "screen"`

        - `const SchemasMessageEffectTypeBubble SchemasMessageEffectType = "bubble"`

    - `IdempotencyKey string`

      Idempotency key for deduplication of outbound messages.

    - `PreferredService MessageEventV2PreferredService`

      Preferred messaging service type. Includes "auto" for default fallback behavior.

      - `const MessageEventV2PreferredServiceIMessage MessageEventV2PreferredService = "iMessage"`

      - `const MessageEventV2PreferredServiceSMS MessageEventV2PreferredService = "SMS"`

      - `const MessageEventV2PreferredServiceRCS MessageEventV2PreferredService = "RCS"`

      - `const MessageEventV2PreferredServiceAuto MessageEventV2PreferredService = "auto"`

    - `ReadAt Time`

      When the message was read. Null if not yet read.

    - `ReconciledAt Time`

      Present only when this message was recovered by reconciliation rather than delivered live, and set to the time of that recovery. The field is omitted entirely for normally-delivered messages, which is the overwhelming majority. When present, expect `sent_at` to be substantially earlier than delivery of this event: the message is genuine but is arriving late and out of real-time order, so treat it as history rather than as a live inbound (for example, suppress auto-replies).

    - `ReplyTo MessageEventV2ReplyTo`

      Reference to the message this is replying to (for threaded replies)

      - `MessageID string`

        ID of the message being replied to

      - `PartIndex int64`

        Index of the part being replied to

    - `SentAt Time`

      When the message was sent. Null if not yet sent.

    - `ZeroRetention bool`

      True when this message was sent on a zero-day-retention line. `parts` is always empty in that case — Linq never persists this message's content, so there is nothing to include here, not even a count or type of what was sent.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### message.delivered

- `type MessageDeliveredWebhookEvent struct{…}`

  Complete webhook payload for message.delivered events (2026-02-03 format)

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data MessageEventV2`

    Unified payload for message webhooks when using `webhook_version: "2026-02-03"`.

    This schema is used for message.sent, message.received, message.delivered, and message.read
    events when the subscription URL includes `?version=2026-02-03`.

    Key differences from V1 (2025-01-01):

    - `direction`: "inbound" or "outbound" instead of `is_from_me` boolean
    - `sender_handle`: Full handle object for the sender
    - `chat`: Nested object with `id`, `is_group`, and `owner_handle`
    - Message fields (`id`, `parts`, `effect`, etc.) are at the top level, not nested in `message`

    Timestamps indicate the message state:

    - `message.sent`: sent_at set, delivered_at=null, read_at=null
    - `message.received`: sent_at set, delivered_at=null, read_at=null
    - `message.delivered`: sent_at set, delivered_at set, read_at=null
    - `message.read`: sent_at set, delivered_at set, read_at set

    - `ID string`

      Message identifier

    - `Chat MessageEventV2Chat`

      Chat information

      - `ID string`

        Chat identifier

      - `HealthStatus MessageEventV2ChatHealthStatus`

        **[BETA]** Current health for a chat. Always present — chats start at `HEALTHY` and may shift based on engagement and delivery signals on the conversation. Many `AT_RISK` or `CRITICAL` chats on a single line increase the risk of line flagging.

        Switch on `status` to surface chat and line health in your UI — the enum is the long-term contract. Each status carries a `doc_url` that deep-links to the relevant section of the Chat Health guide. To gate a send, act on the response rather than the status: a `403` is the authoritative answer.

        See the [Chat Health guide](/channel/imessage/guides/chats/chat-health) for what each status means and how to react.

        - `DocURL string`

          Deep-link to the relevant section of the Chat Health guide for this status.

        - `Status string`

          Current health bucket for the chat. See the [Chat Health guide](/channel/imessage/guides/chats/chat-health) for what each value means and how to react. `doc_url` deep-links to the relevant section.

          `OPTED_OUT` — the recipient sent `STOP`, `UNSUBSCRIBE`, `OPTOUT`, `CANCEL`, `END`, or `QUIT`.
          The keyword must be the whole trimmed message, never part of a longer one: `STOP` counts, `please stop`
          does not. Most keywords must match exactly, including case. `OPT OUT` is the exception — it matches in any
          casing, with or without the space or a hyphen, so `opt out`, `Opt-Out` and `optout` all count. It clears as
          soon as they reply again: any later message from them that is not itself an opt-out keyword opts them back
          in immediately — a reply in any conversation with you counts, the same way the block does.

          `OPTED_OUT` marks only the conversation the keyword arrived in. The block below is wider than the mark, so
          a conversation still reading `HEALTHY` can be blocked as well — gate on the `403`, not on the status.
          Group threads are never marked and are never blocked.

          Linq enforces this: while a recipient is opted out, every send to them is rejected with `403` (error code
          `2024`) before the message is queued, across every chat and every line on your account. Nothing is
          delivered, including a final courtesy message — to send one, set `override_optout: true` on that single
          request.

          - `const MessageEventV2ChatHealthStatusStatusHealthy MessageEventV2ChatHealthStatusStatus = "HEALTHY"`

          - `const MessageEventV2ChatHealthStatusStatusAtRisk MessageEventV2ChatHealthStatusStatus = "AT_RISK"`

          - `const MessageEventV2ChatHealthStatusStatusCritical MessageEventV2ChatHealthStatusStatus = "CRITICAL"`

          - `const MessageEventV2ChatHealthStatusStatusOptedOut MessageEventV2ChatHealthStatusStatus = "OPTED_OUT"`

        - `UpdatedAt Time`

          When this status last changed.

      - `IsGroup bool`

        Whether this is a group chat

      - `OwnerHandle ChatHandle`

        Your phone number's handle. Always has is_me=true.

        - `ID string`

          Unique identifier for this handle

        - `Handle string`

          Phone number (E.164) or email address of the participant

        - `JoinedAt Time`

          When this participant joined the chat

        - `Service ServiceType`

          Messaging service type. Where this names the transport a message used,
          it is per-message: a chat's own `service` can differ from a message in
          it, and Apple can downgrade an individual message.

          - `const ServiceTypeIMessage ServiceType = "iMessage"`

          - `const ServiceTypeSMS ServiceType = "SMS"`

          - `const ServiceTypeRCS ServiceType = "RCS"`

        - `IsMe bool`

          Whether this handle belongs to the sender (your phone number)

        - `LeftAt Time`

          When they left (if applicable)

        - `LineType ChatHandleLineType`

          The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
          RCS-only line, which sends RCS and SMS but never iMessage. Same values as
          the `type` parameter on `GET /v3/available_number`. A property of the line
          itself, so unlike `service` it does not change with the conversation:
          an iMessage-capable line can still carry an RCS or SMS conversation.

          - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

          - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

        - `Status ChatHandleStatus`

          Participant status

          - `const ChatHandleStatusActive ChatHandleStatus = "active"`

          - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

          - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

    - `Direction MessageEventV2Direction`

      Message direction - "outbound" if sent by you, "inbound" if received

      - `const MessageEventV2DirectionInbound MessageEventV2Direction = "inbound"`

      - `const MessageEventV2DirectionOutbound MessageEventV2Direction = "outbound"`

    - `Parts []MessageEventV2PartUnion`

      Message parts (text and/or media)

      - `type SchemasTextPartResponse struct{…}`

        A text message part

        - `Type SchemasTextPartResponseType`

          Indicates this is a text message part

          - `const SchemasTextPartResponseTypeText SchemasTextPartResponseType = "text"`

        - `Value string`

          The text content

        - `InlineStickers []InlineStickerResponse`

          Stickers placed inside the text, in the order they appear in `value`. `null` when the
          part has none.

          Set on messages sent with `inline_stickers`. An inline sticker received over iMessage
          currently arrives as a separate media part.

          - `Range []int64`

            Character range `[start, end)` in `value` that the sticker replaces. Those characters
            are hidden on iMessage and sent as written on SMS and RCS.
            *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

          - `ID string`

            Attachment ID of the sticker image.

          - `FileName string`

            Filename of the sticker

          - `MimeType string`

            MIME type of the sticker image

          - `URL string`

            URL for downloading the sticker image. Permanent for a normal upload; a time-limited
            signed URL when the image is an ephemeral attachment.

        - `Mention string`

          DEPRECATED: Use `mentions` instead. Handle (E.164 phone number or Apple ID email)
          of the **first** mention on this part. A part may carry several mentions; this
          field shows only the first in `value` order, so it cannot be used to determine
          whether a given participant was mentioned. `null` when the part carries no mention.

        - `MentionRange []int64`

          DEPRECATED: Use `mentions[].range` instead. Character range `[start, end)` in
          `value` highlighted as the **first** mention only. `null` when the range was
          omitted (the whole `value` is highlighted) or the part carries no mention.
          *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

        - `Mentions []SchemasTextPartResponseMention`

          Every mention on this part, in the order they appear in `value`. `null` when the
          part carries no mention. A part can carry several mentions of different people —
          check `is_me` to tell whether this line was one of them.

          Only iMessage carries mentions. On a received message this is populated when the
          sender was on iMessage; SMS and RCS have no way to mark a mention, so a message
          from an SMS or RCS participant arrives as plain text with `mentions` null, even in
          a group where other participants are on iMessage.

          - `Handle string`

            Address of the mentioned participant, exactly as the device recorded it — an E.164
            phone number or an email address.

          - `IsMe bool`

            Whether the mentioned participant is this line.

          - `Range []int64`

            Character range `[start, end)` in `value` highlighted as this mention.
            *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

        - `TextDecorations []TextDecoration`

          Text decorations applied to character ranges in the value

          - `Range []int64`

            Character range `[start, end)` in the `value` string where the decoration applies.
            `start` is inclusive, `end` is exclusive.
            *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

          - `Animation TextDecorationAnimation`

            Animated text effect to apply. Mutually exclusive with `style`.

            - `const TextDecorationAnimationBig TextDecorationAnimation = "big"`

            - `const TextDecorationAnimationSmall TextDecorationAnimation = "small"`

            - `const TextDecorationAnimationShake TextDecorationAnimation = "shake"`

            - `const TextDecorationAnimationNod TextDecorationAnimation = "nod"`

            - `const TextDecorationAnimationExplode TextDecorationAnimation = "explode"`

            - `const TextDecorationAnimationRipple TextDecorationAnimation = "ripple"`

            - `const TextDecorationAnimationBloom TextDecorationAnimation = "bloom"`

            - `const TextDecorationAnimationJitter TextDecorationAnimation = "jitter"`

          - `Style TextDecorationStyle`

            Text style to apply. Mutually exclusive with `animation`.

            - `const TextDecorationStyleBold TextDecorationStyle = "bold"`

            - `const TextDecorationStyleItalic TextDecorationStyle = "italic"`

            - `const TextDecorationStyleStrikethrough TextDecorationStyle = "strikethrough"`

            - `const TextDecorationStyleUnderline TextDecorationStyle = "underline"`

      - `type SchemasMediaPartResponse struct{…}`

        A media attachment part

        - `ID string`

          Unique attachment identifier

        - `Filename string`

          Original filename

        - `MimeType string`

          MIME type of the file

        - `SizeBytes int64`

          File size in bytes

        - `Type SchemasMediaPartResponseType`

          Indicates this is a media attachment part

          - `const SchemasMediaPartResponseTypeMedia SchemasMediaPartResponseType = "media"`

        - `URL string`

          Presigned URL for downloading the attachment (expires in 1 hour).

      - `type MessageEventV2PartLink struct{…}`

        A rich link preview part

        - `Type Link`

          Indicates this is a rich link preview part

          - `const LinkLink Link = "link"`

        - `Value string`

          The URL

      - `type MessageEventV2PartIMessageApp struct{…}`

        An iMessage app card part.

        - `App MessageEventV2PartIMessageAppApp`

          Identifies the iMessage app (Messages app extension) that backs the card.

          - `BundleID string`

            Bundle identifier of the Messages app extension.

          - `Name string`

            Display name of the app.

          - `TeamID string`

            The app's 10-character team identifier.

          - `AppStoreID int64`

            The owning app's App Store id, when known.

        - `Layout MessageEventV2PartIMessageAppLayout`

          Visible layout of the card.

          - `Caption string`

            Primary label, top-left and bold.

          - `Subcaption string`

            Secondary label, below caption on the left.

          - `TrailingCaption string`

            Label shown top-right.

          - `TrailingSubcaption string`

            Label shown below trailing_caption.

        - `Type IMessageApp`

          Indicates this is an iMessage app card part.

          - `const IMessageAppIMessageApp IMessageApp = "imessage_app"`

        - `URL string`

          The URL the recipient's app opens when the user taps the card.

        - `FallbackText string`

          Fallback text for surfaces that cannot render the card.

      - `type MessageEventV2PartAppClip struct{…}`

        An Apple Pay App Clip payment card part

        - `Type AppClip`

          Indicates this is an App Clip payment card part

          - `const AppClipAppClip AppClip = "app_clip"`

        - `Value string`

          The checkout link the card opens

        - `Description string`

          The card's summary line, composed by Linq from the checkout session

        - `ImageURL string`

          The card's preview image

        - `Title string`

          The card's headline, composed by Linq from the checkout session

    - `SenderHandle ChatHandle`

      The handle that sent this message

    - `Service ServiceType`

      Messaging service type. Where this names the transport a message used,
      it is per-message: a chat's own `service` can differ from a message in
      it, and Apple can downgrade an individual message.

    - `DeliveredAt Time`

      When the message was delivered. Null if not yet delivered.

    - `DeviceFirstSeenAt Time`

      When the sending device was first seen for this sender (the message time for a newly seen device). Absent for SMS/RCS and for outbound messages.

    - `DeviceStatus MessageEventV2DeviceStatus`

      The device a sender used, relative to devices we've seen from them before. `first_contact` = their first device (first message we've seen from this sender); `known` = a device we've seen before; `new` = a device we have NOT seen for a sender who already had one (the account/SIM-takeover signal).

      - `const MessageEventV2DeviceStatusFirstContact MessageEventV2DeviceStatus = "first_contact"`

      - `const MessageEventV2DeviceStatusKnown MessageEventV2DeviceStatus = "known"`

      - `const MessageEventV2DeviceStatusNew MessageEventV2DeviceStatus = "new"`

    - `Effect SchemasMessageEffect`

      iMessage effect applied to a message (screen or bubble animation)

      - `Name string`

        Effect name (confetti, fireworks, slam, gentle, etc.)

      - `Type SchemasMessageEffectType`

        Effect category

        - `const SchemasMessageEffectTypeScreen SchemasMessageEffectType = "screen"`

        - `const SchemasMessageEffectTypeBubble SchemasMessageEffectType = "bubble"`

    - `IdempotencyKey string`

      Idempotency key for deduplication of outbound messages.

    - `PreferredService MessageEventV2PreferredService`

      Preferred messaging service type. Includes "auto" for default fallback behavior.

      - `const MessageEventV2PreferredServiceIMessage MessageEventV2PreferredService = "iMessage"`

      - `const MessageEventV2PreferredServiceSMS MessageEventV2PreferredService = "SMS"`

      - `const MessageEventV2PreferredServiceRCS MessageEventV2PreferredService = "RCS"`

      - `const MessageEventV2PreferredServiceAuto MessageEventV2PreferredService = "auto"`

    - `ReadAt Time`

      When the message was read. Null if not yet read.

    - `ReconciledAt Time`

      Present only when this message was recovered by reconciliation rather than delivered live, and set to the time of that recovery. The field is omitted entirely for normally-delivered messages, which is the overwhelming majority. When present, expect `sent_at` to be substantially earlier than delivery of this event: the message is genuine but is arriving late and out of real-time order, so treat it as history rather than as a live inbound (for example, suppress auto-replies).

    - `ReplyTo MessageEventV2ReplyTo`

      Reference to the message this is replying to (for threaded replies)

      - `MessageID string`

        ID of the message being replied to

      - `PartIndex int64`

        Index of the part being replied to

    - `SentAt Time`

      When the message was sent. Null if not yet sent.

    - `ZeroRetention bool`

      True when this message was sent on a zero-day-retention line. `parts` is always empty in that case — Linq never persists this message's content, so there is nothing to include here, not even a count or type of what was sent.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### message.failed

- `type MessageFailedWebhookEvent struct{…}`

  Complete webhook payload for message.failed events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data MessageFailedWebhookEventData`

    Error details for message.failed webhook events.
    See [WebhookErrorCode](#/components/schemas/WebhookErrorCode) for the full error code reference.

    In rare cases the message can still be delivered after this event fires — a `message.delivered` webhook for the same message ID may follow.

    - `Code int64`

      Error codes in webhook failure events. The possible set varies by event:
      message.failed and poll.failed can carry 3007, 4001, 4002, 4005, 4006, 4007, or
      4008; the group update failure events (chat.group_name_update_failed,
      chat.group_icon_update_failed) carry 3007 or 4001; chat.background_update_failed
      carries 1005, 2011, 4001, or 5002.

    - `FailedAt Time`

      When the failure was detected

    - `ChatID string`

      Chat identifier (UUID)

    - `DetailCode int64`

      Opaque diagnostic code identifying the specific failure class within `code`.
      Values are not enumerated and may change without notice — log it and include
      it in support requests, but do not branch on it.

    - `MessageID string`

      Message identifier (UUID)

    - `PreferredService string`

      Preferred messaging service type. Includes "auto" for default fallback behavior.

      - `const MessageFailedWebhookEventDataPreferredServiceIMessage MessageFailedWebhookEventDataPreferredService = "iMessage"`

      - `const MessageFailedWebhookEventDataPreferredServiceSMS MessageFailedWebhookEventDataPreferredService = "SMS"`

      - `const MessageFailedWebhookEventDataPreferredServiceRCS MessageFailedWebhookEventDataPreferredService = "RCS"`

      - `const MessageFailedWebhookEventDataPreferredServiceAuto MessageFailedWebhookEventDataPreferredService = "auto"`

    - `Reason string`

      Human-readable description of the failure

    - `Service ServiceType`

      Messaging service type. Where this names the transport a message used,
      it is per-message: a chat's own `service` can differ from a message in
      it, and Apple can downgrade an individual message.

      - `const ServiceTypeIMessage ServiceType = "iMessage"`

      - `const ServiceTypeSMS ServiceType = "SMS"`

      - `const ServiceTypeRCS ServiceType = "RCS"`

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### message.edited

- `type MessageEditedWebhookEvent struct{…}`

  Complete webhook payload for message.edited events (2026-02-03 format only)

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data MessageEditedWebhookEventData`

    Payload for `message.edited` events (2026-02-03 format).

    Describes which part of a message was edited and when. Only text parts can be edited.
    Only available for subscriptions using `webhook_version: "2026-02-03"`.

    - `ID string`

      Message identifier

    - `Chat MessageEditedWebhookEventDataChat`

      Chat context

      - `ID string`

        Chat identifier

      - `HealthStatus MessageEditedWebhookEventDataChatHealthStatus`

        **[BETA]** Current health for a chat. Always present — chats start at `HEALTHY` and may shift based on engagement and delivery signals on the conversation. Many `AT_RISK` or `CRITICAL` chats on a single line increase the risk of line flagging.

        Switch on `status` to surface chat and line health in your UI — the enum is the long-term contract. Each status carries a `doc_url` that deep-links to the relevant section of the Chat Health guide. To gate a send, act on the response rather than the status: a `403` is the authoritative answer.

        See the [Chat Health guide](/channel/imessage/guides/chats/chat-health) for what each status means and how to react.

        - `DocURL string`

          Deep-link to the relevant section of the Chat Health guide for this status.

        - `Status string`

          Current health bucket for the chat. See the [Chat Health guide](/channel/imessage/guides/chats/chat-health) for what each value means and how to react. `doc_url` deep-links to the relevant section.

          `OPTED_OUT` — the recipient sent `STOP`, `UNSUBSCRIBE`, `OPTOUT`, `CANCEL`, `END`, or `QUIT`.
          The keyword must be the whole trimmed message, never part of a longer one: `STOP` counts, `please stop`
          does not. Most keywords must match exactly, including case. `OPT OUT` is the exception — it matches in any
          casing, with or without the space or a hyphen, so `opt out`, `Opt-Out` and `optout` all count. It clears as
          soon as they reply again: any later message from them that is not itself an opt-out keyword opts them back
          in immediately — a reply in any conversation with you counts, the same way the block does.

          `OPTED_OUT` marks only the conversation the keyword arrived in. The block below is wider than the mark, so
          a conversation still reading `HEALTHY` can be blocked as well — gate on the `403`, not on the status.
          Group threads are never marked and are never blocked.

          Linq enforces this: while a recipient is opted out, every send to them is rejected with `403` (error code
          `2024`) before the message is queued, across every chat and every line on your account. Nothing is
          delivered, including a final courtesy message — to send one, set `override_optout: true` on that single
          request.

          - `const MessageEditedWebhookEventDataChatHealthStatusStatusHealthy MessageEditedWebhookEventDataChatHealthStatusStatus = "HEALTHY"`

          - `const MessageEditedWebhookEventDataChatHealthStatusStatusAtRisk MessageEditedWebhookEventDataChatHealthStatusStatus = "AT_RISK"`

          - `const MessageEditedWebhookEventDataChatHealthStatusStatusCritical MessageEditedWebhookEventDataChatHealthStatusStatus = "CRITICAL"`

          - `const MessageEditedWebhookEventDataChatHealthStatusStatusOptedOut MessageEditedWebhookEventDataChatHealthStatusStatus = "OPTED_OUT"`

        - `UpdatedAt Time`

          When this status last changed.

      - `IsGroup bool`

        Whether this is a group chat

      - `OwnerHandle ChatHandle`

        The handle that owns this chat (your phone number)

        - `ID string`

          Unique identifier for this handle

        - `Handle string`

          Phone number (E.164) or email address of the participant

        - `JoinedAt Time`

          When this participant joined the chat

        - `Service ServiceType`

          Messaging service type. Where this names the transport a message used,
          it is per-message: a chat's own `service` can differ from a message in
          it, and Apple can downgrade an individual message.

          - `const ServiceTypeIMessage ServiceType = "iMessage"`

          - `const ServiceTypeSMS ServiceType = "SMS"`

          - `const ServiceTypeRCS ServiceType = "RCS"`

        - `IsMe bool`

          Whether this handle belongs to the sender (your phone number)

        - `LeftAt Time`

          When they left (if applicable)

        - `LineType ChatHandleLineType`

          The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
          RCS-only line, which sends RCS and SMS but never iMessage. Same values as
          the `type` parameter on `GET /v3/available_number`. A property of the line
          itself, so unlike `service` it does not change with the conversation:
          an iMessage-capable line can still carry an RCS or SMS conversation.

          - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

          - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

        - `Status ChatHandleStatus`

          Participant status

          - `const ChatHandleStatusActive ChatHandleStatus = "active"`

          - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

          - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

    - `Direction string`

      "outbound" if you sent the original message, "inbound" if you received it

      - `const MessageEditedWebhookEventDataDirectionOutbound MessageEditedWebhookEventDataDirection = "outbound"`

      - `const MessageEditedWebhookEventDataDirectionInbound MessageEditedWebhookEventDataDirection = "inbound"`

    - `EditedAt Time`

      When the edit occurred

    - `Part MessageEditedWebhookEventDataPart`

      The edited part

      - `Index int64`

        Zero-based index of the edited part within the message

      - `Text string`

        New text content of the part

    - `SenderHandle ChatHandle`

      The handle that sent (and edited) this message

    - `ZeroRetention bool`

      True when the edited message is on a zero-day-retention line. Behavior differs by `direction`: on an outbound edit, `part.text` is empty — you already saw the real edited text once, synchronously, in the edit API response, and Linq never persists it. On an inbound edit, `part.text` is still the real text as received; zero-day-retention only means Linq never persists it.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### reaction.added

- `type ReactionAddedWebhookEvent struct{…}`

  Complete webhook payload for reaction.added events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ReactionEventBase`

    Payload for reaction.added webhook events

    - `IsFromMe bool`

      Whether this reaction was from the owner of the phone number (true) or from someone else (false)

    - `ReactionType ReactionType`

      Type of reaction. Standard iMessage tapbacks are love, like, dislike, laugh, emphasize, question.
      Custom emoji reactions have type "custom" with the actual emoji in the custom_emoji field.
      Sticker reactions have type "sticker" with sticker attachment details in the sticker field.

      - `const ReactionTypeLove ReactionType = "love"`

      - `const ReactionTypeLike ReactionType = "like"`

      - `const ReactionTypeDislike ReactionType = "dislike"`

      - `const ReactionTypeLaugh ReactionType = "laugh"`

      - `const ReactionTypeEmphasize ReactionType = "emphasize"`

      - `const ReactionTypeQuestion ReactionType = "question"`

      - `const ReactionTypeCustom ReactionType = "custom"`

      - `const ReactionTypeSticker ReactionType = "sticker"`

    - `ChatID string`

      Chat identifier (UUID)

    - `CustomEmoji string`

      The actual emoji when reaction_type is "custom". Null for standard tapbacks.

    - `From string`

      DEPRECATED: Use from_handle instead. Phone number or email address of the person who added/removed the reaction.

    - `FromHandle ChatHandle`

      The person who added/removed the reaction as a full handle object

      - `ID string`

        Unique identifier for this handle

      - `Handle string`

        Phone number (E.164) or email address of the participant

      - `JoinedAt Time`

        When this participant joined the chat

      - `Service ServiceType`

        Messaging service type. Where this names the transport a message used,
        it is per-message: a chat's own `service` can differ from a message in
        it, and Apple can downgrade an individual message.

        - `const ServiceTypeIMessage ServiceType = "iMessage"`

        - `const ServiceTypeSMS ServiceType = "SMS"`

        - `const ServiceTypeRCS ServiceType = "RCS"`

      - `IsMe bool`

        Whether this handle belongs to the sender (your phone number)

      - `LeftAt Time`

        When they left (if applicable)

      - `LineType ChatHandleLineType`

        The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
        RCS-only line, which sends RCS and SMS but never iMessage. Same values as
        the `type` parameter on `GET /v3/available_number`. A property of the line
        itself, so unlike `service` it does not change with the conversation:
        an iMessage-capable line can still carry an RCS or SMS conversation.

        - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

        - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

      - `Status ChatHandleStatus`

        Participant status

        - `const ChatHandleStatusActive ChatHandleStatus = "active"`

        - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

        - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

    - `MessageID string`

      Message identifier (UUID) that the reaction was added to or removed from

    - `PartIndex int64`

      Index of the message part that was reacted to (0-based)

    - `ReactedAt Time`

      When the reaction was added or removed

    - `ReactionID string`

      Identifier for this reaction. Pass it to
      `PATCH /v3/messages/{messageId}/reactions/{reactionId}` to move a sticker.
      Stickers stack, so this is what distinguishes one sticker from another on the
      same message.

    - `Service ServiceType`

      Messaging service type. Where this names the transport a message used,
      it is per-message: a chat's own `service` can differ from a message in
      it, and Apple can downgrade an individual message.

    - `Sticker ReactionEventBaseSticker`

      Sticker attachment details when reaction_type is "sticker". Null for non-sticker reactions.

      - `FileName string`

        Filename of the sticker

      - `Height int64`

        Sticker image height in pixels

      - `MimeType string`

        MIME type of the sticker image

      - `URL string`

        Presigned URL for downloading the sticker image (expires in 1 hour).

      - `Width int64`

        Sticker image width in pixels

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### reaction.removed

- `type ReactionRemovedWebhookEvent struct{…}`

  Complete webhook payload for reaction.removed events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ReactionEventBase`

    Payload for reaction.removed webhook events

    - `IsFromMe bool`

      Whether this reaction was from the owner of the phone number (true) or from someone else (false)

    - `ReactionType ReactionType`

      Type of reaction. Standard iMessage tapbacks are love, like, dislike, laugh, emphasize, question.
      Custom emoji reactions have type "custom" with the actual emoji in the custom_emoji field.
      Sticker reactions have type "sticker" with sticker attachment details in the sticker field.

      - `const ReactionTypeLove ReactionType = "love"`

      - `const ReactionTypeLike ReactionType = "like"`

      - `const ReactionTypeDislike ReactionType = "dislike"`

      - `const ReactionTypeLaugh ReactionType = "laugh"`

      - `const ReactionTypeEmphasize ReactionType = "emphasize"`

      - `const ReactionTypeQuestion ReactionType = "question"`

      - `const ReactionTypeCustom ReactionType = "custom"`

      - `const ReactionTypeSticker ReactionType = "sticker"`

    - `ChatID string`

      Chat identifier (UUID)

    - `CustomEmoji string`

      The actual emoji when reaction_type is "custom". Null for standard tapbacks.

    - `From string`

      DEPRECATED: Use from_handle instead. Phone number or email address of the person who added/removed the reaction.

    - `FromHandle ChatHandle`

      The person who added/removed the reaction as a full handle object

      - `ID string`

        Unique identifier for this handle

      - `Handle string`

        Phone number (E.164) or email address of the participant

      - `JoinedAt Time`

        When this participant joined the chat

      - `Service ServiceType`

        Messaging service type. Where this names the transport a message used,
        it is per-message: a chat's own `service` can differ from a message in
        it, and Apple can downgrade an individual message.

        - `const ServiceTypeIMessage ServiceType = "iMessage"`

        - `const ServiceTypeSMS ServiceType = "SMS"`

        - `const ServiceTypeRCS ServiceType = "RCS"`

      - `IsMe bool`

        Whether this handle belongs to the sender (your phone number)

      - `LeftAt Time`

        When they left (if applicable)

      - `LineType ChatHandleLineType`

        The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
        RCS-only line, which sends RCS and SMS but never iMessage. Same values as
        the `type` parameter on `GET /v3/available_number`. A property of the line
        itself, so unlike `service` it does not change with the conversation:
        an iMessage-capable line can still carry an RCS or SMS conversation.

        - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

        - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

      - `Status ChatHandleStatus`

        Participant status

        - `const ChatHandleStatusActive ChatHandleStatus = "active"`

        - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

        - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

    - `MessageID string`

      Message identifier (UUID) that the reaction was added to or removed from

    - `PartIndex int64`

      Index of the message part that was reacted to (0-based)

    - `ReactedAt Time`

      When the reaction was added or removed

    - `ReactionID string`

      Identifier for this reaction. Pass it to
      `PATCH /v3/messages/{messageId}/reactions/{reactionId}` to move a sticker.
      Stickers stack, so this is what distinguishes one sticker from another on the
      same message.

    - `Service ServiceType`

      Messaging service type. Where this names the transport a message used,
      it is per-message: a chat's own `service` can differ from a message in
      it, and Apple can downgrade an individual message.

    - `Sticker ReactionEventBaseSticker`

      Sticker attachment details when reaction_type is "sticker". Null for non-sticker reactions.

      - `FileName string`

        Filename of the sticker

      - `Height int64`

        Sticker image height in pixels

      - `MimeType string`

        MIME type of the sticker image

      - `URL string`

        Presigned URL for downloading the sticker image (expires in 1 hour).

      - `Width int64`

        Sticker image width in pixels

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### poll.received

- `type PollReceivedWebhookEvent struct{…}`

  Complete webhook payload for poll.received events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data PollReceivedWebhookEventData`

    Payload for poll.received — a poll created by someone else and delivered to your line.
    Carries the full poll snapshot (options, no voters yet) at receipt time.

    - `Chat PollReceivedWebhookEventDataChat`

      Chat info for poll webhook events.

      - `ID string`

      - `IsGroup bool`

      - `OwnerHandle ChatHandle`

        - `ID string`

          Unique identifier for this handle

        - `Handle string`

          Phone number (E.164) or email address of the participant

        - `JoinedAt Time`

          When this participant joined the chat

        - `Service ServiceType`

          Messaging service type. Where this names the transport a message used,
          it is per-message: a chat's own `service` can differ from a message in
          it, and Apple can downgrade an individual message.

          - `const ServiceTypeIMessage ServiceType = "iMessage"`

          - `const ServiceTypeSMS ServiceType = "SMS"`

          - `const ServiceTypeRCS ServiceType = "RCS"`

        - `IsMe bool`

          Whether this handle belongs to the sender (your phone number)

        - `LeftAt Time`

          When they left (if applicable)

        - `LineType ChatHandleLineType`

          The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
          RCS-only line, which sends RCS and SMS but never iMessage. Same values as
          the `type` parameter on `GET /v3/available_number`. A property of the line
          itself, so unlike `service` it does not change with the conversation:
          an iMessage-capable line can still carry an RCS or SMS conversation.

          - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

          - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

        - `Status ChatHandleStatus`

          Participant status

          - `const ChatHandleStatusActive ChatHandleStatus = "active"`

          - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

          - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

    - `CreatedAt Time`

    - `Direction string`

      - `const PollReceivedWebhookEventDataDirectionInbound PollReceivedWebhookEventDataDirection = "inbound"`

      - `const PollReceivedWebhookEventDataDirectionOutbound PollReceivedWebhookEventDataDirection = "outbound"`

    - `MessageID string`

    - `Poll PollReceivedWebhookEventDataPoll`

      - `Options []PollReceivedWebhookEventDataPollOption`

        - `CanBeEdited bool`

        - `CreatorHandle ChatHandle`

          The participant who added this option (poll creator for the initial options; whoever
          added later ones). On a poll.updated this differs from the event's `sender_handle`
          whenever a remote participant added the option. Null when unknown.

        - `OptionID string`

        - `Text string`

        - `Voters []PollReceivedWebhookEventDataPollOptionVoter`

          - `Handle string`

          - `VotedAt Time`

      - `TotalVoters int64`

        Distinct participants across the whole poll.

    - `ReceivedAt Time`

    - `Service string`

    - `UpdatedAt Time`

    - `SenderHandle ChatHandle`

      The line that created the poll (is_me=false for an inbound poll).

    - `ZeroRetention bool`

      True when your line has zero-day-retention enabled. Unlike other poll webhooks, option `text` here is still the real, unstripped text as received — Linq never persists it in the database, but this webhook fires from the live inbound event, not a database read, so this is the one place it's shown.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### poll.sent

- `type PollSentWebhookEvent struct{…}`

  Complete webhook payload for poll.sent events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data PollSentWebhookEventData`

    Payload for poll.sent, poll.delivered, and poll.read webhook events. Timestamps indicate
    state (null = not yet happened): sent → sent_at; delivered → +delivered_at; read → +read_at.

    - `Chat PollSentWebhookEventDataChat`

      Chat info for poll webhook events.

      - `ID string`

      - `IsGroup bool`

      - `OwnerHandle ChatHandle`

        - `ID string`

          Unique identifier for this handle

        - `Handle string`

          Phone number (E.164) or email address of the participant

        - `JoinedAt Time`

          When this participant joined the chat

        - `Service ServiceType`

          Messaging service type. Where this names the transport a message used,
          it is per-message: a chat's own `service` can differ from a message in
          it, and Apple can downgrade an individual message.

          - `const ServiceTypeIMessage ServiceType = "iMessage"`

          - `const ServiceTypeSMS ServiceType = "SMS"`

          - `const ServiceTypeRCS ServiceType = "RCS"`

        - `IsMe bool`

          Whether this handle belongs to the sender (your phone number)

        - `LeftAt Time`

          When they left (if applicable)

        - `LineType ChatHandleLineType`

          The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
          RCS-only line, which sends RCS and SMS but never iMessage. Same values as
          the `type` parameter on `GET /v3/available_number`. A property of the line
          itself, so unlike `service` it does not change with the conversation:
          an iMessage-capable line can still carry an RCS or SMS conversation.

          - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

          - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

        - `Status ChatHandleStatus`

          Participant status

          - `const ChatHandleStatusActive ChatHandleStatus = "active"`

          - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

          - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

    - `CreatedAt Time`

    - `Direction string`

      - `const PollSentWebhookEventDataDirectionInbound PollSentWebhookEventDataDirection = "inbound"`

      - `const PollSentWebhookEventDataDirectionOutbound PollSentWebhookEventDataDirection = "outbound"`

    - `MessageID string`

    - `Poll PollSentWebhookEventDataPoll`

      - `Options []PollSentWebhookEventDataPollOption`

        - `CanBeEdited bool`

        - `CreatorHandle ChatHandle`

          The participant who added this option (poll creator for the initial options; whoever
          added later ones). On a poll.updated this differs from the event's `sender_handle`
          whenever a remote participant added the option. Null when unknown.

        - `OptionID string`

        - `Text string`

        - `Voters []PollSentWebhookEventDataPollOptionVoter`

          - `Handle string`

          - `VotedAt Time`

      - `TotalVoters int64`

        Distinct participants across the whole poll.

    - `Service string`

    - `UpdatedAt Time`

    - `DeliveredAt Time`

    - `ReadAt Time`

    - `SenderHandle ChatHandle`

      The handle that sent the poll.

    - `SentAt Time`

    - `ZeroRetention bool`

      True when this poll was sent on a zero-day-retention line. Every option's `text` is empty in that case — Linq never persists poll option text, so there is nothing to include here. The real text was only ever shown once, synchronously, in the API response when the poll was created or added to.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### poll.delivered

- `type PollDeliveredWebhookEvent struct{…}`

  Complete webhook payload for poll.delivered events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data PollDeliveredWebhookEventData`

    Payload for poll.sent, poll.delivered, and poll.read webhook events. Timestamps indicate
    state (null = not yet happened): sent → sent_at; delivered → +delivered_at; read → +read_at.

    - `Chat PollDeliveredWebhookEventDataChat`

      Chat info for poll webhook events.

      - `ID string`

      - `IsGroup bool`

      - `OwnerHandle ChatHandle`

        - `ID string`

          Unique identifier for this handle

        - `Handle string`

          Phone number (E.164) or email address of the participant

        - `JoinedAt Time`

          When this participant joined the chat

        - `Service ServiceType`

          Messaging service type. Where this names the transport a message used,
          it is per-message: a chat's own `service` can differ from a message in
          it, and Apple can downgrade an individual message.

          - `const ServiceTypeIMessage ServiceType = "iMessage"`

          - `const ServiceTypeSMS ServiceType = "SMS"`

          - `const ServiceTypeRCS ServiceType = "RCS"`

        - `IsMe bool`

          Whether this handle belongs to the sender (your phone number)

        - `LeftAt Time`

          When they left (if applicable)

        - `LineType ChatHandleLineType`

          The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
          RCS-only line, which sends RCS and SMS but never iMessage. Same values as
          the `type` parameter on `GET /v3/available_number`. A property of the line
          itself, so unlike `service` it does not change with the conversation:
          an iMessage-capable line can still carry an RCS or SMS conversation.

          - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

          - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

        - `Status ChatHandleStatus`

          Participant status

          - `const ChatHandleStatusActive ChatHandleStatus = "active"`

          - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

          - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

    - `CreatedAt Time`

    - `Direction string`

      - `const PollDeliveredWebhookEventDataDirectionInbound PollDeliveredWebhookEventDataDirection = "inbound"`

      - `const PollDeliveredWebhookEventDataDirectionOutbound PollDeliveredWebhookEventDataDirection = "outbound"`

    - `MessageID string`

    - `Poll PollDeliveredWebhookEventDataPoll`

      - `Options []PollDeliveredWebhookEventDataPollOption`

        - `CanBeEdited bool`

        - `CreatorHandle ChatHandle`

          The participant who added this option (poll creator for the initial options; whoever
          added later ones). On a poll.updated this differs from the event's `sender_handle`
          whenever a remote participant added the option. Null when unknown.

        - `OptionID string`

        - `Text string`

        - `Voters []PollDeliveredWebhookEventDataPollOptionVoter`

          - `Handle string`

          - `VotedAt Time`

      - `TotalVoters int64`

        Distinct participants across the whole poll.

    - `Service string`

    - `UpdatedAt Time`

    - `DeliveredAt Time`

    - `ReadAt Time`

    - `SenderHandle ChatHandle`

      The handle that sent the poll.

    - `SentAt Time`

    - `ZeroRetention bool`

      True when this poll was sent on a zero-day-retention line. Every option's `text` is empty in that case — Linq never persists poll option text, so there is nothing to include here. The real text was only ever shown once, synchronously, in the API response when the poll was created or added to.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### poll.read

- `type PollReadWebhookEvent struct{…}`

  Complete webhook payload for poll.read events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data PollReadWebhookEventData`

    Payload for poll.sent, poll.delivered, and poll.read webhook events. Timestamps indicate
    state (null = not yet happened): sent → sent_at; delivered → +delivered_at; read → +read_at.

    - `Chat PollReadWebhookEventDataChat`

      Chat info for poll webhook events.

      - `ID string`

      - `IsGroup bool`

      - `OwnerHandle ChatHandle`

        - `ID string`

          Unique identifier for this handle

        - `Handle string`

          Phone number (E.164) or email address of the participant

        - `JoinedAt Time`

          When this participant joined the chat

        - `Service ServiceType`

          Messaging service type. Where this names the transport a message used,
          it is per-message: a chat's own `service` can differ from a message in
          it, and Apple can downgrade an individual message.

          - `const ServiceTypeIMessage ServiceType = "iMessage"`

          - `const ServiceTypeSMS ServiceType = "SMS"`

          - `const ServiceTypeRCS ServiceType = "RCS"`

        - `IsMe bool`

          Whether this handle belongs to the sender (your phone number)

        - `LeftAt Time`

          When they left (if applicable)

        - `LineType ChatHandleLineType`

          The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
          RCS-only line, which sends RCS and SMS but never iMessage. Same values as
          the `type` parameter on `GET /v3/available_number`. A property of the line
          itself, so unlike `service` it does not change with the conversation:
          an iMessage-capable line can still carry an RCS or SMS conversation.

          - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

          - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

        - `Status ChatHandleStatus`

          Participant status

          - `const ChatHandleStatusActive ChatHandleStatus = "active"`

          - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

          - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

    - `CreatedAt Time`

    - `Direction string`

      - `const PollReadWebhookEventDataDirectionInbound PollReadWebhookEventDataDirection = "inbound"`

      - `const PollReadWebhookEventDataDirectionOutbound PollReadWebhookEventDataDirection = "outbound"`

    - `MessageID string`

    - `Poll PollReadWebhookEventDataPoll`

      - `Options []PollReadWebhookEventDataPollOption`

        - `CanBeEdited bool`

        - `CreatorHandle ChatHandle`

          The participant who added this option (poll creator for the initial options; whoever
          added later ones). On a poll.updated this differs from the event's `sender_handle`
          whenever a remote participant added the option. Null when unknown.

        - `OptionID string`

        - `Text string`

        - `Voters []PollReadWebhookEventDataPollOptionVoter`

          - `Handle string`

          - `VotedAt Time`

      - `TotalVoters int64`

        Distinct participants across the whole poll.

    - `Service string`

    - `UpdatedAt Time`

    - `DeliveredAt Time`

    - `ReadAt Time`

    - `SenderHandle ChatHandle`

      The handle that sent the poll.

    - `SentAt Time`

    - `ZeroRetention bool`

      True when this poll was sent on a zero-day-retention line. Every option's `text` is empty in that case — Linq never persists poll option text, so there is nothing to include here. The real text was only ever shown once, synchronously, in the API response when the poll was created or added to.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### poll.updated

- `type PollUpdatedWebhookEvent struct{…}`

  Complete webhook payload for poll.updated events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data PollUpdatedWebhookEventData`

    Payload for poll.updated (option(s) added — add-only).

    - `AddedOptions []PollUpdatedWebhookEventDataAddedOption`

      Only the options this update added — never the ones the poll already had. Fetch the poll to read its full option set.

      - `CanBeEdited bool`

      - `CreatorHandle ChatHandle`

        The participant who added this option (poll creator for the initial options; whoever
        added later ones). On a poll.updated this differs from the event's `sender_handle`
        whenever a remote participant added the option. Null when unknown.

        - `ID string`

          Unique identifier for this handle

        - `Handle string`

          Phone number (E.164) or email address of the participant

        - `JoinedAt Time`

          When this participant joined the chat

        - `Service ServiceType`

          Messaging service type. Where this names the transport a message used,
          it is per-message: a chat's own `service` can differ from a message in
          it, and Apple can downgrade an individual message.

          - `const ServiceTypeIMessage ServiceType = "iMessage"`

          - `const ServiceTypeSMS ServiceType = "SMS"`

          - `const ServiceTypeRCS ServiceType = "RCS"`

        - `IsMe bool`

          Whether this handle belongs to the sender (your phone number)

        - `LeftAt Time`

          When they left (if applicable)

        - `LineType ChatHandleLineType`

          The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
          RCS-only line, which sends RCS and SMS but never iMessage. Same values as
          the `type` parameter on `GET /v3/available_number`. A property of the line
          itself, so unlike `service` it does not change with the conversation:
          an iMessage-capable line can still carry an RCS or SMS conversation.

          - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

          - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

        - `Status ChatHandleStatus`

          Participant status

          - `const ChatHandleStatusActive ChatHandleStatus = "active"`

          - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

          - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

      - `OptionID string`

      - `Text string`

      - `Voters []PollUpdatedWebhookEventDataAddedOptionVoter`

        - `Handle string`

        - `VotedAt Time`

    - `Chat PollUpdatedWebhookEventDataChat`

      Chat info for poll webhook events.

      - `ID string`

      - `IsGroup bool`

      - `OwnerHandle ChatHandle`

    - `Direction string`

      - `const PollUpdatedWebhookEventDataDirectionInbound PollUpdatedWebhookEventDataDirection = "inbound"`

      - `const PollUpdatedWebhookEventDataDirectionOutbound PollUpdatedWebhookEventDataDirection = "outbound"`

    - `MessageID string`

    - `SenderHandle ChatHandle`

      Your line — the one that received or sent this update. Always present. On an inbound
      update this is NOT who added the option: use `added_options[].creator_handle` for
      that, which will be the remote participant.

    - `Service string`

    - `ZeroRetention bool`

      True when zero-day-retention applies to this update. Behavior differs by `direction`: on an inbound update, `added_options[].text` is the real text a participant just added; on an outbound update, it is empty — you already saw the real text once, synchronously, in the API response when you made the add, and this webhook is built from a database read, which never stored it.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### poll.failed

- `type PollFailedWebhookEvent struct{…}`

  Complete webhook payload for poll.failed events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data PollFailedWebhookEventData`

    Payload for poll.failed — an outbound poll (or poll action) that failed to send. Carries the
    poll snapshot at failure time plus the error and when it failed.

    - `Chat PollFailedWebhookEventDataChat`

      Chat info for poll webhook events.

      - `ID string`

      - `IsGroup bool`

      - `OwnerHandle ChatHandle`

        - `ID string`

          Unique identifier for this handle

        - `Handle string`

          Phone number (E.164) or email address of the participant

        - `JoinedAt Time`

          When this participant joined the chat

        - `Service ServiceType`

          Messaging service type. Where this names the transport a message used,
          it is per-message: a chat's own `service` can differ from a message in
          it, and Apple can downgrade an individual message.

          - `const ServiceTypeIMessage ServiceType = "iMessage"`

          - `const ServiceTypeSMS ServiceType = "SMS"`

          - `const ServiceTypeRCS ServiceType = "RCS"`

        - `IsMe bool`

          Whether this handle belongs to the sender (your phone number)

        - `LeftAt Time`

          When they left (if applicable)

        - `LineType ChatHandleLineType`

          The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
          RCS-only line, which sends RCS and SMS but never iMessage. Same values as
          the `type` parameter on `GET /v3/available_number`. A property of the line
          itself, so unlike `service` it does not change with the conversation:
          an iMessage-capable line can still carry an RCS or SMS conversation.

          - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

          - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

        - `Status ChatHandleStatus`

          Participant status

          - `const ChatHandleStatusActive ChatHandleStatus = "active"`

          - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

          - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

    - `Direction string`

      - `const PollFailedWebhookEventDataDirectionInbound PollFailedWebhookEventDataDirection = "inbound"`

      - `const PollFailedWebhookEventDataDirectionOutbound PollFailedWebhookEventDataDirection = "outbound"`

    - `Error PollFailedWebhookEventDataError`

      - `Code int64`

        Error codes in webhook failure events. The possible set varies by event:
        message.failed and poll.failed can carry 3007, 4001, 4002, 4005, 4006, 4007, or
        4008; the group update failure events (chat.group_name_update_failed,
        chat.group_icon_update_failed) carry 3007 or 4001; chat.background_update_failed
        carries 1005, 2011, 4001, or 5002.

      - `Message string`

    - `FailedAt Time`

    - `MessageID string`

    - `Poll PollFailedWebhookEventDataPoll`

      - `Options []PollFailedWebhookEventDataPollOption`

        - `CanBeEdited bool`

        - `CreatorHandle ChatHandle`

          The participant who added this option (poll creator for the initial options; whoever
          added later ones). On a poll.updated this differs from the event's `sender_handle`
          whenever a remote participant added the option. Null when unknown.

        - `OptionID string`

        - `Text string`

        - `Voters []PollFailedWebhookEventDataPollOptionVoter`

          - `Handle string`

          - `VotedAt Time`

      - `TotalVoters int64`

        Distinct participants across the whole poll.

    - `Service string`

    - `SenderHandle ChatHandle`

      Null on failure (the send never landed).

    - `ZeroRetention bool`

      True when this poll was sent on a zero-day-retention line. `poll` is built from the same database read as poll.sent/delivered/read, so every option's `text` is empty.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### poll.vote.added

- `type PollVoteAddedWebhookEvent struct{…}`

  Complete webhook payload for poll.vote.added events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data PollVoteAddedWebhookEventData`

    Payload for poll.vote.added and poll.vote.removed (one option toggled).

    - `Chat PollVoteAddedWebhookEventDataChat`

      Chat info for poll webhook events.

      - `ID string`

      - `IsGroup bool`

      - `OwnerHandle ChatHandle`

        - `ID string`

          Unique identifier for this handle

        - `Handle string`

          Phone number (E.164) or email address of the participant

        - `JoinedAt Time`

          When this participant joined the chat

        - `Service ServiceType`

          Messaging service type. Where this names the transport a message used,
          it is per-message: a chat's own `service` can differ from a message in
          it, and Apple can downgrade an individual message.

          - `const ServiceTypeIMessage ServiceType = "iMessage"`

          - `const ServiceTypeSMS ServiceType = "SMS"`

          - `const ServiceTypeRCS ServiceType = "RCS"`

        - `IsMe bool`

          Whether this handle belongs to the sender (your phone number)

        - `LeftAt Time`

          When they left (if applicable)

        - `LineType ChatHandleLineType`

          The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
          RCS-only line, which sends RCS and SMS but never iMessage. Same values as
          the `type` parameter on `GET /v3/available_number`. A property of the line
          itself, so unlike `service` it does not change with the conversation:
          an iMessage-capable line can still carry an RCS or SMS conversation.

          - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

          - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

        - `Status ChatHandleStatus`

          Participant status

          - `const ChatHandleStatusActive ChatHandleStatus = "active"`

          - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

          - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

    - `Direction string`

      - `const PollVoteAddedWebhookEventDataDirectionInbound PollVoteAddedWebhookEventDataDirection = "inbound"`

      - `const PollVoteAddedWebhookEventDataDirectionOutbound PollVoteAddedWebhookEventDataDirection = "outbound"`

    - `MessageID string`

    - `OptionID string`

    - `SenderHandle ChatHandle`

      The voter — always present.

    - `Service string`

    - `ZeroRetention bool`

      True when this poll is on a zero-day-retention line. Votes are unaffected by zero-day-retention — a vote choice is always persisted and delivered regardless — this flag is informational only, telling you why this poll's other webhooks (poll.sent, poll.updated, etc.) may carry empty option text.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### poll.vote.removed

- `type PollVoteRemovedWebhookEvent struct{…}`

  Complete webhook payload for poll.vote.removed events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data PollVoteRemovedWebhookEventData`

    Payload for poll.vote.added and poll.vote.removed (one option toggled).

    - `Chat PollVoteRemovedWebhookEventDataChat`

      Chat info for poll webhook events.

      - `ID string`

      - `IsGroup bool`

      - `OwnerHandle ChatHandle`

        - `ID string`

          Unique identifier for this handle

        - `Handle string`

          Phone number (E.164) or email address of the participant

        - `JoinedAt Time`

          When this participant joined the chat

        - `Service ServiceType`

          Messaging service type. Where this names the transport a message used,
          it is per-message: a chat's own `service` can differ from a message in
          it, and Apple can downgrade an individual message.

          - `const ServiceTypeIMessage ServiceType = "iMessage"`

          - `const ServiceTypeSMS ServiceType = "SMS"`

          - `const ServiceTypeRCS ServiceType = "RCS"`

        - `IsMe bool`

          Whether this handle belongs to the sender (your phone number)

        - `LeftAt Time`

          When they left (if applicable)

        - `LineType ChatHandleLineType`

          The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
          RCS-only line, which sends RCS and SMS but never iMessage. Same values as
          the `type` parameter on `GET /v3/available_number`. A property of the line
          itself, so unlike `service` it does not change with the conversation:
          an iMessage-capable line can still carry an RCS or SMS conversation.

          - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

          - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

        - `Status ChatHandleStatus`

          Participant status

          - `const ChatHandleStatusActive ChatHandleStatus = "active"`

          - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

          - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

    - `Direction string`

      - `const PollVoteRemovedWebhookEventDataDirectionInbound PollVoteRemovedWebhookEventDataDirection = "inbound"`

      - `const PollVoteRemovedWebhookEventDataDirectionOutbound PollVoteRemovedWebhookEventDataDirection = "outbound"`

    - `MessageID string`

    - `OptionID string`

    - `SenderHandle ChatHandle`

      The voter — always present.

    - `Service string`

    - `ZeroRetention bool`

      True when this poll is on a zero-day-retention line. Votes are unaffected by zero-day-retention — a vote choice is always persisted and delivered regardless — this flag is informational only, telling you why this poll's other webhooks (poll.sent, poll.updated, etc.) may carry empty option text.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### poll.reaction.added

- `type PollReactionAddedWebhookEvent struct{…}`

  Complete webhook payload for poll.reaction.added events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ReactionEventBase`

    Payload for poll.reaction.added — a reaction on a poll message. Same shape as
    reaction.added; `message_id` is the poll-definition message's ID. Poll reactions are
    stickers, which iMessage cannot remove, so there is no removal counterpart.

    - `IsFromMe bool`

      Whether this reaction was from the owner of the phone number (true) or from someone else (false)

    - `ReactionType ReactionType`

      Type of reaction. Standard iMessage tapbacks are love, like, dislike, laugh, emphasize, question.
      Custom emoji reactions have type "custom" with the actual emoji in the custom_emoji field.
      Sticker reactions have type "sticker" with sticker attachment details in the sticker field.

      - `const ReactionTypeLove ReactionType = "love"`

      - `const ReactionTypeLike ReactionType = "like"`

      - `const ReactionTypeDislike ReactionType = "dislike"`

      - `const ReactionTypeLaugh ReactionType = "laugh"`

      - `const ReactionTypeEmphasize ReactionType = "emphasize"`

      - `const ReactionTypeQuestion ReactionType = "question"`

      - `const ReactionTypeCustom ReactionType = "custom"`

      - `const ReactionTypeSticker ReactionType = "sticker"`

    - `ChatID string`

      Chat identifier (UUID)

    - `CustomEmoji string`

      The actual emoji when reaction_type is "custom". Null for standard tapbacks.

    - `From string`

      DEPRECATED: Use from_handle instead. Phone number or email address of the person who added/removed the reaction.

    - `FromHandle ChatHandle`

      The person who added/removed the reaction as a full handle object

      - `ID string`

        Unique identifier for this handle

      - `Handle string`

        Phone number (E.164) or email address of the participant

      - `JoinedAt Time`

        When this participant joined the chat

      - `Service ServiceType`

        Messaging service type. Where this names the transport a message used,
        it is per-message: a chat's own `service` can differ from a message in
        it, and Apple can downgrade an individual message.

        - `const ServiceTypeIMessage ServiceType = "iMessage"`

        - `const ServiceTypeSMS ServiceType = "SMS"`

        - `const ServiceTypeRCS ServiceType = "RCS"`

      - `IsMe bool`

        Whether this handle belongs to the sender (your phone number)

      - `LeftAt Time`

        When they left (if applicable)

      - `LineType ChatHandleLineType`

        The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
        RCS-only line, which sends RCS and SMS but never iMessage. Same values as
        the `type` parameter on `GET /v3/available_number`. A property of the line
        itself, so unlike `service` it does not change with the conversation:
        an iMessage-capable line can still carry an RCS or SMS conversation.

        - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

        - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

      - `Status ChatHandleStatus`

        Participant status

        - `const ChatHandleStatusActive ChatHandleStatus = "active"`

        - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

        - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

    - `MessageID string`

      Message identifier (UUID) that the reaction was added to or removed from

    - `PartIndex int64`

      Index of the message part that was reacted to (0-based)

    - `ReactedAt Time`

      When the reaction was added or removed

    - `ReactionID string`

      Identifier for this reaction. Pass it to
      `PATCH /v3/messages/{messageId}/reactions/{reactionId}` to move a sticker.
      Stickers stack, so this is what distinguishes one sticker from another on the
      same message.

    - `Service ServiceType`

      Messaging service type. Where this names the transport a message used,
      it is per-message: a chat's own `service` can differ from a message in
      it, and Apple can downgrade an individual message.

    - `Sticker ReactionEventBaseSticker`

      Sticker attachment details when reaction_type is "sticker". Null for non-sticker reactions.

      - `FileName string`

        Filename of the sticker

      - `Height int64`

        Sticker image height in pixels

      - `MimeType string`

        MIME type of the sticker image

      - `URL string`

        Presigned URL for downloading the sticker image (expires in 1 hour).

      - `Width int64`

        Sticker image width in pixels

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### participant.added

- `type ParticipantAddedWebhookEvent struct{…}`

  Complete webhook payload for participant.added events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ParticipantAddedWebhookEventData`

    Payload for participant.added webhook events

    - `Handle string`

      DEPRECATED: Use participant instead. Handle (phone number or email address) of the added participant.

    - `AddedAt Time`

      When the participant was added

    - `ChatID string`

      Chat identifier (UUID) of the group chat

    - `Participant ChatHandle`

      The added participant as a full handle object

      - `ID string`

        Unique identifier for this handle

      - `Handle string`

        Phone number (E.164) or email address of the participant

      - `JoinedAt Time`

        When this participant joined the chat

      - `Service ServiceType`

        Messaging service type. Where this names the transport a message used,
        it is per-message: a chat's own `service` can differ from a message in
        it, and Apple can downgrade an individual message.

        - `const ServiceTypeIMessage ServiceType = "iMessage"`

        - `const ServiceTypeSMS ServiceType = "SMS"`

        - `const ServiceTypeRCS ServiceType = "RCS"`

      - `IsMe bool`

        Whether this handle belongs to the sender (your phone number)

      - `LeftAt Time`

        When they left (if applicable)

      - `LineType ChatHandleLineType`

        The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
        RCS-only line, which sends RCS and SMS but never iMessage. Same values as
        the `type` parameter on `GET /v3/available_number`. A property of the line
        itself, so unlike `service` it does not change with the conversation:
        an iMessage-capable line can still carry an RCS or SMS conversation.

        - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

        - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

      - `Status ChatHandleStatus`

        Participant status

        - `const ChatHandleStatusActive ChatHandleStatus = "active"`

        - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

        - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### participant.removed

- `type ParticipantRemovedWebhookEvent struct{…}`

  Complete webhook payload for participant.removed events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ParticipantRemovedWebhookEventData`

    Payload for participant.removed webhook events

    - `Handle string`

      DEPRECATED: Use participant instead. Handle (phone number or email address) of the removed participant.

    - `ChatID string`

      Chat identifier (UUID) of the group chat

    - `Participant ChatHandle`

      The removed participant as a full handle object

      - `ID string`

        Unique identifier for this handle

      - `Handle string`

        Phone number (E.164) or email address of the participant

      - `JoinedAt Time`

        When this participant joined the chat

      - `Service ServiceType`

        Messaging service type. Where this names the transport a message used,
        it is per-message: a chat's own `service` can differ from a message in
        it, and Apple can downgrade an individual message.

        - `const ServiceTypeIMessage ServiceType = "iMessage"`

        - `const ServiceTypeSMS ServiceType = "SMS"`

        - `const ServiceTypeRCS ServiceType = "RCS"`

      - `IsMe bool`

        Whether this handle belongs to the sender (your phone number)

      - `LeftAt Time`

        When they left (if applicable)

      - `LineType ChatHandleLineType`

        The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
        RCS-only line, which sends RCS and SMS but never iMessage. Same values as
        the `type` parameter on `GET /v3/available_number`. A property of the line
        itself, so unlike `service` it does not change with the conversation:
        an iMessage-capable line can still carry an RCS or SMS conversation.

        - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

        - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

      - `Status ChatHandleStatus`

        Participant status

        - `const ChatHandleStatusActive ChatHandleStatus = "active"`

        - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

        - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

    - `RemovedAt Time`

      When the participant was removed

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### chat.created

- `type ChatCreatedWebhookEvent struct{…}`

  Complete webhook payload for chat.created events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ChatCreatedWebhookEventData`

    Payload for chat.created webhook events. Matches GET /v3/chats/{chatId} response.

    - `ID string`

      Unique identifier for the chat

    - `CreatedAt Time`

      When the chat was created

    - `DisplayName string`

      Display name for the chat. Defaults to a comma-separated list of recipient handles. Can be updated for group chats.

    - `Handles []ChatHandle`

      List of chat participants with full handle details. Always contains at least two handles (your phone number and the other participant).

      - `ID string`

        Unique identifier for this handle

      - `Handle string`

        Phone number (E.164) or email address of the participant

      - `JoinedAt Time`

        When this participant joined the chat

      - `Service ServiceType`

        Messaging service type. Where this names the transport a message used,
        it is per-message: a chat's own `service` can differ from a message in
        it, and Apple can downgrade an individual message.

        - `const ServiceTypeIMessage ServiceType = "iMessage"`

        - `const ServiceTypeSMS ServiceType = "SMS"`

        - `const ServiceTypeRCS ServiceType = "RCS"`

      - `IsMe bool`

        Whether this handle belongs to the sender (your phone number)

      - `LeftAt Time`

        When they left (if applicable)

      - `LineType ChatHandleLineType`

        The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
        RCS-only line, which sends RCS and SMS but never iMessage. Same values as
        the `type` parameter on `GET /v3/available_number`. A property of the line
        itself, so unlike `service` it does not change with the conversation:
        an iMessage-capable line can still carry an RCS or SMS conversation.

        - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

        - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

      - `Status ChatHandleStatus`

        Participant status

        - `const ChatHandleStatusActive ChatHandleStatus = "active"`

        - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

        - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

    - `HealthStatus ChatCreatedWebhookEventDataHealthStatus`

      **[BETA]** Current health for a chat. Always present — chats start at `HEALTHY` and may shift based on engagement and delivery signals on the conversation. Many `AT_RISK` or `CRITICAL` chats on a single line increase the risk of line flagging.

      Switch on `status` to surface chat and line health in your UI — the enum is the long-term contract. Each status carries a `doc_url` that deep-links to the relevant section of the Chat Health guide. To gate a send, act on the response rather than the status: a `403` is the authoritative answer.

      See the [Chat Health guide](/channel/imessage/guides/chats/chat-health) for what each status means and how to react.

      - `DocURL string`

        Deep-link to the relevant section of the Chat Health guide for this status.

      - `Status string`

        Current health bucket for the chat. See the [Chat Health guide](/channel/imessage/guides/chats/chat-health) for what each value means and how to react. `doc_url` deep-links to the relevant section.

        `OPTED_OUT` — the recipient sent `STOP`, `UNSUBSCRIBE`, `OPTOUT`, `CANCEL`, `END`, or `QUIT`.
        The keyword must be the whole trimmed message, never part of a longer one: `STOP` counts, `please stop`
        does not. Most keywords must match exactly, including case. `OPT OUT` is the exception — it matches in any
        casing, with or without the space or a hyphen, so `opt out`, `Opt-Out` and `optout` all count. It clears as
        soon as they reply again: any later message from them that is not itself an opt-out keyword opts them back
        in immediately — a reply in any conversation with you counts, the same way the block does.

        `OPTED_OUT` marks only the conversation the keyword arrived in. The block below is wider than the mark, so
        a conversation still reading `HEALTHY` can be blocked as well — gate on the `403`, not on the status.
        Group threads are never marked and are never blocked.

        Linq enforces this: while a recipient is opted out, every send to them is rejected with `403` (error code
        `2024`) before the message is queued, across every chat and every line on your account. Nothing is
        delivered, including a final courtesy message — to send one, set `override_optout: true` on that single
        request.

        - `const ChatCreatedWebhookEventDataHealthStatusStatusHealthy ChatCreatedWebhookEventDataHealthStatusStatus = "HEALTHY"`

        - `const ChatCreatedWebhookEventDataHealthStatusStatusAtRisk ChatCreatedWebhookEventDataHealthStatusStatus = "AT_RISK"`

        - `const ChatCreatedWebhookEventDataHealthStatusStatusCritical ChatCreatedWebhookEventDataHealthStatusStatus = "CRITICAL"`

        - `const ChatCreatedWebhookEventDataHealthStatusStatusOptedOut ChatCreatedWebhookEventDataHealthStatusStatus = "OPTED_OUT"`

      - `UpdatedAt Time`

        When this status last changed.

    - `IsGroup bool`

      Whether this is a group chat

    - `UpdatedAt Time`

      When the chat was last updated

    - `Service ServiceType`

      Messaging service type. Where this names the transport a message used,
      it is per-message: a chat's own `service` can differ from a message in
      it, and Apple can downgrade an individual message.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### chat.group_name_updated

- `type ChatGroupNameUpdatedWebhookEvent struct{…}`

  Complete webhook payload for chat.group_name_updated events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ChatGroupNameUpdatedWebhookEventData`

    Payload for chat.group_name_updated webhook events

    - `ChatID string`

      Chat identifier (UUID) of the group chat

    - `UpdatedAt Time`

      When the update occurred

    - `ChangedByHandle ChatHandle`

      The handle who made the change.

      - `ID string`

        Unique identifier for this handle

      - `Handle string`

        Phone number (E.164) or email address of the participant

      - `JoinedAt Time`

        When this participant joined the chat

      - `Service ServiceType`

        Messaging service type. Where this names the transport a message used,
        it is per-message: a chat's own `service` can differ from a message in
        it, and Apple can downgrade an individual message.

        - `const ServiceTypeIMessage ServiceType = "iMessage"`

        - `const ServiceTypeSMS ServiceType = "SMS"`

        - `const ServiceTypeRCS ServiceType = "RCS"`

      - `IsMe bool`

        Whether this handle belongs to the sender (your phone number)

      - `LeftAt Time`

        When they left (if applicable)

      - `LineType ChatHandleLineType`

        The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
        RCS-only line, which sends RCS and SMS but never iMessage. Same values as
        the `type` parameter on `GET /v3/available_number`. A property of the line
        itself, so unlike `service` it does not change with the conversation:
        an iMessage-capable line can still carry an RCS or SMS conversation.

        - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

        - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

      - `Status ChatHandleStatus`

        Participant status

        - `const ChatHandleStatusActive ChatHandleStatus = "active"`

        - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

        - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

    - `NewValue string`

      New group name (null if the name was removed)

    - `OldValue string`

      Previous group name (null if no previous name)

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### chat.group_icon_updated

- `type ChatGroupIconUpdatedWebhookEvent struct{…}`

  Complete webhook payload for chat.group_icon_updated events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ChatGroupIconUpdatedWebhookEventData`

    Payload for chat.group_icon_updated webhook events

    - `ChatID string`

      Chat identifier (UUID) of the group chat

    - `UpdatedAt Time`

      When the update occurred

    - `ChangedByHandle ChatHandle`

      The handle who made the change.

      - `ID string`

        Unique identifier for this handle

      - `Handle string`

        Phone number (E.164) or email address of the participant

      - `JoinedAt Time`

        When this participant joined the chat

      - `Service ServiceType`

        Messaging service type. Where this names the transport a message used,
        it is per-message: a chat's own `service` can differ from a message in
        it, and Apple can downgrade an individual message.

        - `const ServiceTypeIMessage ServiceType = "iMessage"`

        - `const ServiceTypeSMS ServiceType = "SMS"`

        - `const ServiceTypeRCS ServiceType = "RCS"`

      - `IsMe bool`

        Whether this handle belongs to the sender (your phone number)

      - `LeftAt Time`

        When they left (if applicable)

      - `LineType ChatHandleLineType`

        The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
        RCS-only line, which sends RCS and SMS but never iMessage. Same values as
        the `type` parameter on `GET /v3/available_number`. A property of the line
        itself, so unlike `service` it does not change with the conversation:
        an iMessage-capable line can still carry an RCS or SMS conversation.

        - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

        - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

      - `Status ChatHandleStatus`

        Participant status

        - `const ChatHandleStatusActive ChatHandleStatus = "active"`

        - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

        - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

    - `NewValue string`

      New icon URL (null if the icon was removed)

    - `OldValue string`

      Previous icon URL (null if no previous icon)

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### chat.group_name_update_failed

- `type ChatGroupNameUpdateFailedWebhookEvent struct{…}`

  Complete webhook payload for chat.group_name_update_failed events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ChatGroupNameUpdateFailedWebhookEventData`

    Error details for chat.group_name_update_failed webhook events.
    See [WebhookErrorCode](#/components/schemas/WebhookErrorCode) for the full error code reference.

    - `ChatID string`

      Chat identifier (UUID) of the group chat

    - `ErrorCode int64`

      Error codes in webhook failure events. The possible set varies by event:
      message.failed and poll.failed can carry 3007, 4001, 4002, 4005, 4006, 4007, or
      4008; the group update failure events (chat.group_name_update_failed,
      chat.group_icon_update_failed) carry 3007 or 4001; chat.background_update_failed
      carries 1005, 2011, 4001, or 5002.

    - `FailedAt Time`

      When the failure was detected

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### chat.group_icon_update_failed

- `type ChatGroupIconUpdateFailedWebhookEvent struct{…}`

  Complete webhook payload for chat.group_icon_update_failed events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ChatGroupIconUpdateFailedWebhookEventData`

    Error details for chat.group_icon_update_failed webhook events.
    See [WebhookErrorCode](#/components/schemas/WebhookErrorCode) for the full error code reference.

    - `ChatID string`

      Chat identifier (UUID) of the group chat

    - `ErrorCode int64`

      Error codes in webhook failure events. The possible set varies by event:
      message.failed and poll.failed can carry 3007, 4001, 4002, 4005, 4006, 4007, or
      4008; the group update failure events (chat.group_name_update_failed,
      chat.group_icon_update_failed) carry 3007 or 4001; chat.background_update_failed
      carries 1005, 2011, 4001, or 5002.

    - `FailedAt Time`

      When the failure was detected

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### chat.typing_indicator.started

- `type ChatTypingIndicatorStartedWebhookEvent struct{…}`

  Complete webhook payload for chat.typing_indicator.started events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ChatTypingIndicatorStartedWebhookEventData`

    Payload for chat.typing_indicator.started webhook events

    - `ChatID string`

      Chat identifier

    - `ActorHandle ChatHandle`

      Who is typing.

      - `ID string`

        Unique identifier for this handle

      - `Handle string`

        Phone number (E.164) or email address of the participant

      - `JoinedAt Time`

        When this participant joined the chat

      - `Service ServiceType`

        Messaging service type. Where this names the transport a message used,
        it is per-message: a chat's own `service` can differ from a message in
        it, and Apple can downgrade an individual message.

        - `const ServiceTypeIMessage ServiceType = "iMessage"`

        - `const ServiceTypeSMS ServiceType = "SMS"`

        - `const ServiceTypeRCS ServiceType = "RCS"`

      - `IsMe bool`

        Whether this handle belongs to the sender (your phone number)

      - `LeftAt Time`

        When they left (if applicable)

      - `LineType ChatHandleLineType`

        The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
        RCS-only line, which sends RCS and SMS but never iMessage. Same values as
        the `type` parameter on `GET /v3/available_number`. A property of the line
        itself, so unlike `service` it does not change with the conversation:
        an iMessage-capable line can still carry an RCS or SMS conversation.

        - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

        - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

      - `Status ChatHandleStatus`

        Participant status

        - `const ChatHandleStatusActive ChatHandleStatus = "active"`

        - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

        - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### chat.typing_indicator.stopped

- `type ChatTypingIndicatorStoppedWebhookEvent struct{…}`

  Complete webhook payload for chat.typing_indicator.stopped events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ChatTypingIndicatorStoppedWebhookEventData`

    Payload for chat.typing_indicator.stopped webhook events

    - `ChatID string`

      Chat identifier

    - `ActorHandle ChatHandle`

      Who stopped typing.

      - `ID string`

        Unique identifier for this handle

      - `Handle string`

        Phone number (E.164) or email address of the participant

      - `JoinedAt Time`

        When this participant joined the chat

      - `Service ServiceType`

        Messaging service type. Where this names the transport a message used,
        it is per-message: a chat's own `service` can differ from a message in
        it, and Apple can downgrade an individual message.

        - `const ServiceTypeIMessage ServiceType = "iMessage"`

        - `const ServiceTypeSMS ServiceType = "SMS"`

        - `const ServiceTypeRCS ServiceType = "RCS"`

      - `IsMe bool`

        Whether this handle belongs to the sender (your phone number)

      - `LeftAt Time`

        When they left (if applicable)

      - `LineType ChatHandleLineType`

        The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
        RCS-only line, which sends RCS and SMS but never iMessage. Same values as
        the `type` parameter on `GET /v3/available_number`. A property of the line
        itself, so unlike `service` it does not change with the conversation:
        an iMessage-capable line can still carry an RCS or SMS conversation.

        - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

        - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

      - `Status ChatHandleStatus`

        Participant status

        - `const ChatHandleStatusActive ChatHandleStatus = "active"`

        - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

        - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### chat.background_updated

- `type ChatBackgroundUpdatedWebhookEvent struct{…}`

  Complete webhook payload for chat.background_updated events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ChatBackgroundUpdatedWebhookEventData`

    Payload for chat.background_updated webhook events.

    - `Chat ChatBackgroundUpdatedWebhookEventDataChat`

      Chat information

      - `ID string`

        Chat identifier

      - `IsGroup bool`

        Whether this is a group chat

      - `OwnerHandle ChatHandle`

        Your phone number's handle. Always has is_me=true.

        - `ID string`

          Unique identifier for this handle

        - `Handle string`

          Phone number (E.164) or email address of the participant

        - `JoinedAt Time`

          When this participant joined the chat

        - `Service ServiceType`

          Messaging service type. Where this names the transport a message used,
          it is per-message: a chat's own `service` can differ from a message in
          it, and Apple can downgrade an individual message.

          - `const ServiceTypeIMessage ServiceType = "iMessage"`

          - `const ServiceTypeSMS ServiceType = "SMS"`

          - `const ServiceTypeRCS ServiceType = "RCS"`

        - `IsMe bool`

          Whether this handle belongs to the sender (your phone number)

        - `LeftAt Time`

          When they left (if applicable)

        - `LineType ChatHandleLineType`

          The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
          RCS-only line, which sends RCS and SMS but never iMessage. Same values as
          the `type` parameter on `GET /v3/available_number`. A property of the line
          itself, so unlike `service` it does not change with the conversation:
          an iMessage-capable line can still carry an RCS or SMS conversation.

          - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

          - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

        - `Status ChatHandleStatus`

          Participant status

          - `const ChatHandleStatusActive ChatHandleStatus = "active"`

          - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

          - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

    - `ActorHandle ChatHandle`

      Who changed it. `is_me` is true when your own number set it.

    - `Background ChatBackgroundUpdatedWebhookEventDataBackground`

      A chat transcript background. Fields are populated per `type`.

      - `Type string`

        The background family.

        - `const ChatBackgroundUpdatedWebhookEventDataBackgroundTypeColor ChatBackgroundUpdatedWebhookEventDataBackgroundType = "color"`

        - `const ChatBackgroundUpdatedWebhookEventDataBackgroundTypeDynamic ChatBackgroundUpdatedWebhookEventDataBackgroundType = "dynamic"`

        - `const ChatBackgroundUpdatedWebhookEventDataBackgroundTypePhoto ChatBackgroundUpdatedWebhookEventDataBackgroundType = "photo"`

      - `ImageURL string`

        Photo: a hosted URL for the background image, whether you set it or a
        participant did. Apple stores the image, not the URL it came from, so the
        image is re-hosted and this is our URL rather than the one you supplied.
        `null` only if the image could not be hosted.

      - `Shades []string`

        Color: the two gradient stops as hex, top then bottom.

      - `Style string`

        Dynamic: the animated style.

        - `const ChatBackgroundUpdatedWebhookEventDataBackgroundStyleSky ChatBackgroundUpdatedWebhookEventDataBackgroundStyle = "sky"`

        - `const ChatBackgroundUpdatedWebhookEventDataBackgroundStyleWater ChatBackgroundUpdatedWebhookEventDataBackgroundStyle = "water"`

        - `const ChatBackgroundUpdatedWebhookEventDataBackgroundStyleAurora ChatBackgroundUpdatedWebhookEventDataBackgroundStyle = "aurora"`

        - `const ChatBackgroundUpdatedWebhookEventDataBackgroundStyleGlitter ChatBackgroundUpdatedWebhookEventDataBackgroundStyle = "glitter"`

      - `Variant string`

        Color: `custom` (the stored two colors) or a named swatch. Dynamic: the
        variant within the `style` (e.g. `sunrise`).

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### chat.background_update_failed

- `type ChatBackgroundUpdateFailedWebhookEvent struct{…}`

  Complete webhook payload for chat.background_update_failed events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ChatBackgroundUpdateFailedWebhookEventData`

    Error details for chat.background_update_failed webhook events.
    See [WebhookErrorCode](#/components/schemas/WebhookErrorCode) for the full error code reference.

    - `ChatID string`

      Chat identifier (UUID) whose background update failed

    - `ErrorCode int64`

      Error codes in webhook failure events. The possible set varies by event:
      message.failed and poll.failed can carry 3007, 4001, 4002, 4005, 4006, 4007, or
      4008; the group update failure events (chat.group_name_update_failed,
      chat.group_icon_update_failed) carry 3007 or 4001; chat.background_update_failed
      carries 1005, 2011, 4001, or 5002.

    - `FailedAt Time`

      When the failure was detected

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### contact_card.received

- `type ContactCardReceivedWebhookEvent struct{…}`

  Complete webhook payload for contact_card.received events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ContactCardReceivedWebhookEventData`

    Payload for contact_card.received webhook events.

    A contact belongs to a line, not to an individual chat. You receive one event per person who
    shares their contact, regardless of how many chats they have in common with your line.

    The event fires again whenever the shared contact's name or media changes.

    - `FirstName string`

      First name from the shared contact card

    - `LastName string`

      Last name from the shared contact card (may be empty)

    - `OwnerHandle string`

      Which of your lines they shared it with.

    - `SenderHandle string`

      The person who shared their card — a phone number or email address.

    - `MediaURL string`

      URL of the contact's media, served from `cdn.linqapp.com`. `null` when the
      contact shared no media, and also when media was shared but could not be
      retrieved — this field does not distinguish the two.

      Download the media and store it yourself. The URL may be signed and expire,
      in as little as 45 minutes, and altering its query string invalidates it
      immediately.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookEventType`

    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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

    - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

    - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

    - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

    - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

    - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

    - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

    - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

    - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

    - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

    - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

    - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

    - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

    - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

    - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

    - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

    - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

    - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

    - `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"`

    - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

    - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

    - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

    - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

    - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

    - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

    - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

    - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

    - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

    - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

    - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

    - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

    - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

    - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

    - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

    - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

    - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

    - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

    - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

    - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

    - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

    - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

    - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

    - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

    - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

    - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

    - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

    - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

    - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

    - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

    - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### phone_number.status_updated

- `type PhoneNumberStatusUpdatedWebhookEvent struct{…}`

  Complete webhook payload for phone_number.status_updated events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data PhoneNumberStatusUpdatedWebhookEventData`

    Payload for phone_number.status_updated webhook events

    - `ChangedAt Time`

      When the status change occurred

    - `NewReputation string`

      The new line reputation

      - `const PhoneNumberStatusUpdatedWebhookEventDataNewReputationHealthy PhoneNumberStatusUpdatedWebhookEventDataNewReputation = "HEALTHY"`

      - `const PhoneNumberStatusUpdatedWebhookEventDataNewReputationAtRisk PhoneNumberStatusUpdatedWebhookEventDataNewReputation = "AT_RISK"`

      - `const PhoneNumberStatusUpdatedWebhookEventDataNewReputationCritical PhoneNumberStatusUpdatedWebhookEventDataNewReputation = "CRITICAL"`

    - `NewStatus string`

      The new service status

      - `const PhoneNumberStatusUpdatedWebhookEventDataNewStatusActive PhoneNumberStatusUpdatedWebhookEventDataNewStatus = "ACTIVE"`

      - `const PhoneNumberStatusUpdatedWebhookEventDataNewStatusFlagged PhoneNumberStatusUpdatedWebhookEventDataNewStatus = "FLAGGED"`

    - `PhoneNumber string`

      Phone number in E.164 format

    - `PreviousReputation string`

      The previous line reputation

      - `const PhoneNumberStatusUpdatedWebhookEventDataPreviousReputationHealthy PhoneNumberStatusUpdatedWebhookEventDataPreviousReputation = "HEALTHY"`

      - `const PhoneNumberStatusUpdatedWebhookEventDataPreviousReputationAtRisk PhoneNumberStatusUpdatedWebhookEventDataPreviousReputation = "AT_RISK"`

      - `const PhoneNumberStatusUpdatedWebhookEventDataPreviousReputationCritical PhoneNumberStatusUpdatedWebhookEventDataPreviousReputation = "CRITICAL"`

    - `PreviousStatus string`

      The previous service status

      - `const PhoneNumberStatusUpdatedWebhookEventDataPreviousStatusActive PhoneNumberStatusUpdatedWebhookEventDataPreviousStatus = "ACTIVE"`

      - `const PhoneNumberStatusUpdatedWebhookEventDataPreviousStatusFlagged PhoneNumberStatusUpdatedWebhookEventDataPreviousStatus = "FLAGGED"`

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType PhoneNumberStatusUpdatedWebhookEventEventType`

    The type of event

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeMessageSent PhoneNumberStatusUpdatedWebhookEventEventType = "message.sent"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeMessageReceived PhoneNumberStatusUpdatedWebhookEventEventType = "message.received"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeMessageRead PhoneNumberStatusUpdatedWebhookEventEventType = "message.read"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeMessageDelivered PhoneNumberStatusUpdatedWebhookEventEventType = "message.delivered"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeMessageFailed PhoneNumberStatusUpdatedWebhookEventEventType = "message.failed"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeMessageEdited PhoneNumberStatusUpdatedWebhookEventEventType = "message.edited"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeReactionAdded PhoneNumberStatusUpdatedWebhookEventEventType = "reaction.added"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeReactionRemoved PhoneNumberStatusUpdatedWebhookEventEventType = "reaction.removed"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypePollReceived PhoneNumberStatusUpdatedWebhookEventEventType = "poll.received"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypePollFailed PhoneNumberStatusUpdatedWebhookEventEventType = "poll.failed"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypePollSent PhoneNumberStatusUpdatedWebhookEventEventType = "poll.sent"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypePollDelivered PhoneNumberStatusUpdatedWebhookEventEventType = "poll.delivered"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypePollRead PhoneNumberStatusUpdatedWebhookEventEventType = "poll.read"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypePollUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "poll.updated"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypePollVoteAdded PhoneNumberStatusUpdatedWebhookEventEventType = "poll.vote.added"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypePollVoteRemoved PhoneNumberStatusUpdatedWebhookEventEventType = "poll.vote.removed"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypePollReactionAdded PhoneNumberStatusUpdatedWebhookEventEventType = "poll.reaction.added"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeParticipantAdded PhoneNumberStatusUpdatedWebhookEventEventType = "participant.added"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeParticipantRemoved PhoneNumberStatusUpdatedWebhookEventEventType = "participant.removed"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeChatCreated PhoneNumberStatusUpdatedWebhookEventEventType = "chat.created"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeChatGroupNameUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "chat.group_name_updated"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeChatGroupIconUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "chat.group_icon_updated"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeChatGroupNameUpdateFailed PhoneNumberStatusUpdatedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeChatGroupIconUpdateFailed PhoneNumberStatusUpdatedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeChatBackgroundUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "chat.background_updated"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeChatBackgroundUpdateFailed PhoneNumberStatusUpdatedWebhookEventEventType = "chat.background_update_failed"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeChatTypingIndicatorStarted PhoneNumberStatusUpdatedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeChatTypingIndicatorStopped PhoneNumberStatusUpdatedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypePhoneNumberStatusUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "phone_number.status_updated"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypePhoneNumberAssigned PhoneNumberStatusUpdatedWebhookEventEventType = "phone_number.assigned"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypePhoneNumberReleased PhoneNumberStatusUpdatedWebhookEventEventType = "phone_number.released"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypePhoneNumberLineTypeUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeContactCardReceived PhoneNumberStatusUpdatedWebhookEventEventType = "contact_card.received"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeCallInitiated PhoneNumberStatusUpdatedWebhookEventEventType = "call.initiated"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeCallRinging PhoneNumberStatusUpdatedWebhookEventEventType = "call.ringing"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeCallAnswered PhoneNumberStatusUpdatedWebhookEventEventType = "call.answered"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeCallEnded PhoneNumberStatusUpdatedWebhookEventEventType = "call.ended"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeCallFailed PhoneNumberStatusUpdatedWebhookEventEventType = "call.failed"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeCallDeclined PhoneNumberStatusUpdatedWebhookEventEventType = "call.declined"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeCallNoAnswer PhoneNumberStatusUpdatedWebhookEventEventType = "call.no_answer"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeLocationSharingStarted PhoneNumberStatusUpdatedWebhookEventEventType = "location.sharing.started"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeLocationSharingStopped PhoneNumberStatusUpdatedWebhookEventEventType = "location.sharing.stopped"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypePaymentSucceeded PhoneNumberStatusUpdatedWebhookEventEventType = "payment.succeeded"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypePaymentCanceled PhoneNumberStatusUpdatedWebhookEventEventType = "payment.canceled"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypePaymentExpired PhoneNumberStatusUpdatedWebhookEventEventType = "payment.expired"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypePaymentDeclined PhoneNumberStatusUpdatedWebhookEventEventType = "payment.declined"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypePaymentAuthorized PhoneNumberStatusUpdatedWebhookEventEventType = "payment.authorized"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeConnectionCreated PhoneNumberStatusUpdatedWebhookEventEventType = "connection.created"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeConnectionRevoked PhoneNumberStatusUpdatedWebhookEventEventType = "connection.revoked"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeZeroDayRetentionUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "zero_day_retention.updated"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypePhoneNumberForwardingUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeEnvironmentLineMoved PhoneNumberStatusUpdatedWebhookEventEventType = "environment.line_moved"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeContactCardCreated PhoneNumberStatusUpdatedWebhookEventEventType = "contact_card.created"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeContactCardUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "contact_card.updated"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeContactCardDeleted PhoneNumberStatusUpdatedWebhookEventEventType = "contact_card.deleted"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeAPITokenCreated PhoneNumberStatusUpdatedWebhookEventEventType = "api_token.created"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeAPITokenRenamed PhoneNumberStatusUpdatedWebhookEventEventType = "api_token.renamed"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeAPITokenExpiryScheduled PhoneNumberStatusUpdatedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeAPITokenExpired PhoneNumberStatusUpdatedWebhookEventEventType = "api_token.expired"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeAPITokenActivated PhoneNumberStatusUpdatedWebhookEventEventType = "api_token.activated"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeAPITokenDeleted PhoneNumberStatusUpdatedWebhookEventEventType = "api_token.deleted"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeEnvironmentCreated PhoneNumberStatusUpdatedWebhookEventEventType = "environment.created"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeEnvironmentRenamed PhoneNumberStatusUpdatedWebhookEventEventType = "environment.renamed"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeEnvironmentDeleted PhoneNumberStatusUpdatedWebhookEventEventType = "environment.deleted"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeWebhookSubscriptionCreated PhoneNumberStatusUpdatedWebhookEventEventType = "webhook_subscription.created"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeWebhookSubscriptionDeleted PhoneNumberStatusUpdatedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged PhoneNumberStatusUpdatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeWebhookSubscriptionEnabled PhoneNumberStatusUpdatedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeWebhookSubscriptionDisabled PhoneNumberStatusUpdatedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet PhoneNumberStatusUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared PhoneNumberStatusUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeTeamMemberAdded PhoneNumberStatusUpdatedWebhookEventEventType = "team_member.added"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeTeamMemberSignedIn PhoneNumberStatusUpdatedWebhookEventEventType = "team_member.signed_in"`

    - `const PhoneNumberStatusUpdatedWebhookEventEventTypeTeamMemberSignedOut PhoneNumberStatusUpdatedWebhookEventEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### phone_number.assigned

- `type PhoneNumberAssignedWebhookEvent struct{…}`

  Complete webhook payload for phone_number.assigned events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data PhoneNumberAssignedWebhookEventData`

    Payload for phone_number.assigned and phone_number.released webhook events

    - `ChangedAt Time`

      When the ownership change occurred

    - `PhoneNumber string`

      Phone number in E.164 format

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType PhoneNumberAssignedWebhookEventEventType`

    The type of event

    - `const PhoneNumberAssignedWebhookEventEventTypeMessageSent PhoneNumberAssignedWebhookEventEventType = "message.sent"`

    - `const PhoneNumberAssignedWebhookEventEventTypeMessageReceived PhoneNumberAssignedWebhookEventEventType = "message.received"`

    - `const PhoneNumberAssignedWebhookEventEventTypeMessageRead PhoneNumberAssignedWebhookEventEventType = "message.read"`

    - `const PhoneNumberAssignedWebhookEventEventTypeMessageDelivered PhoneNumberAssignedWebhookEventEventType = "message.delivered"`

    - `const PhoneNumberAssignedWebhookEventEventTypeMessageFailed PhoneNumberAssignedWebhookEventEventType = "message.failed"`

    - `const PhoneNumberAssignedWebhookEventEventTypeMessageEdited PhoneNumberAssignedWebhookEventEventType = "message.edited"`

    - `const PhoneNumberAssignedWebhookEventEventTypeReactionAdded PhoneNumberAssignedWebhookEventEventType = "reaction.added"`

    - `const PhoneNumberAssignedWebhookEventEventTypeReactionRemoved PhoneNumberAssignedWebhookEventEventType = "reaction.removed"`

    - `const PhoneNumberAssignedWebhookEventEventTypePollReceived PhoneNumberAssignedWebhookEventEventType = "poll.received"`

    - `const PhoneNumberAssignedWebhookEventEventTypePollFailed PhoneNumberAssignedWebhookEventEventType = "poll.failed"`

    - `const PhoneNumberAssignedWebhookEventEventTypePollSent PhoneNumberAssignedWebhookEventEventType = "poll.sent"`

    - `const PhoneNumberAssignedWebhookEventEventTypePollDelivered PhoneNumberAssignedWebhookEventEventType = "poll.delivered"`

    - `const PhoneNumberAssignedWebhookEventEventTypePollRead PhoneNumberAssignedWebhookEventEventType = "poll.read"`

    - `const PhoneNumberAssignedWebhookEventEventTypePollUpdated PhoneNumberAssignedWebhookEventEventType = "poll.updated"`

    - `const PhoneNumberAssignedWebhookEventEventTypePollVoteAdded PhoneNumberAssignedWebhookEventEventType = "poll.vote.added"`

    - `const PhoneNumberAssignedWebhookEventEventTypePollVoteRemoved PhoneNumberAssignedWebhookEventEventType = "poll.vote.removed"`

    - `const PhoneNumberAssignedWebhookEventEventTypePollReactionAdded PhoneNumberAssignedWebhookEventEventType = "poll.reaction.added"`

    - `const PhoneNumberAssignedWebhookEventEventTypeParticipantAdded PhoneNumberAssignedWebhookEventEventType = "participant.added"`

    - `const PhoneNumberAssignedWebhookEventEventTypeParticipantRemoved PhoneNumberAssignedWebhookEventEventType = "participant.removed"`

    - `const PhoneNumberAssignedWebhookEventEventTypeChatCreated PhoneNumberAssignedWebhookEventEventType = "chat.created"`

    - `const PhoneNumberAssignedWebhookEventEventTypeChatGroupNameUpdated PhoneNumberAssignedWebhookEventEventType = "chat.group_name_updated"`

    - `const PhoneNumberAssignedWebhookEventEventTypeChatGroupIconUpdated PhoneNumberAssignedWebhookEventEventType = "chat.group_icon_updated"`

    - `const PhoneNumberAssignedWebhookEventEventTypeChatGroupNameUpdateFailed PhoneNumberAssignedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const PhoneNumberAssignedWebhookEventEventTypeChatGroupIconUpdateFailed PhoneNumberAssignedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const PhoneNumberAssignedWebhookEventEventTypeChatBackgroundUpdated PhoneNumberAssignedWebhookEventEventType = "chat.background_updated"`

    - `const PhoneNumberAssignedWebhookEventEventTypeChatBackgroundUpdateFailed PhoneNumberAssignedWebhookEventEventType = "chat.background_update_failed"`

    - `const PhoneNumberAssignedWebhookEventEventTypeChatTypingIndicatorStarted PhoneNumberAssignedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const PhoneNumberAssignedWebhookEventEventTypeChatTypingIndicatorStopped PhoneNumberAssignedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const PhoneNumberAssignedWebhookEventEventTypePhoneNumberStatusUpdated PhoneNumberAssignedWebhookEventEventType = "phone_number.status_updated"`

    - `const PhoneNumberAssignedWebhookEventEventTypePhoneNumberAssigned PhoneNumberAssignedWebhookEventEventType = "phone_number.assigned"`

    - `const PhoneNumberAssignedWebhookEventEventTypePhoneNumberReleased PhoneNumberAssignedWebhookEventEventType = "phone_number.released"`

    - `const PhoneNumberAssignedWebhookEventEventTypePhoneNumberLineTypeUpdated PhoneNumberAssignedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const PhoneNumberAssignedWebhookEventEventTypeContactCardReceived PhoneNumberAssignedWebhookEventEventType = "contact_card.received"`

    - `const PhoneNumberAssignedWebhookEventEventTypeCallInitiated PhoneNumberAssignedWebhookEventEventType = "call.initiated"`

    - `const PhoneNumberAssignedWebhookEventEventTypeCallRinging PhoneNumberAssignedWebhookEventEventType = "call.ringing"`

    - `const PhoneNumberAssignedWebhookEventEventTypeCallAnswered PhoneNumberAssignedWebhookEventEventType = "call.answered"`

    - `const PhoneNumberAssignedWebhookEventEventTypeCallEnded PhoneNumberAssignedWebhookEventEventType = "call.ended"`

    - `const PhoneNumberAssignedWebhookEventEventTypeCallFailed PhoneNumberAssignedWebhookEventEventType = "call.failed"`

    - `const PhoneNumberAssignedWebhookEventEventTypeCallDeclined PhoneNumberAssignedWebhookEventEventType = "call.declined"`

    - `const PhoneNumberAssignedWebhookEventEventTypeCallNoAnswer PhoneNumberAssignedWebhookEventEventType = "call.no_answer"`

    - `const PhoneNumberAssignedWebhookEventEventTypeLocationSharingStarted PhoneNumberAssignedWebhookEventEventType = "location.sharing.started"`

    - `const PhoneNumberAssignedWebhookEventEventTypeLocationSharingStopped PhoneNumberAssignedWebhookEventEventType = "location.sharing.stopped"`

    - `const PhoneNumberAssignedWebhookEventEventTypePaymentSucceeded PhoneNumberAssignedWebhookEventEventType = "payment.succeeded"`

    - `const PhoneNumberAssignedWebhookEventEventTypePaymentCanceled PhoneNumberAssignedWebhookEventEventType = "payment.canceled"`

    - `const PhoneNumberAssignedWebhookEventEventTypePaymentExpired PhoneNumberAssignedWebhookEventEventType = "payment.expired"`

    - `const PhoneNumberAssignedWebhookEventEventTypePaymentDeclined PhoneNumberAssignedWebhookEventEventType = "payment.declined"`

    - `const PhoneNumberAssignedWebhookEventEventTypePaymentAuthorized PhoneNumberAssignedWebhookEventEventType = "payment.authorized"`

    - `const PhoneNumberAssignedWebhookEventEventTypeConnectionCreated PhoneNumberAssignedWebhookEventEventType = "connection.created"`

    - `const PhoneNumberAssignedWebhookEventEventTypeConnectionRevoked PhoneNumberAssignedWebhookEventEventType = "connection.revoked"`

    - `const PhoneNumberAssignedWebhookEventEventTypeZeroDayRetentionUpdated PhoneNumberAssignedWebhookEventEventType = "zero_day_retention.updated"`

    - `const PhoneNumberAssignedWebhookEventEventTypePhoneNumberForwardingUpdated PhoneNumberAssignedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const PhoneNumberAssignedWebhookEventEventTypeEnvironmentLineMoved PhoneNumberAssignedWebhookEventEventType = "environment.line_moved"`

    - `const PhoneNumberAssignedWebhookEventEventTypeContactCardCreated PhoneNumberAssignedWebhookEventEventType = "contact_card.created"`

    - `const PhoneNumberAssignedWebhookEventEventTypeContactCardUpdated PhoneNumberAssignedWebhookEventEventType = "contact_card.updated"`

    - `const PhoneNumberAssignedWebhookEventEventTypeContactCardDeleted PhoneNumberAssignedWebhookEventEventType = "contact_card.deleted"`

    - `const PhoneNumberAssignedWebhookEventEventTypeAPITokenCreated PhoneNumberAssignedWebhookEventEventType = "api_token.created"`

    - `const PhoneNumberAssignedWebhookEventEventTypeAPITokenRenamed PhoneNumberAssignedWebhookEventEventType = "api_token.renamed"`

    - `const PhoneNumberAssignedWebhookEventEventTypeAPITokenExpiryScheduled PhoneNumberAssignedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const PhoneNumberAssignedWebhookEventEventTypeAPITokenExpired PhoneNumberAssignedWebhookEventEventType = "api_token.expired"`

    - `const PhoneNumberAssignedWebhookEventEventTypeAPITokenActivated PhoneNumberAssignedWebhookEventEventType = "api_token.activated"`

    - `const PhoneNumberAssignedWebhookEventEventTypeAPITokenDeleted PhoneNumberAssignedWebhookEventEventType = "api_token.deleted"`

    - `const PhoneNumberAssignedWebhookEventEventTypeEnvironmentCreated PhoneNumberAssignedWebhookEventEventType = "environment.created"`

    - `const PhoneNumberAssignedWebhookEventEventTypeEnvironmentRenamed PhoneNumberAssignedWebhookEventEventType = "environment.renamed"`

    - `const PhoneNumberAssignedWebhookEventEventTypeEnvironmentDeleted PhoneNumberAssignedWebhookEventEventType = "environment.deleted"`

    - `const PhoneNumberAssignedWebhookEventEventTypeWebhookSubscriptionCreated PhoneNumberAssignedWebhookEventEventType = "webhook_subscription.created"`

    - `const PhoneNumberAssignedWebhookEventEventTypeWebhookSubscriptionDeleted PhoneNumberAssignedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const PhoneNumberAssignedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged PhoneNumberAssignedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const PhoneNumberAssignedWebhookEventEventTypeWebhookSubscriptionEnabled PhoneNumberAssignedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const PhoneNumberAssignedWebhookEventEventTypeWebhookSubscriptionDisabled PhoneNumberAssignedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const PhoneNumberAssignedWebhookEventEventTypeWebhookSubscriptionEventsUpdated PhoneNumberAssignedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const PhoneNumberAssignedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated PhoneNumberAssignedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const PhoneNumberAssignedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet PhoneNumberAssignedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const PhoneNumberAssignedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared PhoneNumberAssignedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const PhoneNumberAssignedWebhookEventEventTypeTeamMemberAdded PhoneNumberAssignedWebhookEventEventType = "team_member.added"`

    - `const PhoneNumberAssignedWebhookEventEventTypeTeamMemberSignedIn PhoneNumberAssignedWebhookEventEventType = "team_member.signed_in"`

    - `const PhoneNumberAssignedWebhookEventEventTypeTeamMemberSignedOut PhoneNumberAssignedWebhookEventEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### phone_number.released

- `type PhoneNumberReleasedWebhookEvent struct{…}`

  Complete webhook payload for phone_number.released events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data PhoneNumberReleasedWebhookEventData`

    Payload for phone_number.assigned and phone_number.released webhook events

    - `ChangedAt Time`

      When the ownership change occurred

    - `PhoneNumber string`

      Phone number in E.164 format

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType PhoneNumberReleasedWebhookEventEventType`

    The type of event

    - `const PhoneNumberReleasedWebhookEventEventTypeMessageSent PhoneNumberReleasedWebhookEventEventType = "message.sent"`

    - `const PhoneNumberReleasedWebhookEventEventTypeMessageReceived PhoneNumberReleasedWebhookEventEventType = "message.received"`

    - `const PhoneNumberReleasedWebhookEventEventTypeMessageRead PhoneNumberReleasedWebhookEventEventType = "message.read"`

    - `const PhoneNumberReleasedWebhookEventEventTypeMessageDelivered PhoneNumberReleasedWebhookEventEventType = "message.delivered"`

    - `const PhoneNumberReleasedWebhookEventEventTypeMessageFailed PhoneNumberReleasedWebhookEventEventType = "message.failed"`

    - `const PhoneNumberReleasedWebhookEventEventTypeMessageEdited PhoneNumberReleasedWebhookEventEventType = "message.edited"`

    - `const PhoneNumberReleasedWebhookEventEventTypeReactionAdded PhoneNumberReleasedWebhookEventEventType = "reaction.added"`

    - `const PhoneNumberReleasedWebhookEventEventTypeReactionRemoved PhoneNumberReleasedWebhookEventEventType = "reaction.removed"`

    - `const PhoneNumberReleasedWebhookEventEventTypePollReceived PhoneNumberReleasedWebhookEventEventType = "poll.received"`

    - `const PhoneNumberReleasedWebhookEventEventTypePollFailed PhoneNumberReleasedWebhookEventEventType = "poll.failed"`

    - `const PhoneNumberReleasedWebhookEventEventTypePollSent PhoneNumberReleasedWebhookEventEventType = "poll.sent"`

    - `const PhoneNumberReleasedWebhookEventEventTypePollDelivered PhoneNumberReleasedWebhookEventEventType = "poll.delivered"`

    - `const PhoneNumberReleasedWebhookEventEventTypePollRead PhoneNumberReleasedWebhookEventEventType = "poll.read"`

    - `const PhoneNumberReleasedWebhookEventEventTypePollUpdated PhoneNumberReleasedWebhookEventEventType = "poll.updated"`

    - `const PhoneNumberReleasedWebhookEventEventTypePollVoteAdded PhoneNumberReleasedWebhookEventEventType = "poll.vote.added"`

    - `const PhoneNumberReleasedWebhookEventEventTypePollVoteRemoved PhoneNumberReleasedWebhookEventEventType = "poll.vote.removed"`

    - `const PhoneNumberReleasedWebhookEventEventTypePollReactionAdded PhoneNumberReleasedWebhookEventEventType = "poll.reaction.added"`

    - `const PhoneNumberReleasedWebhookEventEventTypeParticipantAdded PhoneNumberReleasedWebhookEventEventType = "participant.added"`

    - `const PhoneNumberReleasedWebhookEventEventTypeParticipantRemoved PhoneNumberReleasedWebhookEventEventType = "participant.removed"`

    - `const PhoneNumberReleasedWebhookEventEventTypeChatCreated PhoneNumberReleasedWebhookEventEventType = "chat.created"`

    - `const PhoneNumberReleasedWebhookEventEventTypeChatGroupNameUpdated PhoneNumberReleasedWebhookEventEventType = "chat.group_name_updated"`

    - `const PhoneNumberReleasedWebhookEventEventTypeChatGroupIconUpdated PhoneNumberReleasedWebhookEventEventType = "chat.group_icon_updated"`

    - `const PhoneNumberReleasedWebhookEventEventTypeChatGroupNameUpdateFailed PhoneNumberReleasedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const PhoneNumberReleasedWebhookEventEventTypeChatGroupIconUpdateFailed PhoneNumberReleasedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const PhoneNumberReleasedWebhookEventEventTypeChatBackgroundUpdated PhoneNumberReleasedWebhookEventEventType = "chat.background_updated"`

    - `const PhoneNumberReleasedWebhookEventEventTypeChatBackgroundUpdateFailed PhoneNumberReleasedWebhookEventEventType = "chat.background_update_failed"`

    - `const PhoneNumberReleasedWebhookEventEventTypeChatTypingIndicatorStarted PhoneNumberReleasedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const PhoneNumberReleasedWebhookEventEventTypeChatTypingIndicatorStopped PhoneNumberReleasedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const PhoneNumberReleasedWebhookEventEventTypePhoneNumberStatusUpdated PhoneNumberReleasedWebhookEventEventType = "phone_number.status_updated"`

    - `const PhoneNumberReleasedWebhookEventEventTypePhoneNumberAssigned PhoneNumberReleasedWebhookEventEventType = "phone_number.assigned"`

    - `const PhoneNumberReleasedWebhookEventEventTypePhoneNumberReleased PhoneNumberReleasedWebhookEventEventType = "phone_number.released"`

    - `const PhoneNumberReleasedWebhookEventEventTypePhoneNumberLineTypeUpdated PhoneNumberReleasedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const PhoneNumberReleasedWebhookEventEventTypeContactCardReceived PhoneNumberReleasedWebhookEventEventType = "contact_card.received"`

    - `const PhoneNumberReleasedWebhookEventEventTypeCallInitiated PhoneNumberReleasedWebhookEventEventType = "call.initiated"`

    - `const PhoneNumberReleasedWebhookEventEventTypeCallRinging PhoneNumberReleasedWebhookEventEventType = "call.ringing"`

    - `const PhoneNumberReleasedWebhookEventEventTypeCallAnswered PhoneNumberReleasedWebhookEventEventType = "call.answered"`

    - `const PhoneNumberReleasedWebhookEventEventTypeCallEnded PhoneNumberReleasedWebhookEventEventType = "call.ended"`

    - `const PhoneNumberReleasedWebhookEventEventTypeCallFailed PhoneNumberReleasedWebhookEventEventType = "call.failed"`

    - `const PhoneNumberReleasedWebhookEventEventTypeCallDeclined PhoneNumberReleasedWebhookEventEventType = "call.declined"`

    - `const PhoneNumberReleasedWebhookEventEventTypeCallNoAnswer PhoneNumberReleasedWebhookEventEventType = "call.no_answer"`

    - `const PhoneNumberReleasedWebhookEventEventTypeLocationSharingStarted PhoneNumberReleasedWebhookEventEventType = "location.sharing.started"`

    - `const PhoneNumberReleasedWebhookEventEventTypeLocationSharingStopped PhoneNumberReleasedWebhookEventEventType = "location.sharing.stopped"`

    - `const PhoneNumberReleasedWebhookEventEventTypePaymentSucceeded PhoneNumberReleasedWebhookEventEventType = "payment.succeeded"`

    - `const PhoneNumberReleasedWebhookEventEventTypePaymentCanceled PhoneNumberReleasedWebhookEventEventType = "payment.canceled"`

    - `const PhoneNumberReleasedWebhookEventEventTypePaymentExpired PhoneNumberReleasedWebhookEventEventType = "payment.expired"`

    - `const PhoneNumberReleasedWebhookEventEventTypePaymentDeclined PhoneNumberReleasedWebhookEventEventType = "payment.declined"`

    - `const PhoneNumberReleasedWebhookEventEventTypePaymentAuthorized PhoneNumberReleasedWebhookEventEventType = "payment.authorized"`

    - `const PhoneNumberReleasedWebhookEventEventTypeConnectionCreated PhoneNumberReleasedWebhookEventEventType = "connection.created"`

    - `const PhoneNumberReleasedWebhookEventEventTypeConnectionRevoked PhoneNumberReleasedWebhookEventEventType = "connection.revoked"`

    - `const PhoneNumberReleasedWebhookEventEventTypeZeroDayRetentionUpdated PhoneNumberReleasedWebhookEventEventType = "zero_day_retention.updated"`

    - `const PhoneNumberReleasedWebhookEventEventTypePhoneNumberForwardingUpdated PhoneNumberReleasedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const PhoneNumberReleasedWebhookEventEventTypeEnvironmentLineMoved PhoneNumberReleasedWebhookEventEventType = "environment.line_moved"`

    - `const PhoneNumberReleasedWebhookEventEventTypeContactCardCreated PhoneNumberReleasedWebhookEventEventType = "contact_card.created"`

    - `const PhoneNumberReleasedWebhookEventEventTypeContactCardUpdated PhoneNumberReleasedWebhookEventEventType = "contact_card.updated"`

    - `const PhoneNumberReleasedWebhookEventEventTypeContactCardDeleted PhoneNumberReleasedWebhookEventEventType = "contact_card.deleted"`

    - `const PhoneNumberReleasedWebhookEventEventTypeAPITokenCreated PhoneNumberReleasedWebhookEventEventType = "api_token.created"`

    - `const PhoneNumberReleasedWebhookEventEventTypeAPITokenRenamed PhoneNumberReleasedWebhookEventEventType = "api_token.renamed"`

    - `const PhoneNumberReleasedWebhookEventEventTypeAPITokenExpiryScheduled PhoneNumberReleasedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const PhoneNumberReleasedWebhookEventEventTypeAPITokenExpired PhoneNumberReleasedWebhookEventEventType = "api_token.expired"`

    - `const PhoneNumberReleasedWebhookEventEventTypeAPITokenActivated PhoneNumberReleasedWebhookEventEventType = "api_token.activated"`

    - `const PhoneNumberReleasedWebhookEventEventTypeAPITokenDeleted PhoneNumberReleasedWebhookEventEventType = "api_token.deleted"`

    - `const PhoneNumberReleasedWebhookEventEventTypeEnvironmentCreated PhoneNumberReleasedWebhookEventEventType = "environment.created"`

    - `const PhoneNumberReleasedWebhookEventEventTypeEnvironmentRenamed PhoneNumberReleasedWebhookEventEventType = "environment.renamed"`

    - `const PhoneNumberReleasedWebhookEventEventTypeEnvironmentDeleted PhoneNumberReleasedWebhookEventEventType = "environment.deleted"`

    - `const PhoneNumberReleasedWebhookEventEventTypeWebhookSubscriptionCreated PhoneNumberReleasedWebhookEventEventType = "webhook_subscription.created"`

    - `const PhoneNumberReleasedWebhookEventEventTypeWebhookSubscriptionDeleted PhoneNumberReleasedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const PhoneNumberReleasedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged PhoneNumberReleasedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const PhoneNumberReleasedWebhookEventEventTypeWebhookSubscriptionEnabled PhoneNumberReleasedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const PhoneNumberReleasedWebhookEventEventTypeWebhookSubscriptionDisabled PhoneNumberReleasedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const PhoneNumberReleasedWebhookEventEventTypeWebhookSubscriptionEventsUpdated PhoneNumberReleasedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const PhoneNumberReleasedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated PhoneNumberReleasedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const PhoneNumberReleasedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet PhoneNumberReleasedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const PhoneNumberReleasedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared PhoneNumberReleasedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const PhoneNumberReleasedWebhookEventEventTypeTeamMemberAdded PhoneNumberReleasedWebhookEventEventType = "team_member.added"`

    - `const PhoneNumberReleasedWebhookEventEventTypeTeamMemberSignedIn PhoneNumberReleasedWebhookEventEventType = "team_member.signed_in"`

    - `const PhoneNumberReleasedWebhookEventEventTypeTeamMemberSignedOut PhoneNumberReleasedWebhookEventEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### phone_number.line_type_updated

- `type PhoneNumberLineTypeUpdatedWebhookEvent struct{…}`

  Complete webhook payload for phone_number.line_type_updated events

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data PhoneNumberLineTypeUpdatedWebhookEventData`

    Payload for phone_number.line_type_updated webhook events

    - `ChangedAt Time`

      When the line type changed

    - `NewLineType string`

      The line type after the change

      - `const PhoneNumberLineTypeUpdatedWebhookEventDataNewLineTypeIMessage PhoneNumberLineTypeUpdatedWebhookEventDataNewLineType = "iMessage"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventDataNewLineTypeRCS PhoneNumberLineTypeUpdatedWebhookEventDataNewLineType = "RCS"`

    - `PhoneNumber string`

      Phone number in E.164 format

    - `PreviousLineType string`

      The line type before the change

      - `const PhoneNumberLineTypeUpdatedWebhookEventDataPreviousLineTypeIMessage PhoneNumberLineTypeUpdatedWebhookEventDataPreviousLineType = "iMessage"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventDataPreviousLineTypeRCS PhoneNumberLineTypeUpdatedWebhookEventDataPreviousLineType = "RCS"`

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType PhoneNumberLineTypeUpdatedWebhookEventEventType`

    The type of event

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeMessageSent PhoneNumberLineTypeUpdatedWebhookEventEventType = "message.sent"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeMessageReceived PhoneNumberLineTypeUpdatedWebhookEventEventType = "message.received"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeMessageRead PhoneNumberLineTypeUpdatedWebhookEventEventType = "message.read"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeMessageDelivered PhoneNumberLineTypeUpdatedWebhookEventEventType = "message.delivered"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeMessageFailed PhoneNumberLineTypeUpdatedWebhookEventEventType = "message.failed"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeMessageEdited PhoneNumberLineTypeUpdatedWebhookEventEventType = "message.edited"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeReactionAdded PhoneNumberLineTypeUpdatedWebhookEventEventType = "reaction.added"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeReactionRemoved PhoneNumberLineTypeUpdatedWebhookEventEventType = "reaction.removed"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePollReceived PhoneNumberLineTypeUpdatedWebhookEventEventType = "poll.received"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePollFailed PhoneNumberLineTypeUpdatedWebhookEventEventType = "poll.failed"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePollSent PhoneNumberLineTypeUpdatedWebhookEventEventType = "poll.sent"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePollDelivered PhoneNumberLineTypeUpdatedWebhookEventEventType = "poll.delivered"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePollRead PhoneNumberLineTypeUpdatedWebhookEventEventType = "poll.read"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePollUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "poll.updated"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePollVoteAdded PhoneNumberLineTypeUpdatedWebhookEventEventType = "poll.vote.added"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePollVoteRemoved PhoneNumberLineTypeUpdatedWebhookEventEventType = "poll.vote.removed"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePollReactionAdded PhoneNumberLineTypeUpdatedWebhookEventEventType = "poll.reaction.added"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeParticipantAdded PhoneNumberLineTypeUpdatedWebhookEventEventType = "participant.added"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeParticipantRemoved PhoneNumberLineTypeUpdatedWebhookEventEventType = "participant.removed"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeChatCreated PhoneNumberLineTypeUpdatedWebhookEventEventType = "chat.created"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeChatGroupNameUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "chat.group_name_updated"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeChatGroupIconUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "chat.group_icon_updated"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeChatGroupNameUpdateFailed PhoneNumberLineTypeUpdatedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeChatGroupIconUpdateFailed PhoneNumberLineTypeUpdatedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeChatBackgroundUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "chat.background_updated"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeChatBackgroundUpdateFailed PhoneNumberLineTypeUpdatedWebhookEventEventType = "chat.background_update_failed"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeChatTypingIndicatorStarted PhoneNumberLineTypeUpdatedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeChatTypingIndicatorStopped PhoneNumberLineTypeUpdatedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePhoneNumberStatusUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "phone_number.status_updated"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePhoneNumberAssigned PhoneNumberLineTypeUpdatedWebhookEventEventType = "phone_number.assigned"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePhoneNumberReleased PhoneNumberLineTypeUpdatedWebhookEventEventType = "phone_number.released"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePhoneNumberLineTypeUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeContactCardReceived PhoneNumberLineTypeUpdatedWebhookEventEventType = "contact_card.received"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeCallInitiated PhoneNumberLineTypeUpdatedWebhookEventEventType = "call.initiated"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeCallRinging PhoneNumberLineTypeUpdatedWebhookEventEventType = "call.ringing"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeCallAnswered PhoneNumberLineTypeUpdatedWebhookEventEventType = "call.answered"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeCallEnded PhoneNumberLineTypeUpdatedWebhookEventEventType = "call.ended"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeCallFailed PhoneNumberLineTypeUpdatedWebhookEventEventType = "call.failed"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeCallDeclined PhoneNumberLineTypeUpdatedWebhookEventEventType = "call.declined"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeCallNoAnswer PhoneNumberLineTypeUpdatedWebhookEventEventType = "call.no_answer"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeLocationSharingStarted PhoneNumberLineTypeUpdatedWebhookEventEventType = "location.sharing.started"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeLocationSharingStopped PhoneNumberLineTypeUpdatedWebhookEventEventType = "location.sharing.stopped"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePaymentSucceeded PhoneNumberLineTypeUpdatedWebhookEventEventType = "payment.succeeded"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePaymentCanceled PhoneNumberLineTypeUpdatedWebhookEventEventType = "payment.canceled"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePaymentExpired PhoneNumberLineTypeUpdatedWebhookEventEventType = "payment.expired"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePaymentDeclined PhoneNumberLineTypeUpdatedWebhookEventEventType = "payment.declined"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePaymentAuthorized PhoneNumberLineTypeUpdatedWebhookEventEventType = "payment.authorized"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeConnectionCreated PhoneNumberLineTypeUpdatedWebhookEventEventType = "connection.created"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeConnectionRevoked PhoneNumberLineTypeUpdatedWebhookEventEventType = "connection.revoked"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeZeroDayRetentionUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "zero_day_retention.updated"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePhoneNumberForwardingUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeEnvironmentLineMoved PhoneNumberLineTypeUpdatedWebhookEventEventType = "environment.line_moved"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeContactCardCreated PhoneNumberLineTypeUpdatedWebhookEventEventType = "contact_card.created"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeContactCardUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "contact_card.updated"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeContactCardDeleted PhoneNumberLineTypeUpdatedWebhookEventEventType = "contact_card.deleted"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeAPITokenCreated PhoneNumberLineTypeUpdatedWebhookEventEventType = "api_token.created"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeAPITokenRenamed PhoneNumberLineTypeUpdatedWebhookEventEventType = "api_token.renamed"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeAPITokenExpiryScheduled PhoneNumberLineTypeUpdatedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeAPITokenExpired PhoneNumberLineTypeUpdatedWebhookEventEventType = "api_token.expired"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeAPITokenActivated PhoneNumberLineTypeUpdatedWebhookEventEventType = "api_token.activated"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeAPITokenDeleted PhoneNumberLineTypeUpdatedWebhookEventEventType = "api_token.deleted"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeEnvironmentCreated PhoneNumberLineTypeUpdatedWebhookEventEventType = "environment.created"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeEnvironmentRenamed PhoneNumberLineTypeUpdatedWebhookEventEventType = "environment.renamed"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeEnvironmentDeleted PhoneNumberLineTypeUpdatedWebhookEventEventType = "environment.deleted"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeWebhookSubscriptionCreated PhoneNumberLineTypeUpdatedWebhookEventEventType = "webhook_subscription.created"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeWebhookSubscriptionDeleted PhoneNumberLineTypeUpdatedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged PhoneNumberLineTypeUpdatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeWebhookSubscriptionEnabled PhoneNumberLineTypeUpdatedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeWebhookSubscriptionDisabled PhoneNumberLineTypeUpdatedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet PhoneNumberLineTypeUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared PhoneNumberLineTypeUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeTeamMemberAdded PhoneNumberLineTypeUpdatedWebhookEventEventType = "team_member.added"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeTeamMemberSignedIn PhoneNumberLineTypeUpdatedWebhookEventEventType = "team_member.signed_in"`

    - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeTeamMemberSignedOut PhoneNumberLineTypeUpdatedWebhookEventEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### connection.created

- `type ConnectionCreatedWebhookEvent struct{…}`

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ConnectionCreatedWebhookEventData`

    The payment request, as returned by
    `GET /v3/payment_requests/{paymentRequestId}`.

    - `ID string`

      The payment request id.

    - `Amount int64`

      What was charged at checkout, in the currency's minor
      units. In `subscription` mode this is the first invoice's
      total — all items after any discounts are applied.

    - `CheckoutURL string`

      URL the recipient opens to pay
      (`https://zero.linqapp.com/pay/{slug}?session=...`).

    - `CreatedAt Time`

    - `Currency string`

    - `Object string`

    - `Status string`

      - `const ConnectionCreatedWebhookEventDataStatusSucceeded ConnectionCreatedWebhookEventDataStatus = "succeeded"`

      - `const ConnectionCreatedWebhookEventDataStatusFailed ConnectionCreatedWebhookEventDataStatus = "failed"`

      - `const ConnectionCreatedWebhookEventDataStatusCanceled ConnectionCreatedWebhookEventDataStatus = "canceled"`

      - `const ConnectionCreatedWebhookEventDataStatusExpired ConnectionCreatedWebhookEventDataStatus = "expired"`

    - `Description string`

    - `Discount ConnectionCreatedWebhookEventDataDiscount`

      Subscription mode — the discount Stripe applied, read back
      from the coupon. Absent when none was applied.

      - `Coupon string`

      - `Label string`

        Name of the coupon/promo code displayed to customers.

      - `PromotionCode string`

    - `Interval string`

      Subscription mode — how often the subscription renews.

      - `const ConnectionCreatedWebhookEventDataIntervalDay ConnectionCreatedWebhookEventDataInterval = "day"`

      - `const ConnectionCreatedWebhookEventDataIntervalWeek ConnectionCreatedWebhookEventDataInterval = "week"`

      - `const ConnectionCreatedWebhookEventDataIntervalMonth ConnectionCreatedWebhookEventDataInterval = "month"`

      - `const ConnectionCreatedWebhookEventDataIntervalYear ConnectionCreatedWebhookEventDataInterval = "year"`

    - `IntervalCount int64`

      Subscription mode — intervals per renewal.

    - `Metadata map[string, string]`

    - `Mode string`

      Whether the request collected a one-time charge or started a subscription.

      - `const ConnectionCreatedWebhookEventDataModePayment ConnectionCreatedWebhookEventDataMode = "payment"`

      - `const ConnectionCreatedWebhookEventDataModeSubscription ConnectionCreatedWebhookEventDataMode = "subscription"`

    - `Natural ConnectionCreatedWebhookEventDataNatural`

      Natural-rail join keys, present when `rail: natural`.

      - `PaymentRequestID string`

        The Natural payment request (`prq_...`).

      - `TransactionID string`

        The settled transaction (`txn_...`).

    - `PriceID string`

      Subscription mode — the recurring price subscribed to.

    - `Quantity int64`

      Subscription mode — units of the price subscribed to.

    - `Rail string`

      The rail this request settled on.

      - `const ConnectionCreatedWebhookEventDataRailStripe ConnectionCreatedWebhookEventDataRail = "stripe"`

      - `const ConnectionCreatedWebhookEventDataRailNatural ConnectionCreatedWebhookEventDataRail = "natural"`

    - `Stripe ConnectionCreatedWebhookEventDataStripe`

      Ids of the Stripe objects on your connected account — join
      keys into your own Stripe Dashboard/API. Manage a
      subscription's post-checkout lifecycle with `subscription_id`.

      - `CustomerID string`

        The Customer the request is attached to (`cus_...`).
        Always set in subscription mode; set in payment mode
        only when the request was created with a `customer_id`.

      - `PaymentIntentID string`

        The PaymentIntent collected at checkout (`pi_...`).

      - `SubscriptionID string`

        Subscription mode — the Subscription (`sub_...`).

    - `TrialEnd Time`

      Subscription mode — when the free trial ends and the first
      charge happens. On a trial request, `payment.succeeded`
      means the payment method was collected ($0 moved).

    - `UpdatedAt Time`

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType ConnectionCreatedWebhookEventEventType`

    - `const ConnectionCreatedWebhookEventEventTypePaymentSucceeded ConnectionCreatedWebhookEventEventType = "payment.succeeded"`

    - `const ConnectionCreatedWebhookEventEventTypePaymentCanceled ConnectionCreatedWebhookEventEventType = "payment.canceled"`

    - `const ConnectionCreatedWebhookEventEventTypePaymentExpired ConnectionCreatedWebhookEventEventType = "payment.expired"`

    - `const ConnectionCreatedWebhookEventEventTypeMessageSent ConnectionCreatedWebhookEventEventType = "message.sent"`

    - `const ConnectionCreatedWebhookEventEventTypeMessageReceived ConnectionCreatedWebhookEventEventType = "message.received"`

    - `const ConnectionCreatedWebhookEventEventTypeMessageRead ConnectionCreatedWebhookEventEventType = "message.read"`

    - `const ConnectionCreatedWebhookEventEventTypeMessageDelivered ConnectionCreatedWebhookEventEventType = "message.delivered"`

    - `const ConnectionCreatedWebhookEventEventTypeMessageFailed ConnectionCreatedWebhookEventEventType = "message.failed"`

    - `const ConnectionCreatedWebhookEventEventTypeMessageEdited ConnectionCreatedWebhookEventEventType = "message.edited"`

    - `const ConnectionCreatedWebhookEventEventTypeReactionAdded ConnectionCreatedWebhookEventEventType = "reaction.added"`

    - `const ConnectionCreatedWebhookEventEventTypeReactionRemoved ConnectionCreatedWebhookEventEventType = "reaction.removed"`

    - `const ConnectionCreatedWebhookEventEventTypePollReceived ConnectionCreatedWebhookEventEventType = "poll.received"`

    - `const ConnectionCreatedWebhookEventEventTypePollFailed ConnectionCreatedWebhookEventEventType = "poll.failed"`

    - `const ConnectionCreatedWebhookEventEventTypePollSent ConnectionCreatedWebhookEventEventType = "poll.sent"`

    - `const ConnectionCreatedWebhookEventEventTypePollDelivered ConnectionCreatedWebhookEventEventType = "poll.delivered"`

    - `const ConnectionCreatedWebhookEventEventTypePollRead ConnectionCreatedWebhookEventEventType = "poll.read"`

    - `const ConnectionCreatedWebhookEventEventTypePollUpdated ConnectionCreatedWebhookEventEventType = "poll.updated"`

    - `const ConnectionCreatedWebhookEventEventTypePollVoteAdded ConnectionCreatedWebhookEventEventType = "poll.vote.added"`

    - `const ConnectionCreatedWebhookEventEventTypePollVoteRemoved ConnectionCreatedWebhookEventEventType = "poll.vote.removed"`

    - `const ConnectionCreatedWebhookEventEventTypePollReactionAdded ConnectionCreatedWebhookEventEventType = "poll.reaction.added"`

    - `const ConnectionCreatedWebhookEventEventTypeParticipantAdded ConnectionCreatedWebhookEventEventType = "participant.added"`

    - `const ConnectionCreatedWebhookEventEventTypeParticipantRemoved ConnectionCreatedWebhookEventEventType = "participant.removed"`

    - `const ConnectionCreatedWebhookEventEventTypeChatCreated ConnectionCreatedWebhookEventEventType = "chat.created"`

    - `const ConnectionCreatedWebhookEventEventTypeChatGroupNameUpdated ConnectionCreatedWebhookEventEventType = "chat.group_name_updated"`

    - `const ConnectionCreatedWebhookEventEventTypeChatGroupIconUpdated ConnectionCreatedWebhookEventEventType = "chat.group_icon_updated"`

    - `const ConnectionCreatedWebhookEventEventTypeChatGroupNameUpdateFailed ConnectionCreatedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const ConnectionCreatedWebhookEventEventTypeChatGroupIconUpdateFailed ConnectionCreatedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const ConnectionCreatedWebhookEventEventTypeChatBackgroundUpdated ConnectionCreatedWebhookEventEventType = "chat.background_updated"`

    - `const ConnectionCreatedWebhookEventEventTypeChatBackgroundUpdateFailed ConnectionCreatedWebhookEventEventType = "chat.background_update_failed"`

    - `const ConnectionCreatedWebhookEventEventTypeChatTypingIndicatorStarted ConnectionCreatedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const ConnectionCreatedWebhookEventEventTypeChatTypingIndicatorStopped ConnectionCreatedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const ConnectionCreatedWebhookEventEventTypePhoneNumberStatusUpdated ConnectionCreatedWebhookEventEventType = "phone_number.status_updated"`

    - `const ConnectionCreatedWebhookEventEventTypePhoneNumberAssigned ConnectionCreatedWebhookEventEventType = "phone_number.assigned"`

    - `const ConnectionCreatedWebhookEventEventTypePhoneNumberReleased ConnectionCreatedWebhookEventEventType = "phone_number.released"`

    - `const ConnectionCreatedWebhookEventEventTypePhoneNumberLineTypeUpdated ConnectionCreatedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const ConnectionCreatedWebhookEventEventTypeContactCardReceived ConnectionCreatedWebhookEventEventType = "contact_card.received"`

    - `const ConnectionCreatedWebhookEventEventTypeCallInitiated ConnectionCreatedWebhookEventEventType = "call.initiated"`

    - `const ConnectionCreatedWebhookEventEventTypeCallRinging ConnectionCreatedWebhookEventEventType = "call.ringing"`

    - `const ConnectionCreatedWebhookEventEventTypeCallAnswered ConnectionCreatedWebhookEventEventType = "call.answered"`

    - `const ConnectionCreatedWebhookEventEventTypeCallEnded ConnectionCreatedWebhookEventEventType = "call.ended"`

    - `const ConnectionCreatedWebhookEventEventTypeCallFailed ConnectionCreatedWebhookEventEventType = "call.failed"`

    - `const ConnectionCreatedWebhookEventEventTypeCallDeclined ConnectionCreatedWebhookEventEventType = "call.declined"`

    - `const ConnectionCreatedWebhookEventEventTypeCallNoAnswer ConnectionCreatedWebhookEventEventType = "call.no_answer"`

    - `const ConnectionCreatedWebhookEventEventTypeLocationSharingStarted ConnectionCreatedWebhookEventEventType = "location.sharing.started"`

    - `const ConnectionCreatedWebhookEventEventTypeLocationSharingStopped ConnectionCreatedWebhookEventEventType = "location.sharing.stopped"`

    - `const ConnectionCreatedWebhookEventEventTypePaymentDeclined ConnectionCreatedWebhookEventEventType = "payment.declined"`

    - `const ConnectionCreatedWebhookEventEventTypePaymentAuthorized ConnectionCreatedWebhookEventEventType = "payment.authorized"`

    - `const ConnectionCreatedWebhookEventEventTypeConnectionCreated ConnectionCreatedWebhookEventEventType = "connection.created"`

    - `const ConnectionCreatedWebhookEventEventTypeConnectionRevoked ConnectionCreatedWebhookEventEventType = "connection.revoked"`

    - `const ConnectionCreatedWebhookEventEventTypeZeroDayRetentionUpdated ConnectionCreatedWebhookEventEventType = "zero_day_retention.updated"`

    - `const ConnectionCreatedWebhookEventEventTypePhoneNumberForwardingUpdated ConnectionCreatedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const ConnectionCreatedWebhookEventEventTypeEnvironmentLineMoved ConnectionCreatedWebhookEventEventType = "environment.line_moved"`

    - `const ConnectionCreatedWebhookEventEventTypeContactCardCreated ConnectionCreatedWebhookEventEventType = "contact_card.created"`

    - `const ConnectionCreatedWebhookEventEventTypeContactCardUpdated ConnectionCreatedWebhookEventEventType = "contact_card.updated"`

    - `const ConnectionCreatedWebhookEventEventTypeContactCardDeleted ConnectionCreatedWebhookEventEventType = "contact_card.deleted"`

    - `const ConnectionCreatedWebhookEventEventTypeAPITokenCreated ConnectionCreatedWebhookEventEventType = "api_token.created"`

    - `const ConnectionCreatedWebhookEventEventTypeAPITokenRenamed ConnectionCreatedWebhookEventEventType = "api_token.renamed"`

    - `const ConnectionCreatedWebhookEventEventTypeAPITokenExpiryScheduled ConnectionCreatedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const ConnectionCreatedWebhookEventEventTypeAPITokenExpired ConnectionCreatedWebhookEventEventType = "api_token.expired"`

    - `const ConnectionCreatedWebhookEventEventTypeAPITokenActivated ConnectionCreatedWebhookEventEventType = "api_token.activated"`

    - `const ConnectionCreatedWebhookEventEventTypeAPITokenDeleted ConnectionCreatedWebhookEventEventType = "api_token.deleted"`

    - `const ConnectionCreatedWebhookEventEventTypeEnvironmentCreated ConnectionCreatedWebhookEventEventType = "environment.created"`

    - `const ConnectionCreatedWebhookEventEventTypeEnvironmentRenamed ConnectionCreatedWebhookEventEventType = "environment.renamed"`

    - `const ConnectionCreatedWebhookEventEventTypeEnvironmentDeleted ConnectionCreatedWebhookEventEventType = "environment.deleted"`

    - `const ConnectionCreatedWebhookEventEventTypeWebhookSubscriptionCreated ConnectionCreatedWebhookEventEventType = "webhook_subscription.created"`

    - `const ConnectionCreatedWebhookEventEventTypeWebhookSubscriptionDeleted ConnectionCreatedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const ConnectionCreatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged ConnectionCreatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const ConnectionCreatedWebhookEventEventTypeWebhookSubscriptionEnabled ConnectionCreatedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const ConnectionCreatedWebhookEventEventTypeWebhookSubscriptionDisabled ConnectionCreatedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const ConnectionCreatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated ConnectionCreatedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const ConnectionCreatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated ConnectionCreatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const ConnectionCreatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet ConnectionCreatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const ConnectionCreatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared ConnectionCreatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const ConnectionCreatedWebhookEventEventTypeTeamMemberAdded ConnectionCreatedWebhookEventEventType = "team_member.added"`

    - `const ConnectionCreatedWebhookEventEventTypeTeamMemberSignedIn ConnectionCreatedWebhookEventEventType = "team_member.signed_in"`

    - `const ConnectionCreatedWebhookEventEventTypeTeamMemberSignedOut ConnectionCreatedWebhookEventEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### connection.revoked

- `type ConnectionRevokedWebhookEvent struct{…}`

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ConnectionRevokedWebhookEventData`

    The payment request, as returned by
    `GET /v3/payment_requests/{paymentRequestId}`.

    - `ID string`

      The payment request id.

    - `Amount int64`

      What was charged at checkout, in the currency's minor
      units. In `subscription` mode this is the first invoice's
      total — all items after any discounts are applied.

    - `CheckoutURL string`

      URL the recipient opens to pay
      (`https://zero.linqapp.com/pay/{slug}?session=...`).

    - `CreatedAt Time`

    - `Currency string`

    - `Object string`

    - `Status string`

      - `const ConnectionRevokedWebhookEventDataStatusSucceeded ConnectionRevokedWebhookEventDataStatus = "succeeded"`

      - `const ConnectionRevokedWebhookEventDataStatusFailed ConnectionRevokedWebhookEventDataStatus = "failed"`

      - `const ConnectionRevokedWebhookEventDataStatusCanceled ConnectionRevokedWebhookEventDataStatus = "canceled"`

      - `const ConnectionRevokedWebhookEventDataStatusExpired ConnectionRevokedWebhookEventDataStatus = "expired"`

    - `Description string`

    - `Discount ConnectionRevokedWebhookEventDataDiscount`

      Subscription mode — the discount Stripe applied, read back
      from the coupon. Absent when none was applied.

      - `Coupon string`

      - `Label string`

        Name of the coupon/promo code displayed to customers.

      - `PromotionCode string`

    - `Interval string`

      Subscription mode — how often the subscription renews.

      - `const ConnectionRevokedWebhookEventDataIntervalDay ConnectionRevokedWebhookEventDataInterval = "day"`

      - `const ConnectionRevokedWebhookEventDataIntervalWeek ConnectionRevokedWebhookEventDataInterval = "week"`

      - `const ConnectionRevokedWebhookEventDataIntervalMonth ConnectionRevokedWebhookEventDataInterval = "month"`

      - `const ConnectionRevokedWebhookEventDataIntervalYear ConnectionRevokedWebhookEventDataInterval = "year"`

    - `IntervalCount int64`

      Subscription mode — intervals per renewal.

    - `Metadata map[string, string]`

    - `Mode string`

      Whether the request collected a one-time charge or started a subscription.

      - `const ConnectionRevokedWebhookEventDataModePayment ConnectionRevokedWebhookEventDataMode = "payment"`

      - `const ConnectionRevokedWebhookEventDataModeSubscription ConnectionRevokedWebhookEventDataMode = "subscription"`

    - `Natural ConnectionRevokedWebhookEventDataNatural`

      Natural-rail join keys, present when `rail: natural`.

      - `PaymentRequestID string`

        The Natural payment request (`prq_...`).

      - `TransactionID string`

        The settled transaction (`txn_...`).

    - `PriceID string`

      Subscription mode — the recurring price subscribed to.

    - `Quantity int64`

      Subscription mode — units of the price subscribed to.

    - `Rail string`

      The rail this request settled on.

      - `const ConnectionRevokedWebhookEventDataRailStripe ConnectionRevokedWebhookEventDataRail = "stripe"`

      - `const ConnectionRevokedWebhookEventDataRailNatural ConnectionRevokedWebhookEventDataRail = "natural"`

    - `Stripe ConnectionRevokedWebhookEventDataStripe`

      Ids of the Stripe objects on your connected account — join
      keys into your own Stripe Dashboard/API. Manage a
      subscription's post-checkout lifecycle with `subscription_id`.

      - `CustomerID string`

        The Customer the request is attached to (`cus_...`).
        Always set in subscription mode; set in payment mode
        only when the request was created with a `customer_id`.

      - `PaymentIntentID string`

        The PaymentIntent collected at checkout (`pi_...`).

      - `SubscriptionID string`

        Subscription mode — the Subscription (`sub_...`).

    - `TrialEnd Time`

      Subscription mode — when the free trial ends and the first
      charge happens. On a trial request, `payment.succeeded`
      means the payment method was collected ($0 moved).

    - `UpdatedAt Time`

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType ConnectionRevokedWebhookEventEventType`

    - `const ConnectionRevokedWebhookEventEventTypePaymentSucceeded ConnectionRevokedWebhookEventEventType = "payment.succeeded"`

    - `const ConnectionRevokedWebhookEventEventTypePaymentCanceled ConnectionRevokedWebhookEventEventType = "payment.canceled"`

    - `const ConnectionRevokedWebhookEventEventTypePaymentExpired ConnectionRevokedWebhookEventEventType = "payment.expired"`

    - `const ConnectionRevokedWebhookEventEventTypeMessageSent ConnectionRevokedWebhookEventEventType = "message.sent"`

    - `const ConnectionRevokedWebhookEventEventTypeMessageReceived ConnectionRevokedWebhookEventEventType = "message.received"`

    - `const ConnectionRevokedWebhookEventEventTypeMessageRead ConnectionRevokedWebhookEventEventType = "message.read"`

    - `const ConnectionRevokedWebhookEventEventTypeMessageDelivered ConnectionRevokedWebhookEventEventType = "message.delivered"`

    - `const ConnectionRevokedWebhookEventEventTypeMessageFailed ConnectionRevokedWebhookEventEventType = "message.failed"`

    - `const ConnectionRevokedWebhookEventEventTypeMessageEdited ConnectionRevokedWebhookEventEventType = "message.edited"`

    - `const ConnectionRevokedWebhookEventEventTypeReactionAdded ConnectionRevokedWebhookEventEventType = "reaction.added"`

    - `const ConnectionRevokedWebhookEventEventTypeReactionRemoved ConnectionRevokedWebhookEventEventType = "reaction.removed"`

    - `const ConnectionRevokedWebhookEventEventTypePollReceived ConnectionRevokedWebhookEventEventType = "poll.received"`

    - `const ConnectionRevokedWebhookEventEventTypePollFailed ConnectionRevokedWebhookEventEventType = "poll.failed"`

    - `const ConnectionRevokedWebhookEventEventTypePollSent ConnectionRevokedWebhookEventEventType = "poll.sent"`

    - `const ConnectionRevokedWebhookEventEventTypePollDelivered ConnectionRevokedWebhookEventEventType = "poll.delivered"`

    - `const ConnectionRevokedWebhookEventEventTypePollRead ConnectionRevokedWebhookEventEventType = "poll.read"`

    - `const ConnectionRevokedWebhookEventEventTypePollUpdated ConnectionRevokedWebhookEventEventType = "poll.updated"`

    - `const ConnectionRevokedWebhookEventEventTypePollVoteAdded ConnectionRevokedWebhookEventEventType = "poll.vote.added"`

    - `const ConnectionRevokedWebhookEventEventTypePollVoteRemoved ConnectionRevokedWebhookEventEventType = "poll.vote.removed"`

    - `const ConnectionRevokedWebhookEventEventTypePollReactionAdded ConnectionRevokedWebhookEventEventType = "poll.reaction.added"`

    - `const ConnectionRevokedWebhookEventEventTypeParticipantAdded ConnectionRevokedWebhookEventEventType = "participant.added"`

    - `const ConnectionRevokedWebhookEventEventTypeParticipantRemoved ConnectionRevokedWebhookEventEventType = "participant.removed"`

    - `const ConnectionRevokedWebhookEventEventTypeChatCreated ConnectionRevokedWebhookEventEventType = "chat.created"`

    - `const ConnectionRevokedWebhookEventEventTypeChatGroupNameUpdated ConnectionRevokedWebhookEventEventType = "chat.group_name_updated"`

    - `const ConnectionRevokedWebhookEventEventTypeChatGroupIconUpdated ConnectionRevokedWebhookEventEventType = "chat.group_icon_updated"`

    - `const ConnectionRevokedWebhookEventEventTypeChatGroupNameUpdateFailed ConnectionRevokedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const ConnectionRevokedWebhookEventEventTypeChatGroupIconUpdateFailed ConnectionRevokedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const ConnectionRevokedWebhookEventEventTypeChatBackgroundUpdated ConnectionRevokedWebhookEventEventType = "chat.background_updated"`

    - `const ConnectionRevokedWebhookEventEventTypeChatBackgroundUpdateFailed ConnectionRevokedWebhookEventEventType = "chat.background_update_failed"`

    - `const ConnectionRevokedWebhookEventEventTypeChatTypingIndicatorStarted ConnectionRevokedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const ConnectionRevokedWebhookEventEventTypeChatTypingIndicatorStopped ConnectionRevokedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const ConnectionRevokedWebhookEventEventTypePhoneNumberStatusUpdated ConnectionRevokedWebhookEventEventType = "phone_number.status_updated"`

    - `const ConnectionRevokedWebhookEventEventTypePhoneNumberAssigned ConnectionRevokedWebhookEventEventType = "phone_number.assigned"`

    - `const ConnectionRevokedWebhookEventEventTypePhoneNumberReleased ConnectionRevokedWebhookEventEventType = "phone_number.released"`

    - `const ConnectionRevokedWebhookEventEventTypePhoneNumberLineTypeUpdated ConnectionRevokedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const ConnectionRevokedWebhookEventEventTypeContactCardReceived ConnectionRevokedWebhookEventEventType = "contact_card.received"`

    - `const ConnectionRevokedWebhookEventEventTypeCallInitiated ConnectionRevokedWebhookEventEventType = "call.initiated"`

    - `const ConnectionRevokedWebhookEventEventTypeCallRinging ConnectionRevokedWebhookEventEventType = "call.ringing"`

    - `const ConnectionRevokedWebhookEventEventTypeCallAnswered ConnectionRevokedWebhookEventEventType = "call.answered"`

    - `const ConnectionRevokedWebhookEventEventTypeCallEnded ConnectionRevokedWebhookEventEventType = "call.ended"`

    - `const ConnectionRevokedWebhookEventEventTypeCallFailed ConnectionRevokedWebhookEventEventType = "call.failed"`

    - `const ConnectionRevokedWebhookEventEventTypeCallDeclined ConnectionRevokedWebhookEventEventType = "call.declined"`

    - `const ConnectionRevokedWebhookEventEventTypeCallNoAnswer ConnectionRevokedWebhookEventEventType = "call.no_answer"`

    - `const ConnectionRevokedWebhookEventEventTypeLocationSharingStarted ConnectionRevokedWebhookEventEventType = "location.sharing.started"`

    - `const ConnectionRevokedWebhookEventEventTypeLocationSharingStopped ConnectionRevokedWebhookEventEventType = "location.sharing.stopped"`

    - `const ConnectionRevokedWebhookEventEventTypePaymentDeclined ConnectionRevokedWebhookEventEventType = "payment.declined"`

    - `const ConnectionRevokedWebhookEventEventTypePaymentAuthorized ConnectionRevokedWebhookEventEventType = "payment.authorized"`

    - `const ConnectionRevokedWebhookEventEventTypeConnectionCreated ConnectionRevokedWebhookEventEventType = "connection.created"`

    - `const ConnectionRevokedWebhookEventEventTypeConnectionRevoked ConnectionRevokedWebhookEventEventType = "connection.revoked"`

    - `const ConnectionRevokedWebhookEventEventTypeZeroDayRetentionUpdated ConnectionRevokedWebhookEventEventType = "zero_day_retention.updated"`

    - `const ConnectionRevokedWebhookEventEventTypePhoneNumberForwardingUpdated ConnectionRevokedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const ConnectionRevokedWebhookEventEventTypeEnvironmentLineMoved ConnectionRevokedWebhookEventEventType = "environment.line_moved"`

    - `const ConnectionRevokedWebhookEventEventTypeContactCardCreated ConnectionRevokedWebhookEventEventType = "contact_card.created"`

    - `const ConnectionRevokedWebhookEventEventTypeContactCardUpdated ConnectionRevokedWebhookEventEventType = "contact_card.updated"`

    - `const ConnectionRevokedWebhookEventEventTypeContactCardDeleted ConnectionRevokedWebhookEventEventType = "contact_card.deleted"`

    - `const ConnectionRevokedWebhookEventEventTypeAPITokenCreated ConnectionRevokedWebhookEventEventType = "api_token.created"`

    - `const ConnectionRevokedWebhookEventEventTypeAPITokenRenamed ConnectionRevokedWebhookEventEventType = "api_token.renamed"`

    - `const ConnectionRevokedWebhookEventEventTypeAPITokenExpiryScheduled ConnectionRevokedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const ConnectionRevokedWebhookEventEventTypeAPITokenExpired ConnectionRevokedWebhookEventEventType = "api_token.expired"`

    - `const ConnectionRevokedWebhookEventEventTypeAPITokenActivated ConnectionRevokedWebhookEventEventType = "api_token.activated"`

    - `const ConnectionRevokedWebhookEventEventTypeAPITokenDeleted ConnectionRevokedWebhookEventEventType = "api_token.deleted"`

    - `const ConnectionRevokedWebhookEventEventTypeEnvironmentCreated ConnectionRevokedWebhookEventEventType = "environment.created"`

    - `const ConnectionRevokedWebhookEventEventTypeEnvironmentRenamed ConnectionRevokedWebhookEventEventType = "environment.renamed"`

    - `const ConnectionRevokedWebhookEventEventTypeEnvironmentDeleted ConnectionRevokedWebhookEventEventType = "environment.deleted"`

    - `const ConnectionRevokedWebhookEventEventTypeWebhookSubscriptionCreated ConnectionRevokedWebhookEventEventType = "webhook_subscription.created"`

    - `const ConnectionRevokedWebhookEventEventTypeWebhookSubscriptionDeleted ConnectionRevokedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const ConnectionRevokedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged ConnectionRevokedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const ConnectionRevokedWebhookEventEventTypeWebhookSubscriptionEnabled ConnectionRevokedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const ConnectionRevokedWebhookEventEventTypeWebhookSubscriptionDisabled ConnectionRevokedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const ConnectionRevokedWebhookEventEventTypeWebhookSubscriptionEventsUpdated ConnectionRevokedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const ConnectionRevokedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated ConnectionRevokedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const ConnectionRevokedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet ConnectionRevokedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const ConnectionRevokedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared ConnectionRevokedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const ConnectionRevokedWebhookEventEventTypeTeamMemberAdded ConnectionRevokedWebhookEventEventType = "team_member.added"`

    - `const ConnectionRevokedWebhookEventEventTypeTeamMemberSignedIn ConnectionRevokedWebhookEventEventType = "team_member.signed_in"`

    - `const ConnectionRevokedWebhookEventEventTypeTeamMemberSignedOut ConnectionRevokedWebhookEventEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### location.sharing.started

- `type LocationSharingStartedWebhookEvent struct{…}`

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data LocationSharingStartedWebhookEventData`

    - `BeganAt Time`

      When location sharing started. Always present: falls back to when the share was first observed if the device reported no start time.

    - `ChatID string`

      The chat this share was first sent to. Location sharing is per-contact rather than per-chat, so the location may also be visible in other chats with the same handle; this identifies where the share originated and does not change if the contact later shares into another chat. Null when the originating chat could not be determined.

    - `EndsAt Time`

      When location sharing will expire. Null when sharing indefinitely.

    - `SharedBy string`

      Phone number of the person sharing their location

    - `SharedWith string`

      Your phone number receiving the location

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType LocationSharingStartedWebhookEventEventType`

    - `const LocationSharingStartedWebhookEventEventTypeLocationSharingStarted LocationSharingStartedWebhookEventEventType = "location.sharing.started"`

    - `const LocationSharingStartedWebhookEventEventTypeMessageSent LocationSharingStartedWebhookEventEventType = "message.sent"`

    - `const LocationSharingStartedWebhookEventEventTypeMessageReceived LocationSharingStartedWebhookEventEventType = "message.received"`

    - `const LocationSharingStartedWebhookEventEventTypeMessageRead LocationSharingStartedWebhookEventEventType = "message.read"`

    - `const LocationSharingStartedWebhookEventEventTypeMessageDelivered LocationSharingStartedWebhookEventEventType = "message.delivered"`

    - `const LocationSharingStartedWebhookEventEventTypeMessageFailed LocationSharingStartedWebhookEventEventType = "message.failed"`

    - `const LocationSharingStartedWebhookEventEventTypeMessageEdited LocationSharingStartedWebhookEventEventType = "message.edited"`

    - `const LocationSharingStartedWebhookEventEventTypeReactionAdded LocationSharingStartedWebhookEventEventType = "reaction.added"`

    - `const LocationSharingStartedWebhookEventEventTypeReactionRemoved LocationSharingStartedWebhookEventEventType = "reaction.removed"`

    - `const LocationSharingStartedWebhookEventEventTypePollReceived LocationSharingStartedWebhookEventEventType = "poll.received"`

    - `const LocationSharingStartedWebhookEventEventTypePollFailed LocationSharingStartedWebhookEventEventType = "poll.failed"`

    - `const LocationSharingStartedWebhookEventEventTypePollSent LocationSharingStartedWebhookEventEventType = "poll.sent"`

    - `const LocationSharingStartedWebhookEventEventTypePollDelivered LocationSharingStartedWebhookEventEventType = "poll.delivered"`

    - `const LocationSharingStartedWebhookEventEventTypePollRead LocationSharingStartedWebhookEventEventType = "poll.read"`

    - `const LocationSharingStartedWebhookEventEventTypePollUpdated LocationSharingStartedWebhookEventEventType = "poll.updated"`

    - `const LocationSharingStartedWebhookEventEventTypePollVoteAdded LocationSharingStartedWebhookEventEventType = "poll.vote.added"`

    - `const LocationSharingStartedWebhookEventEventTypePollVoteRemoved LocationSharingStartedWebhookEventEventType = "poll.vote.removed"`

    - `const LocationSharingStartedWebhookEventEventTypePollReactionAdded LocationSharingStartedWebhookEventEventType = "poll.reaction.added"`

    - `const LocationSharingStartedWebhookEventEventTypeParticipantAdded LocationSharingStartedWebhookEventEventType = "participant.added"`

    - `const LocationSharingStartedWebhookEventEventTypeParticipantRemoved LocationSharingStartedWebhookEventEventType = "participant.removed"`

    - `const LocationSharingStartedWebhookEventEventTypeChatCreated LocationSharingStartedWebhookEventEventType = "chat.created"`

    - `const LocationSharingStartedWebhookEventEventTypeChatGroupNameUpdated LocationSharingStartedWebhookEventEventType = "chat.group_name_updated"`

    - `const LocationSharingStartedWebhookEventEventTypeChatGroupIconUpdated LocationSharingStartedWebhookEventEventType = "chat.group_icon_updated"`

    - `const LocationSharingStartedWebhookEventEventTypeChatGroupNameUpdateFailed LocationSharingStartedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const LocationSharingStartedWebhookEventEventTypeChatGroupIconUpdateFailed LocationSharingStartedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const LocationSharingStartedWebhookEventEventTypeChatBackgroundUpdated LocationSharingStartedWebhookEventEventType = "chat.background_updated"`

    - `const LocationSharingStartedWebhookEventEventTypeChatBackgroundUpdateFailed LocationSharingStartedWebhookEventEventType = "chat.background_update_failed"`

    - `const LocationSharingStartedWebhookEventEventTypeChatTypingIndicatorStarted LocationSharingStartedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const LocationSharingStartedWebhookEventEventTypeChatTypingIndicatorStopped LocationSharingStartedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const LocationSharingStartedWebhookEventEventTypePhoneNumberStatusUpdated LocationSharingStartedWebhookEventEventType = "phone_number.status_updated"`

    - `const LocationSharingStartedWebhookEventEventTypePhoneNumberAssigned LocationSharingStartedWebhookEventEventType = "phone_number.assigned"`

    - `const LocationSharingStartedWebhookEventEventTypePhoneNumberReleased LocationSharingStartedWebhookEventEventType = "phone_number.released"`

    - `const LocationSharingStartedWebhookEventEventTypePhoneNumberLineTypeUpdated LocationSharingStartedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const LocationSharingStartedWebhookEventEventTypeContactCardReceived LocationSharingStartedWebhookEventEventType = "contact_card.received"`

    - `const LocationSharingStartedWebhookEventEventTypeCallInitiated LocationSharingStartedWebhookEventEventType = "call.initiated"`

    - `const LocationSharingStartedWebhookEventEventTypeCallRinging LocationSharingStartedWebhookEventEventType = "call.ringing"`

    - `const LocationSharingStartedWebhookEventEventTypeCallAnswered LocationSharingStartedWebhookEventEventType = "call.answered"`

    - `const LocationSharingStartedWebhookEventEventTypeCallEnded LocationSharingStartedWebhookEventEventType = "call.ended"`

    - `const LocationSharingStartedWebhookEventEventTypeCallFailed LocationSharingStartedWebhookEventEventType = "call.failed"`

    - `const LocationSharingStartedWebhookEventEventTypeCallDeclined LocationSharingStartedWebhookEventEventType = "call.declined"`

    - `const LocationSharingStartedWebhookEventEventTypeCallNoAnswer LocationSharingStartedWebhookEventEventType = "call.no_answer"`

    - `const LocationSharingStartedWebhookEventEventTypeLocationSharingStopped LocationSharingStartedWebhookEventEventType = "location.sharing.stopped"`

    - `const LocationSharingStartedWebhookEventEventTypePaymentSucceeded LocationSharingStartedWebhookEventEventType = "payment.succeeded"`

    - `const LocationSharingStartedWebhookEventEventTypePaymentCanceled LocationSharingStartedWebhookEventEventType = "payment.canceled"`

    - `const LocationSharingStartedWebhookEventEventTypePaymentExpired LocationSharingStartedWebhookEventEventType = "payment.expired"`

    - `const LocationSharingStartedWebhookEventEventTypePaymentDeclined LocationSharingStartedWebhookEventEventType = "payment.declined"`

    - `const LocationSharingStartedWebhookEventEventTypePaymentAuthorized LocationSharingStartedWebhookEventEventType = "payment.authorized"`

    - `const LocationSharingStartedWebhookEventEventTypeConnectionCreated LocationSharingStartedWebhookEventEventType = "connection.created"`

    - `const LocationSharingStartedWebhookEventEventTypeConnectionRevoked LocationSharingStartedWebhookEventEventType = "connection.revoked"`

    - `const LocationSharingStartedWebhookEventEventTypeZeroDayRetentionUpdated LocationSharingStartedWebhookEventEventType = "zero_day_retention.updated"`

    - `const LocationSharingStartedWebhookEventEventTypePhoneNumberForwardingUpdated LocationSharingStartedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const LocationSharingStartedWebhookEventEventTypeEnvironmentLineMoved LocationSharingStartedWebhookEventEventType = "environment.line_moved"`

    - `const LocationSharingStartedWebhookEventEventTypeContactCardCreated LocationSharingStartedWebhookEventEventType = "contact_card.created"`

    - `const LocationSharingStartedWebhookEventEventTypeContactCardUpdated LocationSharingStartedWebhookEventEventType = "contact_card.updated"`

    - `const LocationSharingStartedWebhookEventEventTypeContactCardDeleted LocationSharingStartedWebhookEventEventType = "contact_card.deleted"`

    - `const LocationSharingStartedWebhookEventEventTypeAPITokenCreated LocationSharingStartedWebhookEventEventType = "api_token.created"`

    - `const LocationSharingStartedWebhookEventEventTypeAPITokenRenamed LocationSharingStartedWebhookEventEventType = "api_token.renamed"`

    - `const LocationSharingStartedWebhookEventEventTypeAPITokenExpiryScheduled LocationSharingStartedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const LocationSharingStartedWebhookEventEventTypeAPITokenExpired LocationSharingStartedWebhookEventEventType = "api_token.expired"`

    - `const LocationSharingStartedWebhookEventEventTypeAPITokenActivated LocationSharingStartedWebhookEventEventType = "api_token.activated"`

    - `const LocationSharingStartedWebhookEventEventTypeAPITokenDeleted LocationSharingStartedWebhookEventEventType = "api_token.deleted"`

    - `const LocationSharingStartedWebhookEventEventTypeEnvironmentCreated LocationSharingStartedWebhookEventEventType = "environment.created"`

    - `const LocationSharingStartedWebhookEventEventTypeEnvironmentRenamed LocationSharingStartedWebhookEventEventType = "environment.renamed"`

    - `const LocationSharingStartedWebhookEventEventTypeEnvironmentDeleted LocationSharingStartedWebhookEventEventType = "environment.deleted"`

    - `const LocationSharingStartedWebhookEventEventTypeWebhookSubscriptionCreated LocationSharingStartedWebhookEventEventType = "webhook_subscription.created"`

    - `const LocationSharingStartedWebhookEventEventTypeWebhookSubscriptionDeleted LocationSharingStartedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const LocationSharingStartedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged LocationSharingStartedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const LocationSharingStartedWebhookEventEventTypeWebhookSubscriptionEnabled LocationSharingStartedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const LocationSharingStartedWebhookEventEventTypeWebhookSubscriptionDisabled LocationSharingStartedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const LocationSharingStartedWebhookEventEventTypeWebhookSubscriptionEventsUpdated LocationSharingStartedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const LocationSharingStartedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated LocationSharingStartedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const LocationSharingStartedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet LocationSharingStartedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const LocationSharingStartedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared LocationSharingStartedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const LocationSharingStartedWebhookEventEventTypeTeamMemberAdded LocationSharingStartedWebhookEventEventType = "team_member.added"`

    - `const LocationSharingStartedWebhookEventEventTypeTeamMemberSignedIn LocationSharingStartedWebhookEventEventType = "team_member.signed_in"`

    - `const LocationSharingStartedWebhookEventEventTypeTeamMemberSignedOut LocationSharingStartedWebhookEventEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### location.sharing.stopped

- `type LocationSharingStoppedWebhookEvent struct{…}`

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data LocationSharingStoppedWebhookEventData`

    - `BeganAt Time`

      When the sharing session started, matching began_at on its started event. Always present.

    - `ChatID string`

      The chat the ended share was first sent to, matching the chat_id on its started event. Sharing always stops for the contact as a whole, never for a single chat, so this is the session's origin rather than the chat it stopped in. Null when the originating chat could not be determined.

    - `EndedAt Time`

      When the sharing session was observed to stop.

    - `SharedBy string`

      Phone number of the person who stopped sharing

    - `SharedWith string`

      Your phone number that was receiving the location

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType LocationSharingStoppedWebhookEventEventType`

    - `const LocationSharingStoppedWebhookEventEventTypeLocationSharingStopped LocationSharingStoppedWebhookEventEventType = "location.sharing.stopped"`

    - `const LocationSharingStoppedWebhookEventEventTypeMessageSent LocationSharingStoppedWebhookEventEventType = "message.sent"`

    - `const LocationSharingStoppedWebhookEventEventTypeMessageReceived LocationSharingStoppedWebhookEventEventType = "message.received"`

    - `const LocationSharingStoppedWebhookEventEventTypeMessageRead LocationSharingStoppedWebhookEventEventType = "message.read"`

    - `const LocationSharingStoppedWebhookEventEventTypeMessageDelivered LocationSharingStoppedWebhookEventEventType = "message.delivered"`

    - `const LocationSharingStoppedWebhookEventEventTypeMessageFailed LocationSharingStoppedWebhookEventEventType = "message.failed"`

    - `const LocationSharingStoppedWebhookEventEventTypeMessageEdited LocationSharingStoppedWebhookEventEventType = "message.edited"`

    - `const LocationSharingStoppedWebhookEventEventTypeReactionAdded LocationSharingStoppedWebhookEventEventType = "reaction.added"`

    - `const LocationSharingStoppedWebhookEventEventTypeReactionRemoved LocationSharingStoppedWebhookEventEventType = "reaction.removed"`

    - `const LocationSharingStoppedWebhookEventEventTypePollReceived LocationSharingStoppedWebhookEventEventType = "poll.received"`

    - `const LocationSharingStoppedWebhookEventEventTypePollFailed LocationSharingStoppedWebhookEventEventType = "poll.failed"`

    - `const LocationSharingStoppedWebhookEventEventTypePollSent LocationSharingStoppedWebhookEventEventType = "poll.sent"`

    - `const LocationSharingStoppedWebhookEventEventTypePollDelivered LocationSharingStoppedWebhookEventEventType = "poll.delivered"`

    - `const LocationSharingStoppedWebhookEventEventTypePollRead LocationSharingStoppedWebhookEventEventType = "poll.read"`

    - `const LocationSharingStoppedWebhookEventEventTypePollUpdated LocationSharingStoppedWebhookEventEventType = "poll.updated"`

    - `const LocationSharingStoppedWebhookEventEventTypePollVoteAdded LocationSharingStoppedWebhookEventEventType = "poll.vote.added"`

    - `const LocationSharingStoppedWebhookEventEventTypePollVoteRemoved LocationSharingStoppedWebhookEventEventType = "poll.vote.removed"`

    - `const LocationSharingStoppedWebhookEventEventTypePollReactionAdded LocationSharingStoppedWebhookEventEventType = "poll.reaction.added"`

    - `const LocationSharingStoppedWebhookEventEventTypeParticipantAdded LocationSharingStoppedWebhookEventEventType = "participant.added"`

    - `const LocationSharingStoppedWebhookEventEventTypeParticipantRemoved LocationSharingStoppedWebhookEventEventType = "participant.removed"`

    - `const LocationSharingStoppedWebhookEventEventTypeChatCreated LocationSharingStoppedWebhookEventEventType = "chat.created"`

    - `const LocationSharingStoppedWebhookEventEventTypeChatGroupNameUpdated LocationSharingStoppedWebhookEventEventType = "chat.group_name_updated"`

    - `const LocationSharingStoppedWebhookEventEventTypeChatGroupIconUpdated LocationSharingStoppedWebhookEventEventType = "chat.group_icon_updated"`

    - `const LocationSharingStoppedWebhookEventEventTypeChatGroupNameUpdateFailed LocationSharingStoppedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const LocationSharingStoppedWebhookEventEventTypeChatGroupIconUpdateFailed LocationSharingStoppedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const LocationSharingStoppedWebhookEventEventTypeChatBackgroundUpdated LocationSharingStoppedWebhookEventEventType = "chat.background_updated"`

    - `const LocationSharingStoppedWebhookEventEventTypeChatBackgroundUpdateFailed LocationSharingStoppedWebhookEventEventType = "chat.background_update_failed"`

    - `const LocationSharingStoppedWebhookEventEventTypeChatTypingIndicatorStarted LocationSharingStoppedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const LocationSharingStoppedWebhookEventEventTypeChatTypingIndicatorStopped LocationSharingStoppedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const LocationSharingStoppedWebhookEventEventTypePhoneNumberStatusUpdated LocationSharingStoppedWebhookEventEventType = "phone_number.status_updated"`

    - `const LocationSharingStoppedWebhookEventEventTypePhoneNumberAssigned LocationSharingStoppedWebhookEventEventType = "phone_number.assigned"`

    - `const LocationSharingStoppedWebhookEventEventTypePhoneNumberReleased LocationSharingStoppedWebhookEventEventType = "phone_number.released"`

    - `const LocationSharingStoppedWebhookEventEventTypePhoneNumberLineTypeUpdated LocationSharingStoppedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const LocationSharingStoppedWebhookEventEventTypeContactCardReceived LocationSharingStoppedWebhookEventEventType = "contact_card.received"`

    - `const LocationSharingStoppedWebhookEventEventTypeCallInitiated LocationSharingStoppedWebhookEventEventType = "call.initiated"`

    - `const LocationSharingStoppedWebhookEventEventTypeCallRinging LocationSharingStoppedWebhookEventEventType = "call.ringing"`

    - `const LocationSharingStoppedWebhookEventEventTypeCallAnswered LocationSharingStoppedWebhookEventEventType = "call.answered"`

    - `const LocationSharingStoppedWebhookEventEventTypeCallEnded LocationSharingStoppedWebhookEventEventType = "call.ended"`

    - `const LocationSharingStoppedWebhookEventEventTypeCallFailed LocationSharingStoppedWebhookEventEventType = "call.failed"`

    - `const LocationSharingStoppedWebhookEventEventTypeCallDeclined LocationSharingStoppedWebhookEventEventType = "call.declined"`

    - `const LocationSharingStoppedWebhookEventEventTypeCallNoAnswer LocationSharingStoppedWebhookEventEventType = "call.no_answer"`

    - `const LocationSharingStoppedWebhookEventEventTypeLocationSharingStarted LocationSharingStoppedWebhookEventEventType = "location.sharing.started"`

    - `const LocationSharingStoppedWebhookEventEventTypePaymentSucceeded LocationSharingStoppedWebhookEventEventType = "payment.succeeded"`

    - `const LocationSharingStoppedWebhookEventEventTypePaymentCanceled LocationSharingStoppedWebhookEventEventType = "payment.canceled"`

    - `const LocationSharingStoppedWebhookEventEventTypePaymentExpired LocationSharingStoppedWebhookEventEventType = "payment.expired"`

    - `const LocationSharingStoppedWebhookEventEventTypePaymentDeclined LocationSharingStoppedWebhookEventEventType = "payment.declined"`

    - `const LocationSharingStoppedWebhookEventEventTypePaymentAuthorized LocationSharingStoppedWebhookEventEventType = "payment.authorized"`

    - `const LocationSharingStoppedWebhookEventEventTypeConnectionCreated LocationSharingStoppedWebhookEventEventType = "connection.created"`

    - `const LocationSharingStoppedWebhookEventEventTypeConnectionRevoked LocationSharingStoppedWebhookEventEventType = "connection.revoked"`

    - `const LocationSharingStoppedWebhookEventEventTypeZeroDayRetentionUpdated LocationSharingStoppedWebhookEventEventType = "zero_day_retention.updated"`

    - `const LocationSharingStoppedWebhookEventEventTypePhoneNumberForwardingUpdated LocationSharingStoppedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const LocationSharingStoppedWebhookEventEventTypeEnvironmentLineMoved LocationSharingStoppedWebhookEventEventType = "environment.line_moved"`

    - `const LocationSharingStoppedWebhookEventEventTypeContactCardCreated LocationSharingStoppedWebhookEventEventType = "contact_card.created"`

    - `const LocationSharingStoppedWebhookEventEventTypeContactCardUpdated LocationSharingStoppedWebhookEventEventType = "contact_card.updated"`

    - `const LocationSharingStoppedWebhookEventEventTypeContactCardDeleted LocationSharingStoppedWebhookEventEventType = "contact_card.deleted"`

    - `const LocationSharingStoppedWebhookEventEventTypeAPITokenCreated LocationSharingStoppedWebhookEventEventType = "api_token.created"`

    - `const LocationSharingStoppedWebhookEventEventTypeAPITokenRenamed LocationSharingStoppedWebhookEventEventType = "api_token.renamed"`

    - `const LocationSharingStoppedWebhookEventEventTypeAPITokenExpiryScheduled LocationSharingStoppedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const LocationSharingStoppedWebhookEventEventTypeAPITokenExpired LocationSharingStoppedWebhookEventEventType = "api_token.expired"`

    - `const LocationSharingStoppedWebhookEventEventTypeAPITokenActivated LocationSharingStoppedWebhookEventEventType = "api_token.activated"`

    - `const LocationSharingStoppedWebhookEventEventTypeAPITokenDeleted LocationSharingStoppedWebhookEventEventType = "api_token.deleted"`

    - `const LocationSharingStoppedWebhookEventEventTypeEnvironmentCreated LocationSharingStoppedWebhookEventEventType = "environment.created"`

    - `const LocationSharingStoppedWebhookEventEventTypeEnvironmentRenamed LocationSharingStoppedWebhookEventEventType = "environment.renamed"`

    - `const LocationSharingStoppedWebhookEventEventTypeEnvironmentDeleted LocationSharingStoppedWebhookEventEventType = "environment.deleted"`

    - `const LocationSharingStoppedWebhookEventEventTypeWebhookSubscriptionCreated LocationSharingStoppedWebhookEventEventType = "webhook_subscription.created"`

    - `const LocationSharingStoppedWebhookEventEventTypeWebhookSubscriptionDeleted LocationSharingStoppedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const LocationSharingStoppedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged LocationSharingStoppedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const LocationSharingStoppedWebhookEventEventTypeWebhookSubscriptionEnabled LocationSharingStoppedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const LocationSharingStoppedWebhookEventEventTypeWebhookSubscriptionDisabled LocationSharingStoppedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const LocationSharingStoppedWebhookEventEventTypeWebhookSubscriptionEventsUpdated LocationSharingStoppedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const LocationSharingStoppedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated LocationSharingStoppedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const LocationSharingStoppedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet LocationSharingStoppedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const LocationSharingStoppedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared LocationSharingStoppedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const LocationSharingStoppedWebhookEventEventTypeTeamMemberAdded LocationSharingStoppedWebhookEventEventType = "team_member.added"`

    - `const LocationSharingStoppedWebhookEventEventTypeTeamMemberSignedIn LocationSharingStoppedWebhookEventEventType = "team_member.signed_in"`

    - `const LocationSharingStoppedWebhookEventEventTypeTeamMemberSignedOut LocationSharingStoppedWebhookEventEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### payment.authorized

- `type PaymentAuthorizedWebhookEvent struct{…}`

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data PaymentAuthorizedWebhookEventData`

    The payment request, as returned by
    `GET /v3/payment_requests/{paymentRequestId}`.

    - `ID string`

      The payment request id.

    - `Amount int64`

      What was charged at checkout, in the currency's minor
      units. In `subscription` mode this is the first invoice's
      total — all items after any discounts are applied.

    - `CheckoutURL string`

      URL the recipient opens to pay
      (`https://zero.linqapp.com/pay/{slug}?session=...`).

    - `CreatedAt Time`

    - `Currency string`

    - `Object string`

    - `Status string`

      - `const PaymentAuthorizedWebhookEventDataStatusSucceeded PaymentAuthorizedWebhookEventDataStatus = "succeeded"`

      - `const PaymentAuthorizedWebhookEventDataStatusFailed PaymentAuthorizedWebhookEventDataStatus = "failed"`

      - `const PaymentAuthorizedWebhookEventDataStatusCanceled PaymentAuthorizedWebhookEventDataStatus = "canceled"`

      - `const PaymentAuthorizedWebhookEventDataStatusExpired PaymentAuthorizedWebhookEventDataStatus = "expired"`

    - `Description string`

    - `Discount PaymentAuthorizedWebhookEventDataDiscount`

      Subscription mode — the discount Stripe applied, read back
      from the coupon. Absent when none was applied.

      - `Coupon string`

      - `Label string`

        Name of the coupon/promo code displayed to customers.

      - `PromotionCode string`

    - `Interval string`

      Subscription mode — how often the subscription renews.

      - `const PaymentAuthorizedWebhookEventDataIntervalDay PaymentAuthorizedWebhookEventDataInterval = "day"`

      - `const PaymentAuthorizedWebhookEventDataIntervalWeek PaymentAuthorizedWebhookEventDataInterval = "week"`

      - `const PaymentAuthorizedWebhookEventDataIntervalMonth PaymentAuthorizedWebhookEventDataInterval = "month"`

      - `const PaymentAuthorizedWebhookEventDataIntervalYear PaymentAuthorizedWebhookEventDataInterval = "year"`

    - `IntervalCount int64`

      Subscription mode — intervals per renewal.

    - `Metadata map[string, string]`

    - `Mode string`

      Whether the request collected a one-time charge or started a subscription.

      - `const PaymentAuthorizedWebhookEventDataModePayment PaymentAuthorizedWebhookEventDataMode = "payment"`

      - `const PaymentAuthorizedWebhookEventDataModeSubscription PaymentAuthorizedWebhookEventDataMode = "subscription"`

    - `Natural PaymentAuthorizedWebhookEventDataNatural`

      Natural-rail join keys, present when `rail: natural`.

      - `PaymentRequestID string`

        The Natural payment request (`prq_...`).

      - `TransactionID string`

        The settled transaction (`txn_...`).

    - `PriceID string`

      Subscription mode — the recurring price subscribed to.

    - `Quantity int64`

      Subscription mode — units of the price subscribed to.

    - `Rail string`

      The rail this request settled on.

      - `const PaymentAuthorizedWebhookEventDataRailStripe PaymentAuthorizedWebhookEventDataRail = "stripe"`

      - `const PaymentAuthorizedWebhookEventDataRailNatural PaymentAuthorizedWebhookEventDataRail = "natural"`

    - `Stripe PaymentAuthorizedWebhookEventDataStripe`

      Ids of the Stripe objects on your connected account — join
      keys into your own Stripe Dashboard/API. Manage a
      subscription's post-checkout lifecycle with `subscription_id`.

      - `CustomerID string`

        The Customer the request is attached to (`cus_...`).
        Always set in subscription mode; set in payment mode
        only when the request was created with a `customer_id`.

      - `PaymentIntentID string`

        The PaymentIntent collected at checkout (`pi_...`).

      - `SubscriptionID string`

        Subscription mode — the Subscription (`sub_...`).

    - `TrialEnd Time`

      Subscription mode — when the free trial ends and the first
      charge happens. On a trial request, `payment.succeeded`
      means the payment method was collected ($0 moved).

    - `UpdatedAt Time`

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType PaymentAuthorizedWebhookEventEventType`

    - `const PaymentAuthorizedWebhookEventEventTypePaymentSucceeded PaymentAuthorizedWebhookEventEventType = "payment.succeeded"`

    - `const PaymentAuthorizedWebhookEventEventTypePaymentCanceled PaymentAuthorizedWebhookEventEventType = "payment.canceled"`

    - `const PaymentAuthorizedWebhookEventEventTypePaymentExpired PaymentAuthorizedWebhookEventEventType = "payment.expired"`

    - `const PaymentAuthorizedWebhookEventEventTypeMessageSent PaymentAuthorizedWebhookEventEventType = "message.sent"`

    - `const PaymentAuthorizedWebhookEventEventTypeMessageReceived PaymentAuthorizedWebhookEventEventType = "message.received"`

    - `const PaymentAuthorizedWebhookEventEventTypeMessageRead PaymentAuthorizedWebhookEventEventType = "message.read"`

    - `const PaymentAuthorizedWebhookEventEventTypeMessageDelivered PaymentAuthorizedWebhookEventEventType = "message.delivered"`

    - `const PaymentAuthorizedWebhookEventEventTypeMessageFailed PaymentAuthorizedWebhookEventEventType = "message.failed"`

    - `const PaymentAuthorizedWebhookEventEventTypeMessageEdited PaymentAuthorizedWebhookEventEventType = "message.edited"`

    - `const PaymentAuthorizedWebhookEventEventTypeReactionAdded PaymentAuthorizedWebhookEventEventType = "reaction.added"`

    - `const PaymentAuthorizedWebhookEventEventTypeReactionRemoved PaymentAuthorizedWebhookEventEventType = "reaction.removed"`

    - `const PaymentAuthorizedWebhookEventEventTypePollReceived PaymentAuthorizedWebhookEventEventType = "poll.received"`

    - `const PaymentAuthorizedWebhookEventEventTypePollFailed PaymentAuthorizedWebhookEventEventType = "poll.failed"`

    - `const PaymentAuthorizedWebhookEventEventTypePollSent PaymentAuthorizedWebhookEventEventType = "poll.sent"`

    - `const PaymentAuthorizedWebhookEventEventTypePollDelivered PaymentAuthorizedWebhookEventEventType = "poll.delivered"`

    - `const PaymentAuthorizedWebhookEventEventTypePollRead PaymentAuthorizedWebhookEventEventType = "poll.read"`

    - `const PaymentAuthorizedWebhookEventEventTypePollUpdated PaymentAuthorizedWebhookEventEventType = "poll.updated"`

    - `const PaymentAuthorizedWebhookEventEventTypePollVoteAdded PaymentAuthorizedWebhookEventEventType = "poll.vote.added"`

    - `const PaymentAuthorizedWebhookEventEventTypePollVoteRemoved PaymentAuthorizedWebhookEventEventType = "poll.vote.removed"`

    - `const PaymentAuthorizedWebhookEventEventTypePollReactionAdded PaymentAuthorizedWebhookEventEventType = "poll.reaction.added"`

    - `const PaymentAuthorizedWebhookEventEventTypeParticipantAdded PaymentAuthorizedWebhookEventEventType = "participant.added"`

    - `const PaymentAuthorizedWebhookEventEventTypeParticipantRemoved PaymentAuthorizedWebhookEventEventType = "participant.removed"`

    - `const PaymentAuthorizedWebhookEventEventTypeChatCreated PaymentAuthorizedWebhookEventEventType = "chat.created"`

    - `const PaymentAuthorizedWebhookEventEventTypeChatGroupNameUpdated PaymentAuthorizedWebhookEventEventType = "chat.group_name_updated"`

    - `const PaymentAuthorizedWebhookEventEventTypeChatGroupIconUpdated PaymentAuthorizedWebhookEventEventType = "chat.group_icon_updated"`

    - `const PaymentAuthorizedWebhookEventEventTypeChatGroupNameUpdateFailed PaymentAuthorizedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const PaymentAuthorizedWebhookEventEventTypeChatGroupIconUpdateFailed PaymentAuthorizedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const PaymentAuthorizedWebhookEventEventTypeChatBackgroundUpdated PaymentAuthorizedWebhookEventEventType = "chat.background_updated"`

    - `const PaymentAuthorizedWebhookEventEventTypeChatBackgroundUpdateFailed PaymentAuthorizedWebhookEventEventType = "chat.background_update_failed"`

    - `const PaymentAuthorizedWebhookEventEventTypeChatTypingIndicatorStarted PaymentAuthorizedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const PaymentAuthorizedWebhookEventEventTypeChatTypingIndicatorStopped PaymentAuthorizedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const PaymentAuthorizedWebhookEventEventTypePhoneNumberStatusUpdated PaymentAuthorizedWebhookEventEventType = "phone_number.status_updated"`

    - `const PaymentAuthorizedWebhookEventEventTypePhoneNumberAssigned PaymentAuthorizedWebhookEventEventType = "phone_number.assigned"`

    - `const PaymentAuthorizedWebhookEventEventTypePhoneNumberReleased PaymentAuthorizedWebhookEventEventType = "phone_number.released"`

    - `const PaymentAuthorizedWebhookEventEventTypePhoneNumberLineTypeUpdated PaymentAuthorizedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const PaymentAuthorizedWebhookEventEventTypeContactCardReceived PaymentAuthorizedWebhookEventEventType = "contact_card.received"`

    - `const PaymentAuthorizedWebhookEventEventTypeCallInitiated PaymentAuthorizedWebhookEventEventType = "call.initiated"`

    - `const PaymentAuthorizedWebhookEventEventTypeCallRinging PaymentAuthorizedWebhookEventEventType = "call.ringing"`

    - `const PaymentAuthorizedWebhookEventEventTypeCallAnswered PaymentAuthorizedWebhookEventEventType = "call.answered"`

    - `const PaymentAuthorizedWebhookEventEventTypeCallEnded PaymentAuthorizedWebhookEventEventType = "call.ended"`

    - `const PaymentAuthorizedWebhookEventEventTypeCallFailed PaymentAuthorizedWebhookEventEventType = "call.failed"`

    - `const PaymentAuthorizedWebhookEventEventTypeCallDeclined PaymentAuthorizedWebhookEventEventType = "call.declined"`

    - `const PaymentAuthorizedWebhookEventEventTypeCallNoAnswer PaymentAuthorizedWebhookEventEventType = "call.no_answer"`

    - `const PaymentAuthorizedWebhookEventEventTypeLocationSharingStarted PaymentAuthorizedWebhookEventEventType = "location.sharing.started"`

    - `const PaymentAuthorizedWebhookEventEventTypeLocationSharingStopped PaymentAuthorizedWebhookEventEventType = "location.sharing.stopped"`

    - `const PaymentAuthorizedWebhookEventEventTypePaymentDeclined PaymentAuthorizedWebhookEventEventType = "payment.declined"`

    - `const PaymentAuthorizedWebhookEventEventTypePaymentAuthorized PaymentAuthorizedWebhookEventEventType = "payment.authorized"`

    - `const PaymentAuthorizedWebhookEventEventTypeConnectionCreated PaymentAuthorizedWebhookEventEventType = "connection.created"`

    - `const PaymentAuthorizedWebhookEventEventTypeConnectionRevoked PaymentAuthorizedWebhookEventEventType = "connection.revoked"`

    - `const PaymentAuthorizedWebhookEventEventTypeZeroDayRetentionUpdated PaymentAuthorizedWebhookEventEventType = "zero_day_retention.updated"`

    - `const PaymentAuthorizedWebhookEventEventTypePhoneNumberForwardingUpdated PaymentAuthorizedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const PaymentAuthorizedWebhookEventEventTypeEnvironmentLineMoved PaymentAuthorizedWebhookEventEventType = "environment.line_moved"`

    - `const PaymentAuthorizedWebhookEventEventTypeContactCardCreated PaymentAuthorizedWebhookEventEventType = "contact_card.created"`

    - `const PaymentAuthorizedWebhookEventEventTypeContactCardUpdated PaymentAuthorizedWebhookEventEventType = "contact_card.updated"`

    - `const PaymentAuthorizedWebhookEventEventTypeContactCardDeleted PaymentAuthorizedWebhookEventEventType = "contact_card.deleted"`

    - `const PaymentAuthorizedWebhookEventEventTypeAPITokenCreated PaymentAuthorizedWebhookEventEventType = "api_token.created"`

    - `const PaymentAuthorizedWebhookEventEventTypeAPITokenRenamed PaymentAuthorizedWebhookEventEventType = "api_token.renamed"`

    - `const PaymentAuthorizedWebhookEventEventTypeAPITokenExpiryScheduled PaymentAuthorizedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const PaymentAuthorizedWebhookEventEventTypeAPITokenExpired PaymentAuthorizedWebhookEventEventType = "api_token.expired"`

    - `const PaymentAuthorizedWebhookEventEventTypeAPITokenActivated PaymentAuthorizedWebhookEventEventType = "api_token.activated"`

    - `const PaymentAuthorizedWebhookEventEventTypeAPITokenDeleted PaymentAuthorizedWebhookEventEventType = "api_token.deleted"`

    - `const PaymentAuthorizedWebhookEventEventTypeEnvironmentCreated PaymentAuthorizedWebhookEventEventType = "environment.created"`

    - `const PaymentAuthorizedWebhookEventEventTypeEnvironmentRenamed PaymentAuthorizedWebhookEventEventType = "environment.renamed"`

    - `const PaymentAuthorizedWebhookEventEventTypeEnvironmentDeleted PaymentAuthorizedWebhookEventEventType = "environment.deleted"`

    - `const PaymentAuthorizedWebhookEventEventTypeWebhookSubscriptionCreated PaymentAuthorizedWebhookEventEventType = "webhook_subscription.created"`

    - `const PaymentAuthorizedWebhookEventEventTypeWebhookSubscriptionDeleted PaymentAuthorizedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const PaymentAuthorizedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged PaymentAuthorizedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const PaymentAuthorizedWebhookEventEventTypeWebhookSubscriptionEnabled PaymentAuthorizedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const PaymentAuthorizedWebhookEventEventTypeWebhookSubscriptionDisabled PaymentAuthorizedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const PaymentAuthorizedWebhookEventEventTypeWebhookSubscriptionEventsUpdated PaymentAuthorizedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const PaymentAuthorizedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated PaymentAuthorizedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const PaymentAuthorizedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet PaymentAuthorizedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const PaymentAuthorizedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared PaymentAuthorizedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const PaymentAuthorizedWebhookEventEventTypeTeamMemberAdded PaymentAuthorizedWebhookEventEventType = "team_member.added"`

    - `const PaymentAuthorizedWebhookEventEventTypeTeamMemberSignedIn PaymentAuthorizedWebhookEventEventType = "team_member.signed_in"`

    - `const PaymentAuthorizedWebhookEventEventTypeTeamMemberSignedOut PaymentAuthorizedWebhookEventEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### payment.canceled

- `type PaymentCanceledWebhookEvent struct{…}`

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data PaymentCanceledWebhookEventData`

    The payment request, as returned by
    `GET /v3/payment_requests/{paymentRequestId}`.

    - `ID string`

      The payment request id.

    - `Amount int64`

      What was charged at checkout, in the currency's minor
      units. In `subscription` mode this is the first invoice's
      total — all items after any discounts are applied.

    - `CheckoutURL string`

      URL the recipient opens to pay
      (`https://zero.linqapp.com/pay/{slug}?session=...`).

    - `CreatedAt Time`

    - `Currency string`

    - `Object string`

    - `Status string`

      - `const PaymentCanceledWebhookEventDataStatusSucceeded PaymentCanceledWebhookEventDataStatus = "succeeded"`

      - `const PaymentCanceledWebhookEventDataStatusFailed PaymentCanceledWebhookEventDataStatus = "failed"`

      - `const PaymentCanceledWebhookEventDataStatusCanceled PaymentCanceledWebhookEventDataStatus = "canceled"`

      - `const PaymentCanceledWebhookEventDataStatusExpired PaymentCanceledWebhookEventDataStatus = "expired"`

    - `Description string`

    - `Discount PaymentCanceledWebhookEventDataDiscount`

      Subscription mode — the discount Stripe applied, read back
      from the coupon. Absent when none was applied.

      - `Coupon string`

      - `Label string`

        Name of the coupon/promo code displayed to customers.

      - `PromotionCode string`

    - `Interval string`

      Subscription mode — how often the subscription renews.

      - `const PaymentCanceledWebhookEventDataIntervalDay PaymentCanceledWebhookEventDataInterval = "day"`

      - `const PaymentCanceledWebhookEventDataIntervalWeek PaymentCanceledWebhookEventDataInterval = "week"`

      - `const PaymentCanceledWebhookEventDataIntervalMonth PaymentCanceledWebhookEventDataInterval = "month"`

      - `const PaymentCanceledWebhookEventDataIntervalYear PaymentCanceledWebhookEventDataInterval = "year"`

    - `IntervalCount int64`

      Subscription mode — intervals per renewal.

    - `Metadata map[string, string]`

    - `Mode string`

      Whether the request collected a one-time charge or started a subscription.

      - `const PaymentCanceledWebhookEventDataModePayment PaymentCanceledWebhookEventDataMode = "payment"`

      - `const PaymentCanceledWebhookEventDataModeSubscription PaymentCanceledWebhookEventDataMode = "subscription"`

    - `Natural PaymentCanceledWebhookEventDataNatural`

      Natural-rail join keys, present when `rail: natural`.

      - `PaymentRequestID string`

        The Natural payment request (`prq_...`).

      - `TransactionID string`

        The settled transaction (`txn_...`).

    - `PriceID string`

      Subscription mode — the recurring price subscribed to.

    - `Quantity int64`

      Subscription mode — units of the price subscribed to.

    - `Rail string`

      The rail this request settled on.

      - `const PaymentCanceledWebhookEventDataRailStripe PaymentCanceledWebhookEventDataRail = "stripe"`

      - `const PaymentCanceledWebhookEventDataRailNatural PaymentCanceledWebhookEventDataRail = "natural"`

    - `Stripe PaymentCanceledWebhookEventDataStripe`

      Ids of the Stripe objects on your connected account — join
      keys into your own Stripe Dashboard/API. Manage a
      subscription's post-checkout lifecycle with `subscription_id`.

      - `CustomerID string`

        The Customer the request is attached to (`cus_...`).
        Always set in subscription mode; set in payment mode
        only when the request was created with a `customer_id`.

      - `PaymentIntentID string`

        The PaymentIntent collected at checkout (`pi_...`).

      - `SubscriptionID string`

        Subscription mode — the Subscription (`sub_...`).

    - `TrialEnd Time`

      Subscription mode — when the free trial ends and the first
      charge happens. On a trial request, `payment.succeeded`
      means the payment method was collected ($0 moved).

    - `UpdatedAt Time`

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType PaymentCanceledWebhookEventEventType`

    - `const PaymentCanceledWebhookEventEventTypePaymentSucceeded PaymentCanceledWebhookEventEventType = "payment.succeeded"`

    - `const PaymentCanceledWebhookEventEventTypePaymentCanceled PaymentCanceledWebhookEventEventType = "payment.canceled"`

    - `const PaymentCanceledWebhookEventEventTypePaymentExpired PaymentCanceledWebhookEventEventType = "payment.expired"`

    - `const PaymentCanceledWebhookEventEventTypeMessageSent PaymentCanceledWebhookEventEventType = "message.sent"`

    - `const PaymentCanceledWebhookEventEventTypeMessageReceived PaymentCanceledWebhookEventEventType = "message.received"`

    - `const PaymentCanceledWebhookEventEventTypeMessageRead PaymentCanceledWebhookEventEventType = "message.read"`

    - `const PaymentCanceledWebhookEventEventTypeMessageDelivered PaymentCanceledWebhookEventEventType = "message.delivered"`

    - `const PaymentCanceledWebhookEventEventTypeMessageFailed PaymentCanceledWebhookEventEventType = "message.failed"`

    - `const PaymentCanceledWebhookEventEventTypeMessageEdited PaymentCanceledWebhookEventEventType = "message.edited"`

    - `const PaymentCanceledWebhookEventEventTypeReactionAdded PaymentCanceledWebhookEventEventType = "reaction.added"`

    - `const PaymentCanceledWebhookEventEventTypeReactionRemoved PaymentCanceledWebhookEventEventType = "reaction.removed"`

    - `const PaymentCanceledWebhookEventEventTypePollReceived PaymentCanceledWebhookEventEventType = "poll.received"`

    - `const PaymentCanceledWebhookEventEventTypePollFailed PaymentCanceledWebhookEventEventType = "poll.failed"`

    - `const PaymentCanceledWebhookEventEventTypePollSent PaymentCanceledWebhookEventEventType = "poll.sent"`

    - `const PaymentCanceledWebhookEventEventTypePollDelivered PaymentCanceledWebhookEventEventType = "poll.delivered"`

    - `const PaymentCanceledWebhookEventEventTypePollRead PaymentCanceledWebhookEventEventType = "poll.read"`

    - `const PaymentCanceledWebhookEventEventTypePollUpdated PaymentCanceledWebhookEventEventType = "poll.updated"`

    - `const PaymentCanceledWebhookEventEventTypePollVoteAdded PaymentCanceledWebhookEventEventType = "poll.vote.added"`

    - `const PaymentCanceledWebhookEventEventTypePollVoteRemoved PaymentCanceledWebhookEventEventType = "poll.vote.removed"`

    - `const PaymentCanceledWebhookEventEventTypePollReactionAdded PaymentCanceledWebhookEventEventType = "poll.reaction.added"`

    - `const PaymentCanceledWebhookEventEventTypeParticipantAdded PaymentCanceledWebhookEventEventType = "participant.added"`

    - `const PaymentCanceledWebhookEventEventTypeParticipantRemoved PaymentCanceledWebhookEventEventType = "participant.removed"`

    - `const PaymentCanceledWebhookEventEventTypeChatCreated PaymentCanceledWebhookEventEventType = "chat.created"`

    - `const PaymentCanceledWebhookEventEventTypeChatGroupNameUpdated PaymentCanceledWebhookEventEventType = "chat.group_name_updated"`

    - `const PaymentCanceledWebhookEventEventTypeChatGroupIconUpdated PaymentCanceledWebhookEventEventType = "chat.group_icon_updated"`

    - `const PaymentCanceledWebhookEventEventTypeChatGroupNameUpdateFailed PaymentCanceledWebhookEventEventType = "chat.group_name_update_failed"`

    - `const PaymentCanceledWebhookEventEventTypeChatGroupIconUpdateFailed PaymentCanceledWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const PaymentCanceledWebhookEventEventTypeChatBackgroundUpdated PaymentCanceledWebhookEventEventType = "chat.background_updated"`

    - `const PaymentCanceledWebhookEventEventTypeChatBackgroundUpdateFailed PaymentCanceledWebhookEventEventType = "chat.background_update_failed"`

    - `const PaymentCanceledWebhookEventEventTypeChatTypingIndicatorStarted PaymentCanceledWebhookEventEventType = "chat.typing_indicator.started"`

    - `const PaymentCanceledWebhookEventEventTypeChatTypingIndicatorStopped PaymentCanceledWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const PaymentCanceledWebhookEventEventTypePhoneNumberStatusUpdated PaymentCanceledWebhookEventEventType = "phone_number.status_updated"`

    - `const PaymentCanceledWebhookEventEventTypePhoneNumberAssigned PaymentCanceledWebhookEventEventType = "phone_number.assigned"`

    - `const PaymentCanceledWebhookEventEventTypePhoneNumberReleased PaymentCanceledWebhookEventEventType = "phone_number.released"`

    - `const PaymentCanceledWebhookEventEventTypePhoneNumberLineTypeUpdated PaymentCanceledWebhookEventEventType = "phone_number.line_type_updated"`

    - `const PaymentCanceledWebhookEventEventTypeContactCardReceived PaymentCanceledWebhookEventEventType = "contact_card.received"`

    - `const PaymentCanceledWebhookEventEventTypeCallInitiated PaymentCanceledWebhookEventEventType = "call.initiated"`

    - `const PaymentCanceledWebhookEventEventTypeCallRinging PaymentCanceledWebhookEventEventType = "call.ringing"`

    - `const PaymentCanceledWebhookEventEventTypeCallAnswered PaymentCanceledWebhookEventEventType = "call.answered"`

    - `const PaymentCanceledWebhookEventEventTypeCallEnded PaymentCanceledWebhookEventEventType = "call.ended"`

    - `const PaymentCanceledWebhookEventEventTypeCallFailed PaymentCanceledWebhookEventEventType = "call.failed"`

    - `const PaymentCanceledWebhookEventEventTypeCallDeclined PaymentCanceledWebhookEventEventType = "call.declined"`

    - `const PaymentCanceledWebhookEventEventTypeCallNoAnswer PaymentCanceledWebhookEventEventType = "call.no_answer"`

    - `const PaymentCanceledWebhookEventEventTypeLocationSharingStarted PaymentCanceledWebhookEventEventType = "location.sharing.started"`

    - `const PaymentCanceledWebhookEventEventTypeLocationSharingStopped PaymentCanceledWebhookEventEventType = "location.sharing.stopped"`

    - `const PaymentCanceledWebhookEventEventTypePaymentDeclined PaymentCanceledWebhookEventEventType = "payment.declined"`

    - `const PaymentCanceledWebhookEventEventTypePaymentAuthorized PaymentCanceledWebhookEventEventType = "payment.authorized"`

    - `const PaymentCanceledWebhookEventEventTypeConnectionCreated PaymentCanceledWebhookEventEventType = "connection.created"`

    - `const PaymentCanceledWebhookEventEventTypeConnectionRevoked PaymentCanceledWebhookEventEventType = "connection.revoked"`

    - `const PaymentCanceledWebhookEventEventTypeZeroDayRetentionUpdated PaymentCanceledWebhookEventEventType = "zero_day_retention.updated"`

    - `const PaymentCanceledWebhookEventEventTypePhoneNumberForwardingUpdated PaymentCanceledWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const PaymentCanceledWebhookEventEventTypeEnvironmentLineMoved PaymentCanceledWebhookEventEventType = "environment.line_moved"`

    - `const PaymentCanceledWebhookEventEventTypeContactCardCreated PaymentCanceledWebhookEventEventType = "contact_card.created"`

    - `const PaymentCanceledWebhookEventEventTypeContactCardUpdated PaymentCanceledWebhookEventEventType = "contact_card.updated"`

    - `const PaymentCanceledWebhookEventEventTypeContactCardDeleted PaymentCanceledWebhookEventEventType = "contact_card.deleted"`

    - `const PaymentCanceledWebhookEventEventTypeAPITokenCreated PaymentCanceledWebhookEventEventType = "api_token.created"`

    - `const PaymentCanceledWebhookEventEventTypeAPITokenRenamed PaymentCanceledWebhookEventEventType = "api_token.renamed"`

    - `const PaymentCanceledWebhookEventEventTypeAPITokenExpiryScheduled PaymentCanceledWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const PaymentCanceledWebhookEventEventTypeAPITokenExpired PaymentCanceledWebhookEventEventType = "api_token.expired"`

    - `const PaymentCanceledWebhookEventEventTypeAPITokenActivated PaymentCanceledWebhookEventEventType = "api_token.activated"`

    - `const PaymentCanceledWebhookEventEventTypeAPITokenDeleted PaymentCanceledWebhookEventEventType = "api_token.deleted"`

    - `const PaymentCanceledWebhookEventEventTypeEnvironmentCreated PaymentCanceledWebhookEventEventType = "environment.created"`

    - `const PaymentCanceledWebhookEventEventTypeEnvironmentRenamed PaymentCanceledWebhookEventEventType = "environment.renamed"`

    - `const PaymentCanceledWebhookEventEventTypeEnvironmentDeleted PaymentCanceledWebhookEventEventType = "environment.deleted"`

    - `const PaymentCanceledWebhookEventEventTypeWebhookSubscriptionCreated PaymentCanceledWebhookEventEventType = "webhook_subscription.created"`

    - `const PaymentCanceledWebhookEventEventTypeWebhookSubscriptionDeleted PaymentCanceledWebhookEventEventType = "webhook_subscription.deleted"`

    - `const PaymentCanceledWebhookEventEventTypeWebhookSubscriptionTargetURLChanged PaymentCanceledWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const PaymentCanceledWebhookEventEventTypeWebhookSubscriptionEnabled PaymentCanceledWebhookEventEventType = "webhook_subscription.enabled"`

    - `const PaymentCanceledWebhookEventEventTypeWebhookSubscriptionDisabled PaymentCanceledWebhookEventEventType = "webhook_subscription.disabled"`

    - `const PaymentCanceledWebhookEventEventTypeWebhookSubscriptionEventsUpdated PaymentCanceledWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const PaymentCanceledWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated PaymentCanceledWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const PaymentCanceledWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet PaymentCanceledWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const PaymentCanceledWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared PaymentCanceledWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const PaymentCanceledWebhookEventEventTypeTeamMemberAdded PaymentCanceledWebhookEventEventType = "team_member.added"`

    - `const PaymentCanceledWebhookEventEventTypeTeamMemberSignedIn PaymentCanceledWebhookEventEventType = "team_member.signed_in"`

    - `const PaymentCanceledWebhookEventEventTypeTeamMemberSignedOut PaymentCanceledWebhookEventEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### payment.declined

- `type PaymentDeclinedWebhookEvent struct{…}`

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data PaymentDeclinedWebhookEventData`

    The payment request, as returned by
    `GET /v3/payment_requests/{paymentRequestId}`.

    - `ID string`

      The payment request id.

    - `Amount int64`

      What was charged at checkout, in the currency's minor
      units. In `subscription` mode this is the first invoice's
      total — all items after any discounts are applied.

    - `CheckoutURL string`

      URL the recipient opens to pay
      (`https://zero.linqapp.com/pay/{slug}?session=...`).

    - `CreatedAt Time`

    - `Currency string`

    - `Object string`

    - `Status string`

      - `const PaymentDeclinedWebhookEventDataStatusSucceeded PaymentDeclinedWebhookEventDataStatus = "succeeded"`

      - `const PaymentDeclinedWebhookEventDataStatusFailed PaymentDeclinedWebhookEventDataStatus = "failed"`

      - `const PaymentDeclinedWebhookEventDataStatusCanceled PaymentDeclinedWebhookEventDataStatus = "canceled"`

      - `const PaymentDeclinedWebhookEventDataStatusExpired PaymentDeclinedWebhookEventDataStatus = "expired"`

    - `Description string`

    - `Discount PaymentDeclinedWebhookEventDataDiscount`

      Subscription mode — the discount Stripe applied, read back
      from the coupon. Absent when none was applied.

      - `Coupon string`

      - `Label string`

        Name of the coupon/promo code displayed to customers.

      - `PromotionCode string`

    - `Interval string`

      Subscription mode — how often the subscription renews.

      - `const PaymentDeclinedWebhookEventDataIntervalDay PaymentDeclinedWebhookEventDataInterval = "day"`

      - `const PaymentDeclinedWebhookEventDataIntervalWeek PaymentDeclinedWebhookEventDataInterval = "week"`

      - `const PaymentDeclinedWebhookEventDataIntervalMonth PaymentDeclinedWebhookEventDataInterval = "month"`

      - `const PaymentDeclinedWebhookEventDataIntervalYear PaymentDeclinedWebhookEventDataInterval = "year"`

    - `IntervalCount int64`

      Subscription mode — intervals per renewal.

    - `Metadata map[string, string]`

    - `Mode string`

      Whether the request collected a one-time charge or started a subscription.

      - `const PaymentDeclinedWebhookEventDataModePayment PaymentDeclinedWebhookEventDataMode = "payment"`

      - `const PaymentDeclinedWebhookEventDataModeSubscription PaymentDeclinedWebhookEventDataMode = "subscription"`

    - `Natural PaymentDeclinedWebhookEventDataNatural`

      Natural-rail join keys, present when `rail: natural`.

      - `PaymentRequestID string`

        The Natural payment request (`prq_...`).

      - `TransactionID string`

        The settled transaction (`txn_...`).

    - `PriceID string`

      Subscription mode — the recurring price subscribed to.

    - `Quantity int64`

      Subscription mode — units of the price subscribed to.

    - `Rail string`

      The rail this request settled on.

      - `const PaymentDeclinedWebhookEventDataRailStripe PaymentDeclinedWebhookEventDataRail = "stripe"`

      - `const PaymentDeclinedWebhookEventDataRailNatural PaymentDeclinedWebhookEventDataRail = "natural"`

    - `Stripe PaymentDeclinedWebhookEventDataStripe`

      Ids of the Stripe objects on your connected account — join
      keys into your own Stripe Dashboard/API. Manage a
      subscription's post-checkout lifecycle with `subscription_id`.

      - `CustomerID string`

        The Customer the request is attached to (`cus_...`).
        Always set in subscription mode; set in payment mode
        only when the request was created with a `customer_id`.

      - `PaymentIntentID string`

        The PaymentIntent collected at checkout (`pi_...`).

      - `SubscriptionID string`

        Subscription mode — the Subscription (`sub_...`).

    - `TrialEnd Time`

      Subscription mode — when the free trial ends and the first
      charge happens. On a trial request, `payment.succeeded`
      means the payment method was collected ($0 moved).

    - `UpdatedAt Time`

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType PaymentDeclinedWebhookEventEventType`

    - `const PaymentDeclinedWebhookEventEventTypePaymentSucceeded PaymentDeclinedWebhookEventEventType = "payment.succeeded"`

    - `const PaymentDeclinedWebhookEventEventTypePaymentCanceled PaymentDeclinedWebhookEventEventType = "payment.canceled"`

    - `const PaymentDeclinedWebhookEventEventTypePaymentExpired PaymentDeclinedWebhookEventEventType = "payment.expired"`

    - `const PaymentDeclinedWebhookEventEventTypeMessageSent PaymentDeclinedWebhookEventEventType = "message.sent"`

    - `const PaymentDeclinedWebhookEventEventTypeMessageReceived PaymentDeclinedWebhookEventEventType = "message.received"`

    - `const PaymentDeclinedWebhookEventEventTypeMessageRead PaymentDeclinedWebhookEventEventType = "message.read"`

    - `const PaymentDeclinedWebhookEventEventTypeMessageDelivered PaymentDeclinedWebhookEventEventType = "message.delivered"`

    - `const PaymentDeclinedWebhookEventEventTypeMessageFailed PaymentDeclinedWebhookEventEventType = "message.failed"`

    - `const PaymentDeclinedWebhookEventEventTypeMessageEdited PaymentDeclinedWebhookEventEventType = "message.edited"`

    - `const PaymentDeclinedWebhookEventEventTypeReactionAdded PaymentDeclinedWebhookEventEventType = "reaction.added"`

    - `const PaymentDeclinedWebhookEventEventTypeReactionRemoved PaymentDeclinedWebhookEventEventType = "reaction.removed"`

    - `const PaymentDeclinedWebhookEventEventTypePollReceived PaymentDeclinedWebhookEventEventType = "poll.received"`

    - `const PaymentDeclinedWebhookEventEventTypePollFailed PaymentDeclinedWebhookEventEventType = "poll.failed"`

    - `const PaymentDeclinedWebhookEventEventTypePollSent PaymentDeclinedWebhookEventEventType = "poll.sent"`

    - `const PaymentDeclinedWebhookEventEventTypePollDelivered PaymentDeclinedWebhookEventEventType = "poll.delivered"`

    - `const PaymentDeclinedWebhookEventEventTypePollRead PaymentDeclinedWebhookEventEventType = "poll.read"`

    - `const PaymentDeclinedWebhookEventEventTypePollUpdated PaymentDeclinedWebhookEventEventType = "poll.updated"`

    - `const PaymentDeclinedWebhookEventEventTypePollVoteAdded PaymentDeclinedWebhookEventEventType = "poll.vote.added"`

    - `const PaymentDeclinedWebhookEventEventTypePollVoteRemoved PaymentDeclinedWebhookEventEventType = "poll.vote.removed"`

    - `const PaymentDeclinedWebhookEventEventTypePollReactionAdded PaymentDeclinedWebhookEventEventType = "poll.reaction.added"`

    - `const PaymentDeclinedWebhookEventEventTypeParticipantAdded PaymentDeclinedWebhookEventEventType = "participant.added"`

    - `const PaymentDeclinedWebhookEventEventTypeParticipantRemoved PaymentDeclinedWebhookEventEventType = "participant.removed"`

    - `const PaymentDeclinedWebhookEventEventTypeChatCreated PaymentDeclinedWebhookEventEventType = "chat.created"`

    - `const PaymentDeclinedWebhookEventEventTypeChatGroupNameUpdated PaymentDeclinedWebhookEventEventType = "chat.group_name_updated"`

    - `const PaymentDeclinedWebhookEventEventTypeChatGroupIconUpdated PaymentDeclinedWebhookEventEventType = "chat.group_icon_updated"`

    - `const PaymentDeclinedWebhookEventEventTypeChatGroupNameUpdateFailed PaymentDeclinedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const PaymentDeclinedWebhookEventEventTypeChatGroupIconUpdateFailed PaymentDeclinedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const PaymentDeclinedWebhookEventEventTypeChatBackgroundUpdated PaymentDeclinedWebhookEventEventType = "chat.background_updated"`

    - `const PaymentDeclinedWebhookEventEventTypeChatBackgroundUpdateFailed PaymentDeclinedWebhookEventEventType = "chat.background_update_failed"`

    - `const PaymentDeclinedWebhookEventEventTypeChatTypingIndicatorStarted PaymentDeclinedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const PaymentDeclinedWebhookEventEventTypeChatTypingIndicatorStopped PaymentDeclinedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const PaymentDeclinedWebhookEventEventTypePhoneNumberStatusUpdated PaymentDeclinedWebhookEventEventType = "phone_number.status_updated"`

    - `const PaymentDeclinedWebhookEventEventTypePhoneNumberAssigned PaymentDeclinedWebhookEventEventType = "phone_number.assigned"`

    - `const PaymentDeclinedWebhookEventEventTypePhoneNumberReleased PaymentDeclinedWebhookEventEventType = "phone_number.released"`

    - `const PaymentDeclinedWebhookEventEventTypePhoneNumberLineTypeUpdated PaymentDeclinedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const PaymentDeclinedWebhookEventEventTypeContactCardReceived PaymentDeclinedWebhookEventEventType = "contact_card.received"`

    - `const PaymentDeclinedWebhookEventEventTypeCallInitiated PaymentDeclinedWebhookEventEventType = "call.initiated"`

    - `const PaymentDeclinedWebhookEventEventTypeCallRinging PaymentDeclinedWebhookEventEventType = "call.ringing"`

    - `const PaymentDeclinedWebhookEventEventTypeCallAnswered PaymentDeclinedWebhookEventEventType = "call.answered"`

    - `const PaymentDeclinedWebhookEventEventTypeCallEnded PaymentDeclinedWebhookEventEventType = "call.ended"`

    - `const PaymentDeclinedWebhookEventEventTypeCallFailed PaymentDeclinedWebhookEventEventType = "call.failed"`

    - `const PaymentDeclinedWebhookEventEventTypeCallDeclined PaymentDeclinedWebhookEventEventType = "call.declined"`

    - `const PaymentDeclinedWebhookEventEventTypeCallNoAnswer PaymentDeclinedWebhookEventEventType = "call.no_answer"`

    - `const PaymentDeclinedWebhookEventEventTypeLocationSharingStarted PaymentDeclinedWebhookEventEventType = "location.sharing.started"`

    - `const PaymentDeclinedWebhookEventEventTypeLocationSharingStopped PaymentDeclinedWebhookEventEventType = "location.sharing.stopped"`

    - `const PaymentDeclinedWebhookEventEventTypePaymentDeclined PaymentDeclinedWebhookEventEventType = "payment.declined"`

    - `const PaymentDeclinedWebhookEventEventTypePaymentAuthorized PaymentDeclinedWebhookEventEventType = "payment.authorized"`

    - `const PaymentDeclinedWebhookEventEventTypeConnectionCreated PaymentDeclinedWebhookEventEventType = "connection.created"`

    - `const PaymentDeclinedWebhookEventEventTypeConnectionRevoked PaymentDeclinedWebhookEventEventType = "connection.revoked"`

    - `const PaymentDeclinedWebhookEventEventTypeZeroDayRetentionUpdated PaymentDeclinedWebhookEventEventType = "zero_day_retention.updated"`

    - `const PaymentDeclinedWebhookEventEventTypePhoneNumberForwardingUpdated PaymentDeclinedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const PaymentDeclinedWebhookEventEventTypeEnvironmentLineMoved PaymentDeclinedWebhookEventEventType = "environment.line_moved"`

    - `const PaymentDeclinedWebhookEventEventTypeContactCardCreated PaymentDeclinedWebhookEventEventType = "contact_card.created"`

    - `const PaymentDeclinedWebhookEventEventTypeContactCardUpdated PaymentDeclinedWebhookEventEventType = "contact_card.updated"`

    - `const PaymentDeclinedWebhookEventEventTypeContactCardDeleted PaymentDeclinedWebhookEventEventType = "contact_card.deleted"`

    - `const PaymentDeclinedWebhookEventEventTypeAPITokenCreated PaymentDeclinedWebhookEventEventType = "api_token.created"`

    - `const PaymentDeclinedWebhookEventEventTypeAPITokenRenamed PaymentDeclinedWebhookEventEventType = "api_token.renamed"`

    - `const PaymentDeclinedWebhookEventEventTypeAPITokenExpiryScheduled PaymentDeclinedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const PaymentDeclinedWebhookEventEventTypeAPITokenExpired PaymentDeclinedWebhookEventEventType = "api_token.expired"`

    - `const PaymentDeclinedWebhookEventEventTypeAPITokenActivated PaymentDeclinedWebhookEventEventType = "api_token.activated"`

    - `const PaymentDeclinedWebhookEventEventTypeAPITokenDeleted PaymentDeclinedWebhookEventEventType = "api_token.deleted"`

    - `const PaymentDeclinedWebhookEventEventTypeEnvironmentCreated PaymentDeclinedWebhookEventEventType = "environment.created"`

    - `const PaymentDeclinedWebhookEventEventTypeEnvironmentRenamed PaymentDeclinedWebhookEventEventType = "environment.renamed"`

    - `const PaymentDeclinedWebhookEventEventTypeEnvironmentDeleted PaymentDeclinedWebhookEventEventType = "environment.deleted"`

    - `const PaymentDeclinedWebhookEventEventTypeWebhookSubscriptionCreated PaymentDeclinedWebhookEventEventType = "webhook_subscription.created"`

    - `const PaymentDeclinedWebhookEventEventTypeWebhookSubscriptionDeleted PaymentDeclinedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const PaymentDeclinedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged PaymentDeclinedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const PaymentDeclinedWebhookEventEventTypeWebhookSubscriptionEnabled PaymentDeclinedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const PaymentDeclinedWebhookEventEventTypeWebhookSubscriptionDisabled PaymentDeclinedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const PaymentDeclinedWebhookEventEventTypeWebhookSubscriptionEventsUpdated PaymentDeclinedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const PaymentDeclinedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated PaymentDeclinedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const PaymentDeclinedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet PaymentDeclinedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const PaymentDeclinedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared PaymentDeclinedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const PaymentDeclinedWebhookEventEventTypeTeamMemberAdded PaymentDeclinedWebhookEventEventType = "team_member.added"`

    - `const PaymentDeclinedWebhookEventEventTypeTeamMemberSignedIn PaymentDeclinedWebhookEventEventType = "team_member.signed_in"`

    - `const PaymentDeclinedWebhookEventEventTypeTeamMemberSignedOut PaymentDeclinedWebhookEventEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### payment.expired

- `type PaymentExpiredWebhookEvent struct{…}`

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data PaymentExpiredWebhookEventData`

    The payment request, as returned by
    `GET /v3/payment_requests/{paymentRequestId}`.

    - `ID string`

      The payment request id.

    - `Amount int64`

      What was charged at checkout, in the currency's minor
      units. In `subscription` mode this is the first invoice's
      total — all items after any discounts are applied.

    - `CheckoutURL string`

      URL the recipient opens to pay
      (`https://zero.linqapp.com/pay/{slug}?session=...`).

    - `CreatedAt Time`

    - `Currency string`

    - `Object string`

    - `Status string`

      - `const PaymentExpiredWebhookEventDataStatusSucceeded PaymentExpiredWebhookEventDataStatus = "succeeded"`

      - `const PaymentExpiredWebhookEventDataStatusFailed PaymentExpiredWebhookEventDataStatus = "failed"`

      - `const PaymentExpiredWebhookEventDataStatusCanceled PaymentExpiredWebhookEventDataStatus = "canceled"`

      - `const PaymentExpiredWebhookEventDataStatusExpired PaymentExpiredWebhookEventDataStatus = "expired"`

    - `Description string`

    - `Discount PaymentExpiredWebhookEventDataDiscount`

      Subscription mode — the discount Stripe applied, read back
      from the coupon. Absent when none was applied.

      - `Coupon string`

      - `Label string`

        Name of the coupon/promo code displayed to customers.

      - `PromotionCode string`

    - `Interval string`

      Subscription mode — how often the subscription renews.

      - `const PaymentExpiredWebhookEventDataIntervalDay PaymentExpiredWebhookEventDataInterval = "day"`

      - `const PaymentExpiredWebhookEventDataIntervalWeek PaymentExpiredWebhookEventDataInterval = "week"`

      - `const PaymentExpiredWebhookEventDataIntervalMonth PaymentExpiredWebhookEventDataInterval = "month"`

      - `const PaymentExpiredWebhookEventDataIntervalYear PaymentExpiredWebhookEventDataInterval = "year"`

    - `IntervalCount int64`

      Subscription mode — intervals per renewal.

    - `Metadata map[string, string]`

    - `Mode string`

      Whether the request collected a one-time charge or started a subscription.

      - `const PaymentExpiredWebhookEventDataModePayment PaymentExpiredWebhookEventDataMode = "payment"`

      - `const PaymentExpiredWebhookEventDataModeSubscription PaymentExpiredWebhookEventDataMode = "subscription"`

    - `Natural PaymentExpiredWebhookEventDataNatural`

      Natural-rail join keys, present when `rail: natural`.

      - `PaymentRequestID string`

        The Natural payment request (`prq_...`).

      - `TransactionID string`

        The settled transaction (`txn_...`).

    - `PriceID string`

      Subscription mode — the recurring price subscribed to.

    - `Quantity int64`

      Subscription mode — units of the price subscribed to.

    - `Rail string`

      The rail this request settled on.

      - `const PaymentExpiredWebhookEventDataRailStripe PaymentExpiredWebhookEventDataRail = "stripe"`

      - `const PaymentExpiredWebhookEventDataRailNatural PaymentExpiredWebhookEventDataRail = "natural"`

    - `Stripe PaymentExpiredWebhookEventDataStripe`

      Ids of the Stripe objects on your connected account — join
      keys into your own Stripe Dashboard/API. Manage a
      subscription's post-checkout lifecycle with `subscription_id`.

      - `CustomerID string`

        The Customer the request is attached to (`cus_...`).
        Always set in subscription mode; set in payment mode
        only when the request was created with a `customer_id`.

      - `PaymentIntentID string`

        The PaymentIntent collected at checkout (`pi_...`).

      - `SubscriptionID string`

        Subscription mode — the Subscription (`sub_...`).

    - `TrialEnd Time`

      Subscription mode — when the free trial ends and the first
      charge happens. On a trial request, `payment.succeeded`
      means the payment method was collected ($0 moved).

    - `UpdatedAt Time`

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType PaymentExpiredWebhookEventEventType`

    - `const PaymentExpiredWebhookEventEventTypePaymentSucceeded PaymentExpiredWebhookEventEventType = "payment.succeeded"`

    - `const PaymentExpiredWebhookEventEventTypePaymentCanceled PaymentExpiredWebhookEventEventType = "payment.canceled"`

    - `const PaymentExpiredWebhookEventEventTypePaymentExpired PaymentExpiredWebhookEventEventType = "payment.expired"`

    - `const PaymentExpiredWebhookEventEventTypeMessageSent PaymentExpiredWebhookEventEventType = "message.sent"`

    - `const PaymentExpiredWebhookEventEventTypeMessageReceived PaymentExpiredWebhookEventEventType = "message.received"`

    - `const PaymentExpiredWebhookEventEventTypeMessageRead PaymentExpiredWebhookEventEventType = "message.read"`

    - `const PaymentExpiredWebhookEventEventTypeMessageDelivered PaymentExpiredWebhookEventEventType = "message.delivered"`

    - `const PaymentExpiredWebhookEventEventTypeMessageFailed PaymentExpiredWebhookEventEventType = "message.failed"`

    - `const PaymentExpiredWebhookEventEventTypeMessageEdited PaymentExpiredWebhookEventEventType = "message.edited"`

    - `const PaymentExpiredWebhookEventEventTypeReactionAdded PaymentExpiredWebhookEventEventType = "reaction.added"`

    - `const PaymentExpiredWebhookEventEventTypeReactionRemoved PaymentExpiredWebhookEventEventType = "reaction.removed"`

    - `const PaymentExpiredWebhookEventEventTypePollReceived PaymentExpiredWebhookEventEventType = "poll.received"`

    - `const PaymentExpiredWebhookEventEventTypePollFailed PaymentExpiredWebhookEventEventType = "poll.failed"`

    - `const PaymentExpiredWebhookEventEventTypePollSent PaymentExpiredWebhookEventEventType = "poll.sent"`

    - `const PaymentExpiredWebhookEventEventTypePollDelivered PaymentExpiredWebhookEventEventType = "poll.delivered"`

    - `const PaymentExpiredWebhookEventEventTypePollRead PaymentExpiredWebhookEventEventType = "poll.read"`

    - `const PaymentExpiredWebhookEventEventTypePollUpdated PaymentExpiredWebhookEventEventType = "poll.updated"`

    - `const PaymentExpiredWebhookEventEventTypePollVoteAdded PaymentExpiredWebhookEventEventType = "poll.vote.added"`

    - `const PaymentExpiredWebhookEventEventTypePollVoteRemoved PaymentExpiredWebhookEventEventType = "poll.vote.removed"`

    - `const PaymentExpiredWebhookEventEventTypePollReactionAdded PaymentExpiredWebhookEventEventType = "poll.reaction.added"`

    - `const PaymentExpiredWebhookEventEventTypeParticipantAdded PaymentExpiredWebhookEventEventType = "participant.added"`

    - `const PaymentExpiredWebhookEventEventTypeParticipantRemoved PaymentExpiredWebhookEventEventType = "participant.removed"`

    - `const PaymentExpiredWebhookEventEventTypeChatCreated PaymentExpiredWebhookEventEventType = "chat.created"`

    - `const PaymentExpiredWebhookEventEventTypeChatGroupNameUpdated PaymentExpiredWebhookEventEventType = "chat.group_name_updated"`

    - `const PaymentExpiredWebhookEventEventTypeChatGroupIconUpdated PaymentExpiredWebhookEventEventType = "chat.group_icon_updated"`

    - `const PaymentExpiredWebhookEventEventTypeChatGroupNameUpdateFailed PaymentExpiredWebhookEventEventType = "chat.group_name_update_failed"`

    - `const PaymentExpiredWebhookEventEventTypeChatGroupIconUpdateFailed PaymentExpiredWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const PaymentExpiredWebhookEventEventTypeChatBackgroundUpdated PaymentExpiredWebhookEventEventType = "chat.background_updated"`

    - `const PaymentExpiredWebhookEventEventTypeChatBackgroundUpdateFailed PaymentExpiredWebhookEventEventType = "chat.background_update_failed"`

    - `const PaymentExpiredWebhookEventEventTypeChatTypingIndicatorStarted PaymentExpiredWebhookEventEventType = "chat.typing_indicator.started"`

    - `const PaymentExpiredWebhookEventEventTypeChatTypingIndicatorStopped PaymentExpiredWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const PaymentExpiredWebhookEventEventTypePhoneNumberStatusUpdated PaymentExpiredWebhookEventEventType = "phone_number.status_updated"`

    - `const PaymentExpiredWebhookEventEventTypePhoneNumberAssigned PaymentExpiredWebhookEventEventType = "phone_number.assigned"`

    - `const PaymentExpiredWebhookEventEventTypePhoneNumberReleased PaymentExpiredWebhookEventEventType = "phone_number.released"`

    - `const PaymentExpiredWebhookEventEventTypePhoneNumberLineTypeUpdated PaymentExpiredWebhookEventEventType = "phone_number.line_type_updated"`

    - `const PaymentExpiredWebhookEventEventTypeContactCardReceived PaymentExpiredWebhookEventEventType = "contact_card.received"`

    - `const PaymentExpiredWebhookEventEventTypeCallInitiated PaymentExpiredWebhookEventEventType = "call.initiated"`

    - `const PaymentExpiredWebhookEventEventTypeCallRinging PaymentExpiredWebhookEventEventType = "call.ringing"`

    - `const PaymentExpiredWebhookEventEventTypeCallAnswered PaymentExpiredWebhookEventEventType = "call.answered"`

    - `const PaymentExpiredWebhookEventEventTypeCallEnded PaymentExpiredWebhookEventEventType = "call.ended"`

    - `const PaymentExpiredWebhookEventEventTypeCallFailed PaymentExpiredWebhookEventEventType = "call.failed"`

    - `const PaymentExpiredWebhookEventEventTypeCallDeclined PaymentExpiredWebhookEventEventType = "call.declined"`

    - `const PaymentExpiredWebhookEventEventTypeCallNoAnswer PaymentExpiredWebhookEventEventType = "call.no_answer"`

    - `const PaymentExpiredWebhookEventEventTypeLocationSharingStarted PaymentExpiredWebhookEventEventType = "location.sharing.started"`

    - `const PaymentExpiredWebhookEventEventTypeLocationSharingStopped PaymentExpiredWebhookEventEventType = "location.sharing.stopped"`

    - `const PaymentExpiredWebhookEventEventTypePaymentDeclined PaymentExpiredWebhookEventEventType = "payment.declined"`

    - `const PaymentExpiredWebhookEventEventTypePaymentAuthorized PaymentExpiredWebhookEventEventType = "payment.authorized"`

    - `const PaymentExpiredWebhookEventEventTypeConnectionCreated PaymentExpiredWebhookEventEventType = "connection.created"`

    - `const PaymentExpiredWebhookEventEventTypeConnectionRevoked PaymentExpiredWebhookEventEventType = "connection.revoked"`

    - `const PaymentExpiredWebhookEventEventTypeZeroDayRetentionUpdated PaymentExpiredWebhookEventEventType = "zero_day_retention.updated"`

    - `const PaymentExpiredWebhookEventEventTypePhoneNumberForwardingUpdated PaymentExpiredWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const PaymentExpiredWebhookEventEventTypeEnvironmentLineMoved PaymentExpiredWebhookEventEventType = "environment.line_moved"`

    - `const PaymentExpiredWebhookEventEventTypeContactCardCreated PaymentExpiredWebhookEventEventType = "contact_card.created"`

    - `const PaymentExpiredWebhookEventEventTypeContactCardUpdated PaymentExpiredWebhookEventEventType = "contact_card.updated"`

    - `const PaymentExpiredWebhookEventEventTypeContactCardDeleted PaymentExpiredWebhookEventEventType = "contact_card.deleted"`

    - `const PaymentExpiredWebhookEventEventTypeAPITokenCreated PaymentExpiredWebhookEventEventType = "api_token.created"`

    - `const PaymentExpiredWebhookEventEventTypeAPITokenRenamed PaymentExpiredWebhookEventEventType = "api_token.renamed"`

    - `const PaymentExpiredWebhookEventEventTypeAPITokenExpiryScheduled PaymentExpiredWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const PaymentExpiredWebhookEventEventTypeAPITokenExpired PaymentExpiredWebhookEventEventType = "api_token.expired"`

    - `const PaymentExpiredWebhookEventEventTypeAPITokenActivated PaymentExpiredWebhookEventEventType = "api_token.activated"`

    - `const PaymentExpiredWebhookEventEventTypeAPITokenDeleted PaymentExpiredWebhookEventEventType = "api_token.deleted"`

    - `const PaymentExpiredWebhookEventEventTypeEnvironmentCreated PaymentExpiredWebhookEventEventType = "environment.created"`

    - `const PaymentExpiredWebhookEventEventTypeEnvironmentRenamed PaymentExpiredWebhookEventEventType = "environment.renamed"`

    - `const PaymentExpiredWebhookEventEventTypeEnvironmentDeleted PaymentExpiredWebhookEventEventType = "environment.deleted"`

    - `const PaymentExpiredWebhookEventEventTypeWebhookSubscriptionCreated PaymentExpiredWebhookEventEventType = "webhook_subscription.created"`

    - `const PaymentExpiredWebhookEventEventTypeWebhookSubscriptionDeleted PaymentExpiredWebhookEventEventType = "webhook_subscription.deleted"`

    - `const PaymentExpiredWebhookEventEventTypeWebhookSubscriptionTargetURLChanged PaymentExpiredWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const PaymentExpiredWebhookEventEventTypeWebhookSubscriptionEnabled PaymentExpiredWebhookEventEventType = "webhook_subscription.enabled"`

    - `const PaymentExpiredWebhookEventEventTypeWebhookSubscriptionDisabled PaymentExpiredWebhookEventEventType = "webhook_subscription.disabled"`

    - `const PaymentExpiredWebhookEventEventTypeWebhookSubscriptionEventsUpdated PaymentExpiredWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const PaymentExpiredWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated PaymentExpiredWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const PaymentExpiredWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet PaymentExpiredWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const PaymentExpiredWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared PaymentExpiredWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const PaymentExpiredWebhookEventEventTypeTeamMemberAdded PaymentExpiredWebhookEventEventType = "team_member.added"`

    - `const PaymentExpiredWebhookEventEventTypeTeamMemberSignedIn PaymentExpiredWebhookEventEventType = "team_member.signed_in"`

    - `const PaymentExpiredWebhookEventEventTypeTeamMemberSignedOut PaymentExpiredWebhookEventEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### payment.succeeded

- `type PaymentSucceededWebhookEvent struct{…}`

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data PaymentSucceededWebhookEventData`

    The payment request, as returned by
    `GET /v3/payment_requests/{paymentRequestId}`.

    - `ID string`

      The payment request id.

    - `Amount int64`

      What was charged at checkout, in the currency's minor
      units. In `subscription` mode this is the first invoice's
      total — all items after any discounts are applied.

    - `CheckoutURL string`

      URL the recipient opens to pay
      (`https://zero.linqapp.com/pay/{slug}?session=...`).

    - `CreatedAt Time`

    - `Currency string`

    - `Object string`

    - `Status string`

      - `const PaymentSucceededWebhookEventDataStatusSucceeded PaymentSucceededWebhookEventDataStatus = "succeeded"`

      - `const PaymentSucceededWebhookEventDataStatusFailed PaymentSucceededWebhookEventDataStatus = "failed"`

      - `const PaymentSucceededWebhookEventDataStatusCanceled PaymentSucceededWebhookEventDataStatus = "canceled"`

      - `const PaymentSucceededWebhookEventDataStatusExpired PaymentSucceededWebhookEventDataStatus = "expired"`

    - `Description string`

    - `Discount PaymentSucceededWebhookEventDataDiscount`

      Subscription mode — the discount Stripe applied, read back
      from the coupon. Absent when none was applied.

      - `Coupon string`

      - `Label string`

        Name of the coupon/promo code displayed to customers.

      - `PromotionCode string`

    - `Interval string`

      Subscription mode — how often the subscription renews.

      - `const PaymentSucceededWebhookEventDataIntervalDay PaymentSucceededWebhookEventDataInterval = "day"`

      - `const PaymentSucceededWebhookEventDataIntervalWeek PaymentSucceededWebhookEventDataInterval = "week"`

      - `const PaymentSucceededWebhookEventDataIntervalMonth PaymentSucceededWebhookEventDataInterval = "month"`

      - `const PaymentSucceededWebhookEventDataIntervalYear PaymentSucceededWebhookEventDataInterval = "year"`

    - `IntervalCount int64`

      Subscription mode — intervals per renewal.

    - `Metadata map[string, string]`

    - `Mode string`

      Whether the request collected a one-time charge or started a subscription.

      - `const PaymentSucceededWebhookEventDataModePayment PaymentSucceededWebhookEventDataMode = "payment"`

      - `const PaymentSucceededWebhookEventDataModeSubscription PaymentSucceededWebhookEventDataMode = "subscription"`

    - `Natural PaymentSucceededWebhookEventDataNatural`

      Natural-rail join keys, present when `rail: natural`.

      - `PaymentRequestID string`

        The Natural payment request (`prq_...`).

      - `TransactionID string`

        The settled transaction (`txn_...`).

    - `PriceID string`

      Subscription mode — the recurring price subscribed to.

    - `Quantity int64`

      Subscription mode — units of the price subscribed to.

    - `Rail string`

      The rail this request settled on.

      - `const PaymentSucceededWebhookEventDataRailStripe PaymentSucceededWebhookEventDataRail = "stripe"`

      - `const PaymentSucceededWebhookEventDataRailNatural PaymentSucceededWebhookEventDataRail = "natural"`

    - `Stripe PaymentSucceededWebhookEventDataStripe`

      Ids of the Stripe objects on your connected account — join
      keys into your own Stripe Dashboard/API. Manage a
      subscription's post-checkout lifecycle with `subscription_id`.

      - `CustomerID string`

        The Customer the request is attached to (`cus_...`).
        Always set in subscription mode; set in payment mode
        only when the request was created with a `customer_id`.

      - `PaymentIntentID string`

        The PaymentIntent collected at checkout (`pi_...`).

      - `SubscriptionID string`

        Subscription mode — the Subscription (`sub_...`).

    - `TrialEnd Time`

      Subscription mode — when the free trial ends and the first
      charge happens. On a trial request, `payment.succeeded`
      means the payment method was collected ($0 moved).

    - `UpdatedAt Time`

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType PaymentSucceededWebhookEventEventType`

    - `const PaymentSucceededWebhookEventEventTypePaymentSucceeded PaymentSucceededWebhookEventEventType = "payment.succeeded"`

    - `const PaymentSucceededWebhookEventEventTypePaymentCanceled PaymentSucceededWebhookEventEventType = "payment.canceled"`

    - `const PaymentSucceededWebhookEventEventTypePaymentExpired PaymentSucceededWebhookEventEventType = "payment.expired"`

    - `const PaymentSucceededWebhookEventEventTypeMessageSent PaymentSucceededWebhookEventEventType = "message.sent"`

    - `const PaymentSucceededWebhookEventEventTypeMessageReceived PaymentSucceededWebhookEventEventType = "message.received"`

    - `const PaymentSucceededWebhookEventEventTypeMessageRead PaymentSucceededWebhookEventEventType = "message.read"`

    - `const PaymentSucceededWebhookEventEventTypeMessageDelivered PaymentSucceededWebhookEventEventType = "message.delivered"`

    - `const PaymentSucceededWebhookEventEventTypeMessageFailed PaymentSucceededWebhookEventEventType = "message.failed"`

    - `const PaymentSucceededWebhookEventEventTypeMessageEdited PaymentSucceededWebhookEventEventType = "message.edited"`

    - `const PaymentSucceededWebhookEventEventTypeReactionAdded PaymentSucceededWebhookEventEventType = "reaction.added"`

    - `const PaymentSucceededWebhookEventEventTypeReactionRemoved PaymentSucceededWebhookEventEventType = "reaction.removed"`

    - `const PaymentSucceededWebhookEventEventTypePollReceived PaymentSucceededWebhookEventEventType = "poll.received"`

    - `const PaymentSucceededWebhookEventEventTypePollFailed PaymentSucceededWebhookEventEventType = "poll.failed"`

    - `const PaymentSucceededWebhookEventEventTypePollSent PaymentSucceededWebhookEventEventType = "poll.sent"`

    - `const PaymentSucceededWebhookEventEventTypePollDelivered PaymentSucceededWebhookEventEventType = "poll.delivered"`

    - `const PaymentSucceededWebhookEventEventTypePollRead PaymentSucceededWebhookEventEventType = "poll.read"`

    - `const PaymentSucceededWebhookEventEventTypePollUpdated PaymentSucceededWebhookEventEventType = "poll.updated"`

    - `const PaymentSucceededWebhookEventEventTypePollVoteAdded PaymentSucceededWebhookEventEventType = "poll.vote.added"`

    - `const PaymentSucceededWebhookEventEventTypePollVoteRemoved PaymentSucceededWebhookEventEventType = "poll.vote.removed"`

    - `const PaymentSucceededWebhookEventEventTypePollReactionAdded PaymentSucceededWebhookEventEventType = "poll.reaction.added"`

    - `const PaymentSucceededWebhookEventEventTypeParticipantAdded PaymentSucceededWebhookEventEventType = "participant.added"`

    - `const PaymentSucceededWebhookEventEventTypeParticipantRemoved PaymentSucceededWebhookEventEventType = "participant.removed"`

    - `const PaymentSucceededWebhookEventEventTypeChatCreated PaymentSucceededWebhookEventEventType = "chat.created"`

    - `const PaymentSucceededWebhookEventEventTypeChatGroupNameUpdated PaymentSucceededWebhookEventEventType = "chat.group_name_updated"`

    - `const PaymentSucceededWebhookEventEventTypeChatGroupIconUpdated PaymentSucceededWebhookEventEventType = "chat.group_icon_updated"`

    - `const PaymentSucceededWebhookEventEventTypeChatGroupNameUpdateFailed PaymentSucceededWebhookEventEventType = "chat.group_name_update_failed"`

    - `const PaymentSucceededWebhookEventEventTypeChatGroupIconUpdateFailed PaymentSucceededWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const PaymentSucceededWebhookEventEventTypeChatBackgroundUpdated PaymentSucceededWebhookEventEventType = "chat.background_updated"`

    - `const PaymentSucceededWebhookEventEventTypeChatBackgroundUpdateFailed PaymentSucceededWebhookEventEventType = "chat.background_update_failed"`

    - `const PaymentSucceededWebhookEventEventTypeChatTypingIndicatorStarted PaymentSucceededWebhookEventEventType = "chat.typing_indicator.started"`

    - `const PaymentSucceededWebhookEventEventTypeChatTypingIndicatorStopped PaymentSucceededWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const PaymentSucceededWebhookEventEventTypePhoneNumberStatusUpdated PaymentSucceededWebhookEventEventType = "phone_number.status_updated"`

    - `const PaymentSucceededWebhookEventEventTypePhoneNumberAssigned PaymentSucceededWebhookEventEventType = "phone_number.assigned"`

    - `const PaymentSucceededWebhookEventEventTypePhoneNumberReleased PaymentSucceededWebhookEventEventType = "phone_number.released"`

    - `const PaymentSucceededWebhookEventEventTypePhoneNumberLineTypeUpdated PaymentSucceededWebhookEventEventType = "phone_number.line_type_updated"`

    - `const PaymentSucceededWebhookEventEventTypeContactCardReceived PaymentSucceededWebhookEventEventType = "contact_card.received"`

    - `const PaymentSucceededWebhookEventEventTypeCallInitiated PaymentSucceededWebhookEventEventType = "call.initiated"`

    - `const PaymentSucceededWebhookEventEventTypeCallRinging PaymentSucceededWebhookEventEventType = "call.ringing"`

    - `const PaymentSucceededWebhookEventEventTypeCallAnswered PaymentSucceededWebhookEventEventType = "call.answered"`

    - `const PaymentSucceededWebhookEventEventTypeCallEnded PaymentSucceededWebhookEventEventType = "call.ended"`

    - `const PaymentSucceededWebhookEventEventTypeCallFailed PaymentSucceededWebhookEventEventType = "call.failed"`

    - `const PaymentSucceededWebhookEventEventTypeCallDeclined PaymentSucceededWebhookEventEventType = "call.declined"`

    - `const PaymentSucceededWebhookEventEventTypeCallNoAnswer PaymentSucceededWebhookEventEventType = "call.no_answer"`

    - `const PaymentSucceededWebhookEventEventTypeLocationSharingStarted PaymentSucceededWebhookEventEventType = "location.sharing.started"`

    - `const PaymentSucceededWebhookEventEventTypeLocationSharingStopped PaymentSucceededWebhookEventEventType = "location.sharing.stopped"`

    - `const PaymentSucceededWebhookEventEventTypePaymentDeclined PaymentSucceededWebhookEventEventType = "payment.declined"`

    - `const PaymentSucceededWebhookEventEventTypePaymentAuthorized PaymentSucceededWebhookEventEventType = "payment.authorized"`

    - `const PaymentSucceededWebhookEventEventTypeConnectionCreated PaymentSucceededWebhookEventEventType = "connection.created"`

    - `const PaymentSucceededWebhookEventEventTypeConnectionRevoked PaymentSucceededWebhookEventEventType = "connection.revoked"`

    - `const PaymentSucceededWebhookEventEventTypeZeroDayRetentionUpdated PaymentSucceededWebhookEventEventType = "zero_day_retention.updated"`

    - `const PaymentSucceededWebhookEventEventTypePhoneNumberForwardingUpdated PaymentSucceededWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const PaymentSucceededWebhookEventEventTypeEnvironmentLineMoved PaymentSucceededWebhookEventEventType = "environment.line_moved"`

    - `const PaymentSucceededWebhookEventEventTypeContactCardCreated PaymentSucceededWebhookEventEventType = "contact_card.created"`

    - `const PaymentSucceededWebhookEventEventTypeContactCardUpdated PaymentSucceededWebhookEventEventType = "contact_card.updated"`

    - `const PaymentSucceededWebhookEventEventTypeContactCardDeleted PaymentSucceededWebhookEventEventType = "contact_card.deleted"`

    - `const PaymentSucceededWebhookEventEventTypeAPITokenCreated PaymentSucceededWebhookEventEventType = "api_token.created"`

    - `const PaymentSucceededWebhookEventEventTypeAPITokenRenamed PaymentSucceededWebhookEventEventType = "api_token.renamed"`

    - `const PaymentSucceededWebhookEventEventTypeAPITokenExpiryScheduled PaymentSucceededWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const PaymentSucceededWebhookEventEventTypeAPITokenExpired PaymentSucceededWebhookEventEventType = "api_token.expired"`

    - `const PaymentSucceededWebhookEventEventTypeAPITokenActivated PaymentSucceededWebhookEventEventType = "api_token.activated"`

    - `const PaymentSucceededWebhookEventEventTypeAPITokenDeleted PaymentSucceededWebhookEventEventType = "api_token.deleted"`

    - `const PaymentSucceededWebhookEventEventTypeEnvironmentCreated PaymentSucceededWebhookEventEventType = "environment.created"`

    - `const PaymentSucceededWebhookEventEventTypeEnvironmentRenamed PaymentSucceededWebhookEventEventType = "environment.renamed"`

    - `const PaymentSucceededWebhookEventEventTypeEnvironmentDeleted PaymentSucceededWebhookEventEventType = "environment.deleted"`

    - `const PaymentSucceededWebhookEventEventTypeWebhookSubscriptionCreated PaymentSucceededWebhookEventEventType = "webhook_subscription.created"`

    - `const PaymentSucceededWebhookEventEventTypeWebhookSubscriptionDeleted PaymentSucceededWebhookEventEventType = "webhook_subscription.deleted"`

    - `const PaymentSucceededWebhookEventEventTypeWebhookSubscriptionTargetURLChanged PaymentSucceededWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const PaymentSucceededWebhookEventEventTypeWebhookSubscriptionEnabled PaymentSucceededWebhookEventEventType = "webhook_subscription.enabled"`

    - `const PaymentSucceededWebhookEventEventTypeWebhookSubscriptionDisabled PaymentSucceededWebhookEventEventType = "webhook_subscription.disabled"`

    - `const PaymentSucceededWebhookEventEventTypeWebhookSubscriptionEventsUpdated PaymentSucceededWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const PaymentSucceededWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated PaymentSucceededWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const PaymentSucceededWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet PaymentSucceededWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const PaymentSucceededWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared PaymentSucceededWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const PaymentSucceededWebhookEventEventTypeTeamMemberAdded PaymentSucceededWebhookEventEventType = "team_member.added"`

    - `const PaymentSucceededWebhookEventEventTypeTeamMemberSignedIn PaymentSucceededWebhookEventEventType = "team_member.signed_in"`

    - `const PaymentSucceededWebhookEventEventTypeTeamMemberSignedOut PaymentSucceededWebhookEventEventType = "team_member.signed_out"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### zero_day_retention.updated

- `type ZeroDayRetentionUpdatedWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ZeroDayRetentionUpdatedWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor ZeroDayRetentionUpdatedWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const ZeroDayRetentionUpdatedWebhookEventDataActorTypeTeamMember ZeroDayRetentionUpdatedWebhookEventDataActorType = "team_member"`

        - `const ZeroDayRetentionUpdatedWebhookEventDataActorTypeAPI ZeroDayRetentionUpdatedWebhookEventDataActorType = "api"`

        - `const ZeroDayRetentionUpdatedWebhookEventDataActorTypeSystem ZeroDayRetentionUpdatedWebhookEventDataActorType = "system"`

        - `const ZeroDayRetentionUpdatedWebhookEventDataActorTypeUnknown ZeroDayRetentionUpdatedWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const ZeroDayRetentionUpdatedWebhookEventDataOriginDashboard ZeroDayRetentionUpdatedWebhookEventDataOrigin = "dashboard"`

      - `const ZeroDayRetentionUpdatedWebhookEventDataOriginAPI ZeroDayRetentionUpdatedWebhookEventDataOrigin = "api"`

      - `const ZeroDayRetentionUpdatedWebhookEventDataOriginLinq ZeroDayRetentionUpdatedWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken ZeroDayRetentionUpdatedWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change ZeroDayRetentionUpdatedWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName ZeroDayRetentionUpdatedWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL ZeroDayRetentionUpdatedWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName ZeroDayRetentionUpdatedWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard ZeroDayRetentionUpdatedWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment ZeroDayRetentionUpdatedWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const ZeroDayRetentionUpdatedWebhookEventDataEnvironmentTypeEnvironment ZeroDayRetentionUpdatedWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const ZeroDayRetentionUpdatedWebhookEventDataMethodCode ZeroDayRetentionUpdatedWebhookEventDataMethod = "code"`

      - `const ZeroDayRetentionUpdatedWebhookEventDataMethodSSO ZeroDayRetentionUpdatedWebhookEventDataMethod = "sso"`

      - `const ZeroDayRetentionUpdatedWebhookEventDataMethodGoogle ZeroDayRetentionUpdatedWebhookEventDataMethod = "google"`

      - `const ZeroDayRetentionUpdatedWebhookEventDataMethodApple ZeroDayRetentionUpdatedWebhookEventDataMethod = "apple"`

      - `const ZeroDayRetentionUpdatedWebhookEventDataMethodLinkedin ZeroDayRetentionUpdatedWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember ZeroDayRetentionUpdatedWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const ZeroDayRetentionUpdatedWebhookEventDataTeamMemberRoleAdmin ZeroDayRetentionUpdatedWebhookEventDataTeamMemberRole = "admin"`

        - `const ZeroDayRetentionUpdatedWebhookEventDataTeamMemberRoleManager ZeroDayRetentionUpdatedWebhookEventDataTeamMemberRole = "manager"`

        - `const ZeroDayRetentionUpdatedWebhookEventDataTeamMemberRoleMember ZeroDayRetentionUpdatedWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription ZeroDayRetentionUpdatedWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType ZeroDayRetentionUpdatedWebhookEventEventType`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeZeroDayRetentionUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "zero_day_retention.updated"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypePhoneNumberForwardingUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeEnvironmentLineMoved ZeroDayRetentionUpdatedWebhookEventEventType = "environment.line_moved"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeContactCardCreated ZeroDayRetentionUpdatedWebhookEventEventType = "contact_card.created"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeContactCardUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "contact_card.updated"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeContactCardDeleted ZeroDayRetentionUpdatedWebhookEventEventType = "contact_card.deleted"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeAPITokenCreated ZeroDayRetentionUpdatedWebhookEventEventType = "api_token.created"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeAPITokenRenamed ZeroDayRetentionUpdatedWebhookEventEventType = "api_token.renamed"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeAPITokenExpiryScheduled ZeroDayRetentionUpdatedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeAPITokenExpired ZeroDayRetentionUpdatedWebhookEventEventType = "api_token.expired"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeAPITokenActivated ZeroDayRetentionUpdatedWebhookEventEventType = "api_token.activated"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeAPITokenDeleted ZeroDayRetentionUpdatedWebhookEventEventType = "api_token.deleted"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeEnvironmentCreated ZeroDayRetentionUpdatedWebhookEventEventType = "environment.created"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeEnvironmentRenamed ZeroDayRetentionUpdatedWebhookEventEventType = "environment.renamed"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeEnvironmentDeleted ZeroDayRetentionUpdatedWebhookEventEventType = "environment.deleted"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeWebhookSubscriptionCreated ZeroDayRetentionUpdatedWebhookEventEventType = "webhook_subscription.created"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeWebhookSubscriptionDeleted ZeroDayRetentionUpdatedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged ZeroDayRetentionUpdatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeWebhookSubscriptionEnabled ZeroDayRetentionUpdatedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeWebhookSubscriptionDisabled ZeroDayRetentionUpdatedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet ZeroDayRetentionUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared ZeroDayRetentionUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeTeamMemberAdded ZeroDayRetentionUpdatedWebhookEventEventType = "team_member.added"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeTeamMemberSignedIn ZeroDayRetentionUpdatedWebhookEventEventType = "team_member.signed_in"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeTeamMemberSignedOut ZeroDayRetentionUpdatedWebhookEventEventType = "team_member.signed_out"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeMessageSent ZeroDayRetentionUpdatedWebhookEventEventType = "message.sent"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeMessageReceived ZeroDayRetentionUpdatedWebhookEventEventType = "message.received"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeMessageRead ZeroDayRetentionUpdatedWebhookEventEventType = "message.read"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeMessageDelivered ZeroDayRetentionUpdatedWebhookEventEventType = "message.delivered"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeMessageFailed ZeroDayRetentionUpdatedWebhookEventEventType = "message.failed"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeMessageEdited ZeroDayRetentionUpdatedWebhookEventEventType = "message.edited"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeReactionAdded ZeroDayRetentionUpdatedWebhookEventEventType = "reaction.added"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeReactionRemoved ZeroDayRetentionUpdatedWebhookEventEventType = "reaction.removed"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypePollReceived ZeroDayRetentionUpdatedWebhookEventEventType = "poll.received"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypePollFailed ZeroDayRetentionUpdatedWebhookEventEventType = "poll.failed"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypePollSent ZeroDayRetentionUpdatedWebhookEventEventType = "poll.sent"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypePollDelivered ZeroDayRetentionUpdatedWebhookEventEventType = "poll.delivered"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypePollRead ZeroDayRetentionUpdatedWebhookEventEventType = "poll.read"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypePollUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "poll.updated"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypePollVoteAdded ZeroDayRetentionUpdatedWebhookEventEventType = "poll.vote.added"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypePollVoteRemoved ZeroDayRetentionUpdatedWebhookEventEventType = "poll.vote.removed"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypePollReactionAdded ZeroDayRetentionUpdatedWebhookEventEventType = "poll.reaction.added"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeParticipantAdded ZeroDayRetentionUpdatedWebhookEventEventType = "participant.added"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeParticipantRemoved ZeroDayRetentionUpdatedWebhookEventEventType = "participant.removed"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeChatCreated ZeroDayRetentionUpdatedWebhookEventEventType = "chat.created"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeChatGroupNameUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "chat.group_name_updated"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeChatGroupIconUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "chat.group_icon_updated"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeChatGroupNameUpdateFailed ZeroDayRetentionUpdatedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeChatGroupIconUpdateFailed ZeroDayRetentionUpdatedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeChatBackgroundUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "chat.background_updated"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeChatBackgroundUpdateFailed ZeroDayRetentionUpdatedWebhookEventEventType = "chat.background_update_failed"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeChatTypingIndicatorStarted ZeroDayRetentionUpdatedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeChatTypingIndicatorStopped ZeroDayRetentionUpdatedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypePhoneNumberStatusUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "phone_number.status_updated"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypePhoneNumberAssigned ZeroDayRetentionUpdatedWebhookEventEventType = "phone_number.assigned"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypePhoneNumberReleased ZeroDayRetentionUpdatedWebhookEventEventType = "phone_number.released"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypePhoneNumberLineTypeUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeContactCardReceived ZeroDayRetentionUpdatedWebhookEventEventType = "contact_card.received"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeCallInitiated ZeroDayRetentionUpdatedWebhookEventEventType = "call.initiated"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeCallRinging ZeroDayRetentionUpdatedWebhookEventEventType = "call.ringing"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeCallAnswered ZeroDayRetentionUpdatedWebhookEventEventType = "call.answered"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeCallEnded ZeroDayRetentionUpdatedWebhookEventEventType = "call.ended"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeCallFailed ZeroDayRetentionUpdatedWebhookEventEventType = "call.failed"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeCallDeclined ZeroDayRetentionUpdatedWebhookEventEventType = "call.declined"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeCallNoAnswer ZeroDayRetentionUpdatedWebhookEventEventType = "call.no_answer"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeLocationSharingStarted ZeroDayRetentionUpdatedWebhookEventEventType = "location.sharing.started"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeLocationSharingStopped ZeroDayRetentionUpdatedWebhookEventEventType = "location.sharing.stopped"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypePaymentSucceeded ZeroDayRetentionUpdatedWebhookEventEventType = "payment.succeeded"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypePaymentCanceled ZeroDayRetentionUpdatedWebhookEventEventType = "payment.canceled"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypePaymentExpired ZeroDayRetentionUpdatedWebhookEventEventType = "payment.expired"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypePaymentDeclined ZeroDayRetentionUpdatedWebhookEventEventType = "payment.declined"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypePaymentAuthorized ZeroDayRetentionUpdatedWebhookEventEventType = "payment.authorized"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeConnectionCreated ZeroDayRetentionUpdatedWebhookEventEventType = "connection.created"`

    - `const ZeroDayRetentionUpdatedWebhookEventEventTypeConnectionRevoked ZeroDayRetentionUpdatedWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### phone_number.forwarding_updated

- `type PhoneNumberForwardingUpdatedWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data PhoneNumberForwardingUpdatedWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor PhoneNumberForwardingUpdatedWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const PhoneNumberForwardingUpdatedWebhookEventDataActorTypeTeamMember PhoneNumberForwardingUpdatedWebhookEventDataActorType = "team_member"`

        - `const PhoneNumberForwardingUpdatedWebhookEventDataActorTypeAPI PhoneNumberForwardingUpdatedWebhookEventDataActorType = "api"`

        - `const PhoneNumberForwardingUpdatedWebhookEventDataActorTypeSystem PhoneNumberForwardingUpdatedWebhookEventDataActorType = "system"`

        - `const PhoneNumberForwardingUpdatedWebhookEventDataActorTypeUnknown PhoneNumberForwardingUpdatedWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const PhoneNumberForwardingUpdatedWebhookEventDataOriginDashboard PhoneNumberForwardingUpdatedWebhookEventDataOrigin = "dashboard"`

      - `const PhoneNumberForwardingUpdatedWebhookEventDataOriginAPI PhoneNumberForwardingUpdatedWebhookEventDataOrigin = "api"`

      - `const PhoneNumberForwardingUpdatedWebhookEventDataOriginLinq PhoneNumberForwardingUpdatedWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken PhoneNumberForwardingUpdatedWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change PhoneNumberForwardingUpdatedWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName PhoneNumberForwardingUpdatedWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL PhoneNumberForwardingUpdatedWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName PhoneNumberForwardingUpdatedWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard PhoneNumberForwardingUpdatedWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment PhoneNumberForwardingUpdatedWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const PhoneNumberForwardingUpdatedWebhookEventDataEnvironmentTypeEnvironment PhoneNumberForwardingUpdatedWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const PhoneNumberForwardingUpdatedWebhookEventDataMethodCode PhoneNumberForwardingUpdatedWebhookEventDataMethod = "code"`

      - `const PhoneNumberForwardingUpdatedWebhookEventDataMethodSSO PhoneNumberForwardingUpdatedWebhookEventDataMethod = "sso"`

      - `const PhoneNumberForwardingUpdatedWebhookEventDataMethodGoogle PhoneNumberForwardingUpdatedWebhookEventDataMethod = "google"`

      - `const PhoneNumberForwardingUpdatedWebhookEventDataMethodApple PhoneNumberForwardingUpdatedWebhookEventDataMethod = "apple"`

      - `const PhoneNumberForwardingUpdatedWebhookEventDataMethodLinkedin PhoneNumberForwardingUpdatedWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember PhoneNumberForwardingUpdatedWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const PhoneNumberForwardingUpdatedWebhookEventDataTeamMemberRoleAdmin PhoneNumberForwardingUpdatedWebhookEventDataTeamMemberRole = "admin"`

        - `const PhoneNumberForwardingUpdatedWebhookEventDataTeamMemberRoleManager PhoneNumberForwardingUpdatedWebhookEventDataTeamMemberRole = "manager"`

        - `const PhoneNumberForwardingUpdatedWebhookEventDataTeamMemberRoleMember PhoneNumberForwardingUpdatedWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription PhoneNumberForwardingUpdatedWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType PhoneNumberForwardingUpdatedWebhookEventEventType`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeZeroDayRetentionUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "zero_day_retention.updated"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePhoneNumberForwardingUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeEnvironmentLineMoved PhoneNumberForwardingUpdatedWebhookEventEventType = "environment.line_moved"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeContactCardCreated PhoneNumberForwardingUpdatedWebhookEventEventType = "contact_card.created"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeContactCardUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "contact_card.updated"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeContactCardDeleted PhoneNumberForwardingUpdatedWebhookEventEventType = "contact_card.deleted"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeAPITokenCreated PhoneNumberForwardingUpdatedWebhookEventEventType = "api_token.created"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeAPITokenRenamed PhoneNumberForwardingUpdatedWebhookEventEventType = "api_token.renamed"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeAPITokenExpiryScheduled PhoneNumberForwardingUpdatedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeAPITokenExpired PhoneNumberForwardingUpdatedWebhookEventEventType = "api_token.expired"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeAPITokenActivated PhoneNumberForwardingUpdatedWebhookEventEventType = "api_token.activated"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeAPITokenDeleted PhoneNumberForwardingUpdatedWebhookEventEventType = "api_token.deleted"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeEnvironmentCreated PhoneNumberForwardingUpdatedWebhookEventEventType = "environment.created"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeEnvironmentRenamed PhoneNumberForwardingUpdatedWebhookEventEventType = "environment.renamed"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeEnvironmentDeleted PhoneNumberForwardingUpdatedWebhookEventEventType = "environment.deleted"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeWebhookSubscriptionCreated PhoneNumberForwardingUpdatedWebhookEventEventType = "webhook_subscription.created"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeWebhookSubscriptionDeleted PhoneNumberForwardingUpdatedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged PhoneNumberForwardingUpdatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeWebhookSubscriptionEnabled PhoneNumberForwardingUpdatedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeWebhookSubscriptionDisabled PhoneNumberForwardingUpdatedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet PhoneNumberForwardingUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared PhoneNumberForwardingUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeTeamMemberAdded PhoneNumberForwardingUpdatedWebhookEventEventType = "team_member.added"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeTeamMemberSignedIn PhoneNumberForwardingUpdatedWebhookEventEventType = "team_member.signed_in"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeTeamMemberSignedOut PhoneNumberForwardingUpdatedWebhookEventEventType = "team_member.signed_out"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeMessageSent PhoneNumberForwardingUpdatedWebhookEventEventType = "message.sent"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeMessageReceived PhoneNumberForwardingUpdatedWebhookEventEventType = "message.received"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeMessageRead PhoneNumberForwardingUpdatedWebhookEventEventType = "message.read"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeMessageDelivered PhoneNumberForwardingUpdatedWebhookEventEventType = "message.delivered"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeMessageFailed PhoneNumberForwardingUpdatedWebhookEventEventType = "message.failed"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeMessageEdited PhoneNumberForwardingUpdatedWebhookEventEventType = "message.edited"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeReactionAdded PhoneNumberForwardingUpdatedWebhookEventEventType = "reaction.added"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeReactionRemoved PhoneNumberForwardingUpdatedWebhookEventEventType = "reaction.removed"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePollReceived PhoneNumberForwardingUpdatedWebhookEventEventType = "poll.received"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePollFailed PhoneNumberForwardingUpdatedWebhookEventEventType = "poll.failed"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePollSent PhoneNumberForwardingUpdatedWebhookEventEventType = "poll.sent"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePollDelivered PhoneNumberForwardingUpdatedWebhookEventEventType = "poll.delivered"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePollRead PhoneNumberForwardingUpdatedWebhookEventEventType = "poll.read"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePollUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "poll.updated"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePollVoteAdded PhoneNumberForwardingUpdatedWebhookEventEventType = "poll.vote.added"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePollVoteRemoved PhoneNumberForwardingUpdatedWebhookEventEventType = "poll.vote.removed"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePollReactionAdded PhoneNumberForwardingUpdatedWebhookEventEventType = "poll.reaction.added"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeParticipantAdded PhoneNumberForwardingUpdatedWebhookEventEventType = "participant.added"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeParticipantRemoved PhoneNumberForwardingUpdatedWebhookEventEventType = "participant.removed"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeChatCreated PhoneNumberForwardingUpdatedWebhookEventEventType = "chat.created"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeChatGroupNameUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "chat.group_name_updated"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeChatGroupIconUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "chat.group_icon_updated"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeChatGroupNameUpdateFailed PhoneNumberForwardingUpdatedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeChatGroupIconUpdateFailed PhoneNumberForwardingUpdatedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeChatBackgroundUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "chat.background_updated"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeChatBackgroundUpdateFailed PhoneNumberForwardingUpdatedWebhookEventEventType = "chat.background_update_failed"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeChatTypingIndicatorStarted PhoneNumberForwardingUpdatedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeChatTypingIndicatorStopped PhoneNumberForwardingUpdatedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePhoneNumberStatusUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "phone_number.status_updated"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePhoneNumberAssigned PhoneNumberForwardingUpdatedWebhookEventEventType = "phone_number.assigned"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePhoneNumberReleased PhoneNumberForwardingUpdatedWebhookEventEventType = "phone_number.released"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePhoneNumberLineTypeUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeContactCardReceived PhoneNumberForwardingUpdatedWebhookEventEventType = "contact_card.received"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeCallInitiated PhoneNumberForwardingUpdatedWebhookEventEventType = "call.initiated"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeCallRinging PhoneNumberForwardingUpdatedWebhookEventEventType = "call.ringing"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeCallAnswered PhoneNumberForwardingUpdatedWebhookEventEventType = "call.answered"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeCallEnded PhoneNumberForwardingUpdatedWebhookEventEventType = "call.ended"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeCallFailed PhoneNumberForwardingUpdatedWebhookEventEventType = "call.failed"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeCallDeclined PhoneNumberForwardingUpdatedWebhookEventEventType = "call.declined"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeCallNoAnswer PhoneNumberForwardingUpdatedWebhookEventEventType = "call.no_answer"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeLocationSharingStarted PhoneNumberForwardingUpdatedWebhookEventEventType = "location.sharing.started"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeLocationSharingStopped PhoneNumberForwardingUpdatedWebhookEventEventType = "location.sharing.stopped"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePaymentSucceeded PhoneNumberForwardingUpdatedWebhookEventEventType = "payment.succeeded"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePaymentCanceled PhoneNumberForwardingUpdatedWebhookEventEventType = "payment.canceled"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePaymentExpired PhoneNumberForwardingUpdatedWebhookEventEventType = "payment.expired"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePaymentDeclined PhoneNumberForwardingUpdatedWebhookEventEventType = "payment.declined"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePaymentAuthorized PhoneNumberForwardingUpdatedWebhookEventEventType = "payment.authorized"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeConnectionCreated PhoneNumberForwardingUpdatedWebhookEventEventType = "connection.created"`

    - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeConnectionRevoked PhoneNumberForwardingUpdatedWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### environment.line_moved

- `type EnvironmentLineMovedWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data EnvironmentLineMovedWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor EnvironmentLineMovedWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const EnvironmentLineMovedWebhookEventDataActorTypeTeamMember EnvironmentLineMovedWebhookEventDataActorType = "team_member"`

        - `const EnvironmentLineMovedWebhookEventDataActorTypeAPI EnvironmentLineMovedWebhookEventDataActorType = "api"`

        - `const EnvironmentLineMovedWebhookEventDataActorTypeSystem EnvironmentLineMovedWebhookEventDataActorType = "system"`

        - `const EnvironmentLineMovedWebhookEventDataActorTypeUnknown EnvironmentLineMovedWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const EnvironmentLineMovedWebhookEventDataOriginDashboard EnvironmentLineMovedWebhookEventDataOrigin = "dashboard"`

      - `const EnvironmentLineMovedWebhookEventDataOriginAPI EnvironmentLineMovedWebhookEventDataOrigin = "api"`

      - `const EnvironmentLineMovedWebhookEventDataOriginLinq EnvironmentLineMovedWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken EnvironmentLineMovedWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change EnvironmentLineMovedWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName EnvironmentLineMovedWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL EnvironmentLineMovedWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName EnvironmentLineMovedWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard EnvironmentLineMovedWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment EnvironmentLineMovedWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const EnvironmentLineMovedWebhookEventDataEnvironmentTypeEnvironment EnvironmentLineMovedWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const EnvironmentLineMovedWebhookEventDataMethodCode EnvironmentLineMovedWebhookEventDataMethod = "code"`

      - `const EnvironmentLineMovedWebhookEventDataMethodSSO EnvironmentLineMovedWebhookEventDataMethod = "sso"`

      - `const EnvironmentLineMovedWebhookEventDataMethodGoogle EnvironmentLineMovedWebhookEventDataMethod = "google"`

      - `const EnvironmentLineMovedWebhookEventDataMethodApple EnvironmentLineMovedWebhookEventDataMethod = "apple"`

      - `const EnvironmentLineMovedWebhookEventDataMethodLinkedin EnvironmentLineMovedWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember EnvironmentLineMovedWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const EnvironmentLineMovedWebhookEventDataTeamMemberRoleAdmin EnvironmentLineMovedWebhookEventDataTeamMemberRole = "admin"`

        - `const EnvironmentLineMovedWebhookEventDataTeamMemberRoleManager EnvironmentLineMovedWebhookEventDataTeamMemberRole = "manager"`

        - `const EnvironmentLineMovedWebhookEventDataTeamMemberRoleMember EnvironmentLineMovedWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription EnvironmentLineMovedWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType EnvironmentLineMovedWebhookEventEventType`

    - `const EnvironmentLineMovedWebhookEventEventTypeZeroDayRetentionUpdated EnvironmentLineMovedWebhookEventEventType = "zero_day_retention.updated"`

    - `const EnvironmentLineMovedWebhookEventEventTypePhoneNumberForwardingUpdated EnvironmentLineMovedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const EnvironmentLineMovedWebhookEventEventTypeEnvironmentLineMoved EnvironmentLineMovedWebhookEventEventType = "environment.line_moved"`

    - `const EnvironmentLineMovedWebhookEventEventTypeContactCardCreated EnvironmentLineMovedWebhookEventEventType = "contact_card.created"`

    - `const EnvironmentLineMovedWebhookEventEventTypeContactCardUpdated EnvironmentLineMovedWebhookEventEventType = "contact_card.updated"`

    - `const EnvironmentLineMovedWebhookEventEventTypeContactCardDeleted EnvironmentLineMovedWebhookEventEventType = "contact_card.deleted"`

    - `const EnvironmentLineMovedWebhookEventEventTypeAPITokenCreated EnvironmentLineMovedWebhookEventEventType = "api_token.created"`

    - `const EnvironmentLineMovedWebhookEventEventTypeAPITokenRenamed EnvironmentLineMovedWebhookEventEventType = "api_token.renamed"`

    - `const EnvironmentLineMovedWebhookEventEventTypeAPITokenExpiryScheduled EnvironmentLineMovedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const EnvironmentLineMovedWebhookEventEventTypeAPITokenExpired EnvironmentLineMovedWebhookEventEventType = "api_token.expired"`

    - `const EnvironmentLineMovedWebhookEventEventTypeAPITokenActivated EnvironmentLineMovedWebhookEventEventType = "api_token.activated"`

    - `const EnvironmentLineMovedWebhookEventEventTypeAPITokenDeleted EnvironmentLineMovedWebhookEventEventType = "api_token.deleted"`

    - `const EnvironmentLineMovedWebhookEventEventTypeEnvironmentCreated EnvironmentLineMovedWebhookEventEventType = "environment.created"`

    - `const EnvironmentLineMovedWebhookEventEventTypeEnvironmentRenamed EnvironmentLineMovedWebhookEventEventType = "environment.renamed"`

    - `const EnvironmentLineMovedWebhookEventEventTypeEnvironmentDeleted EnvironmentLineMovedWebhookEventEventType = "environment.deleted"`

    - `const EnvironmentLineMovedWebhookEventEventTypeWebhookSubscriptionCreated EnvironmentLineMovedWebhookEventEventType = "webhook_subscription.created"`

    - `const EnvironmentLineMovedWebhookEventEventTypeWebhookSubscriptionDeleted EnvironmentLineMovedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const EnvironmentLineMovedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged EnvironmentLineMovedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const EnvironmentLineMovedWebhookEventEventTypeWebhookSubscriptionEnabled EnvironmentLineMovedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const EnvironmentLineMovedWebhookEventEventTypeWebhookSubscriptionDisabled EnvironmentLineMovedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const EnvironmentLineMovedWebhookEventEventTypeWebhookSubscriptionEventsUpdated EnvironmentLineMovedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const EnvironmentLineMovedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated EnvironmentLineMovedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const EnvironmentLineMovedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet EnvironmentLineMovedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const EnvironmentLineMovedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared EnvironmentLineMovedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const EnvironmentLineMovedWebhookEventEventTypeTeamMemberAdded EnvironmentLineMovedWebhookEventEventType = "team_member.added"`

    - `const EnvironmentLineMovedWebhookEventEventTypeTeamMemberSignedIn EnvironmentLineMovedWebhookEventEventType = "team_member.signed_in"`

    - `const EnvironmentLineMovedWebhookEventEventTypeTeamMemberSignedOut EnvironmentLineMovedWebhookEventEventType = "team_member.signed_out"`

    - `const EnvironmentLineMovedWebhookEventEventTypeMessageSent EnvironmentLineMovedWebhookEventEventType = "message.sent"`

    - `const EnvironmentLineMovedWebhookEventEventTypeMessageReceived EnvironmentLineMovedWebhookEventEventType = "message.received"`

    - `const EnvironmentLineMovedWebhookEventEventTypeMessageRead EnvironmentLineMovedWebhookEventEventType = "message.read"`

    - `const EnvironmentLineMovedWebhookEventEventTypeMessageDelivered EnvironmentLineMovedWebhookEventEventType = "message.delivered"`

    - `const EnvironmentLineMovedWebhookEventEventTypeMessageFailed EnvironmentLineMovedWebhookEventEventType = "message.failed"`

    - `const EnvironmentLineMovedWebhookEventEventTypeMessageEdited EnvironmentLineMovedWebhookEventEventType = "message.edited"`

    - `const EnvironmentLineMovedWebhookEventEventTypeReactionAdded EnvironmentLineMovedWebhookEventEventType = "reaction.added"`

    - `const EnvironmentLineMovedWebhookEventEventTypeReactionRemoved EnvironmentLineMovedWebhookEventEventType = "reaction.removed"`

    - `const EnvironmentLineMovedWebhookEventEventTypePollReceived EnvironmentLineMovedWebhookEventEventType = "poll.received"`

    - `const EnvironmentLineMovedWebhookEventEventTypePollFailed EnvironmentLineMovedWebhookEventEventType = "poll.failed"`

    - `const EnvironmentLineMovedWebhookEventEventTypePollSent EnvironmentLineMovedWebhookEventEventType = "poll.sent"`

    - `const EnvironmentLineMovedWebhookEventEventTypePollDelivered EnvironmentLineMovedWebhookEventEventType = "poll.delivered"`

    - `const EnvironmentLineMovedWebhookEventEventTypePollRead EnvironmentLineMovedWebhookEventEventType = "poll.read"`

    - `const EnvironmentLineMovedWebhookEventEventTypePollUpdated EnvironmentLineMovedWebhookEventEventType = "poll.updated"`

    - `const EnvironmentLineMovedWebhookEventEventTypePollVoteAdded EnvironmentLineMovedWebhookEventEventType = "poll.vote.added"`

    - `const EnvironmentLineMovedWebhookEventEventTypePollVoteRemoved EnvironmentLineMovedWebhookEventEventType = "poll.vote.removed"`

    - `const EnvironmentLineMovedWebhookEventEventTypePollReactionAdded EnvironmentLineMovedWebhookEventEventType = "poll.reaction.added"`

    - `const EnvironmentLineMovedWebhookEventEventTypeParticipantAdded EnvironmentLineMovedWebhookEventEventType = "participant.added"`

    - `const EnvironmentLineMovedWebhookEventEventTypeParticipantRemoved EnvironmentLineMovedWebhookEventEventType = "participant.removed"`

    - `const EnvironmentLineMovedWebhookEventEventTypeChatCreated EnvironmentLineMovedWebhookEventEventType = "chat.created"`

    - `const EnvironmentLineMovedWebhookEventEventTypeChatGroupNameUpdated EnvironmentLineMovedWebhookEventEventType = "chat.group_name_updated"`

    - `const EnvironmentLineMovedWebhookEventEventTypeChatGroupIconUpdated EnvironmentLineMovedWebhookEventEventType = "chat.group_icon_updated"`

    - `const EnvironmentLineMovedWebhookEventEventTypeChatGroupNameUpdateFailed EnvironmentLineMovedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const EnvironmentLineMovedWebhookEventEventTypeChatGroupIconUpdateFailed EnvironmentLineMovedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const EnvironmentLineMovedWebhookEventEventTypeChatBackgroundUpdated EnvironmentLineMovedWebhookEventEventType = "chat.background_updated"`

    - `const EnvironmentLineMovedWebhookEventEventTypeChatBackgroundUpdateFailed EnvironmentLineMovedWebhookEventEventType = "chat.background_update_failed"`

    - `const EnvironmentLineMovedWebhookEventEventTypeChatTypingIndicatorStarted EnvironmentLineMovedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const EnvironmentLineMovedWebhookEventEventTypeChatTypingIndicatorStopped EnvironmentLineMovedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const EnvironmentLineMovedWebhookEventEventTypePhoneNumberStatusUpdated EnvironmentLineMovedWebhookEventEventType = "phone_number.status_updated"`

    - `const EnvironmentLineMovedWebhookEventEventTypePhoneNumberAssigned EnvironmentLineMovedWebhookEventEventType = "phone_number.assigned"`

    - `const EnvironmentLineMovedWebhookEventEventTypePhoneNumberReleased EnvironmentLineMovedWebhookEventEventType = "phone_number.released"`

    - `const EnvironmentLineMovedWebhookEventEventTypePhoneNumberLineTypeUpdated EnvironmentLineMovedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const EnvironmentLineMovedWebhookEventEventTypeContactCardReceived EnvironmentLineMovedWebhookEventEventType = "contact_card.received"`

    - `const EnvironmentLineMovedWebhookEventEventTypeCallInitiated EnvironmentLineMovedWebhookEventEventType = "call.initiated"`

    - `const EnvironmentLineMovedWebhookEventEventTypeCallRinging EnvironmentLineMovedWebhookEventEventType = "call.ringing"`

    - `const EnvironmentLineMovedWebhookEventEventTypeCallAnswered EnvironmentLineMovedWebhookEventEventType = "call.answered"`

    - `const EnvironmentLineMovedWebhookEventEventTypeCallEnded EnvironmentLineMovedWebhookEventEventType = "call.ended"`

    - `const EnvironmentLineMovedWebhookEventEventTypeCallFailed EnvironmentLineMovedWebhookEventEventType = "call.failed"`

    - `const EnvironmentLineMovedWebhookEventEventTypeCallDeclined EnvironmentLineMovedWebhookEventEventType = "call.declined"`

    - `const EnvironmentLineMovedWebhookEventEventTypeCallNoAnswer EnvironmentLineMovedWebhookEventEventType = "call.no_answer"`

    - `const EnvironmentLineMovedWebhookEventEventTypeLocationSharingStarted EnvironmentLineMovedWebhookEventEventType = "location.sharing.started"`

    - `const EnvironmentLineMovedWebhookEventEventTypeLocationSharingStopped EnvironmentLineMovedWebhookEventEventType = "location.sharing.stopped"`

    - `const EnvironmentLineMovedWebhookEventEventTypePaymentSucceeded EnvironmentLineMovedWebhookEventEventType = "payment.succeeded"`

    - `const EnvironmentLineMovedWebhookEventEventTypePaymentCanceled EnvironmentLineMovedWebhookEventEventType = "payment.canceled"`

    - `const EnvironmentLineMovedWebhookEventEventTypePaymentExpired EnvironmentLineMovedWebhookEventEventType = "payment.expired"`

    - `const EnvironmentLineMovedWebhookEventEventTypePaymentDeclined EnvironmentLineMovedWebhookEventEventType = "payment.declined"`

    - `const EnvironmentLineMovedWebhookEventEventTypePaymentAuthorized EnvironmentLineMovedWebhookEventEventType = "payment.authorized"`

    - `const EnvironmentLineMovedWebhookEventEventTypeConnectionCreated EnvironmentLineMovedWebhookEventEventType = "connection.created"`

    - `const EnvironmentLineMovedWebhookEventEventTypeConnectionRevoked EnvironmentLineMovedWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### contact_card.created

- `type ContactCardCreatedWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ContactCardCreatedWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor ContactCardCreatedWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const ContactCardCreatedWebhookEventDataActorTypeTeamMember ContactCardCreatedWebhookEventDataActorType = "team_member"`

        - `const ContactCardCreatedWebhookEventDataActorTypeAPI ContactCardCreatedWebhookEventDataActorType = "api"`

        - `const ContactCardCreatedWebhookEventDataActorTypeSystem ContactCardCreatedWebhookEventDataActorType = "system"`

        - `const ContactCardCreatedWebhookEventDataActorTypeUnknown ContactCardCreatedWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const ContactCardCreatedWebhookEventDataOriginDashboard ContactCardCreatedWebhookEventDataOrigin = "dashboard"`

      - `const ContactCardCreatedWebhookEventDataOriginAPI ContactCardCreatedWebhookEventDataOrigin = "api"`

      - `const ContactCardCreatedWebhookEventDataOriginLinq ContactCardCreatedWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken ContactCardCreatedWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change ContactCardCreatedWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName ContactCardCreatedWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL ContactCardCreatedWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName ContactCardCreatedWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard ContactCardCreatedWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment ContactCardCreatedWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const ContactCardCreatedWebhookEventDataEnvironmentTypeEnvironment ContactCardCreatedWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const ContactCardCreatedWebhookEventDataMethodCode ContactCardCreatedWebhookEventDataMethod = "code"`

      - `const ContactCardCreatedWebhookEventDataMethodSSO ContactCardCreatedWebhookEventDataMethod = "sso"`

      - `const ContactCardCreatedWebhookEventDataMethodGoogle ContactCardCreatedWebhookEventDataMethod = "google"`

      - `const ContactCardCreatedWebhookEventDataMethodApple ContactCardCreatedWebhookEventDataMethod = "apple"`

      - `const ContactCardCreatedWebhookEventDataMethodLinkedin ContactCardCreatedWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember ContactCardCreatedWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const ContactCardCreatedWebhookEventDataTeamMemberRoleAdmin ContactCardCreatedWebhookEventDataTeamMemberRole = "admin"`

        - `const ContactCardCreatedWebhookEventDataTeamMemberRoleManager ContactCardCreatedWebhookEventDataTeamMemberRole = "manager"`

        - `const ContactCardCreatedWebhookEventDataTeamMemberRoleMember ContactCardCreatedWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription ContactCardCreatedWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType ContactCardCreatedWebhookEventEventType`

    - `const ContactCardCreatedWebhookEventEventTypeZeroDayRetentionUpdated ContactCardCreatedWebhookEventEventType = "zero_day_retention.updated"`

    - `const ContactCardCreatedWebhookEventEventTypePhoneNumberForwardingUpdated ContactCardCreatedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const ContactCardCreatedWebhookEventEventTypeEnvironmentLineMoved ContactCardCreatedWebhookEventEventType = "environment.line_moved"`

    - `const ContactCardCreatedWebhookEventEventTypeContactCardCreated ContactCardCreatedWebhookEventEventType = "contact_card.created"`

    - `const ContactCardCreatedWebhookEventEventTypeContactCardUpdated ContactCardCreatedWebhookEventEventType = "contact_card.updated"`

    - `const ContactCardCreatedWebhookEventEventTypeContactCardDeleted ContactCardCreatedWebhookEventEventType = "contact_card.deleted"`

    - `const ContactCardCreatedWebhookEventEventTypeAPITokenCreated ContactCardCreatedWebhookEventEventType = "api_token.created"`

    - `const ContactCardCreatedWebhookEventEventTypeAPITokenRenamed ContactCardCreatedWebhookEventEventType = "api_token.renamed"`

    - `const ContactCardCreatedWebhookEventEventTypeAPITokenExpiryScheduled ContactCardCreatedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const ContactCardCreatedWebhookEventEventTypeAPITokenExpired ContactCardCreatedWebhookEventEventType = "api_token.expired"`

    - `const ContactCardCreatedWebhookEventEventTypeAPITokenActivated ContactCardCreatedWebhookEventEventType = "api_token.activated"`

    - `const ContactCardCreatedWebhookEventEventTypeAPITokenDeleted ContactCardCreatedWebhookEventEventType = "api_token.deleted"`

    - `const ContactCardCreatedWebhookEventEventTypeEnvironmentCreated ContactCardCreatedWebhookEventEventType = "environment.created"`

    - `const ContactCardCreatedWebhookEventEventTypeEnvironmentRenamed ContactCardCreatedWebhookEventEventType = "environment.renamed"`

    - `const ContactCardCreatedWebhookEventEventTypeEnvironmentDeleted ContactCardCreatedWebhookEventEventType = "environment.deleted"`

    - `const ContactCardCreatedWebhookEventEventTypeWebhookSubscriptionCreated ContactCardCreatedWebhookEventEventType = "webhook_subscription.created"`

    - `const ContactCardCreatedWebhookEventEventTypeWebhookSubscriptionDeleted ContactCardCreatedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const ContactCardCreatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged ContactCardCreatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const ContactCardCreatedWebhookEventEventTypeWebhookSubscriptionEnabled ContactCardCreatedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const ContactCardCreatedWebhookEventEventTypeWebhookSubscriptionDisabled ContactCardCreatedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const ContactCardCreatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated ContactCardCreatedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const ContactCardCreatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated ContactCardCreatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const ContactCardCreatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet ContactCardCreatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const ContactCardCreatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared ContactCardCreatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const ContactCardCreatedWebhookEventEventTypeTeamMemberAdded ContactCardCreatedWebhookEventEventType = "team_member.added"`

    - `const ContactCardCreatedWebhookEventEventTypeTeamMemberSignedIn ContactCardCreatedWebhookEventEventType = "team_member.signed_in"`

    - `const ContactCardCreatedWebhookEventEventTypeTeamMemberSignedOut ContactCardCreatedWebhookEventEventType = "team_member.signed_out"`

    - `const ContactCardCreatedWebhookEventEventTypeMessageSent ContactCardCreatedWebhookEventEventType = "message.sent"`

    - `const ContactCardCreatedWebhookEventEventTypeMessageReceived ContactCardCreatedWebhookEventEventType = "message.received"`

    - `const ContactCardCreatedWebhookEventEventTypeMessageRead ContactCardCreatedWebhookEventEventType = "message.read"`

    - `const ContactCardCreatedWebhookEventEventTypeMessageDelivered ContactCardCreatedWebhookEventEventType = "message.delivered"`

    - `const ContactCardCreatedWebhookEventEventTypeMessageFailed ContactCardCreatedWebhookEventEventType = "message.failed"`

    - `const ContactCardCreatedWebhookEventEventTypeMessageEdited ContactCardCreatedWebhookEventEventType = "message.edited"`

    - `const ContactCardCreatedWebhookEventEventTypeReactionAdded ContactCardCreatedWebhookEventEventType = "reaction.added"`

    - `const ContactCardCreatedWebhookEventEventTypeReactionRemoved ContactCardCreatedWebhookEventEventType = "reaction.removed"`

    - `const ContactCardCreatedWebhookEventEventTypePollReceived ContactCardCreatedWebhookEventEventType = "poll.received"`

    - `const ContactCardCreatedWebhookEventEventTypePollFailed ContactCardCreatedWebhookEventEventType = "poll.failed"`

    - `const ContactCardCreatedWebhookEventEventTypePollSent ContactCardCreatedWebhookEventEventType = "poll.sent"`

    - `const ContactCardCreatedWebhookEventEventTypePollDelivered ContactCardCreatedWebhookEventEventType = "poll.delivered"`

    - `const ContactCardCreatedWebhookEventEventTypePollRead ContactCardCreatedWebhookEventEventType = "poll.read"`

    - `const ContactCardCreatedWebhookEventEventTypePollUpdated ContactCardCreatedWebhookEventEventType = "poll.updated"`

    - `const ContactCardCreatedWebhookEventEventTypePollVoteAdded ContactCardCreatedWebhookEventEventType = "poll.vote.added"`

    - `const ContactCardCreatedWebhookEventEventTypePollVoteRemoved ContactCardCreatedWebhookEventEventType = "poll.vote.removed"`

    - `const ContactCardCreatedWebhookEventEventTypePollReactionAdded ContactCardCreatedWebhookEventEventType = "poll.reaction.added"`

    - `const ContactCardCreatedWebhookEventEventTypeParticipantAdded ContactCardCreatedWebhookEventEventType = "participant.added"`

    - `const ContactCardCreatedWebhookEventEventTypeParticipantRemoved ContactCardCreatedWebhookEventEventType = "participant.removed"`

    - `const ContactCardCreatedWebhookEventEventTypeChatCreated ContactCardCreatedWebhookEventEventType = "chat.created"`

    - `const ContactCardCreatedWebhookEventEventTypeChatGroupNameUpdated ContactCardCreatedWebhookEventEventType = "chat.group_name_updated"`

    - `const ContactCardCreatedWebhookEventEventTypeChatGroupIconUpdated ContactCardCreatedWebhookEventEventType = "chat.group_icon_updated"`

    - `const ContactCardCreatedWebhookEventEventTypeChatGroupNameUpdateFailed ContactCardCreatedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const ContactCardCreatedWebhookEventEventTypeChatGroupIconUpdateFailed ContactCardCreatedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const ContactCardCreatedWebhookEventEventTypeChatBackgroundUpdated ContactCardCreatedWebhookEventEventType = "chat.background_updated"`

    - `const ContactCardCreatedWebhookEventEventTypeChatBackgroundUpdateFailed ContactCardCreatedWebhookEventEventType = "chat.background_update_failed"`

    - `const ContactCardCreatedWebhookEventEventTypeChatTypingIndicatorStarted ContactCardCreatedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const ContactCardCreatedWebhookEventEventTypeChatTypingIndicatorStopped ContactCardCreatedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const ContactCardCreatedWebhookEventEventTypePhoneNumberStatusUpdated ContactCardCreatedWebhookEventEventType = "phone_number.status_updated"`

    - `const ContactCardCreatedWebhookEventEventTypePhoneNumberAssigned ContactCardCreatedWebhookEventEventType = "phone_number.assigned"`

    - `const ContactCardCreatedWebhookEventEventTypePhoneNumberReleased ContactCardCreatedWebhookEventEventType = "phone_number.released"`

    - `const ContactCardCreatedWebhookEventEventTypePhoneNumberLineTypeUpdated ContactCardCreatedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const ContactCardCreatedWebhookEventEventTypeContactCardReceived ContactCardCreatedWebhookEventEventType = "contact_card.received"`

    - `const ContactCardCreatedWebhookEventEventTypeCallInitiated ContactCardCreatedWebhookEventEventType = "call.initiated"`

    - `const ContactCardCreatedWebhookEventEventTypeCallRinging ContactCardCreatedWebhookEventEventType = "call.ringing"`

    - `const ContactCardCreatedWebhookEventEventTypeCallAnswered ContactCardCreatedWebhookEventEventType = "call.answered"`

    - `const ContactCardCreatedWebhookEventEventTypeCallEnded ContactCardCreatedWebhookEventEventType = "call.ended"`

    - `const ContactCardCreatedWebhookEventEventTypeCallFailed ContactCardCreatedWebhookEventEventType = "call.failed"`

    - `const ContactCardCreatedWebhookEventEventTypeCallDeclined ContactCardCreatedWebhookEventEventType = "call.declined"`

    - `const ContactCardCreatedWebhookEventEventTypeCallNoAnswer ContactCardCreatedWebhookEventEventType = "call.no_answer"`

    - `const ContactCardCreatedWebhookEventEventTypeLocationSharingStarted ContactCardCreatedWebhookEventEventType = "location.sharing.started"`

    - `const ContactCardCreatedWebhookEventEventTypeLocationSharingStopped ContactCardCreatedWebhookEventEventType = "location.sharing.stopped"`

    - `const ContactCardCreatedWebhookEventEventTypePaymentSucceeded ContactCardCreatedWebhookEventEventType = "payment.succeeded"`

    - `const ContactCardCreatedWebhookEventEventTypePaymentCanceled ContactCardCreatedWebhookEventEventType = "payment.canceled"`

    - `const ContactCardCreatedWebhookEventEventTypePaymentExpired ContactCardCreatedWebhookEventEventType = "payment.expired"`

    - `const ContactCardCreatedWebhookEventEventTypePaymentDeclined ContactCardCreatedWebhookEventEventType = "payment.declined"`

    - `const ContactCardCreatedWebhookEventEventTypePaymentAuthorized ContactCardCreatedWebhookEventEventType = "payment.authorized"`

    - `const ContactCardCreatedWebhookEventEventTypeConnectionCreated ContactCardCreatedWebhookEventEventType = "connection.created"`

    - `const ContactCardCreatedWebhookEventEventTypeConnectionRevoked ContactCardCreatedWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### contact_card.updated

- `type ContactCardUpdatedWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ContactCardUpdatedWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor ContactCardUpdatedWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const ContactCardUpdatedWebhookEventDataActorTypeTeamMember ContactCardUpdatedWebhookEventDataActorType = "team_member"`

        - `const ContactCardUpdatedWebhookEventDataActorTypeAPI ContactCardUpdatedWebhookEventDataActorType = "api"`

        - `const ContactCardUpdatedWebhookEventDataActorTypeSystem ContactCardUpdatedWebhookEventDataActorType = "system"`

        - `const ContactCardUpdatedWebhookEventDataActorTypeUnknown ContactCardUpdatedWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const ContactCardUpdatedWebhookEventDataOriginDashboard ContactCardUpdatedWebhookEventDataOrigin = "dashboard"`

      - `const ContactCardUpdatedWebhookEventDataOriginAPI ContactCardUpdatedWebhookEventDataOrigin = "api"`

      - `const ContactCardUpdatedWebhookEventDataOriginLinq ContactCardUpdatedWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken ContactCardUpdatedWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change ContactCardUpdatedWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName ContactCardUpdatedWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL ContactCardUpdatedWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName ContactCardUpdatedWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard ContactCardUpdatedWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment ContactCardUpdatedWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const ContactCardUpdatedWebhookEventDataEnvironmentTypeEnvironment ContactCardUpdatedWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const ContactCardUpdatedWebhookEventDataMethodCode ContactCardUpdatedWebhookEventDataMethod = "code"`

      - `const ContactCardUpdatedWebhookEventDataMethodSSO ContactCardUpdatedWebhookEventDataMethod = "sso"`

      - `const ContactCardUpdatedWebhookEventDataMethodGoogle ContactCardUpdatedWebhookEventDataMethod = "google"`

      - `const ContactCardUpdatedWebhookEventDataMethodApple ContactCardUpdatedWebhookEventDataMethod = "apple"`

      - `const ContactCardUpdatedWebhookEventDataMethodLinkedin ContactCardUpdatedWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember ContactCardUpdatedWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const ContactCardUpdatedWebhookEventDataTeamMemberRoleAdmin ContactCardUpdatedWebhookEventDataTeamMemberRole = "admin"`

        - `const ContactCardUpdatedWebhookEventDataTeamMemberRoleManager ContactCardUpdatedWebhookEventDataTeamMemberRole = "manager"`

        - `const ContactCardUpdatedWebhookEventDataTeamMemberRoleMember ContactCardUpdatedWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription ContactCardUpdatedWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType ContactCardUpdatedWebhookEventEventType`

    - `const ContactCardUpdatedWebhookEventEventTypeZeroDayRetentionUpdated ContactCardUpdatedWebhookEventEventType = "zero_day_retention.updated"`

    - `const ContactCardUpdatedWebhookEventEventTypePhoneNumberForwardingUpdated ContactCardUpdatedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const ContactCardUpdatedWebhookEventEventTypeEnvironmentLineMoved ContactCardUpdatedWebhookEventEventType = "environment.line_moved"`

    - `const ContactCardUpdatedWebhookEventEventTypeContactCardCreated ContactCardUpdatedWebhookEventEventType = "contact_card.created"`

    - `const ContactCardUpdatedWebhookEventEventTypeContactCardUpdated ContactCardUpdatedWebhookEventEventType = "contact_card.updated"`

    - `const ContactCardUpdatedWebhookEventEventTypeContactCardDeleted ContactCardUpdatedWebhookEventEventType = "contact_card.deleted"`

    - `const ContactCardUpdatedWebhookEventEventTypeAPITokenCreated ContactCardUpdatedWebhookEventEventType = "api_token.created"`

    - `const ContactCardUpdatedWebhookEventEventTypeAPITokenRenamed ContactCardUpdatedWebhookEventEventType = "api_token.renamed"`

    - `const ContactCardUpdatedWebhookEventEventTypeAPITokenExpiryScheduled ContactCardUpdatedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const ContactCardUpdatedWebhookEventEventTypeAPITokenExpired ContactCardUpdatedWebhookEventEventType = "api_token.expired"`

    - `const ContactCardUpdatedWebhookEventEventTypeAPITokenActivated ContactCardUpdatedWebhookEventEventType = "api_token.activated"`

    - `const ContactCardUpdatedWebhookEventEventTypeAPITokenDeleted ContactCardUpdatedWebhookEventEventType = "api_token.deleted"`

    - `const ContactCardUpdatedWebhookEventEventTypeEnvironmentCreated ContactCardUpdatedWebhookEventEventType = "environment.created"`

    - `const ContactCardUpdatedWebhookEventEventTypeEnvironmentRenamed ContactCardUpdatedWebhookEventEventType = "environment.renamed"`

    - `const ContactCardUpdatedWebhookEventEventTypeEnvironmentDeleted ContactCardUpdatedWebhookEventEventType = "environment.deleted"`

    - `const ContactCardUpdatedWebhookEventEventTypeWebhookSubscriptionCreated ContactCardUpdatedWebhookEventEventType = "webhook_subscription.created"`

    - `const ContactCardUpdatedWebhookEventEventTypeWebhookSubscriptionDeleted ContactCardUpdatedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const ContactCardUpdatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged ContactCardUpdatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const ContactCardUpdatedWebhookEventEventTypeWebhookSubscriptionEnabled ContactCardUpdatedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const ContactCardUpdatedWebhookEventEventTypeWebhookSubscriptionDisabled ContactCardUpdatedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const ContactCardUpdatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated ContactCardUpdatedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const ContactCardUpdatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated ContactCardUpdatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const ContactCardUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet ContactCardUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const ContactCardUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared ContactCardUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const ContactCardUpdatedWebhookEventEventTypeTeamMemberAdded ContactCardUpdatedWebhookEventEventType = "team_member.added"`

    - `const ContactCardUpdatedWebhookEventEventTypeTeamMemberSignedIn ContactCardUpdatedWebhookEventEventType = "team_member.signed_in"`

    - `const ContactCardUpdatedWebhookEventEventTypeTeamMemberSignedOut ContactCardUpdatedWebhookEventEventType = "team_member.signed_out"`

    - `const ContactCardUpdatedWebhookEventEventTypeMessageSent ContactCardUpdatedWebhookEventEventType = "message.sent"`

    - `const ContactCardUpdatedWebhookEventEventTypeMessageReceived ContactCardUpdatedWebhookEventEventType = "message.received"`

    - `const ContactCardUpdatedWebhookEventEventTypeMessageRead ContactCardUpdatedWebhookEventEventType = "message.read"`

    - `const ContactCardUpdatedWebhookEventEventTypeMessageDelivered ContactCardUpdatedWebhookEventEventType = "message.delivered"`

    - `const ContactCardUpdatedWebhookEventEventTypeMessageFailed ContactCardUpdatedWebhookEventEventType = "message.failed"`

    - `const ContactCardUpdatedWebhookEventEventTypeMessageEdited ContactCardUpdatedWebhookEventEventType = "message.edited"`

    - `const ContactCardUpdatedWebhookEventEventTypeReactionAdded ContactCardUpdatedWebhookEventEventType = "reaction.added"`

    - `const ContactCardUpdatedWebhookEventEventTypeReactionRemoved ContactCardUpdatedWebhookEventEventType = "reaction.removed"`

    - `const ContactCardUpdatedWebhookEventEventTypePollReceived ContactCardUpdatedWebhookEventEventType = "poll.received"`

    - `const ContactCardUpdatedWebhookEventEventTypePollFailed ContactCardUpdatedWebhookEventEventType = "poll.failed"`

    - `const ContactCardUpdatedWebhookEventEventTypePollSent ContactCardUpdatedWebhookEventEventType = "poll.sent"`

    - `const ContactCardUpdatedWebhookEventEventTypePollDelivered ContactCardUpdatedWebhookEventEventType = "poll.delivered"`

    - `const ContactCardUpdatedWebhookEventEventTypePollRead ContactCardUpdatedWebhookEventEventType = "poll.read"`

    - `const ContactCardUpdatedWebhookEventEventTypePollUpdated ContactCardUpdatedWebhookEventEventType = "poll.updated"`

    - `const ContactCardUpdatedWebhookEventEventTypePollVoteAdded ContactCardUpdatedWebhookEventEventType = "poll.vote.added"`

    - `const ContactCardUpdatedWebhookEventEventTypePollVoteRemoved ContactCardUpdatedWebhookEventEventType = "poll.vote.removed"`

    - `const ContactCardUpdatedWebhookEventEventTypePollReactionAdded ContactCardUpdatedWebhookEventEventType = "poll.reaction.added"`

    - `const ContactCardUpdatedWebhookEventEventTypeParticipantAdded ContactCardUpdatedWebhookEventEventType = "participant.added"`

    - `const ContactCardUpdatedWebhookEventEventTypeParticipantRemoved ContactCardUpdatedWebhookEventEventType = "participant.removed"`

    - `const ContactCardUpdatedWebhookEventEventTypeChatCreated ContactCardUpdatedWebhookEventEventType = "chat.created"`

    - `const ContactCardUpdatedWebhookEventEventTypeChatGroupNameUpdated ContactCardUpdatedWebhookEventEventType = "chat.group_name_updated"`

    - `const ContactCardUpdatedWebhookEventEventTypeChatGroupIconUpdated ContactCardUpdatedWebhookEventEventType = "chat.group_icon_updated"`

    - `const ContactCardUpdatedWebhookEventEventTypeChatGroupNameUpdateFailed ContactCardUpdatedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const ContactCardUpdatedWebhookEventEventTypeChatGroupIconUpdateFailed ContactCardUpdatedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const ContactCardUpdatedWebhookEventEventTypeChatBackgroundUpdated ContactCardUpdatedWebhookEventEventType = "chat.background_updated"`

    - `const ContactCardUpdatedWebhookEventEventTypeChatBackgroundUpdateFailed ContactCardUpdatedWebhookEventEventType = "chat.background_update_failed"`

    - `const ContactCardUpdatedWebhookEventEventTypeChatTypingIndicatorStarted ContactCardUpdatedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const ContactCardUpdatedWebhookEventEventTypeChatTypingIndicatorStopped ContactCardUpdatedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const ContactCardUpdatedWebhookEventEventTypePhoneNumberStatusUpdated ContactCardUpdatedWebhookEventEventType = "phone_number.status_updated"`

    - `const ContactCardUpdatedWebhookEventEventTypePhoneNumberAssigned ContactCardUpdatedWebhookEventEventType = "phone_number.assigned"`

    - `const ContactCardUpdatedWebhookEventEventTypePhoneNumberReleased ContactCardUpdatedWebhookEventEventType = "phone_number.released"`

    - `const ContactCardUpdatedWebhookEventEventTypePhoneNumberLineTypeUpdated ContactCardUpdatedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const ContactCardUpdatedWebhookEventEventTypeContactCardReceived ContactCardUpdatedWebhookEventEventType = "contact_card.received"`

    - `const ContactCardUpdatedWebhookEventEventTypeCallInitiated ContactCardUpdatedWebhookEventEventType = "call.initiated"`

    - `const ContactCardUpdatedWebhookEventEventTypeCallRinging ContactCardUpdatedWebhookEventEventType = "call.ringing"`

    - `const ContactCardUpdatedWebhookEventEventTypeCallAnswered ContactCardUpdatedWebhookEventEventType = "call.answered"`

    - `const ContactCardUpdatedWebhookEventEventTypeCallEnded ContactCardUpdatedWebhookEventEventType = "call.ended"`

    - `const ContactCardUpdatedWebhookEventEventTypeCallFailed ContactCardUpdatedWebhookEventEventType = "call.failed"`

    - `const ContactCardUpdatedWebhookEventEventTypeCallDeclined ContactCardUpdatedWebhookEventEventType = "call.declined"`

    - `const ContactCardUpdatedWebhookEventEventTypeCallNoAnswer ContactCardUpdatedWebhookEventEventType = "call.no_answer"`

    - `const ContactCardUpdatedWebhookEventEventTypeLocationSharingStarted ContactCardUpdatedWebhookEventEventType = "location.sharing.started"`

    - `const ContactCardUpdatedWebhookEventEventTypeLocationSharingStopped ContactCardUpdatedWebhookEventEventType = "location.sharing.stopped"`

    - `const ContactCardUpdatedWebhookEventEventTypePaymentSucceeded ContactCardUpdatedWebhookEventEventType = "payment.succeeded"`

    - `const ContactCardUpdatedWebhookEventEventTypePaymentCanceled ContactCardUpdatedWebhookEventEventType = "payment.canceled"`

    - `const ContactCardUpdatedWebhookEventEventTypePaymentExpired ContactCardUpdatedWebhookEventEventType = "payment.expired"`

    - `const ContactCardUpdatedWebhookEventEventTypePaymentDeclined ContactCardUpdatedWebhookEventEventType = "payment.declined"`

    - `const ContactCardUpdatedWebhookEventEventTypePaymentAuthorized ContactCardUpdatedWebhookEventEventType = "payment.authorized"`

    - `const ContactCardUpdatedWebhookEventEventTypeConnectionCreated ContactCardUpdatedWebhookEventEventType = "connection.created"`

    - `const ContactCardUpdatedWebhookEventEventTypeConnectionRevoked ContactCardUpdatedWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### contact_card.deleted

- `type ContactCardDeletedWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data ContactCardDeletedWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor ContactCardDeletedWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const ContactCardDeletedWebhookEventDataActorTypeTeamMember ContactCardDeletedWebhookEventDataActorType = "team_member"`

        - `const ContactCardDeletedWebhookEventDataActorTypeAPI ContactCardDeletedWebhookEventDataActorType = "api"`

        - `const ContactCardDeletedWebhookEventDataActorTypeSystem ContactCardDeletedWebhookEventDataActorType = "system"`

        - `const ContactCardDeletedWebhookEventDataActorTypeUnknown ContactCardDeletedWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const ContactCardDeletedWebhookEventDataOriginDashboard ContactCardDeletedWebhookEventDataOrigin = "dashboard"`

      - `const ContactCardDeletedWebhookEventDataOriginAPI ContactCardDeletedWebhookEventDataOrigin = "api"`

      - `const ContactCardDeletedWebhookEventDataOriginLinq ContactCardDeletedWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken ContactCardDeletedWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change ContactCardDeletedWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName ContactCardDeletedWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL ContactCardDeletedWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName ContactCardDeletedWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard ContactCardDeletedWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment ContactCardDeletedWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const ContactCardDeletedWebhookEventDataEnvironmentTypeEnvironment ContactCardDeletedWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const ContactCardDeletedWebhookEventDataMethodCode ContactCardDeletedWebhookEventDataMethod = "code"`

      - `const ContactCardDeletedWebhookEventDataMethodSSO ContactCardDeletedWebhookEventDataMethod = "sso"`

      - `const ContactCardDeletedWebhookEventDataMethodGoogle ContactCardDeletedWebhookEventDataMethod = "google"`

      - `const ContactCardDeletedWebhookEventDataMethodApple ContactCardDeletedWebhookEventDataMethod = "apple"`

      - `const ContactCardDeletedWebhookEventDataMethodLinkedin ContactCardDeletedWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember ContactCardDeletedWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const ContactCardDeletedWebhookEventDataTeamMemberRoleAdmin ContactCardDeletedWebhookEventDataTeamMemberRole = "admin"`

        - `const ContactCardDeletedWebhookEventDataTeamMemberRoleManager ContactCardDeletedWebhookEventDataTeamMemberRole = "manager"`

        - `const ContactCardDeletedWebhookEventDataTeamMemberRoleMember ContactCardDeletedWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription ContactCardDeletedWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType ContactCardDeletedWebhookEventEventType`

    - `const ContactCardDeletedWebhookEventEventTypeZeroDayRetentionUpdated ContactCardDeletedWebhookEventEventType = "zero_day_retention.updated"`

    - `const ContactCardDeletedWebhookEventEventTypePhoneNumberForwardingUpdated ContactCardDeletedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const ContactCardDeletedWebhookEventEventTypeEnvironmentLineMoved ContactCardDeletedWebhookEventEventType = "environment.line_moved"`

    - `const ContactCardDeletedWebhookEventEventTypeContactCardCreated ContactCardDeletedWebhookEventEventType = "contact_card.created"`

    - `const ContactCardDeletedWebhookEventEventTypeContactCardUpdated ContactCardDeletedWebhookEventEventType = "contact_card.updated"`

    - `const ContactCardDeletedWebhookEventEventTypeContactCardDeleted ContactCardDeletedWebhookEventEventType = "contact_card.deleted"`

    - `const ContactCardDeletedWebhookEventEventTypeAPITokenCreated ContactCardDeletedWebhookEventEventType = "api_token.created"`

    - `const ContactCardDeletedWebhookEventEventTypeAPITokenRenamed ContactCardDeletedWebhookEventEventType = "api_token.renamed"`

    - `const ContactCardDeletedWebhookEventEventTypeAPITokenExpiryScheduled ContactCardDeletedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const ContactCardDeletedWebhookEventEventTypeAPITokenExpired ContactCardDeletedWebhookEventEventType = "api_token.expired"`

    - `const ContactCardDeletedWebhookEventEventTypeAPITokenActivated ContactCardDeletedWebhookEventEventType = "api_token.activated"`

    - `const ContactCardDeletedWebhookEventEventTypeAPITokenDeleted ContactCardDeletedWebhookEventEventType = "api_token.deleted"`

    - `const ContactCardDeletedWebhookEventEventTypeEnvironmentCreated ContactCardDeletedWebhookEventEventType = "environment.created"`

    - `const ContactCardDeletedWebhookEventEventTypeEnvironmentRenamed ContactCardDeletedWebhookEventEventType = "environment.renamed"`

    - `const ContactCardDeletedWebhookEventEventTypeEnvironmentDeleted ContactCardDeletedWebhookEventEventType = "environment.deleted"`

    - `const ContactCardDeletedWebhookEventEventTypeWebhookSubscriptionCreated ContactCardDeletedWebhookEventEventType = "webhook_subscription.created"`

    - `const ContactCardDeletedWebhookEventEventTypeWebhookSubscriptionDeleted ContactCardDeletedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const ContactCardDeletedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged ContactCardDeletedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const ContactCardDeletedWebhookEventEventTypeWebhookSubscriptionEnabled ContactCardDeletedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const ContactCardDeletedWebhookEventEventTypeWebhookSubscriptionDisabled ContactCardDeletedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const ContactCardDeletedWebhookEventEventTypeWebhookSubscriptionEventsUpdated ContactCardDeletedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const ContactCardDeletedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated ContactCardDeletedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const ContactCardDeletedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet ContactCardDeletedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const ContactCardDeletedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared ContactCardDeletedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const ContactCardDeletedWebhookEventEventTypeTeamMemberAdded ContactCardDeletedWebhookEventEventType = "team_member.added"`

    - `const ContactCardDeletedWebhookEventEventTypeTeamMemberSignedIn ContactCardDeletedWebhookEventEventType = "team_member.signed_in"`

    - `const ContactCardDeletedWebhookEventEventTypeTeamMemberSignedOut ContactCardDeletedWebhookEventEventType = "team_member.signed_out"`

    - `const ContactCardDeletedWebhookEventEventTypeMessageSent ContactCardDeletedWebhookEventEventType = "message.sent"`

    - `const ContactCardDeletedWebhookEventEventTypeMessageReceived ContactCardDeletedWebhookEventEventType = "message.received"`

    - `const ContactCardDeletedWebhookEventEventTypeMessageRead ContactCardDeletedWebhookEventEventType = "message.read"`

    - `const ContactCardDeletedWebhookEventEventTypeMessageDelivered ContactCardDeletedWebhookEventEventType = "message.delivered"`

    - `const ContactCardDeletedWebhookEventEventTypeMessageFailed ContactCardDeletedWebhookEventEventType = "message.failed"`

    - `const ContactCardDeletedWebhookEventEventTypeMessageEdited ContactCardDeletedWebhookEventEventType = "message.edited"`

    - `const ContactCardDeletedWebhookEventEventTypeReactionAdded ContactCardDeletedWebhookEventEventType = "reaction.added"`

    - `const ContactCardDeletedWebhookEventEventTypeReactionRemoved ContactCardDeletedWebhookEventEventType = "reaction.removed"`

    - `const ContactCardDeletedWebhookEventEventTypePollReceived ContactCardDeletedWebhookEventEventType = "poll.received"`

    - `const ContactCardDeletedWebhookEventEventTypePollFailed ContactCardDeletedWebhookEventEventType = "poll.failed"`

    - `const ContactCardDeletedWebhookEventEventTypePollSent ContactCardDeletedWebhookEventEventType = "poll.sent"`

    - `const ContactCardDeletedWebhookEventEventTypePollDelivered ContactCardDeletedWebhookEventEventType = "poll.delivered"`

    - `const ContactCardDeletedWebhookEventEventTypePollRead ContactCardDeletedWebhookEventEventType = "poll.read"`

    - `const ContactCardDeletedWebhookEventEventTypePollUpdated ContactCardDeletedWebhookEventEventType = "poll.updated"`

    - `const ContactCardDeletedWebhookEventEventTypePollVoteAdded ContactCardDeletedWebhookEventEventType = "poll.vote.added"`

    - `const ContactCardDeletedWebhookEventEventTypePollVoteRemoved ContactCardDeletedWebhookEventEventType = "poll.vote.removed"`

    - `const ContactCardDeletedWebhookEventEventTypePollReactionAdded ContactCardDeletedWebhookEventEventType = "poll.reaction.added"`

    - `const ContactCardDeletedWebhookEventEventTypeParticipantAdded ContactCardDeletedWebhookEventEventType = "participant.added"`

    - `const ContactCardDeletedWebhookEventEventTypeParticipantRemoved ContactCardDeletedWebhookEventEventType = "participant.removed"`

    - `const ContactCardDeletedWebhookEventEventTypeChatCreated ContactCardDeletedWebhookEventEventType = "chat.created"`

    - `const ContactCardDeletedWebhookEventEventTypeChatGroupNameUpdated ContactCardDeletedWebhookEventEventType = "chat.group_name_updated"`

    - `const ContactCardDeletedWebhookEventEventTypeChatGroupIconUpdated ContactCardDeletedWebhookEventEventType = "chat.group_icon_updated"`

    - `const ContactCardDeletedWebhookEventEventTypeChatGroupNameUpdateFailed ContactCardDeletedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const ContactCardDeletedWebhookEventEventTypeChatGroupIconUpdateFailed ContactCardDeletedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const ContactCardDeletedWebhookEventEventTypeChatBackgroundUpdated ContactCardDeletedWebhookEventEventType = "chat.background_updated"`

    - `const ContactCardDeletedWebhookEventEventTypeChatBackgroundUpdateFailed ContactCardDeletedWebhookEventEventType = "chat.background_update_failed"`

    - `const ContactCardDeletedWebhookEventEventTypeChatTypingIndicatorStarted ContactCardDeletedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const ContactCardDeletedWebhookEventEventTypeChatTypingIndicatorStopped ContactCardDeletedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const ContactCardDeletedWebhookEventEventTypePhoneNumberStatusUpdated ContactCardDeletedWebhookEventEventType = "phone_number.status_updated"`

    - `const ContactCardDeletedWebhookEventEventTypePhoneNumberAssigned ContactCardDeletedWebhookEventEventType = "phone_number.assigned"`

    - `const ContactCardDeletedWebhookEventEventTypePhoneNumberReleased ContactCardDeletedWebhookEventEventType = "phone_number.released"`

    - `const ContactCardDeletedWebhookEventEventTypePhoneNumberLineTypeUpdated ContactCardDeletedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const ContactCardDeletedWebhookEventEventTypeContactCardReceived ContactCardDeletedWebhookEventEventType = "contact_card.received"`

    - `const ContactCardDeletedWebhookEventEventTypeCallInitiated ContactCardDeletedWebhookEventEventType = "call.initiated"`

    - `const ContactCardDeletedWebhookEventEventTypeCallRinging ContactCardDeletedWebhookEventEventType = "call.ringing"`

    - `const ContactCardDeletedWebhookEventEventTypeCallAnswered ContactCardDeletedWebhookEventEventType = "call.answered"`

    - `const ContactCardDeletedWebhookEventEventTypeCallEnded ContactCardDeletedWebhookEventEventType = "call.ended"`

    - `const ContactCardDeletedWebhookEventEventTypeCallFailed ContactCardDeletedWebhookEventEventType = "call.failed"`

    - `const ContactCardDeletedWebhookEventEventTypeCallDeclined ContactCardDeletedWebhookEventEventType = "call.declined"`

    - `const ContactCardDeletedWebhookEventEventTypeCallNoAnswer ContactCardDeletedWebhookEventEventType = "call.no_answer"`

    - `const ContactCardDeletedWebhookEventEventTypeLocationSharingStarted ContactCardDeletedWebhookEventEventType = "location.sharing.started"`

    - `const ContactCardDeletedWebhookEventEventTypeLocationSharingStopped ContactCardDeletedWebhookEventEventType = "location.sharing.stopped"`

    - `const ContactCardDeletedWebhookEventEventTypePaymentSucceeded ContactCardDeletedWebhookEventEventType = "payment.succeeded"`

    - `const ContactCardDeletedWebhookEventEventTypePaymentCanceled ContactCardDeletedWebhookEventEventType = "payment.canceled"`

    - `const ContactCardDeletedWebhookEventEventTypePaymentExpired ContactCardDeletedWebhookEventEventType = "payment.expired"`

    - `const ContactCardDeletedWebhookEventEventTypePaymentDeclined ContactCardDeletedWebhookEventEventType = "payment.declined"`

    - `const ContactCardDeletedWebhookEventEventTypePaymentAuthorized ContactCardDeletedWebhookEventEventType = "payment.authorized"`

    - `const ContactCardDeletedWebhookEventEventTypeConnectionCreated ContactCardDeletedWebhookEventEventType = "connection.created"`

    - `const ContactCardDeletedWebhookEventEventTypeConnectionRevoked ContactCardDeletedWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### api_token.created

- `type APITokenCreatedWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data APITokenCreatedWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor APITokenCreatedWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const APITokenCreatedWebhookEventDataActorTypeTeamMember APITokenCreatedWebhookEventDataActorType = "team_member"`

        - `const APITokenCreatedWebhookEventDataActorTypeAPI APITokenCreatedWebhookEventDataActorType = "api"`

        - `const APITokenCreatedWebhookEventDataActorTypeSystem APITokenCreatedWebhookEventDataActorType = "system"`

        - `const APITokenCreatedWebhookEventDataActorTypeUnknown APITokenCreatedWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const APITokenCreatedWebhookEventDataOriginDashboard APITokenCreatedWebhookEventDataOrigin = "dashboard"`

      - `const APITokenCreatedWebhookEventDataOriginAPI APITokenCreatedWebhookEventDataOrigin = "api"`

      - `const APITokenCreatedWebhookEventDataOriginLinq APITokenCreatedWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken APITokenCreatedWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change APITokenCreatedWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName APITokenCreatedWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL APITokenCreatedWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName APITokenCreatedWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard APITokenCreatedWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment APITokenCreatedWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const APITokenCreatedWebhookEventDataEnvironmentTypeEnvironment APITokenCreatedWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const APITokenCreatedWebhookEventDataMethodCode APITokenCreatedWebhookEventDataMethod = "code"`

      - `const APITokenCreatedWebhookEventDataMethodSSO APITokenCreatedWebhookEventDataMethod = "sso"`

      - `const APITokenCreatedWebhookEventDataMethodGoogle APITokenCreatedWebhookEventDataMethod = "google"`

      - `const APITokenCreatedWebhookEventDataMethodApple APITokenCreatedWebhookEventDataMethod = "apple"`

      - `const APITokenCreatedWebhookEventDataMethodLinkedin APITokenCreatedWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember APITokenCreatedWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const APITokenCreatedWebhookEventDataTeamMemberRoleAdmin APITokenCreatedWebhookEventDataTeamMemberRole = "admin"`

        - `const APITokenCreatedWebhookEventDataTeamMemberRoleManager APITokenCreatedWebhookEventDataTeamMemberRole = "manager"`

        - `const APITokenCreatedWebhookEventDataTeamMemberRoleMember APITokenCreatedWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription APITokenCreatedWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType APITokenCreatedWebhookEventEventType`

    - `const APITokenCreatedWebhookEventEventTypeZeroDayRetentionUpdated APITokenCreatedWebhookEventEventType = "zero_day_retention.updated"`

    - `const APITokenCreatedWebhookEventEventTypePhoneNumberForwardingUpdated APITokenCreatedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const APITokenCreatedWebhookEventEventTypeEnvironmentLineMoved APITokenCreatedWebhookEventEventType = "environment.line_moved"`

    - `const APITokenCreatedWebhookEventEventTypeContactCardCreated APITokenCreatedWebhookEventEventType = "contact_card.created"`

    - `const APITokenCreatedWebhookEventEventTypeContactCardUpdated APITokenCreatedWebhookEventEventType = "contact_card.updated"`

    - `const APITokenCreatedWebhookEventEventTypeContactCardDeleted APITokenCreatedWebhookEventEventType = "contact_card.deleted"`

    - `const APITokenCreatedWebhookEventEventTypeAPITokenCreated APITokenCreatedWebhookEventEventType = "api_token.created"`

    - `const APITokenCreatedWebhookEventEventTypeAPITokenRenamed APITokenCreatedWebhookEventEventType = "api_token.renamed"`

    - `const APITokenCreatedWebhookEventEventTypeAPITokenExpiryScheduled APITokenCreatedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const APITokenCreatedWebhookEventEventTypeAPITokenExpired APITokenCreatedWebhookEventEventType = "api_token.expired"`

    - `const APITokenCreatedWebhookEventEventTypeAPITokenActivated APITokenCreatedWebhookEventEventType = "api_token.activated"`

    - `const APITokenCreatedWebhookEventEventTypeAPITokenDeleted APITokenCreatedWebhookEventEventType = "api_token.deleted"`

    - `const APITokenCreatedWebhookEventEventTypeEnvironmentCreated APITokenCreatedWebhookEventEventType = "environment.created"`

    - `const APITokenCreatedWebhookEventEventTypeEnvironmentRenamed APITokenCreatedWebhookEventEventType = "environment.renamed"`

    - `const APITokenCreatedWebhookEventEventTypeEnvironmentDeleted APITokenCreatedWebhookEventEventType = "environment.deleted"`

    - `const APITokenCreatedWebhookEventEventTypeWebhookSubscriptionCreated APITokenCreatedWebhookEventEventType = "webhook_subscription.created"`

    - `const APITokenCreatedWebhookEventEventTypeWebhookSubscriptionDeleted APITokenCreatedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const APITokenCreatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged APITokenCreatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const APITokenCreatedWebhookEventEventTypeWebhookSubscriptionEnabled APITokenCreatedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const APITokenCreatedWebhookEventEventTypeWebhookSubscriptionDisabled APITokenCreatedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const APITokenCreatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated APITokenCreatedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const APITokenCreatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated APITokenCreatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const APITokenCreatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet APITokenCreatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const APITokenCreatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared APITokenCreatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const APITokenCreatedWebhookEventEventTypeTeamMemberAdded APITokenCreatedWebhookEventEventType = "team_member.added"`

    - `const APITokenCreatedWebhookEventEventTypeTeamMemberSignedIn APITokenCreatedWebhookEventEventType = "team_member.signed_in"`

    - `const APITokenCreatedWebhookEventEventTypeTeamMemberSignedOut APITokenCreatedWebhookEventEventType = "team_member.signed_out"`

    - `const APITokenCreatedWebhookEventEventTypeMessageSent APITokenCreatedWebhookEventEventType = "message.sent"`

    - `const APITokenCreatedWebhookEventEventTypeMessageReceived APITokenCreatedWebhookEventEventType = "message.received"`

    - `const APITokenCreatedWebhookEventEventTypeMessageRead APITokenCreatedWebhookEventEventType = "message.read"`

    - `const APITokenCreatedWebhookEventEventTypeMessageDelivered APITokenCreatedWebhookEventEventType = "message.delivered"`

    - `const APITokenCreatedWebhookEventEventTypeMessageFailed APITokenCreatedWebhookEventEventType = "message.failed"`

    - `const APITokenCreatedWebhookEventEventTypeMessageEdited APITokenCreatedWebhookEventEventType = "message.edited"`

    - `const APITokenCreatedWebhookEventEventTypeReactionAdded APITokenCreatedWebhookEventEventType = "reaction.added"`

    - `const APITokenCreatedWebhookEventEventTypeReactionRemoved APITokenCreatedWebhookEventEventType = "reaction.removed"`

    - `const APITokenCreatedWebhookEventEventTypePollReceived APITokenCreatedWebhookEventEventType = "poll.received"`

    - `const APITokenCreatedWebhookEventEventTypePollFailed APITokenCreatedWebhookEventEventType = "poll.failed"`

    - `const APITokenCreatedWebhookEventEventTypePollSent APITokenCreatedWebhookEventEventType = "poll.sent"`

    - `const APITokenCreatedWebhookEventEventTypePollDelivered APITokenCreatedWebhookEventEventType = "poll.delivered"`

    - `const APITokenCreatedWebhookEventEventTypePollRead APITokenCreatedWebhookEventEventType = "poll.read"`

    - `const APITokenCreatedWebhookEventEventTypePollUpdated APITokenCreatedWebhookEventEventType = "poll.updated"`

    - `const APITokenCreatedWebhookEventEventTypePollVoteAdded APITokenCreatedWebhookEventEventType = "poll.vote.added"`

    - `const APITokenCreatedWebhookEventEventTypePollVoteRemoved APITokenCreatedWebhookEventEventType = "poll.vote.removed"`

    - `const APITokenCreatedWebhookEventEventTypePollReactionAdded APITokenCreatedWebhookEventEventType = "poll.reaction.added"`

    - `const APITokenCreatedWebhookEventEventTypeParticipantAdded APITokenCreatedWebhookEventEventType = "participant.added"`

    - `const APITokenCreatedWebhookEventEventTypeParticipantRemoved APITokenCreatedWebhookEventEventType = "participant.removed"`

    - `const APITokenCreatedWebhookEventEventTypeChatCreated APITokenCreatedWebhookEventEventType = "chat.created"`

    - `const APITokenCreatedWebhookEventEventTypeChatGroupNameUpdated APITokenCreatedWebhookEventEventType = "chat.group_name_updated"`

    - `const APITokenCreatedWebhookEventEventTypeChatGroupIconUpdated APITokenCreatedWebhookEventEventType = "chat.group_icon_updated"`

    - `const APITokenCreatedWebhookEventEventTypeChatGroupNameUpdateFailed APITokenCreatedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const APITokenCreatedWebhookEventEventTypeChatGroupIconUpdateFailed APITokenCreatedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const APITokenCreatedWebhookEventEventTypeChatBackgroundUpdated APITokenCreatedWebhookEventEventType = "chat.background_updated"`

    - `const APITokenCreatedWebhookEventEventTypeChatBackgroundUpdateFailed APITokenCreatedWebhookEventEventType = "chat.background_update_failed"`

    - `const APITokenCreatedWebhookEventEventTypeChatTypingIndicatorStarted APITokenCreatedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const APITokenCreatedWebhookEventEventTypeChatTypingIndicatorStopped APITokenCreatedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const APITokenCreatedWebhookEventEventTypePhoneNumberStatusUpdated APITokenCreatedWebhookEventEventType = "phone_number.status_updated"`

    - `const APITokenCreatedWebhookEventEventTypePhoneNumberAssigned APITokenCreatedWebhookEventEventType = "phone_number.assigned"`

    - `const APITokenCreatedWebhookEventEventTypePhoneNumberReleased APITokenCreatedWebhookEventEventType = "phone_number.released"`

    - `const APITokenCreatedWebhookEventEventTypePhoneNumberLineTypeUpdated APITokenCreatedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const APITokenCreatedWebhookEventEventTypeContactCardReceived APITokenCreatedWebhookEventEventType = "contact_card.received"`

    - `const APITokenCreatedWebhookEventEventTypeCallInitiated APITokenCreatedWebhookEventEventType = "call.initiated"`

    - `const APITokenCreatedWebhookEventEventTypeCallRinging APITokenCreatedWebhookEventEventType = "call.ringing"`

    - `const APITokenCreatedWebhookEventEventTypeCallAnswered APITokenCreatedWebhookEventEventType = "call.answered"`

    - `const APITokenCreatedWebhookEventEventTypeCallEnded APITokenCreatedWebhookEventEventType = "call.ended"`

    - `const APITokenCreatedWebhookEventEventTypeCallFailed APITokenCreatedWebhookEventEventType = "call.failed"`

    - `const APITokenCreatedWebhookEventEventTypeCallDeclined APITokenCreatedWebhookEventEventType = "call.declined"`

    - `const APITokenCreatedWebhookEventEventTypeCallNoAnswer APITokenCreatedWebhookEventEventType = "call.no_answer"`

    - `const APITokenCreatedWebhookEventEventTypeLocationSharingStarted APITokenCreatedWebhookEventEventType = "location.sharing.started"`

    - `const APITokenCreatedWebhookEventEventTypeLocationSharingStopped APITokenCreatedWebhookEventEventType = "location.sharing.stopped"`

    - `const APITokenCreatedWebhookEventEventTypePaymentSucceeded APITokenCreatedWebhookEventEventType = "payment.succeeded"`

    - `const APITokenCreatedWebhookEventEventTypePaymentCanceled APITokenCreatedWebhookEventEventType = "payment.canceled"`

    - `const APITokenCreatedWebhookEventEventTypePaymentExpired APITokenCreatedWebhookEventEventType = "payment.expired"`

    - `const APITokenCreatedWebhookEventEventTypePaymentDeclined APITokenCreatedWebhookEventEventType = "payment.declined"`

    - `const APITokenCreatedWebhookEventEventTypePaymentAuthorized APITokenCreatedWebhookEventEventType = "payment.authorized"`

    - `const APITokenCreatedWebhookEventEventTypeConnectionCreated APITokenCreatedWebhookEventEventType = "connection.created"`

    - `const APITokenCreatedWebhookEventEventTypeConnectionRevoked APITokenCreatedWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### api_token.renamed

- `type APITokenRenamedWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data APITokenRenamedWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor APITokenRenamedWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const APITokenRenamedWebhookEventDataActorTypeTeamMember APITokenRenamedWebhookEventDataActorType = "team_member"`

        - `const APITokenRenamedWebhookEventDataActorTypeAPI APITokenRenamedWebhookEventDataActorType = "api"`

        - `const APITokenRenamedWebhookEventDataActorTypeSystem APITokenRenamedWebhookEventDataActorType = "system"`

        - `const APITokenRenamedWebhookEventDataActorTypeUnknown APITokenRenamedWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const APITokenRenamedWebhookEventDataOriginDashboard APITokenRenamedWebhookEventDataOrigin = "dashboard"`

      - `const APITokenRenamedWebhookEventDataOriginAPI APITokenRenamedWebhookEventDataOrigin = "api"`

      - `const APITokenRenamedWebhookEventDataOriginLinq APITokenRenamedWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken APITokenRenamedWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change APITokenRenamedWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName APITokenRenamedWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL APITokenRenamedWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName APITokenRenamedWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard APITokenRenamedWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment APITokenRenamedWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const APITokenRenamedWebhookEventDataEnvironmentTypeEnvironment APITokenRenamedWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const APITokenRenamedWebhookEventDataMethodCode APITokenRenamedWebhookEventDataMethod = "code"`

      - `const APITokenRenamedWebhookEventDataMethodSSO APITokenRenamedWebhookEventDataMethod = "sso"`

      - `const APITokenRenamedWebhookEventDataMethodGoogle APITokenRenamedWebhookEventDataMethod = "google"`

      - `const APITokenRenamedWebhookEventDataMethodApple APITokenRenamedWebhookEventDataMethod = "apple"`

      - `const APITokenRenamedWebhookEventDataMethodLinkedin APITokenRenamedWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember APITokenRenamedWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const APITokenRenamedWebhookEventDataTeamMemberRoleAdmin APITokenRenamedWebhookEventDataTeamMemberRole = "admin"`

        - `const APITokenRenamedWebhookEventDataTeamMemberRoleManager APITokenRenamedWebhookEventDataTeamMemberRole = "manager"`

        - `const APITokenRenamedWebhookEventDataTeamMemberRoleMember APITokenRenamedWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription APITokenRenamedWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType APITokenRenamedWebhookEventEventType`

    - `const APITokenRenamedWebhookEventEventTypeZeroDayRetentionUpdated APITokenRenamedWebhookEventEventType = "zero_day_retention.updated"`

    - `const APITokenRenamedWebhookEventEventTypePhoneNumberForwardingUpdated APITokenRenamedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const APITokenRenamedWebhookEventEventTypeEnvironmentLineMoved APITokenRenamedWebhookEventEventType = "environment.line_moved"`

    - `const APITokenRenamedWebhookEventEventTypeContactCardCreated APITokenRenamedWebhookEventEventType = "contact_card.created"`

    - `const APITokenRenamedWebhookEventEventTypeContactCardUpdated APITokenRenamedWebhookEventEventType = "contact_card.updated"`

    - `const APITokenRenamedWebhookEventEventTypeContactCardDeleted APITokenRenamedWebhookEventEventType = "contact_card.deleted"`

    - `const APITokenRenamedWebhookEventEventTypeAPITokenCreated APITokenRenamedWebhookEventEventType = "api_token.created"`

    - `const APITokenRenamedWebhookEventEventTypeAPITokenRenamed APITokenRenamedWebhookEventEventType = "api_token.renamed"`

    - `const APITokenRenamedWebhookEventEventTypeAPITokenExpiryScheduled APITokenRenamedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const APITokenRenamedWebhookEventEventTypeAPITokenExpired APITokenRenamedWebhookEventEventType = "api_token.expired"`

    - `const APITokenRenamedWebhookEventEventTypeAPITokenActivated APITokenRenamedWebhookEventEventType = "api_token.activated"`

    - `const APITokenRenamedWebhookEventEventTypeAPITokenDeleted APITokenRenamedWebhookEventEventType = "api_token.deleted"`

    - `const APITokenRenamedWebhookEventEventTypeEnvironmentCreated APITokenRenamedWebhookEventEventType = "environment.created"`

    - `const APITokenRenamedWebhookEventEventTypeEnvironmentRenamed APITokenRenamedWebhookEventEventType = "environment.renamed"`

    - `const APITokenRenamedWebhookEventEventTypeEnvironmentDeleted APITokenRenamedWebhookEventEventType = "environment.deleted"`

    - `const APITokenRenamedWebhookEventEventTypeWebhookSubscriptionCreated APITokenRenamedWebhookEventEventType = "webhook_subscription.created"`

    - `const APITokenRenamedWebhookEventEventTypeWebhookSubscriptionDeleted APITokenRenamedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const APITokenRenamedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged APITokenRenamedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const APITokenRenamedWebhookEventEventTypeWebhookSubscriptionEnabled APITokenRenamedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const APITokenRenamedWebhookEventEventTypeWebhookSubscriptionDisabled APITokenRenamedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const APITokenRenamedWebhookEventEventTypeWebhookSubscriptionEventsUpdated APITokenRenamedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const APITokenRenamedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated APITokenRenamedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const APITokenRenamedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet APITokenRenamedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const APITokenRenamedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared APITokenRenamedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const APITokenRenamedWebhookEventEventTypeTeamMemberAdded APITokenRenamedWebhookEventEventType = "team_member.added"`

    - `const APITokenRenamedWebhookEventEventTypeTeamMemberSignedIn APITokenRenamedWebhookEventEventType = "team_member.signed_in"`

    - `const APITokenRenamedWebhookEventEventTypeTeamMemberSignedOut APITokenRenamedWebhookEventEventType = "team_member.signed_out"`

    - `const APITokenRenamedWebhookEventEventTypeMessageSent APITokenRenamedWebhookEventEventType = "message.sent"`

    - `const APITokenRenamedWebhookEventEventTypeMessageReceived APITokenRenamedWebhookEventEventType = "message.received"`

    - `const APITokenRenamedWebhookEventEventTypeMessageRead APITokenRenamedWebhookEventEventType = "message.read"`

    - `const APITokenRenamedWebhookEventEventTypeMessageDelivered APITokenRenamedWebhookEventEventType = "message.delivered"`

    - `const APITokenRenamedWebhookEventEventTypeMessageFailed APITokenRenamedWebhookEventEventType = "message.failed"`

    - `const APITokenRenamedWebhookEventEventTypeMessageEdited APITokenRenamedWebhookEventEventType = "message.edited"`

    - `const APITokenRenamedWebhookEventEventTypeReactionAdded APITokenRenamedWebhookEventEventType = "reaction.added"`

    - `const APITokenRenamedWebhookEventEventTypeReactionRemoved APITokenRenamedWebhookEventEventType = "reaction.removed"`

    - `const APITokenRenamedWebhookEventEventTypePollReceived APITokenRenamedWebhookEventEventType = "poll.received"`

    - `const APITokenRenamedWebhookEventEventTypePollFailed APITokenRenamedWebhookEventEventType = "poll.failed"`

    - `const APITokenRenamedWebhookEventEventTypePollSent APITokenRenamedWebhookEventEventType = "poll.sent"`

    - `const APITokenRenamedWebhookEventEventTypePollDelivered APITokenRenamedWebhookEventEventType = "poll.delivered"`

    - `const APITokenRenamedWebhookEventEventTypePollRead APITokenRenamedWebhookEventEventType = "poll.read"`

    - `const APITokenRenamedWebhookEventEventTypePollUpdated APITokenRenamedWebhookEventEventType = "poll.updated"`

    - `const APITokenRenamedWebhookEventEventTypePollVoteAdded APITokenRenamedWebhookEventEventType = "poll.vote.added"`

    - `const APITokenRenamedWebhookEventEventTypePollVoteRemoved APITokenRenamedWebhookEventEventType = "poll.vote.removed"`

    - `const APITokenRenamedWebhookEventEventTypePollReactionAdded APITokenRenamedWebhookEventEventType = "poll.reaction.added"`

    - `const APITokenRenamedWebhookEventEventTypeParticipantAdded APITokenRenamedWebhookEventEventType = "participant.added"`

    - `const APITokenRenamedWebhookEventEventTypeParticipantRemoved APITokenRenamedWebhookEventEventType = "participant.removed"`

    - `const APITokenRenamedWebhookEventEventTypeChatCreated APITokenRenamedWebhookEventEventType = "chat.created"`

    - `const APITokenRenamedWebhookEventEventTypeChatGroupNameUpdated APITokenRenamedWebhookEventEventType = "chat.group_name_updated"`

    - `const APITokenRenamedWebhookEventEventTypeChatGroupIconUpdated APITokenRenamedWebhookEventEventType = "chat.group_icon_updated"`

    - `const APITokenRenamedWebhookEventEventTypeChatGroupNameUpdateFailed APITokenRenamedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const APITokenRenamedWebhookEventEventTypeChatGroupIconUpdateFailed APITokenRenamedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const APITokenRenamedWebhookEventEventTypeChatBackgroundUpdated APITokenRenamedWebhookEventEventType = "chat.background_updated"`

    - `const APITokenRenamedWebhookEventEventTypeChatBackgroundUpdateFailed APITokenRenamedWebhookEventEventType = "chat.background_update_failed"`

    - `const APITokenRenamedWebhookEventEventTypeChatTypingIndicatorStarted APITokenRenamedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const APITokenRenamedWebhookEventEventTypeChatTypingIndicatorStopped APITokenRenamedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const APITokenRenamedWebhookEventEventTypePhoneNumberStatusUpdated APITokenRenamedWebhookEventEventType = "phone_number.status_updated"`

    - `const APITokenRenamedWebhookEventEventTypePhoneNumberAssigned APITokenRenamedWebhookEventEventType = "phone_number.assigned"`

    - `const APITokenRenamedWebhookEventEventTypePhoneNumberReleased APITokenRenamedWebhookEventEventType = "phone_number.released"`

    - `const APITokenRenamedWebhookEventEventTypePhoneNumberLineTypeUpdated APITokenRenamedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const APITokenRenamedWebhookEventEventTypeContactCardReceived APITokenRenamedWebhookEventEventType = "contact_card.received"`

    - `const APITokenRenamedWebhookEventEventTypeCallInitiated APITokenRenamedWebhookEventEventType = "call.initiated"`

    - `const APITokenRenamedWebhookEventEventTypeCallRinging APITokenRenamedWebhookEventEventType = "call.ringing"`

    - `const APITokenRenamedWebhookEventEventTypeCallAnswered APITokenRenamedWebhookEventEventType = "call.answered"`

    - `const APITokenRenamedWebhookEventEventTypeCallEnded APITokenRenamedWebhookEventEventType = "call.ended"`

    - `const APITokenRenamedWebhookEventEventTypeCallFailed APITokenRenamedWebhookEventEventType = "call.failed"`

    - `const APITokenRenamedWebhookEventEventTypeCallDeclined APITokenRenamedWebhookEventEventType = "call.declined"`

    - `const APITokenRenamedWebhookEventEventTypeCallNoAnswer APITokenRenamedWebhookEventEventType = "call.no_answer"`

    - `const APITokenRenamedWebhookEventEventTypeLocationSharingStarted APITokenRenamedWebhookEventEventType = "location.sharing.started"`

    - `const APITokenRenamedWebhookEventEventTypeLocationSharingStopped APITokenRenamedWebhookEventEventType = "location.sharing.stopped"`

    - `const APITokenRenamedWebhookEventEventTypePaymentSucceeded APITokenRenamedWebhookEventEventType = "payment.succeeded"`

    - `const APITokenRenamedWebhookEventEventTypePaymentCanceled APITokenRenamedWebhookEventEventType = "payment.canceled"`

    - `const APITokenRenamedWebhookEventEventTypePaymentExpired APITokenRenamedWebhookEventEventType = "payment.expired"`

    - `const APITokenRenamedWebhookEventEventTypePaymentDeclined APITokenRenamedWebhookEventEventType = "payment.declined"`

    - `const APITokenRenamedWebhookEventEventTypePaymentAuthorized APITokenRenamedWebhookEventEventType = "payment.authorized"`

    - `const APITokenRenamedWebhookEventEventTypeConnectionCreated APITokenRenamedWebhookEventEventType = "connection.created"`

    - `const APITokenRenamedWebhookEventEventTypeConnectionRevoked APITokenRenamedWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### api_token.expiry_scheduled

- `type APITokenExpiryScheduledWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data APITokenExpiryScheduledWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor APITokenExpiryScheduledWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const APITokenExpiryScheduledWebhookEventDataActorTypeTeamMember APITokenExpiryScheduledWebhookEventDataActorType = "team_member"`

        - `const APITokenExpiryScheduledWebhookEventDataActorTypeAPI APITokenExpiryScheduledWebhookEventDataActorType = "api"`

        - `const APITokenExpiryScheduledWebhookEventDataActorTypeSystem APITokenExpiryScheduledWebhookEventDataActorType = "system"`

        - `const APITokenExpiryScheduledWebhookEventDataActorTypeUnknown APITokenExpiryScheduledWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const APITokenExpiryScheduledWebhookEventDataOriginDashboard APITokenExpiryScheduledWebhookEventDataOrigin = "dashboard"`

      - `const APITokenExpiryScheduledWebhookEventDataOriginAPI APITokenExpiryScheduledWebhookEventDataOrigin = "api"`

      - `const APITokenExpiryScheduledWebhookEventDataOriginLinq APITokenExpiryScheduledWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken APITokenExpiryScheduledWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change APITokenExpiryScheduledWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName APITokenExpiryScheduledWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL APITokenExpiryScheduledWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName APITokenExpiryScheduledWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard APITokenExpiryScheduledWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment APITokenExpiryScheduledWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const APITokenExpiryScheduledWebhookEventDataEnvironmentTypeEnvironment APITokenExpiryScheduledWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const APITokenExpiryScheduledWebhookEventDataMethodCode APITokenExpiryScheduledWebhookEventDataMethod = "code"`

      - `const APITokenExpiryScheduledWebhookEventDataMethodSSO APITokenExpiryScheduledWebhookEventDataMethod = "sso"`

      - `const APITokenExpiryScheduledWebhookEventDataMethodGoogle APITokenExpiryScheduledWebhookEventDataMethod = "google"`

      - `const APITokenExpiryScheduledWebhookEventDataMethodApple APITokenExpiryScheduledWebhookEventDataMethod = "apple"`

      - `const APITokenExpiryScheduledWebhookEventDataMethodLinkedin APITokenExpiryScheduledWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember APITokenExpiryScheduledWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const APITokenExpiryScheduledWebhookEventDataTeamMemberRoleAdmin APITokenExpiryScheduledWebhookEventDataTeamMemberRole = "admin"`

        - `const APITokenExpiryScheduledWebhookEventDataTeamMemberRoleManager APITokenExpiryScheduledWebhookEventDataTeamMemberRole = "manager"`

        - `const APITokenExpiryScheduledWebhookEventDataTeamMemberRoleMember APITokenExpiryScheduledWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription APITokenExpiryScheduledWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType APITokenExpiryScheduledWebhookEventEventType`

    - `const APITokenExpiryScheduledWebhookEventEventTypeZeroDayRetentionUpdated APITokenExpiryScheduledWebhookEventEventType = "zero_day_retention.updated"`

    - `const APITokenExpiryScheduledWebhookEventEventTypePhoneNumberForwardingUpdated APITokenExpiryScheduledWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeEnvironmentLineMoved APITokenExpiryScheduledWebhookEventEventType = "environment.line_moved"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeContactCardCreated APITokenExpiryScheduledWebhookEventEventType = "contact_card.created"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeContactCardUpdated APITokenExpiryScheduledWebhookEventEventType = "contact_card.updated"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeContactCardDeleted APITokenExpiryScheduledWebhookEventEventType = "contact_card.deleted"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeAPITokenCreated APITokenExpiryScheduledWebhookEventEventType = "api_token.created"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeAPITokenRenamed APITokenExpiryScheduledWebhookEventEventType = "api_token.renamed"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeAPITokenExpiryScheduled APITokenExpiryScheduledWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeAPITokenExpired APITokenExpiryScheduledWebhookEventEventType = "api_token.expired"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeAPITokenActivated APITokenExpiryScheduledWebhookEventEventType = "api_token.activated"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeAPITokenDeleted APITokenExpiryScheduledWebhookEventEventType = "api_token.deleted"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeEnvironmentCreated APITokenExpiryScheduledWebhookEventEventType = "environment.created"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeEnvironmentRenamed APITokenExpiryScheduledWebhookEventEventType = "environment.renamed"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeEnvironmentDeleted APITokenExpiryScheduledWebhookEventEventType = "environment.deleted"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeWebhookSubscriptionCreated APITokenExpiryScheduledWebhookEventEventType = "webhook_subscription.created"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeWebhookSubscriptionDeleted APITokenExpiryScheduledWebhookEventEventType = "webhook_subscription.deleted"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeWebhookSubscriptionTargetURLChanged APITokenExpiryScheduledWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeWebhookSubscriptionEnabled APITokenExpiryScheduledWebhookEventEventType = "webhook_subscription.enabled"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeWebhookSubscriptionDisabled APITokenExpiryScheduledWebhookEventEventType = "webhook_subscription.disabled"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeWebhookSubscriptionEventsUpdated APITokenExpiryScheduledWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated APITokenExpiryScheduledWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet APITokenExpiryScheduledWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared APITokenExpiryScheduledWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeTeamMemberAdded APITokenExpiryScheduledWebhookEventEventType = "team_member.added"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeTeamMemberSignedIn APITokenExpiryScheduledWebhookEventEventType = "team_member.signed_in"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeTeamMemberSignedOut APITokenExpiryScheduledWebhookEventEventType = "team_member.signed_out"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeMessageSent APITokenExpiryScheduledWebhookEventEventType = "message.sent"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeMessageReceived APITokenExpiryScheduledWebhookEventEventType = "message.received"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeMessageRead APITokenExpiryScheduledWebhookEventEventType = "message.read"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeMessageDelivered APITokenExpiryScheduledWebhookEventEventType = "message.delivered"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeMessageFailed APITokenExpiryScheduledWebhookEventEventType = "message.failed"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeMessageEdited APITokenExpiryScheduledWebhookEventEventType = "message.edited"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeReactionAdded APITokenExpiryScheduledWebhookEventEventType = "reaction.added"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeReactionRemoved APITokenExpiryScheduledWebhookEventEventType = "reaction.removed"`

    - `const APITokenExpiryScheduledWebhookEventEventTypePollReceived APITokenExpiryScheduledWebhookEventEventType = "poll.received"`

    - `const APITokenExpiryScheduledWebhookEventEventTypePollFailed APITokenExpiryScheduledWebhookEventEventType = "poll.failed"`

    - `const APITokenExpiryScheduledWebhookEventEventTypePollSent APITokenExpiryScheduledWebhookEventEventType = "poll.sent"`

    - `const APITokenExpiryScheduledWebhookEventEventTypePollDelivered APITokenExpiryScheduledWebhookEventEventType = "poll.delivered"`

    - `const APITokenExpiryScheduledWebhookEventEventTypePollRead APITokenExpiryScheduledWebhookEventEventType = "poll.read"`

    - `const APITokenExpiryScheduledWebhookEventEventTypePollUpdated APITokenExpiryScheduledWebhookEventEventType = "poll.updated"`

    - `const APITokenExpiryScheduledWebhookEventEventTypePollVoteAdded APITokenExpiryScheduledWebhookEventEventType = "poll.vote.added"`

    - `const APITokenExpiryScheduledWebhookEventEventTypePollVoteRemoved APITokenExpiryScheduledWebhookEventEventType = "poll.vote.removed"`

    - `const APITokenExpiryScheduledWebhookEventEventTypePollReactionAdded APITokenExpiryScheduledWebhookEventEventType = "poll.reaction.added"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeParticipantAdded APITokenExpiryScheduledWebhookEventEventType = "participant.added"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeParticipantRemoved APITokenExpiryScheduledWebhookEventEventType = "participant.removed"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeChatCreated APITokenExpiryScheduledWebhookEventEventType = "chat.created"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeChatGroupNameUpdated APITokenExpiryScheduledWebhookEventEventType = "chat.group_name_updated"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeChatGroupIconUpdated APITokenExpiryScheduledWebhookEventEventType = "chat.group_icon_updated"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeChatGroupNameUpdateFailed APITokenExpiryScheduledWebhookEventEventType = "chat.group_name_update_failed"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeChatGroupIconUpdateFailed APITokenExpiryScheduledWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeChatBackgroundUpdated APITokenExpiryScheduledWebhookEventEventType = "chat.background_updated"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeChatBackgroundUpdateFailed APITokenExpiryScheduledWebhookEventEventType = "chat.background_update_failed"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeChatTypingIndicatorStarted APITokenExpiryScheduledWebhookEventEventType = "chat.typing_indicator.started"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeChatTypingIndicatorStopped APITokenExpiryScheduledWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const APITokenExpiryScheduledWebhookEventEventTypePhoneNumberStatusUpdated APITokenExpiryScheduledWebhookEventEventType = "phone_number.status_updated"`

    - `const APITokenExpiryScheduledWebhookEventEventTypePhoneNumberAssigned APITokenExpiryScheduledWebhookEventEventType = "phone_number.assigned"`

    - `const APITokenExpiryScheduledWebhookEventEventTypePhoneNumberReleased APITokenExpiryScheduledWebhookEventEventType = "phone_number.released"`

    - `const APITokenExpiryScheduledWebhookEventEventTypePhoneNumberLineTypeUpdated APITokenExpiryScheduledWebhookEventEventType = "phone_number.line_type_updated"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeContactCardReceived APITokenExpiryScheduledWebhookEventEventType = "contact_card.received"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeCallInitiated APITokenExpiryScheduledWebhookEventEventType = "call.initiated"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeCallRinging APITokenExpiryScheduledWebhookEventEventType = "call.ringing"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeCallAnswered APITokenExpiryScheduledWebhookEventEventType = "call.answered"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeCallEnded APITokenExpiryScheduledWebhookEventEventType = "call.ended"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeCallFailed APITokenExpiryScheduledWebhookEventEventType = "call.failed"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeCallDeclined APITokenExpiryScheduledWebhookEventEventType = "call.declined"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeCallNoAnswer APITokenExpiryScheduledWebhookEventEventType = "call.no_answer"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeLocationSharingStarted APITokenExpiryScheduledWebhookEventEventType = "location.sharing.started"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeLocationSharingStopped APITokenExpiryScheduledWebhookEventEventType = "location.sharing.stopped"`

    - `const APITokenExpiryScheduledWebhookEventEventTypePaymentSucceeded APITokenExpiryScheduledWebhookEventEventType = "payment.succeeded"`

    - `const APITokenExpiryScheduledWebhookEventEventTypePaymentCanceled APITokenExpiryScheduledWebhookEventEventType = "payment.canceled"`

    - `const APITokenExpiryScheduledWebhookEventEventTypePaymentExpired APITokenExpiryScheduledWebhookEventEventType = "payment.expired"`

    - `const APITokenExpiryScheduledWebhookEventEventTypePaymentDeclined APITokenExpiryScheduledWebhookEventEventType = "payment.declined"`

    - `const APITokenExpiryScheduledWebhookEventEventTypePaymentAuthorized APITokenExpiryScheduledWebhookEventEventType = "payment.authorized"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeConnectionCreated APITokenExpiryScheduledWebhookEventEventType = "connection.created"`

    - `const APITokenExpiryScheduledWebhookEventEventTypeConnectionRevoked APITokenExpiryScheduledWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### api_token.expired

- `type APITokenExpiredWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data APITokenExpiredWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor APITokenExpiredWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const APITokenExpiredWebhookEventDataActorTypeTeamMember APITokenExpiredWebhookEventDataActorType = "team_member"`

        - `const APITokenExpiredWebhookEventDataActorTypeAPI APITokenExpiredWebhookEventDataActorType = "api"`

        - `const APITokenExpiredWebhookEventDataActorTypeSystem APITokenExpiredWebhookEventDataActorType = "system"`

        - `const APITokenExpiredWebhookEventDataActorTypeUnknown APITokenExpiredWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const APITokenExpiredWebhookEventDataOriginDashboard APITokenExpiredWebhookEventDataOrigin = "dashboard"`

      - `const APITokenExpiredWebhookEventDataOriginAPI APITokenExpiredWebhookEventDataOrigin = "api"`

      - `const APITokenExpiredWebhookEventDataOriginLinq APITokenExpiredWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken APITokenExpiredWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change APITokenExpiredWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName APITokenExpiredWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL APITokenExpiredWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName APITokenExpiredWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard APITokenExpiredWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment APITokenExpiredWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const APITokenExpiredWebhookEventDataEnvironmentTypeEnvironment APITokenExpiredWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const APITokenExpiredWebhookEventDataMethodCode APITokenExpiredWebhookEventDataMethod = "code"`

      - `const APITokenExpiredWebhookEventDataMethodSSO APITokenExpiredWebhookEventDataMethod = "sso"`

      - `const APITokenExpiredWebhookEventDataMethodGoogle APITokenExpiredWebhookEventDataMethod = "google"`

      - `const APITokenExpiredWebhookEventDataMethodApple APITokenExpiredWebhookEventDataMethod = "apple"`

      - `const APITokenExpiredWebhookEventDataMethodLinkedin APITokenExpiredWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember APITokenExpiredWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const APITokenExpiredWebhookEventDataTeamMemberRoleAdmin APITokenExpiredWebhookEventDataTeamMemberRole = "admin"`

        - `const APITokenExpiredWebhookEventDataTeamMemberRoleManager APITokenExpiredWebhookEventDataTeamMemberRole = "manager"`

        - `const APITokenExpiredWebhookEventDataTeamMemberRoleMember APITokenExpiredWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription APITokenExpiredWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType APITokenExpiredWebhookEventEventType`

    - `const APITokenExpiredWebhookEventEventTypeZeroDayRetentionUpdated APITokenExpiredWebhookEventEventType = "zero_day_retention.updated"`

    - `const APITokenExpiredWebhookEventEventTypePhoneNumberForwardingUpdated APITokenExpiredWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const APITokenExpiredWebhookEventEventTypeEnvironmentLineMoved APITokenExpiredWebhookEventEventType = "environment.line_moved"`

    - `const APITokenExpiredWebhookEventEventTypeContactCardCreated APITokenExpiredWebhookEventEventType = "contact_card.created"`

    - `const APITokenExpiredWebhookEventEventTypeContactCardUpdated APITokenExpiredWebhookEventEventType = "contact_card.updated"`

    - `const APITokenExpiredWebhookEventEventTypeContactCardDeleted APITokenExpiredWebhookEventEventType = "contact_card.deleted"`

    - `const APITokenExpiredWebhookEventEventTypeAPITokenCreated APITokenExpiredWebhookEventEventType = "api_token.created"`

    - `const APITokenExpiredWebhookEventEventTypeAPITokenRenamed APITokenExpiredWebhookEventEventType = "api_token.renamed"`

    - `const APITokenExpiredWebhookEventEventTypeAPITokenExpiryScheduled APITokenExpiredWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const APITokenExpiredWebhookEventEventTypeAPITokenExpired APITokenExpiredWebhookEventEventType = "api_token.expired"`

    - `const APITokenExpiredWebhookEventEventTypeAPITokenActivated APITokenExpiredWebhookEventEventType = "api_token.activated"`

    - `const APITokenExpiredWebhookEventEventTypeAPITokenDeleted APITokenExpiredWebhookEventEventType = "api_token.deleted"`

    - `const APITokenExpiredWebhookEventEventTypeEnvironmentCreated APITokenExpiredWebhookEventEventType = "environment.created"`

    - `const APITokenExpiredWebhookEventEventTypeEnvironmentRenamed APITokenExpiredWebhookEventEventType = "environment.renamed"`

    - `const APITokenExpiredWebhookEventEventTypeEnvironmentDeleted APITokenExpiredWebhookEventEventType = "environment.deleted"`

    - `const APITokenExpiredWebhookEventEventTypeWebhookSubscriptionCreated APITokenExpiredWebhookEventEventType = "webhook_subscription.created"`

    - `const APITokenExpiredWebhookEventEventTypeWebhookSubscriptionDeleted APITokenExpiredWebhookEventEventType = "webhook_subscription.deleted"`

    - `const APITokenExpiredWebhookEventEventTypeWebhookSubscriptionTargetURLChanged APITokenExpiredWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const APITokenExpiredWebhookEventEventTypeWebhookSubscriptionEnabled APITokenExpiredWebhookEventEventType = "webhook_subscription.enabled"`

    - `const APITokenExpiredWebhookEventEventTypeWebhookSubscriptionDisabled APITokenExpiredWebhookEventEventType = "webhook_subscription.disabled"`

    - `const APITokenExpiredWebhookEventEventTypeWebhookSubscriptionEventsUpdated APITokenExpiredWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const APITokenExpiredWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated APITokenExpiredWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const APITokenExpiredWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet APITokenExpiredWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const APITokenExpiredWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared APITokenExpiredWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const APITokenExpiredWebhookEventEventTypeTeamMemberAdded APITokenExpiredWebhookEventEventType = "team_member.added"`

    - `const APITokenExpiredWebhookEventEventTypeTeamMemberSignedIn APITokenExpiredWebhookEventEventType = "team_member.signed_in"`

    - `const APITokenExpiredWebhookEventEventTypeTeamMemberSignedOut APITokenExpiredWebhookEventEventType = "team_member.signed_out"`

    - `const APITokenExpiredWebhookEventEventTypeMessageSent APITokenExpiredWebhookEventEventType = "message.sent"`

    - `const APITokenExpiredWebhookEventEventTypeMessageReceived APITokenExpiredWebhookEventEventType = "message.received"`

    - `const APITokenExpiredWebhookEventEventTypeMessageRead APITokenExpiredWebhookEventEventType = "message.read"`

    - `const APITokenExpiredWebhookEventEventTypeMessageDelivered APITokenExpiredWebhookEventEventType = "message.delivered"`

    - `const APITokenExpiredWebhookEventEventTypeMessageFailed APITokenExpiredWebhookEventEventType = "message.failed"`

    - `const APITokenExpiredWebhookEventEventTypeMessageEdited APITokenExpiredWebhookEventEventType = "message.edited"`

    - `const APITokenExpiredWebhookEventEventTypeReactionAdded APITokenExpiredWebhookEventEventType = "reaction.added"`

    - `const APITokenExpiredWebhookEventEventTypeReactionRemoved APITokenExpiredWebhookEventEventType = "reaction.removed"`

    - `const APITokenExpiredWebhookEventEventTypePollReceived APITokenExpiredWebhookEventEventType = "poll.received"`

    - `const APITokenExpiredWebhookEventEventTypePollFailed APITokenExpiredWebhookEventEventType = "poll.failed"`

    - `const APITokenExpiredWebhookEventEventTypePollSent APITokenExpiredWebhookEventEventType = "poll.sent"`

    - `const APITokenExpiredWebhookEventEventTypePollDelivered APITokenExpiredWebhookEventEventType = "poll.delivered"`

    - `const APITokenExpiredWebhookEventEventTypePollRead APITokenExpiredWebhookEventEventType = "poll.read"`

    - `const APITokenExpiredWebhookEventEventTypePollUpdated APITokenExpiredWebhookEventEventType = "poll.updated"`

    - `const APITokenExpiredWebhookEventEventTypePollVoteAdded APITokenExpiredWebhookEventEventType = "poll.vote.added"`

    - `const APITokenExpiredWebhookEventEventTypePollVoteRemoved APITokenExpiredWebhookEventEventType = "poll.vote.removed"`

    - `const APITokenExpiredWebhookEventEventTypePollReactionAdded APITokenExpiredWebhookEventEventType = "poll.reaction.added"`

    - `const APITokenExpiredWebhookEventEventTypeParticipantAdded APITokenExpiredWebhookEventEventType = "participant.added"`

    - `const APITokenExpiredWebhookEventEventTypeParticipantRemoved APITokenExpiredWebhookEventEventType = "participant.removed"`

    - `const APITokenExpiredWebhookEventEventTypeChatCreated APITokenExpiredWebhookEventEventType = "chat.created"`

    - `const APITokenExpiredWebhookEventEventTypeChatGroupNameUpdated APITokenExpiredWebhookEventEventType = "chat.group_name_updated"`

    - `const APITokenExpiredWebhookEventEventTypeChatGroupIconUpdated APITokenExpiredWebhookEventEventType = "chat.group_icon_updated"`

    - `const APITokenExpiredWebhookEventEventTypeChatGroupNameUpdateFailed APITokenExpiredWebhookEventEventType = "chat.group_name_update_failed"`

    - `const APITokenExpiredWebhookEventEventTypeChatGroupIconUpdateFailed APITokenExpiredWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const APITokenExpiredWebhookEventEventTypeChatBackgroundUpdated APITokenExpiredWebhookEventEventType = "chat.background_updated"`

    - `const APITokenExpiredWebhookEventEventTypeChatBackgroundUpdateFailed APITokenExpiredWebhookEventEventType = "chat.background_update_failed"`

    - `const APITokenExpiredWebhookEventEventTypeChatTypingIndicatorStarted APITokenExpiredWebhookEventEventType = "chat.typing_indicator.started"`

    - `const APITokenExpiredWebhookEventEventTypeChatTypingIndicatorStopped APITokenExpiredWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const APITokenExpiredWebhookEventEventTypePhoneNumberStatusUpdated APITokenExpiredWebhookEventEventType = "phone_number.status_updated"`

    - `const APITokenExpiredWebhookEventEventTypePhoneNumberAssigned APITokenExpiredWebhookEventEventType = "phone_number.assigned"`

    - `const APITokenExpiredWebhookEventEventTypePhoneNumberReleased APITokenExpiredWebhookEventEventType = "phone_number.released"`

    - `const APITokenExpiredWebhookEventEventTypePhoneNumberLineTypeUpdated APITokenExpiredWebhookEventEventType = "phone_number.line_type_updated"`

    - `const APITokenExpiredWebhookEventEventTypeContactCardReceived APITokenExpiredWebhookEventEventType = "contact_card.received"`

    - `const APITokenExpiredWebhookEventEventTypeCallInitiated APITokenExpiredWebhookEventEventType = "call.initiated"`

    - `const APITokenExpiredWebhookEventEventTypeCallRinging APITokenExpiredWebhookEventEventType = "call.ringing"`

    - `const APITokenExpiredWebhookEventEventTypeCallAnswered APITokenExpiredWebhookEventEventType = "call.answered"`

    - `const APITokenExpiredWebhookEventEventTypeCallEnded APITokenExpiredWebhookEventEventType = "call.ended"`

    - `const APITokenExpiredWebhookEventEventTypeCallFailed APITokenExpiredWebhookEventEventType = "call.failed"`

    - `const APITokenExpiredWebhookEventEventTypeCallDeclined APITokenExpiredWebhookEventEventType = "call.declined"`

    - `const APITokenExpiredWebhookEventEventTypeCallNoAnswer APITokenExpiredWebhookEventEventType = "call.no_answer"`

    - `const APITokenExpiredWebhookEventEventTypeLocationSharingStarted APITokenExpiredWebhookEventEventType = "location.sharing.started"`

    - `const APITokenExpiredWebhookEventEventTypeLocationSharingStopped APITokenExpiredWebhookEventEventType = "location.sharing.stopped"`

    - `const APITokenExpiredWebhookEventEventTypePaymentSucceeded APITokenExpiredWebhookEventEventType = "payment.succeeded"`

    - `const APITokenExpiredWebhookEventEventTypePaymentCanceled APITokenExpiredWebhookEventEventType = "payment.canceled"`

    - `const APITokenExpiredWebhookEventEventTypePaymentExpired APITokenExpiredWebhookEventEventType = "payment.expired"`

    - `const APITokenExpiredWebhookEventEventTypePaymentDeclined APITokenExpiredWebhookEventEventType = "payment.declined"`

    - `const APITokenExpiredWebhookEventEventTypePaymentAuthorized APITokenExpiredWebhookEventEventType = "payment.authorized"`

    - `const APITokenExpiredWebhookEventEventTypeConnectionCreated APITokenExpiredWebhookEventEventType = "connection.created"`

    - `const APITokenExpiredWebhookEventEventTypeConnectionRevoked APITokenExpiredWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### api_token.activated

- `type APITokenActivatedWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data APITokenActivatedWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor APITokenActivatedWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const APITokenActivatedWebhookEventDataActorTypeTeamMember APITokenActivatedWebhookEventDataActorType = "team_member"`

        - `const APITokenActivatedWebhookEventDataActorTypeAPI APITokenActivatedWebhookEventDataActorType = "api"`

        - `const APITokenActivatedWebhookEventDataActorTypeSystem APITokenActivatedWebhookEventDataActorType = "system"`

        - `const APITokenActivatedWebhookEventDataActorTypeUnknown APITokenActivatedWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const APITokenActivatedWebhookEventDataOriginDashboard APITokenActivatedWebhookEventDataOrigin = "dashboard"`

      - `const APITokenActivatedWebhookEventDataOriginAPI APITokenActivatedWebhookEventDataOrigin = "api"`

      - `const APITokenActivatedWebhookEventDataOriginLinq APITokenActivatedWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken APITokenActivatedWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change APITokenActivatedWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName APITokenActivatedWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL APITokenActivatedWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName APITokenActivatedWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard APITokenActivatedWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment APITokenActivatedWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const APITokenActivatedWebhookEventDataEnvironmentTypeEnvironment APITokenActivatedWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const APITokenActivatedWebhookEventDataMethodCode APITokenActivatedWebhookEventDataMethod = "code"`

      - `const APITokenActivatedWebhookEventDataMethodSSO APITokenActivatedWebhookEventDataMethod = "sso"`

      - `const APITokenActivatedWebhookEventDataMethodGoogle APITokenActivatedWebhookEventDataMethod = "google"`

      - `const APITokenActivatedWebhookEventDataMethodApple APITokenActivatedWebhookEventDataMethod = "apple"`

      - `const APITokenActivatedWebhookEventDataMethodLinkedin APITokenActivatedWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember APITokenActivatedWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const APITokenActivatedWebhookEventDataTeamMemberRoleAdmin APITokenActivatedWebhookEventDataTeamMemberRole = "admin"`

        - `const APITokenActivatedWebhookEventDataTeamMemberRoleManager APITokenActivatedWebhookEventDataTeamMemberRole = "manager"`

        - `const APITokenActivatedWebhookEventDataTeamMemberRoleMember APITokenActivatedWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription APITokenActivatedWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType APITokenActivatedWebhookEventEventType`

    - `const APITokenActivatedWebhookEventEventTypeZeroDayRetentionUpdated APITokenActivatedWebhookEventEventType = "zero_day_retention.updated"`

    - `const APITokenActivatedWebhookEventEventTypePhoneNumberForwardingUpdated APITokenActivatedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const APITokenActivatedWebhookEventEventTypeEnvironmentLineMoved APITokenActivatedWebhookEventEventType = "environment.line_moved"`

    - `const APITokenActivatedWebhookEventEventTypeContactCardCreated APITokenActivatedWebhookEventEventType = "contact_card.created"`

    - `const APITokenActivatedWebhookEventEventTypeContactCardUpdated APITokenActivatedWebhookEventEventType = "contact_card.updated"`

    - `const APITokenActivatedWebhookEventEventTypeContactCardDeleted APITokenActivatedWebhookEventEventType = "contact_card.deleted"`

    - `const APITokenActivatedWebhookEventEventTypeAPITokenCreated APITokenActivatedWebhookEventEventType = "api_token.created"`

    - `const APITokenActivatedWebhookEventEventTypeAPITokenRenamed APITokenActivatedWebhookEventEventType = "api_token.renamed"`

    - `const APITokenActivatedWebhookEventEventTypeAPITokenExpiryScheduled APITokenActivatedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const APITokenActivatedWebhookEventEventTypeAPITokenExpired APITokenActivatedWebhookEventEventType = "api_token.expired"`

    - `const APITokenActivatedWebhookEventEventTypeAPITokenActivated APITokenActivatedWebhookEventEventType = "api_token.activated"`

    - `const APITokenActivatedWebhookEventEventTypeAPITokenDeleted APITokenActivatedWebhookEventEventType = "api_token.deleted"`

    - `const APITokenActivatedWebhookEventEventTypeEnvironmentCreated APITokenActivatedWebhookEventEventType = "environment.created"`

    - `const APITokenActivatedWebhookEventEventTypeEnvironmentRenamed APITokenActivatedWebhookEventEventType = "environment.renamed"`

    - `const APITokenActivatedWebhookEventEventTypeEnvironmentDeleted APITokenActivatedWebhookEventEventType = "environment.deleted"`

    - `const APITokenActivatedWebhookEventEventTypeWebhookSubscriptionCreated APITokenActivatedWebhookEventEventType = "webhook_subscription.created"`

    - `const APITokenActivatedWebhookEventEventTypeWebhookSubscriptionDeleted APITokenActivatedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const APITokenActivatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged APITokenActivatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const APITokenActivatedWebhookEventEventTypeWebhookSubscriptionEnabled APITokenActivatedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const APITokenActivatedWebhookEventEventTypeWebhookSubscriptionDisabled APITokenActivatedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const APITokenActivatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated APITokenActivatedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const APITokenActivatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated APITokenActivatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const APITokenActivatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet APITokenActivatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const APITokenActivatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared APITokenActivatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const APITokenActivatedWebhookEventEventTypeTeamMemberAdded APITokenActivatedWebhookEventEventType = "team_member.added"`

    - `const APITokenActivatedWebhookEventEventTypeTeamMemberSignedIn APITokenActivatedWebhookEventEventType = "team_member.signed_in"`

    - `const APITokenActivatedWebhookEventEventTypeTeamMemberSignedOut APITokenActivatedWebhookEventEventType = "team_member.signed_out"`

    - `const APITokenActivatedWebhookEventEventTypeMessageSent APITokenActivatedWebhookEventEventType = "message.sent"`

    - `const APITokenActivatedWebhookEventEventTypeMessageReceived APITokenActivatedWebhookEventEventType = "message.received"`

    - `const APITokenActivatedWebhookEventEventTypeMessageRead APITokenActivatedWebhookEventEventType = "message.read"`

    - `const APITokenActivatedWebhookEventEventTypeMessageDelivered APITokenActivatedWebhookEventEventType = "message.delivered"`

    - `const APITokenActivatedWebhookEventEventTypeMessageFailed APITokenActivatedWebhookEventEventType = "message.failed"`

    - `const APITokenActivatedWebhookEventEventTypeMessageEdited APITokenActivatedWebhookEventEventType = "message.edited"`

    - `const APITokenActivatedWebhookEventEventTypeReactionAdded APITokenActivatedWebhookEventEventType = "reaction.added"`

    - `const APITokenActivatedWebhookEventEventTypeReactionRemoved APITokenActivatedWebhookEventEventType = "reaction.removed"`

    - `const APITokenActivatedWebhookEventEventTypePollReceived APITokenActivatedWebhookEventEventType = "poll.received"`

    - `const APITokenActivatedWebhookEventEventTypePollFailed APITokenActivatedWebhookEventEventType = "poll.failed"`

    - `const APITokenActivatedWebhookEventEventTypePollSent APITokenActivatedWebhookEventEventType = "poll.sent"`

    - `const APITokenActivatedWebhookEventEventTypePollDelivered APITokenActivatedWebhookEventEventType = "poll.delivered"`

    - `const APITokenActivatedWebhookEventEventTypePollRead APITokenActivatedWebhookEventEventType = "poll.read"`

    - `const APITokenActivatedWebhookEventEventTypePollUpdated APITokenActivatedWebhookEventEventType = "poll.updated"`

    - `const APITokenActivatedWebhookEventEventTypePollVoteAdded APITokenActivatedWebhookEventEventType = "poll.vote.added"`

    - `const APITokenActivatedWebhookEventEventTypePollVoteRemoved APITokenActivatedWebhookEventEventType = "poll.vote.removed"`

    - `const APITokenActivatedWebhookEventEventTypePollReactionAdded APITokenActivatedWebhookEventEventType = "poll.reaction.added"`

    - `const APITokenActivatedWebhookEventEventTypeParticipantAdded APITokenActivatedWebhookEventEventType = "participant.added"`

    - `const APITokenActivatedWebhookEventEventTypeParticipantRemoved APITokenActivatedWebhookEventEventType = "participant.removed"`

    - `const APITokenActivatedWebhookEventEventTypeChatCreated APITokenActivatedWebhookEventEventType = "chat.created"`

    - `const APITokenActivatedWebhookEventEventTypeChatGroupNameUpdated APITokenActivatedWebhookEventEventType = "chat.group_name_updated"`

    - `const APITokenActivatedWebhookEventEventTypeChatGroupIconUpdated APITokenActivatedWebhookEventEventType = "chat.group_icon_updated"`

    - `const APITokenActivatedWebhookEventEventTypeChatGroupNameUpdateFailed APITokenActivatedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const APITokenActivatedWebhookEventEventTypeChatGroupIconUpdateFailed APITokenActivatedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const APITokenActivatedWebhookEventEventTypeChatBackgroundUpdated APITokenActivatedWebhookEventEventType = "chat.background_updated"`

    - `const APITokenActivatedWebhookEventEventTypeChatBackgroundUpdateFailed APITokenActivatedWebhookEventEventType = "chat.background_update_failed"`

    - `const APITokenActivatedWebhookEventEventTypeChatTypingIndicatorStarted APITokenActivatedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const APITokenActivatedWebhookEventEventTypeChatTypingIndicatorStopped APITokenActivatedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const APITokenActivatedWebhookEventEventTypePhoneNumberStatusUpdated APITokenActivatedWebhookEventEventType = "phone_number.status_updated"`

    - `const APITokenActivatedWebhookEventEventTypePhoneNumberAssigned APITokenActivatedWebhookEventEventType = "phone_number.assigned"`

    - `const APITokenActivatedWebhookEventEventTypePhoneNumberReleased APITokenActivatedWebhookEventEventType = "phone_number.released"`

    - `const APITokenActivatedWebhookEventEventTypePhoneNumberLineTypeUpdated APITokenActivatedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const APITokenActivatedWebhookEventEventTypeContactCardReceived APITokenActivatedWebhookEventEventType = "contact_card.received"`

    - `const APITokenActivatedWebhookEventEventTypeCallInitiated APITokenActivatedWebhookEventEventType = "call.initiated"`

    - `const APITokenActivatedWebhookEventEventTypeCallRinging APITokenActivatedWebhookEventEventType = "call.ringing"`

    - `const APITokenActivatedWebhookEventEventTypeCallAnswered APITokenActivatedWebhookEventEventType = "call.answered"`

    - `const APITokenActivatedWebhookEventEventTypeCallEnded APITokenActivatedWebhookEventEventType = "call.ended"`

    - `const APITokenActivatedWebhookEventEventTypeCallFailed APITokenActivatedWebhookEventEventType = "call.failed"`

    - `const APITokenActivatedWebhookEventEventTypeCallDeclined APITokenActivatedWebhookEventEventType = "call.declined"`

    - `const APITokenActivatedWebhookEventEventTypeCallNoAnswer APITokenActivatedWebhookEventEventType = "call.no_answer"`

    - `const APITokenActivatedWebhookEventEventTypeLocationSharingStarted APITokenActivatedWebhookEventEventType = "location.sharing.started"`

    - `const APITokenActivatedWebhookEventEventTypeLocationSharingStopped APITokenActivatedWebhookEventEventType = "location.sharing.stopped"`

    - `const APITokenActivatedWebhookEventEventTypePaymentSucceeded APITokenActivatedWebhookEventEventType = "payment.succeeded"`

    - `const APITokenActivatedWebhookEventEventTypePaymentCanceled APITokenActivatedWebhookEventEventType = "payment.canceled"`

    - `const APITokenActivatedWebhookEventEventTypePaymentExpired APITokenActivatedWebhookEventEventType = "payment.expired"`

    - `const APITokenActivatedWebhookEventEventTypePaymentDeclined APITokenActivatedWebhookEventEventType = "payment.declined"`

    - `const APITokenActivatedWebhookEventEventTypePaymentAuthorized APITokenActivatedWebhookEventEventType = "payment.authorized"`

    - `const APITokenActivatedWebhookEventEventTypeConnectionCreated APITokenActivatedWebhookEventEventType = "connection.created"`

    - `const APITokenActivatedWebhookEventEventTypeConnectionRevoked APITokenActivatedWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### api_token.deleted

- `type APITokenDeletedWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data APITokenDeletedWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor APITokenDeletedWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const APITokenDeletedWebhookEventDataActorTypeTeamMember APITokenDeletedWebhookEventDataActorType = "team_member"`

        - `const APITokenDeletedWebhookEventDataActorTypeAPI APITokenDeletedWebhookEventDataActorType = "api"`

        - `const APITokenDeletedWebhookEventDataActorTypeSystem APITokenDeletedWebhookEventDataActorType = "system"`

        - `const APITokenDeletedWebhookEventDataActorTypeUnknown APITokenDeletedWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const APITokenDeletedWebhookEventDataOriginDashboard APITokenDeletedWebhookEventDataOrigin = "dashboard"`

      - `const APITokenDeletedWebhookEventDataOriginAPI APITokenDeletedWebhookEventDataOrigin = "api"`

      - `const APITokenDeletedWebhookEventDataOriginLinq APITokenDeletedWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken APITokenDeletedWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change APITokenDeletedWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName APITokenDeletedWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL APITokenDeletedWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName APITokenDeletedWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard APITokenDeletedWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment APITokenDeletedWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const APITokenDeletedWebhookEventDataEnvironmentTypeEnvironment APITokenDeletedWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const APITokenDeletedWebhookEventDataMethodCode APITokenDeletedWebhookEventDataMethod = "code"`

      - `const APITokenDeletedWebhookEventDataMethodSSO APITokenDeletedWebhookEventDataMethod = "sso"`

      - `const APITokenDeletedWebhookEventDataMethodGoogle APITokenDeletedWebhookEventDataMethod = "google"`

      - `const APITokenDeletedWebhookEventDataMethodApple APITokenDeletedWebhookEventDataMethod = "apple"`

      - `const APITokenDeletedWebhookEventDataMethodLinkedin APITokenDeletedWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember APITokenDeletedWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const APITokenDeletedWebhookEventDataTeamMemberRoleAdmin APITokenDeletedWebhookEventDataTeamMemberRole = "admin"`

        - `const APITokenDeletedWebhookEventDataTeamMemberRoleManager APITokenDeletedWebhookEventDataTeamMemberRole = "manager"`

        - `const APITokenDeletedWebhookEventDataTeamMemberRoleMember APITokenDeletedWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription APITokenDeletedWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType APITokenDeletedWebhookEventEventType`

    - `const APITokenDeletedWebhookEventEventTypeZeroDayRetentionUpdated APITokenDeletedWebhookEventEventType = "zero_day_retention.updated"`

    - `const APITokenDeletedWebhookEventEventTypePhoneNumberForwardingUpdated APITokenDeletedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const APITokenDeletedWebhookEventEventTypeEnvironmentLineMoved APITokenDeletedWebhookEventEventType = "environment.line_moved"`

    - `const APITokenDeletedWebhookEventEventTypeContactCardCreated APITokenDeletedWebhookEventEventType = "contact_card.created"`

    - `const APITokenDeletedWebhookEventEventTypeContactCardUpdated APITokenDeletedWebhookEventEventType = "contact_card.updated"`

    - `const APITokenDeletedWebhookEventEventTypeContactCardDeleted APITokenDeletedWebhookEventEventType = "contact_card.deleted"`

    - `const APITokenDeletedWebhookEventEventTypeAPITokenCreated APITokenDeletedWebhookEventEventType = "api_token.created"`

    - `const APITokenDeletedWebhookEventEventTypeAPITokenRenamed APITokenDeletedWebhookEventEventType = "api_token.renamed"`

    - `const APITokenDeletedWebhookEventEventTypeAPITokenExpiryScheduled APITokenDeletedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const APITokenDeletedWebhookEventEventTypeAPITokenExpired APITokenDeletedWebhookEventEventType = "api_token.expired"`

    - `const APITokenDeletedWebhookEventEventTypeAPITokenActivated APITokenDeletedWebhookEventEventType = "api_token.activated"`

    - `const APITokenDeletedWebhookEventEventTypeAPITokenDeleted APITokenDeletedWebhookEventEventType = "api_token.deleted"`

    - `const APITokenDeletedWebhookEventEventTypeEnvironmentCreated APITokenDeletedWebhookEventEventType = "environment.created"`

    - `const APITokenDeletedWebhookEventEventTypeEnvironmentRenamed APITokenDeletedWebhookEventEventType = "environment.renamed"`

    - `const APITokenDeletedWebhookEventEventTypeEnvironmentDeleted APITokenDeletedWebhookEventEventType = "environment.deleted"`

    - `const APITokenDeletedWebhookEventEventTypeWebhookSubscriptionCreated APITokenDeletedWebhookEventEventType = "webhook_subscription.created"`

    - `const APITokenDeletedWebhookEventEventTypeWebhookSubscriptionDeleted APITokenDeletedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const APITokenDeletedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged APITokenDeletedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const APITokenDeletedWebhookEventEventTypeWebhookSubscriptionEnabled APITokenDeletedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const APITokenDeletedWebhookEventEventTypeWebhookSubscriptionDisabled APITokenDeletedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const APITokenDeletedWebhookEventEventTypeWebhookSubscriptionEventsUpdated APITokenDeletedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const APITokenDeletedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated APITokenDeletedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const APITokenDeletedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet APITokenDeletedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const APITokenDeletedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared APITokenDeletedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const APITokenDeletedWebhookEventEventTypeTeamMemberAdded APITokenDeletedWebhookEventEventType = "team_member.added"`

    - `const APITokenDeletedWebhookEventEventTypeTeamMemberSignedIn APITokenDeletedWebhookEventEventType = "team_member.signed_in"`

    - `const APITokenDeletedWebhookEventEventTypeTeamMemberSignedOut APITokenDeletedWebhookEventEventType = "team_member.signed_out"`

    - `const APITokenDeletedWebhookEventEventTypeMessageSent APITokenDeletedWebhookEventEventType = "message.sent"`

    - `const APITokenDeletedWebhookEventEventTypeMessageReceived APITokenDeletedWebhookEventEventType = "message.received"`

    - `const APITokenDeletedWebhookEventEventTypeMessageRead APITokenDeletedWebhookEventEventType = "message.read"`

    - `const APITokenDeletedWebhookEventEventTypeMessageDelivered APITokenDeletedWebhookEventEventType = "message.delivered"`

    - `const APITokenDeletedWebhookEventEventTypeMessageFailed APITokenDeletedWebhookEventEventType = "message.failed"`

    - `const APITokenDeletedWebhookEventEventTypeMessageEdited APITokenDeletedWebhookEventEventType = "message.edited"`

    - `const APITokenDeletedWebhookEventEventTypeReactionAdded APITokenDeletedWebhookEventEventType = "reaction.added"`

    - `const APITokenDeletedWebhookEventEventTypeReactionRemoved APITokenDeletedWebhookEventEventType = "reaction.removed"`

    - `const APITokenDeletedWebhookEventEventTypePollReceived APITokenDeletedWebhookEventEventType = "poll.received"`

    - `const APITokenDeletedWebhookEventEventTypePollFailed APITokenDeletedWebhookEventEventType = "poll.failed"`

    - `const APITokenDeletedWebhookEventEventTypePollSent APITokenDeletedWebhookEventEventType = "poll.sent"`

    - `const APITokenDeletedWebhookEventEventTypePollDelivered APITokenDeletedWebhookEventEventType = "poll.delivered"`

    - `const APITokenDeletedWebhookEventEventTypePollRead APITokenDeletedWebhookEventEventType = "poll.read"`

    - `const APITokenDeletedWebhookEventEventTypePollUpdated APITokenDeletedWebhookEventEventType = "poll.updated"`

    - `const APITokenDeletedWebhookEventEventTypePollVoteAdded APITokenDeletedWebhookEventEventType = "poll.vote.added"`

    - `const APITokenDeletedWebhookEventEventTypePollVoteRemoved APITokenDeletedWebhookEventEventType = "poll.vote.removed"`

    - `const APITokenDeletedWebhookEventEventTypePollReactionAdded APITokenDeletedWebhookEventEventType = "poll.reaction.added"`

    - `const APITokenDeletedWebhookEventEventTypeParticipantAdded APITokenDeletedWebhookEventEventType = "participant.added"`

    - `const APITokenDeletedWebhookEventEventTypeParticipantRemoved APITokenDeletedWebhookEventEventType = "participant.removed"`

    - `const APITokenDeletedWebhookEventEventTypeChatCreated APITokenDeletedWebhookEventEventType = "chat.created"`

    - `const APITokenDeletedWebhookEventEventTypeChatGroupNameUpdated APITokenDeletedWebhookEventEventType = "chat.group_name_updated"`

    - `const APITokenDeletedWebhookEventEventTypeChatGroupIconUpdated APITokenDeletedWebhookEventEventType = "chat.group_icon_updated"`

    - `const APITokenDeletedWebhookEventEventTypeChatGroupNameUpdateFailed APITokenDeletedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const APITokenDeletedWebhookEventEventTypeChatGroupIconUpdateFailed APITokenDeletedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const APITokenDeletedWebhookEventEventTypeChatBackgroundUpdated APITokenDeletedWebhookEventEventType = "chat.background_updated"`

    - `const APITokenDeletedWebhookEventEventTypeChatBackgroundUpdateFailed APITokenDeletedWebhookEventEventType = "chat.background_update_failed"`

    - `const APITokenDeletedWebhookEventEventTypeChatTypingIndicatorStarted APITokenDeletedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const APITokenDeletedWebhookEventEventTypeChatTypingIndicatorStopped APITokenDeletedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const APITokenDeletedWebhookEventEventTypePhoneNumberStatusUpdated APITokenDeletedWebhookEventEventType = "phone_number.status_updated"`

    - `const APITokenDeletedWebhookEventEventTypePhoneNumberAssigned APITokenDeletedWebhookEventEventType = "phone_number.assigned"`

    - `const APITokenDeletedWebhookEventEventTypePhoneNumberReleased APITokenDeletedWebhookEventEventType = "phone_number.released"`

    - `const APITokenDeletedWebhookEventEventTypePhoneNumberLineTypeUpdated APITokenDeletedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const APITokenDeletedWebhookEventEventTypeContactCardReceived APITokenDeletedWebhookEventEventType = "contact_card.received"`

    - `const APITokenDeletedWebhookEventEventTypeCallInitiated APITokenDeletedWebhookEventEventType = "call.initiated"`

    - `const APITokenDeletedWebhookEventEventTypeCallRinging APITokenDeletedWebhookEventEventType = "call.ringing"`

    - `const APITokenDeletedWebhookEventEventTypeCallAnswered APITokenDeletedWebhookEventEventType = "call.answered"`

    - `const APITokenDeletedWebhookEventEventTypeCallEnded APITokenDeletedWebhookEventEventType = "call.ended"`

    - `const APITokenDeletedWebhookEventEventTypeCallFailed APITokenDeletedWebhookEventEventType = "call.failed"`

    - `const APITokenDeletedWebhookEventEventTypeCallDeclined APITokenDeletedWebhookEventEventType = "call.declined"`

    - `const APITokenDeletedWebhookEventEventTypeCallNoAnswer APITokenDeletedWebhookEventEventType = "call.no_answer"`

    - `const APITokenDeletedWebhookEventEventTypeLocationSharingStarted APITokenDeletedWebhookEventEventType = "location.sharing.started"`

    - `const APITokenDeletedWebhookEventEventTypeLocationSharingStopped APITokenDeletedWebhookEventEventType = "location.sharing.stopped"`

    - `const APITokenDeletedWebhookEventEventTypePaymentSucceeded APITokenDeletedWebhookEventEventType = "payment.succeeded"`

    - `const APITokenDeletedWebhookEventEventTypePaymentCanceled APITokenDeletedWebhookEventEventType = "payment.canceled"`

    - `const APITokenDeletedWebhookEventEventTypePaymentExpired APITokenDeletedWebhookEventEventType = "payment.expired"`

    - `const APITokenDeletedWebhookEventEventTypePaymentDeclined APITokenDeletedWebhookEventEventType = "payment.declined"`

    - `const APITokenDeletedWebhookEventEventTypePaymentAuthorized APITokenDeletedWebhookEventEventType = "payment.authorized"`

    - `const APITokenDeletedWebhookEventEventTypeConnectionCreated APITokenDeletedWebhookEventEventType = "connection.created"`

    - `const APITokenDeletedWebhookEventEventTypeConnectionRevoked APITokenDeletedWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### environment.created

- `type EnvironmentCreatedWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data EnvironmentCreatedWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor EnvironmentCreatedWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const EnvironmentCreatedWebhookEventDataActorTypeTeamMember EnvironmentCreatedWebhookEventDataActorType = "team_member"`

        - `const EnvironmentCreatedWebhookEventDataActorTypeAPI EnvironmentCreatedWebhookEventDataActorType = "api"`

        - `const EnvironmentCreatedWebhookEventDataActorTypeSystem EnvironmentCreatedWebhookEventDataActorType = "system"`

        - `const EnvironmentCreatedWebhookEventDataActorTypeUnknown EnvironmentCreatedWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const EnvironmentCreatedWebhookEventDataOriginDashboard EnvironmentCreatedWebhookEventDataOrigin = "dashboard"`

      - `const EnvironmentCreatedWebhookEventDataOriginAPI EnvironmentCreatedWebhookEventDataOrigin = "api"`

      - `const EnvironmentCreatedWebhookEventDataOriginLinq EnvironmentCreatedWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken EnvironmentCreatedWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change EnvironmentCreatedWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName EnvironmentCreatedWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL EnvironmentCreatedWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName EnvironmentCreatedWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard EnvironmentCreatedWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment EnvironmentCreatedWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const EnvironmentCreatedWebhookEventDataEnvironmentTypeEnvironment EnvironmentCreatedWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const EnvironmentCreatedWebhookEventDataMethodCode EnvironmentCreatedWebhookEventDataMethod = "code"`

      - `const EnvironmentCreatedWebhookEventDataMethodSSO EnvironmentCreatedWebhookEventDataMethod = "sso"`

      - `const EnvironmentCreatedWebhookEventDataMethodGoogle EnvironmentCreatedWebhookEventDataMethod = "google"`

      - `const EnvironmentCreatedWebhookEventDataMethodApple EnvironmentCreatedWebhookEventDataMethod = "apple"`

      - `const EnvironmentCreatedWebhookEventDataMethodLinkedin EnvironmentCreatedWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember EnvironmentCreatedWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const EnvironmentCreatedWebhookEventDataTeamMemberRoleAdmin EnvironmentCreatedWebhookEventDataTeamMemberRole = "admin"`

        - `const EnvironmentCreatedWebhookEventDataTeamMemberRoleManager EnvironmentCreatedWebhookEventDataTeamMemberRole = "manager"`

        - `const EnvironmentCreatedWebhookEventDataTeamMemberRoleMember EnvironmentCreatedWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription EnvironmentCreatedWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType EnvironmentCreatedWebhookEventEventType`

    - `const EnvironmentCreatedWebhookEventEventTypeZeroDayRetentionUpdated EnvironmentCreatedWebhookEventEventType = "zero_day_retention.updated"`

    - `const EnvironmentCreatedWebhookEventEventTypePhoneNumberForwardingUpdated EnvironmentCreatedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const EnvironmentCreatedWebhookEventEventTypeEnvironmentLineMoved EnvironmentCreatedWebhookEventEventType = "environment.line_moved"`

    - `const EnvironmentCreatedWebhookEventEventTypeContactCardCreated EnvironmentCreatedWebhookEventEventType = "contact_card.created"`

    - `const EnvironmentCreatedWebhookEventEventTypeContactCardUpdated EnvironmentCreatedWebhookEventEventType = "contact_card.updated"`

    - `const EnvironmentCreatedWebhookEventEventTypeContactCardDeleted EnvironmentCreatedWebhookEventEventType = "contact_card.deleted"`

    - `const EnvironmentCreatedWebhookEventEventTypeAPITokenCreated EnvironmentCreatedWebhookEventEventType = "api_token.created"`

    - `const EnvironmentCreatedWebhookEventEventTypeAPITokenRenamed EnvironmentCreatedWebhookEventEventType = "api_token.renamed"`

    - `const EnvironmentCreatedWebhookEventEventTypeAPITokenExpiryScheduled EnvironmentCreatedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const EnvironmentCreatedWebhookEventEventTypeAPITokenExpired EnvironmentCreatedWebhookEventEventType = "api_token.expired"`

    - `const EnvironmentCreatedWebhookEventEventTypeAPITokenActivated EnvironmentCreatedWebhookEventEventType = "api_token.activated"`

    - `const EnvironmentCreatedWebhookEventEventTypeAPITokenDeleted EnvironmentCreatedWebhookEventEventType = "api_token.deleted"`

    - `const EnvironmentCreatedWebhookEventEventTypeEnvironmentCreated EnvironmentCreatedWebhookEventEventType = "environment.created"`

    - `const EnvironmentCreatedWebhookEventEventTypeEnvironmentRenamed EnvironmentCreatedWebhookEventEventType = "environment.renamed"`

    - `const EnvironmentCreatedWebhookEventEventTypeEnvironmentDeleted EnvironmentCreatedWebhookEventEventType = "environment.deleted"`

    - `const EnvironmentCreatedWebhookEventEventTypeWebhookSubscriptionCreated EnvironmentCreatedWebhookEventEventType = "webhook_subscription.created"`

    - `const EnvironmentCreatedWebhookEventEventTypeWebhookSubscriptionDeleted EnvironmentCreatedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const EnvironmentCreatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged EnvironmentCreatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const EnvironmentCreatedWebhookEventEventTypeWebhookSubscriptionEnabled EnvironmentCreatedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const EnvironmentCreatedWebhookEventEventTypeWebhookSubscriptionDisabled EnvironmentCreatedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const EnvironmentCreatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated EnvironmentCreatedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const EnvironmentCreatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated EnvironmentCreatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const EnvironmentCreatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet EnvironmentCreatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const EnvironmentCreatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared EnvironmentCreatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const EnvironmentCreatedWebhookEventEventTypeTeamMemberAdded EnvironmentCreatedWebhookEventEventType = "team_member.added"`

    - `const EnvironmentCreatedWebhookEventEventTypeTeamMemberSignedIn EnvironmentCreatedWebhookEventEventType = "team_member.signed_in"`

    - `const EnvironmentCreatedWebhookEventEventTypeTeamMemberSignedOut EnvironmentCreatedWebhookEventEventType = "team_member.signed_out"`

    - `const EnvironmentCreatedWebhookEventEventTypeMessageSent EnvironmentCreatedWebhookEventEventType = "message.sent"`

    - `const EnvironmentCreatedWebhookEventEventTypeMessageReceived EnvironmentCreatedWebhookEventEventType = "message.received"`

    - `const EnvironmentCreatedWebhookEventEventTypeMessageRead EnvironmentCreatedWebhookEventEventType = "message.read"`

    - `const EnvironmentCreatedWebhookEventEventTypeMessageDelivered EnvironmentCreatedWebhookEventEventType = "message.delivered"`

    - `const EnvironmentCreatedWebhookEventEventTypeMessageFailed EnvironmentCreatedWebhookEventEventType = "message.failed"`

    - `const EnvironmentCreatedWebhookEventEventTypeMessageEdited EnvironmentCreatedWebhookEventEventType = "message.edited"`

    - `const EnvironmentCreatedWebhookEventEventTypeReactionAdded EnvironmentCreatedWebhookEventEventType = "reaction.added"`

    - `const EnvironmentCreatedWebhookEventEventTypeReactionRemoved EnvironmentCreatedWebhookEventEventType = "reaction.removed"`

    - `const EnvironmentCreatedWebhookEventEventTypePollReceived EnvironmentCreatedWebhookEventEventType = "poll.received"`

    - `const EnvironmentCreatedWebhookEventEventTypePollFailed EnvironmentCreatedWebhookEventEventType = "poll.failed"`

    - `const EnvironmentCreatedWebhookEventEventTypePollSent EnvironmentCreatedWebhookEventEventType = "poll.sent"`

    - `const EnvironmentCreatedWebhookEventEventTypePollDelivered EnvironmentCreatedWebhookEventEventType = "poll.delivered"`

    - `const EnvironmentCreatedWebhookEventEventTypePollRead EnvironmentCreatedWebhookEventEventType = "poll.read"`

    - `const EnvironmentCreatedWebhookEventEventTypePollUpdated EnvironmentCreatedWebhookEventEventType = "poll.updated"`

    - `const EnvironmentCreatedWebhookEventEventTypePollVoteAdded EnvironmentCreatedWebhookEventEventType = "poll.vote.added"`

    - `const EnvironmentCreatedWebhookEventEventTypePollVoteRemoved EnvironmentCreatedWebhookEventEventType = "poll.vote.removed"`

    - `const EnvironmentCreatedWebhookEventEventTypePollReactionAdded EnvironmentCreatedWebhookEventEventType = "poll.reaction.added"`

    - `const EnvironmentCreatedWebhookEventEventTypeParticipantAdded EnvironmentCreatedWebhookEventEventType = "participant.added"`

    - `const EnvironmentCreatedWebhookEventEventTypeParticipantRemoved EnvironmentCreatedWebhookEventEventType = "participant.removed"`

    - `const EnvironmentCreatedWebhookEventEventTypeChatCreated EnvironmentCreatedWebhookEventEventType = "chat.created"`

    - `const EnvironmentCreatedWebhookEventEventTypeChatGroupNameUpdated EnvironmentCreatedWebhookEventEventType = "chat.group_name_updated"`

    - `const EnvironmentCreatedWebhookEventEventTypeChatGroupIconUpdated EnvironmentCreatedWebhookEventEventType = "chat.group_icon_updated"`

    - `const EnvironmentCreatedWebhookEventEventTypeChatGroupNameUpdateFailed EnvironmentCreatedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const EnvironmentCreatedWebhookEventEventTypeChatGroupIconUpdateFailed EnvironmentCreatedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const EnvironmentCreatedWebhookEventEventTypeChatBackgroundUpdated EnvironmentCreatedWebhookEventEventType = "chat.background_updated"`

    - `const EnvironmentCreatedWebhookEventEventTypeChatBackgroundUpdateFailed EnvironmentCreatedWebhookEventEventType = "chat.background_update_failed"`

    - `const EnvironmentCreatedWebhookEventEventTypeChatTypingIndicatorStarted EnvironmentCreatedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const EnvironmentCreatedWebhookEventEventTypeChatTypingIndicatorStopped EnvironmentCreatedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const EnvironmentCreatedWebhookEventEventTypePhoneNumberStatusUpdated EnvironmentCreatedWebhookEventEventType = "phone_number.status_updated"`

    - `const EnvironmentCreatedWebhookEventEventTypePhoneNumberAssigned EnvironmentCreatedWebhookEventEventType = "phone_number.assigned"`

    - `const EnvironmentCreatedWebhookEventEventTypePhoneNumberReleased EnvironmentCreatedWebhookEventEventType = "phone_number.released"`

    - `const EnvironmentCreatedWebhookEventEventTypePhoneNumberLineTypeUpdated EnvironmentCreatedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const EnvironmentCreatedWebhookEventEventTypeContactCardReceived EnvironmentCreatedWebhookEventEventType = "contact_card.received"`

    - `const EnvironmentCreatedWebhookEventEventTypeCallInitiated EnvironmentCreatedWebhookEventEventType = "call.initiated"`

    - `const EnvironmentCreatedWebhookEventEventTypeCallRinging EnvironmentCreatedWebhookEventEventType = "call.ringing"`

    - `const EnvironmentCreatedWebhookEventEventTypeCallAnswered EnvironmentCreatedWebhookEventEventType = "call.answered"`

    - `const EnvironmentCreatedWebhookEventEventTypeCallEnded EnvironmentCreatedWebhookEventEventType = "call.ended"`

    - `const EnvironmentCreatedWebhookEventEventTypeCallFailed EnvironmentCreatedWebhookEventEventType = "call.failed"`

    - `const EnvironmentCreatedWebhookEventEventTypeCallDeclined EnvironmentCreatedWebhookEventEventType = "call.declined"`

    - `const EnvironmentCreatedWebhookEventEventTypeCallNoAnswer EnvironmentCreatedWebhookEventEventType = "call.no_answer"`

    - `const EnvironmentCreatedWebhookEventEventTypeLocationSharingStarted EnvironmentCreatedWebhookEventEventType = "location.sharing.started"`

    - `const EnvironmentCreatedWebhookEventEventTypeLocationSharingStopped EnvironmentCreatedWebhookEventEventType = "location.sharing.stopped"`

    - `const EnvironmentCreatedWebhookEventEventTypePaymentSucceeded EnvironmentCreatedWebhookEventEventType = "payment.succeeded"`

    - `const EnvironmentCreatedWebhookEventEventTypePaymentCanceled EnvironmentCreatedWebhookEventEventType = "payment.canceled"`

    - `const EnvironmentCreatedWebhookEventEventTypePaymentExpired EnvironmentCreatedWebhookEventEventType = "payment.expired"`

    - `const EnvironmentCreatedWebhookEventEventTypePaymentDeclined EnvironmentCreatedWebhookEventEventType = "payment.declined"`

    - `const EnvironmentCreatedWebhookEventEventTypePaymentAuthorized EnvironmentCreatedWebhookEventEventType = "payment.authorized"`

    - `const EnvironmentCreatedWebhookEventEventTypeConnectionCreated EnvironmentCreatedWebhookEventEventType = "connection.created"`

    - `const EnvironmentCreatedWebhookEventEventTypeConnectionRevoked EnvironmentCreatedWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### environment.renamed

- `type EnvironmentRenamedWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data EnvironmentRenamedWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor EnvironmentRenamedWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const EnvironmentRenamedWebhookEventDataActorTypeTeamMember EnvironmentRenamedWebhookEventDataActorType = "team_member"`

        - `const EnvironmentRenamedWebhookEventDataActorTypeAPI EnvironmentRenamedWebhookEventDataActorType = "api"`

        - `const EnvironmentRenamedWebhookEventDataActorTypeSystem EnvironmentRenamedWebhookEventDataActorType = "system"`

        - `const EnvironmentRenamedWebhookEventDataActorTypeUnknown EnvironmentRenamedWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const EnvironmentRenamedWebhookEventDataOriginDashboard EnvironmentRenamedWebhookEventDataOrigin = "dashboard"`

      - `const EnvironmentRenamedWebhookEventDataOriginAPI EnvironmentRenamedWebhookEventDataOrigin = "api"`

      - `const EnvironmentRenamedWebhookEventDataOriginLinq EnvironmentRenamedWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken EnvironmentRenamedWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change EnvironmentRenamedWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName EnvironmentRenamedWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL EnvironmentRenamedWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName EnvironmentRenamedWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard EnvironmentRenamedWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment EnvironmentRenamedWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const EnvironmentRenamedWebhookEventDataEnvironmentTypeEnvironment EnvironmentRenamedWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const EnvironmentRenamedWebhookEventDataMethodCode EnvironmentRenamedWebhookEventDataMethod = "code"`

      - `const EnvironmentRenamedWebhookEventDataMethodSSO EnvironmentRenamedWebhookEventDataMethod = "sso"`

      - `const EnvironmentRenamedWebhookEventDataMethodGoogle EnvironmentRenamedWebhookEventDataMethod = "google"`

      - `const EnvironmentRenamedWebhookEventDataMethodApple EnvironmentRenamedWebhookEventDataMethod = "apple"`

      - `const EnvironmentRenamedWebhookEventDataMethodLinkedin EnvironmentRenamedWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember EnvironmentRenamedWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const EnvironmentRenamedWebhookEventDataTeamMemberRoleAdmin EnvironmentRenamedWebhookEventDataTeamMemberRole = "admin"`

        - `const EnvironmentRenamedWebhookEventDataTeamMemberRoleManager EnvironmentRenamedWebhookEventDataTeamMemberRole = "manager"`

        - `const EnvironmentRenamedWebhookEventDataTeamMemberRoleMember EnvironmentRenamedWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription EnvironmentRenamedWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType EnvironmentRenamedWebhookEventEventType`

    - `const EnvironmentRenamedWebhookEventEventTypeZeroDayRetentionUpdated EnvironmentRenamedWebhookEventEventType = "zero_day_retention.updated"`

    - `const EnvironmentRenamedWebhookEventEventTypePhoneNumberForwardingUpdated EnvironmentRenamedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const EnvironmentRenamedWebhookEventEventTypeEnvironmentLineMoved EnvironmentRenamedWebhookEventEventType = "environment.line_moved"`

    - `const EnvironmentRenamedWebhookEventEventTypeContactCardCreated EnvironmentRenamedWebhookEventEventType = "contact_card.created"`

    - `const EnvironmentRenamedWebhookEventEventTypeContactCardUpdated EnvironmentRenamedWebhookEventEventType = "contact_card.updated"`

    - `const EnvironmentRenamedWebhookEventEventTypeContactCardDeleted EnvironmentRenamedWebhookEventEventType = "contact_card.deleted"`

    - `const EnvironmentRenamedWebhookEventEventTypeAPITokenCreated EnvironmentRenamedWebhookEventEventType = "api_token.created"`

    - `const EnvironmentRenamedWebhookEventEventTypeAPITokenRenamed EnvironmentRenamedWebhookEventEventType = "api_token.renamed"`

    - `const EnvironmentRenamedWebhookEventEventTypeAPITokenExpiryScheduled EnvironmentRenamedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const EnvironmentRenamedWebhookEventEventTypeAPITokenExpired EnvironmentRenamedWebhookEventEventType = "api_token.expired"`

    - `const EnvironmentRenamedWebhookEventEventTypeAPITokenActivated EnvironmentRenamedWebhookEventEventType = "api_token.activated"`

    - `const EnvironmentRenamedWebhookEventEventTypeAPITokenDeleted EnvironmentRenamedWebhookEventEventType = "api_token.deleted"`

    - `const EnvironmentRenamedWebhookEventEventTypeEnvironmentCreated EnvironmentRenamedWebhookEventEventType = "environment.created"`

    - `const EnvironmentRenamedWebhookEventEventTypeEnvironmentRenamed EnvironmentRenamedWebhookEventEventType = "environment.renamed"`

    - `const EnvironmentRenamedWebhookEventEventTypeEnvironmentDeleted EnvironmentRenamedWebhookEventEventType = "environment.deleted"`

    - `const EnvironmentRenamedWebhookEventEventTypeWebhookSubscriptionCreated EnvironmentRenamedWebhookEventEventType = "webhook_subscription.created"`

    - `const EnvironmentRenamedWebhookEventEventTypeWebhookSubscriptionDeleted EnvironmentRenamedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const EnvironmentRenamedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged EnvironmentRenamedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const EnvironmentRenamedWebhookEventEventTypeWebhookSubscriptionEnabled EnvironmentRenamedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const EnvironmentRenamedWebhookEventEventTypeWebhookSubscriptionDisabled EnvironmentRenamedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const EnvironmentRenamedWebhookEventEventTypeWebhookSubscriptionEventsUpdated EnvironmentRenamedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const EnvironmentRenamedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated EnvironmentRenamedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const EnvironmentRenamedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet EnvironmentRenamedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const EnvironmentRenamedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared EnvironmentRenamedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const EnvironmentRenamedWebhookEventEventTypeTeamMemberAdded EnvironmentRenamedWebhookEventEventType = "team_member.added"`

    - `const EnvironmentRenamedWebhookEventEventTypeTeamMemberSignedIn EnvironmentRenamedWebhookEventEventType = "team_member.signed_in"`

    - `const EnvironmentRenamedWebhookEventEventTypeTeamMemberSignedOut EnvironmentRenamedWebhookEventEventType = "team_member.signed_out"`

    - `const EnvironmentRenamedWebhookEventEventTypeMessageSent EnvironmentRenamedWebhookEventEventType = "message.sent"`

    - `const EnvironmentRenamedWebhookEventEventTypeMessageReceived EnvironmentRenamedWebhookEventEventType = "message.received"`

    - `const EnvironmentRenamedWebhookEventEventTypeMessageRead EnvironmentRenamedWebhookEventEventType = "message.read"`

    - `const EnvironmentRenamedWebhookEventEventTypeMessageDelivered EnvironmentRenamedWebhookEventEventType = "message.delivered"`

    - `const EnvironmentRenamedWebhookEventEventTypeMessageFailed EnvironmentRenamedWebhookEventEventType = "message.failed"`

    - `const EnvironmentRenamedWebhookEventEventTypeMessageEdited EnvironmentRenamedWebhookEventEventType = "message.edited"`

    - `const EnvironmentRenamedWebhookEventEventTypeReactionAdded EnvironmentRenamedWebhookEventEventType = "reaction.added"`

    - `const EnvironmentRenamedWebhookEventEventTypeReactionRemoved EnvironmentRenamedWebhookEventEventType = "reaction.removed"`

    - `const EnvironmentRenamedWebhookEventEventTypePollReceived EnvironmentRenamedWebhookEventEventType = "poll.received"`

    - `const EnvironmentRenamedWebhookEventEventTypePollFailed EnvironmentRenamedWebhookEventEventType = "poll.failed"`

    - `const EnvironmentRenamedWebhookEventEventTypePollSent EnvironmentRenamedWebhookEventEventType = "poll.sent"`

    - `const EnvironmentRenamedWebhookEventEventTypePollDelivered EnvironmentRenamedWebhookEventEventType = "poll.delivered"`

    - `const EnvironmentRenamedWebhookEventEventTypePollRead EnvironmentRenamedWebhookEventEventType = "poll.read"`

    - `const EnvironmentRenamedWebhookEventEventTypePollUpdated EnvironmentRenamedWebhookEventEventType = "poll.updated"`

    - `const EnvironmentRenamedWebhookEventEventTypePollVoteAdded EnvironmentRenamedWebhookEventEventType = "poll.vote.added"`

    - `const EnvironmentRenamedWebhookEventEventTypePollVoteRemoved EnvironmentRenamedWebhookEventEventType = "poll.vote.removed"`

    - `const EnvironmentRenamedWebhookEventEventTypePollReactionAdded EnvironmentRenamedWebhookEventEventType = "poll.reaction.added"`

    - `const EnvironmentRenamedWebhookEventEventTypeParticipantAdded EnvironmentRenamedWebhookEventEventType = "participant.added"`

    - `const EnvironmentRenamedWebhookEventEventTypeParticipantRemoved EnvironmentRenamedWebhookEventEventType = "participant.removed"`

    - `const EnvironmentRenamedWebhookEventEventTypeChatCreated EnvironmentRenamedWebhookEventEventType = "chat.created"`

    - `const EnvironmentRenamedWebhookEventEventTypeChatGroupNameUpdated EnvironmentRenamedWebhookEventEventType = "chat.group_name_updated"`

    - `const EnvironmentRenamedWebhookEventEventTypeChatGroupIconUpdated EnvironmentRenamedWebhookEventEventType = "chat.group_icon_updated"`

    - `const EnvironmentRenamedWebhookEventEventTypeChatGroupNameUpdateFailed EnvironmentRenamedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const EnvironmentRenamedWebhookEventEventTypeChatGroupIconUpdateFailed EnvironmentRenamedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const EnvironmentRenamedWebhookEventEventTypeChatBackgroundUpdated EnvironmentRenamedWebhookEventEventType = "chat.background_updated"`

    - `const EnvironmentRenamedWebhookEventEventTypeChatBackgroundUpdateFailed EnvironmentRenamedWebhookEventEventType = "chat.background_update_failed"`

    - `const EnvironmentRenamedWebhookEventEventTypeChatTypingIndicatorStarted EnvironmentRenamedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const EnvironmentRenamedWebhookEventEventTypeChatTypingIndicatorStopped EnvironmentRenamedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const EnvironmentRenamedWebhookEventEventTypePhoneNumberStatusUpdated EnvironmentRenamedWebhookEventEventType = "phone_number.status_updated"`

    - `const EnvironmentRenamedWebhookEventEventTypePhoneNumberAssigned EnvironmentRenamedWebhookEventEventType = "phone_number.assigned"`

    - `const EnvironmentRenamedWebhookEventEventTypePhoneNumberReleased EnvironmentRenamedWebhookEventEventType = "phone_number.released"`

    - `const EnvironmentRenamedWebhookEventEventTypePhoneNumberLineTypeUpdated EnvironmentRenamedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const EnvironmentRenamedWebhookEventEventTypeContactCardReceived EnvironmentRenamedWebhookEventEventType = "contact_card.received"`

    - `const EnvironmentRenamedWebhookEventEventTypeCallInitiated EnvironmentRenamedWebhookEventEventType = "call.initiated"`

    - `const EnvironmentRenamedWebhookEventEventTypeCallRinging EnvironmentRenamedWebhookEventEventType = "call.ringing"`

    - `const EnvironmentRenamedWebhookEventEventTypeCallAnswered EnvironmentRenamedWebhookEventEventType = "call.answered"`

    - `const EnvironmentRenamedWebhookEventEventTypeCallEnded EnvironmentRenamedWebhookEventEventType = "call.ended"`

    - `const EnvironmentRenamedWebhookEventEventTypeCallFailed EnvironmentRenamedWebhookEventEventType = "call.failed"`

    - `const EnvironmentRenamedWebhookEventEventTypeCallDeclined EnvironmentRenamedWebhookEventEventType = "call.declined"`

    - `const EnvironmentRenamedWebhookEventEventTypeCallNoAnswer EnvironmentRenamedWebhookEventEventType = "call.no_answer"`

    - `const EnvironmentRenamedWebhookEventEventTypeLocationSharingStarted EnvironmentRenamedWebhookEventEventType = "location.sharing.started"`

    - `const EnvironmentRenamedWebhookEventEventTypeLocationSharingStopped EnvironmentRenamedWebhookEventEventType = "location.sharing.stopped"`

    - `const EnvironmentRenamedWebhookEventEventTypePaymentSucceeded EnvironmentRenamedWebhookEventEventType = "payment.succeeded"`

    - `const EnvironmentRenamedWebhookEventEventTypePaymentCanceled EnvironmentRenamedWebhookEventEventType = "payment.canceled"`

    - `const EnvironmentRenamedWebhookEventEventTypePaymentExpired EnvironmentRenamedWebhookEventEventType = "payment.expired"`

    - `const EnvironmentRenamedWebhookEventEventTypePaymentDeclined EnvironmentRenamedWebhookEventEventType = "payment.declined"`

    - `const EnvironmentRenamedWebhookEventEventTypePaymentAuthorized EnvironmentRenamedWebhookEventEventType = "payment.authorized"`

    - `const EnvironmentRenamedWebhookEventEventTypeConnectionCreated EnvironmentRenamedWebhookEventEventType = "connection.created"`

    - `const EnvironmentRenamedWebhookEventEventTypeConnectionRevoked EnvironmentRenamedWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### environment.deleted

- `type EnvironmentDeletedWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data EnvironmentDeletedWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor EnvironmentDeletedWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const EnvironmentDeletedWebhookEventDataActorTypeTeamMember EnvironmentDeletedWebhookEventDataActorType = "team_member"`

        - `const EnvironmentDeletedWebhookEventDataActorTypeAPI EnvironmentDeletedWebhookEventDataActorType = "api"`

        - `const EnvironmentDeletedWebhookEventDataActorTypeSystem EnvironmentDeletedWebhookEventDataActorType = "system"`

        - `const EnvironmentDeletedWebhookEventDataActorTypeUnknown EnvironmentDeletedWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const EnvironmentDeletedWebhookEventDataOriginDashboard EnvironmentDeletedWebhookEventDataOrigin = "dashboard"`

      - `const EnvironmentDeletedWebhookEventDataOriginAPI EnvironmentDeletedWebhookEventDataOrigin = "api"`

      - `const EnvironmentDeletedWebhookEventDataOriginLinq EnvironmentDeletedWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken EnvironmentDeletedWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change EnvironmentDeletedWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName EnvironmentDeletedWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL EnvironmentDeletedWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName EnvironmentDeletedWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard EnvironmentDeletedWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment EnvironmentDeletedWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const EnvironmentDeletedWebhookEventDataEnvironmentTypeEnvironment EnvironmentDeletedWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const EnvironmentDeletedWebhookEventDataMethodCode EnvironmentDeletedWebhookEventDataMethod = "code"`

      - `const EnvironmentDeletedWebhookEventDataMethodSSO EnvironmentDeletedWebhookEventDataMethod = "sso"`

      - `const EnvironmentDeletedWebhookEventDataMethodGoogle EnvironmentDeletedWebhookEventDataMethod = "google"`

      - `const EnvironmentDeletedWebhookEventDataMethodApple EnvironmentDeletedWebhookEventDataMethod = "apple"`

      - `const EnvironmentDeletedWebhookEventDataMethodLinkedin EnvironmentDeletedWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember EnvironmentDeletedWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const EnvironmentDeletedWebhookEventDataTeamMemberRoleAdmin EnvironmentDeletedWebhookEventDataTeamMemberRole = "admin"`

        - `const EnvironmentDeletedWebhookEventDataTeamMemberRoleManager EnvironmentDeletedWebhookEventDataTeamMemberRole = "manager"`

        - `const EnvironmentDeletedWebhookEventDataTeamMemberRoleMember EnvironmentDeletedWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription EnvironmentDeletedWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType EnvironmentDeletedWebhookEventEventType`

    - `const EnvironmentDeletedWebhookEventEventTypeZeroDayRetentionUpdated EnvironmentDeletedWebhookEventEventType = "zero_day_retention.updated"`

    - `const EnvironmentDeletedWebhookEventEventTypePhoneNumberForwardingUpdated EnvironmentDeletedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const EnvironmentDeletedWebhookEventEventTypeEnvironmentLineMoved EnvironmentDeletedWebhookEventEventType = "environment.line_moved"`

    - `const EnvironmentDeletedWebhookEventEventTypeContactCardCreated EnvironmentDeletedWebhookEventEventType = "contact_card.created"`

    - `const EnvironmentDeletedWebhookEventEventTypeContactCardUpdated EnvironmentDeletedWebhookEventEventType = "contact_card.updated"`

    - `const EnvironmentDeletedWebhookEventEventTypeContactCardDeleted EnvironmentDeletedWebhookEventEventType = "contact_card.deleted"`

    - `const EnvironmentDeletedWebhookEventEventTypeAPITokenCreated EnvironmentDeletedWebhookEventEventType = "api_token.created"`

    - `const EnvironmentDeletedWebhookEventEventTypeAPITokenRenamed EnvironmentDeletedWebhookEventEventType = "api_token.renamed"`

    - `const EnvironmentDeletedWebhookEventEventTypeAPITokenExpiryScheduled EnvironmentDeletedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const EnvironmentDeletedWebhookEventEventTypeAPITokenExpired EnvironmentDeletedWebhookEventEventType = "api_token.expired"`

    - `const EnvironmentDeletedWebhookEventEventTypeAPITokenActivated EnvironmentDeletedWebhookEventEventType = "api_token.activated"`

    - `const EnvironmentDeletedWebhookEventEventTypeAPITokenDeleted EnvironmentDeletedWebhookEventEventType = "api_token.deleted"`

    - `const EnvironmentDeletedWebhookEventEventTypeEnvironmentCreated EnvironmentDeletedWebhookEventEventType = "environment.created"`

    - `const EnvironmentDeletedWebhookEventEventTypeEnvironmentRenamed EnvironmentDeletedWebhookEventEventType = "environment.renamed"`

    - `const EnvironmentDeletedWebhookEventEventTypeEnvironmentDeleted EnvironmentDeletedWebhookEventEventType = "environment.deleted"`

    - `const EnvironmentDeletedWebhookEventEventTypeWebhookSubscriptionCreated EnvironmentDeletedWebhookEventEventType = "webhook_subscription.created"`

    - `const EnvironmentDeletedWebhookEventEventTypeWebhookSubscriptionDeleted EnvironmentDeletedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const EnvironmentDeletedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged EnvironmentDeletedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const EnvironmentDeletedWebhookEventEventTypeWebhookSubscriptionEnabled EnvironmentDeletedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const EnvironmentDeletedWebhookEventEventTypeWebhookSubscriptionDisabled EnvironmentDeletedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const EnvironmentDeletedWebhookEventEventTypeWebhookSubscriptionEventsUpdated EnvironmentDeletedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const EnvironmentDeletedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated EnvironmentDeletedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const EnvironmentDeletedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet EnvironmentDeletedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const EnvironmentDeletedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared EnvironmentDeletedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const EnvironmentDeletedWebhookEventEventTypeTeamMemberAdded EnvironmentDeletedWebhookEventEventType = "team_member.added"`

    - `const EnvironmentDeletedWebhookEventEventTypeTeamMemberSignedIn EnvironmentDeletedWebhookEventEventType = "team_member.signed_in"`

    - `const EnvironmentDeletedWebhookEventEventTypeTeamMemberSignedOut EnvironmentDeletedWebhookEventEventType = "team_member.signed_out"`

    - `const EnvironmentDeletedWebhookEventEventTypeMessageSent EnvironmentDeletedWebhookEventEventType = "message.sent"`

    - `const EnvironmentDeletedWebhookEventEventTypeMessageReceived EnvironmentDeletedWebhookEventEventType = "message.received"`

    - `const EnvironmentDeletedWebhookEventEventTypeMessageRead EnvironmentDeletedWebhookEventEventType = "message.read"`

    - `const EnvironmentDeletedWebhookEventEventTypeMessageDelivered EnvironmentDeletedWebhookEventEventType = "message.delivered"`

    - `const EnvironmentDeletedWebhookEventEventTypeMessageFailed EnvironmentDeletedWebhookEventEventType = "message.failed"`

    - `const EnvironmentDeletedWebhookEventEventTypeMessageEdited EnvironmentDeletedWebhookEventEventType = "message.edited"`

    - `const EnvironmentDeletedWebhookEventEventTypeReactionAdded EnvironmentDeletedWebhookEventEventType = "reaction.added"`

    - `const EnvironmentDeletedWebhookEventEventTypeReactionRemoved EnvironmentDeletedWebhookEventEventType = "reaction.removed"`

    - `const EnvironmentDeletedWebhookEventEventTypePollReceived EnvironmentDeletedWebhookEventEventType = "poll.received"`

    - `const EnvironmentDeletedWebhookEventEventTypePollFailed EnvironmentDeletedWebhookEventEventType = "poll.failed"`

    - `const EnvironmentDeletedWebhookEventEventTypePollSent EnvironmentDeletedWebhookEventEventType = "poll.sent"`

    - `const EnvironmentDeletedWebhookEventEventTypePollDelivered EnvironmentDeletedWebhookEventEventType = "poll.delivered"`

    - `const EnvironmentDeletedWebhookEventEventTypePollRead EnvironmentDeletedWebhookEventEventType = "poll.read"`

    - `const EnvironmentDeletedWebhookEventEventTypePollUpdated EnvironmentDeletedWebhookEventEventType = "poll.updated"`

    - `const EnvironmentDeletedWebhookEventEventTypePollVoteAdded EnvironmentDeletedWebhookEventEventType = "poll.vote.added"`

    - `const EnvironmentDeletedWebhookEventEventTypePollVoteRemoved EnvironmentDeletedWebhookEventEventType = "poll.vote.removed"`

    - `const EnvironmentDeletedWebhookEventEventTypePollReactionAdded EnvironmentDeletedWebhookEventEventType = "poll.reaction.added"`

    - `const EnvironmentDeletedWebhookEventEventTypeParticipantAdded EnvironmentDeletedWebhookEventEventType = "participant.added"`

    - `const EnvironmentDeletedWebhookEventEventTypeParticipantRemoved EnvironmentDeletedWebhookEventEventType = "participant.removed"`

    - `const EnvironmentDeletedWebhookEventEventTypeChatCreated EnvironmentDeletedWebhookEventEventType = "chat.created"`

    - `const EnvironmentDeletedWebhookEventEventTypeChatGroupNameUpdated EnvironmentDeletedWebhookEventEventType = "chat.group_name_updated"`

    - `const EnvironmentDeletedWebhookEventEventTypeChatGroupIconUpdated EnvironmentDeletedWebhookEventEventType = "chat.group_icon_updated"`

    - `const EnvironmentDeletedWebhookEventEventTypeChatGroupNameUpdateFailed EnvironmentDeletedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const EnvironmentDeletedWebhookEventEventTypeChatGroupIconUpdateFailed EnvironmentDeletedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const EnvironmentDeletedWebhookEventEventTypeChatBackgroundUpdated EnvironmentDeletedWebhookEventEventType = "chat.background_updated"`

    - `const EnvironmentDeletedWebhookEventEventTypeChatBackgroundUpdateFailed EnvironmentDeletedWebhookEventEventType = "chat.background_update_failed"`

    - `const EnvironmentDeletedWebhookEventEventTypeChatTypingIndicatorStarted EnvironmentDeletedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const EnvironmentDeletedWebhookEventEventTypeChatTypingIndicatorStopped EnvironmentDeletedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const EnvironmentDeletedWebhookEventEventTypePhoneNumberStatusUpdated EnvironmentDeletedWebhookEventEventType = "phone_number.status_updated"`

    - `const EnvironmentDeletedWebhookEventEventTypePhoneNumberAssigned EnvironmentDeletedWebhookEventEventType = "phone_number.assigned"`

    - `const EnvironmentDeletedWebhookEventEventTypePhoneNumberReleased EnvironmentDeletedWebhookEventEventType = "phone_number.released"`

    - `const EnvironmentDeletedWebhookEventEventTypePhoneNumberLineTypeUpdated EnvironmentDeletedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const EnvironmentDeletedWebhookEventEventTypeContactCardReceived EnvironmentDeletedWebhookEventEventType = "contact_card.received"`

    - `const EnvironmentDeletedWebhookEventEventTypeCallInitiated EnvironmentDeletedWebhookEventEventType = "call.initiated"`

    - `const EnvironmentDeletedWebhookEventEventTypeCallRinging EnvironmentDeletedWebhookEventEventType = "call.ringing"`

    - `const EnvironmentDeletedWebhookEventEventTypeCallAnswered EnvironmentDeletedWebhookEventEventType = "call.answered"`

    - `const EnvironmentDeletedWebhookEventEventTypeCallEnded EnvironmentDeletedWebhookEventEventType = "call.ended"`

    - `const EnvironmentDeletedWebhookEventEventTypeCallFailed EnvironmentDeletedWebhookEventEventType = "call.failed"`

    - `const EnvironmentDeletedWebhookEventEventTypeCallDeclined EnvironmentDeletedWebhookEventEventType = "call.declined"`

    - `const EnvironmentDeletedWebhookEventEventTypeCallNoAnswer EnvironmentDeletedWebhookEventEventType = "call.no_answer"`

    - `const EnvironmentDeletedWebhookEventEventTypeLocationSharingStarted EnvironmentDeletedWebhookEventEventType = "location.sharing.started"`

    - `const EnvironmentDeletedWebhookEventEventTypeLocationSharingStopped EnvironmentDeletedWebhookEventEventType = "location.sharing.stopped"`

    - `const EnvironmentDeletedWebhookEventEventTypePaymentSucceeded EnvironmentDeletedWebhookEventEventType = "payment.succeeded"`

    - `const EnvironmentDeletedWebhookEventEventTypePaymentCanceled EnvironmentDeletedWebhookEventEventType = "payment.canceled"`

    - `const EnvironmentDeletedWebhookEventEventTypePaymentExpired EnvironmentDeletedWebhookEventEventType = "payment.expired"`

    - `const EnvironmentDeletedWebhookEventEventTypePaymentDeclined EnvironmentDeletedWebhookEventEventType = "payment.declined"`

    - `const EnvironmentDeletedWebhookEventEventTypePaymentAuthorized EnvironmentDeletedWebhookEventEventType = "payment.authorized"`

    - `const EnvironmentDeletedWebhookEventEventTypeConnectionCreated EnvironmentDeletedWebhookEventEventType = "connection.created"`

    - `const EnvironmentDeletedWebhookEventEventTypeConnectionRevoked EnvironmentDeletedWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### webhook_subscription.created

- `type WebhookSubscriptionCreatedWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data WebhookSubscriptionCreatedWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor WebhookSubscriptionCreatedWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const WebhookSubscriptionCreatedWebhookEventDataActorTypeTeamMember WebhookSubscriptionCreatedWebhookEventDataActorType = "team_member"`

        - `const WebhookSubscriptionCreatedWebhookEventDataActorTypeAPI WebhookSubscriptionCreatedWebhookEventDataActorType = "api"`

        - `const WebhookSubscriptionCreatedWebhookEventDataActorTypeSystem WebhookSubscriptionCreatedWebhookEventDataActorType = "system"`

        - `const WebhookSubscriptionCreatedWebhookEventDataActorTypeUnknown WebhookSubscriptionCreatedWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const WebhookSubscriptionCreatedWebhookEventDataOriginDashboard WebhookSubscriptionCreatedWebhookEventDataOrigin = "dashboard"`

      - `const WebhookSubscriptionCreatedWebhookEventDataOriginAPI WebhookSubscriptionCreatedWebhookEventDataOrigin = "api"`

      - `const WebhookSubscriptionCreatedWebhookEventDataOriginLinq WebhookSubscriptionCreatedWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken WebhookSubscriptionCreatedWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change WebhookSubscriptionCreatedWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName WebhookSubscriptionCreatedWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL WebhookSubscriptionCreatedWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName WebhookSubscriptionCreatedWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard WebhookSubscriptionCreatedWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment WebhookSubscriptionCreatedWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const WebhookSubscriptionCreatedWebhookEventDataEnvironmentTypeEnvironment WebhookSubscriptionCreatedWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const WebhookSubscriptionCreatedWebhookEventDataMethodCode WebhookSubscriptionCreatedWebhookEventDataMethod = "code"`

      - `const WebhookSubscriptionCreatedWebhookEventDataMethodSSO WebhookSubscriptionCreatedWebhookEventDataMethod = "sso"`

      - `const WebhookSubscriptionCreatedWebhookEventDataMethodGoogle WebhookSubscriptionCreatedWebhookEventDataMethod = "google"`

      - `const WebhookSubscriptionCreatedWebhookEventDataMethodApple WebhookSubscriptionCreatedWebhookEventDataMethod = "apple"`

      - `const WebhookSubscriptionCreatedWebhookEventDataMethodLinkedin WebhookSubscriptionCreatedWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember WebhookSubscriptionCreatedWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const WebhookSubscriptionCreatedWebhookEventDataTeamMemberRoleAdmin WebhookSubscriptionCreatedWebhookEventDataTeamMemberRole = "admin"`

        - `const WebhookSubscriptionCreatedWebhookEventDataTeamMemberRoleManager WebhookSubscriptionCreatedWebhookEventDataTeamMemberRole = "manager"`

        - `const WebhookSubscriptionCreatedWebhookEventDataTeamMemberRoleMember WebhookSubscriptionCreatedWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription WebhookSubscriptionCreatedWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookSubscriptionCreatedWebhookEventEventType`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeZeroDayRetentionUpdated WebhookSubscriptionCreatedWebhookEventEventType = "zero_day_retention.updated"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypePhoneNumberForwardingUpdated WebhookSubscriptionCreatedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeEnvironmentLineMoved WebhookSubscriptionCreatedWebhookEventEventType = "environment.line_moved"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeContactCardCreated WebhookSubscriptionCreatedWebhookEventEventType = "contact_card.created"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeContactCardUpdated WebhookSubscriptionCreatedWebhookEventEventType = "contact_card.updated"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeContactCardDeleted WebhookSubscriptionCreatedWebhookEventEventType = "contact_card.deleted"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeAPITokenCreated WebhookSubscriptionCreatedWebhookEventEventType = "api_token.created"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeAPITokenRenamed WebhookSubscriptionCreatedWebhookEventEventType = "api_token.renamed"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeAPITokenExpiryScheduled WebhookSubscriptionCreatedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeAPITokenExpired WebhookSubscriptionCreatedWebhookEventEventType = "api_token.expired"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeAPITokenActivated WebhookSubscriptionCreatedWebhookEventEventType = "api_token.activated"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeAPITokenDeleted WebhookSubscriptionCreatedWebhookEventEventType = "api_token.deleted"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeEnvironmentCreated WebhookSubscriptionCreatedWebhookEventEventType = "environment.created"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeEnvironmentRenamed WebhookSubscriptionCreatedWebhookEventEventType = "environment.renamed"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeEnvironmentDeleted WebhookSubscriptionCreatedWebhookEventEventType = "environment.deleted"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeWebhookSubscriptionCreated WebhookSubscriptionCreatedWebhookEventEventType = "webhook_subscription.created"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeWebhookSubscriptionDeleted WebhookSubscriptionCreatedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged WebhookSubscriptionCreatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeWebhookSubscriptionEnabled WebhookSubscriptionCreatedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeWebhookSubscriptionDisabled WebhookSubscriptionCreatedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated WebhookSubscriptionCreatedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookSubscriptionCreatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet WebhookSubscriptionCreatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookSubscriptionCreatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeTeamMemberAdded WebhookSubscriptionCreatedWebhookEventEventType = "team_member.added"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeTeamMemberSignedIn WebhookSubscriptionCreatedWebhookEventEventType = "team_member.signed_in"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeTeamMemberSignedOut WebhookSubscriptionCreatedWebhookEventEventType = "team_member.signed_out"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeMessageSent WebhookSubscriptionCreatedWebhookEventEventType = "message.sent"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeMessageReceived WebhookSubscriptionCreatedWebhookEventEventType = "message.received"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeMessageRead WebhookSubscriptionCreatedWebhookEventEventType = "message.read"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeMessageDelivered WebhookSubscriptionCreatedWebhookEventEventType = "message.delivered"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeMessageFailed WebhookSubscriptionCreatedWebhookEventEventType = "message.failed"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeMessageEdited WebhookSubscriptionCreatedWebhookEventEventType = "message.edited"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeReactionAdded WebhookSubscriptionCreatedWebhookEventEventType = "reaction.added"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeReactionRemoved WebhookSubscriptionCreatedWebhookEventEventType = "reaction.removed"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypePollReceived WebhookSubscriptionCreatedWebhookEventEventType = "poll.received"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypePollFailed WebhookSubscriptionCreatedWebhookEventEventType = "poll.failed"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypePollSent WebhookSubscriptionCreatedWebhookEventEventType = "poll.sent"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypePollDelivered WebhookSubscriptionCreatedWebhookEventEventType = "poll.delivered"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypePollRead WebhookSubscriptionCreatedWebhookEventEventType = "poll.read"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypePollUpdated WebhookSubscriptionCreatedWebhookEventEventType = "poll.updated"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypePollVoteAdded WebhookSubscriptionCreatedWebhookEventEventType = "poll.vote.added"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypePollVoteRemoved WebhookSubscriptionCreatedWebhookEventEventType = "poll.vote.removed"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypePollReactionAdded WebhookSubscriptionCreatedWebhookEventEventType = "poll.reaction.added"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeParticipantAdded WebhookSubscriptionCreatedWebhookEventEventType = "participant.added"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeParticipantRemoved WebhookSubscriptionCreatedWebhookEventEventType = "participant.removed"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeChatCreated WebhookSubscriptionCreatedWebhookEventEventType = "chat.created"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeChatGroupNameUpdated WebhookSubscriptionCreatedWebhookEventEventType = "chat.group_name_updated"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeChatGroupIconUpdated WebhookSubscriptionCreatedWebhookEventEventType = "chat.group_icon_updated"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeChatGroupNameUpdateFailed WebhookSubscriptionCreatedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeChatGroupIconUpdateFailed WebhookSubscriptionCreatedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeChatBackgroundUpdated WebhookSubscriptionCreatedWebhookEventEventType = "chat.background_updated"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeChatBackgroundUpdateFailed WebhookSubscriptionCreatedWebhookEventEventType = "chat.background_update_failed"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeChatTypingIndicatorStarted WebhookSubscriptionCreatedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeChatTypingIndicatorStopped WebhookSubscriptionCreatedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypePhoneNumberStatusUpdated WebhookSubscriptionCreatedWebhookEventEventType = "phone_number.status_updated"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypePhoneNumberAssigned WebhookSubscriptionCreatedWebhookEventEventType = "phone_number.assigned"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypePhoneNumberReleased WebhookSubscriptionCreatedWebhookEventEventType = "phone_number.released"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypePhoneNumberLineTypeUpdated WebhookSubscriptionCreatedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeContactCardReceived WebhookSubscriptionCreatedWebhookEventEventType = "contact_card.received"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeCallInitiated WebhookSubscriptionCreatedWebhookEventEventType = "call.initiated"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeCallRinging WebhookSubscriptionCreatedWebhookEventEventType = "call.ringing"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeCallAnswered WebhookSubscriptionCreatedWebhookEventEventType = "call.answered"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeCallEnded WebhookSubscriptionCreatedWebhookEventEventType = "call.ended"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeCallFailed WebhookSubscriptionCreatedWebhookEventEventType = "call.failed"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeCallDeclined WebhookSubscriptionCreatedWebhookEventEventType = "call.declined"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeCallNoAnswer WebhookSubscriptionCreatedWebhookEventEventType = "call.no_answer"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeLocationSharingStarted WebhookSubscriptionCreatedWebhookEventEventType = "location.sharing.started"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeLocationSharingStopped WebhookSubscriptionCreatedWebhookEventEventType = "location.sharing.stopped"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypePaymentSucceeded WebhookSubscriptionCreatedWebhookEventEventType = "payment.succeeded"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypePaymentCanceled WebhookSubscriptionCreatedWebhookEventEventType = "payment.canceled"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypePaymentExpired WebhookSubscriptionCreatedWebhookEventEventType = "payment.expired"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypePaymentDeclined WebhookSubscriptionCreatedWebhookEventEventType = "payment.declined"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypePaymentAuthorized WebhookSubscriptionCreatedWebhookEventEventType = "payment.authorized"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeConnectionCreated WebhookSubscriptionCreatedWebhookEventEventType = "connection.created"`

    - `const WebhookSubscriptionCreatedWebhookEventEventTypeConnectionRevoked WebhookSubscriptionCreatedWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### webhook_subscription.deleted

- `type WebhookSubscriptionDeletedWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data WebhookSubscriptionDeletedWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor WebhookSubscriptionDeletedWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const WebhookSubscriptionDeletedWebhookEventDataActorTypeTeamMember WebhookSubscriptionDeletedWebhookEventDataActorType = "team_member"`

        - `const WebhookSubscriptionDeletedWebhookEventDataActorTypeAPI WebhookSubscriptionDeletedWebhookEventDataActorType = "api"`

        - `const WebhookSubscriptionDeletedWebhookEventDataActorTypeSystem WebhookSubscriptionDeletedWebhookEventDataActorType = "system"`

        - `const WebhookSubscriptionDeletedWebhookEventDataActorTypeUnknown WebhookSubscriptionDeletedWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const WebhookSubscriptionDeletedWebhookEventDataOriginDashboard WebhookSubscriptionDeletedWebhookEventDataOrigin = "dashboard"`

      - `const WebhookSubscriptionDeletedWebhookEventDataOriginAPI WebhookSubscriptionDeletedWebhookEventDataOrigin = "api"`

      - `const WebhookSubscriptionDeletedWebhookEventDataOriginLinq WebhookSubscriptionDeletedWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken WebhookSubscriptionDeletedWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change WebhookSubscriptionDeletedWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName WebhookSubscriptionDeletedWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL WebhookSubscriptionDeletedWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName WebhookSubscriptionDeletedWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard WebhookSubscriptionDeletedWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment WebhookSubscriptionDeletedWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const WebhookSubscriptionDeletedWebhookEventDataEnvironmentTypeEnvironment WebhookSubscriptionDeletedWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const WebhookSubscriptionDeletedWebhookEventDataMethodCode WebhookSubscriptionDeletedWebhookEventDataMethod = "code"`

      - `const WebhookSubscriptionDeletedWebhookEventDataMethodSSO WebhookSubscriptionDeletedWebhookEventDataMethod = "sso"`

      - `const WebhookSubscriptionDeletedWebhookEventDataMethodGoogle WebhookSubscriptionDeletedWebhookEventDataMethod = "google"`

      - `const WebhookSubscriptionDeletedWebhookEventDataMethodApple WebhookSubscriptionDeletedWebhookEventDataMethod = "apple"`

      - `const WebhookSubscriptionDeletedWebhookEventDataMethodLinkedin WebhookSubscriptionDeletedWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember WebhookSubscriptionDeletedWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const WebhookSubscriptionDeletedWebhookEventDataTeamMemberRoleAdmin WebhookSubscriptionDeletedWebhookEventDataTeamMemberRole = "admin"`

        - `const WebhookSubscriptionDeletedWebhookEventDataTeamMemberRoleManager WebhookSubscriptionDeletedWebhookEventDataTeamMemberRole = "manager"`

        - `const WebhookSubscriptionDeletedWebhookEventDataTeamMemberRoleMember WebhookSubscriptionDeletedWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription WebhookSubscriptionDeletedWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookSubscriptionDeletedWebhookEventEventType`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeZeroDayRetentionUpdated WebhookSubscriptionDeletedWebhookEventEventType = "zero_day_retention.updated"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypePhoneNumberForwardingUpdated WebhookSubscriptionDeletedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeEnvironmentLineMoved WebhookSubscriptionDeletedWebhookEventEventType = "environment.line_moved"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeContactCardCreated WebhookSubscriptionDeletedWebhookEventEventType = "contact_card.created"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeContactCardUpdated WebhookSubscriptionDeletedWebhookEventEventType = "contact_card.updated"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeContactCardDeleted WebhookSubscriptionDeletedWebhookEventEventType = "contact_card.deleted"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeAPITokenCreated WebhookSubscriptionDeletedWebhookEventEventType = "api_token.created"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeAPITokenRenamed WebhookSubscriptionDeletedWebhookEventEventType = "api_token.renamed"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeAPITokenExpiryScheduled WebhookSubscriptionDeletedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeAPITokenExpired WebhookSubscriptionDeletedWebhookEventEventType = "api_token.expired"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeAPITokenActivated WebhookSubscriptionDeletedWebhookEventEventType = "api_token.activated"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeAPITokenDeleted WebhookSubscriptionDeletedWebhookEventEventType = "api_token.deleted"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeEnvironmentCreated WebhookSubscriptionDeletedWebhookEventEventType = "environment.created"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeEnvironmentRenamed WebhookSubscriptionDeletedWebhookEventEventType = "environment.renamed"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeEnvironmentDeleted WebhookSubscriptionDeletedWebhookEventEventType = "environment.deleted"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeWebhookSubscriptionCreated WebhookSubscriptionDeletedWebhookEventEventType = "webhook_subscription.created"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeWebhookSubscriptionDeleted WebhookSubscriptionDeletedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged WebhookSubscriptionDeletedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeWebhookSubscriptionEnabled WebhookSubscriptionDeletedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeWebhookSubscriptionDisabled WebhookSubscriptionDeletedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeWebhookSubscriptionEventsUpdated WebhookSubscriptionDeletedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookSubscriptionDeletedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet WebhookSubscriptionDeletedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookSubscriptionDeletedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeTeamMemberAdded WebhookSubscriptionDeletedWebhookEventEventType = "team_member.added"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeTeamMemberSignedIn WebhookSubscriptionDeletedWebhookEventEventType = "team_member.signed_in"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeTeamMemberSignedOut WebhookSubscriptionDeletedWebhookEventEventType = "team_member.signed_out"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeMessageSent WebhookSubscriptionDeletedWebhookEventEventType = "message.sent"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeMessageReceived WebhookSubscriptionDeletedWebhookEventEventType = "message.received"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeMessageRead WebhookSubscriptionDeletedWebhookEventEventType = "message.read"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeMessageDelivered WebhookSubscriptionDeletedWebhookEventEventType = "message.delivered"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeMessageFailed WebhookSubscriptionDeletedWebhookEventEventType = "message.failed"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeMessageEdited WebhookSubscriptionDeletedWebhookEventEventType = "message.edited"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeReactionAdded WebhookSubscriptionDeletedWebhookEventEventType = "reaction.added"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeReactionRemoved WebhookSubscriptionDeletedWebhookEventEventType = "reaction.removed"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypePollReceived WebhookSubscriptionDeletedWebhookEventEventType = "poll.received"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypePollFailed WebhookSubscriptionDeletedWebhookEventEventType = "poll.failed"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypePollSent WebhookSubscriptionDeletedWebhookEventEventType = "poll.sent"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypePollDelivered WebhookSubscriptionDeletedWebhookEventEventType = "poll.delivered"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypePollRead WebhookSubscriptionDeletedWebhookEventEventType = "poll.read"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypePollUpdated WebhookSubscriptionDeletedWebhookEventEventType = "poll.updated"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypePollVoteAdded WebhookSubscriptionDeletedWebhookEventEventType = "poll.vote.added"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypePollVoteRemoved WebhookSubscriptionDeletedWebhookEventEventType = "poll.vote.removed"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypePollReactionAdded WebhookSubscriptionDeletedWebhookEventEventType = "poll.reaction.added"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeParticipantAdded WebhookSubscriptionDeletedWebhookEventEventType = "participant.added"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeParticipantRemoved WebhookSubscriptionDeletedWebhookEventEventType = "participant.removed"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeChatCreated WebhookSubscriptionDeletedWebhookEventEventType = "chat.created"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeChatGroupNameUpdated WebhookSubscriptionDeletedWebhookEventEventType = "chat.group_name_updated"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeChatGroupIconUpdated WebhookSubscriptionDeletedWebhookEventEventType = "chat.group_icon_updated"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeChatGroupNameUpdateFailed WebhookSubscriptionDeletedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeChatGroupIconUpdateFailed WebhookSubscriptionDeletedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeChatBackgroundUpdated WebhookSubscriptionDeletedWebhookEventEventType = "chat.background_updated"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeChatBackgroundUpdateFailed WebhookSubscriptionDeletedWebhookEventEventType = "chat.background_update_failed"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeChatTypingIndicatorStarted WebhookSubscriptionDeletedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeChatTypingIndicatorStopped WebhookSubscriptionDeletedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypePhoneNumberStatusUpdated WebhookSubscriptionDeletedWebhookEventEventType = "phone_number.status_updated"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypePhoneNumberAssigned WebhookSubscriptionDeletedWebhookEventEventType = "phone_number.assigned"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypePhoneNumberReleased WebhookSubscriptionDeletedWebhookEventEventType = "phone_number.released"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypePhoneNumberLineTypeUpdated WebhookSubscriptionDeletedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeContactCardReceived WebhookSubscriptionDeletedWebhookEventEventType = "contact_card.received"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeCallInitiated WebhookSubscriptionDeletedWebhookEventEventType = "call.initiated"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeCallRinging WebhookSubscriptionDeletedWebhookEventEventType = "call.ringing"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeCallAnswered WebhookSubscriptionDeletedWebhookEventEventType = "call.answered"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeCallEnded WebhookSubscriptionDeletedWebhookEventEventType = "call.ended"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeCallFailed WebhookSubscriptionDeletedWebhookEventEventType = "call.failed"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeCallDeclined WebhookSubscriptionDeletedWebhookEventEventType = "call.declined"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeCallNoAnswer WebhookSubscriptionDeletedWebhookEventEventType = "call.no_answer"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeLocationSharingStarted WebhookSubscriptionDeletedWebhookEventEventType = "location.sharing.started"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeLocationSharingStopped WebhookSubscriptionDeletedWebhookEventEventType = "location.sharing.stopped"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypePaymentSucceeded WebhookSubscriptionDeletedWebhookEventEventType = "payment.succeeded"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypePaymentCanceled WebhookSubscriptionDeletedWebhookEventEventType = "payment.canceled"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypePaymentExpired WebhookSubscriptionDeletedWebhookEventEventType = "payment.expired"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypePaymentDeclined WebhookSubscriptionDeletedWebhookEventEventType = "payment.declined"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypePaymentAuthorized WebhookSubscriptionDeletedWebhookEventEventType = "payment.authorized"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeConnectionCreated WebhookSubscriptionDeletedWebhookEventEventType = "connection.created"`

    - `const WebhookSubscriptionDeletedWebhookEventEventTypeConnectionRevoked WebhookSubscriptionDeletedWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### webhook_subscription.target_url_changed

- `type WebhookSubscriptionTargetURLChangedWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data WebhookSubscriptionTargetURLChangedWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor WebhookSubscriptionTargetURLChangedWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const WebhookSubscriptionTargetURLChangedWebhookEventDataActorTypeTeamMember WebhookSubscriptionTargetURLChangedWebhookEventDataActorType = "team_member"`

        - `const WebhookSubscriptionTargetURLChangedWebhookEventDataActorTypeAPI WebhookSubscriptionTargetURLChangedWebhookEventDataActorType = "api"`

        - `const WebhookSubscriptionTargetURLChangedWebhookEventDataActorTypeSystem WebhookSubscriptionTargetURLChangedWebhookEventDataActorType = "system"`

        - `const WebhookSubscriptionTargetURLChangedWebhookEventDataActorTypeUnknown WebhookSubscriptionTargetURLChangedWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const WebhookSubscriptionTargetURLChangedWebhookEventDataOriginDashboard WebhookSubscriptionTargetURLChangedWebhookEventDataOrigin = "dashboard"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventDataOriginAPI WebhookSubscriptionTargetURLChangedWebhookEventDataOrigin = "api"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventDataOriginLinq WebhookSubscriptionTargetURLChangedWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken WebhookSubscriptionTargetURLChangedWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change WebhookSubscriptionTargetURLChangedWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName WebhookSubscriptionTargetURLChangedWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL WebhookSubscriptionTargetURLChangedWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName WebhookSubscriptionTargetURLChangedWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard WebhookSubscriptionTargetURLChangedWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment WebhookSubscriptionTargetURLChangedWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const WebhookSubscriptionTargetURLChangedWebhookEventDataEnvironmentTypeEnvironment WebhookSubscriptionTargetURLChangedWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const WebhookSubscriptionTargetURLChangedWebhookEventDataMethodCode WebhookSubscriptionTargetURLChangedWebhookEventDataMethod = "code"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventDataMethodSSO WebhookSubscriptionTargetURLChangedWebhookEventDataMethod = "sso"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventDataMethodGoogle WebhookSubscriptionTargetURLChangedWebhookEventDataMethod = "google"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventDataMethodApple WebhookSubscriptionTargetURLChangedWebhookEventDataMethod = "apple"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventDataMethodLinkedin WebhookSubscriptionTargetURLChangedWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember WebhookSubscriptionTargetURLChangedWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const WebhookSubscriptionTargetURLChangedWebhookEventDataTeamMemberRoleAdmin WebhookSubscriptionTargetURLChangedWebhookEventDataTeamMemberRole = "admin"`

        - `const WebhookSubscriptionTargetURLChangedWebhookEventDataTeamMemberRoleManager WebhookSubscriptionTargetURLChangedWebhookEventDataTeamMemberRole = "manager"`

        - `const WebhookSubscriptionTargetURLChangedWebhookEventDataTeamMemberRoleMember WebhookSubscriptionTargetURLChangedWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription WebhookSubscriptionTargetURLChangedWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookSubscriptionTargetURLChangedWebhookEventEventType`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeZeroDayRetentionUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "zero_day_retention.updated"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePhoneNumberForwardingUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeEnvironmentLineMoved WebhookSubscriptionTargetURLChangedWebhookEventEventType = "environment.line_moved"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeContactCardCreated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "contact_card.created"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeContactCardUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "contact_card.updated"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeContactCardDeleted WebhookSubscriptionTargetURLChangedWebhookEventEventType = "contact_card.deleted"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeAPITokenCreated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "api_token.created"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeAPITokenRenamed WebhookSubscriptionTargetURLChangedWebhookEventEventType = "api_token.renamed"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeAPITokenExpiryScheduled WebhookSubscriptionTargetURLChangedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeAPITokenExpired WebhookSubscriptionTargetURLChangedWebhookEventEventType = "api_token.expired"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeAPITokenActivated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "api_token.activated"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeAPITokenDeleted WebhookSubscriptionTargetURLChangedWebhookEventEventType = "api_token.deleted"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeEnvironmentCreated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "environment.created"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeEnvironmentRenamed WebhookSubscriptionTargetURLChangedWebhookEventEventType = "environment.renamed"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeEnvironmentDeleted WebhookSubscriptionTargetURLChangedWebhookEventEventType = "environment.deleted"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeWebhookSubscriptionCreated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "webhook_subscription.created"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeWebhookSubscriptionDeleted WebhookSubscriptionTargetURLChangedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged WebhookSubscriptionTargetURLChangedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeWebhookSubscriptionEnabled WebhookSubscriptionTargetURLChangedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeWebhookSubscriptionDisabled WebhookSubscriptionTargetURLChangedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeWebhookSubscriptionEventsUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet WebhookSubscriptionTargetURLChangedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookSubscriptionTargetURLChangedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeTeamMemberAdded WebhookSubscriptionTargetURLChangedWebhookEventEventType = "team_member.added"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeTeamMemberSignedIn WebhookSubscriptionTargetURLChangedWebhookEventEventType = "team_member.signed_in"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeTeamMemberSignedOut WebhookSubscriptionTargetURLChangedWebhookEventEventType = "team_member.signed_out"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeMessageSent WebhookSubscriptionTargetURLChangedWebhookEventEventType = "message.sent"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeMessageReceived WebhookSubscriptionTargetURLChangedWebhookEventEventType = "message.received"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeMessageRead WebhookSubscriptionTargetURLChangedWebhookEventEventType = "message.read"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeMessageDelivered WebhookSubscriptionTargetURLChangedWebhookEventEventType = "message.delivered"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeMessageFailed WebhookSubscriptionTargetURLChangedWebhookEventEventType = "message.failed"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeMessageEdited WebhookSubscriptionTargetURLChangedWebhookEventEventType = "message.edited"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeReactionAdded WebhookSubscriptionTargetURLChangedWebhookEventEventType = "reaction.added"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeReactionRemoved WebhookSubscriptionTargetURLChangedWebhookEventEventType = "reaction.removed"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePollReceived WebhookSubscriptionTargetURLChangedWebhookEventEventType = "poll.received"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePollFailed WebhookSubscriptionTargetURLChangedWebhookEventEventType = "poll.failed"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePollSent WebhookSubscriptionTargetURLChangedWebhookEventEventType = "poll.sent"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePollDelivered WebhookSubscriptionTargetURLChangedWebhookEventEventType = "poll.delivered"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePollRead WebhookSubscriptionTargetURLChangedWebhookEventEventType = "poll.read"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePollUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "poll.updated"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePollVoteAdded WebhookSubscriptionTargetURLChangedWebhookEventEventType = "poll.vote.added"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePollVoteRemoved WebhookSubscriptionTargetURLChangedWebhookEventEventType = "poll.vote.removed"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePollReactionAdded WebhookSubscriptionTargetURLChangedWebhookEventEventType = "poll.reaction.added"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeParticipantAdded WebhookSubscriptionTargetURLChangedWebhookEventEventType = "participant.added"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeParticipantRemoved WebhookSubscriptionTargetURLChangedWebhookEventEventType = "participant.removed"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeChatCreated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "chat.created"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeChatGroupNameUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "chat.group_name_updated"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeChatGroupIconUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "chat.group_icon_updated"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeChatGroupNameUpdateFailed WebhookSubscriptionTargetURLChangedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeChatGroupIconUpdateFailed WebhookSubscriptionTargetURLChangedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeChatBackgroundUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "chat.background_updated"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeChatBackgroundUpdateFailed WebhookSubscriptionTargetURLChangedWebhookEventEventType = "chat.background_update_failed"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeChatTypingIndicatorStarted WebhookSubscriptionTargetURLChangedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeChatTypingIndicatorStopped WebhookSubscriptionTargetURLChangedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePhoneNumberStatusUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "phone_number.status_updated"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePhoneNumberAssigned WebhookSubscriptionTargetURLChangedWebhookEventEventType = "phone_number.assigned"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePhoneNumberReleased WebhookSubscriptionTargetURLChangedWebhookEventEventType = "phone_number.released"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePhoneNumberLineTypeUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeContactCardReceived WebhookSubscriptionTargetURLChangedWebhookEventEventType = "contact_card.received"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeCallInitiated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "call.initiated"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeCallRinging WebhookSubscriptionTargetURLChangedWebhookEventEventType = "call.ringing"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeCallAnswered WebhookSubscriptionTargetURLChangedWebhookEventEventType = "call.answered"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeCallEnded WebhookSubscriptionTargetURLChangedWebhookEventEventType = "call.ended"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeCallFailed WebhookSubscriptionTargetURLChangedWebhookEventEventType = "call.failed"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeCallDeclined WebhookSubscriptionTargetURLChangedWebhookEventEventType = "call.declined"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeCallNoAnswer WebhookSubscriptionTargetURLChangedWebhookEventEventType = "call.no_answer"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeLocationSharingStarted WebhookSubscriptionTargetURLChangedWebhookEventEventType = "location.sharing.started"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeLocationSharingStopped WebhookSubscriptionTargetURLChangedWebhookEventEventType = "location.sharing.stopped"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePaymentSucceeded WebhookSubscriptionTargetURLChangedWebhookEventEventType = "payment.succeeded"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePaymentCanceled WebhookSubscriptionTargetURLChangedWebhookEventEventType = "payment.canceled"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePaymentExpired WebhookSubscriptionTargetURLChangedWebhookEventEventType = "payment.expired"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePaymentDeclined WebhookSubscriptionTargetURLChangedWebhookEventEventType = "payment.declined"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePaymentAuthorized WebhookSubscriptionTargetURLChangedWebhookEventEventType = "payment.authorized"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeConnectionCreated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "connection.created"`

    - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeConnectionRevoked WebhookSubscriptionTargetURLChangedWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### webhook_subscription.enabled

- `type WebhookSubscriptionEnabledWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data WebhookSubscriptionEnabledWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor WebhookSubscriptionEnabledWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const WebhookSubscriptionEnabledWebhookEventDataActorTypeTeamMember WebhookSubscriptionEnabledWebhookEventDataActorType = "team_member"`

        - `const WebhookSubscriptionEnabledWebhookEventDataActorTypeAPI WebhookSubscriptionEnabledWebhookEventDataActorType = "api"`

        - `const WebhookSubscriptionEnabledWebhookEventDataActorTypeSystem WebhookSubscriptionEnabledWebhookEventDataActorType = "system"`

        - `const WebhookSubscriptionEnabledWebhookEventDataActorTypeUnknown WebhookSubscriptionEnabledWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const WebhookSubscriptionEnabledWebhookEventDataOriginDashboard WebhookSubscriptionEnabledWebhookEventDataOrigin = "dashboard"`

      - `const WebhookSubscriptionEnabledWebhookEventDataOriginAPI WebhookSubscriptionEnabledWebhookEventDataOrigin = "api"`

      - `const WebhookSubscriptionEnabledWebhookEventDataOriginLinq WebhookSubscriptionEnabledWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken WebhookSubscriptionEnabledWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change WebhookSubscriptionEnabledWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName WebhookSubscriptionEnabledWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL WebhookSubscriptionEnabledWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName WebhookSubscriptionEnabledWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard WebhookSubscriptionEnabledWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment WebhookSubscriptionEnabledWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const WebhookSubscriptionEnabledWebhookEventDataEnvironmentTypeEnvironment WebhookSubscriptionEnabledWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const WebhookSubscriptionEnabledWebhookEventDataMethodCode WebhookSubscriptionEnabledWebhookEventDataMethod = "code"`

      - `const WebhookSubscriptionEnabledWebhookEventDataMethodSSO WebhookSubscriptionEnabledWebhookEventDataMethod = "sso"`

      - `const WebhookSubscriptionEnabledWebhookEventDataMethodGoogle WebhookSubscriptionEnabledWebhookEventDataMethod = "google"`

      - `const WebhookSubscriptionEnabledWebhookEventDataMethodApple WebhookSubscriptionEnabledWebhookEventDataMethod = "apple"`

      - `const WebhookSubscriptionEnabledWebhookEventDataMethodLinkedin WebhookSubscriptionEnabledWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember WebhookSubscriptionEnabledWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const WebhookSubscriptionEnabledWebhookEventDataTeamMemberRoleAdmin WebhookSubscriptionEnabledWebhookEventDataTeamMemberRole = "admin"`

        - `const WebhookSubscriptionEnabledWebhookEventDataTeamMemberRoleManager WebhookSubscriptionEnabledWebhookEventDataTeamMemberRole = "manager"`

        - `const WebhookSubscriptionEnabledWebhookEventDataTeamMemberRoleMember WebhookSubscriptionEnabledWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription WebhookSubscriptionEnabledWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookSubscriptionEnabledWebhookEventEventType`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeZeroDayRetentionUpdated WebhookSubscriptionEnabledWebhookEventEventType = "zero_day_retention.updated"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypePhoneNumberForwardingUpdated WebhookSubscriptionEnabledWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeEnvironmentLineMoved WebhookSubscriptionEnabledWebhookEventEventType = "environment.line_moved"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeContactCardCreated WebhookSubscriptionEnabledWebhookEventEventType = "contact_card.created"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeContactCardUpdated WebhookSubscriptionEnabledWebhookEventEventType = "contact_card.updated"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeContactCardDeleted WebhookSubscriptionEnabledWebhookEventEventType = "contact_card.deleted"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeAPITokenCreated WebhookSubscriptionEnabledWebhookEventEventType = "api_token.created"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeAPITokenRenamed WebhookSubscriptionEnabledWebhookEventEventType = "api_token.renamed"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeAPITokenExpiryScheduled WebhookSubscriptionEnabledWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeAPITokenExpired WebhookSubscriptionEnabledWebhookEventEventType = "api_token.expired"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeAPITokenActivated WebhookSubscriptionEnabledWebhookEventEventType = "api_token.activated"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeAPITokenDeleted WebhookSubscriptionEnabledWebhookEventEventType = "api_token.deleted"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeEnvironmentCreated WebhookSubscriptionEnabledWebhookEventEventType = "environment.created"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeEnvironmentRenamed WebhookSubscriptionEnabledWebhookEventEventType = "environment.renamed"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeEnvironmentDeleted WebhookSubscriptionEnabledWebhookEventEventType = "environment.deleted"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeWebhookSubscriptionCreated WebhookSubscriptionEnabledWebhookEventEventType = "webhook_subscription.created"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeWebhookSubscriptionDeleted WebhookSubscriptionEnabledWebhookEventEventType = "webhook_subscription.deleted"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeWebhookSubscriptionTargetURLChanged WebhookSubscriptionEnabledWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeWebhookSubscriptionEnabled WebhookSubscriptionEnabledWebhookEventEventType = "webhook_subscription.enabled"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeWebhookSubscriptionDisabled WebhookSubscriptionEnabledWebhookEventEventType = "webhook_subscription.disabled"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeWebhookSubscriptionEventsUpdated WebhookSubscriptionEnabledWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookSubscriptionEnabledWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet WebhookSubscriptionEnabledWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookSubscriptionEnabledWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeTeamMemberAdded WebhookSubscriptionEnabledWebhookEventEventType = "team_member.added"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeTeamMemberSignedIn WebhookSubscriptionEnabledWebhookEventEventType = "team_member.signed_in"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeTeamMemberSignedOut WebhookSubscriptionEnabledWebhookEventEventType = "team_member.signed_out"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeMessageSent WebhookSubscriptionEnabledWebhookEventEventType = "message.sent"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeMessageReceived WebhookSubscriptionEnabledWebhookEventEventType = "message.received"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeMessageRead WebhookSubscriptionEnabledWebhookEventEventType = "message.read"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeMessageDelivered WebhookSubscriptionEnabledWebhookEventEventType = "message.delivered"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeMessageFailed WebhookSubscriptionEnabledWebhookEventEventType = "message.failed"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeMessageEdited WebhookSubscriptionEnabledWebhookEventEventType = "message.edited"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeReactionAdded WebhookSubscriptionEnabledWebhookEventEventType = "reaction.added"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeReactionRemoved WebhookSubscriptionEnabledWebhookEventEventType = "reaction.removed"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypePollReceived WebhookSubscriptionEnabledWebhookEventEventType = "poll.received"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypePollFailed WebhookSubscriptionEnabledWebhookEventEventType = "poll.failed"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypePollSent WebhookSubscriptionEnabledWebhookEventEventType = "poll.sent"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypePollDelivered WebhookSubscriptionEnabledWebhookEventEventType = "poll.delivered"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypePollRead WebhookSubscriptionEnabledWebhookEventEventType = "poll.read"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypePollUpdated WebhookSubscriptionEnabledWebhookEventEventType = "poll.updated"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypePollVoteAdded WebhookSubscriptionEnabledWebhookEventEventType = "poll.vote.added"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypePollVoteRemoved WebhookSubscriptionEnabledWebhookEventEventType = "poll.vote.removed"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypePollReactionAdded WebhookSubscriptionEnabledWebhookEventEventType = "poll.reaction.added"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeParticipantAdded WebhookSubscriptionEnabledWebhookEventEventType = "participant.added"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeParticipantRemoved WebhookSubscriptionEnabledWebhookEventEventType = "participant.removed"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeChatCreated WebhookSubscriptionEnabledWebhookEventEventType = "chat.created"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeChatGroupNameUpdated WebhookSubscriptionEnabledWebhookEventEventType = "chat.group_name_updated"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeChatGroupIconUpdated WebhookSubscriptionEnabledWebhookEventEventType = "chat.group_icon_updated"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeChatGroupNameUpdateFailed WebhookSubscriptionEnabledWebhookEventEventType = "chat.group_name_update_failed"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeChatGroupIconUpdateFailed WebhookSubscriptionEnabledWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeChatBackgroundUpdated WebhookSubscriptionEnabledWebhookEventEventType = "chat.background_updated"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeChatBackgroundUpdateFailed WebhookSubscriptionEnabledWebhookEventEventType = "chat.background_update_failed"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeChatTypingIndicatorStarted WebhookSubscriptionEnabledWebhookEventEventType = "chat.typing_indicator.started"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeChatTypingIndicatorStopped WebhookSubscriptionEnabledWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypePhoneNumberStatusUpdated WebhookSubscriptionEnabledWebhookEventEventType = "phone_number.status_updated"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypePhoneNumberAssigned WebhookSubscriptionEnabledWebhookEventEventType = "phone_number.assigned"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypePhoneNumberReleased WebhookSubscriptionEnabledWebhookEventEventType = "phone_number.released"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypePhoneNumberLineTypeUpdated WebhookSubscriptionEnabledWebhookEventEventType = "phone_number.line_type_updated"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeContactCardReceived WebhookSubscriptionEnabledWebhookEventEventType = "contact_card.received"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeCallInitiated WebhookSubscriptionEnabledWebhookEventEventType = "call.initiated"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeCallRinging WebhookSubscriptionEnabledWebhookEventEventType = "call.ringing"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeCallAnswered WebhookSubscriptionEnabledWebhookEventEventType = "call.answered"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeCallEnded WebhookSubscriptionEnabledWebhookEventEventType = "call.ended"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeCallFailed WebhookSubscriptionEnabledWebhookEventEventType = "call.failed"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeCallDeclined WebhookSubscriptionEnabledWebhookEventEventType = "call.declined"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeCallNoAnswer WebhookSubscriptionEnabledWebhookEventEventType = "call.no_answer"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeLocationSharingStarted WebhookSubscriptionEnabledWebhookEventEventType = "location.sharing.started"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeLocationSharingStopped WebhookSubscriptionEnabledWebhookEventEventType = "location.sharing.stopped"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypePaymentSucceeded WebhookSubscriptionEnabledWebhookEventEventType = "payment.succeeded"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypePaymentCanceled WebhookSubscriptionEnabledWebhookEventEventType = "payment.canceled"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypePaymentExpired WebhookSubscriptionEnabledWebhookEventEventType = "payment.expired"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypePaymentDeclined WebhookSubscriptionEnabledWebhookEventEventType = "payment.declined"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypePaymentAuthorized WebhookSubscriptionEnabledWebhookEventEventType = "payment.authorized"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeConnectionCreated WebhookSubscriptionEnabledWebhookEventEventType = "connection.created"`

    - `const WebhookSubscriptionEnabledWebhookEventEventTypeConnectionRevoked WebhookSubscriptionEnabledWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### webhook_subscription.disabled

- `type WebhookSubscriptionDisabledWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data WebhookSubscriptionDisabledWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor WebhookSubscriptionDisabledWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const WebhookSubscriptionDisabledWebhookEventDataActorTypeTeamMember WebhookSubscriptionDisabledWebhookEventDataActorType = "team_member"`

        - `const WebhookSubscriptionDisabledWebhookEventDataActorTypeAPI WebhookSubscriptionDisabledWebhookEventDataActorType = "api"`

        - `const WebhookSubscriptionDisabledWebhookEventDataActorTypeSystem WebhookSubscriptionDisabledWebhookEventDataActorType = "system"`

        - `const WebhookSubscriptionDisabledWebhookEventDataActorTypeUnknown WebhookSubscriptionDisabledWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const WebhookSubscriptionDisabledWebhookEventDataOriginDashboard WebhookSubscriptionDisabledWebhookEventDataOrigin = "dashboard"`

      - `const WebhookSubscriptionDisabledWebhookEventDataOriginAPI WebhookSubscriptionDisabledWebhookEventDataOrigin = "api"`

      - `const WebhookSubscriptionDisabledWebhookEventDataOriginLinq WebhookSubscriptionDisabledWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken WebhookSubscriptionDisabledWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change WebhookSubscriptionDisabledWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName WebhookSubscriptionDisabledWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL WebhookSubscriptionDisabledWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName WebhookSubscriptionDisabledWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard WebhookSubscriptionDisabledWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment WebhookSubscriptionDisabledWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const WebhookSubscriptionDisabledWebhookEventDataEnvironmentTypeEnvironment WebhookSubscriptionDisabledWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const WebhookSubscriptionDisabledWebhookEventDataMethodCode WebhookSubscriptionDisabledWebhookEventDataMethod = "code"`

      - `const WebhookSubscriptionDisabledWebhookEventDataMethodSSO WebhookSubscriptionDisabledWebhookEventDataMethod = "sso"`

      - `const WebhookSubscriptionDisabledWebhookEventDataMethodGoogle WebhookSubscriptionDisabledWebhookEventDataMethod = "google"`

      - `const WebhookSubscriptionDisabledWebhookEventDataMethodApple WebhookSubscriptionDisabledWebhookEventDataMethod = "apple"`

      - `const WebhookSubscriptionDisabledWebhookEventDataMethodLinkedin WebhookSubscriptionDisabledWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember WebhookSubscriptionDisabledWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const WebhookSubscriptionDisabledWebhookEventDataTeamMemberRoleAdmin WebhookSubscriptionDisabledWebhookEventDataTeamMemberRole = "admin"`

        - `const WebhookSubscriptionDisabledWebhookEventDataTeamMemberRoleManager WebhookSubscriptionDisabledWebhookEventDataTeamMemberRole = "manager"`

        - `const WebhookSubscriptionDisabledWebhookEventDataTeamMemberRoleMember WebhookSubscriptionDisabledWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription WebhookSubscriptionDisabledWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookSubscriptionDisabledWebhookEventEventType`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeZeroDayRetentionUpdated WebhookSubscriptionDisabledWebhookEventEventType = "zero_day_retention.updated"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypePhoneNumberForwardingUpdated WebhookSubscriptionDisabledWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeEnvironmentLineMoved WebhookSubscriptionDisabledWebhookEventEventType = "environment.line_moved"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeContactCardCreated WebhookSubscriptionDisabledWebhookEventEventType = "contact_card.created"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeContactCardUpdated WebhookSubscriptionDisabledWebhookEventEventType = "contact_card.updated"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeContactCardDeleted WebhookSubscriptionDisabledWebhookEventEventType = "contact_card.deleted"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeAPITokenCreated WebhookSubscriptionDisabledWebhookEventEventType = "api_token.created"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeAPITokenRenamed WebhookSubscriptionDisabledWebhookEventEventType = "api_token.renamed"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeAPITokenExpiryScheduled WebhookSubscriptionDisabledWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeAPITokenExpired WebhookSubscriptionDisabledWebhookEventEventType = "api_token.expired"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeAPITokenActivated WebhookSubscriptionDisabledWebhookEventEventType = "api_token.activated"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeAPITokenDeleted WebhookSubscriptionDisabledWebhookEventEventType = "api_token.deleted"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeEnvironmentCreated WebhookSubscriptionDisabledWebhookEventEventType = "environment.created"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeEnvironmentRenamed WebhookSubscriptionDisabledWebhookEventEventType = "environment.renamed"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeEnvironmentDeleted WebhookSubscriptionDisabledWebhookEventEventType = "environment.deleted"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeWebhookSubscriptionCreated WebhookSubscriptionDisabledWebhookEventEventType = "webhook_subscription.created"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeWebhookSubscriptionDeleted WebhookSubscriptionDisabledWebhookEventEventType = "webhook_subscription.deleted"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeWebhookSubscriptionTargetURLChanged WebhookSubscriptionDisabledWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeWebhookSubscriptionEnabled WebhookSubscriptionDisabledWebhookEventEventType = "webhook_subscription.enabled"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeWebhookSubscriptionDisabled WebhookSubscriptionDisabledWebhookEventEventType = "webhook_subscription.disabled"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeWebhookSubscriptionEventsUpdated WebhookSubscriptionDisabledWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookSubscriptionDisabledWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet WebhookSubscriptionDisabledWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookSubscriptionDisabledWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeTeamMemberAdded WebhookSubscriptionDisabledWebhookEventEventType = "team_member.added"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeTeamMemberSignedIn WebhookSubscriptionDisabledWebhookEventEventType = "team_member.signed_in"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeTeamMemberSignedOut WebhookSubscriptionDisabledWebhookEventEventType = "team_member.signed_out"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeMessageSent WebhookSubscriptionDisabledWebhookEventEventType = "message.sent"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeMessageReceived WebhookSubscriptionDisabledWebhookEventEventType = "message.received"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeMessageRead WebhookSubscriptionDisabledWebhookEventEventType = "message.read"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeMessageDelivered WebhookSubscriptionDisabledWebhookEventEventType = "message.delivered"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeMessageFailed WebhookSubscriptionDisabledWebhookEventEventType = "message.failed"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeMessageEdited WebhookSubscriptionDisabledWebhookEventEventType = "message.edited"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeReactionAdded WebhookSubscriptionDisabledWebhookEventEventType = "reaction.added"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeReactionRemoved WebhookSubscriptionDisabledWebhookEventEventType = "reaction.removed"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypePollReceived WebhookSubscriptionDisabledWebhookEventEventType = "poll.received"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypePollFailed WebhookSubscriptionDisabledWebhookEventEventType = "poll.failed"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypePollSent WebhookSubscriptionDisabledWebhookEventEventType = "poll.sent"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypePollDelivered WebhookSubscriptionDisabledWebhookEventEventType = "poll.delivered"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypePollRead WebhookSubscriptionDisabledWebhookEventEventType = "poll.read"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypePollUpdated WebhookSubscriptionDisabledWebhookEventEventType = "poll.updated"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypePollVoteAdded WebhookSubscriptionDisabledWebhookEventEventType = "poll.vote.added"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypePollVoteRemoved WebhookSubscriptionDisabledWebhookEventEventType = "poll.vote.removed"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypePollReactionAdded WebhookSubscriptionDisabledWebhookEventEventType = "poll.reaction.added"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeParticipantAdded WebhookSubscriptionDisabledWebhookEventEventType = "participant.added"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeParticipantRemoved WebhookSubscriptionDisabledWebhookEventEventType = "participant.removed"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeChatCreated WebhookSubscriptionDisabledWebhookEventEventType = "chat.created"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeChatGroupNameUpdated WebhookSubscriptionDisabledWebhookEventEventType = "chat.group_name_updated"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeChatGroupIconUpdated WebhookSubscriptionDisabledWebhookEventEventType = "chat.group_icon_updated"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeChatGroupNameUpdateFailed WebhookSubscriptionDisabledWebhookEventEventType = "chat.group_name_update_failed"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeChatGroupIconUpdateFailed WebhookSubscriptionDisabledWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeChatBackgroundUpdated WebhookSubscriptionDisabledWebhookEventEventType = "chat.background_updated"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeChatBackgroundUpdateFailed WebhookSubscriptionDisabledWebhookEventEventType = "chat.background_update_failed"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeChatTypingIndicatorStarted WebhookSubscriptionDisabledWebhookEventEventType = "chat.typing_indicator.started"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeChatTypingIndicatorStopped WebhookSubscriptionDisabledWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypePhoneNumberStatusUpdated WebhookSubscriptionDisabledWebhookEventEventType = "phone_number.status_updated"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypePhoneNumberAssigned WebhookSubscriptionDisabledWebhookEventEventType = "phone_number.assigned"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypePhoneNumberReleased WebhookSubscriptionDisabledWebhookEventEventType = "phone_number.released"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypePhoneNumberLineTypeUpdated WebhookSubscriptionDisabledWebhookEventEventType = "phone_number.line_type_updated"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeContactCardReceived WebhookSubscriptionDisabledWebhookEventEventType = "contact_card.received"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeCallInitiated WebhookSubscriptionDisabledWebhookEventEventType = "call.initiated"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeCallRinging WebhookSubscriptionDisabledWebhookEventEventType = "call.ringing"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeCallAnswered WebhookSubscriptionDisabledWebhookEventEventType = "call.answered"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeCallEnded WebhookSubscriptionDisabledWebhookEventEventType = "call.ended"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeCallFailed WebhookSubscriptionDisabledWebhookEventEventType = "call.failed"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeCallDeclined WebhookSubscriptionDisabledWebhookEventEventType = "call.declined"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeCallNoAnswer WebhookSubscriptionDisabledWebhookEventEventType = "call.no_answer"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeLocationSharingStarted WebhookSubscriptionDisabledWebhookEventEventType = "location.sharing.started"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeLocationSharingStopped WebhookSubscriptionDisabledWebhookEventEventType = "location.sharing.stopped"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypePaymentSucceeded WebhookSubscriptionDisabledWebhookEventEventType = "payment.succeeded"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypePaymentCanceled WebhookSubscriptionDisabledWebhookEventEventType = "payment.canceled"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypePaymentExpired WebhookSubscriptionDisabledWebhookEventEventType = "payment.expired"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypePaymentDeclined WebhookSubscriptionDisabledWebhookEventEventType = "payment.declined"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypePaymentAuthorized WebhookSubscriptionDisabledWebhookEventEventType = "payment.authorized"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeConnectionCreated WebhookSubscriptionDisabledWebhookEventEventType = "connection.created"`

    - `const WebhookSubscriptionDisabledWebhookEventEventTypeConnectionRevoked WebhookSubscriptionDisabledWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### webhook_subscription.events.updated

- `type WebhookSubscriptionEventsUpdatedWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data WebhookSubscriptionEventsUpdatedWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor WebhookSubscriptionEventsUpdatedWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const WebhookSubscriptionEventsUpdatedWebhookEventDataActorTypeTeamMember WebhookSubscriptionEventsUpdatedWebhookEventDataActorType = "team_member"`

        - `const WebhookSubscriptionEventsUpdatedWebhookEventDataActorTypeAPI WebhookSubscriptionEventsUpdatedWebhookEventDataActorType = "api"`

        - `const WebhookSubscriptionEventsUpdatedWebhookEventDataActorTypeSystem WebhookSubscriptionEventsUpdatedWebhookEventDataActorType = "system"`

        - `const WebhookSubscriptionEventsUpdatedWebhookEventDataActorTypeUnknown WebhookSubscriptionEventsUpdatedWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const WebhookSubscriptionEventsUpdatedWebhookEventDataOriginDashboard WebhookSubscriptionEventsUpdatedWebhookEventDataOrigin = "dashboard"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventDataOriginAPI WebhookSubscriptionEventsUpdatedWebhookEventDataOrigin = "api"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventDataOriginLinq WebhookSubscriptionEventsUpdatedWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken WebhookSubscriptionEventsUpdatedWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change WebhookSubscriptionEventsUpdatedWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName WebhookSubscriptionEventsUpdatedWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL WebhookSubscriptionEventsUpdatedWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName WebhookSubscriptionEventsUpdatedWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard WebhookSubscriptionEventsUpdatedWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment WebhookSubscriptionEventsUpdatedWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const WebhookSubscriptionEventsUpdatedWebhookEventDataEnvironmentTypeEnvironment WebhookSubscriptionEventsUpdatedWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const WebhookSubscriptionEventsUpdatedWebhookEventDataMethodCode WebhookSubscriptionEventsUpdatedWebhookEventDataMethod = "code"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventDataMethodSSO WebhookSubscriptionEventsUpdatedWebhookEventDataMethod = "sso"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventDataMethodGoogle WebhookSubscriptionEventsUpdatedWebhookEventDataMethod = "google"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventDataMethodApple WebhookSubscriptionEventsUpdatedWebhookEventDataMethod = "apple"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventDataMethodLinkedin WebhookSubscriptionEventsUpdatedWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember WebhookSubscriptionEventsUpdatedWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const WebhookSubscriptionEventsUpdatedWebhookEventDataTeamMemberRoleAdmin WebhookSubscriptionEventsUpdatedWebhookEventDataTeamMemberRole = "admin"`

        - `const WebhookSubscriptionEventsUpdatedWebhookEventDataTeamMemberRoleManager WebhookSubscriptionEventsUpdatedWebhookEventDataTeamMemberRole = "manager"`

        - `const WebhookSubscriptionEventsUpdatedWebhookEventDataTeamMemberRoleMember WebhookSubscriptionEventsUpdatedWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription WebhookSubscriptionEventsUpdatedWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookSubscriptionEventsUpdatedWebhookEventEventType`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeZeroDayRetentionUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "zero_day_retention.updated"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePhoneNumberForwardingUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeEnvironmentLineMoved WebhookSubscriptionEventsUpdatedWebhookEventEventType = "environment.line_moved"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeContactCardCreated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "contact_card.created"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeContactCardUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "contact_card.updated"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeContactCardDeleted WebhookSubscriptionEventsUpdatedWebhookEventEventType = "contact_card.deleted"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeAPITokenCreated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "api_token.created"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeAPITokenRenamed WebhookSubscriptionEventsUpdatedWebhookEventEventType = "api_token.renamed"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeAPITokenExpiryScheduled WebhookSubscriptionEventsUpdatedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeAPITokenExpired WebhookSubscriptionEventsUpdatedWebhookEventEventType = "api_token.expired"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeAPITokenActivated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "api_token.activated"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeAPITokenDeleted WebhookSubscriptionEventsUpdatedWebhookEventEventType = "api_token.deleted"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeEnvironmentCreated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "environment.created"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeEnvironmentRenamed WebhookSubscriptionEventsUpdatedWebhookEventEventType = "environment.renamed"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeEnvironmentDeleted WebhookSubscriptionEventsUpdatedWebhookEventEventType = "environment.deleted"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeWebhookSubscriptionCreated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "webhook_subscription.created"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeWebhookSubscriptionDeleted WebhookSubscriptionEventsUpdatedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged WebhookSubscriptionEventsUpdatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeWebhookSubscriptionEnabled WebhookSubscriptionEventsUpdatedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeWebhookSubscriptionDisabled WebhookSubscriptionEventsUpdatedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet WebhookSubscriptionEventsUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookSubscriptionEventsUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeTeamMemberAdded WebhookSubscriptionEventsUpdatedWebhookEventEventType = "team_member.added"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeTeamMemberSignedIn WebhookSubscriptionEventsUpdatedWebhookEventEventType = "team_member.signed_in"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeTeamMemberSignedOut WebhookSubscriptionEventsUpdatedWebhookEventEventType = "team_member.signed_out"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeMessageSent WebhookSubscriptionEventsUpdatedWebhookEventEventType = "message.sent"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeMessageReceived WebhookSubscriptionEventsUpdatedWebhookEventEventType = "message.received"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeMessageRead WebhookSubscriptionEventsUpdatedWebhookEventEventType = "message.read"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeMessageDelivered WebhookSubscriptionEventsUpdatedWebhookEventEventType = "message.delivered"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeMessageFailed WebhookSubscriptionEventsUpdatedWebhookEventEventType = "message.failed"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeMessageEdited WebhookSubscriptionEventsUpdatedWebhookEventEventType = "message.edited"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeReactionAdded WebhookSubscriptionEventsUpdatedWebhookEventEventType = "reaction.added"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeReactionRemoved WebhookSubscriptionEventsUpdatedWebhookEventEventType = "reaction.removed"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePollReceived WebhookSubscriptionEventsUpdatedWebhookEventEventType = "poll.received"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePollFailed WebhookSubscriptionEventsUpdatedWebhookEventEventType = "poll.failed"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePollSent WebhookSubscriptionEventsUpdatedWebhookEventEventType = "poll.sent"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePollDelivered WebhookSubscriptionEventsUpdatedWebhookEventEventType = "poll.delivered"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePollRead WebhookSubscriptionEventsUpdatedWebhookEventEventType = "poll.read"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePollUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "poll.updated"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePollVoteAdded WebhookSubscriptionEventsUpdatedWebhookEventEventType = "poll.vote.added"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePollVoteRemoved WebhookSubscriptionEventsUpdatedWebhookEventEventType = "poll.vote.removed"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePollReactionAdded WebhookSubscriptionEventsUpdatedWebhookEventEventType = "poll.reaction.added"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeParticipantAdded WebhookSubscriptionEventsUpdatedWebhookEventEventType = "participant.added"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeParticipantRemoved WebhookSubscriptionEventsUpdatedWebhookEventEventType = "participant.removed"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeChatCreated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "chat.created"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeChatGroupNameUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "chat.group_name_updated"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeChatGroupIconUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "chat.group_icon_updated"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeChatGroupNameUpdateFailed WebhookSubscriptionEventsUpdatedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeChatGroupIconUpdateFailed WebhookSubscriptionEventsUpdatedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeChatBackgroundUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "chat.background_updated"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeChatBackgroundUpdateFailed WebhookSubscriptionEventsUpdatedWebhookEventEventType = "chat.background_update_failed"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeChatTypingIndicatorStarted WebhookSubscriptionEventsUpdatedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeChatTypingIndicatorStopped WebhookSubscriptionEventsUpdatedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePhoneNumberStatusUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "phone_number.status_updated"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePhoneNumberAssigned WebhookSubscriptionEventsUpdatedWebhookEventEventType = "phone_number.assigned"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePhoneNumberReleased WebhookSubscriptionEventsUpdatedWebhookEventEventType = "phone_number.released"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePhoneNumberLineTypeUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeContactCardReceived WebhookSubscriptionEventsUpdatedWebhookEventEventType = "contact_card.received"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeCallInitiated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "call.initiated"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeCallRinging WebhookSubscriptionEventsUpdatedWebhookEventEventType = "call.ringing"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeCallAnswered WebhookSubscriptionEventsUpdatedWebhookEventEventType = "call.answered"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeCallEnded WebhookSubscriptionEventsUpdatedWebhookEventEventType = "call.ended"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeCallFailed WebhookSubscriptionEventsUpdatedWebhookEventEventType = "call.failed"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeCallDeclined WebhookSubscriptionEventsUpdatedWebhookEventEventType = "call.declined"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeCallNoAnswer WebhookSubscriptionEventsUpdatedWebhookEventEventType = "call.no_answer"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeLocationSharingStarted WebhookSubscriptionEventsUpdatedWebhookEventEventType = "location.sharing.started"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeLocationSharingStopped WebhookSubscriptionEventsUpdatedWebhookEventEventType = "location.sharing.stopped"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePaymentSucceeded WebhookSubscriptionEventsUpdatedWebhookEventEventType = "payment.succeeded"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePaymentCanceled WebhookSubscriptionEventsUpdatedWebhookEventEventType = "payment.canceled"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePaymentExpired WebhookSubscriptionEventsUpdatedWebhookEventEventType = "payment.expired"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePaymentDeclined WebhookSubscriptionEventsUpdatedWebhookEventEventType = "payment.declined"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePaymentAuthorized WebhookSubscriptionEventsUpdatedWebhookEventEventType = "payment.authorized"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeConnectionCreated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "connection.created"`

    - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeConnectionRevoked WebhookSubscriptionEventsUpdatedWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### webhook_subscription.phone_numbers.updated

- `type WebhookSubscriptionPhoneNumbersUpdatedWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data WebhookSubscriptionPhoneNumbersUpdatedWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataActorTypeTeamMember WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataActorType = "team_member"`

        - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataActorTypeAPI WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataActorType = "api"`

        - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataActorTypeSystem WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataActorType = "system"`

        - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataActorTypeUnknown WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataOriginDashboard WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataOrigin = "dashboard"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataOriginAPI WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataOrigin = "api"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataOriginLinq WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataEnvironmentTypeEnvironment WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataMethodCode WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataMethod = "code"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataMethodSSO WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataMethod = "sso"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataMethodGoogle WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataMethod = "google"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataMethodApple WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataMethod = "apple"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataMethodLinkedin WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataTeamMemberRoleAdmin WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataTeamMemberRole = "admin"`

        - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataTeamMemberRoleManager WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataTeamMemberRole = "manager"`

        - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataTeamMemberRoleMember WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeZeroDayRetentionUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "zero_day_retention.updated"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePhoneNumberForwardingUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeEnvironmentLineMoved WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "environment.line_moved"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeContactCardCreated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "contact_card.created"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeContactCardUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "contact_card.updated"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeContactCardDeleted WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "contact_card.deleted"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeAPITokenCreated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "api_token.created"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeAPITokenRenamed WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "api_token.renamed"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeAPITokenExpiryScheduled WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeAPITokenExpired WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "api_token.expired"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeAPITokenActivated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "api_token.activated"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeAPITokenDeleted WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "api_token.deleted"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeEnvironmentCreated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "environment.created"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeEnvironmentRenamed WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "environment.renamed"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeEnvironmentDeleted WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "environment.deleted"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeWebhookSubscriptionCreated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "webhook_subscription.created"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeWebhookSubscriptionDeleted WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeWebhookSubscriptionEnabled WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeWebhookSubscriptionDisabled WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeTeamMemberAdded WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "team_member.added"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeTeamMemberSignedIn WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "team_member.signed_in"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeTeamMemberSignedOut WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "team_member.signed_out"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeMessageSent WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "message.sent"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeMessageReceived WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "message.received"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeMessageRead WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "message.read"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeMessageDelivered WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "message.delivered"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeMessageFailed WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "message.failed"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeMessageEdited WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "message.edited"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeReactionAdded WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "reaction.added"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeReactionRemoved WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "reaction.removed"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePollReceived WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "poll.received"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePollFailed WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "poll.failed"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePollSent WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "poll.sent"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePollDelivered WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "poll.delivered"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePollRead WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "poll.read"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePollUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "poll.updated"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePollVoteAdded WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "poll.vote.added"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePollVoteRemoved WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "poll.vote.removed"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePollReactionAdded WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "poll.reaction.added"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeParticipantAdded WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "participant.added"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeParticipantRemoved WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "participant.removed"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeChatCreated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "chat.created"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeChatGroupNameUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "chat.group_name_updated"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeChatGroupIconUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "chat.group_icon_updated"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeChatGroupNameUpdateFailed WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeChatGroupIconUpdateFailed WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeChatBackgroundUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "chat.background_updated"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeChatBackgroundUpdateFailed WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "chat.background_update_failed"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeChatTypingIndicatorStarted WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeChatTypingIndicatorStopped WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePhoneNumberStatusUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "phone_number.status_updated"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePhoneNumberAssigned WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "phone_number.assigned"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePhoneNumberReleased WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "phone_number.released"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePhoneNumberLineTypeUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeContactCardReceived WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "contact_card.received"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeCallInitiated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "call.initiated"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeCallRinging WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "call.ringing"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeCallAnswered WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "call.answered"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeCallEnded WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "call.ended"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeCallFailed WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "call.failed"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeCallDeclined WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "call.declined"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeCallNoAnswer WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "call.no_answer"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeLocationSharingStarted WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "location.sharing.started"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeLocationSharingStopped WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "location.sharing.stopped"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePaymentSucceeded WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "payment.succeeded"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePaymentCanceled WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "payment.canceled"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePaymentExpired WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "payment.expired"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePaymentDeclined WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "payment.declined"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePaymentAuthorized WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "payment.authorized"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeConnectionCreated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "connection.created"`

    - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeConnectionRevoked WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### webhook_subscription.routing_headers_set

- `type WebhookSubscriptionRoutingHeadersSetWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data WebhookSubscriptionRoutingHeadersSetWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor WebhookSubscriptionRoutingHeadersSetWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataActorTypeTeamMember WebhookSubscriptionRoutingHeadersSetWebhookEventDataActorType = "team_member"`

        - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataActorTypeAPI WebhookSubscriptionRoutingHeadersSetWebhookEventDataActorType = "api"`

        - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataActorTypeSystem WebhookSubscriptionRoutingHeadersSetWebhookEventDataActorType = "system"`

        - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataActorTypeUnknown WebhookSubscriptionRoutingHeadersSetWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataOriginDashboard WebhookSubscriptionRoutingHeadersSetWebhookEventDataOrigin = "dashboard"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataOriginAPI WebhookSubscriptionRoutingHeadersSetWebhookEventDataOrigin = "api"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataOriginLinq WebhookSubscriptionRoutingHeadersSetWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken WebhookSubscriptionRoutingHeadersSetWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change WebhookSubscriptionRoutingHeadersSetWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName WebhookSubscriptionRoutingHeadersSetWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL WebhookSubscriptionRoutingHeadersSetWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName WebhookSubscriptionRoutingHeadersSetWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard WebhookSubscriptionRoutingHeadersSetWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment WebhookSubscriptionRoutingHeadersSetWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataEnvironmentTypeEnvironment WebhookSubscriptionRoutingHeadersSetWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataMethodCode WebhookSubscriptionRoutingHeadersSetWebhookEventDataMethod = "code"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataMethodSSO WebhookSubscriptionRoutingHeadersSetWebhookEventDataMethod = "sso"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataMethodGoogle WebhookSubscriptionRoutingHeadersSetWebhookEventDataMethod = "google"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataMethodApple WebhookSubscriptionRoutingHeadersSetWebhookEventDataMethod = "apple"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataMethodLinkedin WebhookSubscriptionRoutingHeadersSetWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember WebhookSubscriptionRoutingHeadersSetWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataTeamMemberRoleAdmin WebhookSubscriptionRoutingHeadersSetWebhookEventDataTeamMemberRole = "admin"`

        - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataTeamMemberRoleManager WebhookSubscriptionRoutingHeadersSetWebhookEventDataTeamMemberRole = "manager"`

        - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataTeamMemberRoleMember WebhookSubscriptionRoutingHeadersSetWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription WebhookSubscriptionRoutingHeadersSetWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookSubscriptionRoutingHeadersSetWebhookEventEventType`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeZeroDayRetentionUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "zero_day_retention.updated"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePhoneNumberForwardingUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeEnvironmentLineMoved WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "environment.line_moved"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeContactCardCreated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "contact_card.created"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeContactCardUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "contact_card.updated"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeContactCardDeleted WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "contact_card.deleted"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeAPITokenCreated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "api_token.created"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeAPITokenRenamed WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "api_token.renamed"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeAPITokenExpiryScheduled WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeAPITokenExpired WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "api_token.expired"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeAPITokenActivated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "api_token.activated"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeAPITokenDeleted WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "api_token.deleted"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeEnvironmentCreated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "environment.created"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeEnvironmentRenamed WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "environment.renamed"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeEnvironmentDeleted WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "environment.deleted"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeWebhookSubscriptionCreated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "webhook_subscription.created"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeWebhookSubscriptionDeleted WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "webhook_subscription.deleted"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeWebhookSubscriptionTargetURLChanged WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeWebhookSubscriptionEnabled WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "webhook_subscription.enabled"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeWebhookSubscriptionDisabled WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "webhook_subscription.disabled"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeWebhookSubscriptionEventsUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeTeamMemberAdded WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "team_member.added"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeTeamMemberSignedIn WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "team_member.signed_in"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeTeamMemberSignedOut WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "team_member.signed_out"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeMessageSent WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "message.sent"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeMessageReceived WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "message.received"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeMessageRead WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "message.read"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeMessageDelivered WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "message.delivered"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeMessageFailed WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "message.failed"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeMessageEdited WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "message.edited"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeReactionAdded WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "reaction.added"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeReactionRemoved WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "reaction.removed"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePollReceived WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "poll.received"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePollFailed WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "poll.failed"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePollSent WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "poll.sent"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePollDelivered WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "poll.delivered"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePollRead WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "poll.read"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePollUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "poll.updated"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePollVoteAdded WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "poll.vote.added"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePollVoteRemoved WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "poll.vote.removed"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePollReactionAdded WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "poll.reaction.added"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeParticipantAdded WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "participant.added"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeParticipantRemoved WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "participant.removed"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeChatCreated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "chat.created"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeChatGroupNameUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "chat.group_name_updated"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeChatGroupIconUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "chat.group_icon_updated"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeChatGroupNameUpdateFailed WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "chat.group_name_update_failed"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeChatGroupIconUpdateFailed WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeChatBackgroundUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "chat.background_updated"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeChatBackgroundUpdateFailed WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "chat.background_update_failed"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeChatTypingIndicatorStarted WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "chat.typing_indicator.started"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeChatTypingIndicatorStopped WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePhoneNumberStatusUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "phone_number.status_updated"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePhoneNumberAssigned WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "phone_number.assigned"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePhoneNumberReleased WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "phone_number.released"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePhoneNumberLineTypeUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "phone_number.line_type_updated"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeContactCardReceived WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "contact_card.received"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeCallInitiated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "call.initiated"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeCallRinging WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "call.ringing"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeCallAnswered WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "call.answered"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeCallEnded WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "call.ended"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeCallFailed WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "call.failed"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeCallDeclined WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "call.declined"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeCallNoAnswer WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "call.no_answer"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeLocationSharingStarted WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "location.sharing.started"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeLocationSharingStopped WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "location.sharing.stopped"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePaymentSucceeded WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "payment.succeeded"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePaymentCanceled WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "payment.canceled"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePaymentExpired WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "payment.expired"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePaymentDeclined WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "payment.declined"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePaymentAuthorized WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "payment.authorized"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeConnectionCreated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "connection.created"`

    - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeConnectionRevoked WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### webhook_subscription.routing_headers_cleared

- `type WebhookSubscriptionRoutingHeadersClearedWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data WebhookSubscriptionRoutingHeadersClearedWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor WebhookSubscriptionRoutingHeadersClearedWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataActorTypeTeamMember WebhookSubscriptionRoutingHeadersClearedWebhookEventDataActorType = "team_member"`

        - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataActorTypeAPI WebhookSubscriptionRoutingHeadersClearedWebhookEventDataActorType = "api"`

        - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataActorTypeSystem WebhookSubscriptionRoutingHeadersClearedWebhookEventDataActorType = "system"`

        - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataActorTypeUnknown WebhookSubscriptionRoutingHeadersClearedWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataOriginDashboard WebhookSubscriptionRoutingHeadersClearedWebhookEventDataOrigin = "dashboard"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataOriginAPI WebhookSubscriptionRoutingHeadersClearedWebhookEventDataOrigin = "api"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataOriginLinq WebhookSubscriptionRoutingHeadersClearedWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken WebhookSubscriptionRoutingHeadersClearedWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change WebhookSubscriptionRoutingHeadersClearedWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName WebhookSubscriptionRoutingHeadersClearedWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL WebhookSubscriptionRoutingHeadersClearedWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName WebhookSubscriptionRoutingHeadersClearedWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard WebhookSubscriptionRoutingHeadersClearedWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment WebhookSubscriptionRoutingHeadersClearedWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataEnvironmentTypeEnvironment WebhookSubscriptionRoutingHeadersClearedWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataMethodCode WebhookSubscriptionRoutingHeadersClearedWebhookEventDataMethod = "code"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataMethodSSO WebhookSubscriptionRoutingHeadersClearedWebhookEventDataMethod = "sso"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataMethodGoogle WebhookSubscriptionRoutingHeadersClearedWebhookEventDataMethod = "google"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataMethodApple WebhookSubscriptionRoutingHeadersClearedWebhookEventDataMethod = "apple"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataMethodLinkedin WebhookSubscriptionRoutingHeadersClearedWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember WebhookSubscriptionRoutingHeadersClearedWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataTeamMemberRoleAdmin WebhookSubscriptionRoutingHeadersClearedWebhookEventDataTeamMemberRole = "admin"`

        - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataTeamMemberRoleManager WebhookSubscriptionRoutingHeadersClearedWebhookEventDataTeamMemberRole = "manager"`

        - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataTeamMemberRoleMember WebhookSubscriptionRoutingHeadersClearedWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription WebhookSubscriptionRoutingHeadersClearedWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeZeroDayRetentionUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "zero_day_retention.updated"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePhoneNumberForwardingUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeEnvironmentLineMoved WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "environment.line_moved"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeContactCardCreated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "contact_card.created"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeContactCardUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "contact_card.updated"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeContactCardDeleted WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "contact_card.deleted"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeAPITokenCreated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "api_token.created"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeAPITokenRenamed WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "api_token.renamed"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeAPITokenExpiryScheduled WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeAPITokenExpired WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "api_token.expired"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeAPITokenActivated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "api_token.activated"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeAPITokenDeleted WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "api_token.deleted"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeEnvironmentCreated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "environment.created"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeEnvironmentRenamed WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "environment.renamed"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeEnvironmentDeleted WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "environment.deleted"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeWebhookSubscriptionCreated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "webhook_subscription.created"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeWebhookSubscriptionDeleted WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeWebhookSubscriptionEnabled WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeWebhookSubscriptionDisabled WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeWebhookSubscriptionEventsUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeTeamMemberAdded WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "team_member.added"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeTeamMemberSignedIn WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "team_member.signed_in"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeTeamMemberSignedOut WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "team_member.signed_out"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeMessageSent WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "message.sent"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeMessageReceived WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "message.received"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeMessageRead WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "message.read"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeMessageDelivered WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "message.delivered"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeMessageFailed WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "message.failed"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeMessageEdited WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "message.edited"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeReactionAdded WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "reaction.added"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeReactionRemoved WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "reaction.removed"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePollReceived WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "poll.received"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePollFailed WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "poll.failed"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePollSent WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "poll.sent"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePollDelivered WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "poll.delivered"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePollRead WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "poll.read"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePollUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "poll.updated"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePollVoteAdded WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "poll.vote.added"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePollVoteRemoved WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "poll.vote.removed"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePollReactionAdded WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "poll.reaction.added"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeParticipantAdded WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "participant.added"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeParticipantRemoved WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "participant.removed"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeChatCreated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "chat.created"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeChatGroupNameUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "chat.group_name_updated"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeChatGroupIconUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "chat.group_icon_updated"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeChatGroupNameUpdateFailed WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeChatGroupIconUpdateFailed WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeChatBackgroundUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "chat.background_updated"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeChatBackgroundUpdateFailed WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "chat.background_update_failed"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeChatTypingIndicatorStarted WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeChatTypingIndicatorStopped WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePhoneNumberStatusUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "phone_number.status_updated"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePhoneNumberAssigned WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "phone_number.assigned"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePhoneNumberReleased WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "phone_number.released"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePhoneNumberLineTypeUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeContactCardReceived WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "contact_card.received"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeCallInitiated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "call.initiated"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeCallRinging WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "call.ringing"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeCallAnswered WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "call.answered"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeCallEnded WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "call.ended"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeCallFailed WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "call.failed"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeCallDeclined WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "call.declined"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeCallNoAnswer WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "call.no_answer"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeLocationSharingStarted WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "location.sharing.started"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeLocationSharingStopped WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "location.sharing.stopped"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePaymentSucceeded WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "payment.succeeded"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePaymentCanceled WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "payment.canceled"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePaymentExpired WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "payment.expired"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePaymentDeclined WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "payment.declined"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePaymentAuthorized WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "payment.authorized"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeConnectionCreated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "connection.created"`

    - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeConnectionRevoked WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### team_member.added

- `type TeamMemberAddedWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data TeamMemberAddedWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor TeamMemberAddedWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const TeamMemberAddedWebhookEventDataActorTypeTeamMember TeamMemberAddedWebhookEventDataActorType = "team_member"`

        - `const TeamMemberAddedWebhookEventDataActorTypeAPI TeamMemberAddedWebhookEventDataActorType = "api"`

        - `const TeamMemberAddedWebhookEventDataActorTypeSystem TeamMemberAddedWebhookEventDataActorType = "system"`

        - `const TeamMemberAddedWebhookEventDataActorTypeUnknown TeamMemberAddedWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const TeamMemberAddedWebhookEventDataOriginDashboard TeamMemberAddedWebhookEventDataOrigin = "dashboard"`

      - `const TeamMemberAddedWebhookEventDataOriginAPI TeamMemberAddedWebhookEventDataOrigin = "api"`

      - `const TeamMemberAddedWebhookEventDataOriginLinq TeamMemberAddedWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken TeamMemberAddedWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change TeamMemberAddedWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName TeamMemberAddedWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL TeamMemberAddedWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName TeamMemberAddedWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard TeamMemberAddedWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment TeamMemberAddedWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const TeamMemberAddedWebhookEventDataEnvironmentTypeEnvironment TeamMemberAddedWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const TeamMemberAddedWebhookEventDataMethodCode TeamMemberAddedWebhookEventDataMethod = "code"`

      - `const TeamMemberAddedWebhookEventDataMethodSSO TeamMemberAddedWebhookEventDataMethod = "sso"`

      - `const TeamMemberAddedWebhookEventDataMethodGoogle TeamMemberAddedWebhookEventDataMethod = "google"`

      - `const TeamMemberAddedWebhookEventDataMethodApple TeamMemberAddedWebhookEventDataMethod = "apple"`

      - `const TeamMemberAddedWebhookEventDataMethodLinkedin TeamMemberAddedWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember TeamMemberAddedWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const TeamMemberAddedWebhookEventDataTeamMemberRoleAdmin TeamMemberAddedWebhookEventDataTeamMemberRole = "admin"`

        - `const TeamMemberAddedWebhookEventDataTeamMemberRoleManager TeamMemberAddedWebhookEventDataTeamMemberRole = "manager"`

        - `const TeamMemberAddedWebhookEventDataTeamMemberRoleMember TeamMemberAddedWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription TeamMemberAddedWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType TeamMemberAddedWebhookEventEventType`

    - `const TeamMemberAddedWebhookEventEventTypeZeroDayRetentionUpdated TeamMemberAddedWebhookEventEventType = "zero_day_retention.updated"`

    - `const TeamMemberAddedWebhookEventEventTypePhoneNumberForwardingUpdated TeamMemberAddedWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const TeamMemberAddedWebhookEventEventTypeEnvironmentLineMoved TeamMemberAddedWebhookEventEventType = "environment.line_moved"`

    - `const TeamMemberAddedWebhookEventEventTypeContactCardCreated TeamMemberAddedWebhookEventEventType = "contact_card.created"`

    - `const TeamMemberAddedWebhookEventEventTypeContactCardUpdated TeamMemberAddedWebhookEventEventType = "contact_card.updated"`

    - `const TeamMemberAddedWebhookEventEventTypeContactCardDeleted TeamMemberAddedWebhookEventEventType = "contact_card.deleted"`

    - `const TeamMemberAddedWebhookEventEventTypeAPITokenCreated TeamMemberAddedWebhookEventEventType = "api_token.created"`

    - `const TeamMemberAddedWebhookEventEventTypeAPITokenRenamed TeamMemberAddedWebhookEventEventType = "api_token.renamed"`

    - `const TeamMemberAddedWebhookEventEventTypeAPITokenExpiryScheduled TeamMemberAddedWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const TeamMemberAddedWebhookEventEventTypeAPITokenExpired TeamMemberAddedWebhookEventEventType = "api_token.expired"`

    - `const TeamMemberAddedWebhookEventEventTypeAPITokenActivated TeamMemberAddedWebhookEventEventType = "api_token.activated"`

    - `const TeamMemberAddedWebhookEventEventTypeAPITokenDeleted TeamMemberAddedWebhookEventEventType = "api_token.deleted"`

    - `const TeamMemberAddedWebhookEventEventTypeEnvironmentCreated TeamMemberAddedWebhookEventEventType = "environment.created"`

    - `const TeamMemberAddedWebhookEventEventTypeEnvironmentRenamed TeamMemberAddedWebhookEventEventType = "environment.renamed"`

    - `const TeamMemberAddedWebhookEventEventTypeEnvironmentDeleted TeamMemberAddedWebhookEventEventType = "environment.deleted"`

    - `const TeamMemberAddedWebhookEventEventTypeWebhookSubscriptionCreated TeamMemberAddedWebhookEventEventType = "webhook_subscription.created"`

    - `const TeamMemberAddedWebhookEventEventTypeWebhookSubscriptionDeleted TeamMemberAddedWebhookEventEventType = "webhook_subscription.deleted"`

    - `const TeamMemberAddedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged TeamMemberAddedWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const TeamMemberAddedWebhookEventEventTypeWebhookSubscriptionEnabled TeamMemberAddedWebhookEventEventType = "webhook_subscription.enabled"`

    - `const TeamMemberAddedWebhookEventEventTypeWebhookSubscriptionDisabled TeamMemberAddedWebhookEventEventType = "webhook_subscription.disabled"`

    - `const TeamMemberAddedWebhookEventEventTypeWebhookSubscriptionEventsUpdated TeamMemberAddedWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const TeamMemberAddedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated TeamMemberAddedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const TeamMemberAddedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet TeamMemberAddedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const TeamMemberAddedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared TeamMemberAddedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const TeamMemberAddedWebhookEventEventTypeTeamMemberAdded TeamMemberAddedWebhookEventEventType = "team_member.added"`

    - `const TeamMemberAddedWebhookEventEventTypeTeamMemberSignedIn TeamMemberAddedWebhookEventEventType = "team_member.signed_in"`

    - `const TeamMemberAddedWebhookEventEventTypeTeamMemberSignedOut TeamMemberAddedWebhookEventEventType = "team_member.signed_out"`

    - `const TeamMemberAddedWebhookEventEventTypeMessageSent TeamMemberAddedWebhookEventEventType = "message.sent"`

    - `const TeamMemberAddedWebhookEventEventTypeMessageReceived TeamMemberAddedWebhookEventEventType = "message.received"`

    - `const TeamMemberAddedWebhookEventEventTypeMessageRead TeamMemberAddedWebhookEventEventType = "message.read"`

    - `const TeamMemberAddedWebhookEventEventTypeMessageDelivered TeamMemberAddedWebhookEventEventType = "message.delivered"`

    - `const TeamMemberAddedWebhookEventEventTypeMessageFailed TeamMemberAddedWebhookEventEventType = "message.failed"`

    - `const TeamMemberAddedWebhookEventEventTypeMessageEdited TeamMemberAddedWebhookEventEventType = "message.edited"`

    - `const TeamMemberAddedWebhookEventEventTypeReactionAdded TeamMemberAddedWebhookEventEventType = "reaction.added"`

    - `const TeamMemberAddedWebhookEventEventTypeReactionRemoved TeamMemberAddedWebhookEventEventType = "reaction.removed"`

    - `const TeamMemberAddedWebhookEventEventTypePollReceived TeamMemberAddedWebhookEventEventType = "poll.received"`

    - `const TeamMemberAddedWebhookEventEventTypePollFailed TeamMemberAddedWebhookEventEventType = "poll.failed"`

    - `const TeamMemberAddedWebhookEventEventTypePollSent TeamMemberAddedWebhookEventEventType = "poll.sent"`

    - `const TeamMemberAddedWebhookEventEventTypePollDelivered TeamMemberAddedWebhookEventEventType = "poll.delivered"`

    - `const TeamMemberAddedWebhookEventEventTypePollRead TeamMemberAddedWebhookEventEventType = "poll.read"`

    - `const TeamMemberAddedWebhookEventEventTypePollUpdated TeamMemberAddedWebhookEventEventType = "poll.updated"`

    - `const TeamMemberAddedWebhookEventEventTypePollVoteAdded TeamMemberAddedWebhookEventEventType = "poll.vote.added"`

    - `const TeamMemberAddedWebhookEventEventTypePollVoteRemoved TeamMemberAddedWebhookEventEventType = "poll.vote.removed"`

    - `const TeamMemberAddedWebhookEventEventTypePollReactionAdded TeamMemberAddedWebhookEventEventType = "poll.reaction.added"`

    - `const TeamMemberAddedWebhookEventEventTypeParticipantAdded TeamMemberAddedWebhookEventEventType = "participant.added"`

    - `const TeamMemberAddedWebhookEventEventTypeParticipantRemoved TeamMemberAddedWebhookEventEventType = "participant.removed"`

    - `const TeamMemberAddedWebhookEventEventTypeChatCreated TeamMemberAddedWebhookEventEventType = "chat.created"`

    - `const TeamMemberAddedWebhookEventEventTypeChatGroupNameUpdated TeamMemberAddedWebhookEventEventType = "chat.group_name_updated"`

    - `const TeamMemberAddedWebhookEventEventTypeChatGroupIconUpdated TeamMemberAddedWebhookEventEventType = "chat.group_icon_updated"`

    - `const TeamMemberAddedWebhookEventEventTypeChatGroupNameUpdateFailed TeamMemberAddedWebhookEventEventType = "chat.group_name_update_failed"`

    - `const TeamMemberAddedWebhookEventEventTypeChatGroupIconUpdateFailed TeamMemberAddedWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const TeamMemberAddedWebhookEventEventTypeChatBackgroundUpdated TeamMemberAddedWebhookEventEventType = "chat.background_updated"`

    - `const TeamMemberAddedWebhookEventEventTypeChatBackgroundUpdateFailed TeamMemberAddedWebhookEventEventType = "chat.background_update_failed"`

    - `const TeamMemberAddedWebhookEventEventTypeChatTypingIndicatorStarted TeamMemberAddedWebhookEventEventType = "chat.typing_indicator.started"`

    - `const TeamMemberAddedWebhookEventEventTypeChatTypingIndicatorStopped TeamMemberAddedWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const TeamMemberAddedWebhookEventEventTypePhoneNumberStatusUpdated TeamMemberAddedWebhookEventEventType = "phone_number.status_updated"`

    - `const TeamMemberAddedWebhookEventEventTypePhoneNumberAssigned TeamMemberAddedWebhookEventEventType = "phone_number.assigned"`

    - `const TeamMemberAddedWebhookEventEventTypePhoneNumberReleased TeamMemberAddedWebhookEventEventType = "phone_number.released"`

    - `const TeamMemberAddedWebhookEventEventTypePhoneNumberLineTypeUpdated TeamMemberAddedWebhookEventEventType = "phone_number.line_type_updated"`

    - `const TeamMemberAddedWebhookEventEventTypeContactCardReceived TeamMemberAddedWebhookEventEventType = "contact_card.received"`

    - `const TeamMemberAddedWebhookEventEventTypeCallInitiated TeamMemberAddedWebhookEventEventType = "call.initiated"`

    - `const TeamMemberAddedWebhookEventEventTypeCallRinging TeamMemberAddedWebhookEventEventType = "call.ringing"`

    - `const TeamMemberAddedWebhookEventEventTypeCallAnswered TeamMemberAddedWebhookEventEventType = "call.answered"`

    - `const TeamMemberAddedWebhookEventEventTypeCallEnded TeamMemberAddedWebhookEventEventType = "call.ended"`

    - `const TeamMemberAddedWebhookEventEventTypeCallFailed TeamMemberAddedWebhookEventEventType = "call.failed"`

    - `const TeamMemberAddedWebhookEventEventTypeCallDeclined TeamMemberAddedWebhookEventEventType = "call.declined"`

    - `const TeamMemberAddedWebhookEventEventTypeCallNoAnswer TeamMemberAddedWebhookEventEventType = "call.no_answer"`

    - `const TeamMemberAddedWebhookEventEventTypeLocationSharingStarted TeamMemberAddedWebhookEventEventType = "location.sharing.started"`

    - `const TeamMemberAddedWebhookEventEventTypeLocationSharingStopped TeamMemberAddedWebhookEventEventType = "location.sharing.stopped"`

    - `const TeamMemberAddedWebhookEventEventTypePaymentSucceeded TeamMemberAddedWebhookEventEventType = "payment.succeeded"`

    - `const TeamMemberAddedWebhookEventEventTypePaymentCanceled TeamMemberAddedWebhookEventEventType = "payment.canceled"`

    - `const TeamMemberAddedWebhookEventEventTypePaymentExpired TeamMemberAddedWebhookEventEventType = "payment.expired"`

    - `const TeamMemberAddedWebhookEventEventTypePaymentDeclined TeamMemberAddedWebhookEventEventType = "payment.declined"`

    - `const TeamMemberAddedWebhookEventEventTypePaymentAuthorized TeamMemberAddedWebhookEventEventType = "payment.authorized"`

    - `const TeamMemberAddedWebhookEventEventTypeConnectionCreated TeamMemberAddedWebhookEventEventType = "connection.created"`

    - `const TeamMemberAddedWebhookEventEventTypeConnectionRevoked TeamMemberAddedWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### team_member.signed_in

- `type TeamMemberSignedInWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data TeamMemberSignedInWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor TeamMemberSignedInWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const TeamMemberSignedInWebhookEventDataActorTypeTeamMember TeamMemberSignedInWebhookEventDataActorType = "team_member"`

        - `const TeamMemberSignedInWebhookEventDataActorTypeAPI TeamMemberSignedInWebhookEventDataActorType = "api"`

        - `const TeamMemberSignedInWebhookEventDataActorTypeSystem TeamMemberSignedInWebhookEventDataActorType = "system"`

        - `const TeamMemberSignedInWebhookEventDataActorTypeUnknown TeamMemberSignedInWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const TeamMemberSignedInWebhookEventDataOriginDashboard TeamMemberSignedInWebhookEventDataOrigin = "dashboard"`

      - `const TeamMemberSignedInWebhookEventDataOriginAPI TeamMemberSignedInWebhookEventDataOrigin = "api"`

      - `const TeamMemberSignedInWebhookEventDataOriginLinq TeamMemberSignedInWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken TeamMemberSignedInWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change TeamMemberSignedInWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName TeamMemberSignedInWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL TeamMemberSignedInWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName TeamMemberSignedInWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard TeamMemberSignedInWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment TeamMemberSignedInWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const TeamMemberSignedInWebhookEventDataEnvironmentTypeEnvironment TeamMemberSignedInWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const TeamMemberSignedInWebhookEventDataMethodCode TeamMemberSignedInWebhookEventDataMethod = "code"`

      - `const TeamMemberSignedInWebhookEventDataMethodSSO TeamMemberSignedInWebhookEventDataMethod = "sso"`

      - `const TeamMemberSignedInWebhookEventDataMethodGoogle TeamMemberSignedInWebhookEventDataMethod = "google"`

      - `const TeamMemberSignedInWebhookEventDataMethodApple TeamMemberSignedInWebhookEventDataMethod = "apple"`

      - `const TeamMemberSignedInWebhookEventDataMethodLinkedin TeamMemberSignedInWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember TeamMemberSignedInWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const TeamMemberSignedInWebhookEventDataTeamMemberRoleAdmin TeamMemberSignedInWebhookEventDataTeamMemberRole = "admin"`

        - `const TeamMemberSignedInWebhookEventDataTeamMemberRoleManager TeamMemberSignedInWebhookEventDataTeamMemberRole = "manager"`

        - `const TeamMemberSignedInWebhookEventDataTeamMemberRoleMember TeamMemberSignedInWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription TeamMemberSignedInWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType TeamMemberSignedInWebhookEventEventType`

    - `const TeamMemberSignedInWebhookEventEventTypeZeroDayRetentionUpdated TeamMemberSignedInWebhookEventEventType = "zero_day_retention.updated"`

    - `const TeamMemberSignedInWebhookEventEventTypePhoneNumberForwardingUpdated TeamMemberSignedInWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const TeamMemberSignedInWebhookEventEventTypeEnvironmentLineMoved TeamMemberSignedInWebhookEventEventType = "environment.line_moved"`

    - `const TeamMemberSignedInWebhookEventEventTypeContactCardCreated TeamMemberSignedInWebhookEventEventType = "contact_card.created"`

    - `const TeamMemberSignedInWebhookEventEventTypeContactCardUpdated TeamMemberSignedInWebhookEventEventType = "contact_card.updated"`

    - `const TeamMemberSignedInWebhookEventEventTypeContactCardDeleted TeamMemberSignedInWebhookEventEventType = "contact_card.deleted"`

    - `const TeamMemberSignedInWebhookEventEventTypeAPITokenCreated TeamMemberSignedInWebhookEventEventType = "api_token.created"`

    - `const TeamMemberSignedInWebhookEventEventTypeAPITokenRenamed TeamMemberSignedInWebhookEventEventType = "api_token.renamed"`

    - `const TeamMemberSignedInWebhookEventEventTypeAPITokenExpiryScheduled TeamMemberSignedInWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const TeamMemberSignedInWebhookEventEventTypeAPITokenExpired TeamMemberSignedInWebhookEventEventType = "api_token.expired"`

    - `const TeamMemberSignedInWebhookEventEventTypeAPITokenActivated TeamMemberSignedInWebhookEventEventType = "api_token.activated"`

    - `const TeamMemberSignedInWebhookEventEventTypeAPITokenDeleted TeamMemberSignedInWebhookEventEventType = "api_token.deleted"`

    - `const TeamMemberSignedInWebhookEventEventTypeEnvironmentCreated TeamMemberSignedInWebhookEventEventType = "environment.created"`

    - `const TeamMemberSignedInWebhookEventEventTypeEnvironmentRenamed TeamMemberSignedInWebhookEventEventType = "environment.renamed"`

    - `const TeamMemberSignedInWebhookEventEventTypeEnvironmentDeleted TeamMemberSignedInWebhookEventEventType = "environment.deleted"`

    - `const TeamMemberSignedInWebhookEventEventTypeWebhookSubscriptionCreated TeamMemberSignedInWebhookEventEventType = "webhook_subscription.created"`

    - `const TeamMemberSignedInWebhookEventEventTypeWebhookSubscriptionDeleted TeamMemberSignedInWebhookEventEventType = "webhook_subscription.deleted"`

    - `const TeamMemberSignedInWebhookEventEventTypeWebhookSubscriptionTargetURLChanged TeamMemberSignedInWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const TeamMemberSignedInWebhookEventEventTypeWebhookSubscriptionEnabled TeamMemberSignedInWebhookEventEventType = "webhook_subscription.enabled"`

    - `const TeamMemberSignedInWebhookEventEventTypeWebhookSubscriptionDisabled TeamMemberSignedInWebhookEventEventType = "webhook_subscription.disabled"`

    - `const TeamMemberSignedInWebhookEventEventTypeWebhookSubscriptionEventsUpdated TeamMemberSignedInWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const TeamMemberSignedInWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated TeamMemberSignedInWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const TeamMemberSignedInWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet TeamMemberSignedInWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const TeamMemberSignedInWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared TeamMemberSignedInWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const TeamMemberSignedInWebhookEventEventTypeTeamMemberAdded TeamMemberSignedInWebhookEventEventType = "team_member.added"`

    - `const TeamMemberSignedInWebhookEventEventTypeTeamMemberSignedIn TeamMemberSignedInWebhookEventEventType = "team_member.signed_in"`

    - `const TeamMemberSignedInWebhookEventEventTypeTeamMemberSignedOut TeamMemberSignedInWebhookEventEventType = "team_member.signed_out"`

    - `const TeamMemberSignedInWebhookEventEventTypeMessageSent TeamMemberSignedInWebhookEventEventType = "message.sent"`

    - `const TeamMemberSignedInWebhookEventEventTypeMessageReceived TeamMemberSignedInWebhookEventEventType = "message.received"`

    - `const TeamMemberSignedInWebhookEventEventTypeMessageRead TeamMemberSignedInWebhookEventEventType = "message.read"`

    - `const TeamMemberSignedInWebhookEventEventTypeMessageDelivered TeamMemberSignedInWebhookEventEventType = "message.delivered"`

    - `const TeamMemberSignedInWebhookEventEventTypeMessageFailed TeamMemberSignedInWebhookEventEventType = "message.failed"`

    - `const TeamMemberSignedInWebhookEventEventTypeMessageEdited TeamMemberSignedInWebhookEventEventType = "message.edited"`

    - `const TeamMemberSignedInWebhookEventEventTypeReactionAdded TeamMemberSignedInWebhookEventEventType = "reaction.added"`

    - `const TeamMemberSignedInWebhookEventEventTypeReactionRemoved TeamMemberSignedInWebhookEventEventType = "reaction.removed"`

    - `const TeamMemberSignedInWebhookEventEventTypePollReceived TeamMemberSignedInWebhookEventEventType = "poll.received"`

    - `const TeamMemberSignedInWebhookEventEventTypePollFailed TeamMemberSignedInWebhookEventEventType = "poll.failed"`

    - `const TeamMemberSignedInWebhookEventEventTypePollSent TeamMemberSignedInWebhookEventEventType = "poll.sent"`

    - `const TeamMemberSignedInWebhookEventEventTypePollDelivered TeamMemberSignedInWebhookEventEventType = "poll.delivered"`

    - `const TeamMemberSignedInWebhookEventEventTypePollRead TeamMemberSignedInWebhookEventEventType = "poll.read"`

    - `const TeamMemberSignedInWebhookEventEventTypePollUpdated TeamMemberSignedInWebhookEventEventType = "poll.updated"`

    - `const TeamMemberSignedInWebhookEventEventTypePollVoteAdded TeamMemberSignedInWebhookEventEventType = "poll.vote.added"`

    - `const TeamMemberSignedInWebhookEventEventTypePollVoteRemoved TeamMemberSignedInWebhookEventEventType = "poll.vote.removed"`

    - `const TeamMemberSignedInWebhookEventEventTypePollReactionAdded TeamMemberSignedInWebhookEventEventType = "poll.reaction.added"`

    - `const TeamMemberSignedInWebhookEventEventTypeParticipantAdded TeamMemberSignedInWebhookEventEventType = "participant.added"`

    - `const TeamMemberSignedInWebhookEventEventTypeParticipantRemoved TeamMemberSignedInWebhookEventEventType = "participant.removed"`

    - `const TeamMemberSignedInWebhookEventEventTypeChatCreated TeamMemberSignedInWebhookEventEventType = "chat.created"`

    - `const TeamMemberSignedInWebhookEventEventTypeChatGroupNameUpdated TeamMemberSignedInWebhookEventEventType = "chat.group_name_updated"`

    - `const TeamMemberSignedInWebhookEventEventTypeChatGroupIconUpdated TeamMemberSignedInWebhookEventEventType = "chat.group_icon_updated"`

    - `const TeamMemberSignedInWebhookEventEventTypeChatGroupNameUpdateFailed TeamMemberSignedInWebhookEventEventType = "chat.group_name_update_failed"`

    - `const TeamMemberSignedInWebhookEventEventTypeChatGroupIconUpdateFailed TeamMemberSignedInWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const TeamMemberSignedInWebhookEventEventTypeChatBackgroundUpdated TeamMemberSignedInWebhookEventEventType = "chat.background_updated"`

    - `const TeamMemberSignedInWebhookEventEventTypeChatBackgroundUpdateFailed TeamMemberSignedInWebhookEventEventType = "chat.background_update_failed"`

    - `const TeamMemberSignedInWebhookEventEventTypeChatTypingIndicatorStarted TeamMemberSignedInWebhookEventEventType = "chat.typing_indicator.started"`

    - `const TeamMemberSignedInWebhookEventEventTypeChatTypingIndicatorStopped TeamMemberSignedInWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const TeamMemberSignedInWebhookEventEventTypePhoneNumberStatusUpdated TeamMemberSignedInWebhookEventEventType = "phone_number.status_updated"`

    - `const TeamMemberSignedInWebhookEventEventTypePhoneNumberAssigned TeamMemberSignedInWebhookEventEventType = "phone_number.assigned"`

    - `const TeamMemberSignedInWebhookEventEventTypePhoneNumberReleased TeamMemberSignedInWebhookEventEventType = "phone_number.released"`

    - `const TeamMemberSignedInWebhookEventEventTypePhoneNumberLineTypeUpdated TeamMemberSignedInWebhookEventEventType = "phone_number.line_type_updated"`

    - `const TeamMemberSignedInWebhookEventEventTypeContactCardReceived TeamMemberSignedInWebhookEventEventType = "contact_card.received"`

    - `const TeamMemberSignedInWebhookEventEventTypeCallInitiated TeamMemberSignedInWebhookEventEventType = "call.initiated"`

    - `const TeamMemberSignedInWebhookEventEventTypeCallRinging TeamMemberSignedInWebhookEventEventType = "call.ringing"`

    - `const TeamMemberSignedInWebhookEventEventTypeCallAnswered TeamMemberSignedInWebhookEventEventType = "call.answered"`

    - `const TeamMemberSignedInWebhookEventEventTypeCallEnded TeamMemberSignedInWebhookEventEventType = "call.ended"`

    - `const TeamMemberSignedInWebhookEventEventTypeCallFailed TeamMemberSignedInWebhookEventEventType = "call.failed"`

    - `const TeamMemberSignedInWebhookEventEventTypeCallDeclined TeamMemberSignedInWebhookEventEventType = "call.declined"`

    - `const TeamMemberSignedInWebhookEventEventTypeCallNoAnswer TeamMemberSignedInWebhookEventEventType = "call.no_answer"`

    - `const TeamMemberSignedInWebhookEventEventTypeLocationSharingStarted TeamMemberSignedInWebhookEventEventType = "location.sharing.started"`

    - `const TeamMemberSignedInWebhookEventEventTypeLocationSharingStopped TeamMemberSignedInWebhookEventEventType = "location.sharing.stopped"`

    - `const TeamMemberSignedInWebhookEventEventTypePaymentSucceeded TeamMemberSignedInWebhookEventEventType = "payment.succeeded"`

    - `const TeamMemberSignedInWebhookEventEventTypePaymentCanceled TeamMemberSignedInWebhookEventEventType = "payment.canceled"`

    - `const TeamMemberSignedInWebhookEventEventTypePaymentExpired TeamMemberSignedInWebhookEventEventType = "payment.expired"`

    - `const TeamMemberSignedInWebhookEventEventTypePaymentDeclined TeamMemberSignedInWebhookEventEventType = "payment.declined"`

    - `const TeamMemberSignedInWebhookEventEventTypePaymentAuthorized TeamMemberSignedInWebhookEventEventType = "payment.authorized"`

    - `const TeamMemberSignedInWebhookEventEventTypeConnectionCreated TeamMemberSignedInWebhookEventEventType = "connection.created"`

    - `const TeamMemberSignedInWebhookEventEventTypeConnectionRevoked TeamMemberSignedInWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### team_member.signed_out

- `type TeamMemberSignedOutWebhookEvent struct{…}`

  Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

  - `APIVersion string`

    API version for the webhook payload format

  - `CreatedAt Time`

    When the event was created

  - `Data TeamMemberSignedOutWebhookEventData`

    A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

    - `Actor TeamMemberSignedOutWebhookEventDataActor`

      Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

      - `Type string`

        - `const TeamMemberSignedOutWebhookEventDataActorTypeTeamMember TeamMemberSignedOutWebhookEventDataActorType = "team_member"`

        - `const TeamMemberSignedOutWebhookEventDataActorTypeAPI TeamMemberSignedOutWebhookEventDataActorType = "api"`

        - `const TeamMemberSignedOutWebhookEventDataActorTypeSystem TeamMemberSignedOutWebhookEventDataActorType = "system"`

        - `const TeamMemberSignedOutWebhookEventDataActorTypeUnknown TeamMemberSignedOutWebhookEventDataActorType = "unknown"`

      - `ID string`

        Team member's user ID. Only for `team_member`.

      - `Email string`

        Team member's email. Only for `team_member`.

      - `Name string`

        Team member's name. Only for `team_member`.

    - `OccurredAt Time`

      When the change happened.

    - `Origin string`

      Where the change was made.

      - `const TeamMemberSignedOutWebhookEventDataOriginDashboard TeamMemberSignedOutWebhookEventDataOrigin = "dashboard"`

      - `const TeamMemberSignedOutWebhookEventDataOriginAPI TeamMemberSignedOutWebhookEventDataOrigin = "api"`

      - `const TeamMemberSignedOutWebhookEventDataOriginLinq TeamMemberSignedOutWebhookEventDataOrigin = "linq"`

    - `Summary string`

      Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

    - `APIToken TeamMemberSignedOutWebhookEventDataAPIToken`

      The API token that changed.

      - `ID string`

      - `ExpiresAt Time`

        When the token expires; null if it never does.

      - `TokenPrefix string`

        The token's visible prefix.

      - `Name string`

        Absent when the token has no name.

    - `Change TeamMemberSignedOutWebhookEventDataChange`

      The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

      - `FirstName TeamMemberSignedOutWebhookEventDataChangeFirstName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `From any`

        The value before the change; null when there was none.

      - `ImageURL TeamMemberSignedOutWebhookEventDataChangeImageURL`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `LastName TeamMemberSignedOutWebhookEventDataChangeLastName`

        A single field's change, on `contact_card.updated`. Present only for the field that changed.

        - `From string`

          The value before the change; null when the card had none.

        - `To string`

          The value after the change; null when it was removed.

      - `To any`

        The value after the change; null when it was cleared.

    - `ContactCard TeamMemberSignedOutWebhookEventDataContactCard`

      The contact card that changed.

      - `ID string`

      - `FirstName string`

      - `ImageURL string`

        Null when the card has no photo.

      - `LastName string`

        Null when the card has no last name.

    - `Environment TeamMemberSignedOutWebhookEventDataEnvironment`

      An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

      - `Name string`

      - `Type string`

        - `const TeamMemberSignedOutWebhookEventDataEnvironmentTypeEnvironment TeamMemberSignedOutWebhookEventDataEnvironmentType = "environment"`

    - `LinesMovedToProduction int64`

      Lines moved to Production when an environment was deleted.

    - `Method string`

      How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

      - `const TeamMemberSignedOutWebhookEventDataMethodCode TeamMemberSignedOutWebhookEventDataMethod = "code"`

      - `const TeamMemberSignedOutWebhookEventDataMethodSSO TeamMemberSignedOutWebhookEventDataMethod = "sso"`

      - `const TeamMemberSignedOutWebhookEventDataMethodGoogle TeamMemberSignedOutWebhookEventDataMethod = "google"`

      - `const TeamMemberSignedOutWebhookEventDataMethodApple TeamMemberSignedOutWebhookEventDataMethod = "apple"`

      - `const TeamMemberSignedOutWebhookEventDataMethodLinkedin TeamMemberSignedOutWebhookEventDataMethod = "linkedin"`

    - `PhoneNumber string`

      The line the change is about, in E.164 format.

    - `TeamMember TeamMemberSignedOutWebhookEventDataTeamMember`

      The team member the event is about.

      - `ID string`

        The team member's user ID.

      - `Name string`

        Absent when the member has no name.

      - `Role string`

        Role the member joined with. Only on `team_member.added`.

        - `const TeamMemberSignedOutWebhookEventDataTeamMemberRoleAdmin TeamMemberSignedOutWebhookEventDataTeamMemberRole = "admin"`

        - `const TeamMemberSignedOutWebhookEventDataTeamMemberRoleManager TeamMemberSignedOutWebhookEventDataTeamMemberRole = "manager"`

        - `const TeamMemberSignedOutWebhookEventDataTeamMemberRoleMember TeamMemberSignedOutWebhookEventDataTeamMemberRole = "member"`

    - `TokensRevoked int64`

      API tokens revoked when an environment was deleted.

    - `WebhookSubscription TeamMemberSignedOutWebhookEventDataWebhookSubscription`

      The webhook subscription that changed.

      - `ID string`

      - `Events []string`

        Event types it listens for. Only on `webhook_subscription.created`.

      - `TargetURL string`

        Sent without credentials, query string or fragment.

  - `EventID string`

    Unique identifier for this event (for deduplication)

  - `EventType TeamMemberSignedOutWebhookEventEventType`

    - `const TeamMemberSignedOutWebhookEventEventTypeZeroDayRetentionUpdated TeamMemberSignedOutWebhookEventEventType = "zero_day_retention.updated"`

    - `const TeamMemberSignedOutWebhookEventEventTypePhoneNumberForwardingUpdated TeamMemberSignedOutWebhookEventEventType = "phone_number.forwarding_updated"`

    - `const TeamMemberSignedOutWebhookEventEventTypeEnvironmentLineMoved TeamMemberSignedOutWebhookEventEventType = "environment.line_moved"`

    - `const TeamMemberSignedOutWebhookEventEventTypeContactCardCreated TeamMemberSignedOutWebhookEventEventType = "contact_card.created"`

    - `const TeamMemberSignedOutWebhookEventEventTypeContactCardUpdated TeamMemberSignedOutWebhookEventEventType = "contact_card.updated"`

    - `const TeamMemberSignedOutWebhookEventEventTypeContactCardDeleted TeamMemberSignedOutWebhookEventEventType = "contact_card.deleted"`

    - `const TeamMemberSignedOutWebhookEventEventTypeAPITokenCreated TeamMemberSignedOutWebhookEventEventType = "api_token.created"`

    - `const TeamMemberSignedOutWebhookEventEventTypeAPITokenRenamed TeamMemberSignedOutWebhookEventEventType = "api_token.renamed"`

    - `const TeamMemberSignedOutWebhookEventEventTypeAPITokenExpiryScheduled TeamMemberSignedOutWebhookEventEventType = "api_token.expiry_scheduled"`

    - `const TeamMemberSignedOutWebhookEventEventTypeAPITokenExpired TeamMemberSignedOutWebhookEventEventType = "api_token.expired"`

    - `const TeamMemberSignedOutWebhookEventEventTypeAPITokenActivated TeamMemberSignedOutWebhookEventEventType = "api_token.activated"`

    - `const TeamMemberSignedOutWebhookEventEventTypeAPITokenDeleted TeamMemberSignedOutWebhookEventEventType = "api_token.deleted"`

    - `const TeamMemberSignedOutWebhookEventEventTypeEnvironmentCreated TeamMemberSignedOutWebhookEventEventType = "environment.created"`

    - `const TeamMemberSignedOutWebhookEventEventTypeEnvironmentRenamed TeamMemberSignedOutWebhookEventEventType = "environment.renamed"`

    - `const TeamMemberSignedOutWebhookEventEventTypeEnvironmentDeleted TeamMemberSignedOutWebhookEventEventType = "environment.deleted"`

    - `const TeamMemberSignedOutWebhookEventEventTypeWebhookSubscriptionCreated TeamMemberSignedOutWebhookEventEventType = "webhook_subscription.created"`

    - `const TeamMemberSignedOutWebhookEventEventTypeWebhookSubscriptionDeleted TeamMemberSignedOutWebhookEventEventType = "webhook_subscription.deleted"`

    - `const TeamMemberSignedOutWebhookEventEventTypeWebhookSubscriptionTargetURLChanged TeamMemberSignedOutWebhookEventEventType = "webhook_subscription.target_url_changed"`

    - `const TeamMemberSignedOutWebhookEventEventTypeWebhookSubscriptionEnabled TeamMemberSignedOutWebhookEventEventType = "webhook_subscription.enabled"`

    - `const TeamMemberSignedOutWebhookEventEventTypeWebhookSubscriptionDisabled TeamMemberSignedOutWebhookEventEventType = "webhook_subscription.disabled"`

    - `const TeamMemberSignedOutWebhookEventEventTypeWebhookSubscriptionEventsUpdated TeamMemberSignedOutWebhookEventEventType = "webhook_subscription.events.updated"`

    - `const TeamMemberSignedOutWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated TeamMemberSignedOutWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

    - `const TeamMemberSignedOutWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet TeamMemberSignedOutWebhookEventEventType = "webhook_subscription.routing_headers_set"`

    - `const TeamMemberSignedOutWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared TeamMemberSignedOutWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

    - `const TeamMemberSignedOutWebhookEventEventTypeTeamMemberAdded TeamMemberSignedOutWebhookEventEventType = "team_member.added"`

    - `const TeamMemberSignedOutWebhookEventEventTypeTeamMemberSignedIn TeamMemberSignedOutWebhookEventEventType = "team_member.signed_in"`

    - `const TeamMemberSignedOutWebhookEventEventTypeTeamMemberSignedOut TeamMemberSignedOutWebhookEventEventType = "team_member.signed_out"`

    - `const TeamMemberSignedOutWebhookEventEventTypeMessageSent TeamMemberSignedOutWebhookEventEventType = "message.sent"`

    - `const TeamMemberSignedOutWebhookEventEventTypeMessageReceived TeamMemberSignedOutWebhookEventEventType = "message.received"`

    - `const TeamMemberSignedOutWebhookEventEventTypeMessageRead TeamMemberSignedOutWebhookEventEventType = "message.read"`

    - `const TeamMemberSignedOutWebhookEventEventTypeMessageDelivered TeamMemberSignedOutWebhookEventEventType = "message.delivered"`

    - `const TeamMemberSignedOutWebhookEventEventTypeMessageFailed TeamMemberSignedOutWebhookEventEventType = "message.failed"`

    - `const TeamMemberSignedOutWebhookEventEventTypeMessageEdited TeamMemberSignedOutWebhookEventEventType = "message.edited"`

    - `const TeamMemberSignedOutWebhookEventEventTypeReactionAdded TeamMemberSignedOutWebhookEventEventType = "reaction.added"`

    - `const TeamMemberSignedOutWebhookEventEventTypeReactionRemoved TeamMemberSignedOutWebhookEventEventType = "reaction.removed"`

    - `const TeamMemberSignedOutWebhookEventEventTypePollReceived TeamMemberSignedOutWebhookEventEventType = "poll.received"`

    - `const TeamMemberSignedOutWebhookEventEventTypePollFailed TeamMemberSignedOutWebhookEventEventType = "poll.failed"`

    - `const TeamMemberSignedOutWebhookEventEventTypePollSent TeamMemberSignedOutWebhookEventEventType = "poll.sent"`

    - `const TeamMemberSignedOutWebhookEventEventTypePollDelivered TeamMemberSignedOutWebhookEventEventType = "poll.delivered"`

    - `const TeamMemberSignedOutWebhookEventEventTypePollRead TeamMemberSignedOutWebhookEventEventType = "poll.read"`

    - `const TeamMemberSignedOutWebhookEventEventTypePollUpdated TeamMemberSignedOutWebhookEventEventType = "poll.updated"`

    - `const TeamMemberSignedOutWebhookEventEventTypePollVoteAdded TeamMemberSignedOutWebhookEventEventType = "poll.vote.added"`

    - `const TeamMemberSignedOutWebhookEventEventTypePollVoteRemoved TeamMemberSignedOutWebhookEventEventType = "poll.vote.removed"`

    - `const TeamMemberSignedOutWebhookEventEventTypePollReactionAdded TeamMemberSignedOutWebhookEventEventType = "poll.reaction.added"`

    - `const TeamMemberSignedOutWebhookEventEventTypeParticipantAdded TeamMemberSignedOutWebhookEventEventType = "participant.added"`

    - `const TeamMemberSignedOutWebhookEventEventTypeParticipantRemoved TeamMemberSignedOutWebhookEventEventType = "participant.removed"`

    - `const TeamMemberSignedOutWebhookEventEventTypeChatCreated TeamMemberSignedOutWebhookEventEventType = "chat.created"`

    - `const TeamMemberSignedOutWebhookEventEventTypeChatGroupNameUpdated TeamMemberSignedOutWebhookEventEventType = "chat.group_name_updated"`

    - `const TeamMemberSignedOutWebhookEventEventTypeChatGroupIconUpdated TeamMemberSignedOutWebhookEventEventType = "chat.group_icon_updated"`

    - `const TeamMemberSignedOutWebhookEventEventTypeChatGroupNameUpdateFailed TeamMemberSignedOutWebhookEventEventType = "chat.group_name_update_failed"`

    - `const TeamMemberSignedOutWebhookEventEventTypeChatGroupIconUpdateFailed TeamMemberSignedOutWebhookEventEventType = "chat.group_icon_update_failed"`

    - `const TeamMemberSignedOutWebhookEventEventTypeChatBackgroundUpdated TeamMemberSignedOutWebhookEventEventType = "chat.background_updated"`

    - `const TeamMemberSignedOutWebhookEventEventTypeChatBackgroundUpdateFailed TeamMemberSignedOutWebhookEventEventType = "chat.background_update_failed"`

    - `const TeamMemberSignedOutWebhookEventEventTypeChatTypingIndicatorStarted TeamMemberSignedOutWebhookEventEventType = "chat.typing_indicator.started"`

    - `const TeamMemberSignedOutWebhookEventEventTypeChatTypingIndicatorStopped TeamMemberSignedOutWebhookEventEventType = "chat.typing_indicator.stopped"`

    - `const TeamMemberSignedOutWebhookEventEventTypePhoneNumberStatusUpdated TeamMemberSignedOutWebhookEventEventType = "phone_number.status_updated"`

    - `const TeamMemberSignedOutWebhookEventEventTypePhoneNumberAssigned TeamMemberSignedOutWebhookEventEventType = "phone_number.assigned"`

    - `const TeamMemberSignedOutWebhookEventEventTypePhoneNumberReleased TeamMemberSignedOutWebhookEventEventType = "phone_number.released"`

    - `const TeamMemberSignedOutWebhookEventEventTypePhoneNumberLineTypeUpdated TeamMemberSignedOutWebhookEventEventType = "phone_number.line_type_updated"`

    - `const TeamMemberSignedOutWebhookEventEventTypeContactCardReceived TeamMemberSignedOutWebhookEventEventType = "contact_card.received"`

    - `const TeamMemberSignedOutWebhookEventEventTypeCallInitiated TeamMemberSignedOutWebhookEventEventType = "call.initiated"`

    - `const TeamMemberSignedOutWebhookEventEventTypeCallRinging TeamMemberSignedOutWebhookEventEventType = "call.ringing"`

    - `const TeamMemberSignedOutWebhookEventEventTypeCallAnswered TeamMemberSignedOutWebhookEventEventType = "call.answered"`

    - `const TeamMemberSignedOutWebhookEventEventTypeCallEnded TeamMemberSignedOutWebhookEventEventType = "call.ended"`

    - `const TeamMemberSignedOutWebhookEventEventTypeCallFailed TeamMemberSignedOutWebhookEventEventType = "call.failed"`

    - `const TeamMemberSignedOutWebhookEventEventTypeCallDeclined TeamMemberSignedOutWebhookEventEventType = "call.declined"`

    - `const TeamMemberSignedOutWebhookEventEventTypeCallNoAnswer TeamMemberSignedOutWebhookEventEventType = "call.no_answer"`

    - `const TeamMemberSignedOutWebhookEventEventTypeLocationSharingStarted TeamMemberSignedOutWebhookEventEventType = "location.sharing.started"`

    - `const TeamMemberSignedOutWebhookEventEventTypeLocationSharingStopped TeamMemberSignedOutWebhookEventEventType = "location.sharing.stopped"`

    - `const TeamMemberSignedOutWebhookEventEventTypePaymentSucceeded TeamMemberSignedOutWebhookEventEventType = "payment.succeeded"`

    - `const TeamMemberSignedOutWebhookEventEventTypePaymentCanceled TeamMemberSignedOutWebhookEventEventType = "payment.canceled"`

    - `const TeamMemberSignedOutWebhookEventEventTypePaymentExpired TeamMemberSignedOutWebhookEventEventType = "payment.expired"`

    - `const TeamMemberSignedOutWebhookEventEventTypePaymentDeclined TeamMemberSignedOutWebhookEventEventType = "payment.declined"`

    - `const TeamMemberSignedOutWebhookEventEventTypePaymentAuthorized TeamMemberSignedOutWebhookEventEventType = "payment.authorized"`

    - `const TeamMemberSignedOutWebhookEventEventTypeConnectionCreated TeamMemberSignedOutWebhookEventEventType = "connection.created"`

    - `const TeamMemberSignedOutWebhookEventEventTypeConnectionRevoked TeamMemberSignedOutWebhookEventEventType = "connection.revoked"`

  - `PartnerID string`

    Partner identifier. Present on all webhooks for cross-referencing.

  - `TraceID string`

    Trace ID for debugging and correlation across systems.

  - `WebhookVersion string`

    Date-based webhook payload version.
    Determined by the `?version=` query parameter in your webhook subscription URL.
    If no version parameter is specified, defaults based on subscription creation date.

### Unwrap Webhook Event

- `type UnwrapWebhookEventUnion interface{…}`

  Complete webhook payload for message.sent events (2026-02-03 format)

  - `type MessageSentWebhookEvent struct{…}`

    Complete webhook payload for message.sent events (2026-02-03 format)

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data MessageEventV2`

      Unified payload for message webhooks when using `webhook_version: "2026-02-03"`.

      This schema is used for message.sent, message.received, message.delivered, and message.read
      events when the subscription URL includes `?version=2026-02-03`.

      Key differences from V1 (2025-01-01):

      - `direction`: "inbound" or "outbound" instead of `is_from_me` boolean
      - `sender_handle`: Full handle object for the sender
      - `chat`: Nested object with `id`, `is_group`, and `owner_handle`
      - Message fields (`id`, `parts`, `effect`, etc.) are at the top level, not nested in `message`

      Timestamps indicate the message state:

      - `message.sent`: sent_at set, delivered_at=null, read_at=null
      - `message.received`: sent_at set, delivered_at=null, read_at=null
      - `message.delivered`: sent_at set, delivered_at set, read_at=null
      - `message.read`: sent_at set, delivered_at set, read_at set

      - `ID string`

        Message identifier

      - `Chat MessageEventV2Chat`

        Chat information

        - `ID string`

          Chat identifier

        - `HealthStatus MessageEventV2ChatHealthStatus`

          **[BETA]** Current health for a chat. Always present — chats start at `HEALTHY` and may shift based on engagement and delivery signals on the conversation. Many `AT_RISK` or `CRITICAL` chats on a single line increase the risk of line flagging.

          Switch on `status` to surface chat and line health in your UI — the enum is the long-term contract. Each status carries a `doc_url` that deep-links to the relevant section of the Chat Health guide. To gate a send, act on the response rather than the status: a `403` is the authoritative answer.

          See the [Chat Health guide](/channel/imessage/guides/chats/chat-health) for what each status means and how to react.

          - `DocURL string`

            Deep-link to the relevant section of the Chat Health guide for this status.

          - `Status string`

            Current health bucket for the chat. See the [Chat Health guide](/channel/imessage/guides/chats/chat-health) for what each value means and how to react. `doc_url` deep-links to the relevant section.

            `OPTED_OUT` — the recipient sent `STOP`, `UNSUBSCRIBE`, `OPTOUT`, `CANCEL`, `END`, or `QUIT`.
            The keyword must be the whole trimmed message, never part of a longer one: `STOP` counts, `please stop`
            does not. Most keywords must match exactly, including case. `OPT OUT` is the exception — it matches in any
            casing, with or without the space or a hyphen, so `opt out`, `Opt-Out` and `optout` all count. It clears as
            soon as they reply again: any later message from them that is not itself an opt-out keyword opts them back
            in immediately — a reply in any conversation with you counts, the same way the block does.

            `OPTED_OUT` marks only the conversation the keyword arrived in. The block below is wider than the mark, so
            a conversation still reading `HEALTHY` can be blocked as well — gate on the `403`, not on the status.
            Group threads are never marked and are never blocked.

            Linq enforces this: while a recipient is opted out, every send to them is rejected with `403` (error code
            `2024`) before the message is queued, across every chat and every line on your account. Nothing is
            delivered, including a final courtesy message — to send one, set `override_optout: true` on that single
            request.

            - `const MessageEventV2ChatHealthStatusStatusHealthy MessageEventV2ChatHealthStatusStatus = "HEALTHY"`

            - `const MessageEventV2ChatHealthStatusStatusAtRisk MessageEventV2ChatHealthStatusStatus = "AT_RISK"`

            - `const MessageEventV2ChatHealthStatusStatusCritical MessageEventV2ChatHealthStatusStatus = "CRITICAL"`

            - `const MessageEventV2ChatHealthStatusStatusOptedOut MessageEventV2ChatHealthStatusStatus = "OPTED_OUT"`

          - `UpdatedAt Time`

            When this status last changed.

        - `IsGroup bool`

          Whether this is a group chat

        - `OwnerHandle ChatHandle`

          Your phone number's handle. Always has is_me=true.

          - `ID string`

            Unique identifier for this handle

          - `Handle string`

            Phone number (E.164) or email address of the participant

          - `JoinedAt Time`

            When this participant joined the chat

          - `Service ServiceType`

            Messaging service type. Where this names the transport a message used,
            it is per-message: a chat's own `service` can differ from a message in
            it, and Apple can downgrade an individual message.

            - `const ServiceTypeIMessage ServiceType = "iMessage"`

            - `const ServiceTypeSMS ServiceType = "SMS"`

            - `const ServiceTypeRCS ServiceType = "RCS"`

          - `IsMe bool`

            Whether this handle belongs to the sender (your phone number)

          - `LeftAt Time`

            When they left (if applicable)

          - `LineType ChatHandleLineType`

            The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
            RCS-only line, which sends RCS and SMS but never iMessage. Same values as
            the `type` parameter on `GET /v3/available_number`. A property of the line
            itself, so unlike `service` it does not change with the conversation:
            an iMessage-capable line can still carry an RCS or SMS conversation.

            - `const ChatHandleLineTypeIMessage ChatHandleLineType = "iMessage"`

            - `const ChatHandleLineTypeRCS ChatHandleLineType = "RCS"`

          - `Status ChatHandleStatus`

            Participant status

            - `const ChatHandleStatusActive ChatHandleStatus = "active"`

            - `const ChatHandleStatusLeft ChatHandleStatus = "left"`

            - `const ChatHandleStatusRemoved ChatHandleStatus = "removed"`

      - `Direction MessageEventV2Direction`

        Message direction - "outbound" if sent by you, "inbound" if received

        - `const MessageEventV2DirectionInbound MessageEventV2Direction = "inbound"`

        - `const MessageEventV2DirectionOutbound MessageEventV2Direction = "outbound"`

      - `Parts []MessageEventV2PartUnion`

        Message parts (text and/or media)

        - `type SchemasTextPartResponse struct{…}`

          A text message part

          - `Type SchemasTextPartResponseType`

            Indicates this is a text message part

            - `const SchemasTextPartResponseTypeText SchemasTextPartResponseType = "text"`

          - `Value string`

            The text content

          - `InlineStickers []InlineStickerResponse`

            Stickers placed inside the text, in the order they appear in `value`. `null` when the
            part has none.

            Set on messages sent with `inline_stickers`. An inline sticker received over iMessage
            currently arrives as a separate media part.

            - `Range []int64`

              Character range `[start, end)` in `value` that the sticker replaces. Those characters
              are hidden on iMessage and sent as written on SMS and RCS.
              *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

            - `ID string`

              Attachment ID of the sticker image.

            - `FileName string`

              Filename of the sticker

            - `MimeType string`

              MIME type of the sticker image

            - `URL string`

              URL for downloading the sticker image. Permanent for a normal upload; a time-limited
              signed URL when the image is an ephemeral attachment.

          - `Mention string`

            DEPRECATED: Use `mentions` instead. Handle (E.164 phone number or Apple ID email)
            of the **first** mention on this part. A part may carry several mentions; this
            field shows only the first in `value` order, so it cannot be used to determine
            whether a given participant was mentioned. `null` when the part carries no mention.

          - `MentionRange []int64`

            DEPRECATED: Use `mentions[].range` instead. Character range `[start, end)` in
            `value` highlighted as the **first** mention only. `null` when the range was
            omitted (the whole `value` is highlighted) or the part carries no mention.
            *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

          - `Mentions []SchemasTextPartResponseMention`

            Every mention on this part, in the order they appear in `value`. `null` when the
            part carries no mention. A part can carry several mentions of different people —
            check `is_me` to tell whether this line was one of them.

            Only iMessage carries mentions. On a received message this is populated when the
            sender was on iMessage; SMS and RCS have no way to mark a mention, so a message
            from an SMS or RCS participant arrives as plain text with `mentions` null, even in
            a group where other participants are on iMessage.

            - `Handle string`

              Address of the mentioned participant, exactly as the device recorded it — an E.164
              phone number or an email address.

            - `IsMe bool`

              Whether the mentioned participant is this line.

            - `Range []int64`

              Character range `[start, end)` in `value` highlighted as this mention.
              *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

          - `TextDecorations []TextDecoration`

            Text decorations applied to character ranges in the value

            - `Range []int64`

              Character range `[start, end)` in the `value` string where the decoration applies.
              `start` is inclusive, `end` is exclusive.
              *Characters are measured as UTF-16 code units. Most characters count as 1; some emoji count as 2.*

            - `Animation TextDecorationAnimation`

              Animated text effect to apply. Mutually exclusive with `style`.

              - `const TextDecorationAnimationBig TextDecorationAnimation = "big"`

              - `const TextDecorationAnimationSmall TextDecorationAnimation = "small"`

              - `const TextDecorationAnimationShake TextDecorationAnimation = "shake"`

              - `const TextDecorationAnimationNod TextDecorationAnimation = "nod"`

              - `const TextDecorationAnimationExplode TextDecorationAnimation = "explode"`

              - `const TextDecorationAnimationRipple TextDecorationAnimation = "ripple"`

              - `const TextDecorationAnimationBloom TextDecorationAnimation = "bloom"`

              - `const TextDecorationAnimationJitter TextDecorationAnimation = "jitter"`

            - `Style TextDecorationStyle`

              Text style to apply. Mutually exclusive with `animation`.

              - `const TextDecorationStyleBold TextDecorationStyle = "bold"`

              - `const TextDecorationStyleItalic TextDecorationStyle = "italic"`

              - `const TextDecorationStyleStrikethrough TextDecorationStyle = "strikethrough"`

              - `const TextDecorationStyleUnderline TextDecorationStyle = "underline"`

        - `type SchemasMediaPartResponse struct{…}`

          A media attachment part

          - `ID string`

            Unique attachment identifier

          - `Filename string`

            Original filename

          - `MimeType string`

            MIME type of the file

          - `SizeBytes int64`

            File size in bytes

          - `Type SchemasMediaPartResponseType`

            Indicates this is a media attachment part

            - `const SchemasMediaPartResponseTypeMedia SchemasMediaPartResponseType = "media"`

          - `URL string`

            Presigned URL for downloading the attachment (expires in 1 hour).

        - `type MessageEventV2PartLink struct{…}`

          A rich link preview part

          - `Type Link`

            Indicates this is a rich link preview part

            - `const LinkLink Link = "link"`

          - `Value string`

            The URL

        - `type MessageEventV2PartIMessageApp struct{…}`

          An iMessage app card part.

          - `App MessageEventV2PartIMessageAppApp`

            Identifies the iMessage app (Messages app extension) that backs the card.

            - `BundleID string`

              Bundle identifier of the Messages app extension.

            - `Name string`

              Display name of the app.

            - `TeamID string`

              The app's 10-character team identifier.

            - `AppStoreID int64`

              The owning app's App Store id, when known.

          - `Layout MessageEventV2PartIMessageAppLayout`

            Visible layout of the card.

            - `Caption string`

              Primary label, top-left and bold.

            - `Subcaption string`

              Secondary label, below caption on the left.

            - `TrailingCaption string`

              Label shown top-right.

            - `TrailingSubcaption string`

              Label shown below trailing_caption.

          - `Type IMessageApp`

            Indicates this is an iMessage app card part.

            - `const IMessageAppIMessageApp IMessageApp = "imessage_app"`

          - `URL string`

            The URL the recipient's app opens when the user taps the card.

          - `FallbackText string`

            Fallback text for surfaces that cannot render the card.

        - `type MessageEventV2PartAppClip struct{…}`

          An Apple Pay App Clip payment card part

          - `Type AppClip`

            Indicates this is an App Clip payment card part

            - `const AppClipAppClip AppClip = "app_clip"`

          - `Value string`

            The checkout link the card opens

          - `Description string`

            The card's summary line, composed by Linq from the checkout session

          - `ImageURL string`

            The card's preview image

          - `Title string`

            The card's headline, composed by Linq from the checkout session

      - `SenderHandle ChatHandle`

        The handle that sent this message

      - `Service ServiceType`

        Messaging service type. Where this names the transport a message used,
        it is per-message: a chat's own `service` can differ from a message in
        it, and Apple can downgrade an individual message.

      - `DeliveredAt Time`

        When the message was delivered. Null if not yet delivered.

      - `DeviceFirstSeenAt Time`

        When the sending device was first seen for this sender (the message time for a newly seen device). Absent for SMS/RCS and for outbound messages.

      - `DeviceStatus MessageEventV2DeviceStatus`

        The device a sender used, relative to devices we've seen from them before. `first_contact` = their first device (first message we've seen from this sender); `known` = a device we've seen before; `new` = a device we have NOT seen for a sender who already had one (the account/SIM-takeover signal).

        - `const MessageEventV2DeviceStatusFirstContact MessageEventV2DeviceStatus = "first_contact"`

        - `const MessageEventV2DeviceStatusKnown MessageEventV2DeviceStatus = "known"`

        - `const MessageEventV2DeviceStatusNew MessageEventV2DeviceStatus = "new"`

      - `Effect SchemasMessageEffect`

        iMessage effect applied to a message (screen or bubble animation)

        - `Name string`

          Effect name (confetti, fireworks, slam, gentle, etc.)

        - `Type SchemasMessageEffectType`

          Effect category

          - `const SchemasMessageEffectTypeScreen SchemasMessageEffectType = "screen"`

          - `const SchemasMessageEffectTypeBubble SchemasMessageEffectType = "bubble"`

      - `IdempotencyKey string`

        Idempotency key for deduplication of outbound messages.

      - `PreferredService MessageEventV2PreferredService`

        Preferred messaging service type. Includes "auto" for default fallback behavior.

        - `const MessageEventV2PreferredServiceIMessage MessageEventV2PreferredService = "iMessage"`

        - `const MessageEventV2PreferredServiceSMS MessageEventV2PreferredService = "SMS"`

        - `const MessageEventV2PreferredServiceRCS MessageEventV2PreferredService = "RCS"`

        - `const MessageEventV2PreferredServiceAuto MessageEventV2PreferredService = "auto"`

      - `ReadAt Time`

        When the message was read. Null if not yet read.

      - `ReconciledAt Time`

        Present only when this message was recovered by reconciliation rather than delivered live, and set to the time of that recovery. The field is omitted entirely for normally-delivered messages, which is the overwhelming majority. When present, expect `sent_at` to be substantially earlier than delivery of this event: the message is genuine but is arriving late and out of real-time order, so treat it as history rather than as a live inbound (for example, suppress auto-replies).

      - `ReplyTo MessageEventV2ReplyTo`

        Reference to the message this is replying to (for threaded replies)

        - `MessageID string`

          ID of the message being replied to

        - `PartIndex int64`

          Index of the part being replied to

      - `SentAt Time`

        When the message was sent. Null if not yet sent.

      - `ZeroRetention bool`

        True when this message was sent on a zero-day-retention line. `parts` is always empty in that case — Linq never persists this message's content, so there is nothing to include here, not even a count or type of what was sent.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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 WebhookEventTypePollReceived WebhookEventType = "poll.received"`

      - `const WebhookEventTypePollFailed WebhookEventType = "poll.failed"`

      - `const WebhookEventTypePollSent WebhookEventType = "poll.sent"`

      - `const WebhookEventTypePollDelivered WebhookEventType = "poll.delivered"`

      - `const WebhookEventTypePollRead WebhookEventType = "poll.read"`

      - `const WebhookEventTypePollUpdated WebhookEventType = "poll.updated"`

      - `const WebhookEventTypePollVoteAdded WebhookEventType = "poll.vote.added"`

      - `const WebhookEventTypePollVoteRemoved WebhookEventType = "poll.vote.removed"`

      - `const WebhookEventTypePollReactionAdded WebhookEventType = "poll.reaction.added"`

      - `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 WebhookEventTypeChatBackgroundUpdated WebhookEventType = "chat.background_updated"`

      - `const WebhookEventTypeChatBackgroundUpdateFailed WebhookEventType = "chat.background_update_failed"`

      - `const WebhookEventTypeChatTypingIndicatorStarted WebhookEventType = "chat.typing_indicator.started"`

      - `const WebhookEventTypeChatTypingIndicatorStopped WebhookEventType = "chat.typing_indicator.stopped"`

      - `const WebhookEventTypePhoneNumberStatusUpdated WebhookEventType = "phone_number.status_updated"`

      - `const WebhookEventTypePhoneNumberAssigned WebhookEventType = "phone_number.assigned"`

      - `const WebhookEventTypePhoneNumberReleased WebhookEventType = "phone_number.released"`

      - `const WebhookEventTypePhoneNumberLineTypeUpdated WebhookEventType = "phone_number.line_type_updated"`

      - `const WebhookEventTypeContactCardReceived WebhookEventType = "contact_card.received"`

      - `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"`

      - `const WebhookEventTypeLocationSharingStarted WebhookEventType = "location.sharing.started"`

      - `const WebhookEventTypeLocationSharingStopped WebhookEventType = "location.sharing.stopped"`

      - `const WebhookEventTypePaymentSucceeded WebhookEventType = "payment.succeeded"`

      - `const WebhookEventTypePaymentCanceled WebhookEventType = "payment.canceled"`

      - `const WebhookEventTypePaymentExpired WebhookEventType = "payment.expired"`

      - `const WebhookEventTypePaymentDeclined WebhookEventType = "payment.declined"`

      - `const WebhookEventTypePaymentAuthorized WebhookEventType = "payment.authorized"`

      - `const WebhookEventTypeConnectionCreated WebhookEventType = "connection.created"`

      - `const WebhookEventTypeConnectionRevoked WebhookEventType = "connection.revoked"`

      - `const WebhookEventTypeZeroDayRetentionUpdated WebhookEventType = "zero_day_retention.updated"`

      - `const WebhookEventTypePhoneNumberForwardingUpdated WebhookEventType = "phone_number.forwarding_updated"`

      - `const WebhookEventTypeEnvironmentLineMoved WebhookEventType = "environment.line_moved"`

      - `const WebhookEventTypeContactCardCreated WebhookEventType = "contact_card.created"`

      - `const WebhookEventTypeContactCardUpdated WebhookEventType = "contact_card.updated"`

      - `const WebhookEventTypeContactCardDeleted WebhookEventType = "contact_card.deleted"`

      - `const WebhookEventTypeAPITokenCreated WebhookEventType = "api_token.created"`

      - `const WebhookEventTypeAPITokenRenamed WebhookEventType = "api_token.renamed"`

      - `const WebhookEventTypeAPITokenExpiryScheduled WebhookEventType = "api_token.expiry_scheduled"`

      - `const WebhookEventTypeAPITokenExpired WebhookEventType = "api_token.expired"`

      - `const WebhookEventTypeAPITokenActivated WebhookEventType = "api_token.activated"`

      - `const WebhookEventTypeAPITokenDeleted WebhookEventType = "api_token.deleted"`

      - `const WebhookEventTypeEnvironmentCreated WebhookEventType = "environment.created"`

      - `const WebhookEventTypeEnvironmentRenamed WebhookEventType = "environment.renamed"`

      - `const WebhookEventTypeEnvironmentDeleted WebhookEventType = "environment.deleted"`

      - `const WebhookEventTypeWebhookSubscriptionCreated WebhookEventType = "webhook_subscription.created"`

      - `const WebhookEventTypeWebhookSubscriptionDeleted WebhookEventType = "webhook_subscription.deleted"`

      - `const WebhookEventTypeWebhookSubscriptionTargetURLChanged WebhookEventType = "webhook_subscription.target_url_changed"`

      - `const WebhookEventTypeWebhookSubscriptionEnabled WebhookEventType = "webhook_subscription.enabled"`

      - `const WebhookEventTypeWebhookSubscriptionDisabled WebhookEventType = "webhook_subscription.disabled"`

      - `const WebhookEventTypeWebhookSubscriptionEventsUpdated WebhookEventType = "webhook_subscription.events.updated"`

      - `const WebhookEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookEventType = "webhook_subscription.phone_numbers.updated"`

      - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersSet WebhookEventType = "webhook_subscription.routing_headers_set"`

      - `const WebhookEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookEventType = "webhook_subscription.routing_headers_cleared"`

      - `const WebhookEventTypeTeamMemberAdded WebhookEventType = "team_member.added"`

      - `const WebhookEventTypeTeamMemberSignedIn WebhookEventType = "team_member.signed_in"`

      - `const WebhookEventTypeTeamMemberSignedOut WebhookEventType = "team_member.signed_out"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type MessageReceivedWebhookEvent struct{…}`

    Complete webhook payload for message.received events (2026-02-03 format)

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data MessageEventV2`

      Unified payload for message webhooks when using `webhook_version: "2026-02-03"`.

      This schema is used for message.sent, message.received, message.delivered, and message.read
      events when the subscription URL includes `?version=2026-02-03`.

      Key differences from V1 (2025-01-01):

      - `direction`: "inbound" or "outbound" instead of `is_from_me` boolean
      - `sender_handle`: Full handle object for the sender
      - `chat`: Nested object with `id`, `is_group`, and `owner_handle`
      - Message fields (`id`, `parts`, `effect`, etc.) are at the top level, not nested in `message`

      Timestamps indicate the message state:

      - `message.sent`: sent_at set, delivered_at=null, read_at=null
      - `message.received`: sent_at set, delivered_at=null, read_at=null
      - `message.delivered`: sent_at set, delivered_at set, read_at=null
      - `message.read`: sent_at set, delivered_at set, read_at set

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type MessageReadWebhookEvent struct{…}`

    Complete webhook payload for message.read events (2026-02-03 format)

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data MessageEventV2`

      Unified payload for message webhooks when using `webhook_version: "2026-02-03"`.

      This schema is used for message.sent, message.received, message.delivered, and message.read
      events when the subscription URL includes `?version=2026-02-03`.

      Key differences from V1 (2025-01-01):

      - `direction`: "inbound" or "outbound" instead of `is_from_me` boolean
      - `sender_handle`: Full handle object for the sender
      - `chat`: Nested object with `id`, `is_group`, and `owner_handle`
      - Message fields (`id`, `parts`, `effect`, etc.) are at the top level, not nested in `message`

      Timestamps indicate the message state:

      - `message.sent`: sent_at set, delivered_at=null, read_at=null
      - `message.received`: sent_at set, delivered_at=null, read_at=null
      - `message.delivered`: sent_at set, delivered_at set, read_at=null
      - `message.read`: sent_at set, delivered_at set, read_at set

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type MessageDeliveredWebhookEvent struct{…}`

    Complete webhook payload for message.delivered events (2026-02-03 format)

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data MessageEventV2`

      Unified payload for message webhooks when using `webhook_version: "2026-02-03"`.

      This schema is used for message.sent, message.received, message.delivered, and message.read
      events when the subscription URL includes `?version=2026-02-03`.

      Key differences from V1 (2025-01-01):

      - `direction`: "inbound" or "outbound" instead of `is_from_me` boolean
      - `sender_handle`: Full handle object for the sender
      - `chat`: Nested object with `id`, `is_group`, and `owner_handle`
      - Message fields (`id`, `parts`, `effect`, etc.) are at the top level, not nested in `message`

      Timestamps indicate the message state:

      - `message.sent`: sent_at set, delivered_at=null, read_at=null
      - `message.received`: sent_at set, delivered_at=null, read_at=null
      - `message.delivered`: sent_at set, delivered_at set, read_at=null
      - `message.read`: sent_at set, delivered_at set, read_at set

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type MessageFailedWebhookEvent struct{…}`

    Complete webhook payload for message.failed events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data MessageFailedWebhookEventData`

      Error details for message.failed webhook events.
      See [WebhookErrorCode](#/components/schemas/WebhookErrorCode) for the full error code reference.

      In rare cases the message can still be delivered after this event fires — a `message.delivered` webhook for the same message ID may follow.

      - `Code int64`

        Error codes in webhook failure events. The possible set varies by event:
        message.failed and poll.failed can carry 3007, 4001, 4002, 4005, 4006, 4007, or
        4008; the group update failure events (chat.group_name_update_failed,
        chat.group_icon_update_failed) carry 3007 or 4001; chat.background_update_failed
        carries 1005, 2011, 4001, or 5002.

      - `FailedAt Time`

        When the failure was detected

      - `ChatID string`

        Chat identifier (UUID)

      - `DetailCode int64`

        Opaque diagnostic code identifying the specific failure class within `code`.
        Values are not enumerated and may change without notice — log it and include
        it in support requests, but do not branch on it.

      - `MessageID string`

        Message identifier (UUID)

      - `PreferredService string`

        Preferred messaging service type. Includes "auto" for default fallback behavior.

        - `const MessageFailedWebhookEventDataPreferredServiceIMessage MessageFailedWebhookEventDataPreferredService = "iMessage"`

        - `const MessageFailedWebhookEventDataPreferredServiceSMS MessageFailedWebhookEventDataPreferredService = "SMS"`

        - `const MessageFailedWebhookEventDataPreferredServiceRCS MessageFailedWebhookEventDataPreferredService = "RCS"`

        - `const MessageFailedWebhookEventDataPreferredServiceAuto MessageFailedWebhookEventDataPreferredService = "auto"`

      - `Reason string`

        Human-readable description of the failure

      - `Service ServiceType`

        Messaging service type. Where this names the transport a message used,
        it is per-message: a chat's own `service` can differ from a message in
        it, and Apple can downgrade an individual message.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type MessageEditedWebhookEvent struct{…}`

    Complete webhook payload for message.edited events (2026-02-03 format only)

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data MessageEditedWebhookEventData`

      Payload for `message.edited` events (2026-02-03 format).

      Describes which part of a message was edited and when. Only text parts can be edited.
      Only available for subscriptions using `webhook_version: "2026-02-03"`.

      - `ID string`

        Message identifier

      - `Chat MessageEditedWebhookEventDataChat`

        Chat context

        - `ID string`

          Chat identifier

        - `HealthStatus MessageEditedWebhookEventDataChatHealthStatus`

          **[BETA]** Current health for a chat. Always present — chats start at `HEALTHY` and may shift based on engagement and delivery signals on the conversation. Many `AT_RISK` or `CRITICAL` chats on a single line increase the risk of line flagging.

          Switch on `status` to surface chat and line health in your UI — the enum is the long-term contract. Each status carries a `doc_url` that deep-links to the relevant section of the Chat Health guide. To gate a send, act on the response rather than the status: a `403` is the authoritative answer.

          See the [Chat Health guide](/channel/imessage/guides/chats/chat-health) for what each status means and how to react.

          - `DocURL string`

            Deep-link to the relevant section of the Chat Health guide for this status.

          - `Status string`

            Current health bucket for the chat. See the [Chat Health guide](/channel/imessage/guides/chats/chat-health) for what each value means and how to react. `doc_url` deep-links to the relevant section.

            `OPTED_OUT` — the recipient sent `STOP`, `UNSUBSCRIBE`, `OPTOUT`, `CANCEL`, `END`, or `QUIT`.
            The keyword must be the whole trimmed message, never part of a longer one: `STOP` counts, `please stop`
            does not. Most keywords must match exactly, including case. `OPT OUT` is the exception — it matches in any
            casing, with or without the space or a hyphen, so `opt out`, `Opt-Out` and `optout` all count. It clears as
            soon as they reply again: any later message from them that is not itself an opt-out keyword opts them back
            in immediately — a reply in any conversation with you counts, the same way the block does.

            `OPTED_OUT` marks only the conversation the keyword arrived in. The block below is wider than the mark, so
            a conversation still reading `HEALTHY` can be blocked as well — gate on the `403`, not on the status.
            Group threads are never marked and are never blocked.

            Linq enforces this: while a recipient is opted out, every send to them is rejected with `403` (error code
            `2024`) before the message is queued, across every chat and every line on your account. Nothing is
            delivered, including a final courtesy message — to send one, set `override_optout: true` on that single
            request.

            - `const MessageEditedWebhookEventDataChatHealthStatusStatusHealthy MessageEditedWebhookEventDataChatHealthStatusStatus = "HEALTHY"`

            - `const MessageEditedWebhookEventDataChatHealthStatusStatusAtRisk MessageEditedWebhookEventDataChatHealthStatusStatus = "AT_RISK"`

            - `const MessageEditedWebhookEventDataChatHealthStatusStatusCritical MessageEditedWebhookEventDataChatHealthStatusStatus = "CRITICAL"`

            - `const MessageEditedWebhookEventDataChatHealthStatusStatusOptedOut MessageEditedWebhookEventDataChatHealthStatusStatus = "OPTED_OUT"`

          - `UpdatedAt Time`

            When this status last changed.

        - `IsGroup bool`

          Whether this is a group chat

        - `OwnerHandle ChatHandle`

          The handle that owns this chat (your phone number)

      - `Direction string`

        "outbound" if you sent the original message, "inbound" if you received it

        - `const MessageEditedWebhookEventDataDirectionOutbound MessageEditedWebhookEventDataDirection = "outbound"`

        - `const MessageEditedWebhookEventDataDirectionInbound MessageEditedWebhookEventDataDirection = "inbound"`

      - `EditedAt Time`

        When the edit occurred

      - `Part MessageEditedWebhookEventDataPart`

        The edited part

        - `Index int64`

          Zero-based index of the edited part within the message

        - `Text string`

          New text content of the part

      - `SenderHandle ChatHandle`

        The handle that sent (and edited) this message

      - `ZeroRetention bool`

        True when the edited message is on a zero-day-retention line. Behavior differs by `direction`: on an outbound edit, `part.text` is empty — you already saw the real edited text once, synchronously, in the edit API response, and Linq never persists it. On an inbound edit, `part.text` is still the real text as received; zero-day-retention only means Linq never persists it.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type ReactionAddedWebhookEvent struct{…}`

    Complete webhook payload for reaction.added events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ReactionEventBase`

      Payload for reaction.added webhook events

      - `IsFromMe bool`

        Whether this reaction was from the owner of the phone number (true) or from someone else (false)

      - `ReactionType ReactionType`

        Type of reaction. Standard iMessage tapbacks are love, like, dislike, laugh, emphasize, question.
        Custom emoji reactions have type "custom" with the actual emoji in the custom_emoji field.
        Sticker reactions have type "sticker" with sticker attachment details in the sticker field.

        - `const ReactionTypeLove ReactionType = "love"`

        - `const ReactionTypeLike ReactionType = "like"`

        - `const ReactionTypeDislike ReactionType = "dislike"`

        - `const ReactionTypeLaugh ReactionType = "laugh"`

        - `const ReactionTypeEmphasize ReactionType = "emphasize"`

        - `const ReactionTypeQuestion ReactionType = "question"`

        - `const ReactionTypeCustom ReactionType = "custom"`

        - `const ReactionTypeSticker ReactionType = "sticker"`

      - `ChatID string`

        Chat identifier (UUID)

      - `CustomEmoji string`

        The actual emoji when reaction_type is "custom". Null for standard tapbacks.

      - `From string`

        DEPRECATED: Use from_handle instead. Phone number or email address of the person who added/removed the reaction.

      - `FromHandle ChatHandle`

        The person who added/removed the reaction as a full handle object

      - `MessageID string`

        Message identifier (UUID) that the reaction was added to or removed from

      - `PartIndex int64`

        Index of the message part that was reacted to (0-based)

      - `ReactedAt Time`

        When the reaction was added or removed

      - `ReactionID string`

        Identifier for this reaction. Pass it to
        `PATCH /v3/messages/{messageId}/reactions/{reactionId}` to move a sticker.
        Stickers stack, so this is what distinguishes one sticker from another on the
        same message.

      - `Service ServiceType`

        Messaging service type. Where this names the transport a message used,
        it is per-message: a chat's own `service` can differ from a message in
        it, and Apple can downgrade an individual message.

      - `Sticker ReactionEventBaseSticker`

        Sticker attachment details when reaction_type is "sticker". Null for non-sticker reactions.

        - `FileName string`

          Filename of the sticker

        - `Height int64`

          Sticker image height in pixels

        - `MimeType string`

          MIME type of the sticker image

        - `URL string`

          Presigned URL for downloading the sticker image (expires in 1 hour).

        - `Width int64`

          Sticker image width in pixels

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type ReactionRemovedWebhookEvent struct{…}`

    Complete webhook payload for reaction.removed events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ReactionEventBase`

      Payload for reaction.removed webhook events

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type PollReceivedWebhookEvent struct{…}`

    Complete webhook payload for poll.received events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data PollReceivedWebhookEventData`

      Payload for poll.received — a poll created by someone else and delivered to your line.
      Carries the full poll snapshot (options, no voters yet) at receipt time.

      - `Chat PollReceivedWebhookEventDataChat`

        Chat info for poll webhook events.

        - `ID string`

        - `IsGroup bool`

        - `OwnerHandle ChatHandle`

      - `CreatedAt Time`

      - `Direction string`

        - `const PollReceivedWebhookEventDataDirectionInbound PollReceivedWebhookEventDataDirection = "inbound"`

        - `const PollReceivedWebhookEventDataDirectionOutbound PollReceivedWebhookEventDataDirection = "outbound"`

      - `MessageID string`

      - `Poll PollReceivedWebhookEventDataPoll`

        - `Options []PollReceivedWebhookEventDataPollOption`

          - `CanBeEdited bool`

          - `CreatorHandle ChatHandle`

            The participant who added this option (poll creator for the initial options; whoever
            added later ones). On a poll.updated this differs from the event's `sender_handle`
            whenever a remote participant added the option. Null when unknown.

          - `OptionID string`

          - `Text string`

          - `Voters []PollReceivedWebhookEventDataPollOptionVoter`

            - `Handle string`

            - `VotedAt Time`

        - `TotalVoters int64`

          Distinct participants across the whole poll.

      - `ReceivedAt Time`

      - `Service string`

      - `UpdatedAt Time`

      - `SenderHandle ChatHandle`

        The line that created the poll (is_me=false for an inbound poll).

      - `ZeroRetention bool`

        True when your line has zero-day-retention enabled. Unlike other poll webhooks, option `text` here is still the real, unstripped text as received — Linq never persists it in the database, but this webhook fires from the live inbound event, not a database read, so this is the one place it's shown.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type PollSentWebhookEvent struct{…}`

    Complete webhook payload for poll.sent events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data PollSentWebhookEventData`

      Payload for poll.sent, poll.delivered, and poll.read webhook events. Timestamps indicate
      state (null = not yet happened): sent → sent_at; delivered → +delivered_at; read → +read_at.

      - `Chat PollSentWebhookEventDataChat`

        Chat info for poll webhook events.

        - `ID string`

        - `IsGroup bool`

        - `OwnerHandle ChatHandle`

      - `CreatedAt Time`

      - `Direction string`

        - `const PollSentWebhookEventDataDirectionInbound PollSentWebhookEventDataDirection = "inbound"`

        - `const PollSentWebhookEventDataDirectionOutbound PollSentWebhookEventDataDirection = "outbound"`

      - `MessageID string`

      - `Poll PollSentWebhookEventDataPoll`

        - `Options []PollSentWebhookEventDataPollOption`

          - `CanBeEdited bool`

          - `CreatorHandle ChatHandle`

            The participant who added this option (poll creator for the initial options; whoever
            added later ones). On a poll.updated this differs from the event's `sender_handle`
            whenever a remote participant added the option. Null when unknown.

          - `OptionID string`

          - `Text string`

          - `Voters []PollSentWebhookEventDataPollOptionVoter`

            - `Handle string`

            - `VotedAt Time`

        - `TotalVoters int64`

          Distinct participants across the whole poll.

      - `Service string`

      - `UpdatedAt Time`

      - `DeliveredAt Time`

      - `ReadAt Time`

      - `SenderHandle ChatHandle`

        The handle that sent the poll.

      - `SentAt Time`

      - `ZeroRetention bool`

        True when this poll was sent on a zero-day-retention line. Every option's `text` is empty in that case — Linq never persists poll option text, so there is nothing to include here. The real text was only ever shown once, synchronously, in the API response when the poll was created or added to.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type PollDeliveredWebhookEvent struct{…}`

    Complete webhook payload for poll.delivered events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data PollDeliveredWebhookEventData`

      Payload for poll.sent, poll.delivered, and poll.read webhook events. Timestamps indicate
      state (null = not yet happened): sent → sent_at; delivered → +delivered_at; read → +read_at.

      - `Chat PollDeliveredWebhookEventDataChat`

        Chat info for poll webhook events.

        - `ID string`

        - `IsGroup bool`

        - `OwnerHandle ChatHandle`

      - `CreatedAt Time`

      - `Direction string`

        - `const PollDeliveredWebhookEventDataDirectionInbound PollDeliveredWebhookEventDataDirection = "inbound"`

        - `const PollDeliveredWebhookEventDataDirectionOutbound PollDeliveredWebhookEventDataDirection = "outbound"`

      - `MessageID string`

      - `Poll PollDeliveredWebhookEventDataPoll`

        - `Options []PollDeliveredWebhookEventDataPollOption`

          - `CanBeEdited bool`

          - `CreatorHandle ChatHandle`

            The participant who added this option (poll creator for the initial options; whoever
            added later ones). On a poll.updated this differs from the event's `sender_handle`
            whenever a remote participant added the option. Null when unknown.

          - `OptionID string`

          - `Text string`

          - `Voters []PollDeliveredWebhookEventDataPollOptionVoter`

            - `Handle string`

            - `VotedAt Time`

        - `TotalVoters int64`

          Distinct participants across the whole poll.

      - `Service string`

      - `UpdatedAt Time`

      - `DeliveredAt Time`

      - `ReadAt Time`

      - `SenderHandle ChatHandle`

        The handle that sent the poll.

      - `SentAt Time`

      - `ZeroRetention bool`

        True when this poll was sent on a zero-day-retention line. Every option's `text` is empty in that case — Linq never persists poll option text, so there is nothing to include here. The real text was only ever shown once, synchronously, in the API response when the poll was created or added to.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type PollReadWebhookEvent struct{…}`

    Complete webhook payload for poll.read events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data PollReadWebhookEventData`

      Payload for poll.sent, poll.delivered, and poll.read webhook events. Timestamps indicate
      state (null = not yet happened): sent → sent_at; delivered → +delivered_at; read → +read_at.

      - `Chat PollReadWebhookEventDataChat`

        Chat info for poll webhook events.

        - `ID string`

        - `IsGroup bool`

        - `OwnerHandle ChatHandle`

      - `CreatedAt Time`

      - `Direction string`

        - `const PollReadWebhookEventDataDirectionInbound PollReadWebhookEventDataDirection = "inbound"`

        - `const PollReadWebhookEventDataDirectionOutbound PollReadWebhookEventDataDirection = "outbound"`

      - `MessageID string`

      - `Poll PollReadWebhookEventDataPoll`

        - `Options []PollReadWebhookEventDataPollOption`

          - `CanBeEdited bool`

          - `CreatorHandle ChatHandle`

            The participant who added this option (poll creator for the initial options; whoever
            added later ones). On a poll.updated this differs from the event's `sender_handle`
            whenever a remote participant added the option. Null when unknown.

          - `OptionID string`

          - `Text string`

          - `Voters []PollReadWebhookEventDataPollOptionVoter`

            - `Handle string`

            - `VotedAt Time`

        - `TotalVoters int64`

          Distinct participants across the whole poll.

      - `Service string`

      - `UpdatedAt Time`

      - `DeliveredAt Time`

      - `ReadAt Time`

      - `SenderHandle ChatHandle`

        The handle that sent the poll.

      - `SentAt Time`

      - `ZeroRetention bool`

        True when this poll was sent on a zero-day-retention line. Every option's `text` is empty in that case — Linq never persists poll option text, so there is nothing to include here. The real text was only ever shown once, synchronously, in the API response when the poll was created or added to.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type PollUpdatedWebhookEvent struct{…}`

    Complete webhook payload for poll.updated events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data PollUpdatedWebhookEventData`

      Payload for poll.updated (option(s) added — add-only).

      - `AddedOptions []PollUpdatedWebhookEventDataAddedOption`

        Only the options this update added — never the ones the poll already had. Fetch the poll to read its full option set.

        - `CanBeEdited bool`

        - `CreatorHandle ChatHandle`

          The participant who added this option (poll creator for the initial options; whoever
          added later ones). On a poll.updated this differs from the event's `sender_handle`
          whenever a remote participant added the option. Null when unknown.

        - `OptionID string`

        - `Text string`

        - `Voters []PollUpdatedWebhookEventDataAddedOptionVoter`

          - `Handle string`

          - `VotedAt Time`

      - `Chat PollUpdatedWebhookEventDataChat`

        Chat info for poll webhook events.

        - `ID string`

        - `IsGroup bool`

        - `OwnerHandle ChatHandle`

      - `Direction string`

        - `const PollUpdatedWebhookEventDataDirectionInbound PollUpdatedWebhookEventDataDirection = "inbound"`

        - `const PollUpdatedWebhookEventDataDirectionOutbound PollUpdatedWebhookEventDataDirection = "outbound"`

      - `MessageID string`

      - `SenderHandle ChatHandle`

        Your line — the one that received or sent this update. Always present. On an inbound
        update this is NOT who added the option: use `added_options[].creator_handle` for
        that, which will be the remote participant.

      - `Service string`

      - `ZeroRetention bool`

        True when zero-day-retention applies to this update. Behavior differs by `direction`: on an inbound update, `added_options[].text` is the real text a participant just added; on an outbound update, it is empty — you already saw the real text once, synchronously, in the API response when you made the add, and this webhook is built from a database read, which never stored it.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type PollFailedWebhookEvent struct{…}`

    Complete webhook payload for poll.failed events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data PollFailedWebhookEventData`

      Payload for poll.failed — an outbound poll (or poll action) that failed to send. Carries the
      poll snapshot at failure time plus the error and when it failed.

      - `Chat PollFailedWebhookEventDataChat`

        Chat info for poll webhook events.

        - `ID string`

        - `IsGroup bool`

        - `OwnerHandle ChatHandle`

      - `Direction string`

        - `const PollFailedWebhookEventDataDirectionInbound PollFailedWebhookEventDataDirection = "inbound"`

        - `const PollFailedWebhookEventDataDirectionOutbound PollFailedWebhookEventDataDirection = "outbound"`

      - `Error PollFailedWebhookEventDataError`

        - `Code int64`

          Error codes in webhook failure events. The possible set varies by event:
          message.failed and poll.failed can carry 3007, 4001, 4002, 4005, 4006, 4007, or
          4008; the group update failure events (chat.group_name_update_failed,
          chat.group_icon_update_failed) carry 3007 or 4001; chat.background_update_failed
          carries 1005, 2011, 4001, or 5002.

        - `Message string`

      - `FailedAt Time`

      - `MessageID string`

      - `Poll PollFailedWebhookEventDataPoll`

        - `Options []PollFailedWebhookEventDataPollOption`

          - `CanBeEdited bool`

          - `CreatorHandle ChatHandle`

            The participant who added this option (poll creator for the initial options; whoever
            added later ones). On a poll.updated this differs from the event's `sender_handle`
            whenever a remote participant added the option. Null when unknown.

          - `OptionID string`

          - `Text string`

          - `Voters []PollFailedWebhookEventDataPollOptionVoter`

            - `Handle string`

            - `VotedAt Time`

        - `TotalVoters int64`

          Distinct participants across the whole poll.

      - `Service string`

      - `SenderHandle ChatHandle`

        Null on failure (the send never landed).

      - `ZeroRetention bool`

        True when this poll was sent on a zero-day-retention line. `poll` is built from the same database read as poll.sent/delivered/read, so every option's `text` is empty.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type PollVoteAddedWebhookEvent struct{…}`

    Complete webhook payload for poll.vote.added events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data PollVoteAddedWebhookEventData`

      Payload for poll.vote.added and poll.vote.removed (one option toggled).

      - `Chat PollVoteAddedWebhookEventDataChat`

        Chat info for poll webhook events.

        - `ID string`

        - `IsGroup bool`

        - `OwnerHandle ChatHandle`

      - `Direction string`

        - `const PollVoteAddedWebhookEventDataDirectionInbound PollVoteAddedWebhookEventDataDirection = "inbound"`

        - `const PollVoteAddedWebhookEventDataDirectionOutbound PollVoteAddedWebhookEventDataDirection = "outbound"`

      - `MessageID string`

      - `OptionID string`

      - `SenderHandle ChatHandle`

        The voter — always present.

      - `Service string`

      - `ZeroRetention bool`

        True when this poll is on a zero-day-retention line. Votes are unaffected by zero-day-retention — a vote choice is always persisted and delivered regardless — this flag is informational only, telling you why this poll's other webhooks (poll.sent, poll.updated, etc.) may carry empty option text.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type PollVoteRemovedWebhookEvent struct{…}`

    Complete webhook payload for poll.vote.removed events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data PollVoteRemovedWebhookEventData`

      Payload for poll.vote.added and poll.vote.removed (one option toggled).

      - `Chat PollVoteRemovedWebhookEventDataChat`

        Chat info for poll webhook events.

        - `ID string`

        - `IsGroup bool`

        - `OwnerHandle ChatHandle`

      - `Direction string`

        - `const PollVoteRemovedWebhookEventDataDirectionInbound PollVoteRemovedWebhookEventDataDirection = "inbound"`

        - `const PollVoteRemovedWebhookEventDataDirectionOutbound PollVoteRemovedWebhookEventDataDirection = "outbound"`

      - `MessageID string`

      - `OptionID string`

      - `SenderHandle ChatHandle`

        The voter — always present.

      - `Service string`

      - `ZeroRetention bool`

        True when this poll is on a zero-day-retention line. Votes are unaffected by zero-day-retention — a vote choice is always persisted and delivered regardless — this flag is informational only, telling you why this poll's other webhooks (poll.sent, poll.updated, etc.) may carry empty option text.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type PollReactionAddedWebhookEvent struct{…}`

    Complete webhook payload for poll.reaction.added events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ReactionEventBase`

      Payload for poll.reaction.added — a reaction on a poll message. Same shape as
      reaction.added; `message_id` is the poll-definition message's ID. Poll reactions are
      stickers, which iMessage cannot remove, so there is no removal counterpart.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type ParticipantAddedWebhookEvent struct{…}`

    Complete webhook payload for participant.added events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ParticipantAddedWebhookEventData`

      Payload for participant.added webhook events

      - `Handle string`

        DEPRECATED: Use participant instead. Handle (phone number or email address) of the added participant.

      - `AddedAt Time`

        When the participant was added

      - `ChatID string`

        Chat identifier (UUID) of the group chat

      - `Participant ChatHandle`

        The added participant as a full handle object

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type ParticipantRemovedWebhookEvent struct{…}`

    Complete webhook payload for participant.removed events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ParticipantRemovedWebhookEventData`

      Payload for participant.removed webhook events

      - `Handle string`

        DEPRECATED: Use participant instead. Handle (phone number or email address) of the removed participant.

      - `ChatID string`

        Chat identifier (UUID) of the group chat

      - `Participant ChatHandle`

        The removed participant as a full handle object

      - `RemovedAt Time`

        When the participant was removed

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type ChatCreatedWebhookEvent struct{…}`

    Complete webhook payload for chat.created events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ChatCreatedWebhookEventData`

      Payload for chat.created webhook events. Matches GET /v3/chats/{chatId} response.

      - `ID string`

        Unique identifier for the chat

      - `CreatedAt Time`

        When the chat was created

      - `DisplayName string`

        Display name for the chat. Defaults to a comma-separated list of recipient handles. Can be updated for group chats.

      - `Handles []ChatHandle`

        List of chat participants with full handle details. Always contains at least two handles (your phone number and the other participant).

        - `ID string`

          Unique identifier for this handle

        - `Handle string`

          Phone number (E.164) or email address of the participant

        - `JoinedAt Time`

          When this participant joined the chat

        - `Service ServiceType`

          Messaging service type. Where this names the transport a message used,
          it is per-message: a chat's own `service` can differ from a message in
          it, and Apple can downgrade an individual message.

        - `IsMe bool`

          Whether this handle belongs to the sender (your phone number)

        - `LeftAt Time`

          When they left (if applicable)

        - `LineType ChatHandleLineType`

          The kind of line: `iMessage` for an iMessage-capable line, `RCS` for an
          RCS-only line, which sends RCS and SMS but never iMessage. Same values as
          the `type` parameter on `GET /v3/available_number`. A property of the line
          itself, so unlike `service` it does not change with the conversation:
          an iMessage-capable line can still carry an RCS or SMS conversation.

        - `Status ChatHandleStatus`

          Participant status

      - `HealthStatus ChatCreatedWebhookEventDataHealthStatus`

        **[BETA]** Current health for a chat. Always present — chats start at `HEALTHY` and may shift based on engagement and delivery signals on the conversation. Many `AT_RISK` or `CRITICAL` chats on a single line increase the risk of line flagging.

        Switch on `status` to surface chat and line health in your UI — the enum is the long-term contract. Each status carries a `doc_url` that deep-links to the relevant section of the Chat Health guide. To gate a send, act on the response rather than the status: a `403` is the authoritative answer.

        See the [Chat Health guide](/channel/imessage/guides/chats/chat-health) for what each status means and how to react.

        - `DocURL string`

          Deep-link to the relevant section of the Chat Health guide for this status.

        - `Status string`

          Current health bucket for the chat. See the [Chat Health guide](/channel/imessage/guides/chats/chat-health) for what each value means and how to react. `doc_url` deep-links to the relevant section.

          `OPTED_OUT` — the recipient sent `STOP`, `UNSUBSCRIBE`, `OPTOUT`, `CANCEL`, `END`, or `QUIT`.
          The keyword must be the whole trimmed message, never part of a longer one: `STOP` counts, `please stop`
          does not. Most keywords must match exactly, including case. `OPT OUT` is the exception — it matches in any
          casing, with or without the space or a hyphen, so `opt out`, `Opt-Out` and `optout` all count. It clears as
          soon as they reply again: any later message from them that is not itself an opt-out keyword opts them back
          in immediately — a reply in any conversation with you counts, the same way the block does.

          `OPTED_OUT` marks only the conversation the keyword arrived in. The block below is wider than the mark, so
          a conversation still reading `HEALTHY` can be blocked as well — gate on the `403`, not on the status.
          Group threads are never marked and are never blocked.

          Linq enforces this: while a recipient is opted out, every send to them is rejected with `403` (error code
          `2024`) before the message is queued, across every chat and every line on your account. Nothing is
          delivered, including a final courtesy message — to send one, set `override_optout: true` on that single
          request.

          - `const ChatCreatedWebhookEventDataHealthStatusStatusHealthy ChatCreatedWebhookEventDataHealthStatusStatus = "HEALTHY"`

          - `const ChatCreatedWebhookEventDataHealthStatusStatusAtRisk ChatCreatedWebhookEventDataHealthStatusStatus = "AT_RISK"`

          - `const ChatCreatedWebhookEventDataHealthStatusStatusCritical ChatCreatedWebhookEventDataHealthStatusStatus = "CRITICAL"`

          - `const ChatCreatedWebhookEventDataHealthStatusStatusOptedOut ChatCreatedWebhookEventDataHealthStatusStatus = "OPTED_OUT"`

        - `UpdatedAt Time`

          When this status last changed.

      - `IsGroup bool`

        Whether this is a group chat

      - `UpdatedAt Time`

        When the chat was last updated

      - `Service ServiceType`

        Messaging service type. Where this names the transport a message used,
        it is per-message: a chat's own `service` can differ from a message in
        it, and Apple can downgrade an individual message.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type ChatGroupNameUpdatedWebhookEvent struct{…}`

    Complete webhook payload for chat.group_name_updated events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ChatGroupNameUpdatedWebhookEventData`

      Payload for chat.group_name_updated webhook events

      - `ChatID string`

        Chat identifier (UUID) of the group chat

      - `UpdatedAt Time`

        When the update occurred

      - `ChangedByHandle ChatHandle`

        The handle who made the change.

      - `NewValue string`

        New group name (null if the name was removed)

      - `OldValue string`

        Previous group name (null if no previous name)

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type ChatGroupIconUpdatedWebhookEvent struct{…}`

    Complete webhook payload for chat.group_icon_updated events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ChatGroupIconUpdatedWebhookEventData`

      Payload for chat.group_icon_updated webhook events

      - `ChatID string`

        Chat identifier (UUID) of the group chat

      - `UpdatedAt Time`

        When the update occurred

      - `ChangedByHandle ChatHandle`

        The handle who made the change.

      - `NewValue string`

        New icon URL (null if the icon was removed)

      - `OldValue string`

        Previous icon URL (null if no previous icon)

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type ChatGroupNameUpdateFailedWebhookEvent struct{…}`

    Complete webhook payload for chat.group_name_update_failed events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ChatGroupNameUpdateFailedWebhookEventData`

      Error details for chat.group_name_update_failed webhook events.
      See [WebhookErrorCode](#/components/schemas/WebhookErrorCode) for the full error code reference.

      - `ChatID string`

        Chat identifier (UUID) of the group chat

      - `ErrorCode int64`

        Error codes in webhook failure events. The possible set varies by event:
        message.failed and poll.failed can carry 3007, 4001, 4002, 4005, 4006, 4007, or
        4008; the group update failure events (chat.group_name_update_failed,
        chat.group_icon_update_failed) carry 3007 or 4001; chat.background_update_failed
        carries 1005, 2011, 4001, or 5002.

      - `FailedAt Time`

        When the failure was detected

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type ChatGroupIconUpdateFailedWebhookEvent struct{…}`

    Complete webhook payload for chat.group_icon_update_failed events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ChatGroupIconUpdateFailedWebhookEventData`

      Error details for chat.group_icon_update_failed webhook events.
      See [WebhookErrorCode](#/components/schemas/WebhookErrorCode) for the full error code reference.

      - `ChatID string`

        Chat identifier (UUID) of the group chat

      - `ErrorCode int64`

        Error codes in webhook failure events. The possible set varies by event:
        message.failed and poll.failed can carry 3007, 4001, 4002, 4005, 4006, 4007, or
        4008; the group update failure events (chat.group_name_update_failed,
        chat.group_icon_update_failed) carry 3007 or 4001; chat.background_update_failed
        carries 1005, 2011, 4001, or 5002.

      - `FailedAt Time`

        When the failure was detected

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type ChatTypingIndicatorStartedWebhookEvent struct{…}`

    Complete webhook payload for chat.typing_indicator.started events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ChatTypingIndicatorStartedWebhookEventData`

      Payload for chat.typing_indicator.started webhook events

      - `ChatID string`

        Chat identifier

      - `ActorHandle ChatHandle`

        Who is typing.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type ChatTypingIndicatorStoppedWebhookEvent struct{…}`

    Complete webhook payload for chat.typing_indicator.stopped events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ChatTypingIndicatorStoppedWebhookEventData`

      Payload for chat.typing_indicator.stopped webhook events

      - `ChatID string`

        Chat identifier

      - `ActorHandle ChatHandle`

        Who stopped typing.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type ChatBackgroundUpdatedWebhookEvent struct{…}`

    Complete webhook payload for chat.background_updated events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ChatBackgroundUpdatedWebhookEventData`

      Payload for chat.background_updated webhook events.

      - `Chat ChatBackgroundUpdatedWebhookEventDataChat`

        Chat information

        - `ID string`

          Chat identifier

        - `IsGroup bool`

          Whether this is a group chat

        - `OwnerHandle ChatHandle`

          Your phone number's handle. Always has is_me=true.

      - `ActorHandle ChatHandle`

        Who changed it. `is_me` is true when your own number set it.

      - `Background ChatBackgroundUpdatedWebhookEventDataBackground`

        A chat transcript background. Fields are populated per `type`.

        - `Type string`

          The background family.

          - `const ChatBackgroundUpdatedWebhookEventDataBackgroundTypeColor ChatBackgroundUpdatedWebhookEventDataBackgroundType = "color"`

          - `const ChatBackgroundUpdatedWebhookEventDataBackgroundTypeDynamic ChatBackgroundUpdatedWebhookEventDataBackgroundType = "dynamic"`

          - `const ChatBackgroundUpdatedWebhookEventDataBackgroundTypePhoto ChatBackgroundUpdatedWebhookEventDataBackgroundType = "photo"`

        - `ImageURL string`

          Photo: a hosted URL for the background image, whether you set it or a
          participant did. Apple stores the image, not the URL it came from, so the
          image is re-hosted and this is our URL rather than the one you supplied.
          `null` only if the image could not be hosted.

        - `Shades []string`

          Color: the two gradient stops as hex, top then bottom.

        - `Style string`

          Dynamic: the animated style.

          - `const ChatBackgroundUpdatedWebhookEventDataBackgroundStyleSky ChatBackgroundUpdatedWebhookEventDataBackgroundStyle = "sky"`

          - `const ChatBackgroundUpdatedWebhookEventDataBackgroundStyleWater ChatBackgroundUpdatedWebhookEventDataBackgroundStyle = "water"`

          - `const ChatBackgroundUpdatedWebhookEventDataBackgroundStyleAurora ChatBackgroundUpdatedWebhookEventDataBackgroundStyle = "aurora"`

          - `const ChatBackgroundUpdatedWebhookEventDataBackgroundStyleGlitter ChatBackgroundUpdatedWebhookEventDataBackgroundStyle = "glitter"`

        - `Variant string`

          Color: `custom` (the stored two colors) or a named swatch. Dynamic: the
          variant within the `style` (e.g. `sunrise`).

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type ChatBackgroundUpdateFailedWebhookEvent struct{…}`

    Complete webhook payload for chat.background_update_failed events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ChatBackgroundUpdateFailedWebhookEventData`

      Error details for chat.background_update_failed webhook events.
      See [WebhookErrorCode](#/components/schemas/WebhookErrorCode) for the full error code reference.

      - `ChatID string`

        Chat identifier (UUID) whose background update failed

      - `ErrorCode int64`

        Error codes in webhook failure events. The possible set varies by event:
        message.failed and poll.failed can carry 3007, 4001, 4002, 4005, 4006, 4007, or
        4008; the group update failure events (chat.group_name_update_failed,
        chat.group_icon_update_failed) carry 3007 or 4001; chat.background_update_failed
        carries 1005, 2011, 4001, or 5002.

      - `FailedAt Time`

        When the failure was detected

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type ContactCardReceivedWebhookEvent struct{…}`

    Complete webhook payload for contact_card.received events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ContactCardReceivedWebhookEventData`

      Payload for contact_card.received webhook events.

      A contact belongs to a line, not to an individual chat. You receive one event per person who
      shares their contact, regardless of how many chats they have in common with your line.

      The event fires again whenever the shared contact's name or media changes.

      - `FirstName string`

        First name from the shared contact card

      - `LastName string`

        Last name from the shared contact card (may be empty)

      - `OwnerHandle string`

        Which of your lines they shared it with.

      - `SenderHandle string`

        The person who shared their card — a phone number or email address.

      - `MediaURL string`

        URL of the contact's media, served from `cdn.linqapp.com`. `null` when the
        contact shared no media, and also when media was shared but could not be
        retrieved — this field does not distinguish the two.

        Download the media and store it yourself. The URL may be signed and expire,
        in as little as 45 minutes, and altering its query string invalidates it
        immediately.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookEventType`

      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.

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type PhoneNumberStatusUpdatedWebhookEvent struct{…}`

    Complete webhook payload for phone_number.status_updated events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data PhoneNumberStatusUpdatedWebhookEventData`

      Payload for phone_number.status_updated webhook events

      - `ChangedAt Time`

        When the status change occurred

      - `NewReputation string`

        The new line reputation

        - `const PhoneNumberStatusUpdatedWebhookEventDataNewReputationHealthy PhoneNumberStatusUpdatedWebhookEventDataNewReputation = "HEALTHY"`

        - `const PhoneNumberStatusUpdatedWebhookEventDataNewReputationAtRisk PhoneNumberStatusUpdatedWebhookEventDataNewReputation = "AT_RISK"`

        - `const PhoneNumberStatusUpdatedWebhookEventDataNewReputationCritical PhoneNumberStatusUpdatedWebhookEventDataNewReputation = "CRITICAL"`

      - `NewStatus string`

        The new service status

        - `const PhoneNumberStatusUpdatedWebhookEventDataNewStatusActive PhoneNumberStatusUpdatedWebhookEventDataNewStatus = "ACTIVE"`

        - `const PhoneNumberStatusUpdatedWebhookEventDataNewStatusFlagged PhoneNumberStatusUpdatedWebhookEventDataNewStatus = "FLAGGED"`

      - `PhoneNumber string`

        Phone number in E.164 format

      - `PreviousReputation string`

        The previous line reputation

        - `const PhoneNumberStatusUpdatedWebhookEventDataPreviousReputationHealthy PhoneNumberStatusUpdatedWebhookEventDataPreviousReputation = "HEALTHY"`

        - `const PhoneNumberStatusUpdatedWebhookEventDataPreviousReputationAtRisk PhoneNumberStatusUpdatedWebhookEventDataPreviousReputation = "AT_RISK"`

        - `const PhoneNumberStatusUpdatedWebhookEventDataPreviousReputationCritical PhoneNumberStatusUpdatedWebhookEventDataPreviousReputation = "CRITICAL"`

      - `PreviousStatus string`

        The previous service status

        - `const PhoneNumberStatusUpdatedWebhookEventDataPreviousStatusActive PhoneNumberStatusUpdatedWebhookEventDataPreviousStatus = "ACTIVE"`

        - `const PhoneNumberStatusUpdatedWebhookEventDataPreviousStatusFlagged PhoneNumberStatusUpdatedWebhookEventDataPreviousStatus = "FLAGGED"`

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType PhoneNumberStatusUpdatedWebhookEventEventType`

      The type of event

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeMessageSent PhoneNumberStatusUpdatedWebhookEventEventType = "message.sent"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeMessageReceived PhoneNumberStatusUpdatedWebhookEventEventType = "message.received"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeMessageRead PhoneNumberStatusUpdatedWebhookEventEventType = "message.read"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeMessageDelivered PhoneNumberStatusUpdatedWebhookEventEventType = "message.delivered"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeMessageFailed PhoneNumberStatusUpdatedWebhookEventEventType = "message.failed"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeMessageEdited PhoneNumberStatusUpdatedWebhookEventEventType = "message.edited"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeReactionAdded PhoneNumberStatusUpdatedWebhookEventEventType = "reaction.added"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeReactionRemoved PhoneNumberStatusUpdatedWebhookEventEventType = "reaction.removed"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypePollReceived PhoneNumberStatusUpdatedWebhookEventEventType = "poll.received"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypePollFailed PhoneNumberStatusUpdatedWebhookEventEventType = "poll.failed"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypePollSent PhoneNumberStatusUpdatedWebhookEventEventType = "poll.sent"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypePollDelivered PhoneNumberStatusUpdatedWebhookEventEventType = "poll.delivered"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypePollRead PhoneNumberStatusUpdatedWebhookEventEventType = "poll.read"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypePollUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "poll.updated"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypePollVoteAdded PhoneNumberStatusUpdatedWebhookEventEventType = "poll.vote.added"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypePollVoteRemoved PhoneNumberStatusUpdatedWebhookEventEventType = "poll.vote.removed"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypePollReactionAdded PhoneNumberStatusUpdatedWebhookEventEventType = "poll.reaction.added"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeParticipantAdded PhoneNumberStatusUpdatedWebhookEventEventType = "participant.added"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeParticipantRemoved PhoneNumberStatusUpdatedWebhookEventEventType = "participant.removed"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeChatCreated PhoneNumberStatusUpdatedWebhookEventEventType = "chat.created"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeChatGroupNameUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "chat.group_name_updated"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeChatGroupIconUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "chat.group_icon_updated"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeChatGroupNameUpdateFailed PhoneNumberStatusUpdatedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeChatGroupIconUpdateFailed PhoneNumberStatusUpdatedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeChatBackgroundUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "chat.background_updated"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeChatBackgroundUpdateFailed PhoneNumberStatusUpdatedWebhookEventEventType = "chat.background_update_failed"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeChatTypingIndicatorStarted PhoneNumberStatusUpdatedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeChatTypingIndicatorStopped PhoneNumberStatusUpdatedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypePhoneNumberStatusUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "phone_number.status_updated"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypePhoneNumberAssigned PhoneNumberStatusUpdatedWebhookEventEventType = "phone_number.assigned"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypePhoneNumberReleased PhoneNumberStatusUpdatedWebhookEventEventType = "phone_number.released"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypePhoneNumberLineTypeUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeContactCardReceived PhoneNumberStatusUpdatedWebhookEventEventType = "contact_card.received"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeCallInitiated PhoneNumberStatusUpdatedWebhookEventEventType = "call.initiated"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeCallRinging PhoneNumberStatusUpdatedWebhookEventEventType = "call.ringing"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeCallAnswered PhoneNumberStatusUpdatedWebhookEventEventType = "call.answered"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeCallEnded PhoneNumberStatusUpdatedWebhookEventEventType = "call.ended"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeCallFailed PhoneNumberStatusUpdatedWebhookEventEventType = "call.failed"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeCallDeclined PhoneNumberStatusUpdatedWebhookEventEventType = "call.declined"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeCallNoAnswer PhoneNumberStatusUpdatedWebhookEventEventType = "call.no_answer"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeLocationSharingStarted PhoneNumberStatusUpdatedWebhookEventEventType = "location.sharing.started"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeLocationSharingStopped PhoneNumberStatusUpdatedWebhookEventEventType = "location.sharing.stopped"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypePaymentSucceeded PhoneNumberStatusUpdatedWebhookEventEventType = "payment.succeeded"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypePaymentCanceled PhoneNumberStatusUpdatedWebhookEventEventType = "payment.canceled"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypePaymentExpired PhoneNumberStatusUpdatedWebhookEventEventType = "payment.expired"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypePaymentDeclined PhoneNumberStatusUpdatedWebhookEventEventType = "payment.declined"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypePaymentAuthorized PhoneNumberStatusUpdatedWebhookEventEventType = "payment.authorized"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeConnectionCreated PhoneNumberStatusUpdatedWebhookEventEventType = "connection.created"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeConnectionRevoked PhoneNumberStatusUpdatedWebhookEventEventType = "connection.revoked"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeZeroDayRetentionUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "zero_day_retention.updated"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypePhoneNumberForwardingUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeEnvironmentLineMoved PhoneNumberStatusUpdatedWebhookEventEventType = "environment.line_moved"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeContactCardCreated PhoneNumberStatusUpdatedWebhookEventEventType = "contact_card.created"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeContactCardUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "contact_card.updated"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeContactCardDeleted PhoneNumberStatusUpdatedWebhookEventEventType = "contact_card.deleted"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeAPITokenCreated PhoneNumberStatusUpdatedWebhookEventEventType = "api_token.created"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeAPITokenRenamed PhoneNumberStatusUpdatedWebhookEventEventType = "api_token.renamed"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeAPITokenExpiryScheduled PhoneNumberStatusUpdatedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeAPITokenExpired PhoneNumberStatusUpdatedWebhookEventEventType = "api_token.expired"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeAPITokenActivated PhoneNumberStatusUpdatedWebhookEventEventType = "api_token.activated"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeAPITokenDeleted PhoneNumberStatusUpdatedWebhookEventEventType = "api_token.deleted"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeEnvironmentCreated PhoneNumberStatusUpdatedWebhookEventEventType = "environment.created"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeEnvironmentRenamed PhoneNumberStatusUpdatedWebhookEventEventType = "environment.renamed"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeEnvironmentDeleted PhoneNumberStatusUpdatedWebhookEventEventType = "environment.deleted"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeWebhookSubscriptionCreated PhoneNumberStatusUpdatedWebhookEventEventType = "webhook_subscription.created"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeWebhookSubscriptionDeleted PhoneNumberStatusUpdatedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged PhoneNumberStatusUpdatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeWebhookSubscriptionEnabled PhoneNumberStatusUpdatedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeWebhookSubscriptionDisabled PhoneNumberStatusUpdatedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated PhoneNumberStatusUpdatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet PhoneNumberStatusUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared PhoneNumberStatusUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeTeamMemberAdded PhoneNumberStatusUpdatedWebhookEventEventType = "team_member.added"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeTeamMemberSignedIn PhoneNumberStatusUpdatedWebhookEventEventType = "team_member.signed_in"`

      - `const PhoneNumberStatusUpdatedWebhookEventEventTypeTeamMemberSignedOut PhoneNumberStatusUpdatedWebhookEventEventType = "team_member.signed_out"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type PhoneNumberAssignedWebhookEvent struct{…}`

    Complete webhook payload for phone_number.assigned events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data PhoneNumberAssignedWebhookEventData`

      Payload for phone_number.assigned and phone_number.released webhook events

      - `ChangedAt Time`

        When the ownership change occurred

      - `PhoneNumber string`

        Phone number in E.164 format

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType PhoneNumberAssignedWebhookEventEventType`

      The type of event

      - `const PhoneNumberAssignedWebhookEventEventTypeMessageSent PhoneNumberAssignedWebhookEventEventType = "message.sent"`

      - `const PhoneNumberAssignedWebhookEventEventTypeMessageReceived PhoneNumberAssignedWebhookEventEventType = "message.received"`

      - `const PhoneNumberAssignedWebhookEventEventTypeMessageRead PhoneNumberAssignedWebhookEventEventType = "message.read"`

      - `const PhoneNumberAssignedWebhookEventEventTypeMessageDelivered PhoneNumberAssignedWebhookEventEventType = "message.delivered"`

      - `const PhoneNumberAssignedWebhookEventEventTypeMessageFailed PhoneNumberAssignedWebhookEventEventType = "message.failed"`

      - `const PhoneNumberAssignedWebhookEventEventTypeMessageEdited PhoneNumberAssignedWebhookEventEventType = "message.edited"`

      - `const PhoneNumberAssignedWebhookEventEventTypeReactionAdded PhoneNumberAssignedWebhookEventEventType = "reaction.added"`

      - `const PhoneNumberAssignedWebhookEventEventTypeReactionRemoved PhoneNumberAssignedWebhookEventEventType = "reaction.removed"`

      - `const PhoneNumberAssignedWebhookEventEventTypePollReceived PhoneNumberAssignedWebhookEventEventType = "poll.received"`

      - `const PhoneNumberAssignedWebhookEventEventTypePollFailed PhoneNumberAssignedWebhookEventEventType = "poll.failed"`

      - `const PhoneNumberAssignedWebhookEventEventTypePollSent PhoneNumberAssignedWebhookEventEventType = "poll.sent"`

      - `const PhoneNumberAssignedWebhookEventEventTypePollDelivered PhoneNumberAssignedWebhookEventEventType = "poll.delivered"`

      - `const PhoneNumberAssignedWebhookEventEventTypePollRead PhoneNumberAssignedWebhookEventEventType = "poll.read"`

      - `const PhoneNumberAssignedWebhookEventEventTypePollUpdated PhoneNumberAssignedWebhookEventEventType = "poll.updated"`

      - `const PhoneNumberAssignedWebhookEventEventTypePollVoteAdded PhoneNumberAssignedWebhookEventEventType = "poll.vote.added"`

      - `const PhoneNumberAssignedWebhookEventEventTypePollVoteRemoved PhoneNumberAssignedWebhookEventEventType = "poll.vote.removed"`

      - `const PhoneNumberAssignedWebhookEventEventTypePollReactionAdded PhoneNumberAssignedWebhookEventEventType = "poll.reaction.added"`

      - `const PhoneNumberAssignedWebhookEventEventTypeParticipantAdded PhoneNumberAssignedWebhookEventEventType = "participant.added"`

      - `const PhoneNumberAssignedWebhookEventEventTypeParticipantRemoved PhoneNumberAssignedWebhookEventEventType = "participant.removed"`

      - `const PhoneNumberAssignedWebhookEventEventTypeChatCreated PhoneNumberAssignedWebhookEventEventType = "chat.created"`

      - `const PhoneNumberAssignedWebhookEventEventTypeChatGroupNameUpdated PhoneNumberAssignedWebhookEventEventType = "chat.group_name_updated"`

      - `const PhoneNumberAssignedWebhookEventEventTypeChatGroupIconUpdated PhoneNumberAssignedWebhookEventEventType = "chat.group_icon_updated"`

      - `const PhoneNumberAssignedWebhookEventEventTypeChatGroupNameUpdateFailed PhoneNumberAssignedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const PhoneNumberAssignedWebhookEventEventTypeChatGroupIconUpdateFailed PhoneNumberAssignedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const PhoneNumberAssignedWebhookEventEventTypeChatBackgroundUpdated PhoneNumberAssignedWebhookEventEventType = "chat.background_updated"`

      - `const PhoneNumberAssignedWebhookEventEventTypeChatBackgroundUpdateFailed PhoneNumberAssignedWebhookEventEventType = "chat.background_update_failed"`

      - `const PhoneNumberAssignedWebhookEventEventTypeChatTypingIndicatorStarted PhoneNumberAssignedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const PhoneNumberAssignedWebhookEventEventTypeChatTypingIndicatorStopped PhoneNumberAssignedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const PhoneNumberAssignedWebhookEventEventTypePhoneNumberStatusUpdated PhoneNumberAssignedWebhookEventEventType = "phone_number.status_updated"`

      - `const PhoneNumberAssignedWebhookEventEventTypePhoneNumberAssigned PhoneNumberAssignedWebhookEventEventType = "phone_number.assigned"`

      - `const PhoneNumberAssignedWebhookEventEventTypePhoneNumberReleased PhoneNumberAssignedWebhookEventEventType = "phone_number.released"`

      - `const PhoneNumberAssignedWebhookEventEventTypePhoneNumberLineTypeUpdated PhoneNumberAssignedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const PhoneNumberAssignedWebhookEventEventTypeContactCardReceived PhoneNumberAssignedWebhookEventEventType = "contact_card.received"`

      - `const PhoneNumberAssignedWebhookEventEventTypeCallInitiated PhoneNumberAssignedWebhookEventEventType = "call.initiated"`

      - `const PhoneNumberAssignedWebhookEventEventTypeCallRinging PhoneNumberAssignedWebhookEventEventType = "call.ringing"`

      - `const PhoneNumberAssignedWebhookEventEventTypeCallAnswered PhoneNumberAssignedWebhookEventEventType = "call.answered"`

      - `const PhoneNumberAssignedWebhookEventEventTypeCallEnded PhoneNumberAssignedWebhookEventEventType = "call.ended"`

      - `const PhoneNumberAssignedWebhookEventEventTypeCallFailed PhoneNumberAssignedWebhookEventEventType = "call.failed"`

      - `const PhoneNumberAssignedWebhookEventEventTypeCallDeclined PhoneNumberAssignedWebhookEventEventType = "call.declined"`

      - `const PhoneNumberAssignedWebhookEventEventTypeCallNoAnswer PhoneNumberAssignedWebhookEventEventType = "call.no_answer"`

      - `const PhoneNumberAssignedWebhookEventEventTypeLocationSharingStarted PhoneNumberAssignedWebhookEventEventType = "location.sharing.started"`

      - `const PhoneNumberAssignedWebhookEventEventTypeLocationSharingStopped PhoneNumberAssignedWebhookEventEventType = "location.sharing.stopped"`

      - `const PhoneNumberAssignedWebhookEventEventTypePaymentSucceeded PhoneNumberAssignedWebhookEventEventType = "payment.succeeded"`

      - `const PhoneNumberAssignedWebhookEventEventTypePaymentCanceled PhoneNumberAssignedWebhookEventEventType = "payment.canceled"`

      - `const PhoneNumberAssignedWebhookEventEventTypePaymentExpired PhoneNumberAssignedWebhookEventEventType = "payment.expired"`

      - `const PhoneNumberAssignedWebhookEventEventTypePaymentDeclined PhoneNumberAssignedWebhookEventEventType = "payment.declined"`

      - `const PhoneNumberAssignedWebhookEventEventTypePaymentAuthorized PhoneNumberAssignedWebhookEventEventType = "payment.authorized"`

      - `const PhoneNumberAssignedWebhookEventEventTypeConnectionCreated PhoneNumberAssignedWebhookEventEventType = "connection.created"`

      - `const PhoneNumberAssignedWebhookEventEventTypeConnectionRevoked PhoneNumberAssignedWebhookEventEventType = "connection.revoked"`

      - `const PhoneNumberAssignedWebhookEventEventTypeZeroDayRetentionUpdated PhoneNumberAssignedWebhookEventEventType = "zero_day_retention.updated"`

      - `const PhoneNumberAssignedWebhookEventEventTypePhoneNumberForwardingUpdated PhoneNumberAssignedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const PhoneNumberAssignedWebhookEventEventTypeEnvironmentLineMoved PhoneNumberAssignedWebhookEventEventType = "environment.line_moved"`

      - `const PhoneNumberAssignedWebhookEventEventTypeContactCardCreated PhoneNumberAssignedWebhookEventEventType = "contact_card.created"`

      - `const PhoneNumberAssignedWebhookEventEventTypeContactCardUpdated PhoneNumberAssignedWebhookEventEventType = "contact_card.updated"`

      - `const PhoneNumberAssignedWebhookEventEventTypeContactCardDeleted PhoneNumberAssignedWebhookEventEventType = "contact_card.deleted"`

      - `const PhoneNumberAssignedWebhookEventEventTypeAPITokenCreated PhoneNumberAssignedWebhookEventEventType = "api_token.created"`

      - `const PhoneNumberAssignedWebhookEventEventTypeAPITokenRenamed PhoneNumberAssignedWebhookEventEventType = "api_token.renamed"`

      - `const PhoneNumberAssignedWebhookEventEventTypeAPITokenExpiryScheduled PhoneNumberAssignedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const PhoneNumberAssignedWebhookEventEventTypeAPITokenExpired PhoneNumberAssignedWebhookEventEventType = "api_token.expired"`

      - `const PhoneNumberAssignedWebhookEventEventTypeAPITokenActivated PhoneNumberAssignedWebhookEventEventType = "api_token.activated"`

      - `const PhoneNumberAssignedWebhookEventEventTypeAPITokenDeleted PhoneNumberAssignedWebhookEventEventType = "api_token.deleted"`

      - `const PhoneNumberAssignedWebhookEventEventTypeEnvironmentCreated PhoneNumberAssignedWebhookEventEventType = "environment.created"`

      - `const PhoneNumberAssignedWebhookEventEventTypeEnvironmentRenamed PhoneNumberAssignedWebhookEventEventType = "environment.renamed"`

      - `const PhoneNumberAssignedWebhookEventEventTypeEnvironmentDeleted PhoneNumberAssignedWebhookEventEventType = "environment.deleted"`

      - `const PhoneNumberAssignedWebhookEventEventTypeWebhookSubscriptionCreated PhoneNumberAssignedWebhookEventEventType = "webhook_subscription.created"`

      - `const PhoneNumberAssignedWebhookEventEventTypeWebhookSubscriptionDeleted PhoneNumberAssignedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const PhoneNumberAssignedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged PhoneNumberAssignedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const PhoneNumberAssignedWebhookEventEventTypeWebhookSubscriptionEnabled PhoneNumberAssignedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const PhoneNumberAssignedWebhookEventEventTypeWebhookSubscriptionDisabled PhoneNumberAssignedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const PhoneNumberAssignedWebhookEventEventTypeWebhookSubscriptionEventsUpdated PhoneNumberAssignedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const PhoneNumberAssignedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated PhoneNumberAssignedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const PhoneNumberAssignedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet PhoneNumberAssignedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const PhoneNumberAssignedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared PhoneNumberAssignedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const PhoneNumberAssignedWebhookEventEventTypeTeamMemberAdded PhoneNumberAssignedWebhookEventEventType = "team_member.added"`

      - `const PhoneNumberAssignedWebhookEventEventTypeTeamMemberSignedIn PhoneNumberAssignedWebhookEventEventType = "team_member.signed_in"`

      - `const PhoneNumberAssignedWebhookEventEventTypeTeamMemberSignedOut PhoneNumberAssignedWebhookEventEventType = "team_member.signed_out"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type PhoneNumberReleasedWebhookEvent struct{…}`

    Complete webhook payload for phone_number.released events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data PhoneNumberReleasedWebhookEventData`

      Payload for phone_number.assigned and phone_number.released webhook events

      - `ChangedAt Time`

        When the ownership change occurred

      - `PhoneNumber string`

        Phone number in E.164 format

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType PhoneNumberReleasedWebhookEventEventType`

      The type of event

      - `const PhoneNumberReleasedWebhookEventEventTypeMessageSent PhoneNumberReleasedWebhookEventEventType = "message.sent"`

      - `const PhoneNumberReleasedWebhookEventEventTypeMessageReceived PhoneNumberReleasedWebhookEventEventType = "message.received"`

      - `const PhoneNumberReleasedWebhookEventEventTypeMessageRead PhoneNumberReleasedWebhookEventEventType = "message.read"`

      - `const PhoneNumberReleasedWebhookEventEventTypeMessageDelivered PhoneNumberReleasedWebhookEventEventType = "message.delivered"`

      - `const PhoneNumberReleasedWebhookEventEventTypeMessageFailed PhoneNumberReleasedWebhookEventEventType = "message.failed"`

      - `const PhoneNumberReleasedWebhookEventEventTypeMessageEdited PhoneNumberReleasedWebhookEventEventType = "message.edited"`

      - `const PhoneNumberReleasedWebhookEventEventTypeReactionAdded PhoneNumberReleasedWebhookEventEventType = "reaction.added"`

      - `const PhoneNumberReleasedWebhookEventEventTypeReactionRemoved PhoneNumberReleasedWebhookEventEventType = "reaction.removed"`

      - `const PhoneNumberReleasedWebhookEventEventTypePollReceived PhoneNumberReleasedWebhookEventEventType = "poll.received"`

      - `const PhoneNumberReleasedWebhookEventEventTypePollFailed PhoneNumberReleasedWebhookEventEventType = "poll.failed"`

      - `const PhoneNumberReleasedWebhookEventEventTypePollSent PhoneNumberReleasedWebhookEventEventType = "poll.sent"`

      - `const PhoneNumberReleasedWebhookEventEventTypePollDelivered PhoneNumberReleasedWebhookEventEventType = "poll.delivered"`

      - `const PhoneNumberReleasedWebhookEventEventTypePollRead PhoneNumberReleasedWebhookEventEventType = "poll.read"`

      - `const PhoneNumberReleasedWebhookEventEventTypePollUpdated PhoneNumberReleasedWebhookEventEventType = "poll.updated"`

      - `const PhoneNumberReleasedWebhookEventEventTypePollVoteAdded PhoneNumberReleasedWebhookEventEventType = "poll.vote.added"`

      - `const PhoneNumberReleasedWebhookEventEventTypePollVoteRemoved PhoneNumberReleasedWebhookEventEventType = "poll.vote.removed"`

      - `const PhoneNumberReleasedWebhookEventEventTypePollReactionAdded PhoneNumberReleasedWebhookEventEventType = "poll.reaction.added"`

      - `const PhoneNumberReleasedWebhookEventEventTypeParticipantAdded PhoneNumberReleasedWebhookEventEventType = "participant.added"`

      - `const PhoneNumberReleasedWebhookEventEventTypeParticipantRemoved PhoneNumberReleasedWebhookEventEventType = "participant.removed"`

      - `const PhoneNumberReleasedWebhookEventEventTypeChatCreated PhoneNumberReleasedWebhookEventEventType = "chat.created"`

      - `const PhoneNumberReleasedWebhookEventEventTypeChatGroupNameUpdated PhoneNumberReleasedWebhookEventEventType = "chat.group_name_updated"`

      - `const PhoneNumberReleasedWebhookEventEventTypeChatGroupIconUpdated PhoneNumberReleasedWebhookEventEventType = "chat.group_icon_updated"`

      - `const PhoneNumberReleasedWebhookEventEventTypeChatGroupNameUpdateFailed PhoneNumberReleasedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const PhoneNumberReleasedWebhookEventEventTypeChatGroupIconUpdateFailed PhoneNumberReleasedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const PhoneNumberReleasedWebhookEventEventTypeChatBackgroundUpdated PhoneNumberReleasedWebhookEventEventType = "chat.background_updated"`

      - `const PhoneNumberReleasedWebhookEventEventTypeChatBackgroundUpdateFailed PhoneNumberReleasedWebhookEventEventType = "chat.background_update_failed"`

      - `const PhoneNumberReleasedWebhookEventEventTypeChatTypingIndicatorStarted PhoneNumberReleasedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const PhoneNumberReleasedWebhookEventEventTypeChatTypingIndicatorStopped PhoneNumberReleasedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const PhoneNumberReleasedWebhookEventEventTypePhoneNumberStatusUpdated PhoneNumberReleasedWebhookEventEventType = "phone_number.status_updated"`

      - `const PhoneNumberReleasedWebhookEventEventTypePhoneNumberAssigned PhoneNumberReleasedWebhookEventEventType = "phone_number.assigned"`

      - `const PhoneNumberReleasedWebhookEventEventTypePhoneNumberReleased PhoneNumberReleasedWebhookEventEventType = "phone_number.released"`

      - `const PhoneNumberReleasedWebhookEventEventTypePhoneNumberLineTypeUpdated PhoneNumberReleasedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const PhoneNumberReleasedWebhookEventEventTypeContactCardReceived PhoneNumberReleasedWebhookEventEventType = "contact_card.received"`

      - `const PhoneNumberReleasedWebhookEventEventTypeCallInitiated PhoneNumberReleasedWebhookEventEventType = "call.initiated"`

      - `const PhoneNumberReleasedWebhookEventEventTypeCallRinging PhoneNumberReleasedWebhookEventEventType = "call.ringing"`

      - `const PhoneNumberReleasedWebhookEventEventTypeCallAnswered PhoneNumberReleasedWebhookEventEventType = "call.answered"`

      - `const PhoneNumberReleasedWebhookEventEventTypeCallEnded PhoneNumberReleasedWebhookEventEventType = "call.ended"`

      - `const PhoneNumberReleasedWebhookEventEventTypeCallFailed PhoneNumberReleasedWebhookEventEventType = "call.failed"`

      - `const PhoneNumberReleasedWebhookEventEventTypeCallDeclined PhoneNumberReleasedWebhookEventEventType = "call.declined"`

      - `const PhoneNumberReleasedWebhookEventEventTypeCallNoAnswer PhoneNumberReleasedWebhookEventEventType = "call.no_answer"`

      - `const PhoneNumberReleasedWebhookEventEventTypeLocationSharingStarted PhoneNumberReleasedWebhookEventEventType = "location.sharing.started"`

      - `const PhoneNumberReleasedWebhookEventEventTypeLocationSharingStopped PhoneNumberReleasedWebhookEventEventType = "location.sharing.stopped"`

      - `const PhoneNumberReleasedWebhookEventEventTypePaymentSucceeded PhoneNumberReleasedWebhookEventEventType = "payment.succeeded"`

      - `const PhoneNumberReleasedWebhookEventEventTypePaymentCanceled PhoneNumberReleasedWebhookEventEventType = "payment.canceled"`

      - `const PhoneNumberReleasedWebhookEventEventTypePaymentExpired PhoneNumberReleasedWebhookEventEventType = "payment.expired"`

      - `const PhoneNumberReleasedWebhookEventEventTypePaymentDeclined PhoneNumberReleasedWebhookEventEventType = "payment.declined"`

      - `const PhoneNumberReleasedWebhookEventEventTypePaymentAuthorized PhoneNumberReleasedWebhookEventEventType = "payment.authorized"`

      - `const PhoneNumberReleasedWebhookEventEventTypeConnectionCreated PhoneNumberReleasedWebhookEventEventType = "connection.created"`

      - `const PhoneNumberReleasedWebhookEventEventTypeConnectionRevoked PhoneNumberReleasedWebhookEventEventType = "connection.revoked"`

      - `const PhoneNumberReleasedWebhookEventEventTypeZeroDayRetentionUpdated PhoneNumberReleasedWebhookEventEventType = "zero_day_retention.updated"`

      - `const PhoneNumberReleasedWebhookEventEventTypePhoneNumberForwardingUpdated PhoneNumberReleasedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const PhoneNumberReleasedWebhookEventEventTypeEnvironmentLineMoved PhoneNumberReleasedWebhookEventEventType = "environment.line_moved"`

      - `const PhoneNumberReleasedWebhookEventEventTypeContactCardCreated PhoneNumberReleasedWebhookEventEventType = "contact_card.created"`

      - `const PhoneNumberReleasedWebhookEventEventTypeContactCardUpdated PhoneNumberReleasedWebhookEventEventType = "contact_card.updated"`

      - `const PhoneNumberReleasedWebhookEventEventTypeContactCardDeleted PhoneNumberReleasedWebhookEventEventType = "contact_card.deleted"`

      - `const PhoneNumberReleasedWebhookEventEventTypeAPITokenCreated PhoneNumberReleasedWebhookEventEventType = "api_token.created"`

      - `const PhoneNumberReleasedWebhookEventEventTypeAPITokenRenamed PhoneNumberReleasedWebhookEventEventType = "api_token.renamed"`

      - `const PhoneNumberReleasedWebhookEventEventTypeAPITokenExpiryScheduled PhoneNumberReleasedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const PhoneNumberReleasedWebhookEventEventTypeAPITokenExpired PhoneNumberReleasedWebhookEventEventType = "api_token.expired"`

      - `const PhoneNumberReleasedWebhookEventEventTypeAPITokenActivated PhoneNumberReleasedWebhookEventEventType = "api_token.activated"`

      - `const PhoneNumberReleasedWebhookEventEventTypeAPITokenDeleted PhoneNumberReleasedWebhookEventEventType = "api_token.deleted"`

      - `const PhoneNumberReleasedWebhookEventEventTypeEnvironmentCreated PhoneNumberReleasedWebhookEventEventType = "environment.created"`

      - `const PhoneNumberReleasedWebhookEventEventTypeEnvironmentRenamed PhoneNumberReleasedWebhookEventEventType = "environment.renamed"`

      - `const PhoneNumberReleasedWebhookEventEventTypeEnvironmentDeleted PhoneNumberReleasedWebhookEventEventType = "environment.deleted"`

      - `const PhoneNumberReleasedWebhookEventEventTypeWebhookSubscriptionCreated PhoneNumberReleasedWebhookEventEventType = "webhook_subscription.created"`

      - `const PhoneNumberReleasedWebhookEventEventTypeWebhookSubscriptionDeleted PhoneNumberReleasedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const PhoneNumberReleasedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged PhoneNumberReleasedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const PhoneNumberReleasedWebhookEventEventTypeWebhookSubscriptionEnabled PhoneNumberReleasedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const PhoneNumberReleasedWebhookEventEventTypeWebhookSubscriptionDisabled PhoneNumberReleasedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const PhoneNumberReleasedWebhookEventEventTypeWebhookSubscriptionEventsUpdated PhoneNumberReleasedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const PhoneNumberReleasedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated PhoneNumberReleasedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const PhoneNumberReleasedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet PhoneNumberReleasedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const PhoneNumberReleasedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared PhoneNumberReleasedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const PhoneNumberReleasedWebhookEventEventTypeTeamMemberAdded PhoneNumberReleasedWebhookEventEventType = "team_member.added"`

      - `const PhoneNumberReleasedWebhookEventEventTypeTeamMemberSignedIn PhoneNumberReleasedWebhookEventEventType = "team_member.signed_in"`

      - `const PhoneNumberReleasedWebhookEventEventTypeTeamMemberSignedOut PhoneNumberReleasedWebhookEventEventType = "team_member.signed_out"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type PhoneNumberLineTypeUpdatedWebhookEvent struct{…}`

    Complete webhook payload for phone_number.line_type_updated events

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data PhoneNumberLineTypeUpdatedWebhookEventData`

      Payload for phone_number.line_type_updated webhook events

      - `ChangedAt Time`

        When the line type changed

      - `NewLineType string`

        The line type after the change

        - `const PhoneNumberLineTypeUpdatedWebhookEventDataNewLineTypeIMessage PhoneNumberLineTypeUpdatedWebhookEventDataNewLineType = "iMessage"`

        - `const PhoneNumberLineTypeUpdatedWebhookEventDataNewLineTypeRCS PhoneNumberLineTypeUpdatedWebhookEventDataNewLineType = "RCS"`

      - `PhoneNumber string`

        Phone number in E.164 format

      - `PreviousLineType string`

        The line type before the change

        - `const PhoneNumberLineTypeUpdatedWebhookEventDataPreviousLineTypeIMessage PhoneNumberLineTypeUpdatedWebhookEventDataPreviousLineType = "iMessage"`

        - `const PhoneNumberLineTypeUpdatedWebhookEventDataPreviousLineTypeRCS PhoneNumberLineTypeUpdatedWebhookEventDataPreviousLineType = "RCS"`

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType PhoneNumberLineTypeUpdatedWebhookEventEventType`

      The type of event

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeMessageSent PhoneNumberLineTypeUpdatedWebhookEventEventType = "message.sent"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeMessageReceived PhoneNumberLineTypeUpdatedWebhookEventEventType = "message.received"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeMessageRead PhoneNumberLineTypeUpdatedWebhookEventEventType = "message.read"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeMessageDelivered PhoneNumberLineTypeUpdatedWebhookEventEventType = "message.delivered"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeMessageFailed PhoneNumberLineTypeUpdatedWebhookEventEventType = "message.failed"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeMessageEdited PhoneNumberLineTypeUpdatedWebhookEventEventType = "message.edited"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeReactionAdded PhoneNumberLineTypeUpdatedWebhookEventEventType = "reaction.added"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeReactionRemoved PhoneNumberLineTypeUpdatedWebhookEventEventType = "reaction.removed"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePollReceived PhoneNumberLineTypeUpdatedWebhookEventEventType = "poll.received"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePollFailed PhoneNumberLineTypeUpdatedWebhookEventEventType = "poll.failed"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePollSent PhoneNumberLineTypeUpdatedWebhookEventEventType = "poll.sent"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePollDelivered PhoneNumberLineTypeUpdatedWebhookEventEventType = "poll.delivered"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePollRead PhoneNumberLineTypeUpdatedWebhookEventEventType = "poll.read"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePollUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "poll.updated"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePollVoteAdded PhoneNumberLineTypeUpdatedWebhookEventEventType = "poll.vote.added"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePollVoteRemoved PhoneNumberLineTypeUpdatedWebhookEventEventType = "poll.vote.removed"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePollReactionAdded PhoneNumberLineTypeUpdatedWebhookEventEventType = "poll.reaction.added"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeParticipantAdded PhoneNumberLineTypeUpdatedWebhookEventEventType = "participant.added"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeParticipantRemoved PhoneNumberLineTypeUpdatedWebhookEventEventType = "participant.removed"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeChatCreated PhoneNumberLineTypeUpdatedWebhookEventEventType = "chat.created"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeChatGroupNameUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "chat.group_name_updated"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeChatGroupIconUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "chat.group_icon_updated"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeChatGroupNameUpdateFailed PhoneNumberLineTypeUpdatedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeChatGroupIconUpdateFailed PhoneNumberLineTypeUpdatedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeChatBackgroundUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "chat.background_updated"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeChatBackgroundUpdateFailed PhoneNumberLineTypeUpdatedWebhookEventEventType = "chat.background_update_failed"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeChatTypingIndicatorStarted PhoneNumberLineTypeUpdatedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeChatTypingIndicatorStopped PhoneNumberLineTypeUpdatedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePhoneNumberStatusUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "phone_number.status_updated"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePhoneNumberAssigned PhoneNumberLineTypeUpdatedWebhookEventEventType = "phone_number.assigned"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePhoneNumberReleased PhoneNumberLineTypeUpdatedWebhookEventEventType = "phone_number.released"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePhoneNumberLineTypeUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeContactCardReceived PhoneNumberLineTypeUpdatedWebhookEventEventType = "contact_card.received"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeCallInitiated PhoneNumberLineTypeUpdatedWebhookEventEventType = "call.initiated"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeCallRinging PhoneNumberLineTypeUpdatedWebhookEventEventType = "call.ringing"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeCallAnswered PhoneNumberLineTypeUpdatedWebhookEventEventType = "call.answered"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeCallEnded PhoneNumberLineTypeUpdatedWebhookEventEventType = "call.ended"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeCallFailed PhoneNumberLineTypeUpdatedWebhookEventEventType = "call.failed"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeCallDeclined PhoneNumberLineTypeUpdatedWebhookEventEventType = "call.declined"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeCallNoAnswer PhoneNumberLineTypeUpdatedWebhookEventEventType = "call.no_answer"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeLocationSharingStarted PhoneNumberLineTypeUpdatedWebhookEventEventType = "location.sharing.started"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeLocationSharingStopped PhoneNumberLineTypeUpdatedWebhookEventEventType = "location.sharing.stopped"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePaymentSucceeded PhoneNumberLineTypeUpdatedWebhookEventEventType = "payment.succeeded"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePaymentCanceled PhoneNumberLineTypeUpdatedWebhookEventEventType = "payment.canceled"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePaymentExpired PhoneNumberLineTypeUpdatedWebhookEventEventType = "payment.expired"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePaymentDeclined PhoneNumberLineTypeUpdatedWebhookEventEventType = "payment.declined"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePaymentAuthorized PhoneNumberLineTypeUpdatedWebhookEventEventType = "payment.authorized"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeConnectionCreated PhoneNumberLineTypeUpdatedWebhookEventEventType = "connection.created"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeConnectionRevoked PhoneNumberLineTypeUpdatedWebhookEventEventType = "connection.revoked"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeZeroDayRetentionUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "zero_day_retention.updated"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypePhoneNumberForwardingUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeEnvironmentLineMoved PhoneNumberLineTypeUpdatedWebhookEventEventType = "environment.line_moved"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeContactCardCreated PhoneNumberLineTypeUpdatedWebhookEventEventType = "contact_card.created"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeContactCardUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "contact_card.updated"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeContactCardDeleted PhoneNumberLineTypeUpdatedWebhookEventEventType = "contact_card.deleted"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeAPITokenCreated PhoneNumberLineTypeUpdatedWebhookEventEventType = "api_token.created"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeAPITokenRenamed PhoneNumberLineTypeUpdatedWebhookEventEventType = "api_token.renamed"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeAPITokenExpiryScheduled PhoneNumberLineTypeUpdatedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeAPITokenExpired PhoneNumberLineTypeUpdatedWebhookEventEventType = "api_token.expired"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeAPITokenActivated PhoneNumberLineTypeUpdatedWebhookEventEventType = "api_token.activated"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeAPITokenDeleted PhoneNumberLineTypeUpdatedWebhookEventEventType = "api_token.deleted"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeEnvironmentCreated PhoneNumberLineTypeUpdatedWebhookEventEventType = "environment.created"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeEnvironmentRenamed PhoneNumberLineTypeUpdatedWebhookEventEventType = "environment.renamed"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeEnvironmentDeleted PhoneNumberLineTypeUpdatedWebhookEventEventType = "environment.deleted"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeWebhookSubscriptionCreated PhoneNumberLineTypeUpdatedWebhookEventEventType = "webhook_subscription.created"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeWebhookSubscriptionDeleted PhoneNumberLineTypeUpdatedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged PhoneNumberLineTypeUpdatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeWebhookSubscriptionEnabled PhoneNumberLineTypeUpdatedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeWebhookSubscriptionDisabled PhoneNumberLineTypeUpdatedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated PhoneNumberLineTypeUpdatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet PhoneNumberLineTypeUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared PhoneNumberLineTypeUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeTeamMemberAdded PhoneNumberLineTypeUpdatedWebhookEventEventType = "team_member.added"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeTeamMemberSignedIn PhoneNumberLineTypeUpdatedWebhookEventEventType = "team_member.signed_in"`

      - `const PhoneNumberLineTypeUpdatedWebhookEventEventTypeTeamMemberSignedOut PhoneNumberLineTypeUpdatedWebhookEventEventType = "team_member.signed_out"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type ConnectionCreatedWebhookEvent struct{…}`

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ConnectionCreatedWebhookEventData`

      The payment request, as returned by
      `GET /v3/payment_requests/{paymentRequestId}`.

      - `ID string`

        The payment request id.

      - `Amount int64`

        What was charged at checkout, in the currency's minor
        units. In `subscription` mode this is the first invoice's
        total — all items after any discounts are applied.

      - `CheckoutURL string`

        URL the recipient opens to pay
        (`https://zero.linqapp.com/pay/{slug}?session=...`).

      - `CreatedAt Time`

      - `Currency string`

      - `Object string`

      - `Status string`

        - `const ConnectionCreatedWebhookEventDataStatusSucceeded ConnectionCreatedWebhookEventDataStatus = "succeeded"`

        - `const ConnectionCreatedWebhookEventDataStatusFailed ConnectionCreatedWebhookEventDataStatus = "failed"`

        - `const ConnectionCreatedWebhookEventDataStatusCanceled ConnectionCreatedWebhookEventDataStatus = "canceled"`

        - `const ConnectionCreatedWebhookEventDataStatusExpired ConnectionCreatedWebhookEventDataStatus = "expired"`

      - `Description string`

      - `Discount ConnectionCreatedWebhookEventDataDiscount`

        Subscription mode — the discount Stripe applied, read back
        from the coupon. Absent when none was applied.

        - `Coupon string`

        - `Label string`

          Name of the coupon/promo code displayed to customers.

        - `PromotionCode string`

      - `Interval string`

        Subscription mode — how often the subscription renews.

        - `const ConnectionCreatedWebhookEventDataIntervalDay ConnectionCreatedWebhookEventDataInterval = "day"`

        - `const ConnectionCreatedWebhookEventDataIntervalWeek ConnectionCreatedWebhookEventDataInterval = "week"`

        - `const ConnectionCreatedWebhookEventDataIntervalMonth ConnectionCreatedWebhookEventDataInterval = "month"`

        - `const ConnectionCreatedWebhookEventDataIntervalYear ConnectionCreatedWebhookEventDataInterval = "year"`

      - `IntervalCount int64`

        Subscription mode — intervals per renewal.

      - `Metadata map[string, string]`

      - `Mode string`

        Whether the request collected a one-time charge or started a subscription.

        - `const ConnectionCreatedWebhookEventDataModePayment ConnectionCreatedWebhookEventDataMode = "payment"`

        - `const ConnectionCreatedWebhookEventDataModeSubscription ConnectionCreatedWebhookEventDataMode = "subscription"`

      - `Natural ConnectionCreatedWebhookEventDataNatural`

        Natural-rail join keys, present when `rail: natural`.

        - `PaymentRequestID string`

          The Natural payment request (`prq_...`).

        - `TransactionID string`

          The settled transaction (`txn_...`).

      - `PriceID string`

        Subscription mode — the recurring price subscribed to.

      - `Quantity int64`

        Subscription mode — units of the price subscribed to.

      - `Rail string`

        The rail this request settled on.

        - `const ConnectionCreatedWebhookEventDataRailStripe ConnectionCreatedWebhookEventDataRail = "stripe"`

        - `const ConnectionCreatedWebhookEventDataRailNatural ConnectionCreatedWebhookEventDataRail = "natural"`

      - `Stripe ConnectionCreatedWebhookEventDataStripe`

        Ids of the Stripe objects on your connected account — join
        keys into your own Stripe Dashboard/API. Manage a
        subscription's post-checkout lifecycle with `subscription_id`.

        - `CustomerID string`

          The Customer the request is attached to (`cus_...`).
          Always set in subscription mode; set in payment mode
          only when the request was created with a `customer_id`.

        - `PaymentIntentID string`

          The PaymentIntent collected at checkout (`pi_...`).

        - `SubscriptionID string`

          Subscription mode — the Subscription (`sub_...`).

      - `TrialEnd Time`

        Subscription mode — when the free trial ends and the first
        charge happens. On a trial request, `payment.succeeded`
        means the payment method was collected ($0 moved).

      - `UpdatedAt Time`

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType ConnectionCreatedWebhookEventEventType`

      - `const ConnectionCreatedWebhookEventEventTypePaymentSucceeded ConnectionCreatedWebhookEventEventType = "payment.succeeded"`

      - `const ConnectionCreatedWebhookEventEventTypePaymentCanceled ConnectionCreatedWebhookEventEventType = "payment.canceled"`

      - `const ConnectionCreatedWebhookEventEventTypePaymentExpired ConnectionCreatedWebhookEventEventType = "payment.expired"`

      - `const ConnectionCreatedWebhookEventEventTypeMessageSent ConnectionCreatedWebhookEventEventType = "message.sent"`

      - `const ConnectionCreatedWebhookEventEventTypeMessageReceived ConnectionCreatedWebhookEventEventType = "message.received"`

      - `const ConnectionCreatedWebhookEventEventTypeMessageRead ConnectionCreatedWebhookEventEventType = "message.read"`

      - `const ConnectionCreatedWebhookEventEventTypeMessageDelivered ConnectionCreatedWebhookEventEventType = "message.delivered"`

      - `const ConnectionCreatedWebhookEventEventTypeMessageFailed ConnectionCreatedWebhookEventEventType = "message.failed"`

      - `const ConnectionCreatedWebhookEventEventTypeMessageEdited ConnectionCreatedWebhookEventEventType = "message.edited"`

      - `const ConnectionCreatedWebhookEventEventTypeReactionAdded ConnectionCreatedWebhookEventEventType = "reaction.added"`

      - `const ConnectionCreatedWebhookEventEventTypeReactionRemoved ConnectionCreatedWebhookEventEventType = "reaction.removed"`

      - `const ConnectionCreatedWebhookEventEventTypePollReceived ConnectionCreatedWebhookEventEventType = "poll.received"`

      - `const ConnectionCreatedWebhookEventEventTypePollFailed ConnectionCreatedWebhookEventEventType = "poll.failed"`

      - `const ConnectionCreatedWebhookEventEventTypePollSent ConnectionCreatedWebhookEventEventType = "poll.sent"`

      - `const ConnectionCreatedWebhookEventEventTypePollDelivered ConnectionCreatedWebhookEventEventType = "poll.delivered"`

      - `const ConnectionCreatedWebhookEventEventTypePollRead ConnectionCreatedWebhookEventEventType = "poll.read"`

      - `const ConnectionCreatedWebhookEventEventTypePollUpdated ConnectionCreatedWebhookEventEventType = "poll.updated"`

      - `const ConnectionCreatedWebhookEventEventTypePollVoteAdded ConnectionCreatedWebhookEventEventType = "poll.vote.added"`

      - `const ConnectionCreatedWebhookEventEventTypePollVoteRemoved ConnectionCreatedWebhookEventEventType = "poll.vote.removed"`

      - `const ConnectionCreatedWebhookEventEventTypePollReactionAdded ConnectionCreatedWebhookEventEventType = "poll.reaction.added"`

      - `const ConnectionCreatedWebhookEventEventTypeParticipantAdded ConnectionCreatedWebhookEventEventType = "participant.added"`

      - `const ConnectionCreatedWebhookEventEventTypeParticipantRemoved ConnectionCreatedWebhookEventEventType = "participant.removed"`

      - `const ConnectionCreatedWebhookEventEventTypeChatCreated ConnectionCreatedWebhookEventEventType = "chat.created"`

      - `const ConnectionCreatedWebhookEventEventTypeChatGroupNameUpdated ConnectionCreatedWebhookEventEventType = "chat.group_name_updated"`

      - `const ConnectionCreatedWebhookEventEventTypeChatGroupIconUpdated ConnectionCreatedWebhookEventEventType = "chat.group_icon_updated"`

      - `const ConnectionCreatedWebhookEventEventTypeChatGroupNameUpdateFailed ConnectionCreatedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const ConnectionCreatedWebhookEventEventTypeChatGroupIconUpdateFailed ConnectionCreatedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const ConnectionCreatedWebhookEventEventTypeChatBackgroundUpdated ConnectionCreatedWebhookEventEventType = "chat.background_updated"`

      - `const ConnectionCreatedWebhookEventEventTypeChatBackgroundUpdateFailed ConnectionCreatedWebhookEventEventType = "chat.background_update_failed"`

      - `const ConnectionCreatedWebhookEventEventTypeChatTypingIndicatorStarted ConnectionCreatedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const ConnectionCreatedWebhookEventEventTypeChatTypingIndicatorStopped ConnectionCreatedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const ConnectionCreatedWebhookEventEventTypePhoneNumberStatusUpdated ConnectionCreatedWebhookEventEventType = "phone_number.status_updated"`

      - `const ConnectionCreatedWebhookEventEventTypePhoneNumberAssigned ConnectionCreatedWebhookEventEventType = "phone_number.assigned"`

      - `const ConnectionCreatedWebhookEventEventTypePhoneNumberReleased ConnectionCreatedWebhookEventEventType = "phone_number.released"`

      - `const ConnectionCreatedWebhookEventEventTypePhoneNumberLineTypeUpdated ConnectionCreatedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const ConnectionCreatedWebhookEventEventTypeContactCardReceived ConnectionCreatedWebhookEventEventType = "contact_card.received"`

      - `const ConnectionCreatedWebhookEventEventTypeCallInitiated ConnectionCreatedWebhookEventEventType = "call.initiated"`

      - `const ConnectionCreatedWebhookEventEventTypeCallRinging ConnectionCreatedWebhookEventEventType = "call.ringing"`

      - `const ConnectionCreatedWebhookEventEventTypeCallAnswered ConnectionCreatedWebhookEventEventType = "call.answered"`

      - `const ConnectionCreatedWebhookEventEventTypeCallEnded ConnectionCreatedWebhookEventEventType = "call.ended"`

      - `const ConnectionCreatedWebhookEventEventTypeCallFailed ConnectionCreatedWebhookEventEventType = "call.failed"`

      - `const ConnectionCreatedWebhookEventEventTypeCallDeclined ConnectionCreatedWebhookEventEventType = "call.declined"`

      - `const ConnectionCreatedWebhookEventEventTypeCallNoAnswer ConnectionCreatedWebhookEventEventType = "call.no_answer"`

      - `const ConnectionCreatedWebhookEventEventTypeLocationSharingStarted ConnectionCreatedWebhookEventEventType = "location.sharing.started"`

      - `const ConnectionCreatedWebhookEventEventTypeLocationSharingStopped ConnectionCreatedWebhookEventEventType = "location.sharing.stopped"`

      - `const ConnectionCreatedWebhookEventEventTypePaymentDeclined ConnectionCreatedWebhookEventEventType = "payment.declined"`

      - `const ConnectionCreatedWebhookEventEventTypePaymentAuthorized ConnectionCreatedWebhookEventEventType = "payment.authorized"`

      - `const ConnectionCreatedWebhookEventEventTypeConnectionCreated ConnectionCreatedWebhookEventEventType = "connection.created"`

      - `const ConnectionCreatedWebhookEventEventTypeConnectionRevoked ConnectionCreatedWebhookEventEventType = "connection.revoked"`

      - `const ConnectionCreatedWebhookEventEventTypeZeroDayRetentionUpdated ConnectionCreatedWebhookEventEventType = "zero_day_retention.updated"`

      - `const ConnectionCreatedWebhookEventEventTypePhoneNumberForwardingUpdated ConnectionCreatedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const ConnectionCreatedWebhookEventEventTypeEnvironmentLineMoved ConnectionCreatedWebhookEventEventType = "environment.line_moved"`

      - `const ConnectionCreatedWebhookEventEventTypeContactCardCreated ConnectionCreatedWebhookEventEventType = "contact_card.created"`

      - `const ConnectionCreatedWebhookEventEventTypeContactCardUpdated ConnectionCreatedWebhookEventEventType = "contact_card.updated"`

      - `const ConnectionCreatedWebhookEventEventTypeContactCardDeleted ConnectionCreatedWebhookEventEventType = "contact_card.deleted"`

      - `const ConnectionCreatedWebhookEventEventTypeAPITokenCreated ConnectionCreatedWebhookEventEventType = "api_token.created"`

      - `const ConnectionCreatedWebhookEventEventTypeAPITokenRenamed ConnectionCreatedWebhookEventEventType = "api_token.renamed"`

      - `const ConnectionCreatedWebhookEventEventTypeAPITokenExpiryScheduled ConnectionCreatedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const ConnectionCreatedWebhookEventEventTypeAPITokenExpired ConnectionCreatedWebhookEventEventType = "api_token.expired"`

      - `const ConnectionCreatedWebhookEventEventTypeAPITokenActivated ConnectionCreatedWebhookEventEventType = "api_token.activated"`

      - `const ConnectionCreatedWebhookEventEventTypeAPITokenDeleted ConnectionCreatedWebhookEventEventType = "api_token.deleted"`

      - `const ConnectionCreatedWebhookEventEventTypeEnvironmentCreated ConnectionCreatedWebhookEventEventType = "environment.created"`

      - `const ConnectionCreatedWebhookEventEventTypeEnvironmentRenamed ConnectionCreatedWebhookEventEventType = "environment.renamed"`

      - `const ConnectionCreatedWebhookEventEventTypeEnvironmentDeleted ConnectionCreatedWebhookEventEventType = "environment.deleted"`

      - `const ConnectionCreatedWebhookEventEventTypeWebhookSubscriptionCreated ConnectionCreatedWebhookEventEventType = "webhook_subscription.created"`

      - `const ConnectionCreatedWebhookEventEventTypeWebhookSubscriptionDeleted ConnectionCreatedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const ConnectionCreatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged ConnectionCreatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const ConnectionCreatedWebhookEventEventTypeWebhookSubscriptionEnabled ConnectionCreatedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const ConnectionCreatedWebhookEventEventTypeWebhookSubscriptionDisabled ConnectionCreatedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const ConnectionCreatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated ConnectionCreatedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const ConnectionCreatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated ConnectionCreatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const ConnectionCreatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet ConnectionCreatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const ConnectionCreatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared ConnectionCreatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const ConnectionCreatedWebhookEventEventTypeTeamMemberAdded ConnectionCreatedWebhookEventEventType = "team_member.added"`

      - `const ConnectionCreatedWebhookEventEventTypeTeamMemberSignedIn ConnectionCreatedWebhookEventEventType = "team_member.signed_in"`

      - `const ConnectionCreatedWebhookEventEventTypeTeamMemberSignedOut ConnectionCreatedWebhookEventEventType = "team_member.signed_out"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type ConnectionRevokedWebhookEvent struct{…}`

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ConnectionRevokedWebhookEventData`

      The payment request, as returned by
      `GET /v3/payment_requests/{paymentRequestId}`.

      - `ID string`

        The payment request id.

      - `Amount int64`

        What was charged at checkout, in the currency's minor
        units. In `subscription` mode this is the first invoice's
        total — all items after any discounts are applied.

      - `CheckoutURL string`

        URL the recipient opens to pay
        (`https://zero.linqapp.com/pay/{slug}?session=...`).

      - `CreatedAt Time`

      - `Currency string`

      - `Object string`

      - `Status string`

        - `const ConnectionRevokedWebhookEventDataStatusSucceeded ConnectionRevokedWebhookEventDataStatus = "succeeded"`

        - `const ConnectionRevokedWebhookEventDataStatusFailed ConnectionRevokedWebhookEventDataStatus = "failed"`

        - `const ConnectionRevokedWebhookEventDataStatusCanceled ConnectionRevokedWebhookEventDataStatus = "canceled"`

        - `const ConnectionRevokedWebhookEventDataStatusExpired ConnectionRevokedWebhookEventDataStatus = "expired"`

      - `Description string`

      - `Discount ConnectionRevokedWebhookEventDataDiscount`

        Subscription mode — the discount Stripe applied, read back
        from the coupon. Absent when none was applied.

        - `Coupon string`

        - `Label string`

          Name of the coupon/promo code displayed to customers.

        - `PromotionCode string`

      - `Interval string`

        Subscription mode — how often the subscription renews.

        - `const ConnectionRevokedWebhookEventDataIntervalDay ConnectionRevokedWebhookEventDataInterval = "day"`

        - `const ConnectionRevokedWebhookEventDataIntervalWeek ConnectionRevokedWebhookEventDataInterval = "week"`

        - `const ConnectionRevokedWebhookEventDataIntervalMonth ConnectionRevokedWebhookEventDataInterval = "month"`

        - `const ConnectionRevokedWebhookEventDataIntervalYear ConnectionRevokedWebhookEventDataInterval = "year"`

      - `IntervalCount int64`

        Subscription mode — intervals per renewal.

      - `Metadata map[string, string]`

      - `Mode string`

        Whether the request collected a one-time charge or started a subscription.

        - `const ConnectionRevokedWebhookEventDataModePayment ConnectionRevokedWebhookEventDataMode = "payment"`

        - `const ConnectionRevokedWebhookEventDataModeSubscription ConnectionRevokedWebhookEventDataMode = "subscription"`

      - `Natural ConnectionRevokedWebhookEventDataNatural`

        Natural-rail join keys, present when `rail: natural`.

        - `PaymentRequestID string`

          The Natural payment request (`prq_...`).

        - `TransactionID string`

          The settled transaction (`txn_...`).

      - `PriceID string`

        Subscription mode — the recurring price subscribed to.

      - `Quantity int64`

        Subscription mode — units of the price subscribed to.

      - `Rail string`

        The rail this request settled on.

        - `const ConnectionRevokedWebhookEventDataRailStripe ConnectionRevokedWebhookEventDataRail = "stripe"`

        - `const ConnectionRevokedWebhookEventDataRailNatural ConnectionRevokedWebhookEventDataRail = "natural"`

      - `Stripe ConnectionRevokedWebhookEventDataStripe`

        Ids of the Stripe objects on your connected account — join
        keys into your own Stripe Dashboard/API. Manage a
        subscription's post-checkout lifecycle with `subscription_id`.

        - `CustomerID string`

          The Customer the request is attached to (`cus_...`).
          Always set in subscription mode; set in payment mode
          only when the request was created with a `customer_id`.

        - `PaymentIntentID string`

          The PaymentIntent collected at checkout (`pi_...`).

        - `SubscriptionID string`

          Subscription mode — the Subscription (`sub_...`).

      - `TrialEnd Time`

        Subscription mode — when the free trial ends and the first
        charge happens. On a trial request, `payment.succeeded`
        means the payment method was collected ($0 moved).

      - `UpdatedAt Time`

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType ConnectionRevokedWebhookEventEventType`

      - `const ConnectionRevokedWebhookEventEventTypePaymentSucceeded ConnectionRevokedWebhookEventEventType = "payment.succeeded"`

      - `const ConnectionRevokedWebhookEventEventTypePaymentCanceled ConnectionRevokedWebhookEventEventType = "payment.canceled"`

      - `const ConnectionRevokedWebhookEventEventTypePaymentExpired ConnectionRevokedWebhookEventEventType = "payment.expired"`

      - `const ConnectionRevokedWebhookEventEventTypeMessageSent ConnectionRevokedWebhookEventEventType = "message.sent"`

      - `const ConnectionRevokedWebhookEventEventTypeMessageReceived ConnectionRevokedWebhookEventEventType = "message.received"`

      - `const ConnectionRevokedWebhookEventEventTypeMessageRead ConnectionRevokedWebhookEventEventType = "message.read"`

      - `const ConnectionRevokedWebhookEventEventTypeMessageDelivered ConnectionRevokedWebhookEventEventType = "message.delivered"`

      - `const ConnectionRevokedWebhookEventEventTypeMessageFailed ConnectionRevokedWebhookEventEventType = "message.failed"`

      - `const ConnectionRevokedWebhookEventEventTypeMessageEdited ConnectionRevokedWebhookEventEventType = "message.edited"`

      - `const ConnectionRevokedWebhookEventEventTypeReactionAdded ConnectionRevokedWebhookEventEventType = "reaction.added"`

      - `const ConnectionRevokedWebhookEventEventTypeReactionRemoved ConnectionRevokedWebhookEventEventType = "reaction.removed"`

      - `const ConnectionRevokedWebhookEventEventTypePollReceived ConnectionRevokedWebhookEventEventType = "poll.received"`

      - `const ConnectionRevokedWebhookEventEventTypePollFailed ConnectionRevokedWebhookEventEventType = "poll.failed"`

      - `const ConnectionRevokedWebhookEventEventTypePollSent ConnectionRevokedWebhookEventEventType = "poll.sent"`

      - `const ConnectionRevokedWebhookEventEventTypePollDelivered ConnectionRevokedWebhookEventEventType = "poll.delivered"`

      - `const ConnectionRevokedWebhookEventEventTypePollRead ConnectionRevokedWebhookEventEventType = "poll.read"`

      - `const ConnectionRevokedWebhookEventEventTypePollUpdated ConnectionRevokedWebhookEventEventType = "poll.updated"`

      - `const ConnectionRevokedWebhookEventEventTypePollVoteAdded ConnectionRevokedWebhookEventEventType = "poll.vote.added"`

      - `const ConnectionRevokedWebhookEventEventTypePollVoteRemoved ConnectionRevokedWebhookEventEventType = "poll.vote.removed"`

      - `const ConnectionRevokedWebhookEventEventTypePollReactionAdded ConnectionRevokedWebhookEventEventType = "poll.reaction.added"`

      - `const ConnectionRevokedWebhookEventEventTypeParticipantAdded ConnectionRevokedWebhookEventEventType = "participant.added"`

      - `const ConnectionRevokedWebhookEventEventTypeParticipantRemoved ConnectionRevokedWebhookEventEventType = "participant.removed"`

      - `const ConnectionRevokedWebhookEventEventTypeChatCreated ConnectionRevokedWebhookEventEventType = "chat.created"`

      - `const ConnectionRevokedWebhookEventEventTypeChatGroupNameUpdated ConnectionRevokedWebhookEventEventType = "chat.group_name_updated"`

      - `const ConnectionRevokedWebhookEventEventTypeChatGroupIconUpdated ConnectionRevokedWebhookEventEventType = "chat.group_icon_updated"`

      - `const ConnectionRevokedWebhookEventEventTypeChatGroupNameUpdateFailed ConnectionRevokedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const ConnectionRevokedWebhookEventEventTypeChatGroupIconUpdateFailed ConnectionRevokedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const ConnectionRevokedWebhookEventEventTypeChatBackgroundUpdated ConnectionRevokedWebhookEventEventType = "chat.background_updated"`

      - `const ConnectionRevokedWebhookEventEventTypeChatBackgroundUpdateFailed ConnectionRevokedWebhookEventEventType = "chat.background_update_failed"`

      - `const ConnectionRevokedWebhookEventEventTypeChatTypingIndicatorStarted ConnectionRevokedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const ConnectionRevokedWebhookEventEventTypeChatTypingIndicatorStopped ConnectionRevokedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const ConnectionRevokedWebhookEventEventTypePhoneNumberStatusUpdated ConnectionRevokedWebhookEventEventType = "phone_number.status_updated"`

      - `const ConnectionRevokedWebhookEventEventTypePhoneNumberAssigned ConnectionRevokedWebhookEventEventType = "phone_number.assigned"`

      - `const ConnectionRevokedWebhookEventEventTypePhoneNumberReleased ConnectionRevokedWebhookEventEventType = "phone_number.released"`

      - `const ConnectionRevokedWebhookEventEventTypePhoneNumberLineTypeUpdated ConnectionRevokedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const ConnectionRevokedWebhookEventEventTypeContactCardReceived ConnectionRevokedWebhookEventEventType = "contact_card.received"`

      - `const ConnectionRevokedWebhookEventEventTypeCallInitiated ConnectionRevokedWebhookEventEventType = "call.initiated"`

      - `const ConnectionRevokedWebhookEventEventTypeCallRinging ConnectionRevokedWebhookEventEventType = "call.ringing"`

      - `const ConnectionRevokedWebhookEventEventTypeCallAnswered ConnectionRevokedWebhookEventEventType = "call.answered"`

      - `const ConnectionRevokedWebhookEventEventTypeCallEnded ConnectionRevokedWebhookEventEventType = "call.ended"`

      - `const ConnectionRevokedWebhookEventEventTypeCallFailed ConnectionRevokedWebhookEventEventType = "call.failed"`

      - `const ConnectionRevokedWebhookEventEventTypeCallDeclined ConnectionRevokedWebhookEventEventType = "call.declined"`

      - `const ConnectionRevokedWebhookEventEventTypeCallNoAnswer ConnectionRevokedWebhookEventEventType = "call.no_answer"`

      - `const ConnectionRevokedWebhookEventEventTypeLocationSharingStarted ConnectionRevokedWebhookEventEventType = "location.sharing.started"`

      - `const ConnectionRevokedWebhookEventEventTypeLocationSharingStopped ConnectionRevokedWebhookEventEventType = "location.sharing.stopped"`

      - `const ConnectionRevokedWebhookEventEventTypePaymentDeclined ConnectionRevokedWebhookEventEventType = "payment.declined"`

      - `const ConnectionRevokedWebhookEventEventTypePaymentAuthorized ConnectionRevokedWebhookEventEventType = "payment.authorized"`

      - `const ConnectionRevokedWebhookEventEventTypeConnectionCreated ConnectionRevokedWebhookEventEventType = "connection.created"`

      - `const ConnectionRevokedWebhookEventEventTypeConnectionRevoked ConnectionRevokedWebhookEventEventType = "connection.revoked"`

      - `const ConnectionRevokedWebhookEventEventTypeZeroDayRetentionUpdated ConnectionRevokedWebhookEventEventType = "zero_day_retention.updated"`

      - `const ConnectionRevokedWebhookEventEventTypePhoneNumberForwardingUpdated ConnectionRevokedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const ConnectionRevokedWebhookEventEventTypeEnvironmentLineMoved ConnectionRevokedWebhookEventEventType = "environment.line_moved"`

      - `const ConnectionRevokedWebhookEventEventTypeContactCardCreated ConnectionRevokedWebhookEventEventType = "contact_card.created"`

      - `const ConnectionRevokedWebhookEventEventTypeContactCardUpdated ConnectionRevokedWebhookEventEventType = "contact_card.updated"`

      - `const ConnectionRevokedWebhookEventEventTypeContactCardDeleted ConnectionRevokedWebhookEventEventType = "contact_card.deleted"`

      - `const ConnectionRevokedWebhookEventEventTypeAPITokenCreated ConnectionRevokedWebhookEventEventType = "api_token.created"`

      - `const ConnectionRevokedWebhookEventEventTypeAPITokenRenamed ConnectionRevokedWebhookEventEventType = "api_token.renamed"`

      - `const ConnectionRevokedWebhookEventEventTypeAPITokenExpiryScheduled ConnectionRevokedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const ConnectionRevokedWebhookEventEventTypeAPITokenExpired ConnectionRevokedWebhookEventEventType = "api_token.expired"`

      - `const ConnectionRevokedWebhookEventEventTypeAPITokenActivated ConnectionRevokedWebhookEventEventType = "api_token.activated"`

      - `const ConnectionRevokedWebhookEventEventTypeAPITokenDeleted ConnectionRevokedWebhookEventEventType = "api_token.deleted"`

      - `const ConnectionRevokedWebhookEventEventTypeEnvironmentCreated ConnectionRevokedWebhookEventEventType = "environment.created"`

      - `const ConnectionRevokedWebhookEventEventTypeEnvironmentRenamed ConnectionRevokedWebhookEventEventType = "environment.renamed"`

      - `const ConnectionRevokedWebhookEventEventTypeEnvironmentDeleted ConnectionRevokedWebhookEventEventType = "environment.deleted"`

      - `const ConnectionRevokedWebhookEventEventTypeWebhookSubscriptionCreated ConnectionRevokedWebhookEventEventType = "webhook_subscription.created"`

      - `const ConnectionRevokedWebhookEventEventTypeWebhookSubscriptionDeleted ConnectionRevokedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const ConnectionRevokedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged ConnectionRevokedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const ConnectionRevokedWebhookEventEventTypeWebhookSubscriptionEnabled ConnectionRevokedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const ConnectionRevokedWebhookEventEventTypeWebhookSubscriptionDisabled ConnectionRevokedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const ConnectionRevokedWebhookEventEventTypeWebhookSubscriptionEventsUpdated ConnectionRevokedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const ConnectionRevokedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated ConnectionRevokedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const ConnectionRevokedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet ConnectionRevokedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const ConnectionRevokedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared ConnectionRevokedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const ConnectionRevokedWebhookEventEventTypeTeamMemberAdded ConnectionRevokedWebhookEventEventType = "team_member.added"`

      - `const ConnectionRevokedWebhookEventEventTypeTeamMemberSignedIn ConnectionRevokedWebhookEventEventType = "team_member.signed_in"`

      - `const ConnectionRevokedWebhookEventEventTypeTeamMemberSignedOut ConnectionRevokedWebhookEventEventType = "team_member.signed_out"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type LocationSharingStartedWebhookEvent struct{…}`

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data LocationSharingStartedWebhookEventData`

      - `BeganAt Time`

        When location sharing started. Always present: falls back to when the share was first observed if the device reported no start time.

      - `ChatID string`

        The chat this share was first sent to. Location sharing is per-contact rather than per-chat, so the location may also be visible in other chats with the same handle; this identifies where the share originated and does not change if the contact later shares into another chat. Null when the originating chat could not be determined.

      - `EndsAt Time`

        When location sharing will expire. Null when sharing indefinitely.

      - `SharedBy string`

        Phone number of the person sharing their location

      - `SharedWith string`

        Your phone number receiving the location

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType LocationSharingStartedWebhookEventEventType`

      - `const LocationSharingStartedWebhookEventEventTypeLocationSharingStarted LocationSharingStartedWebhookEventEventType = "location.sharing.started"`

      - `const LocationSharingStartedWebhookEventEventTypeMessageSent LocationSharingStartedWebhookEventEventType = "message.sent"`

      - `const LocationSharingStartedWebhookEventEventTypeMessageReceived LocationSharingStartedWebhookEventEventType = "message.received"`

      - `const LocationSharingStartedWebhookEventEventTypeMessageRead LocationSharingStartedWebhookEventEventType = "message.read"`

      - `const LocationSharingStartedWebhookEventEventTypeMessageDelivered LocationSharingStartedWebhookEventEventType = "message.delivered"`

      - `const LocationSharingStartedWebhookEventEventTypeMessageFailed LocationSharingStartedWebhookEventEventType = "message.failed"`

      - `const LocationSharingStartedWebhookEventEventTypeMessageEdited LocationSharingStartedWebhookEventEventType = "message.edited"`

      - `const LocationSharingStartedWebhookEventEventTypeReactionAdded LocationSharingStartedWebhookEventEventType = "reaction.added"`

      - `const LocationSharingStartedWebhookEventEventTypeReactionRemoved LocationSharingStartedWebhookEventEventType = "reaction.removed"`

      - `const LocationSharingStartedWebhookEventEventTypePollReceived LocationSharingStartedWebhookEventEventType = "poll.received"`

      - `const LocationSharingStartedWebhookEventEventTypePollFailed LocationSharingStartedWebhookEventEventType = "poll.failed"`

      - `const LocationSharingStartedWebhookEventEventTypePollSent LocationSharingStartedWebhookEventEventType = "poll.sent"`

      - `const LocationSharingStartedWebhookEventEventTypePollDelivered LocationSharingStartedWebhookEventEventType = "poll.delivered"`

      - `const LocationSharingStartedWebhookEventEventTypePollRead LocationSharingStartedWebhookEventEventType = "poll.read"`

      - `const LocationSharingStartedWebhookEventEventTypePollUpdated LocationSharingStartedWebhookEventEventType = "poll.updated"`

      - `const LocationSharingStartedWebhookEventEventTypePollVoteAdded LocationSharingStartedWebhookEventEventType = "poll.vote.added"`

      - `const LocationSharingStartedWebhookEventEventTypePollVoteRemoved LocationSharingStartedWebhookEventEventType = "poll.vote.removed"`

      - `const LocationSharingStartedWebhookEventEventTypePollReactionAdded LocationSharingStartedWebhookEventEventType = "poll.reaction.added"`

      - `const LocationSharingStartedWebhookEventEventTypeParticipantAdded LocationSharingStartedWebhookEventEventType = "participant.added"`

      - `const LocationSharingStartedWebhookEventEventTypeParticipantRemoved LocationSharingStartedWebhookEventEventType = "participant.removed"`

      - `const LocationSharingStartedWebhookEventEventTypeChatCreated LocationSharingStartedWebhookEventEventType = "chat.created"`

      - `const LocationSharingStartedWebhookEventEventTypeChatGroupNameUpdated LocationSharingStartedWebhookEventEventType = "chat.group_name_updated"`

      - `const LocationSharingStartedWebhookEventEventTypeChatGroupIconUpdated LocationSharingStartedWebhookEventEventType = "chat.group_icon_updated"`

      - `const LocationSharingStartedWebhookEventEventTypeChatGroupNameUpdateFailed LocationSharingStartedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const LocationSharingStartedWebhookEventEventTypeChatGroupIconUpdateFailed LocationSharingStartedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const LocationSharingStartedWebhookEventEventTypeChatBackgroundUpdated LocationSharingStartedWebhookEventEventType = "chat.background_updated"`

      - `const LocationSharingStartedWebhookEventEventTypeChatBackgroundUpdateFailed LocationSharingStartedWebhookEventEventType = "chat.background_update_failed"`

      - `const LocationSharingStartedWebhookEventEventTypeChatTypingIndicatorStarted LocationSharingStartedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const LocationSharingStartedWebhookEventEventTypeChatTypingIndicatorStopped LocationSharingStartedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const LocationSharingStartedWebhookEventEventTypePhoneNumberStatusUpdated LocationSharingStartedWebhookEventEventType = "phone_number.status_updated"`

      - `const LocationSharingStartedWebhookEventEventTypePhoneNumberAssigned LocationSharingStartedWebhookEventEventType = "phone_number.assigned"`

      - `const LocationSharingStartedWebhookEventEventTypePhoneNumberReleased LocationSharingStartedWebhookEventEventType = "phone_number.released"`

      - `const LocationSharingStartedWebhookEventEventTypePhoneNumberLineTypeUpdated LocationSharingStartedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const LocationSharingStartedWebhookEventEventTypeContactCardReceived LocationSharingStartedWebhookEventEventType = "contact_card.received"`

      - `const LocationSharingStartedWebhookEventEventTypeCallInitiated LocationSharingStartedWebhookEventEventType = "call.initiated"`

      - `const LocationSharingStartedWebhookEventEventTypeCallRinging LocationSharingStartedWebhookEventEventType = "call.ringing"`

      - `const LocationSharingStartedWebhookEventEventTypeCallAnswered LocationSharingStartedWebhookEventEventType = "call.answered"`

      - `const LocationSharingStartedWebhookEventEventTypeCallEnded LocationSharingStartedWebhookEventEventType = "call.ended"`

      - `const LocationSharingStartedWebhookEventEventTypeCallFailed LocationSharingStartedWebhookEventEventType = "call.failed"`

      - `const LocationSharingStartedWebhookEventEventTypeCallDeclined LocationSharingStartedWebhookEventEventType = "call.declined"`

      - `const LocationSharingStartedWebhookEventEventTypeCallNoAnswer LocationSharingStartedWebhookEventEventType = "call.no_answer"`

      - `const LocationSharingStartedWebhookEventEventTypeLocationSharingStopped LocationSharingStartedWebhookEventEventType = "location.sharing.stopped"`

      - `const LocationSharingStartedWebhookEventEventTypePaymentSucceeded LocationSharingStartedWebhookEventEventType = "payment.succeeded"`

      - `const LocationSharingStartedWebhookEventEventTypePaymentCanceled LocationSharingStartedWebhookEventEventType = "payment.canceled"`

      - `const LocationSharingStartedWebhookEventEventTypePaymentExpired LocationSharingStartedWebhookEventEventType = "payment.expired"`

      - `const LocationSharingStartedWebhookEventEventTypePaymentDeclined LocationSharingStartedWebhookEventEventType = "payment.declined"`

      - `const LocationSharingStartedWebhookEventEventTypePaymentAuthorized LocationSharingStartedWebhookEventEventType = "payment.authorized"`

      - `const LocationSharingStartedWebhookEventEventTypeConnectionCreated LocationSharingStartedWebhookEventEventType = "connection.created"`

      - `const LocationSharingStartedWebhookEventEventTypeConnectionRevoked LocationSharingStartedWebhookEventEventType = "connection.revoked"`

      - `const LocationSharingStartedWebhookEventEventTypeZeroDayRetentionUpdated LocationSharingStartedWebhookEventEventType = "zero_day_retention.updated"`

      - `const LocationSharingStartedWebhookEventEventTypePhoneNumberForwardingUpdated LocationSharingStartedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const LocationSharingStartedWebhookEventEventTypeEnvironmentLineMoved LocationSharingStartedWebhookEventEventType = "environment.line_moved"`

      - `const LocationSharingStartedWebhookEventEventTypeContactCardCreated LocationSharingStartedWebhookEventEventType = "contact_card.created"`

      - `const LocationSharingStartedWebhookEventEventTypeContactCardUpdated LocationSharingStartedWebhookEventEventType = "contact_card.updated"`

      - `const LocationSharingStartedWebhookEventEventTypeContactCardDeleted LocationSharingStartedWebhookEventEventType = "contact_card.deleted"`

      - `const LocationSharingStartedWebhookEventEventTypeAPITokenCreated LocationSharingStartedWebhookEventEventType = "api_token.created"`

      - `const LocationSharingStartedWebhookEventEventTypeAPITokenRenamed LocationSharingStartedWebhookEventEventType = "api_token.renamed"`

      - `const LocationSharingStartedWebhookEventEventTypeAPITokenExpiryScheduled LocationSharingStartedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const LocationSharingStartedWebhookEventEventTypeAPITokenExpired LocationSharingStartedWebhookEventEventType = "api_token.expired"`

      - `const LocationSharingStartedWebhookEventEventTypeAPITokenActivated LocationSharingStartedWebhookEventEventType = "api_token.activated"`

      - `const LocationSharingStartedWebhookEventEventTypeAPITokenDeleted LocationSharingStartedWebhookEventEventType = "api_token.deleted"`

      - `const LocationSharingStartedWebhookEventEventTypeEnvironmentCreated LocationSharingStartedWebhookEventEventType = "environment.created"`

      - `const LocationSharingStartedWebhookEventEventTypeEnvironmentRenamed LocationSharingStartedWebhookEventEventType = "environment.renamed"`

      - `const LocationSharingStartedWebhookEventEventTypeEnvironmentDeleted LocationSharingStartedWebhookEventEventType = "environment.deleted"`

      - `const LocationSharingStartedWebhookEventEventTypeWebhookSubscriptionCreated LocationSharingStartedWebhookEventEventType = "webhook_subscription.created"`

      - `const LocationSharingStartedWebhookEventEventTypeWebhookSubscriptionDeleted LocationSharingStartedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const LocationSharingStartedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged LocationSharingStartedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const LocationSharingStartedWebhookEventEventTypeWebhookSubscriptionEnabled LocationSharingStartedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const LocationSharingStartedWebhookEventEventTypeWebhookSubscriptionDisabled LocationSharingStartedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const LocationSharingStartedWebhookEventEventTypeWebhookSubscriptionEventsUpdated LocationSharingStartedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const LocationSharingStartedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated LocationSharingStartedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const LocationSharingStartedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet LocationSharingStartedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const LocationSharingStartedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared LocationSharingStartedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const LocationSharingStartedWebhookEventEventTypeTeamMemberAdded LocationSharingStartedWebhookEventEventType = "team_member.added"`

      - `const LocationSharingStartedWebhookEventEventTypeTeamMemberSignedIn LocationSharingStartedWebhookEventEventType = "team_member.signed_in"`

      - `const LocationSharingStartedWebhookEventEventTypeTeamMemberSignedOut LocationSharingStartedWebhookEventEventType = "team_member.signed_out"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type LocationSharingStoppedWebhookEvent struct{…}`

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data LocationSharingStoppedWebhookEventData`

      - `BeganAt Time`

        When the sharing session started, matching began_at on its started event. Always present.

      - `ChatID string`

        The chat the ended share was first sent to, matching the chat_id on its started event. Sharing always stops for the contact as a whole, never for a single chat, so this is the session's origin rather than the chat it stopped in. Null when the originating chat could not be determined.

      - `EndedAt Time`

        When the sharing session was observed to stop.

      - `SharedBy string`

        Phone number of the person who stopped sharing

      - `SharedWith string`

        Your phone number that was receiving the location

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType LocationSharingStoppedWebhookEventEventType`

      - `const LocationSharingStoppedWebhookEventEventTypeLocationSharingStopped LocationSharingStoppedWebhookEventEventType = "location.sharing.stopped"`

      - `const LocationSharingStoppedWebhookEventEventTypeMessageSent LocationSharingStoppedWebhookEventEventType = "message.sent"`

      - `const LocationSharingStoppedWebhookEventEventTypeMessageReceived LocationSharingStoppedWebhookEventEventType = "message.received"`

      - `const LocationSharingStoppedWebhookEventEventTypeMessageRead LocationSharingStoppedWebhookEventEventType = "message.read"`

      - `const LocationSharingStoppedWebhookEventEventTypeMessageDelivered LocationSharingStoppedWebhookEventEventType = "message.delivered"`

      - `const LocationSharingStoppedWebhookEventEventTypeMessageFailed LocationSharingStoppedWebhookEventEventType = "message.failed"`

      - `const LocationSharingStoppedWebhookEventEventTypeMessageEdited LocationSharingStoppedWebhookEventEventType = "message.edited"`

      - `const LocationSharingStoppedWebhookEventEventTypeReactionAdded LocationSharingStoppedWebhookEventEventType = "reaction.added"`

      - `const LocationSharingStoppedWebhookEventEventTypeReactionRemoved LocationSharingStoppedWebhookEventEventType = "reaction.removed"`

      - `const LocationSharingStoppedWebhookEventEventTypePollReceived LocationSharingStoppedWebhookEventEventType = "poll.received"`

      - `const LocationSharingStoppedWebhookEventEventTypePollFailed LocationSharingStoppedWebhookEventEventType = "poll.failed"`

      - `const LocationSharingStoppedWebhookEventEventTypePollSent LocationSharingStoppedWebhookEventEventType = "poll.sent"`

      - `const LocationSharingStoppedWebhookEventEventTypePollDelivered LocationSharingStoppedWebhookEventEventType = "poll.delivered"`

      - `const LocationSharingStoppedWebhookEventEventTypePollRead LocationSharingStoppedWebhookEventEventType = "poll.read"`

      - `const LocationSharingStoppedWebhookEventEventTypePollUpdated LocationSharingStoppedWebhookEventEventType = "poll.updated"`

      - `const LocationSharingStoppedWebhookEventEventTypePollVoteAdded LocationSharingStoppedWebhookEventEventType = "poll.vote.added"`

      - `const LocationSharingStoppedWebhookEventEventTypePollVoteRemoved LocationSharingStoppedWebhookEventEventType = "poll.vote.removed"`

      - `const LocationSharingStoppedWebhookEventEventTypePollReactionAdded LocationSharingStoppedWebhookEventEventType = "poll.reaction.added"`

      - `const LocationSharingStoppedWebhookEventEventTypeParticipantAdded LocationSharingStoppedWebhookEventEventType = "participant.added"`

      - `const LocationSharingStoppedWebhookEventEventTypeParticipantRemoved LocationSharingStoppedWebhookEventEventType = "participant.removed"`

      - `const LocationSharingStoppedWebhookEventEventTypeChatCreated LocationSharingStoppedWebhookEventEventType = "chat.created"`

      - `const LocationSharingStoppedWebhookEventEventTypeChatGroupNameUpdated LocationSharingStoppedWebhookEventEventType = "chat.group_name_updated"`

      - `const LocationSharingStoppedWebhookEventEventTypeChatGroupIconUpdated LocationSharingStoppedWebhookEventEventType = "chat.group_icon_updated"`

      - `const LocationSharingStoppedWebhookEventEventTypeChatGroupNameUpdateFailed LocationSharingStoppedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const LocationSharingStoppedWebhookEventEventTypeChatGroupIconUpdateFailed LocationSharingStoppedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const LocationSharingStoppedWebhookEventEventTypeChatBackgroundUpdated LocationSharingStoppedWebhookEventEventType = "chat.background_updated"`

      - `const LocationSharingStoppedWebhookEventEventTypeChatBackgroundUpdateFailed LocationSharingStoppedWebhookEventEventType = "chat.background_update_failed"`

      - `const LocationSharingStoppedWebhookEventEventTypeChatTypingIndicatorStarted LocationSharingStoppedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const LocationSharingStoppedWebhookEventEventTypeChatTypingIndicatorStopped LocationSharingStoppedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const LocationSharingStoppedWebhookEventEventTypePhoneNumberStatusUpdated LocationSharingStoppedWebhookEventEventType = "phone_number.status_updated"`

      - `const LocationSharingStoppedWebhookEventEventTypePhoneNumberAssigned LocationSharingStoppedWebhookEventEventType = "phone_number.assigned"`

      - `const LocationSharingStoppedWebhookEventEventTypePhoneNumberReleased LocationSharingStoppedWebhookEventEventType = "phone_number.released"`

      - `const LocationSharingStoppedWebhookEventEventTypePhoneNumberLineTypeUpdated LocationSharingStoppedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const LocationSharingStoppedWebhookEventEventTypeContactCardReceived LocationSharingStoppedWebhookEventEventType = "contact_card.received"`

      - `const LocationSharingStoppedWebhookEventEventTypeCallInitiated LocationSharingStoppedWebhookEventEventType = "call.initiated"`

      - `const LocationSharingStoppedWebhookEventEventTypeCallRinging LocationSharingStoppedWebhookEventEventType = "call.ringing"`

      - `const LocationSharingStoppedWebhookEventEventTypeCallAnswered LocationSharingStoppedWebhookEventEventType = "call.answered"`

      - `const LocationSharingStoppedWebhookEventEventTypeCallEnded LocationSharingStoppedWebhookEventEventType = "call.ended"`

      - `const LocationSharingStoppedWebhookEventEventTypeCallFailed LocationSharingStoppedWebhookEventEventType = "call.failed"`

      - `const LocationSharingStoppedWebhookEventEventTypeCallDeclined LocationSharingStoppedWebhookEventEventType = "call.declined"`

      - `const LocationSharingStoppedWebhookEventEventTypeCallNoAnswer LocationSharingStoppedWebhookEventEventType = "call.no_answer"`

      - `const LocationSharingStoppedWebhookEventEventTypeLocationSharingStarted LocationSharingStoppedWebhookEventEventType = "location.sharing.started"`

      - `const LocationSharingStoppedWebhookEventEventTypePaymentSucceeded LocationSharingStoppedWebhookEventEventType = "payment.succeeded"`

      - `const LocationSharingStoppedWebhookEventEventTypePaymentCanceled LocationSharingStoppedWebhookEventEventType = "payment.canceled"`

      - `const LocationSharingStoppedWebhookEventEventTypePaymentExpired LocationSharingStoppedWebhookEventEventType = "payment.expired"`

      - `const LocationSharingStoppedWebhookEventEventTypePaymentDeclined LocationSharingStoppedWebhookEventEventType = "payment.declined"`

      - `const LocationSharingStoppedWebhookEventEventTypePaymentAuthorized LocationSharingStoppedWebhookEventEventType = "payment.authorized"`

      - `const LocationSharingStoppedWebhookEventEventTypeConnectionCreated LocationSharingStoppedWebhookEventEventType = "connection.created"`

      - `const LocationSharingStoppedWebhookEventEventTypeConnectionRevoked LocationSharingStoppedWebhookEventEventType = "connection.revoked"`

      - `const LocationSharingStoppedWebhookEventEventTypeZeroDayRetentionUpdated LocationSharingStoppedWebhookEventEventType = "zero_day_retention.updated"`

      - `const LocationSharingStoppedWebhookEventEventTypePhoneNumberForwardingUpdated LocationSharingStoppedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const LocationSharingStoppedWebhookEventEventTypeEnvironmentLineMoved LocationSharingStoppedWebhookEventEventType = "environment.line_moved"`

      - `const LocationSharingStoppedWebhookEventEventTypeContactCardCreated LocationSharingStoppedWebhookEventEventType = "contact_card.created"`

      - `const LocationSharingStoppedWebhookEventEventTypeContactCardUpdated LocationSharingStoppedWebhookEventEventType = "contact_card.updated"`

      - `const LocationSharingStoppedWebhookEventEventTypeContactCardDeleted LocationSharingStoppedWebhookEventEventType = "contact_card.deleted"`

      - `const LocationSharingStoppedWebhookEventEventTypeAPITokenCreated LocationSharingStoppedWebhookEventEventType = "api_token.created"`

      - `const LocationSharingStoppedWebhookEventEventTypeAPITokenRenamed LocationSharingStoppedWebhookEventEventType = "api_token.renamed"`

      - `const LocationSharingStoppedWebhookEventEventTypeAPITokenExpiryScheduled LocationSharingStoppedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const LocationSharingStoppedWebhookEventEventTypeAPITokenExpired LocationSharingStoppedWebhookEventEventType = "api_token.expired"`

      - `const LocationSharingStoppedWebhookEventEventTypeAPITokenActivated LocationSharingStoppedWebhookEventEventType = "api_token.activated"`

      - `const LocationSharingStoppedWebhookEventEventTypeAPITokenDeleted LocationSharingStoppedWebhookEventEventType = "api_token.deleted"`

      - `const LocationSharingStoppedWebhookEventEventTypeEnvironmentCreated LocationSharingStoppedWebhookEventEventType = "environment.created"`

      - `const LocationSharingStoppedWebhookEventEventTypeEnvironmentRenamed LocationSharingStoppedWebhookEventEventType = "environment.renamed"`

      - `const LocationSharingStoppedWebhookEventEventTypeEnvironmentDeleted LocationSharingStoppedWebhookEventEventType = "environment.deleted"`

      - `const LocationSharingStoppedWebhookEventEventTypeWebhookSubscriptionCreated LocationSharingStoppedWebhookEventEventType = "webhook_subscription.created"`

      - `const LocationSharingStoppedWebhookEventEventTypeWebhookSubscriptionDeleted LocationSharingStoppedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const LocationSharingStoppedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged LocationSharingStoppedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const LocationSharingStoppedWebhookEventEventTypeWebhookSubscriptionEnabled LocationSharingStoppedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const LocationSharingStoppedWebhookEventEventTypeWebhookSubscriptionDisabled LocationSharingStoppedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const LocationSharingStoppedWebhookEventEventTypeWebhookSubscriptionEventsUpdated LocationSharingStoppedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const LocationSharingStoppedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated LocationSharingStoppedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const LocationSharingStoppedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet LocationSharingStoppedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const LocationSharingStoppedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared LocationSharingStoppedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const LocationSharingStoppedWebhookEventEventTypeTeamMemberAdded LocationSharingStoppedWebhookEventEventType = "team_member.added"`

      - `const LocationSharingStoppedWebhookEventEventTypeTeamMemberSignedIn LocationSharingStoppedWebhookEventEventType = "team_member.signed_in"`

      - `const LocationSharingStoppedWebhookEventEventTypeTeamMemberSignedOut LocationSharingStoppedWebhookEventEventType = "team_member.signed_out"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type PaymentAuthorizedWebhookEvent struct{…}`

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data PaymentAuthorizedWebhookEventData`

      The payment request, as returned by
      `GET /v3/payment_requests/{paymentRequestId}`.

      - `ID string`

        The payment request id.

      - `Amount int64`

        What was charged at checkout, in the currency's minor
        units. In `subscription` mode this is the first invoice's
        total — all items after any discounts are applied.

      - `CheckoutURL string`

        URL the recipient opens to pay
        (`https://zero.linqapp.com/pay/{slug}?session=...`).

      - `CreatedAt Time`

      - `Currency string`

      - `Object string`

      - `Status string`

        - `const PaymentAuthorizedWebhookEventDataStatusSucceeded PaymentAuthorizedWebhookEventDataStatus = "succeeded"`

        - `const PaymentAuthorizedWebhookEventDataStatusFailed PaymentAuthorizedWebhookEventDataStatus = "failed"`

        - `const PaymentAuthorizedWebhookEventDataStatusCanceled PaymentAuthorizedWebhookEventDataStatus = "canceled"`

        - `const PaymentAuthorizedWebhookEventDataStatusExpired PaymentAuthorizedWebhookEventDataStatus = "expired"`

      - `Description string`

      - `Discount PaymentAuthorizedWebhookEventDataDiscount`

        Subscription mode — the discount Stripe applied, read back
        from the coupon. Absent when none was applied.

        - `Coupon string`

        - `Label string`

          Name of the coupon/promo code displayed to customers.

        - `PromotionCode string`

      - `Interval string`

        Subscription mode — how often the subscription renews.

        - `const PaymentAuthorizedWebhookEventDataIntervalDay PaymentAuthorizedWebhookEventDataInterval = "day"`

        - `const PaymentAuthorizedWebhookEventDataIntervalWeek PaymentAuthorizedWebhookEventDataInterval = "week"`

        - `const PaymentAuthorizedWebhookEventDataIntervalMonth PaymentAuthorizedWebhookEventDataInterval = "month"`

        - `const PaymentAuthorizedWebhookEventDataIntervalYear PaymentAuthorizedWebhookEventDataInterval = "year"`

      - `IntervalCount int64`

        Subscription mode — intervals per renewal.

      - `Metadata map[string, string]`

      - `Mode string`

        Whether the request collected a one-time charge or started a subscription.

        - `const PaymentAuthorizedWebhookEventDataModePayment PaymentAuthorizedWebhookEventDataMode = "payment"`

        - `const PaymentAuthorizedWebhookEventDataModeSubscription PaymentAuthorizedWebhookEventDataMode = "subscription"`

      - `Natural PaymentAuthorizedWebhookEventDataNatural`

        Natural-rail join keys, present when `rail: natural`.

        - `PaymentRequestID string`

          The Natural payment request (`prq_...`).

        - `TransactionID string`

          The settled transaction (`txn_...`).

      - `PriceID string`

        Subscription mode — the recurring price subscribed to.

      - `Quantity int64`

        Subscription mode — units of the price subscribed to.

      - `Rail string`

        The rail this request settled on.

        - `const PaymentAuthorizedWebhookEventDataRailStripe PaymentAuthorizedWebhookEventDataRail = "stripe"`

        - `const PaymentAuthorizedWebhookEventDataRailNatural PaymentAuthorizedWebhookEventDataRail = "natural"`

      - `Stripe PaymentAuthorizedWebhookEventDataStripe`

        Ids of the Stripe objects on your connected account — join
        keys into your own Stripe Dashboard/API. Manage a
        subscription's post-checkout lifecycle with `subscription_id`.

        - `CustomerID string`

          The Customer the request is attached to (`cus_...`).
          Always set in subscription mode; set in payment mode
          only when the request was created with a `customer_id`.

        - `PaymentIntentID string`

          The PaymentIntent collected at checkout (`pi_...`).

        - `SubscriptionID string`

          Subscription mode — the Subscription (`sub_...`).

      - `TrialEnd Time`

        Subscription mode — when the free trial ends and the first
        charge happens. On a trial request, `payment.succeeded`
        means the payment method was collected ($0 moved).

      - `UpdatedAt Time`

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType PaymentAuthorizedWebhookEventEventType`

      - `const PaymentAuthorizedWebhookEventEventTypePaymentSucceeded PaymentAuthorizedWebhookEventEventType = "payment.succeeded"`

      - `const PaymentAuthorizedWebhookEventEventTypePaymentCanceled PaymentAuthorizedWebhookEventEventType = "payment.canceled"`

      - `const PaymentAuthorizedWebhookEventEventTypePaymentExpired PaymentAuthorizedWebhookEventEventType = "payment.expired"`

      - `const PaymentAuthorizedWebhookEventEventTypeMessageSent PaymentAuthorizedWebhookEventEventType = "message.sent"`

      - `const PaymentAuthorizedWebhookEventEventTypeMessageReceived PaymentAuthorizedWebhookEventEventType = "message.received"`

      - `const PaymentAuthorizedWebhookEventEventTypeMessageRead PaymentAuthorizedWebhookEventEventType = "message.read"`

      - `const PaymentAuthorizedWebhookEventEventTypeMessageDelivered PaymentAuthorizedWebhookEventEventType = "message.delivered"`

      - `const PaymentAuthorizedWebhookEventEventTypeMessageFailed PaymentAuthorizedWebhookEventEventType = "message.failed"`

      - `const PaymentAuthorizedWebhookEventEventTypeMessageEdited PaymentAuthorizedWebhookEventEventType = "message.edited"`

      - `const PaymentAuthorizedWebhookEventEventTypeReactionAdded PaymentAuthorizedWebhookEventEventType = "reaction.added"`

      - `const PaymentAuthorizedWebhookEventEventTypeReactionRemoved PaymentAuthorizedWebhookEventEventType = "reaction.removed"`

      - `const PaymentAuthorizedWebhookEventEventTypePollReceived PaymentAuthorizedWebhookEventEventType = "poll.received"`

      - `const PaymentAuthorizedWebhookEventEventTypePollFailed PaymentAuthorizedWebhookEventEventType = "poll.failed"`

      - `const PaymentAuthorizedWebhookEventEventTypePollSent PaymentAuthorizedWebhookEventEventType = "poll.sent"`

      - `const PaymentAuthorizedWebhookEventEventTypePollDelivered PaymentAuthorizedWebhookEventEventType = "poll.delivered"`

      - `const PaymentAuthorizedWebhookEventEventTypePollRead PaymentAuthorizedWebhookEventEventType = "poll.read"`

      - `const PaymentAuthorizedWebhookEventEventTypePollUpdated PaymentAuthorizedWebhookEventEventType = "poll.updated"`

      - `const PaymentAuthorizedWebhookEventEventTypePollVoteAdded PaymentAuthorizedWebhookEventEventType = "poll.vote.added"`

      - `const PaymentAuthorizedWebhookEventEventTypePollVoteRemoved PaymentAuthorizedWebhookEventEventType = "poll.vote.removed"`

      - `const PaymentAuthorizedWebhookEventEventTypePollReactionAdded PaymentAuthorizedWebhookEventEventType = "poll.reaction.added"`

      - `const PaymentAuthorizedWebhookEventEventTypeParticipantAdded PaymentAuthorizedWebhookEventEventType = "participant.added"`

      - `const PaymentAuthorizedWebhookEventEventTypeParticipantRemoved PaymentAuthorizedWebhookEventEventType = "participant.removed"`

      - `const PaymentAuthorizedWebhookEventEventTypeChatCreated PaymentAuthorizedWebhookEventEventType = "chat.created"`

      - `const PaymentAuthorizedWebhookEventEventTypeChatGroupNameUpdated PaymentAuthorizedWebhookEventEventType = "chat.group_name_updated"`

      - `const PaymentAuthorizedWebhookEventEventTypeChatGroupIconUpdated PaymentAuthorizedWebhookEventEventType = "chat.group_icon_updated"`

      - `const PaymentAuthorizedWebhookEventEventTypeChatGroupNameUpdateFailed PaymentAuthorizedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const PaymentAuthorizedWebhookEventEventTypeChatGroupIconUpdateFailed PaymentAuthorizedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const PaymentAuthorizedWebhookEventEventTypeChatBackgroundUpdated PaymentAuthorizedWebhookEventEventType = "chat.background_updated"`

      - `const PaymentAuthorizedWebhookEventEventTypeChatBackgroundUpdateFailed PaymentAuthorizedWebhookEventEventType = "chat.background_update_failed"`

      - `const PaymentAuthorizedWebhookEventEventTypeChatTypingIndicatorStarted PaymentAuthorizedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const PaymentAuthorizedWebhookEventEventTypeChatTypingIndicatorStopped PaymentAuthorizedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const PaymentAuthorizedWebhookEventEventTypePhoneNumberStatusUpdated PaymentAuthorizedWebhookEventEventType = "phone_number.status_updated"`

      - `const PaymentAuthorizedWebhookEventEventTypePhoneNumberAssigned PaymentAuthorizedWebhookEventEventType = "phone_number.assigned"`

      - `const PaymentAuthorizedWebhookEventEventTypePhoneNumberReleased PaymentAuthorizedWebhookEventEventType = "phone_number.released"`

      - `const PaymentAuthorizedWebhookEventEventTypePhoneNumberLineTypeUpdated PaymentAuthorizedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const PaymentAuthorizedWebhookEventEventTypeContactCardReceived PaymentAuthorizedWebhookEventEventType = "contact_card.received"`

      - `const PaymentAuthorizedWebhookEventEventTypeCallInitiated PaymentAuthorizedWebhookEventEventType = "call.initiated"`

      - `const PaymentAuthorizedWebhookEventEventTypeCallRinging PaymentAuthorizedWebhookEventEventType = "call.ringing"`

      - `const PaymentAuthorizedWebhookEventEventTypeCallAnswered PaymentAuthorizedWebhookEventEventType = "call.answered"`

      - `const PaymentAuthorizedWebhookEventEventTypeCallEnded PaymentAuthorizedWebhookEventEventType = "call.ended"`

      - `const PaymentAuthorizedWebhookEventEventTypeCallFailed PaymentAuthorizedWebhookEventEventType = "call.failed"`

      - `const PaymentAuthorizedWebhookEventEventTypeCallDeclined PaymentAuthorizedWebhookEventEventType = "call.declined"`

      - `const PaymentAuthorizedWebhookEventEventTypeCallNoAnswer PaymentAuthorizedWebhookEventEventType = "call.no_answer"`

      - `const PaymentAuthorizedWebhookEventEventTypeLocationSharingStarted PaymentAuthorizedWebhookEventEventType = "location.sharing.started"`

      - `const PaymentAuthorizedWebhookEventEventTypeLocationSharingStopped PaymentAuthorizedWebhookEventEventType = "location.sharing.stopped"`

      - `const PaymentAuthorizedWebhookEventEventTypePaymentDeclined PaymentAuthorizedWebhookEventEventType = "payment.declined"`

      - `const PaymentAuthorizedWebhookEventEventTypePaymentAuthorized PaymentAuthorizedWebhookEventEventType = "payment.authorized"`

      - `const PaymentAuthorizedWebhookEventEventTypeConnectionCreated PaymentAuthorizedWebhookEventEventType = "connection.created"`

      - `const PaymentAuthorizedWebhookEventEventTypeConnectionRevoked PaymentAuthorizedWebhookEventEventType = "connection.revoked"`

      - `const PaymentAuthorizedWebhookEventEventTypeZeroDayRetentionUpdated PaymentAuthorizedWebhookEventEventType = "zero_day_retention.updated"`

      - `const PaymentAuthorizedWebhookEventEventTypePhoneNumberForwardingUpdated PaymentAuthorizedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const PaymentAuthorizedWebhookEventEventTypeEnvironmentLineMoved PaymentAuthorizedWebhookEventEventType = "environment.line_moved"`

      - `const PaymentAuthorizedWebhookEventEventTypeContactCardCreated PaymentAuthorizedWebhookEventEventType = "contact_card.created"`

      - `const PaymentAuthorizedWebhookEventEventTypeContactCardUpdated PaymentAuthorizedWebhookEventEventType = "contact_card.updated"`

      - `const PaymentAuthorizedWebhookEventEventTypeContactCardDeleted PaymentAuthorizedWebhookEventEventType = "contact_card.deleted"`

      - `const PaymentAuthorizedWebhookEventEventTypeAPITokenCreated PaymentAuthorizedWebhookEventEventType = "api_token.created"`

      - `const PaymentAuthorizedWebhookEventEventTypeAPITokenRenamed PaymentAuthorizedWebhookEventEventType = "api_token.renamed"`

      - `const PaymentAuthorizedWebhookEventEventTypeAPITokenExpiryScheduled PaymentAuthorizedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const PaymentAuthorizedWebhookEventEventTypeAPITokenExpired PaymentAuthorizedWebhookEventEventType = "api_token.expired"`

      - `const PaymentAuthorizedWebhookEventEventTypeAPITokenActivated PaymentAuthorizedWebhookEventEventType = "api_token.activated"`

      - `const PaymentAuthorizedWebhookEventEventTypeAPITokenDeleted PaymentAuthorizedWebhookEventEventType = "api_token.deleted"`

      - `const PaymentAuthorizedWebhookEventEventTypeEnvironmentCreated PaymentAuthorizedWebhookEventEventType = "environment.created"`

      - `const PaymentAuthorizedWebhookEventEventTypeEnvironmentRenamed PaymentAuthorizedWebhookEventEventType = "environment.renamed"`

      - `const PaymentAuthorizedWebhookEventEventTypeEnvironmentDeleted PaymentAuthorizedWebhookEventEventType = "environment.deleted"`

      - `const PaymentAuthorizedWebhookEventEventTypeWebhookSubscriptionCreated PaymentAuthorizedWebhookEventEventType = "webhook_subscription.created"`

      - `const PaymentAuthorizedWebhookEventEventTypeWebhookSubscriptionDeleted PaymentAuthorizedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const PaymentAuthorizedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged PaymentAuthorizedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const PaymentAuthorizedWebhookEventEventTypeWebhookSubscriptionEnabled PaymentAuthorizedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const PaymentAuthorizedWebhookEventEventTypeWebhookSubscriptionDisabled PaymentAuthorizedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const PaymentAuthorizedWebhookEventEventTypeWebhookSubscriptionEventsUpdated PaymentAuthorizedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const PaymentAuthorizedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated PaymentAuthorizedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const PaymentAuthorizedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet PaymentAuthorizedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const PaymentAuthorizedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared PaymentAuthorizedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const PaymentAuthorizedWebhookEventEventTypeTeamMemberAdded PaymentAuthorizedWebhookEventEventType = "team_member.added"`

      - `const PaymentAuthorizedWebhookEventEventTypeTeamMemberSignedIn PaymentAuthorizedWebhookEventEventType = "team_member.signed_in"`

      - `const PaymentAuthorizedWebhookEventEventTypeTeamMemberSignedOut PaymentAuthorizedWebhookEventEventType = "team_member.signed_out"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type PaymentCanceledWebhookEvent struct{…}`

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data PaymentCanceledWebhookEventData`

      The payment request, as returned by
      `GET /v3/payment_requests/{paymentRequestId}`.

      - `ID string`

        The payment request id.

      - `Amount int64`

        What was charged at checkout, in the currency's minor
        units. In `subscription` mode this is the first invoice's
        total — all items after any discounts are applied.

      - `CheckoutURL string`

        URL the recipient opens to pay
        (`https://zero.linqapp.com/pay/{slug}?session=...`).

      - `CreatedAt Time`

      - `Currency string`

      - `Object string`

      - `Status string`

        - `const PaymentCanceledWebhookEventDataStatusSucceeded PaymentCanceledWebhookEventDataStatus = "succeeded"`

        - `const PaymentCanceledWebhookEventDataStatusFailed PaymentCanceledWebhookEventDataStatus = "failed"`

        - `const PaymentCanceledWebhookEventDataStatusCanceled PaymentCanceledWebhookEventDataStatus = "canceled"`

        - `const PaymentCanceledWebhookEventDataStatusExpired PaymentCanceledWebhookEventDataStatus = "expired"`

      - `Description string`

      - `Discount PaymentCanceledWebhookEventDataDiscount`

        Subscription mode — the discount Stripe applied, read back
        from the coupon. Absent when none was applied.

        - `Coupon string`

        - `Label string`

          Name of the coupon/promo code displayed to customers.

        - `PromotionCode string`

      - `Interval string`

        Subscription mode — how often the subscription renews.

        - `const PaymentCanceledWebhookEventDataIntervalDay PaymentCanceledWebhookEventDataInterval = "day"`

        - `const PaymentCanceledWebhookEventDataIntervalWeek PaymentCanceledWebhookEventDataInterval = "week"`

        - `const PaymentCanceledWebhookEventDataIntervalMonth PaymentCanceledWebhookEventDataInterval = "month"`

        - `const PaymentCanceledWebhookEventDataIntervalYear PaymentCanceledWebhookEventDataInterval = "year"`

      - `IntervalCount int64`

        Subscription mode — intervals per renewal.

      - `Metadata map[string, string]`

      - `Mode string`

        Whether the request collected a one-time charge or started a subscription.

        - `const PaymentCanceledWebhookEventDataModePayment PaymentCanceledWebhookEventDataMode = "payment"`

        - `const PaymentCanceledWebhookEventDataModeSubscription PaymentCanceledWebhookEventDataMode = "subscription"`

      - `Natural PaymentCanceledWebhookEventDataNatural`

        Natural-rail join keys, present when `rail: natural`.

        - `PaymentRequestID string`

          The Natural payment request (`prq_...`).

        - `TransactionID string`

          The settled transaction (`txn_...`).

      - `PriceID string`

        Subscription mode — the recurring price subscribed to.

      - `Quantity int64`

        Subscription mode — units of the price subscribed to.

      - `Rail string`

        The rail this request settled on.

        - `const PaymentCanceledWebhookEventDataRailStripe PaymentCanceledWebhookEventDataRail = "stripe"`

        - `const PaymentCanceledWebhookEventDataRailNatural PaymentCanceledWebhookEventDataRail = "natural"`

      - `Stripe PaymentCanceledWebhookEventDataStripe`

        Ids of the Stripe objects on your connected account — join
        keys into your own Stripe Dashboard/API. Manage a
        subscription's post-checkout lifecycle with `subscription_id`.

        - `CustomerID string`

          The Customer the request is attached to (`cus_...`).
          Always set in subscription mode; set in payment mode
          only when the request was created with a `customer_id`.

        - `PaymentIntentID string`

          The PaymentIntent collected at checkout (`pi_...`).

        - `SubscriptionID string`

          Subscription mode — the Subscription (`sub_...`).

      - `TrialEnd Time`

        Subscription mode — when the free trial ends and the first
        charge happens. On a trial request, `payment.succeeded`
        means the payment method was collected ($0 moved).

      - `UpdatedAt Time`

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType PaymentCanceledWebhookEventEventType`

      - `const PaymentCanceledWebhookEventEventTypePaymentSucceeded PaymentCanceledWebhookEventEventType = "payment.succeeded"`

      - `const PaymentCanceledWebhookEventEventTypePaymentCanceled PaymentCanceledWebhookEventEventType = "payment.canceled"`

      - `const PaymentCanceledWebhookEventEventTypePaymentExpired PaymentCanceledWebhookEventEventType = "payment.expired"`

      - `const PaymentCanceledWebhookEventEventTypeMessageSent PaymentCanceledWebhookEventEventType = "message.sent"`

      - `const PaymentCanceledWebhookEventEventTypeMessageReceived PaymentCanceledWebhookEventEventType = "message.received"`

      - `const PaymentCanceledWebhookEventEventTypeMessageRead PaymentCanceledWebhookEventEventType = "message.read"`

      - `const PaymentCanceledWebhookEventEventTypeMessageDelivered PaymentCanceledWebhookEventEventType = "message.delivered"`

      - `const PaymentCanceledWebhookEventEventTypeMessageFailed PaymentCanceledWebhookEventEventType = "message.failed"`

      - `const PaymentCanceledWebhookEventEventTypeMessageEdited PaymentCanceledWebhookEventEventType = "message.edited"`

      - `const PaymentCanceledWebhookEventEventTypeReactionAdded PaymentCanceledWebhookEventEventType = "reaction.added"`

      - `const PaymentCanceledWebhookEventEventTypeReactionRemoved PaymentCanceledWebhookEventEventType = "reaction.removed"`

      - `const PaymentCanceledWebhookEventEventTypePollReceived PaymentCanceledWebhookEventEventType = "poll.received"`

      - `const PaymentCanceledWebhookEventEventTypePollFailed PaymentCanceledWebhookEventEventType = "poll.failed"`

      - `const PaymentCanceledWebhookEventEventTypePollSent PaymentCanceledWebhookEventEventType = "poll.sent"`

      - `const PaymentCanceledWebhookEventEventTypePollDelivered PaymentCanceledWebhookEventEventType = "poll.delivered"`

      - `const PaymentCanceledWebhookEventEventTypePollRead PaymentCanceledWebhookEventEventType = "poll.read"`

      - `const PaymentCanceledWebhookEventEventTypePollUpdated PaymentCanceledWebhookEventEventType = "poll.updated"`

      - `const PaymentCanceledWebhookEventEventTypePollVoteAdded PaymentCanceledWebhookEventEventType = "poll.vote.added"`

      - `const PaymentCanceledWebhookEventEventTypePollVoteRemoved PaymentCanceledWebhookEventEventType = "poll.vote.removed"`

      - `const PaymentCanceledWebhookEventEventTypePollReactionAdded PaymentCanceledWebhookEventEventType = "poll.reaction.added"`

      - `const PaymentCanceledWebhookEventEventTypeParticipantAdded PaymentCanceledWebhookEventEventType = "participant.added"`

      - `const PaymentCanceledWebhookEventEventTypeParticipantRemoved PaymentCanceledWebhookEventEventType = "participant.removed"`

      - `const PaymentCanceledWebhookEventEventTypeChatCreated PaymentCanceledWebhookEventEventType = "chat.created"`

      - `const PaymentCanceledWebhookEventEventTypeChatGroupNameUpdated PaymentCanceledWebhookEventEventType = "chat.group_name_updated"`

      - `const PaymentCanceledWebhookEventEventTypeChatGroupIconUpdated PaymentCanceledWebhookEventEventType = "chat.group_icon_updated"`

      - `const PaymentCanceledWebhookEventEventTypeChatGroupNameUpdateFailed PaymentCanceledWebhookEventEventType = "chat.group_name_update_failed"`

      - `const PaymentCanceledWebhookEventEventTypeChatGroupIconUpdateFailed PaymentCanceledWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const PaymentCanceledWebhookEventEventTypeChatBackgroundUpdated PaymentCanceledWebhookEventEventType = "chat.background_updated"`

      - `const PaymentCanceledWebhookEventEventTypeChatBackgroundUpdateFailed PaymentCanceledWebhookEventEventType = "chat.background_update_failed"`

      - `const PaymentCanceledWebhookEventEventTypeChatTypingIndicatorStarted PaymentCanceledWebhookEventEventType = "chat.typing_indicator.started"`

      - `const PaymentCanceledWebhookEventEventTypeChatTypingIndicatorStopped PaymentCanceledWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const PaymentCanceledWebhookEventEventTypePhoneNumberStatusUpdated PaymentCanceledWebhookEventEventType = "phone_number.status_updated"`

      - `const PaymentCanceledWebhookEventEventTypePhoneNumberAssigned PaymentCanceledWebhookEventEventType = "phone_number.assigned"`

      - `const PaymentCanceledWebhookEventEventTypePhoneNumberReleased PaymentCanceledWebhookEventEventType = "phone_number.released"`

      - `const PaymentCanceledWebhookEventEventTypePhoneNumberLineTypeUpdated PaymentCanceledWebhookEventEventType = "phone_number.line_type_updated"`

      - `const PaymentCanceledWebhookEventEventTypeContactCardReceived PaymentCanceledWebhookEventEventType = "contact_card.received"`

      - `const PaymentCanceledWebhookEventEventTypeCallInitiated PaymentCanceledWebhookEventEventType = "call.initiated"`

      - `const PaymentCanceledWebhookEventEventTypeCallRinging PaymentCanceledWebhookEventEventType = "call.ringing"`

      - `const PaymentCanceledWebhookEventEventTypeCallAnswered PaymentCanceledWebhookEventEventType = "call.answered"`

      - `const PaymentCanceledWebhookEventEventTypeCallEnded PaymentCanceledWebhookEventEventType = "call.ended"`

      - `const PaymentCanceledWebhookEventEventTypeCallFailed PaymentCanceledWebhookEventEventType = "call.failed"`

      - `const PaymentCanceledWebhookEventEventTypeCallDeclined PaymentCanceledWebhookEventEventType = "call.declined"`

      - `const PaymentCanceledWebhookEventEventTypeCallNoAnswer PaymentCanceledWebhookEventEventType = "call.no_answer"`

      - `const PaymentCanceledWebhookEventEventTypeLocationSharingStarted PaymentCanceledWebhookEventEventType = "location.sharing.started"`

      - `const PaymentCanceledWebhookEventEventTypeLocationSharingStopped PaymentCanceledWebhookEventEventType = "location.sharing.stopped"`

      - `const PaymentCanceledWebhookEventEventTypePaymentDeclined PaymentCanceledWebhookEventEventType = "payment.declined"`

      - `const PaymentCanceledWebhookEventEventTypePaymentAuthorized PaymentCanceledWebhookEventEventType = "payment.authorized"`

      - `const PaymentCanceledWebhookEventEventTypeConnectionCreated PaymentCanceledWebhookEventEventType = "connection.created"`

      - `const PaymentCanceledWebhookEventEventTypeConnectionRevoked PaymentCanceledWebhookEventEventType = "connection.revoked"`

      - `const PaymentCanceledWebhookEventEventTypeZeroDayRetentionUpdated PaymentCanceledWebhookEventEventType = "zero_day_retention.updated"`

      - `const PaymentCanceledWebhookEventEventTypePhoneNumberForwardingUpdated PaymentCanceledWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const PaymentCanceledWebhookEventEventTypeEnvironmentLineMoved PaymentCanceledWebhookEventEventType = "environment.line_moved"`

      - `const PaymentCanceledWebhookEventEventTypeContactCardCreated PaymentCanceledWebhookEventEventType = "contact_card.created"`

      - `const PaymentCanceledWebhookEventEventTypeContactCardUpdated PaymentCanceledWebhookEventEventType = "contact_card.updated"`

      - `const PaymentCanceledWebhookEventEventTypeContactCardDeleted PaymentCanceledWebhookEventEventType = "contact_card.deleted"`

      - `const PaymentCanceledWebhookEventEventTypeAPITokenCreated PaymentCanceledWebhookEventEventType = "api_token.created"`

      - `const PaymentCanceledWebhookEventEventTypeAPITokenRenamed PaymentCanceledWebhookEventEventType = "api_token.renamed"`

      - `const PaymentCanceledWebhookEventEventTypeAPITokenExpiryScheduled PaymentCanceledWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const PaymentCanceledWebhookEventEventTypeAPITokenExpired PaymentCanceledWebhookEventEventType = "api_token.expired"`

      - `const PaymentCanceledWebhookEventEventTypeAPITokenActivated PaymentCanceledWebhookEventEventType = "api_token.activated"`

      - `const PaymentCanceledWebhookEventEventTypeAPITokenDeleted PaymentCanceledWebhookEventEventType = "api_token.deleted"`

      - `const PaymentCanceledWebhookEventEventTypeEnvironmentCreated PaymentCanceledWebhookEventEventType = "environment.created"`

      - `const PaymentCanceledWebhookEventEventTypeEnvironmentRenamed PaymentCanceledWebhookEventEventType = "environment.renamed"`

      - `const PaymentCanceledWebhookEventEventTypeEnvironmentDeleted PaymentCanceledWebhookEventEventType = "environment.deleted"`

      - `const PaymentCanceledWebhookEventEventTypeWebhookSubscriptionCreated PaymentCanceledWebhookEventEventType = "webhook_subscription.created"`

      - `const PaymentCanceledWebhookEventEventTypeWebhookSubscriptionDeleted PaymentCanceledWebhookEventEventType = "webhook_subscription.deleted"`

      - `const PaymentCanceledWebhookEventEventTypeWebhookSubscriptionTargetURLChanged PaymentCanceledWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const PaymentCanceledWebhookEventEventTypeWebhookSubscriptionEnabled PaymentCanceledWebhookEventEventType = "webhook_subscription.enabled"`

      - `const PaymentCanceledWebhookEventEventTypeWebhookSubscriptionDisabled PaymentCanceledWebhookEventEventType = "webhook_subscription.disabled"`

      - `const PaymentCanceledWebhookEventEventTypeWebhookSubscriptionEventsUpdated PaymentCanceledWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const PaymentCanceledWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated PaymentCanceledWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const PaymentCanceledWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet PaymentCanceledWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const PaymentCanceledWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared PaymentCanceledWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const PaymentCanceledWebhookEventEventTypeTeamMemberAdded PaymentCanceledWebhookEventEventType = "team_member.added"`

      - `const PaymentCanceledWebhookEventEventTypeTeamMemberSignedIn PaymentCanceledWebhookEventEventType = "team_member.signed_in"`

      - `const PaymentCanceledWebhookEventEventTypeTeamMemberSignedOut PaymentCanceledWebhookEventEventType = "team_member.signed_out"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type PaymentDeclinedWebhookEvent struct{…}`

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data PaymentDeclinedWebhookEventData`

      The payment request, as returned by
      `GET /v3/payment_requests/{paymentRequestId}`.

      - `ID string`

        The payment request id.

      - `Amount int64`

        What was charged at checkout, in the currency's minor
        units. In `subscription` mode this is the first invoice's
        total — all items after any discounts are applied.

      - `CheckoutURL string`

        URL the recipient opens to pay
        (`https://zero.linqapp.com/pay/{slug}?session=...`).

      - `CreatedAt Time`

      - `Currency string`

      - `Object string`

      - `Status string`

        - `const PaymentDeclinedWebhookEventDataStatusSucceeded PaymentDeclinedWebhookEventDataStatus = "succeeded"`

        - `const PaymentDeclinedWebhookEventDataStatusFailed PaymentDeclinedWebhookEventDataStatus = "failed"`

        - `const PaymentDeclinedWebhookEventDataStatusCanceled PaymentDeclinedWebhookEventDataStatus = "canceled"`

        - `const PaymentDeclinedWebhookEventDataStatusExpired PaymentDeclinedWebhookEventDataStatus = "expired"`

      - `Description string`

      - `Discount PaymentDeclinedWebhookEventDataDiscount`

        Subscription mode — the discount Stripe applied, read back
        from the coupon. Absent when none was applied.

        - `Coupon string`

        - `Label string`

          Name of the coupon/promo code displayed to customers.

        - `PromotionCode string`

      - `Interval string`

        Subscription mode — how often the subscription renews.

        - `const PaymentDeclinedWebhookEventDataIntervalDay PaymentDeclinedWebhookEventDataInterval = "day"`

        - `const PaymentDeclinedWebhookEventDataIntervalWeek PaymentDeclinedWebhookEventDataInterval = "week"`

        - `const PaymentDeclinedWebhookEventDataIntervalMonth PaymentDeclinedWebhookEventDataInterval = "month"`

        - `const PaymentDeclinedWebhookEventDataIntervalYear PaymentDeclinedWebhookEventDataInterval = "year"`

      - `IntervalCount int64`

        Subscription mode — intervals per renewal.

      - `Metadata map[string, string]`

      - `Mode string`

        Whether the request collected a one-time charge or started a subscription.

        - `const PaymentDeclinedWebhookEventDataModePayment PaymentDeclinedWebhookEventDataMode = "payment"`

        - `const PaymentDeclinedWebhookEventDataModeSubscription PaymentDeclinedWebhookEventDataMode = "subscription"`

      - `Natural PaymentDeclinedWebhookEventDataNatural`

        Natural-rail join keys, present when `rail: natural`.

        - `PaymentRequestID string`

          The Natural payment request (`prq_...`).

        - `TransactionID string`

          The settled transaction (`txn_...`).

      - `PriceID string`

        Subscription mode — the recurring price subscribed to.

      - `Quantity int64`

        Subscription mode — units of the price subscribed to.

      - `Rail string`

        The rail this request settled on.

        - `const PaymentDeclinedWebhookEventDataRailStripe PaymentDeclinedWebhookEventDataRail = "stripe"`

        - `const PaymentDeclinedWebhookEventDataRailNatural PaymentDeclinedWebhookEventDataRail = "natural"`

      - `Stripe PaymentDeclinedWebhookEventDataStripe`

        Ids of the Stripe objects on your connected account — join
        keys into your own Stripe Dashboard/API. Manage a
        subscription's post-checkout lifecycle with `subscription_id`.

        - `CustomerID string`

          The Customer the request is attached to (`cus_...`).
          Always set in subscription mode; set in payment mode
          only when the request was created with a `customer_id`.

        - `PaymentIntentID string`

          The PaymentIntent collected at checkout (`pi_...`).

        - `SubscriptionID string`

          Subscription mode — the Subscription (`sub_...`).

      - `TrialEnd Time`

        Subscription mode — when the free trial ends and the first
        charge happens. On a trial request, `payment.succeeded`
        means the payment method was collected ($0 moved).

      - `UpdatedAt Time`

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType PaymentDeclinedWebhookEventEventType`

      - `const PaymentDeclinedWebhookEventEventTypePaymentSucceeded PaymentDeclinedWebhookEventEventType = "payment.succeeded"`

      - `const PaymentDeclinedWebhookEventEventTypePaymentCanceled PaymentDeclinedWebhookEventEventType = "payment.canceled"`

      - `const PaymentDeclinedWebhookEventEventTypePaymentExpired PaymentDeclinedWebhookEventEventType = "payment.expired"`

      - `const PaymentDeclinedWebhookEventEventTypeMessageSent PaymentDeclinedWebhookEventEventType = "message.sent"`

      - `const PaymentDeclinedWebhookEventEventTypeMessageReceived PaymentDeclinedWebhookEventEventType = "message.received"`

      - `const PaymentDeclinedWebhookEventEventTypeMessageRead PaymentDeclinedWebhookEventEventType = "message.read"`

      - `const PaymentDeclinedWebhookEventEventTypeMessageDelivered PaymentDeclinedWebhookEventEventType = "message.delivered"`

      - `const PaymentDeclinedWebhookEventEventTypeMessageFailed PaymentDeclinedWebhookEventEventType = "message.failed"`

      - `const PaymentDeclinedWebhookEventEventTypeMessageEdited PaymentDeclinedWebhookEventEventType = "message.edited"`

      - `const PaymentDeclinedWebhookEventEventTypeReactionAdded PaymentDeclinedWebhookEventEventType = "reaction.added"`

      - `const PaymentDeclinedWebhookEventEventTypeReactionRemoved PaymentDeclinedWebhookEventEventType = "reaction.removed"`

      - `const PaymentDeclinedWebhookEventEventTypePollReceived PaymentDeclinedWebhookEventEventType = "poll.received"`

      - `const PaymentDeclinedWebhookEventEventTypePollFailed PaymentDeclinedWebhookEventEventType = "poll.failed"`

      - `const PaymentDeclinedWebhookEventEventTypePollSent PaymentDeclinedWebhookEventEventType = "poll.sent"`

      - `const PaymentDeclinedWebhookEventEventTypePollDelivered PaymentDeclinedWebhookEventEventType = "poll.delivered"`

      - `const PaymentDeclinedWebhookEventEventTypePollRead PaymentDeclinedWebhookEventEventType = "poll.read"`

      - `const PaymentDeclinedWebhookEventEventTypePollUpdated PaymentDeclinedWebhookEventEventType = "poll.updated"`

      - `const PaymentDeclinedWebhookEventEventTypePollVoteAdded PaymentDeclinedWebhookEventEventType = "poll.vote.added"`

      - `const PaymentDeclinedWebhookEventEventTypePollVoteRemoved PaymentDeclinedWebhookEventEventType = "poll.vote.removed"`

      - `const PaymentDeclinedWebhookEventEventTypePollReactionAdded PaymentDeclinedWebhookEventEventType = "poll.reaction.added"`

      - `const PaymentDeclinedWebhookEventEventTypeParticipantAdded PaymentDeclinedWebhookEventEventType = "participant.added"`

      - `const PaymentDeclinedWebhookEventEventTypeParticipantRemoved PaymentDeclinedWebhookEventEventType = "participant.removed"`

      - `const PaymentDeclinedWebhookEventEventTypeChatCreated PaymentDeclinedWebhookEventEventType = "chat.created"`

      - `const PaymentDeclinedWebhookEventEventTypeChatGroupNameUpdated PaymentDeclinedWebhookEventEventType = "chat.group_name_updated"`

      - `const PaymentDeclinedWebhookEventEventTypeChatGroupIconUpdated PaymentDeclinedWebhookEventEventType = "chat.group_icon_updated"`

      - `const PaymentDeclinedWebhookEventEventTypeChatGroupNameUpdateFailed PaymentDeclinedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const PaymentDeclinedWebhookEventEventTypeChatGroupIconUpdateFailed PaymentDeclinedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const PaymentDeclinedWebhookEventEventTypeChatBackgroundUpdated PaymentDeclinedWebhookEventEventType = "chat.background_updated"`

      - `const PaymentDeclinedWebhookEventEventTypeChatBackgroundUpdateFailed PaymentDeclinedWebhookEventEventType = "chat.background_update_failed"`

      - `const PaymentDeclinedWebhookEventEventTypeChatTypingIndicatorStarted PaymentDeclinedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const PaymentDeclinedWebhookEventEventTypeChatTypingIndicatorStopped PaymentDeclinedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const PaymentDeclinedWebhookEventEventTypePhoneNumberStatusUpdated PaymentDeclinedWebhookEventEventType = "phone_number.status_updated"`

      - `const PaymentDeclinedWebhookEventEventTypePhoneNumberAssigned PaymentDeclinedWebhookEventEventType = "phone_number.assigned"`

      - `const PaymentDeclinedWebhookEventEventTypePhoneNumberReleased PaymentDeclinedWebhookEventEventType = "phone_number.released"`

      - `const PaymentDeclinedWebhookEventEventTypePhoneNumberLineTypeUpdated PaymentDeclinedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const PaymentDeclinedWebhookEventEventTypeContactCardReceived PaymentDeclinedWebhookEventEventType = "contact_card.received"`

      - `const PaymentDeclinedWebhookEventEventTypeCallInitiated PaymentDeclinedWebhookEventEventType = "call.initiated"`

      - `const PaymentDeclinedWebhookEventEventTypeCallRinging PaymentDeclinedWebhookEventEventType = "call.ringing"`

      - `const PaymentDeclinedWebhookEventEventTypeCallAnswered PaymentDeclinedWebhookEventEventType = "call.answered"`

      - `const PaymentDeclinedWebhookEventEventTypeCallEnded PaymentDeclinedWebhookEventEventType = "call.ended"`

      - `const PaymentDeclinedWebhookEventEventTypeCallFailed PaymentDeclinedWebhookEventEventType = "call.failed"`

      - `const PaymentDeclinedWebhookEventEventTypeCallDeclined PaymentDeclinedWebhookEventEventType = "call.declined"`

      - `const PaymentDeclinedWebhookEventEventTypeCallNoAnswer PaymentDeclinedWebhookEventEventType = "call.no_answer"`

      - `const PaymentDeclinedWebhookEventEventTypeLocationSharingStarted PaymentDeclinedWebhookEventEventType = "location.sharing.started"`

      - `const PaymentDeclinedWebhookEventEventTypeLocationSharingStopped PaymentDeclinedWebhookEventEventType = "location.sharing.stopped"`

      - `const PaymentDeclinedWebhookEventEventTypePaymentDeclined PaymentDeclinedWebhookEventEventType = "payment.declined"`

      - `const PaymentDeclinedWebhookEventEventTypePaymentAuthorized PaymentDeclinedWebhookEventEventType = "payment.authorized"`

      - `const PaymentDeclinedWebhookEventEventTypeConnectionCreated PaymentDeclinedWebhookEventEventType = "connection.created"`

      - `const PaymentDeclinedWebhookEventEventTypeConnectionRevoked PaymentDeclinedWebhookEventEventType = "connection.revoked"`

      - `const PaymentDeclinedWebhookEventEventTypeZeroDayRetentionUpdated PaymentDeclinedWebhookEventEventType = "zero_day_retention.updated"`

      - `const PaymentDeclinedWebhookEventEventTypePhoneNumberForwardingUpdated PaymentDeclinedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const PaymentDeclinedWebhookEventEventTypeEnvironmentLineMoved PaymentDeclinedWebhookEventEventType = "environment.line_moved"`

      - `const PaymentDeclinedWebhookEventEventTypeContactCardCreated PaymentDeclinedWebhookEventEventType = "contact_card.created"`

      - `const PaymentDeclinedWebhookEventEventTypeContactCardUpdated PaymentDeclinedWebhookEventEventType = "contact_card.updated"`

      - `const PaymentDeclinedWebhookEventEventTypeContactCardDeleted PaymentDeclinedWebhookEventEventType = "contact_card.deleted"`

      - `const PaymentDeclinedWebhookEventEventTypeAPITokenCreated PaymentDeclinedWebhookEventEventType = "api_token.created"`

      - `const PaymentDeclinedWebhookEventEventTypeAPITokenRenamed PaymentDeclinedWebhookEventEventType = "api_token.renamed"`

      - `const PaymentDeclinedWebhookEventEventTypeAPITokenExpiryScheduled PaymentDeclinedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const PaymentDeclinedWebhookEventEventTypeAPITokenExpired PaymentDeclinedWebhookEventEventType = "api_token.expired"`

      - `const PaymentDeclinedWebhookEventEventTypeAPITokenActivated PaymentDeclinedWebhookEventEventType = "api_token.activated"`

      - `const PaymentDeclinedWebhookEventEventTypeAPITokenDeleted PaymentDeclinedWebhookEventEventType = "api_token.deleted"`

      - `const PaymentDeclinedWebhookEventEventTypeEnvironmentCreated PaymentDeclinedWebhookEventEventType = "environment.created"`

      - `const PaymentDeclinedWebhookEventEventTypeEnvironmentRenamed PaymentDeclinedWebhookEventEventType = "environment.renamed"`

      - `const PaymentDeclinedWebhookEventEventTypeEnvironmentDeleted PaymentDeclinedWebhookEventEventType = "environment.deleted"`

      - `const PaymentDeclinedWebhookEventEventTypeWebhookSubscriptionCreated PaymentDeclinedWebhookEventEventType = "webhook_subscription.created"`

      - `const PaymentDeclinedWebhookEventEventTypeWebhookSubscriptionDeleted PaymentDeclinedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const PaymentDeclinedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged PaymentDeclinedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const PaymentDeclinedWebhookEventEventTypeWebhookSubscriptionEnabled PaymentDeclinedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const PaymentDeclinedWebhookEventEventTypeWebhookSubscriptionDisabled PaymentDeclinedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const PaymentDeclinedWebhookEventEventTypeWebhookSubscriptionEventsUpdated PaymentDeclinedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const PaymentDeclinedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated PaymentDeclinedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const PaymentDeclinedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet PaymentDeclinedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const PaymentDeclinedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared PaymentDeclinedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const PaymentDeclinedWebhookEventEventTypeTeamMemberAdded PaymentDeclinedWebhookEventEventType = "team_member.added"`

      - `const PaymentDeclinedWebhookEventEventTypeTeamMemberSignedIn PaymentDeclinedWebhookEventEventType = "team_member.signed_in"`

      - `const PaymentDeclinedWebhookEventEventTypeTeamMemberSignedOut PaymentDeclinedWebhookEventEventType = "team_member.signed_out"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type PaymentExpiredWebhookEvent struct{…}`

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data PaymentExpiredWebhookEventData`

      The payment request, as returned by
      `GET /v3/payment_requests/{paymentRequestId}`.

      - `ID string`

        The payment request id.

      - `Amount int64`

        What was charged at checkout, in the currency's minor
        units. In `subscription` mode this is the first invoice's
        total — all items after any discounts are applied.

      - `CheckoutURL string`

        URL the recipient opens to pay
        (`https://zero.linqapp.com/pay/{slug}?session=...`).

      - `CreatedAt Time`

      - `Currency string`

      - `Object string`

      - `Status string`

        - `const PaymentExpiredWebhookEventDataStatusSucceeded PaymentExpiredWebhookEventDataStatus = "succeeded"`

        - `const PaymentExpiredWebhookEventDataStatusFailed PaymentExpiredWebhookEventDataStatus = "failed"`

        - `const PaymentExpiredWebhookEventDataStatusCanceled PaymentExpiredWebhookEventDataStatus = "canceled"`

        - `const PaymentExpiredWebhookEventDataStatusExpired PaymentExpiredWebhookEventDataStatus = "expired"`

      - `Description string`

      - `Discount PaymentExpiredWebhookEventDataDiscount`

        Subscription mode — the discount Stripe applied, read back
        from the coupon. Absent when none was applied.

        - `Coupon string`

        - `Label string`

          Name of the coupon/promo code displayed to customers.

        - `PromotionCode string`

      - `Interval string`

        Subscription mode — how often the subscription renews.

        - `const PaymentExpiredWebhookEventDataIntervalDay PaymentExpiredWebhookEventDataInterval = "day"`

        - `const PaymentExpiredWebhookEventDataIntervalWeek PaymentExpiredWebhookEventDataInterval = "week"`

        - `const PaymentExpiredWebhookEventDataIntervalMonth PaymentExpiredWebhookEventDataInterval = "month"`

        - `const PaymentExpiredWebhookEventDataIntervalYear PaymentExpiredWebhookEventDataInterval = "year"`

      - `IntervalCount int64`

        Subscription mode — intervals per renewal.

      - `Metadata map[string, string]`

      - `Mode string`

        Whether the request collected a one-time charge or started a subscription.

        - `const PaymentExpiredWebhookEventDataModePayment PaymentExpiredWebhookEventDataMode = "payment"`

        - `const PaymentExpiredWebhookEventDataModeSubscription PaymentExpiredWebhookEventDataMode = "subscription"`

      - `Natural PaymentExpiredWebhookEventDataNatural`

        Natural-rail join keys, present when `rail: natural`.

        - `PaymentRequestID string`

          The Natural payment request (`prq_...`).

        - `TransactionID string`

          The settled transaction (`txn_...`).

      - `PriceID string`

        Subscription mode — the recurring price subscribed to.

      - `Quantity int64`

        Subscription mode — units of the price subscribed to.

      - `Rail string`

        The rail this request settled on.

        - `const PaymentExpiredWebhookEventDataRailStripe PaymentExpiredWebhookEventDataRail = "stripe"`

        - `const PaymentExpiredWebhookEventDataRailNatural PaymentExpiredWebhookEventDataRail = "natural"`

      - `Stripe PaymentExpiredWebhookEventDataStripe`

        Ids of the Stripe objects on your connected account — join
        keys into your own Stripe Dashboard/API. Manage a
        subscription's post-checkout lifecycle with `subscription_id`.

        - `CustomerID string`

          The Customer the request is attached to (`cus_...`).
          Always set in subscription mode; set in payment mode
          only when the request was created with a `customer_id`.

        - `PaymentIntentID string`

          The PaymentIntent collected at checkout (`pi_...`).

        - `SubscriptionID string`

          Subscription mode — the Subscription (`sub_...`).

      - `TrialEnd Time`

        Subscription mode — when the free trial ends and the first
        charge happens. On a trial request, `payment.succeeded`
        means the payment method was collected ($0 moved).

      - `UpdatedAt Time`

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType PaymentExpiredWebhookEventEventType`

      - `const PaymentExpiredWebhookEventEventTypePaymentSucceeded PaymentExpiredWebhookEventEventType = "payment.succeeded"`

      - `const PaymentExpiredWebhookEventEventTypePaymentCanceled PaymentExpiredWebhookEventEventType = "payment.canceled"`

      - `const PaymentExpiredWebhookEventEventTypePaymentExpired PaymentExpiredWebhookEventEventType = "payment.expired"`

      - `const PaymentExpiredWebhookEventEventTypeMessageSent PaymentExpiredWebhookEventEventType = "message.sent"`

      - `const PaymentExpiredWebhookEventEventTypeMessageReceived PaymentExpiredWebhookEventEventType = "message.received"`

      - `const PaymentExpiredWebhookEventEventTypeMessageRead PaymentExpiredWebhookEventEventType = "message.read"`

      - `const PaymentExpiredWebhookEventEventTypeMessageDelivered PaymentExpiredWebhookEventEventType = "message.delivered"`

      - `const PaymentExpiredWebhookEventEventTypeMessageFailed PaymentExpiredWebhookEventEventType = "message.failed"`

      - `const PaymentExpiredWebhookEventEventTypeMessageEdited PaymentExpiredWebhookEventEventType = "message.edited"`

      - `const PaymentExpiredWebhookEventEventTypeReactionAdded PaymentExpiredWebhookEventEventType = "reaction.added"`

      - `const PaymentExpiredWebhookEventEventTypeReactionRemoved PaymentExpiredWebhookEventEventType = "reaction.removed"`

      - `const PaymentExpiredWebhookEventEventTypePollReceived PaymentExpiredWebhookEventEventType = "poll.received"`

      - `const PaymentExpiredWebhookEventEventTypePollFailed PaymentExpiredWebhookEventEventType = "poll.failed"`

      - `const PaymentExpiredWebhookEventEventTypePollSent PaymentExpiredWebhookEventEventType = "poll.sent"`

      - `const PaymentExpiredWebhookEventEventTypePollDelivered PaymentExpiredWebhookEventEventType = "poll.delivered"`

      - `const PaymentExpiredWebhookEventEventTypePollRead PaymentExpiredWebhookEventEventType = "poll.read"`

      - `const PaymentExpiredWebhookEventEventTypePollUpdated PaymentExpiredWebhookEventEventType = "poll.updated"`

      - `const PaymentExpiredWebhookEventEventTypePollVoteAdded PaymentExpiredWebhookEventEventType = "poll.vote.added"`

      - `const PaymentExpiredWebhookEventEventTypePollVoteRemoved PaymentExpiredWebhookEventEventType = "poll.vote.removed"`

      - `const PaymentExpiredWebhookEventEventTypePollReactionAdded PaymentExpiredWebhookEventEventType = "poll.reaction.added"`

      - `const PaymentExpiredWebhookEventEventTypeParticipantAdded PaymentExpiredWebhookEventEventType = "participant.added"`

      - `const PaymentExpiredWebhookEventEventTypeParticipantRemoved PaymentExpiredWebhookEventEventType = "participant.removed"`

      - `const PaymentExpiredWebhookEventEventTypeChatCreated PaymentExpiredWebhookEventEventType = "chat.created"`

      - `const PaymentExpiredWebhookEventEventTypeChatGroupNameUpdated PaymentExpiredWebhookEventEventType = "chat.group_name_updated"`

      - `const PaymentExpiredWebhookEventEventTypeChatGroupIconUpdated PaymentExpiredWebhookEventEventType = "chat.group_icon_updated"`

      - `const PaymentExpiredWebhookEventEventTypeChatGroupNameUpdateFailed PaymentExpiredWebhookEventEventType = "chat.group_name_update_failed"`

      - `const PaymentExpiredWebhookEventEventTypeChatGroupIconUpdateFailed PaymentExpiredWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const PaymentExpiredWebhookEventEventTypeChatBackgroundUpdated PaymentExpiredWebhookEventEventType = "chat.background_updated"`

      - `const PaymentExpiredWebhookEventEventTypeChatBackgroundUpdateFailed PaymentExpiredWebhookEventEventType = "chat.background_update_failed"`

      - `const PaymentExpiredWebhookEventEventTypeChatTypingIndicatorStarted PaymentExpiredWebhookEventEventType = "chat.typing_indicator.started"`

      - `const PaymentExpiredWebhookEventEventTypeChatTypingIndicatorStopped PaymentExpiredWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const PaymentExpiredWebhookEventEventTypePhoneNumberStatusUpdated PaymentExpiredWebhookEventEventType = "phone_number.status_updated"`

      - `const PaymentExpiredWebhookEventEventTypePhoneNumberAssigned PaymentExpiredWebhookEventEventType = "phone_number.assigned"`

      - `const PaymentExpiredWebhookEventEventTypePhoneNumberReleased PaymentExpiredWebhookEventEventType = "phone_number.released"`

      - `const PaymentExpiredWebhookEventEventTypePhoneNumberLineTypeUpdated PaymentExpiredWebhookEventEventType = "phone_number.line_type_updated"`

      - `const PaymentExpiredWebhookEventEventTypeContactCardReceived PaymentExpiredWebhookEventEventType = "contact_card.received"`

      - `const PaymentExpiredWebhookEventEventTypeCallInitiated PaymentExpiredWebhookEventEventType = "call.initiated"`

      - `const PaymentExpiredWebhookEventEventTypeCallRinging PaymentExpiredWebhookEventEventType = "call.ringing"`

      - `const PaymentExpiredWebhookEventEventTypeCallAnswered PaymentExpiredWebhookEventEventType = "call.answered"`

      - `const PaymentExpiredWebhookEventEventTypeCallEnded PaymentExpiredWebhookEventEventType = "call.ended"`

      - `const PaymentExpiredWebhookEventEventTypeCallFailed PaymentExpiredWebhookEventEventType = "call.failed"`

      - `const PaymentExpiredWebhookEventEventTypeCallDeclined PaymentExpiredWebhookEventEventType = "call.declined"`

      - `const PaymentExpiredWebhookEventEventTypeCallNoAnswer PaymentExpiredWebhookEventEventType = "call.no_answer"`

      - `const PaymentExpiredWebhookEventEventTypeLocationSharingStarted PaymentExpiredWebhookEventEventType = "location.sharing.started"`

      - `const PaymentExpiredWebhookEventEventTypeLocationSharingStopped PaymentExpiredWebhookEventEventType = "location.sharing.stopped"`

      - `const PaymentExpiredWebhookEventEventTypePaymentDeclined PaymentExpiredWebhookEventEventType = "payment.declined"`

      - `const PaymentExpiredWebhookEventEventTypePaymentAuthorized PaymentExpiredWebhookEventEventType = "payment.authorized"`

      - `const PaymentExpiredWebhookEventEventTypeConnectionCreated PaymentExpiredWebhookEventEventType = "connection.created"`

      - `const PaymentExpiredWebhookEventEventTypeConnectionRevoked PaymentExpiredWebhookEventEventType = "connection.revoked"`

      - `const PaymentExpiredWebhookEventEventTypeZeroDayRetentionUpdated PaymentExpiredWebhookEventEventType = "zero_day_retention.updated"`

      - `const PaymentExpiredWebhookEventEventTypePhoneNumberForwardingUpdated PaymentExpiredWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const PaymentExpiredWebhookEventEventTypeEnvironmentLineMoved PaymentExpiredWebhookEventEventType = "environment.line_moved"`

      - `const PaymentExpiredWebhookEventEventTypeContactCardCreated PaymentExpiredWebhookEventEventType = "contact_card.created"`

      - `const PaymentExpiredWebhookEventEventTypeContactCardUpdated PaymentExpiredWebhookEventEventType = "contact_card.updated"`

      - `const PaymentExpiredWebhookEventEventTypeContactCardDeleted PaymentExpiredWebhookEventEventType = "contact_card.deleted"`

      - `const PaymentExpiredWebhookEventEventTypeAPITokenCreated PaymentExpiredWebhookEventEventType = "api_token.created"`

      - `const PaymentExpiredWebhookEventEventTypeAPITokenRenamed PaymentExpiredWebhookEventEventType = "api_token.renamed"`

      - `const PaymentExpiredWebhookEventEventTypeAPITokenExpiryScheduled PaymentExpiredWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const PaymentExpiredWebhookEventEventTypeAPITokenExpired PaymentExpiredWebhookEventEventType = "api_token.expired"`

      - `const PaymentExpiredWebhookEventEventTypeAPITokenActivated PaymentExpiredWebhookEventEventType = "api_token.activated"`

      - `const PaymentExpiredWebhookEventEventTypeAPITokenDeleted PaymentExpiredWebhookEventEventType = "api_token.deleted"`

      - `const PaymentExpiredWebhookEventEventTypeEnvironmentCreated PaymentExpiredWebhookEventEventType = "environment.created"`

      - `const PaymentExpiredWebhookEventEventTypeEnvironmentRenamed PaymentExpiredWebhookEventEventType = "environment.renamed"`

      - `const PaymentExpiredWebhookEventEventTypeEnvironmentDeleted PaymentExpiredWebhookEventEventType = "environment.deleted"`

      - `const PaymentExpiredWebhookEventEventTypeWebhookSubscriptionCreated PaymentExpiredWebhookEventEventType = "webhook_subscription.created"`

      - `const PaymentExpiredWebhookEventEventTypeWebhookSubscriptionDeleted PaymentExpiredWebhookEventEventType = "webhook_subscription.deleted"`

      - `const PaymentExpiredWebhookEventEventTypeWebhookSubscriptionTargetURLChanged PaymentExpiredWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const PaymentExpiredWebhookEventEventTypeWebhookSubscriptionEnabled PaymentExpiredWebhookEventEventType = "webhook_subscription.enabled"`

      - `const PaymentExpiredWebhookEventEventTypeWebhookSubscriptionDisabled PaymentExpiredWebhookEventEventType = "webhook_subscription.disabled"`

      - `const PaymentExpiredWebhookEventEventTypeWebhookSubscriptionEventsUpdated PaymentExpiredWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const PaymentExpiredWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated PaymentExpiredWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const PaymentExpiredWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet PaymentExpiredWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const PaymentExpiredWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared PaymentExpiredWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const PaymentExpiredWebhookEventEventTypeTeamMemberAdded PaymentExpiredWebhookEventEventType = "team_member.added"`

      - `const PaymentExpiredWebhookEventEventTypeTeamMemberSignedIn PaymentExpiredWebhookEventEventType = "team_member.signed_in"`

      - `const PaymentExpiredWebhookEventEventTypeTeamMemberSignedOut PaymentExpiredWebhookEventEventType = "team_member.signed_out"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type PaymentSucceededWebhookEvent struct{…}`

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data PaymentSucceededWebhookEventData`

      The payment request, as returned by
      `GET /v3/payment_requests/{paymentRequestId}`.

      - `ID string`

        The payment request id.

      - `Amount int64`

        What was charged at checkout, in the currency's minor
        units. In `subscription` mode this is the first invoice's
        total — all items after any discounts are applied.

      - `CheckoutURL string`

        URL the recipient opens to pay
        (`https://zero.linqapp.com/pay/{slug}?session=...`).

      - `CreatedAt Time`

      - `Currency string`

      - `Object string`

      - `Status string`

        - `const PaymentSucceededWebhookEventDataStatusSucceeded PaymentSucceededWebhookEventDataStatus = "succeeded"`

        - `const PaymentSucceededWebhookEventDataStatusFailed PaymentSucceededWebhookEventDataStatus = "failed"`

        - `const PaymentSucceededWebhookEventDataStatusCanceled PaymentSucceededWebhookEventDataStatus = "canceled"`

        - `const PaymentSucceededWebhookEventDataStatusExpired PaymentSucceededWebhookEventDataStatus = "expired"`

      - `Description string`

      - `Discount PaymentSucceededWebhookEventDataDiscount`

        Subscription mode — the discount Stripe applied, read back
        from the coupon. Absent when none was applied.

        - `Coupon string`

        - `Label string`

          Name of the coupon/promo code displayed to customers.

        - `PromotionCode string`

      - `Interval string`

        Subscription mode — how often the subscription renews.

        - `const PaymentSucceededWebhookEventDataIntervalDay PaymentSucceededWebhookEventDataInterval = "day"`

        - `const PaymentSucceededWebhookEventDataIntervalWeek PaymentSucceededWebhookEventDataInterval = "week"`

        - `const PaymentSucceededWebhookEventDataIntervalMonth PaymentSucceededWebhookEventDataInterval = "month"`

        - `const PaymentSucceededWebhookEventDataIntervalYear PaymentSucceededWebhookEventDataInterval = "year"`

      - `IntervalCount int64`

        Subscription mode — intervals per renewal.

      - `Metadata map[string, string]`

      - `Mode string`

        Whether the request collected a one-time charge or started a subscription.

        - `const PaymentSucceededWebhookEventDataModePayment PaymentSucceededWebhookEventDataMode = "payment"`

        - `const PaymentSucceededWebhookEventDataModeSubscription PaymentSucceededWebhookEventDataMode = "subscription"`

      - `Natural PaymentSucceededWebhookEventDataNatural`

        Natural-rail join keys, present when `rail: natural`.

        - `PaymentRequestID string`

          The Natural payment request (`prq_...`).

        - `TransactionID string`

          The settled transaction (`txn_...`).

      - `PriceID string`

        Subscription mode — the recurring price subscribed to.

      - `Quantity int64`

        Subscription mode — units of the price subscribed to.

      - `Rail string`

        The rail this request settled on.

        - `const PaymentSucceededWebhookEventDataRailStripe PaymentSucceededWebhookEventDataRail = "stripe"`

        - `const PaymentSucceededWebhookEventDataRailNatural PaymentSucceededWebhookEventDataRail = "natural"`

      - `Stripe PaymentSucceededWebhookEventDataStripe`

        Ids of the Stripe objects on your connected account — join
        keys into your own Stripe Dashboard/API. Manage a
        subscription's post-checkout lifecycle with `subscription_id`.

        - `CustomerID string`

          The Customer the request is attached to (`cus_...`).
          Always set in subscription mode; set in payment mode
          only when the request was created with a `customer_id`.

        - `PaymentIntentID string`

          The PaymentIntent collected at checkout (`pi_...`).

        - `SubscriptionID string`

          Subscription mode — the Subscription (`sub_...`).

      - `TrialEnd Time`

        Subscription mode — when the free trial ends and the first
        charge happens. On a trial request, `payment.succeeded`
        means the payment method was collected ($0 moved).

      - `UpdatedAt Time`

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType PaymentSucceededWebhookEventEventType`

      - `const PaymentSucceededWebhookEventEventTypePaymentSucceeded PaymentSucceededWebhookEventEventType = "payment.succeeded"`

      - `const PaymentSucceededWebhookEventEventTypePaymentCanceled PaymentSucceededWebhookEventEventType = "payment.canceled"`

      - `const PaymentSucceededWebhookEventEventTypePaymentExpired PaymentSucceededWebhookEventEventType = "payment.expired"`

      - `const PaymentSucceededWebhookEventEventTypeMessageSent PaymentSucceededWebhookEventEventType = "message.sent"`

      - `const PaymentSucceededWebhookEventEventTypeMessageReceived PaymentSucceededWebhookEventEventType = "message.received"`

      - `const PaymentSucceededWebhookEventEventTypeMessageRead PaymentSucceededWebhookEventEventType = "message.read"`

      - `const PaymentSucceededWebhookEventEventTypeMessageDelivered PaymentSucceededWebhookEventEventType = "message.delivered"`

      - `const PaymentSucceededWebhookEventEventTypeMessageFailed PaymentSucceededWebhookEventEventType = "message.failed"`

      - `const PaymentSucceededWebhookEventEventTypeMessageEdited PaymentSucceededWebhookEventEventType = "message.edited"`

      - `const PaymentSucceededWebhookEventEventTypeReactionAdded PaymentSucceededWebhookEventEventType = "reaction.added"`

      - `const PaymentSucceededWebhookEventEventTypeReactionRemoved PaymentSucceededWebhookEventEventType = "reaction.removed"`

      - `const PaymentSucceededWebhookEventEventTypePollReceived PaymentSucceededWebhookEventEventType = "poll.received"`

      - `const PaymentSucceededWebhookEventEventTypePollFailed PaymentSucceededWebhookEventEventType = "poll.failed"`

      - `const PaymentSucceededWebhookEventEventTypePollSent PaymentSucceededWebhookEventEventType = "poll.sent"`

      - `const PaymentSucceededWebhookEventEventTypePollDelivered PaymentSucceededWebhookEventEventType = "poll.delivered"`

      - `const PaymentSucceededWebhookEventEventTypePollRead PaymentSucceededWebhookEventEventType = "poll.read"`

      - `const PaymentSucceededWebhookEventEventTypePollUpdated PaymentSucceededWebhookEventEventType = "poll.updated"`

      - `const PaymentSucceededWebhookEventEventTypePollVoteAdded PaymentSucceededWebhookEventEventType = "poll.vote.added"`

      - `const PaymentSucceededWebhookEventEventTypePollVoteRemoved PaymentSucceededWebhookEventEventType = "poll.vote.removed"`

      - `const PaymentSucceededWebhookEventEventTypePollReactionAdded PaymentSucceededWebhookEventEventType = "poll.reaction.added"`

      - `const PaymentSucceededWebhookEventEventTypeParticipantAdded PaymentSucceededWebhookEventEventType = "participant.added"`

      - `const PaymentSucceededWebhookEventEventTypeParticipantRemoved PaymentSucceededWebhookEventEventType = "participant.removed"`

      - `const PaymentSucceededWebhookEventEventTypeChatCreated PaymentSucceededWebhookEventEventType = "chat.created"`

      - `const PaymentSucceededWebhookEventEventTypeChatGroupNameUpdated PaymentSucceededWebhookEventEventType = "chat.group_name_updated"`

      - `const PaymentSucceededWebhookEventEventTypeChatGroupIconUpdated PaymentSucceededWebhookEventEventType = "chat.group_icon_updated"`

      - `const PaymentSucceededWebhookEventEventTypeChatGroupNameUpdateFailed PaymentSucceededWebhookEventEventType = "chat.group_name_update_failed"`

      - `const PaymentSucceededWebhookEventEventTypeChatGroupIconUpdateFailed PaymentSucceededWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const PaymentSucceededWebhookEventEventTypeChatBackgroundUpdated PaymentSucceededWebhookEventEventType = "chat.background_updated"`

      - `const PaymentSucceededWebhookEventEventTypeChatBackgroundUpdateFailed PaymentSucceededWebhookEventEventType = "chat.background_update_failed"`

      - `const PaymentSucceededWebhookEventEventTypeChatTypingIndicatorStarted PaymentSucceededWebhookEventEventType = "chat.typing_indicator.started"`

      - `const PaymentSucceededWebhookEventEventTypeChatTypingIndicatorStopped PaymentSucceededWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const PaymentSucceededWebhookEventEventTypePhoneNumberStatusUpdated PaymentSucceededWebhookEventEventType = "phone_number.status_updated"`

      - `const PaymentSucceededWebhookEventEventTypePhoneNumberAssigned PaymentSucceededWebhookEventEventType = "phone_number.assigned"`

      - `const PaymentSucceededWebhookEventEventTypePhoneNumberReleased PaymentSucceededWebhookEventEventType = "phone_number.released"`

      - `const PaymentSucceededWebhookEventEventTypePhoneNumberLineTypeUpdated PaymentSucceededWebhookEventEventType = "phone_number.line_type_updated"`

      - `const PaymentSucceededWebhookEventEventTypeContactCardReceived PaymentSucceededWebhookEventEventType = "contact_card.received"`

      - `const PaymentSucceededWebhookEventEventTypeCallInitiated PaymentSucceededWebhookEventEventType = "call.initiated"`

      - `const PaymentSucceededWebhookEventEventTypeCallRinging PaymentSucceededWebhookEventEventType = "call.ringing"`

      - `const PaymentSucceededWebhookEventEventTypeCallAnswered PaymentSucceededWebhookEventEventType = "call.answered"`

      - `const PaymentSucceededWebhookEventEventTypeCallEnded PaymentSucceededWebhookEventEventType = "call.ended"`

      - `const PaymentSucceededWebhookEventEventTypeCallFailed PaymentSucceededWebhookEventEventType = "call.failed"`

      - `const PaymentSucceededWebhookEventEventTypeCallDeclined PaymentSucceededWebhookEventEventType = "call.declined"`

      - `const PaymentSucceededWebhookEventEventTypeCallNoAnswer PaymentSucceededWebhookEventEventType = "call.no_answer"`

      - `const PaymentSucceededWebhookEventEventTypeLocationSharingStarted PaymentSucceededWebhookEventEventType = "location.sharing.started"`

      - `const PaymentSucceededWebhookEventEventTypeLocationSharingStopped PaymentSucceededWebhookEventEventType = "location.sharing.stopped"`

      - `const PaymentSucceededWebhookEventEventTypePaymentDeclined PaymentSucceededWebhookEventEventType = "payment.declined"`

      - `const PaymentSucceededWebhookEventEventTypePaymentAuthorized PaymentSucceededWebhookEventEventType = "payment.authorized"`

      - `const PaymentSucceededWebhookEventEventTypeConnectionCreated PaymentSucceededWebhookEventEventType = "connection.created"`

      - `const PaymentSucceededWebhookEventEventTypeConnectionRevoked PaymentSucceededWebhookEventEventType = "connection.revoked"`

      - `const PaymentSucceededWebhookEventEventTypeZeroDayRetentionUpdated PaymentSucceededWebhookEventEventType = "zero_day_retention.updated"`

      - `const PaymentSucceededWebhookEventEventTypePhoneNumberForwardingUpdated PaymentSucceededWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const PaymentSucceededWebhookEventEventTypeEnvironmentLineMoved PaymentSucceededWebhookEventEventType = "environment.line_moved"`

      - `const PaymentSucceededWebhookEventEventTypeContactCardCreated PaymentSucceededWebhookEventEventType = "contact_card.created"`

      - `const PaymentSucceededWebhookEventEventTypeContactCardUpdated PaymentSucceededWebhookEventEventType = "contact_card.updated"`

      - `const PaymentSucceededWebhookEventEventTypeContactCardDeleted PaymentSucceededWebhookEventEventType = "contact_card.deleted"`

      - `const PaymentSucceededWebhookEventEventTypeAPITokenCreated PaymentSucceededWebhookEventEventType = "api_token.created"`

      - `const PaymentSucceededWebhookEventEventTypeAPITokenRenamed PaymentSucceededWebhookEventEventType = "api_token.renamed"`

      - `const PaymentSucceededWebhookEventEventTypeAPITokenExpiryScheduled PaymentSucceededWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const PaymentSucceededWebhookEventEventTypeAPITokenExpired PaymentSucceededWebhookEventEventType = "api_token.expired"`

      - `const PaymentSucceededWebhookEventEventTypeAPITokenActivated PaymentSucceededWebhookEventEventType = "api_token.activated"`

      - `const PaymentSucceededWebhookEventEventTypeAPITokenDeleted PaymentSucceededWebhookEventEventType = "api_token.deleted"`

      - `const PaymentSucceededWebhookEventEventTypeEnvironmentCreated PaymentSucceededWebhookEventEventType = "environment.created"`

      - `const PaymentSucceededWebhookEventEventTypeEnvironmentRenamed PaymentSucceededWebhookEventEventType = "environment.renamed"`

      - `const PaymentSucceededWebhookEventEventTypeEnvironmentDeleted PaymentSucceededWebhookEventEventType = "environment.deleted"`

      - `const PaymentSucceededWebhookEventEventTypeWebhookSubscriptionCreated PaymentSucceededWebhookEventEventType = "webhook_subscription.created"`

      - `const PaymentSucceededWebhookEventEventTypeWebhookSubscriptionDeleted PaymentSucceededWebhookEventEventType = "webhook_subscription.deleted"`

      - `const PaymentSucceededWebhookEventEventTypeWebhookSubscriptionTargetURLChanged PaymentSucceededWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const PaymentSucceededWebhookEventEventTypeWebhookSubscriptionEnabled PaymentSucceededWebhookEventEventType = "webhook_subscription.enabled"`

      - `const PaymentSucceededWebhookEventEventTypeWebhookSubscriptionDisabled PaymentSucceededWebhookEventEventType = "webhook_subscription.disabled"`

      - `const PaymentSucceededWebhookEventEventTypeWebhookSubscriptionEventsUpdated PaymentSucceededWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const PaymentSucceededWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated PaymentSucceededWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const PaymentSucceededWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet PaymentSucceededWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const PaymentSucceededWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared PaymentSucceededWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const PaymentSucceededWebhookEventEventTypeTeamMemberAdded PaymentSucceededWebhookEventEventType = "team_member.added"`

      - `const PaymentSucceededWebhookEventEventTypeTeamMemberSignedIn PaymentSucceededWebhookEventEventType = "team_member.signed_in"`

      - `const PaymentSucceededWebhookEventEventTypeTeamMemberSignedOut PaymentSucceededWebhookEventEventType = "team_member.signed_out"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type ZeroDayRetentionUpdatedWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ZeroDayRetentionUpdatedWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor ZeroDayRetentionUpdatedWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const ZeroDayRetentionUpdatedWebhookEventDataActorTypeTeamMember ZeroDayRetentionUpdatedWebhookEventDataActorType = "team_member"`

          - `const ZeroDayRetentionUpdatedWebhookEventDataActorTypeAPI ZeroDayRetentionUpdatedWebhookEventDataActorType = "api"`

          - `const ZeroDayRetentionUpdatedWebhookEventDataActorTypeSystem ZeroDayRetentionUpdatedWebhookEventDataActorType = "system"`

          - `const ZeroDayRetentionUpdatedWebhookEventDataActorTypeUnknown ZeroDayRetentionUpdatedWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const ZeroDayRetentionUpdatedWebhookEventDataOriginDashboard ZeroDayRetentionUpdatedWebhookEventDataOrigin = "dashboard"`

        - `const ZeroDayRetentionUpdatedWebhookEventDataOriginAPI ZeroDayRetentionUpdatedWebhookEventDataOrigin = "api"`

        - `const ZeroDayRetentionUpdatedWebhookEventDataOriginLinq ZeroDayRetentionUpdatedWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken ZeroDayRetentionUpdatedWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change ZeroDayRetentionUpdatedWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName ZeroDayRetentionUpdatedWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL ZeroDayRetentionUpdatedWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName ZeroDayRetentionUpdatedWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard ZeroDayRetentionUpdatedWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment ZeroDayRetentionUpdatedWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const ZeroDayRetentionUpdatedWebhookEventDataEnvironmentTypeEnvironment ZeroDayRetentionUpdatedWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const ZeroDayRetentionUpdatedWebhookEventDataMethodCode ZeroDayRetentionUpdatedWebhookEventDataMethod = "code"`

        - `const ZeroDayRetentionUpdatedWebhookEventDataMethodSSO ZeroDayRetentionUpdatedWebhookEventDataMethod = "sso"`

        - `const ZeroDayRetentionUpdatedWebhookEventDataMethodGoogle ZeroDayRetentionUpdatedWebhookEventDataMethod = "google"`

        - `const ZeroDayRetentionUpdatedWebhookEventDataMethodApple ZeroDayRetentionUpdatedWebhookEventDataMethod = "apple"`

        - `const ZeroDayRetentionUpdatedWebhookEventDataMethodLinkedin ZeroDayRetentionUpdatedWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember ZeroDayRetentionUpdatedWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const ZeroDayRetentionUpdatedWebhookEventDataTeamMemberRoleAdmin ZeroDayRetentionUpdatedWebhookEventDataTeamMemberRole = "admin"`

          - `const ZeroDayRetentionUpdatedWebhookEventDataTeamMemberRoleManager ZeroDayRetentionUpdatedWebhookEventDataTeamMemberRole = "manager"`

          - `const ZeroDayRetentionUpdatedWebhookEventDataTeamMemberRoleMember ZeroDayRetentionUpdatedWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription ZeroDayRetentionUpdatedWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType ZeroDayRetentionUpdatedWebhookEventEventType`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeZeroDayRetentionUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "zero_day_retention.updated"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypePhoneNumberForwardingUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeEnvironmentLineMoved ZeroDayRetentionUpdatedWebhookEventEventType = "environment.line_moved"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeContactCardCreated ZeroDayRetentionUpdatedWebhookEventEventType = "contact_card.created"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeContactCardUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "contact_card.updated"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeContactCardDeleted ZeroDayRetentionUpdatedWebhookEventEventType = "contact_card.deleted"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeAPITokenCreated ZeroDayRetentionUpdatedWebhookEventEventType = "api_token.created"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeAPITokenRenamed ZeroDayRetentionUpdatedWebhookEventEventType = "api_token.renamed"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeAPITokenExpiryScheduled ZeroDayRetentionUpdatedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeAPITokenExpired ZeroDayRetentionUpdatedWebhookEventEventType = "api_token.expired"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeAPITokenActivated ZeroDayRetentionUpdatedWebhookEventEventType = "api_token.activated"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeAPITokenDeleted ZeroDayRetentionUpdatedWebhookEventEventType = "api_token.deleted"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeEnvironmentCreated ZeroDayRetentionUpdatedWebhookEventEventType = "environment.created"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeEnvironmentRenamed ZeroDayRetentionUpdatedWebhookEventEventType = "environment.renamed"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeEnvironmentDeleted ZeroDayRetentionUpdatedWebhookEventEventType = "environment.deleted"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeWebhookSubscriptionCreated ZeroDayRetentionUpdatedWebhookEventEventType = "webhook_subscription.created"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeWebhookSubscriptionDeleted ZeroDayRetentionUpdatedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged ZeroDayRetentionUpdatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeWebhookSubscriptionEnabled ZeroDayRetentionUpdatedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeWebhookSubscriptionDisabled ZeroDayRetentionUpdatedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet ZeroDayRetentionUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared ZeroDayRetentionUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeTeamMemberAdded ZeroDayRetentionUpdatedWebhookEventEventType = "team_member.added"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeTeamMemberSignedIn ZeroDayRetentionUpdatedWebhookEventEventType = "team_member.signed_in"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeTeamMemberSignedOut ZeroDayRetentionUpdatedWebhookEventEventType = "team_member.signed_out"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeMessageSent ZeroDayRetentionUpdatedWebhookEventEventType = "message.sent"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeMessageReceived ZeroDayRetentionUpdatedWebhookEventEventType = "message.received"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeMessageRead ZeroDayRetentionUpdatedWebhookEventEventType = "message.read"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeMessageDelivered ZeroDayRetentionUpdatedWebhookEventEventType = "message.delivered"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeMessageFailed ZeroDayRetentionUpdatedWebhookEventEventType = "message.failed"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeMessageEdited ZeroDayRetentionUpdatedWebhookEventEventType = "message.edited"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeReactionAdded ZeroDayRetentionUpdatedWebhookEventEventType = "reaction.added"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeReactionRemoved ZeroDayRetentionUpdatedWebhookEventEventType = "reaction.removed"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypePollReceived ZeroDayRetentionUpdatedWebhookEventEventType = "poll.received"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypePollFailed ZeroDayRetentionUpdatedWebhookEventEventType = "poll.failed"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypePollSent ZeroDayRetentionUpdatedWebhookEventEventType = "poll.sent"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypePollDelivered ZeroDayRetentionUpdatedWebhookEventEventType = "poll.delivered"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypePollRead ZeroDayRetentionUpdatedWebhookEventEventType = "poll.read"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypePollUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "poll.updated"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypePollVoteAdded ZeroDayRetentionUpdatedWebhookEventEventType = "poll.vote.added"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypePollVoteRemoved ZeroDayRetentionUpdatedWebhookEventEventType = "poll.vote.removed"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypePollReactionAdded ZeroDayRetentionUpdatedWebhookEventEventType = "poll.reaction.added"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeParticipantAdded ZeroDayRetentionUpdatedWebhookEventEventType = "participant.added"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeParticipantRemoved ZeroDayRetentionUpdatedWebhookEventEventType = "participant.removed"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeChatCreated ZeroDayRetentionUpdatedWebhookEventEventType = "chat.created"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeChatGroupNameUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "chat.group_name_updated"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeChatGroupIconUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "chat.group_icon_updated"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeChatGroupNameUpdateFailed ZeroDayRetentionUpdatedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeChatGroupIconUpdateFailed ZeroDayRetentionUpdatedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeChatBackgroundUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "chat.background_updated"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeChatBackgroundUpdateFailed ZeroDayRetentionUpdatedWebhookEventEventType = "chat.background_update_failed"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeChatTypingIndicatorStarted ZeroDayRetentionUpdatedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeChatTypingIndicatorStopped ZeroDayRetentionUpdatedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypePhoneNumberStatusUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "phone_number.status_updated"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypePhoneNumberAssigned ZeroDayRetentionUpdatedWebhookEventEventType = "phone_number.assigned"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypePhoneNumberReleased ZeroDayRetentionUpdatedWebhookEventEventType = "phone_number.released"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypePhoneNumberLineTypeUpdated ZeroDayRetentionUpdatedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeContactCardReceived ZeroDayRetentionUpdatedWebhookEventEventType = "contact_card.received"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeCallInitiated ZeroDayRetentionUpdatedWebhookEventEventType = "call.initiated"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeCallRinging ZeroDayRetentionUpdatedWebhookEventEventType = "call.ringing"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeCallAnswered ZeroDayRetentionUpdatedWebhookEventEventType = "call.answered"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeCallEnded ZeroDayRetentionUpdatedWebhookEventEventType = "call.ended"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeCallFailed ZeroDayRetentionUpdatedWebhookEventEventType = "call.failed"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeCallDeclined ZeroDayRetentionUpdatedWebhookEventEventType = "call.declined"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeCallNoAnswer ZeroDayRetentionUpdatedWebhookEventEventType = "call.no_answer"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeLocationSharingStarted ZeroDayRetentionUpdatedWebhookEventEventType = "location.sharing.started"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeLocationSharingStopped ZeroDayRetentionUpdatedWebhookEventEventType = "location.sharing.stopped"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypePaymentSucceeded ZeroDayRetentionUpdatedWebhookEventEventType = "payment.succeeded"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypePaymentCanceled ZeroDayRetentionUpdatedWebhookEventEventType = "payment.canceled"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypePaymentExpired ZeroDayRetentionUpdatedWebhookEventEventType = "payment.expired"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypePaymentDeclined ZeroDayRetentionUpdatedWebhookEventEventType = "payment.declined"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypePaymentAuthorized ZeroDayRetentionUpdatedWebhookEventEventType = "payment.authorized"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeConnectionCreated ZeroDayRetentionUpdatedWebhookEventEventType = "connection.created"`

      - `const ZeroDayRetentionUpdatedWebhookEventEventTypeConnectionRevoked ZeroDayRetentionUpdatedWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type PhoneNumberForwardingUpdatedWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data PhoneNumberForwardingUpdatedWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor PhoneNumberForwardingUpdatedWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const PhoneNumberForwardingUpdatedWebhookEventDataActorTypeTeamMember PhoneNumberForwardingUpdatedWebhookEventDataActorType = "team_member"`

          - `const PhoneNumberForwardingUpdatedWebhookEventDataActorTypeAPI PhoneNumberForwardingUpdatedWebhookEventDataActorType = "api"`

          - `const PhoneNumberForwardingUpdatedWebhookEventDataActorTypeSystem PhoneNumberForwardingUpdatedWebhookEventDataActorType = "system"`

          - `const PhoneNumberForwardingUpdatedWebhookEventDataActorTypeUnknown PhoneNumberForwardingUpdatedWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const PhoneNumberForwardingUpdatedWebhookEventDataOriginDashboard PhoneNumberForwardingUpdatedWebhookEventDataOrigin = "dashboard"`

        - `const PhoneNumberForwardingUpdatedWebhookEventDataOriginAPI PhoneNumberForwardingUpdatedWebhookEventDataOrigin = "api"`

        - `const PhoneNumberForwardingUpdatedWebhookEventDataOriginLinq PhoneNumberForwardingUpdatedWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken PhoneNumberForwardingUpdatedWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change PhoneNumberForwardingUpdatedWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName PhoneNumberForwardingUpdatedWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL PhoneNumberForwardingUpdatedWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName PhoneNumberForwardingUpdatedWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard PhoneNumberForwardingUpdatedWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment PhoneNumberForwardingUpdatedWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const PhoneNumberForwardingUpdatedWebhookEventDataEnvironmentTypeEnvironment PhoneNumberForwardingUpdatedWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const PhoneNumberForwardingUpdatedWebhookEventDataMethodCode PhoneNumberForwardingUpdatedWebhookEventDataMethod = "code"`

        - `const PhoneNumberForwardingUpdatedWebhookEventDataMethodSSO PhoneNumberForwardingUpdatedWebhookEventDataMethod = "sso"`

        - `const PhoneNumberForwardingUpdatedWebhookEventDataMethodGoogle PhoneNumberForwardingUpdatedWebhookEventDataMethod = "google"`

        - `const PhoneNumberForwardingUpdatedWebhookEventDataMethodApple PhoneNumberForwardingUpdatedWebhookEventDataMethod = "apple"`

        - `const PhoneNumberForwardingUpdatedWebhookEventDataMethodLinkedin PhoneNumberForwardingUpdatedWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember PhoneNumberForwardingUpdatedWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const PhoneNumberForwardingUpdatedWebhookEventDataTeamMemberRoleAdmin PhoneNumberForwardingUpdatedWebhookEventDataTeamMemberRole = "admin"`

          - `const PhoneNumberForwardingUpdatedWebhookEventDataTeamMemberRoleManager PhoneNumberForwardingUpdatedWebhookEventDataTeamMemberRole = "manager"`

          - `const PhoneNumberForwardingUpdatedWebhookEventDataTeamMemberRoleMember PhoneNumberForwardingUpdatedWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription PhoneNumberForwardingUpdatedWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType PhoneNumberForwardingUpdatedWebhookEventEventType`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeZeroDayRetentionUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "zero_day_retention.updated"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePhoneNumberForwardingUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeEnvironmentLineMoved PhoneNumberForwardingUpdatedWebhookEventEventType = "environment.line_moved"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeContactCardCreated PhoneNumberForwardingUpdatedWebhookEventEventType = "contact_card.created"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeContactCardUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "contact_card.updated"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeContactCardDeleted PhoneNumberForwardingUpdatedWebhookEventEventType = "contact_card.deleted"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeAPITokenCreated PhoneNumberForwardingUpdatedWebhookEventEventType = "api_token.created"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeAPITokenRenamed PhoneNumberForwardingUpdatedWebhookEventEventType = "api_token.renamed"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeAPITokenExpiryScheduled PhoneNumberForwardingUpdatedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeAPITokenExpired PhoneNumberForwardingUpdatedWebhookEventEventType = "api_token.expired"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeAPITokenActivated PhoneNumberForwardingUpdatedWebhookEventEventType = "api_token.activated"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeAPITokenDeleted PhoneNumberForwardingUpdatedWebhookEventEventType = "api_token.deleted"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeEnvironmentCreated PhoneNumberForwardingUpdatedWebhookEventEventType = "environment.created"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeEnvironmentRenamed PhoneNumberForwardingUpdatedWebhookEventEventType = "environment.renamed"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeEnvironmentDeleted PhoneNumberForwardingUpdatedWebhookEventEventType = "environment.deleted"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeWebhookSubscriptionCreated PhoneNumberForwardingUpdatedWebhookEventEventType = "webhook_subscription.created"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeWebhookSubscriptionDeleted PhoneNumberForwardingUpdatedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged PhoneNumberForwardingUpdatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeWebhookSubscriptionEnabled PhoneNumberForwardingUpdatedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeWebhookSubscriptionDisabled PhoneNumberForwardingUpdatedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet PhoneNumberForwardingUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared PhoneNumberForwardingUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeTeamMemberAdded PhoneNumberForwardingUpdatedWebhookEventEventType = "team_member.added"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeTeamMemberSignedIn PhoneNumberForwardingUpdatedWebhookEventEventType = "team_member.signed_in"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeTeamMemberSignedOut PhoneNumberForwardingUpdatedWebhookEventEventType = "team_member.signed_out"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeMessageSent PhoneNumberForwardingUpdatedWebhookEventEventType = "message.sent"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeMessageReceived PhoneNumberForwardingUpdatedWebhookEventEventType = "message.received"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeMessageRead PhoneNumberForwardingUpdatedWebhookEventEventType = "message.read"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeMessageDelivered PhoneNumberForwardingUpdatedWebhookEventEventType = "message.delivered"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeMessageFailed PhoneNumberForwardingUpdatedWebhookEventEventType = "message.failed"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeMessageEdited PhoneNumberForwardingUpdatedWebhookEventEventType = "message.edited"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeReactionAdded PhoneNumberForwardingUpdatedWebhookEventEventType = "reaction.added"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeReactionRemoved PhoneNumberForwardingUpdatedWebhookEventEventType = "reaction.removed"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePollReceived PhoneNumberForwardingUpdatedWebhookEventEventType = "poll.received"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePollFailed PhoneNumberForwardingUpdatedWebhookEventEventType = "poll.failed"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePollSent PhoneNumberForwardingUpdatedWebhookEventEventType = "poll.sent"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePollDelivered PhoneNumberForwardingUpdatedWebhookEventEventType = "poll.delivered"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePollRead PhoneNumberForwardingUpdatedWebhookEventEventType = "poll.read"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePollUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "poll.updated"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePollVoteAdded PhoneNumberForwardingUpdatedWebhookEventEventType = "poll.vote.added"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePollVoteRemoved PhoneNumberForwardingUpdatedWebhookEventEventType = "poll.vote.removed"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePollReactionAdded PhoneNumberForwardingUpdatedWebhookEventEventType = "poll.reaction.added"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeParticipantAdded PhoneNumberForwardingUpdatedWebhookEventEventType = "participant.added"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeParticipantRemoved PhoneNumberForwardingUpdatedWebhookEventEventType = "participant.removed"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeChatCreated PhoneNumberForwardingUpdatedWebhookEventEventType = "chat.created"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeChatGroupNameUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "chat.group_name_updated"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeChatGroupIconUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "chat.group_icon_updated"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeChatGroupNameUpdateFailed PhoneNumberForwardingUpdatedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeChatGroupIconUpdateFailed PhoneNumberForwardingUpdatedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeChatBackgroundUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "chat.background_updated"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeChatBackgroundUpdateFailed PhoneNumberForwardingUpdatedWebhookEventEventType = "chat.background_update_failed"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeChatTypingIndicatorStarted PhoneNumberForwardingUpdatedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeChatTypingIndicatorStopped PhoneNumberForwardingUpdatedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePhoneNumberStatusUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "phone_number.status_updated"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePhoneNumberAssigned PhoneNumberForwardingUpdatedWebhookEventEventType = "phone_number.assigned"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePhoneNumberReleased PhoneNumberForwardingUpdatedWebhookEventEventType = "phone_number.released"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePhoneNumberLineTypeUpdated PhoneNumberForwardingUpdatedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeContactCardReceived PhoneNumberForwardingUpdatedWebhookEventEventType = "contact_card.received"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeCallInitiated PhoneNumberForwardingUpdatedWebhookEventEventType = "call.initiated"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeCallRinging PhoneNumberForwardingUpdatedWebhookEventEventType = "call.ringing"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeCallAnswered PhoneNumberForwardingUpdatedWebhookEventEventType = "call.answered"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeCallEnded PhoneNumberForwardingUpdatedWebhookEventEventType = "call.ended"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeCallFailed PhoneNumberForwardingUpdatedWebhookEventEventType = "call.failed"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeCallDeclined PhoneNumberForwardingUpdatedWebhookEventEventType = "call.declined"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeCallNoAnswer PhoneNumberForwardingUpdatedWebhookEventEventType = "call.no_answer"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeLocationSharingStarted PhoneNumberForwardingUpdatedWebhookEventEventType = "location.sharing.started"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeLocationSharingStopped PhoneNumberForwardingUpdatedWebhookEventEventType = "location.sharing.stopped"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePaymentSucceeded PhoneNumberForwardingUpdatedWebhookEventEventType = "payment.succeeded"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePaymentCanceled PhoneNumberForwardingUpdatedWebhookEventEventType = "payment.canceled"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePaymentExpired PhoneNumberForwardingUpdatedWebhookEventEventType = "payment.expired"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePaymentDeclined PhoneNumberForwardingUpdatedWebhookEventEventType = "payment.declined"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypePaymentAuthorized PhoneNumberForwardingUpdatedWebhookEventEventType = "payment.authorized"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeConnectionCreated PhoneNumberForwardingUpdatedWebhookEventEventType = "connection.created"`

      - `const PhoneNumberForwardingUpdatedWebhookEventEventTypeConnectionRevoked PhoneNumberForwardingUpdatedWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type EnvironmentLineMovedWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data EnvironmentLineMovedWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor EnvironmentLineMovedWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const EnvironmentLineMovedWebhookEventDataActorTypeTeamMember EnvironmentLineMovedWebhookEventDataActorType = "team_member"`

          - `const EnvironmentLineMovedWebhookEventDataActorTypeAPI EnvironmentLineMovedWebhookEventDataActorType = "api"`

          - `const EnvironmentLineMovedWebhookEventDataActorTypeSystem EnvironmentLineMovedWebhookEventDataActorType = "system"`

          - `const EnvironmentLineMovedWebhookEventDataActorTypeUnknown EnvironmentLineMovedWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const EnvironmentLineMovedWebhookEventDataOriginDashboard EnvironmentLineMovedWebhookEventDataOrigin = "dashboard"`

        - `const EnvironmentLineMovedWebhookEventDataOriginAPI EnvironmentLineMovedWebhookEventDataOrigin = "api"`

        - `const EnvironmentLineMovedWebhookEventDataOriginLinq EnvironmentLineMovedWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken EnvironmentLineMovedWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change EnvironmentLineMovedWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName EnvironmentLineMovedWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL EnvironmentLineMovedWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName EnvironmentLineMovedWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard EnvironmentLineMovedWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment EnvironmentLineMovedWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const EnvironmentLineMovedWebhookEventDataEnvironmentTypeEnvironment EnvironmentLineMovedWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const EnvironmentLineMovedWebhookEventDataMethodCode EnvironmentLineMovedWebhookEventDataMethod = "code"`

        - `const EnvironmentLineMovedWebhookEventDataMethodSSO EnvironmentLineMovedWebhookEventDataMethod = "sso"`

        - `const EnvironmentLineMovedWebhookEventDataMethodGoogle EnvironmentLineMovedWebhookEventDataMethod = "google"`

        - `const EnvironmentLineMovedWebhookEventDataMethodApple EnvironmentLineMovedWebhookEventDataMethod = "apple"`

        - `const EnvironmentLineMovedWebhookEventDataMethodLinkedin EnvironmentLineMovedWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember EnvironmentLineMovedWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const EnvironmentLineMovedWebhookEventDataTeamMemberRoleAdmin EnvironmentLineMovedWebhookEventDataTeamMemberRole = "admin"`

          - `const EnvironmentLineMovedWebhookEventDataTeamMemberRoleManager EnvironmentLineMovedWebhookEventDataTeamMemberRole = "manager"`

          - `const EnvironmentLineMovedWebhookEventDataTeamMemberRoleMember EnvironmentLineMovedWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription EnvironmentLineMovedWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType EnvironmentLineMovedWebhookEventEventType`

      - `const EnvironmentLineMovedWebhookEventEventTypeZeroDayRetentionUpdated EnvironmentLineMovedWebhookEventEventType = "zero_day_retention.updated"`

      - `const EnvironmentLineMovedWebhookEventEventTypePhoneNumberForwardingUpdated EnvironmentLineMovedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const EnvironmentLineMovedWebhookEventEventTypeEnvironmentLineMoved EnvironmentLineMovedWebhookEventEventType = "environment.line_moved"`

      - `const EnvironmentLineMovedWebhookEventEventTypeContactCardCreated EnvironmentLineMovedWebhookEventEventType = "contact_card.created"`

      - `const EnvironmentLineMovedWebhookEventEventTypeContactCardUpdated EnvironmentLineMovedWebhookEventEventType = "contact_card.updated"`

      - `const EnvironmentLineMovedWebhookEventEventTypeContactCardDeleted EnvironmentLineMovedWebhookEventEventType = "contact_card.deleted"`

      - `const EnvironmentLineMovedWebhookEventEventTypeAPITokenCreated EnvironmentLineMovedWebhookEventEventType = "api_token.created"`

      - `const EnvironmentLineMovedWebhookEventEventTypeAPITokenRenamed EnvironmentLineMovedWebhookEventEventType = "api_token.renamed"`

      - `const EnvironmentLineMovedWebhookEventEventTypeAPITokenExpiryScheduled EnvironmentLineMovedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const EnvironmentLineMovedWebhookEventEventTypeAPITokenExpired EnvironmentLineMovedWebhookEventEventType = "api_token.expired"`

      - `const EnvironmentLineMovedWebhookEventEventTypeAPITokenActivated EnvironmentLineMovedWebhookEventEventType = "api_token.activated"`

      - `const EnvironmentLineMovedWebhookEventEventTypeAPITokenDeleted EnvironmentLineMovedWebhookEventEventType = "api_token.deleted"`

      - `const EnvironmentLineMovedWebhookEventEventTypeEnvironmentCreated EnvironmentLineMovedWebhookEventEventType = "environment.created"`

      - `const EnvironmentLineMovedWebhookEventEventTypeEnvironmentRenamed EnvironmentLineMovedWebhookEventEventType = "environment.renamed"`

      - `const EnvironmentLineMovedWebhookEventEventTypeEnvironmentDeleted EnvironmentLineMovedWebhookEventEventType = "environment.deleted"`

      - `const EnvironmentLineMovedWebhookEventEventTypeWebhookSubscriptionCreated EnvironmentLineMovedWebhookEventEventType = "webhook_subscription.created"`

      - `const EnvironmentLineMovedWebhookEventEventTypeWebhookSubscriptionDeleted EnvironmentLineMovedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const EnvironmentLineMovedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged EnvironmentLineMovedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const EnvironmentLineMovedWebhookEventEventTypeWebhookSubscriptionEnabled EnvironmentLineMovedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const EnvironmentLineMovedWebhookEventEventTypeWebhookSubscriptionDisabled EnvironmentLineMovedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const EnvironmentLineMovedWebhookEventEventTypeWebhookSubscriptionEventsUpdated EnvironmentLineMovedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const EnvironmentLineMovedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated EnvironmentLineMovedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const EnvironmentLineMovedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet EnvironmentLineMovedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const EnvironmentLineMovedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared EnvironmentLineMovedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const EnvironmentLineMovedWebhookEventEventTypeTeamMemberAdded EnvironmentLineMovedWebhookEventEventType = "team_member.added"`

      - `const EnvironmentLineMovedWebhookEventEventTypeTeamMemberSignedIn EnvironmentLineMovedWebhookEventEventType = "team_member.signed_in"`

      - `const EnvironmentLineMovedWebhookEventEventTypeTeamMemberSignedOut EnvironmentLineMovedWebhookEventEventType = "team_member.signed_out"`

      - `const EnvironmentLineMovedWebhookEventEventTypeMessageSent EnvironmentLineMovedWebhookEventEventType = "message.sent"`

      - `const EnvironmentLineMovedWebhookEventEventTypeMessageReceived EnvironmentLineMovedWebhookEventEventType = "message.received"`

      - `const EnvironmentLineMovedWebhookEventEventTypeMessageRead EnvironmentLineMovedWebhookEventEventType = "message.read"`

      - `const EnvironmentLineMovedWebhookEventEventTypeMessageDelivered EnvironmentLineMovedWebhookEventEventType = "message.delivered"`

      - `const EnvironmentLineMovedWebhookEventEventTypeMessageFailed EnvironmentLineMovedWebhookEventEventType = "message.failed"`

      - `const EnvironmentLineMovedWebhookEventEventTypeMessageEdited EnvironmentLineMovedWebhookEventEventType = "message.edited"`

      - `const EnvironmentLineMovedWebhookEventEventTypeReactionAdded EnvironmentLineMovedWebhookEventEventType = "reaction.added"`

      - `const EnvironmentLineMovedWebhookEventEventTypeReactionRemoved EnvironmentLineMovedWebhookEventEventType = "reaction.removed"`

      - `const EnvironmentLineMovedWebhookEventEventTypePollReceived EnvironmentLineMovedWebhookEventEventType = "poll.received"`

      - `const EnvironmentLineMovedWebhookEventEventTypePollFailed EnvironmentLineMovedWebhookEventEventType = "poll.failed"`

      - `const EnvironmentLineMovedWebhookEventEventTypePollSent EnvironmentLineMovedWebhookEventEventType = "poll.sent"`

      - `const EnvironmentLineMovedWebhookEventEventTypePollDelivered EnvironmentLineMovedWebhookEventEventType = "poll.delivered"`

      - `const EnvironmentLineMovedWebhookEventEventTypePollRead EnvironmentLineMovedWebhookEventEventType = "poll.read"`

      - `const EnvironmentLineMovedWebhookEventEventTypePollUpdated EnvironmentLineMovedWebhookEventEventType = "poll.updated"`

      - `const EnvironmentLineMovedWebhookEventEventTypePollVoteAdded EnvironmentLineMovedWebhookEventEventType = "poll.vote.added"`

      - `const EnvironmentLineMovedWebhookEventEventTypePollVoteRemoved EnvironmentLineMovedWebhookEventEventType = "poll.vote.removed"`

      - `const EnvironmentLineMovedWebhookEventEventTypePollReactionAdded EnvironmentLineMovedWebhookEventEventType = "poll.reaction.added"`

      - `const EnvironmentLineMovedWebhookEventEventTypeParticipantAdded EnvironmentLineMovedWebhookEventEventType = "participant.added"`

      - `const EnvironmentLineMovedWebhookEventEventTypeParticipantRemoved EnvironmentLineMovedWebhookEventEventType = "participant.removed"`

      - `const EnvironmentLineMovedWebhookEventEventTypeChatCreated EnvironmentLineMovedWebhookEventEventType = "chat.created"`

      - `const EnvironmentLineMovedWebhookEventEventTypeChatGroupNameUpdated EnvironmentLineMovedWebhookEventEventType = "chat.group_name_updated"`

      - `const EnvironmentLineMovedWebhookEventEventTypeChatGroupIconUpdated EnvironmentLineMovedWebhookEventEventType = "chat.group_icon_updated"`

      - `const EnvironmentLineMovedWebhookEventEventTypeChatGroupNameUpdateFailed EnvironmentLineMovedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const EnvironmentLineMovedWebhookEventEventTypeChatGroupIconUpdateFailed EnvironmentLineMovedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const EnvironmentLineMovedWebhookEventEventTypeChatBackgroundUpdated EnvironmentLineMovedWebhookEventEventType = "chat.background_updated"`

      - `const EnvironmentLineMovedWebhookEventEventTypeChatBackgroundUpdateFailed EnvironmentLineMovedWebhookEventEventType = "chat.background_update_failed"`

      - `const EnvironmentLineMovedWebhookEventEventTypeChatTypingIndicatorStarted EnvironmentLineMovedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const EnvironmentLineMovedWebhookEventEventTypeChatTypingIndicatorStopped EnvironmentLineMovedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const EnvironmentLineMovedWebhookEventEventTypePhoneNumberStatusUpdated EnvironmentLineMovedWebhookEventEventType = "phone_number.status_updated"`

      - `const EnvironmentLineMovedWebhookEventEventTypePhoneNumberAssigned EnvironmentLineMovedWebhookEventEventType = "phone_number.assigned"`

      - `const EnvironmentLineMovedWebhookEventEventTypePhoneNumberReleased EnvironmentLineMovedWebhookEventEventType = "phone_number.released"`

      - `const EnvironmentLineMovedWebhookEventEventTypePhoneNumberLineTypeUpdated EnvironmentLineMovedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const EnvironmentLineMovedWebhookEventEventTypeContactCardReceived EnvironmentLineMovedWebhookEventEventType = "contact_card.received"`

      - `const EnvironmentLineMovedWebhookEventEventTypeCallInitiated EnvironmentLineMovedWebhookEventEventType = "call.initiated"`

      - `const EnvironmentLineMovedWebhookEventEventTypeCallRinging EnvironmentLineMovedWebhookEventEventType = "call.ringing"`

      - `const EnvironmentLineMovedWebhookEventEventTypeCallAnswered EnvironmentLineMovedWebhookEventEventType = "call.answered"`

      - `const EnvironmentLineMovedWebhookEventEventTypeCallEnded EnvironmentLineMovedWebhookEventEventType = "call.ended"`

      - `const EnvironmentLineMovedWebhookEventEventTypeCallFailed EnvironmentLineMovedWebhookEventEventType = "call.failed"`

      - `const EnvironmentLineMovedWebhookEventEventTypeCallDeclined EnvironmentLineMovedWebhookEventEventType = "call.declined"`

      - `const EnvironmentLineMovedWebhookEventEventTypeCallNoAnswer EnvironmentLineMovedWebhookEventEventType = "call.no_answer"`

      - `const EnvironmentLineMovedWebhookEventEventTypeLocationSharingStarted EnvironmentLineMovedWebhookEventEventType = "location.sharing.started"`

      - `const EnvironmentLineMovedWebhookEventEventTypeLocationSharingStopped EnvironmentLineMovedWebhookEventEventType = "location.sharing.stopped"`

      - `const EnvironmentLineMovedWebhookEventEventTypePaymentSucceeded EnvironmentLineMovedWebhookEventEventType = "payment.succeeded"`

      - `const EnvironmentLineMovedWebhookEventEventTypePaymentCanceled EnvironmentLineMovedWebhookEventEventType = "payment.canceled"`

      - `const EnvironmentLineMovedWebhookEventEventTypePaymentExpired EnvironmentLineMovedWebhookEventEventType = "payment.expired"`

      - `const EnvironmentLineMovedWebhookEventEventTypePaymentDeclined EnvironmentLineMovedWebhookEventEventType = "payment.declined"`

      - `const EnvironmentLineMovedWebhookEventEventTypePaymentAuthorized EnvironmentLineMovedWebhookEventEventType = "payment.authorized"`

      - `const EnvironmentLineMovedWebhookEventEventTypeConnectionCreated EnvironmentLineMovedWebhookEventEventType = "connection.created"`

      - `const EnvironmentLineMovedWebhookEventEventTypeConnectionRevoked EnvironmentLineMovedWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type ContactCardCreatedWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ContactCardCreatedWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor ContactCardCreatedWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const ContactCardCreatedWebhookEventDataActorTypeTeamMember ContactCardCreatedWebhookEventDataActorType = "team_member"`

          - `const ContactCardCreatedWebhookEventDataActorTypeAPI ContactCardCreatedWebhookEventDataActorType = "api"`

          - `const ContactCardCreatedWebhookEventDataActorTypeSystem ContactCardCreatedWebhookEventDataActorType = "system"`

          - `const ContactCardCreatedWebhookEventDataActorTypeUnknown ContactCardCreatedWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const ContactCardCreatedWebhookEventDataOriginDashboard ContactCardCreatedWebhookEventDataOrigin = "dashboard"`

        - `const ContactCardCreatedWebhookEventDataOriginAPI ContactCardCreatedWebhookEventDataOrigin = "api"`

        - `const ContactCardCreatedWebhookEventDataOriginLinq ContactCardCreatedWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken ContactCardCreatedWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change ContactCardCreatedWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName ContactCardCreatedWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL ContactCardCreatedWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName ContactCardCreatedWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard ContactCardCreatedWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment ContactCardCreatedWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const ContactCardCreatedWebhookEventDataEnvironmentTypeEnvironment ContactCardCreatedWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const ContactCardCreatedWebhookEventDataMethodCode ContactCardCreatedWebhookEventDataMethod = "code"`

        - `const ContactCardCreatedWebhookEventDataMethodSSO ContactCardCreatedWebhookEventDataMethod = "sso"`

        - `const ContactCardCreatedWebhookEventDataMethodGoogle ContactCardCreatedWebhookEventDataMethod = "google"`

        - `const ContactCardCreatedWebhookEventDataMethodApple ContactCardCreatedWebhookEventDataMethod = "apple"`

        - `const ContactCardCreatedWebhookEventDataMethodLinkedin ContactCardCreatedWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember ContactCardCreatedWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const ContactCardCreatedWebhookEventDataTeamMemberRoleAdmin ContactCardCreatedWebhookEventDataTeamMemberRole = "admin"`

          - `const ContactCardCreatedWebhookEventDataTeamMemberRoleManager ContactCardCreatedWebhookEventDataTeamMemberRole = "manager"`

          - `const ContactCardCreatedWebhookEventDataTeamMemberRoleMember ContactCardCreatedWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription ContactCardCreatedWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType ContactCardCreatedWebhookEventEventType`

      - `const ContactCardCreatedWebhookEventEventTypeZeroDayRetentionUpdated ContactCardCreatedWebhookEventEventType = "zero_day_retention.updated"`

      - `const ContactCardCreatedWebhookEventEventTypePhoneNumberForwardingUpdated ContactCardCreatedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const ContactCardCreatedWebhookEventEventTypeEnvironmentLineMoved ContactCardCreatedWebhookEventEventType = "environment.line_moved"`

      - `const ContactCardCreatedWebhookEventEventTypeContactCardCreated ContactCardCreatedWebhookEventEventType = "contact_card.created"`

      - `const ContactCardCreatedWebhookEventEventTypeContactCardUpdated ContactCardCreatedWebhookEventEventType = "contact_card.updated"`

      - `const ContactCardCreatedWebhookEventEventTypeContactCardDeleted ContactCardCreatedWebhookEventEventType = "contact_card.deleted"`

      - `const ContactCardCreatedWebhookEventEventTypeAPITokenCreated ContactCardCreatedWebhookEventEventType = "api_token.created"`

      - `const ContactCardCreatedWebhookEventEventTypeAPITokenRenamed ContactCardCreatedWebhookEventEventType = "api_token.renamed"`

      - `const ContactCardCreatedWebhookEventEventTypeAPITokenExpiryScheduled ContactCardCreatedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const ContactCardCreatedWebhookEventEventTypeAPITokenExpired ContactCardCreatedWebhookEventEventType = "api_token.expired"`

      - `const ContactCardCreatedWebhookEventEventTypeAPITokenActivated ContactCardCreatedWebhookEventEventType = "api_token.activated"`

      - `const ContactCardCreatedWebhookEventEventTypeAPITokenDeleted ContactCardCreatedWebhookEventEventType = "api_token.deleted"`

      - `const ContactCardCreatedWebhookEventEventTypeEnvironmentCreated ContactCardCreatedWebhookEventEventType = "environment.created"`

      - `const ContactCardCreatedWebhookEventEventTypeEnvironmentRenamed ContactCardCreatedWebhookEventEventType = "environment.renamed"`

      - `const ContactCardCreatedWebhookEventEventTypeEnvironmentDeleted ContactCardCreatedWebhookEventEventType = "environment.deleted"`

      - `const ContactCardCreatedWebhookEventEventTypeWebhookSubscriptionCreated ContactCardCreatedWebhookEventEventType = "webhook_subscription.created"`

      - `const ContactCardCreatedWebhookEventEventTypeWebhookSubscriptionDeleted ContactCardCreatedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const ContactCardCreatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged ContactCardCreatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const ContactCardCreatedWebhookEventEventTypeWebhookSubscriptionEnabled ContactCardCreatedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const ContactCardCreatedWebhookEventEventTypeWebhookSubscriptionDisabled ContactCardCreatedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const ContactCardCreatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated ContactCardCreatedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const ContactCardCreatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated ContactCardCreatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const ContactCardCreatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet ContactCardCreatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const ContactCardCreatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared ContactCardCreatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const ContactCardCreatedWebhookEventEventTypeTeamMemberAdded ContactCardCreatedWebhookEventEventType = "team_member.added"`

      - `const ContactCardCreatedWebhookEventEventTypeTeamMemberSignedIn ContactCardCreatedWebhookEventEventType = "team_member.signed_in"`

      - `const ContactCardCreatedWebhookEventEventTypeTeamMemberSignedOut ContactCardCreatedWebhookEventEventType = "team_member.signed_out"`

      - `const ContactCardCreatedWebhookEventEventTypeMessageSent ContactCardCreatedWebhookEventEventType = "message.sent"`

      - `const ContactCardCreatedWebhookEventEventTypeMessageReceived ContactCardCreatedWebhookEventEventType = "message.received"`

      - `const ContactCardCreatedWebhookEventEventTypeMessageRead ContactCardCreatedWebhookEventEventType = "message.read"`

      - `const ContactCardCreatedWebhookEventEventTypeMessageDelivered ContactCardCreatedWebhookEventEventType = "message.delivered"`

      - `const ContactCardCreatedWebhookEventEventTypeMessageFailed ContactCardCreatedWebhookEventEventType = "message.failed"`

      - `const ContactCardCreatedWebhookEventEventTypeMessageEdited ContactCardCreatedWebhookEventEventType = "message.edited"`

      - `const ContactCardCreatedWebhookEventEventTypeReactionAdded ContactCardCreatedWebhookEventEventType = "reaction.added"`

      - `const ContactCardCreatedWebhookEventEventTypeReactionRemoved ContactCardCreatedWebhookEventEventType = "reaction.removed"`

      - `const ContactCardCreatedWebhookEventEventTypePollReceived ContactCardCreatedWebhookEventEventType = "poll.received"`

      - `const ContactCardCreatedWebhookEventEventTypePollFailed ContactCardCreatedWebhookEventEventType = "poll.failed"`

      - `const ContactCardCreatedWebhookEventEventTypePollSent ContactCardCreatedWebhookEventEventType = "poll.sent"`

      - `const ContactCardCreatedWebhookEventEventTypePollDelivered ContactCardCreatedWebhookEventEventType = "poll.delivered"`

      - `const ContactCardCreatedWebhookEventEventTypePollRead ContactCardCreatedWebhookEventEventType = "poll.read"`

      - `const ContactCardCreatedWebhookEventEventTypePollUpdated ContactCardCreatedWebhookEventEventType = "poll.updated"`

      - `const ContactCardCreatedWebhookEventEventTypePollVoteAdded ContactCardCreatedWebhookEventEventType = "poll.vote.added"`

      - `const ContactCardCreatedWebhookEventEventTypePollVoteRemoved ContactCardCreatedWebhookEventEventType = "poll.vote.removed"`

      - `const ContactCardCreatedWebhookEventEventTypePollReactionAdded ContactCardCreatedWebhookEventEventType = "poll.reaction.added"`

      - `const ContactCardCreatedWebhookEventEventTypeParticipantAdded ContactCardCreatedWebhookEventEventType = "participant.added"`

      - `const ContactCardCreatedWebhookEventEventTypeParticipantRemoved ContactCardCreatedWebhookEventEventType = "participant.removed"`

      - `const ContactCardCreatedWebhookEventEventTypeChatCreated ContactCardCreatedWebhookEventEventType = "chat.created"`

      - `const ContactCardCreatedWebhookEventEventTypeChatGroupNameUpdated ContactCardCreatedWebhookEventEventType = "chat.group_name_updated"`

      - `const ContactCardCreatedWebhookEventEventTypeChatGroupIconUpdated ContactCardCreatedWebhookEventEventType = "chat.group_icon_updated"`

      - `const ContactCardCreatedWebhookEventEventTypeChatGroupNameUpdateFailed ContactCardCreatedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const ContactCardCreatedWebhookEventEventTypeChatGroupIconUpdateFailed ContactCardCreatedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const ContactCardCreatedWebhookEventEventTypeChatBackgroundUpdated ContactCardCreatedWebhookEventEventType = "chat.background_updated"`

      - `const ContactCardCreatedWebhookEventEventTypeChatBackgroundUpdateFailed ContactCardCreatedWebhookEventEventType = "chat.background_update_failed"`

      - `const ContactCardCreatedWebhookEventEventTypeChatTypingIndicatorStarted ContactCardCreatedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const ContactCardCreatedWebhookEventEventTypeChatTypingIndicatorStopped ContactCardCreatedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const ContactCardCreatedWebhookEventEventTypePhoneNumberStatusUpdated ContactCardCreatedWebhookEventEventType = "phone_number.status_updated"`

      - `const ContactCardCreatedWebhookEventEventTypePhoneNumberAssigned ContactCardCreatedWebhookEventEventType = "phone_number.assigned"`

      - `const ContactCardCreatedWebhookEventEventTypePhoneNumberReleased ContactCardCreatedWebhookEventEventType = "phone_number.released"`

      - `const ContactCardCreatedWebhookEventEventTypePhoneNumberLineTypeUpdated ContactCardCreatedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const ContactCardCreatedWebhookEventEventTypeContactCardReceived ContactCardCreatedWebhookEventEventType = "contact_card.received"`

      - `const ContactCardCreatedWebhookEventEventTypeCallInitiated ContactCardCreatedWebhookEventEventType = "call.initiated"`

      - `const ContactCardCreatedWebhookEventEventTypeCallRinging ContactCardCreatedWebhookEventEventType = "call.ringing"`

      - `const ContactCardCreatedWebhookEventEventTypeCallAnswered ContactCardCreatedWebhookEventEventType = "call.answered"`

      - `const ContactCardCreatedWebhookEventEventTypeCallEnded ContactCardCreatedWebhookEventEventType = "call.ended"`

      - `const ContactCardCreatedWebhookEventEventTypeCallFailed ContactCardCreatedWebhookEventEventType = "call.failed"`

      - `const ContactCardCreatedWebhookEventEventTypeCallDeclined ContactCardCreatedWebhookEventEventType = "call.declined"`

      - `const ContactCardCreatedWebhookEventEventTypeCallNoAnswer ContactCardCreatedWebhookEventEventType = "call.no_answer"`

      - `const ContactCardCreatedWebhookEventEventTypeLocationSharingStarted ContactCardCreatedWebhookEventEventType = "location.sharing.started"`

      - `const ContactCardCreatedWebhookEventEventTypeLocationSharingStopped ContactCardCreatedWebhookEventEventType = "location.sharing.stopped"`

      - `const ContactCardCreatedWebhookEventEventTypePaymentSucceeded ContactCardCreatedWebhookEventEventType = "payment.succeeded"`

      - `const ContactCardCreatedWebhookEventEventTypePaymentCanceled ContactCardCreatedWebhookEventEventType = "payment.canceled"`

      - `const ContactCardCreatedWebhookEventEventTypePaymentExpired ContactCardCreatedWebhookEventEventType = "payment.expired"`

      - `const ContactCardCreatedWebhookEventEventTypePaymentDeclined ContactCardCreatedWebhookEventEventType = "payment.declined"`

      - `const ContactCardCreatedWebhookEventEventTypePaymentAuthorized ContactCardCreatedWebhookEventEventType = "payment.authorized"`

      - `const ContactCardCreatedWebhookEventEventTypeConnectionCreated ContactCardCreatedWebhookEventEventType = "connection.created"`

      - `const ContactCardCreatedWebhookEventEventTypeConnectionRevoked ContactCardCreatedWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type ContactCardUpdatedWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ContactCardUpdatedWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor ContactCardUpdatedWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const ContactCardUpdatedWebhookEventDataActorTypeTeamMember ContactCardUpdatedWebhookEventDataActorType = "team_member"`

          - `const ContactCardUpdatedWebhookEventDataActorTypeAPI ContactCardUpdatedWebhookEventDataActorType = "api"`

          - `const ContactCardUpdatedWebhookEventDataActorTypeSystem ContactCardUpdatedWebhookEventDataActorType = "system"`

          - `const ContactCardUpdatedWebhookEventDataActorTypeUnknown ContactCardUpdatedWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const ContactCardUpdatedWebhookEventDataOriginDashboard ContactCardUpdatedWebhookEventDataOrigin = "dashboard"`

        - `const ContactCardUpdatedWebhookEventDataOriginAPI ContactCardUpdatedWebhookEventDataOrigin = "api"`

        - `const ContactCardUpdatedWebhookEventDataOriginLinq ContactCardUpdatedWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken ContactCardUpdatedWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change ContactCardUpdatedWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName ContactCardUpdatedWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL ContactCardUpdatedWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName ContactCardUpdatedWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard ContactCardUpdatedWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment ContactCardUpdatedWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const ContactCardUpdatedWebhookEventDataEnvironmentTypeEnvironment ContactCardUpdatedWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const ContactCardUpdatedWebhookEventDataMethodCode ContactCardUpdatedWebhookEventDataMethod = "code"`

        - `const ContactCardUpdatedWebhookEventDataMethodSSO ContactCardUpdatedWebhookEventDataMethod = "sso"`

        - `const ContactCardUpdatedWebhookEventDataMethodGoogle ContactCardUpdatedWebhookEventDataMethod = "google"`

        - `const ContactCardUpdatedWebhookEventDataMethodApple ContactCardUpdatedWebhookEventDataMethod = "apple"`

        - `const ContactCardUpdatedWebhookEventDataMethodLinkedin ContactCardUpdatedWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember ContactCardUpdatedWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const ContactCardUpdatedWebhookEventDataTeamMemberRoleAdmin ContactCardUpdatedWebhookEventDataTeamMemberRole = "admin"`

          - `const ContactCardUpdatedWebhookEventDataTeamMemberRoleManager ContactCardUpdatedWebhookEventDataTeamMemberRole = "manager"`

          - `const ContactCardUpdatedWebhookEventDataTeamMemberRoleMember ContactCardUpdatedWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription ContactCardUpdatedWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType ContactCardUpdatedWebhookEventEventType`

      - `const ContactCardUpdatedWebhookEventEventTypeZeroDayRetentionUpdated ContactCardUpdatedWebhookEventEventType = "zero_day_retention.updated"`

      - `const ContactCardUpdatedWebhookEventEventTypePhoneNumberForwardingUpdated ContactCardUpdatedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const ContactCardUpdatedWebhookEventEventTypeEnvironmentLineMoved ContactCardUpdatedWebhookEventEventType = "environment.line_moved"`

      - `const ContactCardUpdatedWebhookEventEventTypeContactCardCreated ContactCardUpdatedWebhookEventEventType = "contact_card.created"`

      - `const ContactCardUpdatedWebhookEventEventTypeContactCardUpdated ContactCardUpdatedWebhookEventEventType = "contact_card.updated"`

      - `const ContactCardUpdatedWebhookEventEventTypeContactCardDeleted ContactCardUpdatedWebhookEventEventType = "contact_card.deleted"`

      - `const ContactCardUpdatedWebhookEventEventTypeAPITokenCreated ContactCardUpdatedWebhookEventEventType = "api_token.created"`

      - `const ContactCardUpdatedWebhookEventEventTypeAPITokenRenamed ContactCardUpdatedWebhookEventEventType = "api_token.renamed"`

      - `const ContactCardUpdatedWebhookEventEventTypeAPITokenExpiryScheduled ContactCardUpdatedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const ContactCardUpdatedWebhookEventEventTypeAPITokenExpired ContactCardUpdatedWebhookEventEventType = "api_token.expired"`

      - `const ContactCardUpdatedWebhookEventEventTypeAPITokenActivated ContactCardUpdatedWebhookEventEventType = "api_token.activated"`

      - `const ContactCardUpdatedWebhookEventEventTypeAPITokenDeleted ContactCardUpdatedWebhookEventEventType = "api_token.deleted"`

      - `const ContactCardUpdatedWebhookEventEventTypeEnvironmentCreated ContactCardUpdatedWebhookEventEventType = "environment.created"`

      - `const ContactCardUpdatedWebhookEventEventTypeEnvironmentRenamed ContactCardUpdatedWebhookEventEventType = "environment.renamed"`

      - `const ContactCardUpdatedWebhookEventEventTypeEnvironmentDeleted ContactCardUpdatedWebhookEventEventType = "environment.deleted"`

      - `const ContactCardUpdatedWebhookEventEventTypeWebhookSubscriptionCreated ContactCardUpdatedWebhookEventEventType = "webhook_subscription.created"`

      - `const ContactCardUpdatedWebhookEventEventTypeWebhookSubscriptionDeleted ContactCardUpdatedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const ContactCardUpdatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged ContactCardUpdatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const ContactCardUpdatedWebhookEventEventTypeWebhookSubscriptionEnabled ContactCardUpdatedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const ContactCardUpdatedWebhookEventEventTypeWebhookSubscriptionDisabled ContactCardUpdatedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const ContactCardUpdatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated ContactCardUpdatedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const ContactCardUpdatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated ContactCardUpdatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const ContactCardUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet ContactCardUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const ContactCardUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared ContactCardUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const ContactCardUpdatedWebhookEventEventTypeTeamMemberAdded ContactCardUpdatedWebhookEventEventType = "team_member.added"`

      - `const ContactCardUpdatedWebhookEventEventTypeTeamMemberSignedIn ContactCardUpdatedWebhookEventEventType = "team_member.signed_in"`

      - `const ContactCardUpdatedWebhookEventEventTypeTeamMemberSignedOut ContactCardUpdatedWebhookEventEventType = "team_member.signed_out"`

      - `const ContactCardUpdatedWebhookEventEventTypeMessageSent ContactCardUpdatedWebhookEventEventType = "message.sent"`

      - `const ContactCardUpdatedWebhookEventEventTypeMessageReceived ContactCardUpdatedWebhookEventEventType = "message.received"`

      - `const ContactCardUpdatedWebhookEventEventTypeMessageRead ContactCardUpdatedWebhookEventEventType = "message.read"`

      - `const ContactCardUpdatedWebhookEventEventTypeMessageDelivered ContactCardUpdatedWebhookEventEventType = "message.delivered"`

      - `const ContactCardUpdatedWebhookEventEventTypeMessageFailed ContactCardUpdatedWebhookEventEventType = "message.failed"`

      - `const ContactCardUpdatedWebhookEventEventTypeMessageEdited ContactCardUpdatedWebhookEventEventType = "message.edited"`

      - `const ContactCardUpdatedWebhookEventEventTypeReactionAdded ContactCardUpdatedWebhookEventEventType = "reaction.added"`

      - `const ContactCardUpdatedWebhookEventEventTypeReactionRemoved ContactCardUpdatedWebhookEventEventType = "reaction.removed"`

      - `const ContactCardUpdatedWebhookEventEventTypePollReceived ContactCardUpdatedWebhookEventEventType = "poll.received"`

      - `const ContactCardUpdatedWebhookEventEventTypePollFailed ContactCardUpdatedWebhookEventEventType = "poll.failed"`

      - `const ContactCardUpdatedWebhookEventEventTypePollSent ContactCardUpdatedWebhookEventEventType = "poll.sent"`

      - `const ContactCardUpdatedWebhookEventEventTypePollDelivered ContactCardUpdatedWebhookEventEventType = "poll.delivered"`

      - `const ContactCardUpdatedWebhookEventEventTypePollRead ContactCardUpdatedWebhookEventEventType = "poll.read"`

      - `const ContactCardUpdatedWebhookEventEventTypePollUpdated ContactCardUpdatedWebhookEventEventType = "poll.updated"`

      - `const ContactCardUpdatedWebhookEventEventTypePollVoteAdded ContactCardUpdatedWebhookEventEventType = "poll.vote.added"`

      - `const ContactCardUpdatedWebhookEventEventTypePollVoteRemoved ContactCardUpdatedWebhookEventEventType = "poll.vote.removed"`

      - `const ContactCardUpdatedWebhookEventEventTypePollReactionAdded ContactCardUpdatedWebhookEventEventType = "poll.reaction.added"`

      - `const ContactCardUpdatedWebhookEventEventTypeParticipantAdded ContactCardUpdatedWebhookEventEventType = "participant.added"`

      - `const ContactCardUpdatedWebhookEventEventTypeParticipantRemoved ContactCardUpdatedWebhookEventEventType = "participant.removed"`

      - `const ContactCardUpdatedWebhookEventEventTypeChatCreated ContactCardUpdatedWebhookEventEventType = "chat.created"`

      - `const ContactCardUpdatedWebhookEventEventTypeChatGroupNameUpdated ContactCardUpdatedWebhookEventEventType = "chat.group_name_updated"`

      - `const ContactCardUpdatedWebhookEventEventTypeChatGroupIconUpdated ContactCardUpdatedWebhookEventEventType = "chat.group_icon_updated"`

      - `const ContactCardUpdatedWebhookEventEventTypeChatGroupNameUpdateFailed ContactCardUpdatedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const ContactCardUpdatedWebhookEventEventTypeChatGroupIconUpdateFailed ContactCardUpdatedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const ContactCardUpdatedWebhookEventEventTypeChatBackgroundUpdated ContactCardUpdatedWebhookEventEventType = "chat.background_updated"`

      - `const ContactCardUpdatedWebhookEventEventTypeChatBackgroundUpdateFailed ContactCardUpdatedWebhookEventEventType = "chat.background_update_failed"`

      - `const ContactCardUpdatedWebhookEventEventTypeChatTypingIndicatorStarted ContactCardUpdatedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const ContactCardUpdatedWebhookEventEventTypeChatTypingIndicatorStopped ContactCardUpdatedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const ContactCardUpdatedWebhookEventEventTypePhoneNumberStatusUpdated ContactCardUpdatedWebhookEventEventType = "phone_number.status_updated"`

      - `const ContactCardUpdatedWebhookEventEventTypePhoneNumberAssigned ContactCardUpdatedWebhookEventEventType = "phone_number.assigned"`

      - `const ContactCardUpdatedWebhookEventEventTypePhoneNumberReleased ContactCardUpdatedWebhookEventEventType = "phone_number.released"`

      - `const ContactCardUpdatedWebhookEventEventTypePhoneNumberLineTypeUpdated ContactCardUpdatedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const ContactCardUpdatedWebhookEventEventTypeContactCardReceived ContactCardUpdatedWebhookEventEventType = "contact_card.received"`

      - `const ContactCardUpdatedWebhookEventEventTypeCallInitiated ContactCardUpdatedWebhookEventEventType = "call.initiated"`

      - `const ContactCardUpdatedWebhookEventEventTypeCallRinging ContactCardUpdatedWebhookEventEventType = "call.ringing"`

      - `const ContactCardUpdatedWebhookEventEventTypeCallAnswered ContactCardUpdatedWebhookEventEventType = "call.answered"`

      - `const ContactCardUpdatedWebhookEventEventTypeCallEnded ContactCardUpdatedWebhookEventEventType = "call.ended"`

      - `const ContactCardUpdatedWebhookEventEventTypeCallFailed ContactCardUpdatedWebhookEventEventType = "call.failed"`

      - `const ContactCardUpdatedWebhookEventEventTypeCallDeclined ContactCardUpdatedWebhookEventEventType = "call.declined"`

      - `const ContactCardUpdatedWebhookEventEventTypeCallNoAnswer ContactCardUpdatedWebhookEventEventType = "call.no_answer"`

      - `const ContactCardUpdatedWebhookEventEventTypeLocationSharingStarted ContactCardUpdatedWebhookEventEventType = "location.sharing.started"`

      - `const ContactCardUpdatedWebhookEventEventTypeLocationSharingStopped ContactCardUpdatedWebhookEventEventType = "location.sharing.stopped"`

      - `const ContactCardUpdatedWebhookEventEventTypePaymentSucceeded ContactCardUpdatedWebhookEventEventType = "payment.succeeded"`

      - `const ContactCardUpdatedWebhookEventEventTypePaymentCanceled ContactCardUpdatedWebhookEventEventType = "payment.canceled"`

      - `const ContactCardUpdatedWebhookEventEventTypePaymentExpired ContactCardUpdatedWebhookEventEventType = "payment.expired"`

      - `const ContactCardUpdatedWebhookEventEventTypePaymentDeclined ContactCardUpdatedWebhookEventEventType = "payment.declined"`

      - `const ContactCardUpdatedWebhookEventEventTypePaymentAuthorized ContactCardUpdatedWebhookEventEventType = "payment.authorized"`

      - `const ContactCardUpdatedWebhookEventEventTypeConnectionCreated ContactCardUpdatedWebhookEventEventType = "connection.created"`

      - `const ContactCardUpdatedWebhookEventEventTypeConnectionRevoked ContactCardUpdatedWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type ContactCardDeletedWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data ContactCardDeletedWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor ContactCardDeletedWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const ContactCardDeletedWebhookEventDataActorTypeTeamMember ContactCardDeletedWebhookEventDataActorType = "team_member"`

          - `const ContactCardDeletedWebhookEventDataActorTypeAPI ContactCardDeletedWebhookEventDataActorType = "api"`

          - `const ContactCardDeletedWebhookEventDataActorTypeSystem ContactCardDeletedWebhookEventDataActorType = "system"`

          - `const ContactCardDeletedWebhookEventDataActorTypeUnknown ContactCardDeletedWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const ContactCardDeletedWebhookEventDataOriginDashboard ContactCardDeletedWebhookEventDataOrigin = "dashboard"`

        - `const ContactCardDeletedWebhookEventDataOriginAPI ContactCardDeletedWebhookEventDataOrigin = "api"`

        - `const ContactCardDeletedWebhookEventDataOriginLinq ContactCardDeletedWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken ContactCardDeletedWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change ContactCardDeletedWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName ContactCardDeletedWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL ContactCardDeletedWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName ContactCardDeletedWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard ContactCardDeletedWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment ContactCardDeletedWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const ContactCardDeletedWebhookEventDataEnvironmentTypeEnvironment ContactCardDeletedWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const ContactCardDeletedWebhookEventDataMethodCode ContactCardDeletedWebhookEventDataMethod = "code"`

        - `const ContactCardDeletedWebhookEventDataMethodSSO ContactCardDeletedWebhookEventDataMethod = "sso"`

        - `const ContactCardDeletedWebhookEventDataMethodGoogle ContactCardDeletedWebhookEventDataMethod = "google"`

        - `const ContactCardDeletedWebhookEventDataMethodApple ContactCardDeletedWebhookEventDataMethod = "apple"`

        - `const ContactCardDeletedWebhookEventDataMethodLinkedin ContactCardDeletedWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember ContactCardDeletedWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const ContactCardDeletedWebhookEventDataTeamMemberRoleAdmin ContactCardDeletedWebhookEventDataTeamMemberRole = "admin"`

          - `const ContactCardDeletedWebhookEventDataTeamMemberRoleManager ContactCardDeletedWebhookEventDataTeamMemberRole = "manager"`

          - `const ContactCardDeletedWebhookEventDataTeamMemberRoleMember ContactCardDeletedWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription ContactCardDeletedWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType ContactCardDeletedWebhookEventEventType`

      - `const ContactCardDeletedWebhookEventEventTypeZeroDayRetentionUpdated ContactCardDeletedWebhookEventEventType = "zero_day_retention.updated"`

      - `const ContactCardDeletedWebhookEventEventTypePhoneNumberForwardingUpdated ContactCardDeletedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const ContactCardDeletedWebhookEventEventTypeEnvironmentLineMoved ContactCardDeletedWebhookEventEventType = "environment.line_moved"`

      - `const ContactCardDeletedWebhookEventEventTypeContactCardCreated ContactCardDeletedWebhookEventEventType = "contact_card.created"`

      - `const ContactCardDeletedWebhookEventEventTypeContactCardUpdated ContactCardDeletedWebhookEventEventType = "contact_card.updated"`

      - `const ContactCardDeletedWebhookEventEventTypeContactCardDeleted ContactCardDeletedWebhookEventEventType = "contact_card.deleted"`

      - `const ContactCardDeletedWebhookEventEventTypeAPITokenCreated ContactCardDeletedWebhookEventEventType = "api_token.created"`

      - `const ContactCardDeletedWebhookEventEventTypeAPITokenRenamed ContactCardDeletedWebhookEventEventType = "api_token.renamed"`

      - `const ContactCardDeletedWebhookEventEventTypeAPITokenExpiryScheduled ContactCardDeletedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const ContactCardDeletedWebhookEventEventTypeAPITokenExpired ContactCardDeletedWebhookEventEventType = "api_token.expired"`

      - `const ContactCardDeletedWebhookEventEventTypeAPITokenActivated ContactCardDeletedWebhookEventEventType = "api_token.activated"`

      - `const ContactCardDeletedWebhookEventEventTypeAPITokenDeleted ContactCardDeletedWebhookEventEventType = "api_token.deleted"`

      - `const ContactCardDeletedWebhookEventEventTypeEnvironmentCreated ContactCardDeletedWebhookEventEventType = "environment.created"`

      - `const ContactCardDeletedWebhookEventEventTypeEnvironmentRenamed ContactCardDeletedWebhookEventEventType = "environment.renamed"`

      - `const ContactCardDeletedWebhookEventEventTypeEnvironmentDeleted ContactCardDeletedWebhookEventEventType = "environment.deleted"`

      - `const ContactCardDeletedWebhookEventEventTypeWebhookSubscriptionCreated ContactCardDeletedWebhookEventEventType = "webhook_subscription.created"`

      - `const ContactCardDeletedWebhookEventEventTypeWebhookSubscriptionDeleted ContactCardDeletedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const ContactCardDeletedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged ContactCardDeletedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const ContactCardDeletedWebhookEventEventTypeWebhookSubscriptionEnabled ContactCardDeletedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const ContactCardDeletedWebhookEventEventTypeWebhookSubscriptionDisabled ContactCardDeletedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const ContactCardDeletedWebhookEventEventTypeWebhookSubscriptionEventsUpdated ContactCardDeletedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const ContactCardDeletedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated ContactCardDeletedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const ContactCardDeletedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet ContactCardDeletedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const ContactCardDeletedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared ContactCardDeletedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const ContactCardDeletedWebhookEventEventTypeTeamMemberAdded ContactCardDeletedWebhookEventEventType = "team_member.added"`

      - `const ContactCardDeletedWebhookEventEventTypeTeamMemberSignedIn ContactCardDeletedWebhookEventEventType = "team_member.signed_in"`

      - `const ContactCardDeletedWebhookEventEventTypeTeamMemberSignedOut ContactCardDeletedWebhookEventEventType = "team_member.signed_out"`

      - `const ContactCardDeletedWebhookEventEventTypeMessageSent ContactCardDeletedWebhookEventEventType = "message.sent"`

      - `const ContactCardDeletedWebhookEventEventTypeMessageReceived ContactCardDeletedWebhookEventEventType = "message.received"`

      - `const ContactCardDeletedWebhookEventEventTypeMessageRead ContactCardDeletedWebhookEventEventType = "message.read"`

      - `const ContactCardDeletedWebhookEventEventTypeMessageDelivered ContactCardDeletedWebhookEventEventType = "message.delivered"`

      - `const ContactCardDeletedWebhookEventEventTypeMessageFailed ContactCardDeletedWebhookEventEventType = "message.failed"`

      - `const ContactCardDeletedWebhookEventEventTypeMessageEdited ContactCardDeletedWebhookEventEventType = "message.edited"`

      - `const ContactCardDeletedWebhookEventEventTypeReactionAdded ContactCardDeletedWebhookEventEventType = "reaction.added"`

      - `const ContactCardDeletedWebhookEventEventTypeReactionRemoved ContactCardDeletedWebhookEventEventType = "reaction.removed"`

      - `const ContactCardDeletedWebhookEventEventTypePollReceived ContactCardDeletedWebhookEventEventType = "poll.received"`

      - `const ContactCardDeletedWebhookEventEventTypePollFailed ContactCardDeletedWebhookEventEventType = "poll.failed"`

      - `const ContactCardDeletedWebhookEventEventTypePollSent ContactCardDeletedWebhookEventEventType = "poll.sent"`

      - `const ContactCardDeletedWebhookEventEventTypePollDelivered ContactCardDeletedWebhookEventEventType = "poll.delivered"`

      - `const ContactCardDeletedWebhookEventEventTypePollRead ContactCardDeletedWebhookEventEventType = "poll.read"`

      - `const ContactCardDeletedWebhookEventEventTypePollUpdated ContactCardDeletedWebhookEventEventType = "poll.updated"`

      - `const ContactCardDeletedWebhookEventEventTypePollVoteAdded ContactCardDeletedWebhookEventEventType = "poll.vote.added"`

      - `const ContactCardDeletedWebhookEventEventTypePollVoteRemoved ContactCardDeletedWebhookEventEventType = "poll.vote.removed"`

      - `const ContactCardDeletedWebhookEventEventTypePollReactionAdded ContactCardDeletedWebhookEventEventType = "poll.reaction.added"`

      - `const ContactCardDeletedWebhookEventEventTypeParticipantAdded ContactCardDeletedWebhookEventEventType = "participant.added"`

      - `const ContactCardDeletedWebhookEventEventTypeParticipantRemoved ContactCardDeletedWebhookEventEventType = "participant.removed"`

      - `const ContactCardDeletedWebhookEventEventTypeChatCreated ContactCardDeletedWebhookEventEventType = "chat.created"`

      - `const ContactCardDeletedWebhookEventEventTypeChatGroupNameUpdated ContactCardDeletedWebhookEventEventType = "chat.group_name_updated"`

      - `const ContactCardDeletedWebhookEventEventTypeChatGroupIconUpdated ContactCardDeletedWebhookEventEventType = "chat.group_icon_updated"`

      - `const ContactCardDeletedWebhookEventEventTypeChatGroupNameUpdateFailed ContactCardDeletedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const ContactCardDeletedWebhookEventEventTypeChatGroupIconUpdateFailed ContactCardDeletedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const ContactCardDeletedWebhookEventEventTypeChatBackgroundUpdated ContactCardDeletedWebhookEventEventType = "chat.background_updated"`

      - `const ContactCardDeletedWebhookEventEventTypeChatBackgroundUpdateFailed ContactCardDeletedWebhookEventEventType = "chat.background_update_failed"`

      - `const ContactCardDeletedWebhookEventEventTypeChatTypingIndicatorStarted ContactCardDeletedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const ContactCardDeletedWebhookEventEventTypeChatTypingIndicatorStopped ContactCardDeletedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const ContactCardDeletedWebhookEventEventTypePhoneNumberStatusUpdated ContactCardDeletedWebhookEventEventType = "phone_number.status_updated"`

      - `const ContactCardDeletedWebhookEventEventTypePhoneNumberAssigned ContactCardDeletedWebhookEventEventType = "phone_number.assigned"`

      - `const ContactCardDeletedWebhookEventEventTypePhoneNumberReleased ContactCardDeletedWebhookEventEventType = "phone_number.released"`

      - `const ContactCardDeletedWebhookEventEventTypePhoneNumberLineTypeUpdated ContactCardDeletedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const ContactCardDeletedWebhookEventEventTypeContactCardReceived ContactCardDeletedWebhookEventEventType = "contact_card.received"`

      - `const ContactCardDeletedWebhookEventEventTypeCallInitiated ContactCardDeletedWebhookEventEventType = "call.initiated"`

      - `const ContactCardDeletedWebhookEventEventTypeCallRinging ContactCardDeletedWebhookEventEventType = "call.ringing"`

      - `const ContactCardDeletedWebhookEventEventTypeCallAnswered ContactCardDeletedWebhookEventEventType = "call.answered"`

      - `const ContactCardDeletedWebhookEventEventTypeCallEnded ContactCardDeletedWebhookEventEventType = "call.ended"`

      - `const ContactCardDeletedWebhookEventEventTypeCallFailed ContactCardDeletedWebhookEventEventType = "call.failed"`

      - `const ContactCardDeletedWebhookEventEventTypeCallDeclined ContactCardDeletedWebhookEventEventType = "call.declined"`

      - `const ContactCardDeletedWebhookEventEventTypeCallNoAnswer ContactCardDeletedWebhookEventEventType = "call.no_answer"`

      - `const ContactCardDeletedWebhookEventEventTypeLocationSharingStarted ContactCardDeletedWebhookEventEventType = "location.sharing.started"`

      - `const ContactCardDeletedWebhookEventEventTypeLocationSharingStopped ContactCardDeletedWebhookEventEventType = "location.sharing.stopped"`

      - `const ContactCardDeletedWebhookEventEventTypePaymentSucceeded ContactCardDeletedWebhookEventEventType = "payment.succeeded"`

      - `const ContactCardDeletedWebhookEventEventTypePaymentCanceled ContactCardDeletedWebhookEventEventType = "payment.canceled"`

      - `const ContactCardDeletedWebhookEventEventTypePaymentExpired ContactCardDeletedWebhookEventEventType = "payment.expired"`

      - `const ContactCardDeletedWebhookEventEventTypePaymentDeclined ContactCardDeletedWebhookEventEventType = "payment.declined"`

      - `const ContactCardDeletedWebhookEventEventTypePaymentAuthorized ContactCardDeletedWebhookEventEventType = "payment.authorized"`

      - `const ContactCardDeletedWebhookEventEventTypeConnectionCreated ContactCardDeletedWebhookEventEventType = "connection.created"`

      - `const ContactCardDeletedWebhookEventEventTypeConnectionRevoked ContactCardDeletedWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type APITokenCreatedWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data APITokenCreatedWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor APITokenCreatedWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const APITokenCreatedWebhookEventDataActorTypeTeamMember APITokenCreatedWebhookEventDataActorType = "team_member"`

          - `const APITokenCreatedWebhookEventDataActorTypeAPI APITokenCreatedWebhookEventDataActorType = "api"`

          - `const APITokenCreatedWebhookEventDataActorTypeSystem APITokenCreatedWebhookEventDataActorType = "system"`

          - `const APITokenCreatedWebhookEventDataActorTypeUnknown APITokenCreatedWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const APITokenCreatedWebhookEventDataOriginDashboard APITokenCreatedWebhookEventDataOrigin = "dashboard"`

        - `const APITokenCreatedWebhookEventDataOriginAPI APITokenCreatedWebhookEventDataOrigin = "api"`

        - `const APITokenCreatedWebhookEventDataOriginLinq APITokenCreatedWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken APITokenCreatedWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change APITokenCreatedWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName APITokenCreatedWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL APITokenCreatedWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName APITokenCreatedWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard APITokenCreatedWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment APITokenCreatedWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const APITokenCreatedWebhookEventDataEnvironmentTypeEnvironment APITokenCreatedWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const APITokenCreatedWebhookEventDataMethodCode APITokenCreatedWebhookEventDataMethod = "code"`

        - `const APITokenCreatedWebhookEventDataMethodSSO APITokenCreatedWebhookEventDataMethod = "sso"`

        - `const APITokenCreatedWebhookEventDataMethodGoogle APITokenCreatedWebhookEventDataMethod = "google"`

        - `const APITokenCreatedWebhookEventDataMethodApple APITokenCreatedWebhookEventDataMethod = "apple"`

        - `const APITokenCreatedWebhookEventDataMethodLinkedin APITokenCreatedWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember APITokenCreatedWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const APITokenCreatedWebhookEventDataTeamMemberRoleAdmin APITokenCreatedWebhookEventDataTeamMemberRole = "admin"`

          - `const APITokenCreatedWebhookEventDataTeamMemberRoleManager APITokenCreatedWebhookEventDataTeamMemberRole = "manager"`

          - `const APITokenCreatedWebhookEventDataTeamMemberRoleMember APITokenCreatedWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription APITokenCreatedWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType APITokenCreatedWebhookEventEventType`

      - `const APITokenCreatedWebhookEventEventTypeZeroDayRetentionUpdated APITokenCreatedWebhookEventEventType = "zero_day_retention.updated"`

      - `const APITokenCreatedWebhookEventEventTypePhoneNumberForwardingUpdated APITokenCreatedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const APITokenCreatedWebhookEventEventTypeEnvironmentLineMoved APITokenCreatedWebhookEventEventType = "environment.line_moved"`

      - `const APITokenCreatedWebhookEventEventTypeContactCardCreated APITokenCreatedWebhookEventEventType = "contact_card.created"`

      - `const APITokenCreatedWebhookEventEventTypeContactCardUpdated APITokenCreatedWebhookEventEventType = "contact_card.updated"`

      - `const APITokenCreatedWebhookEventEventTypeContactCardDeleted APITokenCreatedWebhookEventEventType = "contact_card.deleted"`

      - `const APITokenCreatedWebhookEventEventTypeAPITokenCreated APITokenCreatedWebhookEventEventType = "api_token.created"`

      - `const APITokenCreatedWebhookEventEventTypeAPITokenRenamed APITokenCreatedWebhookEventEventType = "api_token.renamed"`

      - `const APITokenCreatedWebhookEventEventTypeAPITokenExpiryScheduled APITokenCreatedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const APITokenCreatedWebhookEventEventTypeAPITokenExpired APITokenCreatedWebhookEventEventType = "api_token.expired"`

      - `const APITokenCreatedWebhookEventEventTypeAPITokenActivated APITokenCreatedWebhookEventEventType = "api_token.activated"`

      - `const APITokenCreatedWebhookEventEventTypeAPITokenDeleted APITokenCreatedWebhookEventEventType = "api_token.deleted"`

      - `const APITokenCreatedWebhookEventEventTypeEnvironmentCreated APITokenCreatedWebhookEventEventType = "environment.created"`

      - `const APITokenCreatedWebhookEventEventTypeEnvironmentRenamed APITokenCreatedWebhookEventEventType = "environment.renamed"`

      - `const APITokenCreatedWebhookEventEventTypeEnvironmentDeleted APITokenCreatedWebhookEventEventType = "environment.deleted"`

      - `const APITokenCreatedWebhookEventEventTypeWebhookSubscriptionCreated APITokenCreatedWebhookEventEventType = "webhook_subscription.created"`

      - `const APITokenCreatedWebhookEventEventTypeWebhookSubscriptionDeleted APITokenCreatedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const APITokenCreatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged APITokenCreatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const APITokenCreatedWebhookEventEventTypeWebhookSubscriptionEnabled APITokenCreatedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const APITokenCreatedWebhookEventEventTypeWebhookSubscriptionDisabled APITokenCreatedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const APITokenCreatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated APITokenCreatedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const APITokenCreatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated APITokenCreatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const APITokenCreatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet APITokenCreatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const APITokenCreatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared APITokenCreatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const APITokenCreatedWebhookEventEventTypeTeamMemberAdded APITokenCreatedWebhookEventEventType = "team_member.added"`

      - `const APITokenCreatedWebhookEventEventTypeTeamMemberSignedIn APITokenCreatedWebhookEventEventType = "team_member.signed_in"`

      - `const APITokenCreatedWebhookEventEventTypeTeamMemberSignedOut APITokenCreatedWebhookEventEventType = "team_member.signed_out"`

      - `const APITokenCreatedWebhookEventEventTypeMessageSent APITokenCreatedWebhookEventEventType = "message.sent"`

      - `const APITokenCreatedWebhookEventEventTypeMessageReceived APITokenCreatedWebhookEventEventType = "message.received"`

      - `const APITokenCreatedWebhookEventEventTypeMessageRead APITokenCreatedWebhookEventEventType = "message.read"`

      - `const APITokenCreatedWebhookEventEventTypeMessageDelivered APITokenCreatedWebhookEventEventType = "message.delivered"`

      - `const APITokenCreatedWebhookEventEventTypeMessageFailed APITokenCreatedWebhookEventEventType = "message.failed"`

      - `const APITokenCreatedWebhookEventEventTypeMessageEdited APITokenCreatedWebhookEventEventType = "message.edited"`

      - `const APITokenCreatedWebhookEventEventTypeReactionAdded APITokenCreatedWebhookEventEventType = "reaction.added"`

      - `const APITokenCreatedWebhookEventEventTypeReactionRemoved APITokenCreatedWebhookEventEventType = "reaction.removed"`

      - `const APITokenCreatedWebhookEventEventTypePollReceived APITokenCreatedWebhookEventEventType = "poll.received"`

      - `const APITokenCreatedWebhookEventEventTypePollFailed APITokenCreatedWebhookEventEventType = "poll.failed"`

      - `const APITokenCreatedWebhookEventEventTypePollSent APITokenCreatedWebhookEventEventType = "poll.sent"`

      - `const APITokenCreatedWebhookEventEventTypePollDelivered APITokenCreatedWebhookEventEventType = "poll.delivered"`

      - `const APITokenCreatedWebhookEventEventTypePollRead APITokenCreatedWebhookEventEventType = "poll.read"`

      - `const APITokenCreatedWebhookEventEventTypePollUpdated APITokenCreatedWebhookEventEventType = "poll.updated"`

      - `const APITokenCreatedWebhookEventEventTypePollVoteAdded APITokenCreatedWebhookEventEventType = "poll.vote.added"`

      - `const APITokenCreatedWebhookEventEventTypePollVoteRemoved APITokenCreatedWebhookEventEventType = "poll.vote.removed"`

      - `const APITokenCreatedWebhookEventEventTypePollReactionAdded APITokenCreatedWebhookEventEventType = "poll.reaction.added"`

      - `const APITokenCreatedWebhookEventEventTypeParticipantAdded APITokenCreatedWebhookEventEventType = "participant.added"`

      - `const APITokenCreatedWebhookEventEventTypeParticipantRemoved APITokenCreatedWebhookEventEventType = "participant.removed"`

      - `const APITokenCreatedWebhookEventEventTypeChatCreated APITokenCreatedWebhookEventEventType = "chat.created"`

      - `const APITokenCreatedWebhookEventEventTypeChatGroupNameUpdated APITokenCreatedWebhookEventEventType = "chat.group_name_updated"`

      - `const APITokenCreatedWebhookEventEventTypeChatGroupIconUpdated APITokenCreatedWebhookEventEventType = "chat.group_icon_updated"`

      - `const APITokenCreatedWebhookEventEventTypeChatGroupNameUpdateFailed APITokenCreatedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const APITokenCreatedWebhookEventEventTypeChatGroupIconUpdateFailed APITokenCreatedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const APITokenCreatedWebhookEventEventTypeChatBackgroundUpdated APITokenCreatedWebhookEventEventType = "chat.background_updated"`

      - `const APITokenCreatedWebhookEventEventTypeChatBackgroundUpdateFailed APITokenCreatedWebhookEventEventType = "chat.background_update_failed"`

      - `const APITokenCreatedWebhookEventEventTypeChatTypingIndicatorStarted APITokenCreatedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const APITokenCreatedWebhookEventEventTypeChatTypingIndicatorStopped APITokenCreatedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const APITokenCreatedWebhookEventEventTypePhoneNumberStatusUpdated APITokenCreatedWebhookEventEventType = "phone_number.status_updated"`

      - `const APITokenCreatedWebhookEventEventTypePhoneNumberAssigned APITokenCreatedWebhookEventEventType = "phone_number.assigned"`

      - `const APITokenCreatedWebhookEventEventTypePhoneNumberReleased APITokenCreatedWebhookEventEventType = "phone_number.released"`

      - `const APITokenCreatedWebhookEventEventTypePhoneNumberLineTypeUpdated APITokenCreatedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const APITokenCreatedWebhookEventEventTypeContactCardReceived APITokenCreatedWebhookEventEventType = "contact_card.received"`

      - `const APITokenCreatedWebhookEventEventTypeCallInitiated APITokenCreatedWebhookEventEventType = "call.initiated"`

      - `const APITokenCreatedWebhookEventEventTypeCallRinging APITokenCreatedWebhookEventEventType = "call.ringing"`

      - `const APITokenCreatedWebhookEventEventTypeCallAnswered APITokenCreatedWebhookEventEventType = "call.answered"`

      - `const APITokenCreatedWebhookEventEventTypeCallEnded APITokenCreatedWebhookEventEventType = "call.ended"`

      - `const APITokenCreatedWebhookEventEventTypeCallFailed APITokenCreatedWebhookEventEventType = "call.failed"`

      - `const APITokenCreatedWebhookEventEventTypeCallDeclined APITokenCreatedWebhookEventEventType = "call.declined"`

      - `const APITokenCreatedWebhookEventEventTypeCallNoAnswer APITokenCreatedWebhookEventEventType = "call.no_answer"`

      - `const APITokenCreatedWebhookEventEventTypeLocationSharingStarted APITokenCreatedWebhookEventEventType = "location.sharing.started"`

      - `const APITokenCreatedWebhookEventEventTypeLocationSharingStopped APITokenCreatedWebhookEventEventType = "location.sharing.stopped"`

      - `const APITokenCreatedWebhookEventEventTypePaymentSucceeded APITokenCreatedWebhookEventEventType = "payment.succeeded"`

      - `const APITokenCreatedWebhookEventEventTypePaymentCanceled APITokenCreatedWebhookEventEventType = "payment.canceled"`

      - `const APITokenCreatedWebhookEventEventTypePaymentExpired APITokenCreatedWebhookEventEventType = "payment.expired"`

      - `const APITokenCreatedWebhookEventEventTypePaymentDeclined APITokenCreatedWebhookEventEventType = "payment.declined"`

      - `const APITokenCreatedWebhookEventEventTypePaymentAuthorized APITokenCreatedWebhookEventEventType = "payment.authorized"`

      - `const APITokenCreatedWebhookEventEventTypeConnectionCreated APITokenCreatedWebhookEventEventType = "connection.created"`

      - `const APITokenCreatedWebhookEventEventTypeConnectionRevoked APITokenCreatedWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type APITokenRenamedWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data APITokenRenamedWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor APITokenRenamedWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const APITokenRenamedWebhookEventDataActorTypeTeamMember APITokenRenamedWebhookEventDataActorType = "team_member"`

          - `const APITokenRenamedWebhookEventDataActorTypeAPI APITokenRenamedWebhookEventDataActorType = "api"`

          - `const APITokenRenamedWebhookEventDataActorTypeSystem APITokenRenamedWebhookEventDataActorType = "system"`

          - `const APITokenRenamedWebhookEventDataActorTypeUnknown APITokenRenamedWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const APITokenRenamedWebhookEventDataOriginDashboard APITokenRenamedWebhookEventDataOrigin = "dashboard"`

        - `const APITokenRenamedWebhookEventDataOriginAPI APITokenRenamedWebhookEventDataOrigin = "api"`

        - `const APITokenRenamedWebhookEventDataOriginLinq APITokenRenamedWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken APITokenRenamedWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change APITokenRenamedWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName APITokenRenamedWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL APITokenRenamedWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName APITokenRenamedWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard APITokenRenamedWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment APITokenRenamedWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const APITokenRenamedWebhookEventDataEnvironmentTypeEnvironment APITokenRenamedWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const APITokenRenamedWebhookEventDataMethodCode APITokenRenamedWebhookEventDataMethod = "code"`

        - `const APITokenRenamedWebhookEventDataMethodSSO APITokenRenamedWebhookEventDataMethod = "sso"`

        - `const APITokenRenamedWebhookEventDataMethodGoogle APITokenRenamedWebhookEventDataMethod = "google"`

        - `const APITokenRenamedWebhookEventDataMethodApple APITokenRenamedWebhookEventDataMethod = "apple"`

        - `const APITokenRenamedWebhookEventDataMethodLinkedin APITokenRenamedWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember APITokenRenamedWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const APITokenRenamedWebhookEventDataTeamMemberRoleAdmin APITokenRenamedWebhookEventDataTeamMemberRole = "admin"`

          - `const APITokenRenamedWebhookEventDataTeamMemberRoleManager APITokenRenamedWebhookEventDataTeamMemberRole = "manager"`

          - `const APITokenRenamedWebhookEventDataTeamMemberRoleMember APITokenRenamedWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription APITokenRenamedWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType APITokenRenamedWebhookEventEventType`

      - `const APITokenRenamedWebhookEventEventTypeZeroDayRetentionUpdated APITokenRenamedWebhookEventEventType = "zero_day_retention.updated"`

      - `const APITokenRenamedWebhookEventEventTypePhoneNumberForwardingUpdated APITokenRenamedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const APITokenRenamedWebhookEventEventTypeEnvironmentLineMoved APITokenRenamedWebhookEventEventType = "environment.line_moved"`

      - `const APITokenRenamedWebhookEventEventTypeContactCardCreated APITokenRenamedWebhookEventEventType = "contact_card.created"`

      - `const APITokenRenamedWebhookEventEventTypeContactCardUpdated APITokenRenamedWebhookEventEventType = "contact_card.updated"`

      - `const APITokenRenamedWebhookEventEventTypeContactCardDeleted APITokenRenamedWebhookEventEventType = "contact_card.deleted"`

      - `const APITokenRenamedWebhookEventEventTypeAPITokenCreated APITokenRenamedWebhookEventEventType = "api_token.created"`

      - `const APITokenRenamedWebhookEventEventTypeAPITokenRenamed APITokenRenamedWebhookEventEventType = "api_token.renamed"`

      - `const APITokenRenamedWebhookEventEventTypeAPITokenExpiryScheduled APITokenRenamedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const APITokenRenamedWebhookEventEventTypeAPITokenExpired APITokenRenamedWebhookEventEventType = "api_token.expired"`

      - `const APITokenRenamedWebhookEventEventTypeAPITokenActivated APITokenRenamedWebhookEventEventType = "api_token.activated"`

      - `const APITokenRenamedWebhookEventEventTypeAPITokenDeleted APITokenRenamedWebhookEventEventType = "api_token.deleted"`

      - `const APITokenRenamedWebhookEventEventTypeEnvironmentCreated APITokenRenamedWebhookEventEventType = "environment.created"`

      - `const APITokenRenamedWebhookEventEventTypeEnvironmentRenamed APITokenRenamedWebhookEventEventType = "environment.renamed"`

      - `const APITokenRenamedWebhookEventEventTypeEnvironmentDeleted APITokenRenamedWebhookEventEventType = "environment.deleted"`

      - `const APITokenRenamedWebhookEventEventTypeWebhookSubscriptionCreated APITokenRenamedWebhookEventEventType = "webhook_subscription.created"`

      - `const APITokenRenamedWebhookEventEventTypeWebhookSubscriptionDeleted APITokenRenamedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const APITokenRenamedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged APITokenRenamedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const APITokenRenamedWebhookEventEventTypeWebhookSubscriptionEnabled APITokenRenamedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const APITokenRenamedWebhookEventEventTypeWebhookSubscriptionDisabled APITokenRenamedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const APITokenRenamedWebhookEventEventTypeWebhookSubscriptionEventsUpdated APITokenRenamedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const APITokenRenamedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated APITokenRenamedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const APITokenRenamedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet APITokenRenamedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const APITokenRenamedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared APITokenRenamedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const APITokenRenamedWebhookEventEventTypeTeamMemberAdded APITokenRenamedWebhookEventEventType = "team_member.added"`

      - `const APITokenRenamedWebhookEventEventTypeTeamMemberSignedIn APITokenRenamedWebhookEventEventType = "team_member.signed_in"`

      - `const APITokenRenamedWebhookEventEventTypeTeamMemberSignedOut APITokenRenamedWebhookEventEventType = "team_member.signed_out"`

      - `const APITokenRenamedWebhookEventEventTypeMessageSent APITokenRenamedWebhookEventEventType = "message.sent"`

      - `const APITokenRenamedWebhookEventEventTypeMessageReceived APITokenRenamedWebhookEventEventType = "message.received"`

      - `const APITokenRenamedWebhookEventEventTypeMessageRead APITokenRenamedWebhookEventEventType = "message.read"`

      - `const APITokenRenamedWebhookEventEventTypeMessageDelivered APITokenRenamedWebhookEventEventType = "message.delivered"`

      - `const APITokenRenamedWebhookEventEventTypeMessageFailed APITokenRenamedWebhookEventEventType = "message.failed"`

      - `const APITokenRenamedWebhookEventEventTypeMessageEdited APITokenRenamedWebhookEventEventType = "message.edited"`

      - `const APITokenRenamedWebhookEventEventTypeReactionAdded APITokenRenamedWebhookEventEventType = "reaction.added"`

      - `const APITokenRenamedWebhookEventEventTypeReactionRemoved APITokenRenamedWebhookEventEventType = "reaction.removed"`

      - `const APITokenRenamedWebhookEventEventTypePollReceived APITokenRenamedWebhookEventEventType = "poll.received"`

      - `const APITokenRenamedWebhookEventEventTypePollFailed APITokenRenamedWebhookEventEventType = "poll.failed"`

      - `const APITokenRenamedWebhookEventEventTypePollSent APITokenRenamedWebhookEventEventType = "poll.sent"`

      - `const APITokenRenamedWebhookEventEventTypePollDelivered APITokenRenamedWebhookEventEventType = "poll.delivered"`

      - `const APITokenRenamedWebhookEventEventTypePollRead APITokenRenamedWebhookEventEventType = "poll.read"`

      - `const APITokenRenamedWebhookEventEventTypePollUpdated APITokenRenamedWebhookEventEventType = "poll.updated"`

      - `const APITokenRenamedWebhookEventEventTypePollVoteAdded APITokenRenamedWebhookEventEventType = "poll.vote.added"`

      - `const APITokenRenamedWebhookEventEventTypePollVoteRemoved APITokenRenamedWebhookEventEventType = "poll.vote.removed"`

      - `const APITokenRenamedWebhookEventEventTypePollReactionAdded APITokenRenamedWebhookEventEventType = "poll.reaction.added"`

      - `const APITokenRenamedWebhookEventEventTypeParticipantAdded APITokenRenamedWebhookEventEventType = "participant.added"`

      - `const APITokenRenamedWebhookEventEventTypeParticipantRemoved APITokenRenamedWebhookEventEventType = "participant.removed"`

      - `const APITokenRenamedWebhookEventEventTypeChatCreated APITokenRenamedWebhookEventEventType = "chat.created"`

      - `const APITokenRenamedWebhookEventEventTypeChatGroupNameUpdated APITokenRenamedWebhookEventEventType = "chat.group_name_updated"`

      - `const APITokenRenamedWebhookEventEventTypeChatGroupIconUpdated APITokenRenamedWebhookEventEventType = "chat.group_icon_updated"`

      - `const APITokenRenamedWebhookEventEventTypeChatGroupNameUpdateFailed APITokenRenamedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const APITokenRenamedWebhookEventEventTypeChatGroupIconUpdateFailed APITokenRenamedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const APITokenRenamedWebhookEventEventTypeChatBackgroundUpdated APITokenRenamedWebhookEventEventType = "chat.background_updated"`

      - `const APITokenRenamedWebhookEventEventTypeChatBackgroundUpdateFailed APITokenRenamedWebhookEventEventType = "chat.background_update_failed"`

      - `const APITokenRenamedWebhookEventEventTypeChatTypingIndicatorStarted APITokenRenamedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const APITokenRenamedWebhookEventEventTypeChatTypingIndicatorStopped APITokenRenamedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const APITokenRenamedWebhookEventEventTypePhoneNumberStatusUpdated APITokenRenamedWebhookEventEventType = "phone_number.status_updated"`

      - `const APITokenRenamedWebhookEventEventTypePhoneNumberAssigned APITokenRenamedWebhookEventEventType = "phone_number.assigned"`

      - `const APITokenRenamedWebhookEventEventTypePhoneNumberReleased APITokenRenamedWebhookEventEventType = "phone_number.released"`

      - `const APITokenRenamedWebhookEventEventTypePhoneNumberLineTypeUpdated APITokenRenamedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const APITokenRenamedWebhookEventEventTypeContactCardReceived APITokenRenamedWebhookEventEventType = "contact_card.received"`

      - `const APITokenRenamedWebhookEventEventTypeCallInitiated APITokenRenamedWebhookEventEventType = "call.initiated"`

      - `const APITokenRenamedWebhookEventEventTypeCallRinging APITokenRenamedWebhookEventEventType = "call.ringing"`

      - `const APITokenRenamedWebhookEventEventTypeCallAnswered APITokenRenamedWebhookEventEventType = "call.answered"`

      - `const APITokenRenamedWebhookEventEventTypeCallEnded APITokenRenamedWebhookEventEventType = "call.ended"`

      - `const APITokenRenamedWebhookEventEventTypeCallFailed APITokenRenamedWebhookEventEventType = "call.failed"`

      - `const APITokenRenamedWebhookEventEventTypeCallDeclined APITokenRenamedWebhookEventEventType = "call.declined"`

      - `const APITokenRenamedWebhookEventEventTypeCallNoAnswer APITokenRenamedWebhookEventEventType = "call.no_answer"`

      - `const APITokenRenamedWebhookEventEventTypeLocationSharingStarted APITokenRenamedWebhookEventEventType = "location.sharing.started"`

      - `const APITokenRenamedWebhookEventEventTypeLocationSharingStopped APITokenRenamedWebhookEventEventType = "location.sharing.stopped"`

      - `const APITokenRenamedWebhookEventEventTypePaymentSucceeded APITokenRenamedWebhookEventEventType = "payment.succeeded"`

      - `const APITokenRenamedWebhookEventEventTypePaymentCanceled APITokenRenamedWebhookEventEventType = "payment.canceled"`

      - `const APITokenRenamedWebhookEventEventTypePaymentExpired APITokenRenamedWebhookEventEventType = "payment.expired"`

      - `const APITokenRenamedWebhookEventEventTypePaymentDeclined APITokenRenamedWebhookEventEventType = "payment.declined"`

      - `const APITokenRenamedWebhookEventEventTypePaymentAuthorized APITokenRenamedWebhookEventEventType = "payment.authorized"`

      - `const APITokenRenamedWebhookEventEventTypeConnectionCreated APITokenRenamedWebhookEventEventType = "connection.created"`

      - `const APITokenRenamedWebhookEventEventTypeConnectionRevoked APITokenRenamedWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type APITokenExpiryScheduledWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data APITokenExpiryScheduledWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor APITokenExpiryScheduledWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const APITokenExpiryScheduledWebhookEventDataActorTypeTeamMember APITokenExpiryScheduledWebhookEventDataActorType = "team_member"`

          - `const APITokenExpiryScheduledWebhookEventDataActorTypeAPI APITokenExpiryScheduledWebhookEventDataActorType = "api"`

          - `const APITokenExpiryScheduledWebhookEventDataActorTypeSystem APITokenExpiryScheduledWebhookEventDataActorType = "system"`

          - `const APITokenExpiryScheduledWebhookEventDataActorTypeUnknown APITokenExpiryScheduledWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const APITokenExpiryScheduledWebhookEventDataOriginDashboard APITokenExpiryScheduledWebhookEventDataOrigin = "dashboard"`

        - `const APITokenExpiryScheduledWebhookEventDataOriginAPI APITokenExpiryScheduledWebhookEventDataOrigin = "api"`

        - `const APITokenExpiryScheduledWebhookEventDataOriginLinq APITokenExpiryScheduledWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken APITokenExpiryScheduledWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change APITokenExpiryScheduledWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName APITokenExpiryScheduledWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL APITokenExpiryScheduledWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName APITokenExpiryScheduledWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard APITokenExpiryScheduledWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment APITokenExpiryScheduledWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const APITokenExpiryScheduledWebhookEventDataEnvironmentTypeEnvironment APITokenExpiryScheduledWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const APITokenExpiryScheduledWebhookEventDataMethodCode APITokenExpiryScheduledWebhookEventDataMethod = "code"`

        - `const APITokenExpiryScheduledWebhookEventDataMethodSSO APITokenExpiryScheduledWebhookEventDataMethod = "sso"`

        - `const APITokenExpiryScheduledWebhookEventDataMethodGoogle APITokenExpiryScheduledWebhookEventDataMethod = "google"`

        - `const APITokenExpiryScheduledWebhookEventDataMethodApple APITokenExpiryScheduledWebhookEventDataMethod = "apple"`

        - `const APITokenExpiryScheduledWebhookEventDataMethodLinkedin APITokenExpiryScheduledWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember APITokenExpiryScheduledWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const APITokenExpiryScheduledWebhookEventDataTeamMemberRoleAdmin APITokenExpiryScheduledWebhookEventDataTeamMemberRole = "admin"`

          - `const APITokenExpiryScheduledWebhookEventDataTeamMemberRoleManager APITokenExpiryScheduledWebhookEventDataTeamMemberRole = "manager"`

          - `const APITokenExpiryScheduledWebhookEventDataTeamMemberRoleMember APITokenExpiryScheduledWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription APITokenExpiryScheduledWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType APITokenExpiryScheduledWebhookEventEventType`

      - `const APITokenExpiryScheduledWebhookEventEventTypeZeroDayRetentionUpdated APITokenExpiryScheduledWebhookEventEventType = "zero_day_retention.updated"`

      - `const APITokenExpiryScheduledWebhookEventEventTypePhoneNumberForwardingUpdated APITokenExpiryScheduledWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeEnvironmentLineMoved APITokenExpiryScheduledWebhookEventEventType = "environment.line_moved"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeContactCardCreated APITokenExpiryScheduledWebhookEventEventType = "contact_card.created"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeContactCardUpdated APITokenExpiryScheduledWebhookEventEventType = "contact_card.updated"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeContactCardDeleted APITokenExpiryScheduledWebhookEventEventType = "contact_card.deleted"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeAPITokenCreated APITokenExpiryScheduledWebhookEventEventType = "api_token.created"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeAPITokenRenamed APITokenExpiryScheduledWebhookEventEventType = "api_token.renamed"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeAPITokenExpiryScheduled APITokenExpiryScheduledWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeAPITokenExpired APITokenExpiryScheduledWebhookEventEventType = "api_token.expired"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeAPITokenActivated APITokenExpiryScheduledWebhookEventEventType = "api_token.activated"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeAPITokenDeleted APITokenExpiryScheduledWebhookEventEventType = "api_token.deleted"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeEnvironmentCreated APITokenExpiryScheduledWebhookEventEventType = "environment.created"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeEnvironmentRenamed APITokenExpiryScheduledWebhookEventEventType = "environment.renamed"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeEnvironmentDeleted APITokenExpiryScheduledWebhookEventEventType = "environment.deleted"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeWebhookSubscriptionCreated APITokenExpiryScheduledWebhookEventEventType = "webhook_subscription.created"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeWebhookSubscriptionDeleted APITokenExpiryScheduledWebhookEventEventType = "webhook_subscription.deleted"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeWebhookSubscriptionTargetURLChanged APITokenExpiryScheduledWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeWebhookSubscriptionEnabled APITokenExpiryScheduledWebhookEventEventType = "webhook_subscription.enabled"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeWebhookSubscriptionDisabled APITokenExpiryScheduledWebhookEventEventType = "webhook_subscription.disabled"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeWebhookSubscriptionEventsUpdated APITokenExpiryScheduledWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated APITokenExpiryScheduledWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet APITokenExpiryScheduledWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared APITokenExpiryScheduledWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeTeamMemberAdded APITokenExpiryScheduledWebhookEventEventType = "team_member.added"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeTeamMemberSignedIn APITokenExpiryScheduledWebhookEventEventType = "team_member.signed_in"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeTeamMemberSignedOut APITokenExpiryScheduledWebhookEventEventType = "team_member.signed_out"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeMessageSent APITokenExpiryScheduledWebhookEventEventType = "message.sent"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeMessageReceived APITokenExpiryScheduledWebhookEventEventType = "message.received"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeMessageRead APITokenExpiryScheduledWebhookEventEventType = "message.read"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeMessageDelivered APITokenExpiryScheduledWebhookEventEventType = "message.delivered"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeMessageFailed APITokenExpiryScheduledWebhookEventEventType = "message.failed"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeMessageEdited APITokenExpiryScheduledWebhookEventEventType = "message.edited"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeReactionAdded APITokenExpiryScheduledWebhookEventEventType = "reaction.added"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeReactionRemoved APITokenExpiryScheduledWebhookEventEventType = "reaction.removed"`

      - `const APITokenExpiryScheduledWebhookEventEventTypePollReceived APITokenExpiryScheduledWebhookEventEventType = "poll.received"`

      - `const APITokenExpiryScheduledWebhookEventEventTypePollFailed APITokenExpiryScheduledWebhookEventEventType = "poll.failed"`

      - `const APITokenExpiryScheduledWebhookEventEventTypePollSent APITokenExpiryScheduledWebhookEventEventType = "poll.sent"`

      - `const APITokenExpiryScheduledWebhookEventEventTypePollDelivered APITokenExpiryScheduledWebhookEventEventType = "poll.delivered"`

      - `const APITokenExpiryScheduledWebhookEventEventTypePollRead APITokenExpiryScheduledWebhookEventEventType = "poll.read"`

      - `const APITokenExpiryScheduledWebhookEventEventTypePollUpdated APITokenExpiryScheduledWebhookEventEventType = "poll.updated"`

      - `const APITokenExpiryScheduledWebhookEventEventTypePollVoteAdded APITokenExpiryScheduledWebhookEventEventType = "poll.vote.added"`

      - `const APITokenExpiryScheduledWebhookEventEventTypePollVoteRemoved APITokenExpiryScheduledWebhookEventEventType = "poll.vote.removed"`

      - `const APITokenExpiryScheduledWebhookEventEventTypePollReactionAdded APITokenExpiryScheduledWebhookEventEventType = "poll.reaction.added"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeParticipantAdded APITokenExpiryScheduledWebhookEventEventType = "participant.added"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeParticipantRemoved APITokenExpiryScheduledWebhookEventEventType = "participant.removed"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeChatCreated APITokenExpiryScheduledWebhookEventEventType = "chat.created"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeChatGroupNameUpdated APITokenExpiryScheduledWebhookEventEventType = "chat.group_name_updated"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeChatGroupIconUpdated APITokenExpiryScheduledWebhookEventEventType = "chat.group_icon_updated"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeChatGroupNameUpdateFailed APITokenExpiryScheduledWebhookEventEventType = "chat.group_name_update_failed"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeChatGroupIconUpdateFailed APITokenExpiryScheduledWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeChatBackgroundUpdated APITokenExpiryScheduledWebhookEventEventType = "chat.background_updated"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeChatBackgroundUpdateFailed APITokenExpiryScheduledWebhookEventEventType = "chat.background_update_failed"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeChatTypingIndicatorStarted APITokenExpiryScheduledWebhookEventEventType = "chat.typing_indicator.started"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeChatTypingIndicatorStopped APITokenExpiryScheduledWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const APITokenExpiryScheduledWebhookEventEventTypePhoneNumberStatusUpdated APITokenExpiryScheduledWebhookEventEventType = "phone_number.status_updated"`

      - `const APITokenExpiryScheduledWebhookEventEventTypePhoneNumberAssigned APITokenExpiryScheduledWebhookEventEventType = "phone_number.assigned"`

      - `const APITokenExpiryScheduledWebhookEventEventTypePhoneNumberReleased APITokenExpiryScheduledWebhookEventEventType = "phone_number.released"`

      - `const APITokenExpiryScheduledWebhookEventEventTypePhoneNumberLineTypeUpdated APITokenExpiryScheduledWebhookEventEventType = "phone_number.line_type_updated"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeContactCardReceived APITokenExpiryScheduledWebhookEventEventType = "contact_card.received"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeCallInitiated APITokenExpiryScheduledWebhookEventEventType = "call.initiated"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeCallRinging APITokenExpiryScheduledWebhookEventEventType = "call.ringing"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeCallAnswered APITokenExpiryScheduledWebhookEventEventType = "call.answered"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeCallEnded APITokenExpiryScheduledWebhookEventEventType = "call.ended"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeCallFailed APITokenExpiryScheduledWebhookEventEventType = "call.failed"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeCallDeclined APITokenExpiryScheduledWebhookEventEventType = "call.declined"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeCallNoAnswer APITokenExpiryScheduledWebhookEventEventType = "call.no_answer"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeLocationSharingStarted APITokenExpiryScheduledWebhookEventEventType = "location.sharing.started"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeLocationSharingStopped APITokenExpiryScheduledWebhookEventEventType = "location.sharing.stopped"`

      - `const APITokenExpiryScheduledWebhookEventEventTypePaymentSucceeded APITokenExpiryScheduledWebhookEventEventType = "payment.succeeded"`

      - `const APITokenExpiryScheduledWebhookEventEventTypePaymentCanceled APITokenExpiryScheduledWebhookEventEventType = "payment.canceled"`

      - `const APITokenExpiryScheduledWebhookEventEventTypePaymentExpired APITokenExpiryScheduledWebhookEventEventType = "payment.expired"`

      - `const APITokenExpiryScheduledWebhookEventEventTypePaymentDeclined APITokenExpiryScheduledWebhookEventEventType = "payment.declined"`

      - `const APITokenExpiryScheduledWebhookEventEventTypePaymentAuthorized APITokenExpiryScheduledWebhookEventEventType = "payment.authorized"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeConnectionCreated APITokenExpiryScheduledWebhookEventEventType = "connection.created"`

      - `const APITokenExpiryScheduledWebhookEventEventTypeConnectionRevoked APITokenExpiryScheduledWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type APITokenExpiredWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data APITokenExpiredWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor APITokenExpiredWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const APITokenExpiredWebhookEventDataActorTypeTeamMember APITokenExpiredWebhookEventDataActorType = "team_member"`

          - `const APITokenExpiredWebhookEventDataActorTypeAPI APITokenExpiredWebhookEventDataActorType = "api"`

          - `const APITokenExpiredWebhookEventDataActorTypeSystem APITokenExpiredWebhookEventDataActorType = "system"`

          - `const APITokenExpiredWebhookEventDataActorTypeUnknown APITokenExpiredWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const APITokenExpiredWebhookEventDataOriginDashboard APITokenExpiredWebhookEventDataOrigin = "dashboard"`

        - `const APITokenExpiredWebhookEventDataOriginAPI APITokenExpiredWebhookEventDataOrigin = "api"`

        - `const APITokenExpiredWebhookEventDataOriginLinq APITokenExpiredWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken APITokenExpiredWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change APITokenExpiredWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName APITokenExpiredWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL APITokenExpiredWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName APITokenExpiredWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard APITokenExpiredWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment APITokenExpiredWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const APITokenExpiredWebhookEventDataEnvironmentTypeEnvironment APITokenExpiredWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const APITokenExpiredWebhookEventDataMethodCode APITokenExpiredWebhookEventDataMethod = "code"`

        - `const APITokenExpiredWebhookEventDataMethodSSO APITokenExpiredWebhookEventDataMethod = "sso"`

        - `const APITokenExpiredWebhookEventDataMethodGoogle APITokenExpiredWebhookEventDataMethod = "google"`

        - `const APITokenExpiredWebhookEventDataMethodApple APITokenExpiredWebhookEventDataMethod = "apple"`

        - `const APITokenExpiredWebhookEventDataMethodLinkedin APITokenExpiredWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember APITokenExpiredWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const APITokenExpiredWebhookEventDataTeamMemberRoleAdmin APITokenExpiredWebhookEventDataTeamMemberRole = "admin"`

          - `const APITokenExpiredWebhookEventDataTeamMemberRoleManager APITokenExpiredWebhookEventDataTeamMemberRole = "manager"`

          - `const APITokenExpiredWebhookEventDataTeamMemberRoleMember APITokenExpiredWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription APITokenExpiredWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType APITokenExpiredWebhookEventEventType`

      - `const APITokenExpiredWebhookEventEventTypeZeroDayRetentionUpdated APITokenExpiredWebhookEventEventType = "zero_day_retention.updated"`

      - `const APITokenExpiredWebhookEventEventTypePhoneNumberForwardingUpdated APITokenExpiredWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const APITokenExpiredWebhookEventEventTypeEnvironmentLineMoved APITokenExpiredWebhookEventEventType = "environment.line_moved"`

      - `const APITokenExpiredWebhookEventEventTypeContactCardCreated APITokenExpiredWebhookEventEventType = "contact_card.created"`

      - `const APITokenExpiredWebhookEventEventTypeContactCardUpdated APITokenExpiredWebhookEventEventType = "contact_card.updated"`

      - `const APITokenExpiredWebhookEventEventTypeContactCardDeleted APITokenExpiredWebhookEventEventType = "contact_card.deleted"`

      - `const APITokenExpiredWebhookEventEventTypeAPITokenCreated APITokenExpiredWebhookEventEventType = "api_token.created"`

      - `const APITokenExpiredWebhookEventEventTypeAPITokenRenamed APITokenExpiredWebhookEventEventType = "api_token.renamed"`

      - `const APITokenExpiredWebhookEventEventTypeAPITokenExpiryScheduled APITokenExpiredWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const APITokenExpiredWebhookEventEventTypeAPITokenExpired APITokenExpiredWebhookEventEventType = "api_token.expired"`

      - `const APITokenExpiredWebhookEventEventTypeAPITokenActivated APITokenExpiredWebhookEventEventType = "api_token.activated"`

      - `const APITokenExpiredWebhookEventEventTypeAPITokenDeleted APITokenExpiredWebhookEventEventType = "api_token.deleted"`

      - `const APITokenExpiredWebhookEventEventTypeEnvironmentCreated APITokenExpiredWebhookEventEventType = "environment.created"`

      - `const APITokenExpiredWebhookEventEventTypeEnvironmentRenamed APITokenExpiredWebhookEventEventType = "environment.renamed"`

      - `const APITokenExpiredWebhookEventEventTypeEnvironmentDeleted APITokenExpiredWebhookEventEventType = "environment.deleted"`

      - `const APITokenExpiredWebhookEventEventTypeWebhookSubscriptionCreated APITokenExpiredWebhookEventEventType = "webhook_subscription.created"`

      - `const APITokenExpiredWebhookEventEventTypeWebhookSubscriptionDeleted APITokenExpiredWebhookEventEventType = "webhook_subscription.deleted"`

      - `const APITokenExpiredWebhookEventEventTypeWebhookSubscriptionTargetURLChanged APITokenExpiredWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const APITokenExpiredWebhookEventEventTypeWebhookSubscriptionEnabled APITokenExpiredWebhookEventEventType = "webhook_subscription.enabled"`

      - `const APITokenExpiredWebhookEventEventTypeWebhookSubscriptionDisabled APITokenExpiredWebhookEventEventType = "webhook_subscription.disabled"`

      - `const APITokenExpiredWebhookEventEventTypeWebhookSubscriptionEventsUpdated APITokenExpiredWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const APITokenExpiredWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated APITokenExpiredWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const APITokenExpiredWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet APITokenExpiredWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const APITokenExpiredWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared APITokenExpiredWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const APITokenExpiredWebhookEventEventTypeTeamMemberAdded APITokenExpiredWebhookEventEventType = "team_member.added"`

      - `const APITokenExpiredWebhookEventEventTypeTeamMemberSignedIn APITokenExpiredWebhookEventEventType = "team_member.signed_in"`

      - `const APITokenExpiredWebhookEventEventTypeTeamMemberSignedOut APITokenExpiredWebhookEventEventType = "team_member.signed_out"`

      - `const APITokenExpiredWebhookEventEventTypeMessageSent APITokenExpiredWebhookEventEventType = "message.sent"`

      - `const APITokenExpiredWebhookEventEventTypeMessageReceived APITokenExpiredWebhookEventEventType = "message.received"`

      - `const APITokenExpiredWebhookEventEventTypeMessageRead APITokenExpiredWebhookEventEventType = "message.read"`

      - `const APITokenExpiredWebhookEventEventTypeMessageDelivered APITokenExpiredWebhookEventEventType = "message.delivered"`

      - `const APITokenExpiredWebhookEventEventTypeMessageFailed APITokenExpiredWebhookEventEventType = "message.failed"`

      - `const APITokenExpiredWebhookEventEventTypeMessageEdited APITokenExpiredWebhookEventEventType = "message.edited"`

      - `const APITokenExpiredWebhookEventEventTypeReactionAdded APITokenExpiredWebhookEventEventType = "reaction.added"`

      - `const APITokenExpiredWebhookEventEventTypeReactionRemoved APITokenExpiredWebhookEventEventType = "reaction.removed"`

      - `const APITokenExpiredWebhookEventEventTypePollReceived APITokenExpiredWebhookEventEventType = "poll.received"`

      - `const APITokenExpiredWebhookEventEventTypePollFailed APITokenExpiredWebhookEventEventType = "poll.failed"`

      - `const APITokenExpiredWebhookEventEventTypePollSent APITokenExpiredWebhookEventEventType = "poll.sent"`

      - `const APITokenExpiredWebhookEventEventTypePollDelivered APITokenExpiredWebhookEventEventType = "poll.delivered"`

      - `const APITokenExpiredWebhookEventEventTypePollRead APITokenExpiredWebhookEventEventType = "poll.read"`

      - `const APITokenExpiredWebhookEventEventTypePollUpdated APITokenExpiredWebhookEventEventType = "poll.updated"`

      - `const APITokenExpiredWebhookEventEventTypePollVoteAdded APITokenExpiredWebhookEventEventType = "poll.vote.added"`

      - `const APITokenExpiredWebhookEventEventTypePollVoteRemoved APITokenExpiredWebhookEventEventType = "poll.vote.removed"`

      - `const APITokenExpiredWebhookEventEventTypePollReactionAdded APITokenExpiredWebhookEventEventType = "poll.reaction.added"`

      - `const APITokenExpiredWebhookEventEventTypeParticipantAdded APITokenExpiredWebhookEventEventType = "participant.added"`

      - `const APITokenExpiredWebhookEventEventTypeParticipantRemoved APITokenExpiredWebhookEventEventType = "participant.removed"`

      - `const APITokenExpiredWebhookEventEventTypeChatCreated APITokenExpiredWebhookEventEventType = "chat.created"`

      - `const APITokenExpiredWebhookEventEventTypeChatGroupNameUpdated APITokenExpiredWebhookEventEventType = "chat.group_name_updated"`

      - `const APITokenExpiredWebhookEventEventTypeChatGroupIconUpdated APITokenExpiredWebhookEventEventType = "chat.group_icon_updated"`

      - `const APITokenExpiredWebhookEventEventTypeChatGroupNameUpdateFailed APITokenExpiredWebhookEventEventType = "chat.group_name_update_failed"`

      - `const APITokenExpiredWebhookEventEventTypeChatGroupIconUpdateFailed APITokenExpiredWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const APITokenExpiredWebhookEventEventTypeChatBackgroundUpdated APITokenExpiredWebhookEventEventType = "chat.background_updated"`

      - `const APITokenExpiredWebhookEventEventTypeChatBackgroundUpdateFailed APITokenExpiredWebhookEventEventType = "chat.background_update_failed"`

      - `const APITokenExpiredWebhookEventEventTypeChatTypingIndicatorStarted APITokenExpiredWebhookEventEventType = "chat.typing_indicator.started"`

      - `const APITokenExpiredWebhookEventEventTypeChatTypingIndicatorStopped APITokenExpiredWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const APITokenExpiredWebhookEventEventTypePhoneNumberStatusUpdated APITokenExpiredWebhookEventEventType = "phone_number.status_updated"`

      - `const APITokenExpiredWebhookEventEventTypePhoneNumberAssigned APITokenExpiredWebhookEventEventType = "phone_number.assigned"`

      - `const APITokenExpiredWebhookEventEventTypePhoneNumberReleased APITokenExpiredWebhookEventEventType = "phone_number.released"`

      - `const APITokenExpiredWebhookEventEventTypePhoneNumberLineTypeUpdated APITokenExpiredWebhookEventEventType = "phone_number.line_type_updated"`

      - `const APITokenExpiredWebhookEventEventTypeContactCardReceived APITokenExpiredWebhookEventEventType = "contact_card.received"`

      - `const APITokenExpiredWebhookEventEventTypeCallInitiated APITokenExpiredWebhookEventEventType = "call.initiated"`

      - `const APITokenExpiredWebhookEventEventTypeCallRinging APITokenExpiredWebhookEventEventType = "call.ringing"`

      - `const APITokenExpiredWebhookEventEventTypeCallAnswered APITokenExpiredWebhookEventEventType = "call.answered"`

      - `const APITokenExpiredWebhookEventEventTypeCallEnded APITokenExpiredWebhookEventEventType = "call.ended"`

      - `const APITokenExpiredWebhookEventEventTypeCallFailed APITokenExpiredWebhookEventEventType = "call.failed"`

      - `const APITokenExpiredWebhookEventEventTypeCallDeclined APITokenExpiredWebhookEventEventType = "call.declined"`

      - `const APITokenExpiredWebhookEventEventTypeCallNoAnswer APITokenExpiredWebhookEventEventType = "call.no_answer"`

      - `const APITokenExpiredWebhookEventEventTypeLocationSharingStarted APITokenExpiredWebhookEventEventType = "location.sharing.started"`

      - `const APITokenExpiredWebhookEventEventTypeLocationSharingStopped APITokenExpiredWebhookEventEventType = "location.sharing.stopped"`

      - `const APITokenExpiredWebhookEventEventTypePaymentSucceeded APITokenExpiredWebhookEventEventType = "payment.succeeded"`

      - `const APITokenExpiredWebhookEventEventTypePaymentCanceled APITokenExpiredWebhookEventEventType = "payment.canceled"`

      - `const APITokenExpiredWebhookEventEventTypePaymentExpired APITokenExpiredWebhookEventEventType = "payment.expired"`

      - `const APITokenExpiredWebhookEventEventTypePaymentDeclined APITokenExpiredWebhookEventEventType = "payment.declined"`

      - `const APITokenExpiredWebhookEventEventTypePaymentAuthorized APITokenExpiredWebhookEventEventType = "payment.authorized"`

      - `const APITokenExpiredWebhookEventEventTypeConnectionCreated APITokenExpiredWebhookEventEventType = "connection.created"`

      - `const APITokenExpiredWebhookEventEventTypeConnectionRevoked APITokenExpiredWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type APITokenActivatedWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data APITokenActivatedWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor APITokenActivatedWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const APITokenActivatedWebhookEventDataActorTypeTeamMember APITokenActivatedWebhookEventDataActorType = "team_member"`

          - `const APITokenActivatedWebhookEventDataActorTypeAPI APITokenActivatedWebhookEventDataActorType = "api"`

          - `const APITokenActivatedWebhookEventDataActorTypeSystem APITokenActivatedWebhookEventDataActorType = "system"`

          - `const APITokenActivatedWebhookEventDataActorTypeUnknown APITokenActivatedWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const APITokenActivatedWebhookEventDataOriginDashboard APITokenActivatedWebhookEventDataOrigin = "dashboard"`

        - `const APITokenActivatedWebhookEventDataOriginAPI APITokenActivatedWebhookEventDataOrigin = "api"`

        - `const APITokenActivatedWebhookEventDataOriginLinq APITokenActivatedWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken APITokenActivatedWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change APITokenActivatedWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName APITokenActivatedWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL APITokenActivatedWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName APITokenActivatedWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard APITokenActivatedWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment APITokenActivatedWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const APITokenActivatedWebhookEventDataEnvironmentTypeEnvironment APITokenActivatedWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const APITokenActivatedWebhookEventDataMethodCode APITokenActivatedWebhookEventDataMethod = "code"`

        - `const APITokenActivatedWebhookEventDataMethodSSO APITokenActivatedWebhookEventDataMethod = "sso"`

        - `const APITokenActivatedWebhookEventDataMethodGoogle APITokenActivatedWebhookEventDataMethod = "google"`

        - `const APITokenActivatedWebhookEventDataMethodApple APITokenActivatedWebhookEventDataMethod = "apple"`

        - `const APITokenActivatedWebhookEventDataMethodLinkedin APITokenActivatedWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember APITokenActivatedWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const APITokenActivatedWebhookEventDataTeamMemberRoleAdmin APITokenActivatedWebhookEventDataTeamMemberRole = "admin"`

          - `const APITokenActivatedWebhookEventDataTeamMemberRoleManager APITokenActivatedWebhookEventDataTeamMemberRole = "manager"`

          - `const APITokenActivatedWebhookEventDataTeamMemberRoleMember APITokenActivatedWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription APITokenActivatedWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType APITokenActivatedWebhookEventEventType`

      - `const APITokenActivatedWebhookEventEventTypeZeroDayRetentionUpdated APITokenActivatedWebhookEventEventType = "zero_day_retention.updated"`

      - `const APITokenActivatedWebhookEventEventTypePhoneNumberForwardingUpdated APITokenActivatedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const APITokenActivatedWebhookEventEventTypeEnvironmentLineMoved APITokenActivatedWebhookEventEventType = "environment.line_moved"`

      - `const APITokenActivatedWebhookEventEventTypeContactCardCreated APITokenActivatedWebhookEventEventType = "contact_card.created"`

      - `const APITokenActivatedWebhookEventEventTypeContactCardUpdated APITokenActivatedWebhookEventEventType = "contact_card.updated"`

      - `const APITokenActivatedWebhookEventEventTypeContactCardDeleted APITokenActivatedWebhookEventEventType = "contact_card.deleted"`

      - `const APITokenActivatedWebhookEventEventTypeAPITokenCreated APITokenActivatedWebhookEventEventType = "api_token.created"`

      - `const APITokenActivatedWebhookEventEventTypeAPITokenRenamed APITokenActivatedWebhookEventEventType = "api_token.renamed"`

      - `const APITokenActivatedWebhookEventEventTypeAPITokenExpiryScheduled APITokenActivatedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const APITokenActivatedWebhookEventEventTypeAPITokenExpired APITokenActivatedWebhookEventEventType = "api_token.expired"`

      - `const APITokenActivatedWebhookEventEventTypeAPITokenActivated APITokenActivatedWebhookEventEventType = "api_token.activated"`

      - `const APITokenActivatedWebhookEventEventTypeAPITokenDeleted APITokenActivatedWebhookEventEventType = "api_token.deleted"`

      - `const APITokenActivatedWebhookEventEventTypeEnvironmentCreated APITokenActivatedWebhookEventEventType = "environment.created"`

      - `const APITokenActivatedWebhookEventEventTypeEnvironmentRenamed APITokenActivatedWebhookEventEventType = "environment.renamed"`

      - `const APITokenActivatedWebhookEventEventTypeEnvironmentDeleted APITokenActivatedWebhookEventEventType = "environment.deleted"`

      - `const APITokenActivatedWebhookEventEventTypeWebhookSubscriptionCreated APITokenActivatedWebhookEventEventType = "webhook_subscription.created"`

      - `const APITokenActivatedWebhookEventEventTypeWebhookSubscriptionDeleted APITokenActivatedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const APITokenActivatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged APITokenActivatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const APITokenActivatedWebhookEventEventTypeWebhookSubscriptionEnabled APITokenActivatedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const APITokenActivatedWebhookEventEventTypeWebhookSubscriptionDisabled APITokenActivatedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const APITokenActivatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated APITokenActivatedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const APITokenActivatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated APITokenActivatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const APITokenActivatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet APITokenActivatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const APITokenActivatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared APITokenActivatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const APITokenActivatedWebhookEventEventTypeTeamMemberAdded APITokenActivatedWebhookEventEventType = "team_member.added"`

      - `const APITokenActivatedWebhookEventEventTypeTeamMemberSignedIn APITokenActivatedWebhookEventEventType = "team_member.signed_in"`

      - `const APITokenActivatedWebhookEventEventTypeTeamMemberSignedOut APITokenActivatedWebhookEventEventType = "team_member.signed_out"`

      - `const APITokenActivatedWebhookEventEventTypeMessageSent APITokenActivatedWebhookEventEventType = "message.sent"`

      - `const APITokenActivatedWebhookEventEventTypeMessageReceived APITokenActivatedWebhookEventEventType = "message.received"`

      - `const APITokenActivatedWebhookEventEventTypeMessageRead APITokenActivatedWebhookEventEventType = "message.read"`

      - `const APITokenActivatedWebhookEventEventTypeMessageDelivered APITokenActivatedWebhookEventEventType = "message.delivered"`

      - `const APITokenActivatedWebhookEventEventTypeMessageFailed APITokenActivatedWebhookEventEventType = "message.failed"`

      - `const APITokenActivatedWebhookEventEventTypeMessageEdited APITokenActivatedWebhookEventEventType = "message.edited"`

      - `const APITokenActivatedWebhookEventEventTypeReactionAdded APITokenActivatedWebhookEventEventType = "reaction.added"`

      - `const APITokenActivatedWebhookEventEventTypeReactionRemoved APITokenActivatedWebhookEventEventType = "reaction.removed"`

      - `const APITokenActivatedWebhookEventEventTypePollReceived APITokenActivatedWebhookEventEventType = "poll.received"`

      - `const APITokenActivatedWebhookEventEventTypePollFailed APITokenActivatedWebhookEventEventType = "poll.failed"`

      - `const APITokenActivatedWebhookEventEventTypePollSent APITokenActivatedWebhookEventEventType = "poll.sent"`

      - `const APITokenActivatedWebhookEventEventTypePollDelivered APITokenActivatedWebhookEventEventType = "poll.delivered"`

      - `const APITokenActivatedWebhookEventEventTypePollRead APITokenActivatedWebhookEventEventType = "poll.read"`

      - `const APITokenActivatedWebhookEventEventTypePollUpdated APITokenActivatedWebhookEventEventType = "poll.updated"`

      - `const APITokenActivatedWebhookEventEventTypePollVoteAdded APITokenActivatedWebhookEventEventType = "poll.vote.added"`

      - `const APITokenActivatedWebhookEventEventTypePollVoteRemoved APITokenActivatedWebhookEventEventType = "poll.vote.removed"`

      - `const APITokenActivatedWebhookEventEventTypePollReactionAdded APITokenActivatedWebhookEventEventType = "poll.reaction.added"`

      - `const APITokenActivatedWebhookEventEventTypeParticipantAdded APITokenActivatedWebhookEventEventType = "participant.added"`

      - `const APITokenActivatedWebhookEventEventTypeParticipantRemoved APITokenActivatedWebhookEventEventType = "participant.removed"`

      - `const APITokenActivatedWebhookEventEventTypeChatCreated APITokenActivatedWebhookEventEventType = "chat.created"`

      - `const APITokenActivatedWebhookEventEventTypeChatGroupNameUpdated APITokenActivatedWebhookEventEventType = "chat.group_name_updated"`

      - `const APITokenActivatedWebhookEventEventTypeChatGroupIconUpdated APITokenActivatedWebhookEventEventType = "chat.group_icon_updated"`

      - `const APITokenActivatedWebhookEventEventTypeChatGroupNameUpdateFailed APITokenActivatedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const APITokenActivatedWebhookEventEventTypeChatGroupIconUpdateFailed APITokenActivatedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const APITokenActivatedWebhookEventEventTypeChatBackgroundUpdated APITokenActivatedWebhookEventEventType = "chat.background_updated"`

      - `const APITokenActivatedWebhookEventEventTypeChatBackgroundUpdateFailed APITokenActivatedWebhookEventEventType = "chat.background_update_failed"`

      - `const APITokenActivatedWebhookEventEventTypeChatTypingIndicatorStarted APITokenActivatedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const APITokenActivatedWebhookEventEventTypeChatTypingIndicatorStopped APITokenActivatedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const APITokenActivatedWebhookEventEventTypePhoneNumberStatusUpdated APITokenActivatedWebhookEventEventType = "phone_number.status_updated"`

      - `const APITokenActivatedWebhookEventEventTypePhoneNumberAssigned APITokenActivatedWebhookEventEventType = "phone_number.assigned"`

      - `const APITokenActivatedWebhookEventEventTypePhoneNumberReleased APITokenActivatedWebhookEventEventType = "phone_number.released"`

      - `const APITokenActivatedWebhookEventEventTypePhoneNumberLineTypeUpdated APITokenActivatedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const APITokenActivatedWebhookEventEventTypeContactCardReceived APITokenActivatedWebhookEventEventType = "contact_card.received"`

      - `const APITokenActivatedWebhookEventEventTypeCallInitiated APITokenActivatedWebhookEventEventType = "call.initiated"`

      - `const APITokenActivatedWebhookEventEventTypeCallRinging APITokenActivatedWebhookEventEventType = "call.ringing"`

      - `const APITokenActivatedWebhookEventEventTypeCallAnswered APITokenActivatedWebhookEventEventType = "call.answered"`

      - `const APITokenActivatedWebhookEventEventTypeCallEnded APITokenActivatedWebhookEventEventType = "call.ended"`

      - `const APITokenActivatedWebhookEventEventTypeCallFailed APITokenActivatedWebhookEventEventType = "call.failed"`

      - `const APITokenActivatedWebhookEventEventTypeCallDeclined APITokenActivatedWebhookEventEventType = "call.declined"`

      - `const APITokenActivatedWebhookEventEventTypeCallNoAnswer APITokenActivatedWebhookEventEventType = "call.no_answer"`

      - `const APITokenActivatedWebhookEventEventTypeLocationSharingStarted APITokenActivatedWebhookEventEventType = "location.sharing.started"`

      - `const APITokenActivatedWebhookEventEventTypeLocationSharingStopped APITokenActivatedWebhookEventEventType = "location.sharing.stopped"`

      - `const APITokenActivatedWebhookEventEventTypePaymentSucceeded APITokenActivatedWebhookEventEventType = "payment.succeeded"`

      - `const APITokenActivatedWebhookEventEventTypePaymentCanceled APITokenActivatedWebhookEventEventType = "payment.canceled"`

      - `const APITokenActivatedWebhookEventEventTypePaymentExpired APITokenActivatedWebhookEventEventType = "payment.expired"`

      - `const APITokenActivatedWebhookEventEventTypePaymentDeclined APITokenActivatedWebhookEventEventType = "payment.declined"`

      - `const APITokenActivatedWebhookEventEventTypePaymentAuthorized APITokenActivatedWebhookEventEventType = "payment.authorized"`

      - `const APITokenActivatedWebhookEventEventTypeConnectionCreated APITokenActivatedWebhookEventEventType = "connection.created"`

      - `const APITokenActivatedWebhookEventEventTypeConnectionRevoked APITokenActivatedWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type APITokenDeletedWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data APITokenDeletedWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor APITokenDeletedWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const APITokenDeletedWebhookEventDataActorTypeTeamMember APITokenDeletedWebhookEventDataActorType = "team_member"`

          - `const APITokenDeletedWebhookEventDataActorTypeAPI APITokenDeletedWebhookEventDataActorType = "api"`

          - `const APITokenDeletedWebhookEventDataActorTypeSystem APITokenDeletedWebhookEventDataActorType = "system"`

          - `const APITokenDeletedWebhookEventDataActorTypeUnknown APITokenDeletedWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const APITokenDeletedWebhookEventDataOriginDashboard APITokenDeletedWebhookEventDataOrigin = "dashboard"`

        - `const APITokenDeletedWebhookEventDataOriginAPI APITokenDeletedWebhookEventDataOrigin = "api"`

        - `const APITokenDeletedWebhookEventDataOriginLinq APITokenDeletedWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken APITokenDeletedWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change APITokenDeletedWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName APITokenDeletedWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL APITokenDeletedWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName APITokenDeletedWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard APITokenDeletedWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment APITokenDeletedWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const APITokenDeletedWebhookEventDataEnvironmentTypeEnvironment APITokenDeletedWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const APITokenDeletedWebhookEventDataMethodCode APITokenDeletedWebhookEventDataMethod = "code"`

        - `const APITokenDeletedWebhookEventDataMethodSSO APITokenDeletedWebhookEventDataMethod = "sso"`

        - `const APITokenDeletedWebhookEventDataMethodGoogle APITokenDeletedWebhookEventDataMethod = "google"`

        - `const APITokenDeletedWebhookEventDataMethodApple APITokenDeletedWebhookEventDataMethod = "apple"`

        - `const APITokenDeletedWebhookEventDataMethodLinkedin APITokenDeletedWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember APITokenDeletedWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const APITokenDeletedWebhookEventDataTeamMemberRoleAdmin APITokenDeletedWebhookEventDataTeamMemberRole = "admin"`

          - `const APITokenDeletedWebhookEventDataTeamMemberRoleManager APITokenDeletedWebhookEventDataTeamMemberRole = "manager"`

          - `const APITokenDeletedWebhookEventDataTeamMemberRoleMember APITokenDeletedWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription APITokenDeletedWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType APITokenDeletedWebhookEventEventType`

      - `const APITokenDeletedWebhookEventEventTypeZeroDayRetentionUpdated APITokenDeletedWebhookEventEventType = "zero_day_retention.updated"`

      - `const APITokenDeletedWebhookEventEventTypePhoneNumberForwardingUpdated APITokenDeletedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const APITokenDeletedWebhookEventEventTypeEnvironmentLineMoved APITokenDeletedWebhookEventEventType = "environment.line_moved"`

      - `const APITokenDeletedWebhookEventEventTypeContactCardCreated APITokenDeletedWebhookEventEventType = "contact_card.created"`

      - `const APITokenDeletedWebhookEventEventTypeContactCardUpdated APITokenDeletedWebhookEventEventType = "contact_card.updated"`

      - `const APITokenDeletedWebhookEventEventTypeContactCardDeleted APITokenDeletedWebhookEventEventType = "contact_card.deleted"`

      - `const APITokenDeletedWebhookEventEventTypeAPITokenCreated APITokenDeletedWebhookEventEventType = "api_token.created"`

      - `const APITokenDeletedWebhookEventEventTypeAPITokenRenamed APITokenDeletedWebhookEventEventType = "api_token.renamed"`

      - `const APITokenDeletedWebhookEventEventTypeAPITokenExpiryScheduled APITokenDeletedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const APITokenDeletedWebhookEventEventTypeAPITokenExpired APITokenDeletedWebhookEventEventType = "api_token.expired"`

      - `const APITokenDeletedWebhookEventEventTypeAPITokenActivated APITokenDeletedWebhookEventEventType = "api_token.activated"`

      - `const APITokenDeletedWebhookEventEventTypeAPITokenDeleted APITokenDeletedWebhookEventEventType = "api_token.deleted"`

      - `const APITokenDeletedWebhookEventEventTypeEnvironmentCreated APITokenDeletedWebhookEventEventType = "environment.created"`

      - `const APITokenDeletedWebhookEventEventTypeEnvironmentRenamed APITokenDeletedWebhookEventEventType = "environment.renamed"`

      - `const APITokenDeletedWebhookEventEventTypeEnvironmentDeleted APITokenDeletedWebhookEventEventType = "environment.deleted"`

      - `const APITokenDeletedWebhookEventEventTypeWebhookSubscriptionCreated APITokenDeletedWebhookEventEventType = "webhook_subscription.created"`

      - `const APITokenDeletedWebhookEventEventTypeWebhookSubscriptionDeleted APITokenDeletedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const APITokenDeletedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged APITokenDeletedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const APITokenDeletedWebhookEventEventTypeWebhookSubscriptionEnabled APITokenDeletedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const APITokenDeletedWebhookEventEventTypeWebhookSubscriptionDisabled APITokenDeletedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const APITokenDeletedWebhookEventEventTypeWebhookSubscriptionEventsUpdated APITokenDeletedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const APITokenDeletedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated APITokenDeletedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const APITokenDeletedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet APITokenDeletedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const APITokenDeletedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared APITokenDeletedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const APITokenDeletedWebhookEventEventTypeTeamMemberAdded APITokenDeletedWebhookEventEventType = "team_member.added"`

      - `const APITokenDeletedWebhookEventEventTypeTeamMemberSignedIn APITokenDeletedWebhookEventEventType = "team_member.signed_in"`

      - `const APITokenDeletedWebhookEventEventTypeTeamMemberSignedOut APITokenDeletedWebhookEventEventType = "team_member.signed_out"`

      - `const APITokenDeletedWebhookEventEventTypeMessageSent APITokenDeletedWebhookEventEventType = "message.sent"`

      - `const APITokenDeletedWebhookEventEventTypeMessageReceived APITokenDeletedWebhookEventEventType = "message.received"`

      - `const APITokenDeletedWebhookEventEventTypeMessageRead APITokenDeletedWebhookEventEventType = "message.read"`

      - `const APITokenDeletedWebhookEventEventTypeMessageDelivered APITokenDeletedWebhookEventEventType = "message.delivered"`

      - `const APITokenDeletedWebhookEventEventTypeMessageFailed APITokenDeletedWebhookEventEventType = "message.failed"`

      - `const APITokenDeletedWebhookEventEventTypeMessageEdited APITokenDeletedWebhookEventEventType = "message.edited"`

      - `const APITokenDeletedWebhookEventEventTypeReactionAdded APITokenDeletedWebhookEventEventType = "reaction.added"`

      - `const APITokenDeletedWebhookEventEventTypeReactionRemoved APITokenDeletedWebhookEventEventType = "reaction.removed"`

      - `const APITokenDeletedWebhookEventEventTypePollReceived APITokenDeletedWebhookEventEventType = "poll.received"`

      - `const APITokenDeletedWebhookEventEventTypePollFailed APITokenDeletedWebhookEventEventType = "poll.failed"`

      - `const APITokenDeletedWebhookEventEventTypePollSent APITokenDeletedWebhookEventEventType = "poll.sent"`

      - `const APITokenDeletedWebhookEventEventTypePollDelivered APITokenDeletedWebhookEventEventType = "poll.delivered"`

      - `const APITokenDeletedWebhookEventEventTypePollRead APITokenDeletedWebhookEventEventType = "poll.read"`

      - `const APITokenDeletedWebhookEventEventTypePollUpdated APITokenDeletedWebhookEventEventType = "poll.updated"`

      - `const APITokenDeletedWebhookEventEventTypePollVoteAdded APITokenDeletedWebhookEventEventType = "poll.vote.added"`

      - `const APITokenDeletedWebhookEventEventTypePollVoteRemoved APITokenDeletedWebhookEventEventType = "poll.vote.removed"`

      - `const APITokenDeletedWebhookEventEventTypePollReactionAdded APITokenDeletedWebhookEventEventType = "poll.reaction.added"`

      - `const APITokenDeletedWebhookEventEventTypeParticipantAdded APITokenDeletedWebhookEventEventType = "participant.added"`

      - `const APITokenDeletedWebhookEventEventTypeParticipantRemoved APITokenDeletedWebhookEventEventType = "participant.removed"`

      - `const APITokenDeletedWebhookEventEventTypeChatCreated APITokenDeletedWebhookEventEventType = "chat.created"`

      - `const APITokenDeletedWebhookEventEventTypeChatGroupNameUpdated APITokenDeletedWebhookEventEventType = "chat.group_name_updated"`

      - `const APITokenDeletedWebhookEventEventTypeChatGroupIconUpdated APITokenDeletedWebhookEventEventType = "chat.group_icon_updated"`

      - `const APITokenDeletedWebhookEventEventTypeChatGroupNameUpdateFailed APITokenDeletedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const APITokenDeletedWebhookEventEventTypeChatGroupIconUpdateFailed APITokenDeletedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const APITokenDeletedWebhookEventEventTypeChatBackgroundUpdated APITokenDeletedWebhookEventEventType = "chat.background_updated"`

      - `const APITokenDeletedWebhookEventEventTypeChatBackgroundUpdateFailed APITokenDeletedWebhookEventEventType = "chat.background_update_failed"`

      - `const APITokenDeletedWebhookEventEventTypeChatTypingIndicatorStarted APITokenDeletedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const APITokenDeletedWebhookEventEventTypeChatTypingIndicatorStopped APITokenDeletedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const APITokenDeletedWebhookEventEventTypePhoneNumberStatusUpdated APITokenDeletedWebhookEventEventType = "phone_number.status_updated"`

      - `const APITokenDeletedWebhookEventEventTypePhoneNumberAssigned APITokenDeletedWebhookEventEventType = "phone_number.assigned"`

      - `const APITokenDeletedWebhookEventEventTypePhoneNumberReleased APITokenDeletedWebhookEventEventType = "phone_number.released"`

      - `const APITokenDeletedWebhookEventEventTypePhoneNumberLineTypeUpdated APITokenDeletedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const APITokenDeletedWebhookEventEventTypeContactCardReceived APITokenDeletedWebhookEventEventType = "contact_card.received"`

      - `const APITokenDeletedWebhookEventEventTypeCallInitiated APITokenDeletedWebhookEventEventType = "call.initiated"`

      - `const APITokenDeletedWebhookEventEventTypeCallRinging APITokenDeletedWebhookEventEventType = "call.ringing"`

      - `const APITokenDeletedWebhookEventEventTypeCallAnswered APITokenDeletedWebhookEventEventType = "call.answered"`

      - `const APITokenDeletedWebhookEventEventTypeCallEnded APITokenDeletedWebhookEventEventType = "call.ended"`

      - `const APITokenDeletedWebhookEventEventTypeCallFailed APITokenDeletedWebhookEventEventType = "call.failed"`

      - `const APITokenDeletedWebhookEventEventTypeCallDeclined APITokenDeletedWebhookEventEventType = "call.declined"`

      - `const APITokenDeletedWebhookEventEventTypeCallNoAnswer APITokenDeletedWebhookEventEventType = "call.no_answer"`

      - `const APITokenDeletedWebhookEventEventTypeLocationSharingStarted APITokenDeletedWebhookEventEventType = "location.sharing.started"`

      - `const APITokenDeletedWebhookEventEventTypeLocationSharingStopped APITokenDeletedWebhookEventEventType = "location.sharing.stopped"`

      - `const APITokenDeletedWebhookEventEventTypePaymentSucceeded APITokenDeletedWebhookEventEventType = "payment.succeeded"`

      - `const APITokenDeletedWebhookEventEventTypePaymentCanceled APITokenDeletedWebhookEventEventType = "payment.canceled"`

      - `const APITokenDeletedWebhookEventEventTypePaymentExpired APITokenDeletedWebhookEventEventType = "payment.expired"`

      - `const APITokenDeletedWebhookEventEventTypePaymentDeclined APITokenDeletedWebhookEventEventType = "payment.declined"`

      - `const APITokenDeletedWebhookEventEventTypePaymentAuthorized APITokenDeletedWebhookEventEventType = "payment.authorized"`

      - `const APITokenDeletedWebhookEventEventTypeConnectionCreated APITokenDeletedWebhookEventEventType = "connection.created"`

      - `const APITokenDeletedWebhookEventEventTypeConnectionRevoked APITokenDeletedWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type EnvironmentCreatedWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data EnvironmentCreatedWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor EnvironmentCreatedWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const EnvironmentCreatedWebhookEventDataActorTypeTeamMember EnvironmentCreatedWebhookEventDataActorType = "team_member"`

          - `const EnvironmentCreatedWebhookEventDataActorTypeAPI EnvironmentCreatedWebhookEventDataActorType = "api"`

          - `const EnvironmentCreatedWebhookEventDataActorTypeSystem EnvironmentCreatedWebhookEventDataActorType = "system"`

          - `const EnvironmentCreatedWebhookEventDataActorTypeUnknown EnvironmentCreatedWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const EnvironmentCreatedWebhookEventDataOriginDashboard EnvironmentCreatedWebhookEventDataOrigin = "dashboard"`

        - `const EnvironmentCreatedWebhookEventDataOriginAPI EnvironmentCreatedWebhookEventDataOrigin = "api"`

        - `const EnvironmentCreatedWebhookEventDataOriginLinq EnvironmentCreatedWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken EnvironmentCreatedWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change EnvironmentCreatedWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName EnvironmentCreatedWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL EnvironmentCreatedWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName EnvironmentCreatedWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard EnvironmentCreatedWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment EnvironmentCreatedWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const EnvironmentCreatedWebhookEventDataEnvironmentTypeEnvironment EnvironmentCreatedWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const EnvironmentCreatedWebhookEventDataMethodCode EnvironmentCreatedWebhookEventDataMethod = "code"`

        - `const EnvironmentCreatedWebhookEventDataMethodSSO EnvironmentCreatedWebhookEventDataMethod = "sso"`

        - `const EnvironmentCreatedWebhookEventDataMethodGoogle EnvironmentCreatedWebhookEventDataMethod = "google"`

        - `const EnvironmentCreatedWebhookEventDataMethodApple EnvironmentCreatedWebhookEventDataMethod = "apple"`

        - `const EnvironmentCreatedWebhookEventDataMethodLinkedin EnvironmentCreatedWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember EnvironmentCreatedWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const EnvironmentCreatedWebhookEventDataTeamMemberRoleAdmin EnvironmentCreatedWebhookEventDataTeamMemberRole = "admin"`

          - `const EnvironmentCreatedWebhookEventDataTeamMemberRoleManager EnvironmentCreatedWebhookEventDataTeamMemberRole = "manager"`

          - `const EnvironmentCreatedWebhookEventDataTeamMemberRoleMember EnvironmentCreatedWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription EnvironmentCreatedWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType EnvironmentCreatedWebhookEventEventType`

      - `const EnvironmentCreatedWebhookEventEventTypeZeroDayRetentionUpdated EnvironmentCreatedWebhookEventEventType = "zero_day_retention.updated"`

      - `const EnvironmentCreatedWebhookEventEventTypePhoneNumberForwardingUpdated EnvironmentCreatedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const EnvironmentCreatedWebhookEventEventTypeEnvironmentLineMoved EnvironmentCreatedWebhookEventEventType = "environment.line_moved"`

      - `const EnvironmentCreatedWebhookEventEventTypeContactCardCreated EnvironmentCreatedWebhookEventEventType = "contact_card.created"`

      - `const EnvironmentCreatedWebhookEventEventTypeContactCardUpdated EnvironmentCreatedWebhookEventEventType = "contact_card.updated"`

      - `const EnvironmentCreatedWebhookEventEventTypeContactCardDeleted EnvironmentCreatedWebhookEventEventType = "contact_card.deleted"`

      - `const EnvironmentCreatedWebhookEventEventTypeAPITokenCreated EnvironmentCreatedWebhookEventEventType = "api_token.created"`

      - `const EnvironmentCreatedWebhookEventEventTypeAPITokenRenamed EnvironmentCreatedWebhookEventEventType = "api_token.renamed"`

      - `const EnvironmentCreatedWebhookEventEventTypeAPITokenExpiryScheduled EnvironmentCreatedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const EnvironmentCreatedWebhookEventEventTypeAPITokenExpired EnvironmentCreatedWebhookEventEventType = "api_token.expired"`

      - `const EnvironmentCreatedWebhookEventEventTypeAPITokenActivated EnvironmentCreatedWebhookEventEventType = "api_token.activated"`

      - `const EnvironmentCreatedWebhookEventEventTypeAPITokenDeleted EnvironmentCreatedWebhookEventEventType = "api_token.deleted"`

      - `const EnvironmentCreatedWebhookEventEventTypeEnvironmentCreated EnvironmentCreatedWebhookEventEventType = "environment.created"`

      - `const EnvironmentCreatedWebhookEventEventTypeEnvironmentRenamed EnvironmentCreatedWebhookEventEventType = "environment.renamed"`

      - `const EnvironmentCreatedWebhookEventEventTypeEnvironmentDeleted EnvironmentCreatedWebhookEventEventType = "environment.deleted"`

      - `const EnvironmentCreatedWebhookEventEventTypeWebhookSubscriptionCreated EnvironmentCreatedWebhookEventEventType = "webhook_subscription.created"`

      - `const EnvironmentCreatedWebhookEventEventTypeWebhookSubscriptionDeleted EnvironmentCreatedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const EnvironmentCreatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged EnvironmentCreatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const EnvironmentCreatedWebhookEventEventTypeWebhookSubscriptionEnabled EnvironmentCreatedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const EnvironmentCreatedWebhookEventEventTypeWebhookSubscriptionDisabled EnvironmentCreatedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const EnvironmentCreatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated EnvironmentCreatedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const EnvironmentCreatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated EnvironmentCreatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const EnvironmentCreatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet EnvironmentCreatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const EnvironmentCreatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared EnvironmentCreatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const EnvironmentCreatedWebhookEventEventTypeTeamMemberAdded EnvironmentCreatedWebhookEventEventType = "team_member.added"`

      - `const EnvironmentCreatedWebhookEventEventTypeTeamMemberSignedIn EnvironmentCreatedWebhookEventEventType = "team_member.signed_in"`

      - `const EnvironmentCreatedWebhookEventEventTypeTeamMemberSignedOut EnvironmentCreatedWebhookEventEventType = "team_member.signed_out"`

      - `const EnvironmentCreatedWebhookEventEventTypeMessageSent EnvironmentCreatedWebhookEventEventType = "message.sent"`

      - `const EnvironmentCreatedWebhookEventEventTypeMessageReceived EnvironmentCreatedWebhookEventEventType = "message.received"`

      - `const EnvironmentCreatedWebhookEventEventTypeMessageRead EnvironmentCreatedWebhookEventEventType = "message.read"`

      - `const EnvironmentCreatedWebhookEventEventTypeMessageDelivered EnvironmentCreatedWebhookEventEventType = "message.delivered"`

      - `const EnvironmentCreatedWebhookEventEventTypeMessageFailed EnvironmentCreatedWebhookEventEventType = "message.failed"`

      - `const EnvironmentCreatedWebhookEventEventTypeMessageEdited EnvironmentCreatedWebhookEventEventType = "message.edited"`

      - `const EnvironmentCreatedWebhookEventEventTypeReactionAdded EnvironmentCreatedWebhookEventEventType = "reaction.added"`

      - `const EnvironmentCreatedWebhookEventEventTypeReactionRemoved EnvironmentCreatedWebhookEventEventType = "reaction.removed"`

      - `const EnvironmentCreatedWebhookEventEventTypePollReceived EnvironmentCreatedWebhookEventEventType = "poll.received"`

      - `const EnvironmentCreatedWebhookEventEventTypePollFailed EnvironmentCreatedWebhookEventEventType = "poll.failed"`

      - `const EnvironmentCreatedWebhookEventEventTypePollSent EnvironmentCreatedWebhookEventEventType = "poll.sent"`

      - `const EnvironmentCreatedWebhookEventEventTypePollDelivered EnvironmentCreatedWebhookEventEventType = "poll.delivered"`

      - `const EnvironmentCreatedWebhookEventEventTypePollRead EnvironmentCreatedWebhookEventEventType = "poll.read"`

      - `const EnvironmentCreatedWebhookEventEventTypePollUpdated EnvironmentCreatedWebhookEventEventType = "poll.updated"`

      - `const EnvironmentCreatedWebhookEventEventTypePollVoteAdded EnvironmentCreatedWebhookEventEventType = "poll.vote.added"`

      - `const EnvironmentCreatedWebhookEventEventTypePollVoteRemoved EnvironmentCreatedWebhookEventEventType = "poll.vote.removed"`

      - `const EnvironmentCreatedWebhookEventEventTypePollReactionAdded EnvironmentCreatedWebhookEventEventType = "poll.reaction.added"`

      - `const EnvironmentCreatedWebhookEventEventTypeParticipantAdded EnvironmentCreatedWebhookEventEventType = "participant.added"`

      - `const EnvironmentCreatedWebhookEventEventTypeParticipantRemoved EnvironmentCreatedWebhookEventEventType = "participant.removed"`

      - `const EnvironmentCreatedWebhookEventEventTypeChatCreated EnvironmentCreatedWebhookEventEventType = "chat.created"`

      - `const EnvironmentCreatedWebhookEventEventTypeChatGroupNameUpdated EnvironmentCreatedWebhookEventEventType = "chat.group_name_updated"`

      - `const EnvironmentCreatedWebhookEventEventTypeChatGroupIconUpdated EnvironmentCreatedWebhookEventEventType = "chat.group_icon_updated"`

      - `const EnvironmentCreatedWebhookEventEventTypeChatGroupNameUpdateFailed EnvironmentCreatedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const EnvironmentCreatedWebhookEventEventTypeChatGroupIconUpdateFailed EnvironmentCreatedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const EnvironmentCreatedWebhookEventEventTypeChatBackgroundUpdated EnvironmentCreatedWebhookEventEventType = "chat.background_updated"`

      - `const EnvironmentCreatedWebhookEventEventTypeChatBackgroundUpdateFailed EnvironmentCreatedWebhookEventEventType = "chat.background_update_failed"`

      - `const EnvironmentCreatedWebhookEventEventTypeChatTypingIndicatorStarted EnvironmentCreatedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const EnvironmentCreatedWebhookEventEventTypeChatTypingIndicatorStopped EnvironmentCreatedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const EnvironmentCreatedWebhookEventEventTypePhoneNumberStatusUpdated EnvironmentCreatedWebhookEventEventType = "phone_number.status_updated"`

      - `const EnvironmentCreatedWebhookEventEventTypePhoneNumberAssigned EnvironmentCreatedWebhookEventEventType = "phone_number.assigned"`

      - `const EnvironmentCreatedWebhookEventEventTypePhoneNumberReleased EnvironmentCreatedWebhookEventEventType = "phone_number.released"`

      - `const EnvironmentCreatedWebhookEventEventTypePhoneNumberLineTypeUpdated EnvironmentCreatedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const EnvironmentCreatedWebhookEventEventTypeContactCardReceived EnvironmentCreatedWebhookEventEventType = "contact_card.received"`

      - `const EnvironmentCreatedWebhookEventEventTypeCallInitiated EnvironmentCreatedWebhookEventEventType = "call.initiated"`

      - `const EnvironmentCreatedWebhookEventEventTypeCallRinging EnvironmentCreatedWebhookEventEventType = "call.ringing"`

      - `const EnvironmentCreatedWebhookEventEventTypeCallAnswered EnvironmentCreatedWebhookEventEventType = "call.answered"`

      - `const EnvironmentCreatedWebhookEventEventTypeCallEnded EnvironmentCreatedWebhookEventEventType = "call.ended"`

      - `const EnvironmentCreatedWebhookEventEventTypeCallFailed EnvironmentCreatedWebhookEventEventType = "call.failed"`

      - `const EnvironmentCreatedWebhookEventEventTypeCallDeclined EnvironmentCreatedWebhookEventEventType = "call.declined"`

      - `const EnvironmentCreatedWebhookEventEventTypeCallNoAnswer EnvironmentCreatedWebhookEventEventType = "call.no_answer"`

      - `const EnvironmentCreatedWebhookEventEventTypeLocationSharingStarted EnvironmentCreatedWebhookEventEventType = "location.sharing.started"`

      - `const EnvironmentCreatedWebhookEventEventTypeLocationSharingStopped EnvironmentCreatedWebhookEventEventType = "location.sharing.stopped"`

      - `const EnvironmentCreatedWebhookEventEventTypePaymentSucceeded EnvironmentCreatedWebhookEventEventType = "payment.succeeded"`

      - `const EnvironmentCreatedWebhookEventEventTypePaymentCanceled EnvironmentCreatedWebhookEventEventType = "payment.canceled"`

      - `const EnvironmentCreatedWebhookEventEventTypePaymentExpired EnvironmentCreatedWebhookEventEventType = "payment.expired"`

      - `const EnvironmentCreatedWebhookEventEventTypePaymentDeclined EnvironmentCreatedWebhookEventEventType = "payment.declined"`

      - `const EnvironmentCreatedWebhookEventEventTypePaymentAuthorized EnvironmentCreatedWebhookEventEventType = "payment.authorized"`

      - `const EnvironmentCreatedWebhookEventEventTypeConnectionCreated EnvironmentCreatedWebhookEventEventType = "connection.created"`

      - `const EnvironmentCreatedWebhookEventEventTypeConnectionRevoked EnvironmentCreatedWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type EnvironmentRenamedWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data EnvironmentRenamedWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor EnvironmentRenamedWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const EnvironmentRenamedWebhookEventDataActorTypeTeamMember EnvironmentRenamedWebhookEventDataActorType = "team_member"`

          - `const EnvironmentRenamedWebhookEventDataActorTypeAPI EnvironmentRenamedWebhookEventDataActorType = "api"`

          - `const EnvironmentRenamedWebhookEventDataActorTypeSystem EnvironmentRenamedWebhookEventDataActorType = "system"`

          - `const EnvironmentRenamedWebhookEventDataActorTypeUnknown EnvironmentRenamedWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const EnvironmentRenamedWebhookEventDataOriginDashboard EnvironmentRenamedWebhookEventDataOrigin = "dashboard"`

        - `const EnvironmentRenamedWebhookEventDataOriginAPI EnvironmentRenamedWebhookEventDataOrigin = "api"`

        - `const EnvironmentRenamedWebhookEventDataOriginLinq EnvironmentRenamedWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken EnvironmentRenamedWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change EnvironmentRenamedWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName EnvironmentRenamedWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL EnvironmentRenamedWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName EnvironmentRenamedWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard EnvironmentRenamedWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment EnvironmentRenamedWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const EnvironmentRenamedWebhookEventDataEnvironmentTypeEnvironment EnvironmentRenamedWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const EnvironmentRenamedWebhookEventDataMethodCode EnvironmentRenamedWebhookEventDataMethod = "code"`

        - `const EnvironmentRenamedWebhookEventDataMethodSSO EnvironmentRenamedWebhookEventDataMethod = "sso"`

        - `const EnvironmentRenamedWebhookEventDataMethodGoogle EnvironmentRenamedWebhookEventDataMethod = "google"`

        - `const EnvironmentRenamedWebhookEventDataMethodApple EnvironmentRenamedWebhookEventDataMethod = "apple"`

        - `const EnvironmentRenamedWebhookEventDataMethodLinkedin EnvironmentRenamedWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember EnvironmentRenamedWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const EnvironmentRenamedWebhookEventDataTeamMemberRoleAdmin EnvironmentRenamedWebhookEventDataTeamMemberRole = "admin"`

          - `const EnvironmentRenamedWebhookEventDataTeamMemberRoleManager EnvironmentRenamedWebhookEventDataTeamMemberRole = "manager"`

          - `const EnvironmentRenamedWebhookEventDataTeamMemberRoleMember EnvironmentRenamedWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription EnvironmentRenamedWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType EnvironmentRenamedWebhookEventEventType`

      - `const EnvironmentRenamedWebhookEventEventTypeZeroDayRetentionUpdated EnvironmentRenamedWebhookEventEventType = "zero_day_retention.updated"`

      - `const EnvironmentRenamedWebhookEventEventTypePhoneNumberForwardingUpdated EnvironmentRenamedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const EnvironmentRenamedWebhookEventEventTypeEnvironmentLineMoved EnvironmentRenamedWebhookEventEventType = "environment.line_moved"`

      - `const EnvironmentRenamedWebhookEventEventTypeContactCardCreated EnvironmentRenamedWebhookEventEventType = "contact_card.created"`

      - `const EnvironmentRenamedWebhookEventEventTypeContactCardUpdated EnvironmentRenamedWebhookEventEventType = "contact_card.updated"`

      - `const EnvironmentRenamedWebhookEventEventTypeContactCardDeleted EnvironmentRenamedWebhookEventEventType = "contact_card.deleted"`

      - `const EnvironmentRenamedWebhookEventEventTypeAPITokenCreated EnvironmentRenamedWebhookEventEventType = "api_token.created"`

      - `const EnvironmentRenamedWebhookEventEventTypeAPITokenRenamed EnvironmentRenamedWebhookEventEventType = "api_token.renamed"`

      - `const EnvironmentRenamedWebhookEventEventTypeAPITokenExpiryScheduled EnvironmentRenamedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const EnvironmentRenamedWebhookEventEventTypeAPITokenExpired EnvironmentRenamedWebhookEventEventType = "api_token.expired"`

      - `const EnvironmentRenamedWebhookEventEventTypeAPITokenActivated EnvironmentRenamedWebhookEventEventType = "api_token.activated"`

      - `const EnvironmentRenamedWebhookEventEventTypeAPITokenDeleted EnvironmentRenamedWebhookEventEventType = "api_token.deleted"`

      - `const EnvironmentRenamedWebhookEventEventTypeEnvironmentCreated EnvironmentRenamedWebhookEventEventType = "environment.created"`

      - `const EnvironmentRenamedWebhookEventEventTypeEnvironmentRenamed EnvironmentRenamedWebhookEventEventType = "environment.renamed"`

      - `const EnvironmentRenamedWebhookEventEventTypeEnvironmentDeleted EnvironmentRenamedWebhookEventEventType = "environment.deleted"`

      - `const EnvironmentRenamedWebhookEventEventTypeWebhookSubscriptionCreated EnvironmentRenamedWebhookEventEventType = "webhook_subscription.created"`

      - `const EnvironmentRenamedWebhookEventEventTypeWebhookSubscriptionDeleted EnvironmentRenamedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const EnvironmentRenamedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged EnvironmentRenamedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const EnvironmentRenamedWebhookEventEventTypeWebhookSubscriptionEnabled EnvironmentRenamedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const EnvironmentRenamedWebhookEventEventTypeWebhookSubscriptionDisabled EnvironmentRenamedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const EnvironmentRenamedWebhookEventEventTypeWebhookSubscriptionEventsUpdated EnvironmentRenamedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const EnvironmentRenamedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated EnvironmentRenamedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const EnvironmentRenamedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet EnvironmentRenamedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const EnvironmentRenamedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared EnvironmentRenamedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const EnvironmentRenamedWebhookEventEventTypeTeamMemberAdded EnvironmentRenamedWebhookEventEventType = "team_member.added"`

      - `const EnvironmentRenamedWebhookEventEventTypeTeamMemberSignedIn EnvironmentRenamedWebhookEventEventType = "team_member.signed_in"`

      - `const EnvironmentRenamedWebhookEventEventTypeTeamMemberSignedOut EnvironmentRenamedWebhookEventEventType = "team_member.signed_out"`

      - `const EnvironmentRenamedWebhookEventEventTypeMessageSent EnvironmentRenamedWebhookEventEventType = "message.sent"`

      - `const EnvironmentRenamedWebhookEventEventTypeMessageReceived EnvironmentRenamedWebhookEventEventType = "message.received"`

      - `const EnvironmentRenamedWebhookEventEventTypeMessageRead EnvironmentRenamedWebhookEventEventType = "message.read"`

      - `const EnvironmentRenamedWebhookEventEventTypeMessageDelivered EnvironmentRenamedWebhookEventEventType = "message.delivered"`

      - `const EnvironmentRenamedWebhookEventEventTypeMessageFailed EnvironmentRenamedWebhookEventEventType = "message.failed"`

      - `const EnvironmentRenamedWebhookEventEventTypeMessageEdited EnvironmentRenamedWebhookEventEventType = "message.edited"`

      - `const EnvironmentRenamedWebhookEventEventTypeReactionAdded EnvironmentRenamedWebhookEventEventType = "reaction.added"`

      - `const EnvironmentRenamedWebhookEventEventTypeReactionRemoved EnvironmentRenamedWebhookEventEventType = "reaction.removed"`

      - `const EnvironmentRenamedWebhookEventEventTypePollReceived EnvironmentRenamedWebhookEventEventType = "poll.received"`

      - `const EnvironmentRenamedWebhookEventEventTypePollFailed EnvironmentRenamedWebhookEventEventType = "poll.failed"`

      - `const EnvironmentRenamedWebhookEventEventTypePollSent EnvironmentRenamedWebhookEventEventType = "poll.sent"`

      - `const EnvironmentRenamedWebhookEventEventTypePollDelivered EnvironmentRenamedWebhookEventEventType = "poll.delivered"`

      - `const EnvironmentRenamedWebhookEventEventTypePollRead EnvironmentRenamedWebhookEventEventType = "poll.read"`

      - `const EnvironmentRenamedWebhookEventEventTypePollUpdated EnvironmentRenamedWebhookEventEventType = "poll.updated"`

      - `const EnvironmentRenamedWebhookEventEventTypePollVoteAdded EnvironmentRenamedWebhookEventEventType = "poll.vote.added"`

      - `const EnvironmentRenamedWebhookEventEventTypePollVoteRemoved EnvironmentRenamedWebhookEventEventType = "poll.vote.removed"`

      - `const EnvironmentRenamedWebhookEventEventTypePollReactionAdded EnvironmentRenamedWebhookEventEventType = "poll.reaction.added"`

      - `const EnvironmentRenamedWebhookEventEventTypeParticipantAdded EnvironmentRenamedWebhookEventEventType = "participant.added"`

      - `const EnvironmentRenamedWebhookEventEventTypeParticipantRemoved EnvironmentRenamedWebhookEventEventType = "participant.removed"`

      - `const EnvironmentRenamedWebhookEventEventTypeChatCreated EnvironmentRenamedWebhookEventEventType = "chat.created"`

      - `const EnvironmentRenamedWebhookEventEventTypeChatGroupNameUpdated EnvironmentRenamedWebhookEventEventType = "chat.group_name_updated"`

      - `const EnvironmentRenamedWebhookEventEventTypeChatGroupIconUpdated EnvironmentRenamedWebhookEventEventType = "chat.group_icon_updated"`

      - `const EnvironmentRenamedWebhookEventEventTypeChatGroupNameUpdateFailed EnvironmentRenamedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const EnvironmentRenamedWebhookEventEventTypeChatGroupIconUpdateFailed EnvironmentRenamedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const EnvironmentRenamedWebhookEventEventTypeChatBackgroundUpdated EnvironmentRenamedWebhookEventEventType = "chat.background_updated"`

      - `const EnvironmentRenamedWebhookEventEventTypeChatBackgroundUpdateFailed EnvironmentRenamedWebhookEventEventType = "chat.background_update_failed"`

      - `const EnvironmentRenamedWebhookEventEventTypeChatTypingIndicatorStarted EnvironmentRenamedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const EnvironmentRenamedWebhookEventEventTypeChatTypingIndicatorStopped EnvironmentRenamedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const EnvironmentRenamedWebhookEventEventTypePhoneNumberStatusUpdated EnvironmentRenamedWebhookEventEventType = "phone_number.status_updated"`

      - `const EnvironmentRenamedWebhookEventEventTypePhoneNumberAssigned EnvironmentRenamedWebhookEventEventType = "phone_number.assigned"`

      - `const EnvironmentRenamedWebhookEventEventTypePhoneNumberReleased EnvironmentRenamedWebhookEventEventType = "phone_number.released"`

      - `const EnvironmentRenamedWebhookEventEventTypePhoneNumberLineTypeUpdated EnvironmentRenamedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const EnvironmentRenamedWebhookEventEventTypeContactCardReceived EnvironmentRenamedWebhookEventEventType = "contact_card.received"`

      - `const EnvironmentRenamedWebhookEventEventTypeCallInitiated EnvironmentRenamedWebhookEventEventType = "call.initiated"`

      - `const EnvironmentRenamedWebhookEventEventTypeCallRinging EnvironmentRenamedWebhookEventEventType = "call.ringing"`

      - `const EnvironmentRenamedWebhookEventEventTypeCallAnswered EnvironmentRenamedWebhookEventEventType = "call.answered"`

      - `const EnvironmentRenamedWebhookEventEventTypeCallEnded EnvironmentRenamedWebhookEventEventType = "call.ended"`

      - `const EnvironmentRenamedWebhookEventEventTypeCallFailed EnvironmentRenamedWebhookEventEventType = "call.failed"`

      - `const EnvironmentRenamedWebhookEventEventTypeCallDeclined EnvironmentRenamedWebhookEventEventType = "call.declined"`

      - `const EnvironmentRenamedWebhookEventEventTypeCallNoAnswer EnvironmentRenamedWebhookEventEventType = "call.no_answer"`

      - `const EnvironmentRenamedWebhookEventEventTypeLocationSharingStarted EnvironmentRenamedWebhookEventEventType = "location.sharing.started"`

      - `const EnvironmentRenamedWebhookEventEventTypeLocationSharingStopped EnvironmentRenamedWebhookEventEventType = "location.sharing.stopped"`

      - `const EnvironmentRenamedWebhookEventEventTypePaymentSucceeded EnvironmentRenamedWebhookEventEventType = "payment.succeeded"`

      - `const EnvironmentRenamedWebhookEventEventTypePaymentCanceled EnvironmentRenamedWebhookEventEventType = "payment.canceled"`

      - `const EnvironmentRenamedWebhookEventEventTypePaymentExpired EnvironmentRenamedWebhookEventEventType = "payment.expired"`

      - `const EnvironmentRenamedWebhookEventEventTypePaymentDeclined EnvironmentRenamedWebhookEventEventType = "payment.declined"`

      - `const EnvironmentRenamedWebhookEventEventTypePaymentAuthorized EnvironmentRenamedWebhookEventEventType = "payment.authorized"`

      - `const EnvironmentRenamedWebhookEventEventTypeConnectionCreated EnvironmentRenamedWebhookEventEventType = "connection.created"`

      - `const EnvironmentRenamedWebhookEventEventTypeConnectionRevoked EnvironmentRenamedWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type EnvironmentDeletedWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data EnvironmentDeletedWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor EnvironmentDeletedWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const EnvironmentDeletedWebhookEventDataActorTypeTeamMember EnvironmentDeletedWebhookEventDataActorType = "team_member"`

          - `const EnvironmentDeletedWebhookEventDataActorTypeAPI EnvironmentDeletedWebhookEventDataActorType = "api"`

          - `const EnvironmentDeletedWebhookEventDataActorTypeSystem EnvironmentDeletedWebhookEventDataActorType = "system"`

          - `const EnvironmentDeletedWebhookEventDataActorTypeUnknown EnvironmentDeletedWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const EnvironmentDeletedWebhookEventDataOriginDashboard EnvironmentDeletedWebhookEventDataOrigin = "dashboard"`

        - `const EnvironmentDeletedWebhookEventDataOriginAPI EnvironmentDeletedWebhookEventDataOrigin = "api"`

        - `const EnvironmentDeletedWebhookEventDataOriginLinq EnvironmentDeletedWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken EnvironmentDeletedWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change EnvironmentDeletedWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName EnvironmentDeletedWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL EnvironmentDeletedWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName EnvironmentDeletedWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard EnvironmentDeletedWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment EnvironmentDeletedWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const EnvironmentDeletedWebhookEventDataEnvironmentTypeEnvironment EnvironmentDeletedWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const EnvironmentDeletedWebhookEventDataMethodCode EnvironmentDeletedWebhookEventDataMethod = "code"`

        - `const EnvironmentDeletedWebhookEventDataMethodSSO EnvironmentDeletedWebhookEventDataMethod = "sso"`

        - `const EnvironmentDeletedWebhookEventDataMethodGoogle EnvironmentDeletedWebhookEventDataMethod = "google"`

        - `const EnvironmentDeletedWebhookEventDataMethodApple EnvironmentDeletedWebhookEventDataMethod = "apple"`

        - `const EnvironmentDeletedWebhookEventDataMethodLinkedin EnvironmentDeletedWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember EnvironmentDeletedWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const EnvironmentDeletedWebhookEventDataTeamMemberRoleAdmin EnvironmentDeletedWebhookEventDataTeamMemberRole = "admin"`

          - `const EnvironmentDeletedWebhookEventDataTeamMemberRoleManager EnvironmentDeletedWebhookEventDataTeamMemberRole = "manager"`

          - `const EnvironmentDeletedWebhookEventDataTeamMemberRoleMember EnvironmentDeletedWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription EnvironmentDeletedWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType EnvironmentDeletedWebhookEventEventType`

      - `const EnvironmentDeletedWebhookEventEventTypeZeroDayRetentionUpdated EnvironmentDeletedWebhookEventEventType = "zero_day_retention.updated"`

      - `const EnvironmentDeletedWebhookEventEventTypePhoneNumberForwardingUpdated EnvironmentDeletedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const EnvironmentDeletedWebhookEventEventTypeEnvironmentLineMoved EnvironmentDeletedWebhookEventEventType = "environment.line_moved"`

      - `const EnvironmentDeletedWebhookEventEventTypeContactCardCreated EnvironmentDeletedWebhookEventEventType = "contact_card.created"`

      - `const EnvironmentDeletedWebhookEventEventTypeContactCardUpdated EnvironmentDeletedWebhookEventEventType = "contact_card.updated"`

      - `const EnvironmentDeletedWebhookEventEventTypeContactCardDeleted EnvironmentDeletedWebhookEventEventType = "contact_card.deleted"`

      - `const EnvironmentDeletedWebhookEventEventTypeAPITokenCreated EnvironmentDeletedWebhookEventEventType = "api_token.created"`

      - `const EnvironmentDeletedWebhookEventEventTypeAPITokenRenamed EnvironmentDeletedWebhookEventEventType = "api_token.renamed"`

      - `const EnvironmentDeletedWebhookEventEventTypeAPITokenExpiryScheduled EnvironmentDeletedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const EnvironmentDeletedWebhookEventEventTypeAPITokenExpired EnvironmentDeletedWebhookEventEventType = "api_token.expired"`

      - `const EnvironmentDeletedWebhookEventEventTypeAPITokenActivated EnvironmentDeletedWebhookEventEventType = "api_token.activated"`

      - `const EnvironmentDeletedWebhookEventEventTypeAPITokenDeleted EnvironmentDeletedWebhookEventEventType = "api_token.deleted"`

      - `const EnvironmentDeletedWebhookEventEventTypeEnvironmentCreated EnvironmentDeletedWebhookEventEventType = "environment.created"`

      - `const EnvironmentDeletedWebhookEventEventTypeEnvironmentRenamed EnvironmentDeletedWebhookEventEventType = "environment.renamed"`

      - `const EnvironmentDeletedWebhookEventEventTypeEnvironmentDeleted EnvironmentDeletedWebhookEventEventType = "environment.deleted"`

      - `const EnvironmentDeletedWebhookEventEventTypeWebhookSubscriptionCreated EnvironmentDeletedWebhookEventEventType = "webhook_subscription.created"`

      - `const EnvironmentDeletedWebhookEventEventTypeWebhookSubscriptionDeleted EnvironmentDeletedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const EnvironmentDeletedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged EnvironmentDeletedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const EnvironmentDeletedWebhookEventEventTypeWebhookSubscriptionEnabled EnvironmentDeletedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const EnvironmentDeletedWebhookEventEventTypeWebhookSubscriptionDisabled EnvironmentDeletedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const EnvironmentDeletedWebhookEventEventTypeWebhookSubscriptionEventsUpdated EnvironmentDeletedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const EnvironmentDeletedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated EnvironmentDeletedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const EnvironmentDeletedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet EnvironmentDeletedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const EnvironmentDeletedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared EnvironmentDeletedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const EnvironmentDeletedWebhookEventEventTypeTeamMemberAdded EnvironmentDeletedWebhookEventEventType = "team_member.added"`

      - `const EnvironmentDeletedWebhookEventEventTypeTeamMemberSignedIn EnvironmentDeletedWebhookEventEventType = "team_member.signed_in"`

      - `const EnvironmentDeletedWebhookEventEventTypeTeamMemberSignedOut EnvironmentDeletedWebhookEventEventType = "team_member.signed_out"`

      - `const EnvironmentDeletedWebhookEventEventTypeMessageSent EnvironmentDeletedWebhookEventEventType = "message.sent"`

      - `const EnvironmentDeletedWebhookEventEventTypeMessageReceived EnvironmentDeletedWebhookEventEventType = "message.received"`

      - `const EnvironmentDeletedWebhookEventEventTypeMessageRead EnvironmentDeletedWebhookEventEventType = "message.read"`

      - `const EnvironmentDeletedWebhookEventEventTypeMessageDelivered EnvironmentDeletedWebhookEventEventType = "message.delivered"`

      - `const EnvironmentDeletedWebhookEventEventTypeMessageFailed EnvironmentDeletedWebhookEventEventType = "message.failed"`

      - `const EnvironmentDeletedWebhookEventEventTypeMessageEdited EnvironmentDeletedWebhookEventEventType = "message.edited"`

      - `const EnvironmentDeletedWebhookEventEventTypeReactionAdded EnvironmentDeletedWebhookEventEventType = "reaction.added"`

      - `const EnvironmentDeletedWebhookEventEventTypeReactionRemoved EnvironmentDeletedWebhookEventEventType = "reaction.removed"`

      - `const EnvironmentDeletedWebhookEventEventTypePollReceived EnvironmentDeletedWebhookEventEventType = "poll.received"`

      - `const EnvironmentDeletedWebhookEventEventTypePollFailed EnvironmentDeletedWebhookEventEventType = "poll.failed"`

      - `const EnvironmentDeletedWebhookEventEventTypePollSent EnvironmentDeletedWebhookEventEventType = "poll.sent"`

      - `const EnvironmentDeletedWebhookEventEventTypePollDelivered EnvironmentDeletedWebhookEventEventType = "poll.delivered"`

      - `const EnvironmentDeletedWebhookEventEventTypePollRead EnvironmentDeletedWebhookEventEventType = "poll.read"`

      - `const EnvironmentDeletedWebhookEventEventTypePollUpdated EnvironmentDeletedWebhookEventEventType = "poll.updated"`

      - `const EnvironmentDeletedWebhookEventEventTypePollVoteAdded EnvironmentDeletedWebhookEventEventType = "poll.vote.added"`

      - `const EnvironmentDeletedWebhookEventEventTypePollVoteRemoved EnvironmentDeletedWebhookEventEventType = "poll.vote.removed"`

      - `const EnvironmentDeletedWebhookEventEventTypePollReactionAdded EnvironmentDeletedWebhookEventEventType = "poll.reaction.added"`

      - `const EnvironmentDeletedWebhookEventEventTypeParticipantAdded EnvironmentDeletedWebhookEventEventType = "participant.added"`

      - `const EnvironmentDeletedWebhookEventEventTypeParticipantRemoved EnvironmentDeletedWebhookEventEventType = "participant.removed"`

      - `const EnvironmentDeletedWebhookEventEventTypeChatCreated EnvironmentDeletedWebhookEventEventType = "chat.created"`

      - `const EnvironmentDeletedWebhookEventEventTypeChatGroupNameUpdated EnvironmentDeletedWebhookEventEventType = "chat.group_name_updated"`

      - `const EnvironmentDeletedWebhookEventEventTypeChatGroupIconUpdated EnvironmentDeletedWebhookEventEventType = "chat.group_icon_updated"`

      - `const EnvironmentDeletedWebhookEventEventTypeChatGroupNameUpdateFailed EnvironmentDeletedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const EnvironmentDeletedWebhookEventEventTypeChatGroupIconUpdateFailed EnvironmentDeletedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const EnvironmentDeletedWebhookEventEventTypeChatBackgroundUpdated EnvironmentDeletedWebhookEventEventType = "chat.background_updated"`

      - `const EnvironmentDeletedWebhookEventEventTypeChatBackgroundUpdateFailed EnvironmentDeletedWebhookEventEventType = "chat.background_update_failed"`

      - `const EnvironmentDeletedWebhookEventEventTypeChatTypingIndicatorStarted EnvironmentDeletedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const EnvironmentDeletedWebhookEventEventTypeChatTypingIndicatorStopped EnvironmentDeletedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const EnvironmentDeletedWebhookEventEventTypePhoneNumberStatusUpdated EnvironmentDeletedWebhookEventEventType = "phone_number.status_updated"`

      - `const EnvironmentDeletedWebhookEventEventTypePhoneNumberAssigned EnvironmentDeletedWebhookEventEventType = "phone_number.assigned"`

      - `const EnvironmentDeletedWebhookEventEventTypePhoneNumberReleased EnvironmentDeletedWebhookEventEventType = "phone_number.released"`

      - `const EnvironmentDeletedWebhookEventEventTypePhoneNumberLineTypeUpdated EnvironmentDeletedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const EnvironmentDeletedWebhookEventEventTypeContactCardReceived EnvironmentDeletedWebhookEventEventType = "contact_card.received"`

      - `const EnvironmentDeletedWebhookEventEventTypeCallInitiated EnvironmentDeletedWebhookEventEventType = "call.initiated"`

      - `const EnvironmentDeletedWebhookEventEventTypeCallRinging EnvironmentDeletedWebhookEventEventType = "call.ringing"`

      - `const EnvironmentDeletedWebhookEventEventTypeCallAnswered EnvironmentDeletedWebhookEventEventType = "call.answered"`

      - `const EnvironmentDeletedWebhookEventEventTypeCallEnded EnvironmentDeletedWebhookEventEventType = "call.ended"`

      - `const EnvironmentDeletedWebhookEventEventTypeCallFailed EnvironmentDeletedWebhookEventEventType = "call.failed"`

      - `const EnvironmentDeletedWebhookEventEventTypeCallDeclined EnvironmentDeletedWebhookEventEventType = "call.declined"`

      - `const EnvironmentDeletedWebhookEventEventTypeCallNoAnswer EnvironmentDeletedWebhookEventEventType = "call.no_answer"`

      - `const EnvironmentDeletedWebhookEventEventTypeLocationSharingStarted EnvironmentDeletedWebhookEventEventType = "location.sharing.started"`

      - `const EnvironmentDeletedWebhookEventEventTypeLocationSharingStopped EnvironmentDeletedWebhookEventEventType = "location.sharing.stopped"`

      - `const EnvironmentDeletedWebhookEventEventTypePaymentSucceeded EnvironmentDeletedWebhookEventEventType = "payment.succeeded"`

      - `const EnvironmentDeletedWebhookEventEventTypePaymentCanceled EnvironmentDeletedWebhookEventEventType = "payment.canceled"`

      - `const EnvironmentDeletedWebhookEventEventTypePaymentExpired EnvironmentDeletedWebhookEventEventType = "payment.expired"`

      - `const EnvironmentDeletedWebhookEventEventTypePaymentDeclined EnvironmentDeletedWebhookEventEventType = "payment.declined"`

      - `const EnvironmentDeletedWebhookEventEventTypePaymentAuthorized EnvironmentDeletedWebhookEventEventType = "payment.authorized"`

      - `const EnvironmentDeletedWebhookEventEventTypeConnectionCreated EnvironmentDeletedWebhookEventEventType = "connection.created"`

      - `const EnvironmentDeletedWebhookEventEventTypeConnectionRevoked EnvironmentDeletedWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type WebhookSubscriptionCreatedWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data WebhookSubscriptionCreatedWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor WebhookSubscriptionCreatedWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const WebhookSubscriptionCreatedWebhookEventDataActorTypeTeamMember WebhookSubscriptionCreatedWebhookEventDataActorType = "team_member"`

          - `const WebhookSubscriptionCreatedWebhookEventDataActorTypeAPI WebhookSubscriptionCreatedWebhookEventDataActorType = "api"`

          - `const WebhookSubscriptionCreatedWebhookEventDataActorTypeSystem WebhookSubscriptionCreatedWebhookEventDataActorType = "system"`

          - `const WebhookSubscriptionCreatedWebhookEventDataActorTypeUnknown WebhookSubscriptionCreatedWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const WebhookSubscriptionCreatedWebhookEventDataOriginDashboard WebhookSubscriptionCreatedWebhookEventDataOrigin = "dashboard"`

        - `const WebhookSubscriptionCreatedWebhookEventDataOriginAPI WebhookSubscriptionCreatedWebhookEventDataOrigin = "api"`

        - `const WebhookSubscriptionCreatedWebhookEventDataOriginLinq WebhookSubscriptionCreatedWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken WebhookSubscriptionCreatedWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change WebhookSubscriptionCreatedWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName WebhookSubscriptionCreatedWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL WebhookSubscriptionCreatedWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName WebhookSubscriptionCreatedWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard WebhookSubscriptionCreatedWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment WebhookSubscriptionCreatedWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const WebhookSubscriptionCreatedWebhookEventDataEnvironmentTypeEnvironment WebhookSubscriptionCreatedWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const WebhookSubscriptionCreatedWebhookEventDataMethodCode WebhookSubscriptionCreatedWebhookEventDataMethod = "code"`

        - `const WebhookSubscriptionCreatedWebhookEventDataMethodSSO WebhookSubscriptionCreatedWebhookEventDataMethod = "sso"`

        - `const WebhookSubscriptionCreatedWebhookEventDataMethodGoogle WebhookSubscriptionCreatedWebhookEventDataMethod = "google"`

        - `const WebhookSubscriptionCreatedWebhookEventDataMethodApple WebhookSubscriptionCreatedWebhookEventDataMethod = "apple"`

        - `const WebhookSubscriptionCreatedWebhookEventDataMethodLinkedin WebhookSubscriptionCreatedWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember WebhookSubscriptionCreatedWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const WebhookSubscriptionCreatedWebhookEventDataTeamMemberRoleAdmin WebhookSubscriptionCreatedWebhookEventDataTeamMemberRole = "admin"`

          - `const WebhookSubscriptionCreatedWebhookEventDataTeamMemberRoleManager WebhookSubscriptionCreatedWebhookEventDataTeamMemberRole = "manager"`

          - `const WebhookSubscriptionCreatedWebhookEventDataTeamMemberRoleMember WebhookSubscriptionCreatedWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription WebhookSubscriptionCreatedWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookSubscriptionCreatedWebhookEventEventType`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeZeroDayRetentionUpdated WebhookSubscriptionCreatedWebhookEventEventType = "zero_day_retention.updated"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypePhoneNumberForwardingUpdated WebhookSubscriptionCreatedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeEnvironmentLineMoved WebhookSubscriptionCreatedWebhookEventEventType = "environment.line_moved"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeContactCardCreated WebhookSubscriptionCreatedWebhookEventEventType = "contact_card.created"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeContactCardUpdated WebhookSubscriptionCreatedWebhookEventEventType = "contact_card.updated"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeContactCardDeleted WebhookSubscriptionCreatedWebhookEventEventType = "contact_card.deleted"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeAPITokenCreated WebhookSubscriptionCreatedWebhookEventEventType = "api_token.created"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeAPITokenRenamed WebhookSubscriptionCreatedWebhookEventEventType = "api_token.renamed"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeAPITokenExpiryScheduled WebhookSubscriptionCreatedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeAPITokenExpired WebhookSubscriptionCreatedWebhookEventEventType = "api_token.expired"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeAPITokenActivated WebhookSubscriptionCreatedWebhookEventEventType = "api_token.activated"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeAPITokenDeleted WebhookSubscriptionCreatedWebhookEventEventType = "api_token.deleted"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeEnvironmentCreated WebhookSubscriptionCreatedWebhookEventEventType = "environment.created"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeEnvironmentRenamed WebhookSubscriptionCreatedWebhookEventEventType = "environment.renamed"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeEnvironmentDeleted WebhookSubscriptionCreatedWebhookEventEventType = "environment.deleted"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeWebhookSubscriptionCreated WebhookSubscriptionCreatedWebhookEventEventType = "webhook_subscription.created"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeWebhookSubscriptionDeleted WebhookSubscriptionCreatedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged WebhookSubscriptionCreatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeWebhookSubscriptionEnabled WebhookSubscriptionCreatedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeWebhookSubscriptionDisabled WebhookSubscriptionCreatedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated WebhookSubscriptionCreatedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookSubscriptionCreatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet WebhookSubscriptionCreatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookSubscriptionCreatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeTeamMemberAdded WebhookSubscriptionCreatedWebhookEventEventType = "team_member.added"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeTeamMemberSignedIn WebhookSubscriptionCreatedWebhookEventEventType = "team_member.signed_in"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeTeamMemberSignedOut WebhookSubscriptionCreatedWebhookEventEventType = "team_member.signed_out"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeMessageSent WebhookSubscriptionCreatedWebhookEventEventType = "message.sent"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeMessageReceived WebhookSubscriptionCreatedWebhookEventEventType = "message.received"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeMessageRead WebhookSubscriptionCreatedWebhookEventEventType = "message.read"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeMessageDelivered WebhookSubscriptionCreatedWebhookEventEventType = "message.delivered"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeMessageFailed WebhookSubscriptionCreatedWebhookEventEventType = "message.failed"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeMessageEdited WebhookSubscriptionCreatedWebhookEventEventType = "message.edited"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeReactionAdded WebhookSubscriptionCreatedWebhookEventEventType = "reaction.added"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeReactionRemoved WebhookSubscriptionCreatedWebhookEventEventType = "reaction.removed"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypePollReceived WebhookSubscriptionCreatedWebhookEventEventType = "poll.received"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypePollFailed WebhookSubscriptionCreatedWebhookEventEventType = "poll.failed"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypePollSent WebhookSubscriptionCreatedWebhookEventEventType = "poll.sent"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypePollDelivered WebhookSubscriptionCreatedWebhookEventEventType = "poll.delivered"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypePollRead WebhookSubscriptionCreatedWebhookEventEventType = "poll.read"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypePollUpdated WebhookSubscriptionCreatedWebhookEventEventType = "poll.updated"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypePollVoteAdded WebhookSubscriptionCreatedWebhookEventEventType = "poll.vote.added"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypePollVoteRemoved WebhookSubscriptionCreatedWebhookEventEventType = "poll.vote.removed"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypePollReactionAdded WebhookSubscriptionCreatedWebhookEventEventType = "poll.reaction.added"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeParticipantAdded WebhookSubscriptionCreatedWebhookEventEventType = "participant.added"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeParticipantRemoved WebhookSubscriptionCreatedWebhookEventEventType = "participant.removed"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeChatCreated WebhookSubscriptionCreatedWebhookEventEventType = "chat.created"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeChatGroupNameUpdated WebhookSubscriptionCreatedWebhookEventEventType = "chat.group_name_updated"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeChatGroupIconUpdated WebhookSubscriptionCreatedWebhookEventEventType = "chat.group_icon_updated"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeChatGroupNameUpdateFailed WebhookSubscriptionCreatedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeChatGroupIconUpdateFailed WebhookSubscriptionCreatedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeChatBackgroundUpdated WebhookSubscriptionCreatedWebhookEventEventType = "chat.background_updated"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeChatBackgroundUpdateFailed WebhookSubscriptionCreatedWebhookEventEventType = "chat.background_update_failed"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeChatTypingIndicatorStarted WebhookSubscriptionCreatedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeChatTypingIndicatorStopped WebhookSubscriptionCreatedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypePhoneNumberStatusUpdated WebhookSubscriptionCreatedWebhookEventEventType = "phone_number.status_updated"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypePhoneNumberAssigned WebhookSubscriptionCreatedWebhookEventEventType = "phone_number.assigned"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypePhoneNumberReleased WebhookSubscriptionCreatedWebhookEventEventType = "phone_number.released"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypePhoneNumberLineTypeUpdated WebhookSubscriptionCreatedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeContactCardReceived WebhookSubscriptionCreatedWebhookEventEventType = "contact_card.received"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeCallInitiated WebhookSubscriptionCreatedWebhookEventEventType = "call.initiated"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeCallRinging WebhookSubscriptionCreatedWebhookEventEventType = "call.ringing"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeCallAnswered WebhookSubscriptionCreatedWebhookEventEventType = "call.answered"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeCallEnded WebhookSubscriptionCreatedWebhookEventEventType = "call.ended"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeCallFailed WebhookSubscriptionCreatedWebhookEventEventType = "call.failed"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeCallDeclined WebhookSubscriptionCreatedWebhookEventEventType = "call.declined"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeCallNoAnswer WebhookSubscriptionCreatedWebhookEventEventType = "call.no_answer"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeLocationSharingStarted WebhookSubscriptionCreatedWebhookEventEventType = "location.sharing.started"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeLocationSharingStopped WebhookSubscriptionCreatedWebhookEventEventType = "location.sharing.stopped"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypePaymentSucceeded WebhookSubscriptionCreatedWebhookEventEventType = "payment.succeeded"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypePaymentCanceled WebhookSubscriptionCreatedWebhookEventEventType = "payment.canceled"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypePaymentExpired WebhookSubscriptionCreatedWebhookEventEventType = "payment.expired"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypePaymentDeclined WebhookSubscriptionCreatedWebhookEventEventType = "payment.declined"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypePaymentAuthorized WebhookSubscriptionCreatedWebhookEventEventType = "payment.authorized"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeConnectionCreated WebhookSubscriptionCreatedWebhookEventEventType = "connection.created"`

      - `const WebhookSubscriptionCreatedWebhookEventEventTypeConnectionRevoked WebhookSubscriptionCreatedWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type WebhookSubscriptionDeletedWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data WebhookSubscriptionDeletedWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor WebhookSubscriptionDeletedWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const WebhookSubscriptionDeletedWebhookEventDataActorTypeTeamMember WebhookSubscriptionDeletedWebhookEventDataActorType = "team_member"`

          - `const WebhookSubscriptionDeletedWebhookEventDataActorTypeAPI WebhookSubscriptionDeletedWebhookEventDataActorType = "api"`

          - `const WebhookSubscriptionDeletedWebhookEventDataActorTypeSystem WebhookSubscriptionDeletedWebhookEventDataActorType = "system"`

          - `const WebhookSubscriptionDeletedWebhookEventDataActorTypeUnknown WebhookSubscriptionDeletedWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const WebhookSubscriptionDeletedWebhookEventDataOriginDashboard WebhookSubscriptionDeletedWebhookEventDataOrigin = "dashboard"`

        - `const WebhookSubscriptionDeletedWebhookEventDataOriginAPI WebhookSubscriptionDeletedWebhookEventDataOrigin = "api"`

        - `const WebhookSubscriptionDeletedWebhookEventDataOriginLinq WebhookSubscriptionDeletedWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken WebhookSubscriptionDeletedWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change WebhookSubscriptionDeletedWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName WebhookSubscriptionDeletedWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL WebhookSubscriptionDeletedWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName WebhookSubscriptionDeletedWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard WebhookSubscriptionDeletedWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment WebhookSubscriptionDeletedWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const WebhookSubscriptionDeletedWebhookEventDataEnvironmentTypeEnvironment WebhookSubscriptionDeletedWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const WebhookSubscriptionDeletedWebhookEventDataMethodCode WebhookSubscriptionDeletedWebhookEventDataMethod = "code"`

        - `const WebhookSubscriptionDeletedWebhookEventDataMethodSSO WebhookSubscriptionDeletedWebhookEventDataMethod = "sso"`

        - `const WebhookSubscriptionDeletedWebhookEventDataMethodGoogle WebhookSubscriptionDeletedWebhookEventDataMethod = "google"`

        - `const WebhookSubscriptionDeletedWebhookEventDataMethodApple WebhookSubscriptionDeletedWebhookEventDataMethod = "apple"`

        - `const WebhookSubscriptionDeletedWebhookEventDataMethodLinkedin WebhookSubscriptionDeletedWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember WebhookSubscriptionDeletedWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const WebhookSubscriptionDeletedWebhookEventDataTeamMemberRoleAdmin WebhookSubscriptionDeletedWebhookEventDataTeamMemberRole = "admin"`

          - `const WebhookSubscriptionDeletedWebhookEventDataTeamMemberRoleManager WebhookSubscriptionDeletedWebhookEventDataTeamMemberRole = "manager"`

          - `const WebhookSubscriptionDeletedWebhookEventDataTeamMemberRoleMember WebhookSubscriptionDeletedWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription WebhookSubscriptionDeletedWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookSubscriptionDeletedWebhookEventEventType`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeZeroDayRetentionUpdated WebhookSubscriptionDeletedWebhookEventEventType = "zero_day_retention.updated"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypePhoneNumberForwardingUpdated WebhookSubscriptionDeletedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeEnvironmentLineMoved WebhookSubscriptionDeletedWebhookEventEventType = "environment.line_moved"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeContactCardCreated WebhookSubscriptionDeletedWebhookEventEventType = "contact_card.created"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeContactCardUpdated WebhookSubscriptionDeletedWebhookEventEventType = "contact_card.updated"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeContactCardDeleted WebhookSubscriptionDeletedWebhookEventEventType = "contact_card.deleted"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeAPITokenCreated WebhookSubscriptionDeletedWebhookEventEventType = "api_token.created"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeAPITokenRenamed WebhookSubscriptionDeletedWebhookEventEventType = "api_token.renamed"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeAPITokenExpiryScheduled WebhookSubscriptionDeletedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeAPITokenExpired WebhookSubscriptionDeletedWebhookEventEventType = "api_token.expired"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeAPITokenActivated WebhookSubscriptionDeletedWebhookEventEventType = "api_token.activated"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeAPITokenDeleted WebhookSubscriptionDeletedWebhookEventEventType = "api_token.deleted"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeEnvironmentCreated WebhookSubscriptionDeletedWebhookEventEventType = "environment.created"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeEnvironmentRenamed WebhookSubscriptionDeletedWebhookEventEventType = "environment.renamed"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeEnvironmentDeleted WebhookSubscriptionDeletedWebhookEventEventType = "environment.deleted"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeWebhookSubscriptionCreated WebhookSubscriptionDeletedWebhookEventEventType = "webhook_subscription.created"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeWebhookSubscriptionDeleted WebhookSubscriptionDeletedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged WebhookSubscriptionDeletedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeWebhookSubscriptionEnabled WebhookSubscriptionDeletedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeWebhookSubscriptionDisabled WebhookSubscriptionDeletedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeWebhookSubscriptionEventsUpdated WebhookSubscriptionDeletedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookSubscriptionDeletedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet WebhookSubscriptionDeletedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookSubscriptionDeletedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeTeamMemberAdded WebhookSubscriptionDeletedWebhookEventEventType = "team_member.added"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeTeamMemberSignedIn WebhookSubscriptionDeletedWebhookEventEventType = "team_member.signed_in"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeTeamMemberSignedOut WebhookSubscriptionDeletedWebhookEventEventType = "team_member.signed_out"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeMessageSent WebhookSubscriptionDeletedWebhookEventEventType = "message.sent"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeMessageReceived WebhookSubscriptionDeletedWebhookEventEventType = "message.received"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeMessageRead WebhookSubscriptionDeletedWebhookEventEventType = "message.read"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeMessageDelivered WebhookSubscriptionDeletedWebhookEventEventType = "message.delivered"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeMessageFailed WebhookSubscriptionDeletedWebhookEventEventType = "message.failed"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeMessageEdited WebhookSubscriptionDeletedWebhookEventEventType = "message.edited"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeReactionAdded WebhookSubscriptionDeletedWebhookEventEventType = "reaction.added"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeReactionRemoved WebhookSubscriptionDeletedWebhookEventEventType = "reaction.removed"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypePollReceived WebhookSubscriptionDeletedWebhookEventEventType = "poll.received"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypePollFailed WebhookSubscriptionDeletedWebhookEventEventType = "poll.failed"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypePollSent WebhookSubscriptionDeletedWebhookEventEventType = "poll.sent"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypePollDelivered WebhookSubscriptionDeletedWebhookEventEventType = "poll.delivered"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypePollRead WebhookSubscriptionDeletedWebhookEventEventType = "poll.read"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypePollUpdated WebhookSubscriptionDeletedWebhookEventEventType = "poll.updated"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypePollVoteAdded WebhookSubscriptionDeletedWebhookEventEventType = "poll.vote.added"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypePollVoteRemoved WebhookSubscriptionDeletedWebhookEventEventType = "poll.vote.removed"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypePollReactionAdded WebhookSubscriptionDeletedWebhookEventEventType = "poll.reaction.added"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeParticipantAdded WebhookSubscriptionDeletedWebhookEventEventType = "participant.added"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeParticipantRemoved WebhookSubscriptionDeletedWebhookEventEventType = "participant.removed"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeChatCreated WebhookSubscriptionDeletedWebhookEventEventType = "chat.created"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeChatGroupNameUpdated WebhookSubscriptionDeletedWebhookEventEventType = "chat.group_name_updated"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeChatGroupIconUpdated WebhookSubscriptionDeletedWebhookEventEventType = "chat.group_icon_updated"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeChatGroupNameUpdateFailed WebhookSubscriptionDeletedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeChatGroupIconUpdateFailed WebhookSubscriptionDeletedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeChatBackgroundUpdated WebhookSubscriptionDeletedWebhookEventEventType = "chat.background_updated"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeChatBackgroundUpdateFailed WebhookSubscriptionDeletedWebhookEventEventType = "chat.background_update_failed"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeChatTypingIndicatorStarted WebhookSubscriptionDeletedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeChatTypingIndicatorStopped WebhookSubscriptionDeletedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypePhoneNumberStatusUpdated WebhookSubscriptionDeletedWebhookEventEventType = "phone_number.status_updated"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypePhoneNumberAssigned WebhookSubscriptionDeletedWebhookEventEventType = "phone_number.assigned"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypePhoneNumberReleased WebhookSubscriptionDeletedWebhookEventEventType = "phone_number.released"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypePhoneNumberLineTypeUpdated WebhookSubscriptionDeletedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeContactCardReceived WebhookSubscriptionDeletedWebhookEventEventType = "contact_card.received"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeCallInitiated WebhookSubscriptionDeletedWebhookEventEventType = "call.initiated"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeCallRinging WebhookSubscriptionDeletedWebhookEventEventType = "call.ringing"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeCallAnswered WebhookSubscriptionDeletedWebhookEventEventType = "call.answered"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeCallEnded WebhookSubscriptionDeletedWebhookEventEventType = "call.ended"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeCallFailed WebhookSubscriptionDeletedWebhookEventEventType = "call.failed"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeCallDeclined WebhookSubscriptionDeletedWebhookEventEventType = "call.declined"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeCallNoAnswer WebhookSubscriptionDeletedWebhookEventEventType = "call.no_answer"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeLocationSharingStarted WebhookSubscriptionDeletedWebhookEventEventType = "location.sharing.started"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeLocationSharingStopped WebhookSubscriptionDeletedWebhookEventEventType = "location.sharing.stopped"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypePaymentSucceeded WebhookSubscriptionDeletedWebhookEventEventType = "payment.succeeded"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypePaymentCanceled WebhookSubscriptionDeletedWebhookEventEventType = "payment.canceled"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypePaymentExpired WebhookSubscriptionDeletedWebhookEventEventType = "payment.expired"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypePaymentDeclined WebhookSubscriptionDeletedWebhookEventEventType = "payment.declined"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypePaymentAuthorized WebhookSubscriptionDeletedWebhookEventEventType = "payment.authorized"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeConnectionCreated WebhookSubscriptionDeletedWebhookEventEventType = "connection.created"`

      - `const WebhookSubscriptionDeletedWebhookEventEventTypeConnectionRevoked WebhookSubscriptionDeletedWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type WebhookSubscriptionTargetURLChangedWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data WebhookSubscriptionTargetURLChangedWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor WebhookSubscriptionTargetURLChangedWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const WebhookSubscriptionTargetURLChangedWebhookEventDataActorTypeTeamMember WebhookSubscriptionTargetURLChangedWebhookEventDataActorType = "team_member"`

          - `const WebhookSubscriptionTargetURLChangedWebhookEventDataActorTypeAPI WebhookSubscriptionTargetURLChangedWebhookEventDataActorType = "api"`

          - `const WebhookSubscriptionTargetURLChangedWebhookEventDataActorTypeSystem WebhookSubscriptionTargetURLChangedWebhookEventDataActorType = "system"`

          - `const WebhookSubscriptionTargetURLChangedWebhookEventDataActorTypeUnknown WebhookSubscriptionTargetURLChangedWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const WebhookSubscriptionTargetURLChangedWebhookEventDataOriginDashboard WebhookSubscriptionTargetURLChangedWebhookEventDataOrigin = "dashboard"`

        - `const WebhookSubscriptionTargetURLChangedWebhookEventDataOriginAPI WebhookSubscriptionTargetURLChangedWebhookEventDataOrigin = "api"`

        - `const WebhookSubscriptionTargetURLChangedWebhookEventDataOriginLinq WebhookSubscriptionTargetURLChangedWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken WebhookSubscriptionTargetURLChangedWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change WebhookSubscriptionTargetURLChangedWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName WebhookSubscriptionTargetURLChangedWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL WebhookSubscriptionTargetURLChangedWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName WebhookSubscriptionTargetURLChangedWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard WebhookSubscriptionTargetURLChangedWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment WebhookSubscriptionTargetURLChangedWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const WebhookSubscriptionTargetURLChangedWebhookEventDataEnvironmentTypeEnvironment WebhookSubscriptionTargetURLChangedWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const WebhookSubscriptionTargetURLChangedWebhookEventDataMethodCode WebhookSubscriptionTargetURLChangedWebhookEventDataMethod = "code"`

        - `const WebhookSubscriptionTargetURLChangedWebhookEventDataMethodSSO WebhookSubscriptionTargetURLChangedWebhookEventDataMethod = "sso"`

        - `const WebhookSubscriptionTargetURLChangedWebhookEventDataMethodGoogle WebhookSubscriptionTargetURLChangedWebhookEventDataMethod = "google"`

        - `const WebhookSubscriptionTargetURLChangedWebhookEventDataMethodApple WebhookSubscriptionTargetURLChangedWebhookEventDataMethod = "apple"`

        - `const WebhookSubscriptionTargetURLChangedWebhookEventDataMethodLinkedin WebhookSubscriptionTargetURLChangedWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember WebhookSubscriptionTargetURLChangedWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const WebhookSubscriptionTargetURLChangedWebhookEventDataTeamMemberRoleAdmin WebhookSubscriptionTargetURLChangedWebhookEventDataTeamMemberRole = "admin"`

          - `const WebhookSubscriptionTargetURLChangedWebhookEventDataTeamMemberRoleManager WebhookSubscriptionTargetURLChangedWebhookEventDataTeamMemberRole = "manager"`

          - `const WebhookSubscriptionTargetURLChangedWebhookEventDataTeamMemberRoleMember WebhookSubscriptionTargetURLChangedWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription WebhookSubscriptionTargetURLChangedWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookSubscriptionTargetURLChangedWebhookEventEventType`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeZeroDayRetentionUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "zero_day_retention.updated"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePhoneNumberForwardingUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeEnvironmentLineMoved WebhookSubscriptionTargetURLChangedWebhookEventEventType = "environment.line_moved"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeContactCardCreated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "contact_card.created"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeContactCardUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "contact_card.updated"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeContactCardDeleted WebhookSubscriptionTargetURLChangedWebhookEventEventType = "contact_card.deleted"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeAPITokenCreated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "api_token.created"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeAPITokenRenamed WebhookSubscriptionTargetURLChangedWebhookEventEventType = "api_token.renamed"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeAPITokenExpiryScheduled WebhookSubscriptionTargetURLChangedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeAPITokenExpired WebhookSubscriptionTargetURLChangedWebhookEventEventType = "api_token.expired"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeAPITokenActivated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "api_token.activated"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeAPITokenDeleted WebhookSubscriptionTargetURLChangedWebhookEventEventType = "api_token.deleted"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeEnvironmentCreated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "environment.created"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeEnvironmentRenamed WebhookSubscriptionTargetURLChangedWebhookEventEventType = "environment.renamed"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeEnvironmentDeleted WebhookSubscriptionTargetURLChangedWebhookEventEventType = "environment.deleted"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeWebhookSubscriptionCreated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "webhook_subscription.created"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeWebhookSubscriptionDeleted WebhookSubscriptionTargetURLChangedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged WebhookSubscriptionTargetURLChangedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeWebhookSubscriptionEnabled WebhookSubscriptionTargetURLChangedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeWebhookSubscriptionDisabled WebhookSubscriptionTargetURLChangedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeWebhookSubscriptionEventsUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet WebhookSubscriptionTargetURLChangedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookSubscriptionTargetURLChangedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeTeamMemberAdded WebhookSubscriptionTargetURLChangedWebhookEventEventType = "team_member.added"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeTeamMemberSignedIn WebhookSubscriptionTargetURLChangedWebhookEventEventType = "team_member.signed_in"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeTeamMemberSignedOut WebhookSubscriptionTargetURLChangedWebhookEventEventType = "team_member.signed_out"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeMessageSent WebhookSubscriptionTargetURLChangedWebhookEventEventType = "message.sent"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeMessageReceived WebhookSubscriptionTargetURLChangedWebhookEventEventType = "message.received"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeMessageRead WebhookSubscriptionTargetURLChangedWebhookEventEventType = "message.read"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeMessageDelivered WebhookSubscriptionTargetURLChangedWebhookEventEventType = "message.delivered"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeMessageFailed WebhookSubscriptionTargetURLChangedWebhookEventEventType = "message.failed"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeMessageEdited WebhookSubscriptionTargetURLChangedWebhookEventEventType = "message.edited"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeReactionAdded WebhookSubscriptionTargetURLChangedWebhookEventEventType = "reaction.added"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeReactionRemoved WebhookSubscriptionTargetURLChangedWebhookEventEventType = "reaction.removed"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePollReceived WebhookSubscriptionTargetURLChangedWebhookEventEventType = "poll.received"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePollFailed WebhookSubscriptionTargetURLChangedWebhookEventEventType = "poll.failed"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePollSent WebhookSubscriptionTargetURLChangedWebhookEventEventType = "poll.sent"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePollDelivered WebhookSubscriptionTargetURLChangedWebhookEventEventType = "poll.delivered"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePollRead WebhookSubscriptionTargetURLChangedWebhookEventEventType = "poll.read"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePollUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "poll.updated"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePollVoteAdded WebhookSubscriptionTargetURLChangedWebhookEventEventType = "poll.vote.added"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePollVoteRemoved WebhookSubscriptionTargetURLChangedWebhookEventEventType = "poll.vote.removed"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePollReactionAdded WebhookSubscriptionTargetURLChangedWebhookEventEventType = "poll.reaction.added"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeParticipantAdded WebhookSubscriptionTargetURLChangedWebhookEventEventType = "participant.added"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeParticipantRemoved WebhookSubscriptionTargetURLChangedWebhookEventEventType = "participant.removed"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeChatCreated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "chat.created"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeChatGroupNameUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "chat.group_name_updated"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeChatGroupIconUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "chat.group_icon_updated"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeChatGroupNameUpdateFailed WebhookSubscriptionTargetURLChangedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeChatGroupIconUpdateFailed WebhookSubscriptionTargetURLChangedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeChatBackgroundUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "chat.background_updated"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeChatBackgroundUpdateFailed WebhookSubscriptionTargetURLChangedWebhookEventEventType = "chat.background_update_failed"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeChatTypingIndicatorStarted WebhookSubscriptionTargetURLChangedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeChatTypingIndicatorStopped WebhookSubscriptionTargetURLChangedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePhoneNumberStatusUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "phone_number.status_updated"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePhoneNumberAssigned WebhookSubscriptionTargetURLChangedWebhookEventEventType = "phone_number.assigned"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePhoneNumberReleased WebhookSubscriptionTargetURLChangedWebhookEventEventType = "phone_number.released"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePhoneNumberLineTypeUpdated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeContactCardReceived WebhookSubscriptionTargetURLChangedWebhookEventEventType = "contact_card.received"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeCallInitiated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "call.initiated"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeCallRinging WebhookSubscriptionTargetURLChangedWebhookEventEventType = "call.ringing"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeCallAnswered WebhookSubscriptionTargetURLChangedWebhookEventEventType = "call.answered"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeCallEnded WebhookSubscriptionTargetURLChangedWebhookEventEventType = "call.ended"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeCallFailed WebhookSubscriptionTargetURLChangedWebhookEventEventType = "call.failed"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeCallDeclined WebhookSubscriptionTargetURLChangedWebhookEventEventType = "call.declined"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeCallNoAnswer WebhookSubscriptionTargetURLChangedWebhookEventEventType = "call.no_answer"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeLocationSharingStarted WebhookSubscriptionTargetURLChangedWebhookEventEventType = "location.sharing.started"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeLocationSharingStopped WebhookSubscriptionTargetURLChangedWebhookEventEventType = "location.sharing.stopped"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePaymentSucceeded WebhookSubscriptionTargetURLChangedWebhookEventEventType = "payment.succeeded"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePaymentCanceled WebhookSubscriptionTargetURLChangedWebhookEventEventType = "payment.canceled"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePaymentExpired WebhookSubscriptionTargetURLChangedWebhookEventEventType = "payment.expired"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePaymentDeclined WebhookSubscriptionTargetURLChangedWebhookEventEventType = "payment.declined"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypePaymentAuthorized WebhookSubscriptionTargetURLChangedWebhookEventEventType = "payment.authorized"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeConnectionCreated WebhookSubscriptionTargetURLChangedWebhookEventEventType = "connection.created"`

      - `const WebhookSubscriptionTargetURLChangedWebhookEventEventTypeConnectionRevoked WebhookSubscriptionTargetURLChangedWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type WebhookSubscriptionEnabledWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data WebhookSubscriptionEnabledWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor WebhookSubscriptionEnabledWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const WebhookSubscriptionEnabledWebhookEventDataActorTypeTeamMember WebhookSubscriptionEnabledWebhookEventDataActorType = "team_member"`

          - `const WebhookSubscriptionEnabledWebhookEventDataActorTypeAPI WebhookSubscriptionEnabledWebhookEventDataActorType = "api"`

          - `const WebhookSubscriptionEnabledWebhookEventDataActorTypeSystem WebhookSubscriptionEnabledWebhookEventDataActorType = "system"`

          - `const WebhookSubscriptionEnabledWebhookEventDataActorTypeUnknown WebhookSubscriptionEnabledWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const WebhookSubscriptionEnabledWebhookEventDataOriginDashboard WebhookSubscriptionEnabledWebhookEventDataOrigin = "dashboard"`

        - `const WebhookSubscriptionEnabledWebhookEventDataOriginAPI WebhookSubscriptionEnabledWebhookEventDataOrigin = "api"`

        - `const WebhookSubscriptionEnabledWebhookEventDataOriginLinq WebhookSubscriptionEnabledWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken WebhookSubscriptionEnabledWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change WebhookSubscriptionEnabledWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName WebhookSubscriptionEnabledWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL WebhookSubscriptionEnabledWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName WebhookSubscriptionEnabledWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard WebhookSubscriptionEnabledWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment WebhookSubscriptionEnabledWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const WebhookSubscriptionEnabledWebhookEventDataEnvironmentTypeEnvironment WebhookSubscriptionEnabledWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const WebhookSubscriptionEnabledWebhookEventDataMethodCode WebhookSubscriptionEnabledWebhookEventDataMethod = "code"`

        - `const WebhookSubscriptionEnabledWebhookEventDataMethodSSO WebhookSubscriptionEnabledWebhookEventDataMethod = "sso"`

        - `const WebhookSubscriptionEnabledWebhookEventDataMethodGoogle WebhookSubscriptionEnabledWebhookEventDataMethod = "google"`

        - `const WebhookSubscriptionEnabledWebhookEventDataMethodApple WebhookSubscriptionEnabledWebhookEventDataMethod = "apple"`

        - `const WebhookSubscriptionEnabledWebhookEventDataMethodLinkedin WebhookSubscriptionEnabledWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember WebhookSubscriptionEnabledWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const WebhookSubscriptionEnabledWebhookEventDataTeamMemberRoleAdmin WebhookSubscriptionEnabledWebhookEventDataTeamMemberRole = "admin"`

          - `const WebhookSubscriptionEnabledWebhookEventDataTeamMemberRoleManager WebhookSubscriptionEnabledWebhookEventDataTeamMemberRole = "manager"`

          - `const WebhookSubscriptionEnabledWebhookEventDataTeamMemberRoleMember WebhookSubscriptionEnabledWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription WebhookSubscriptionEnabledWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookSubscriptionEnabledWebhookEventEventType`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeZeroDayRetentionUpdated WebhookSubscriptionEnabledWebhookEventEventType = "zero_day_retention.updated"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypePhoneNumberForwardingUpdated WebhookSubscriptionEnabledWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeEnvironmentLineMoved WebhookSubscriptionEnabledWebhookEventEventType = "environment.line_moved"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeContactCardCreated WebhookSubscriptionEnabledWebhookEventEventType = "contact_card.created"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeContactCardUpdated WebhookSubscriptionEnabledWebhookEventEventType = "contact_card.updated"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeContactCardDeleted WebhookSubscriptionEnabledWebhookEventEventType = "contact_card.deleted"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeAPITokenCreated WebhookSubscriptionEnabledWebhookEventEventType = "api_token.created"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeAPITokenRenamed WebhookSubscriptionEnabledWebhookEventEventType = "api_token.renamed"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeAPITokenExpiryScheduled WebhookSubscriptionEnabledWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeAPITokenExpired WebhookSubscriptionEnabledWebhookEventEventType = "api_token.expired"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeAPITokenActivated WebhookSubscriptionEnabledWebhookEventEventType = "api_token.activated"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeAPITokenDeleted WebhookSubscriptionEnabledWebhookEventEventType = "api_token.deleted"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeEnvironmentCreated WebhookSubscriptionEnabledWebhookEventEventType = "environment.created"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeEnvironmentRenamed WebhookSubscriptionEnabledWebhookEventEventType = "environment.renamed"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeEnvironmentDeleted WebhookSubscriptionEnabledWebhookEventEventType = "environment.deleted"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeWebhookSubscriptionCreated WebhookSubscriptionEnabledWebhookEventEventType = "webhook_subscription.created"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeWebhookSubscriptionDeleted WebhookSubscriptionEnabledWebhookEventEventType = "webhook_subscription.deleted"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeWebhookSubscriptionTargetURLChanged WebhookSubscriptionEnabledWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeWebhookSubscriptionEnabled WebhookSubscriptionEnabledWebhookEventEventType = "webhook_subscription.enabled"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeWebhookSubscriptionDisabled WebhookSubscriptionEnabledWebhookEventEventType = "webhook_subscription.disabled"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeWebhookSubscriptionEventsUpdated WebhookSubscriptionEnabledWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookSubscriptionEnabledWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet WebhookSubscriptionEnabledWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookSubscriptionEnabledWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeTeamMemberAdded WebhookSubscriptionEnabledWebhookEventEventType = "team_member.added"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeTeamMemberSignedIn WebhookSubscriptionEnabledWebhookEventEventType = "team_member.signed_in"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeTeamMemberSignedOut WebhookSubscriptionEnabledWebhookEventEventType = "team_member.signed_out"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeMessageSent WebhookSubscriptionEnabledWebhookEventEventType = "message.sent"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeMessageReceived WebhookSubscriptionEnabledWebhookEventEventType = "message.received"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeMessageRead WebhookSubscriptionEnabledWebhookEventEventType = "message.read"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeMessageDelivered WebhookSubscriptionEnabledWebhookEventEventType = "message.delivered"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeMessageFailed WebhookSubscriptionEnabledWebhookEventEventType = "message.failed"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeMessageEdited WebhookSubscriptionEnabledWebhookEventEventType = "message.edited"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeReactionAdded WebhookSubscriptionEnabledWebhookEventEventType = "reaction.added"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeReactionRemoved WebhookSubscriptionEnabledWebhookEventEventType = "reaction.removed"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypePollReceived WebhookSubscriptionEnabledWebhookEventEventType = "poll.received"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypePollFailed WebhookSubscriptionEnabledWebhookEventEventType = "poll.failed"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypePollSent WebhookSubscriptionEnabledWebhookEventEventType = "poll.sent"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypePollDelivered WebhookSubscriptionEnabledWebhookEventEventType = "poll.delivered"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypePollRead WebhookSubscriptionEnabledWebhookEventEventType = "poll.read"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypePollUpdated WebhookSubscriptionEnabledWebhookEventEventType = "poll.updated"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypePollVoteAdded WebhookSubscriptionEnabledWebhookEventEventType = "poll.vote.added"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypePollVoteRemoved WebhookSubscriptionEnabledWebhookEventEventType = "poll.vote.removed"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypePollReactionAdded WebhookSubscriptionEnabledWebhookEventEventType = "poll.reaction.added"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeParticipantAdded WebhookSubscriptionEnabledWebhookEventEventType = "participant.added"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeParticipantRemoved WebhookSubscriptionEnabledWebhookEventEventType = "participant.removed"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeChatCreated WebhookSubscriptionEnabledWebhookEventEventType = "chat.created"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeChatGroupNameUpdated WebhookSubscriptionEnabledWebhookEventEventType = "chat.group_name_updated"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeChatGroupIconUpdated WebhookSubscriptionEnabledWebhookEventEventType = "chat.group_icon_updated"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeChatGroupNameUpdateFailed WebhookSubscriptionEnabledWebhookEventEventType = "chat.group_name_update_failed"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeChatGroupIconUpdateFailed WebhookSubscriptionEnabledWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeChatBackgroundUpdated WebhookSubscriptionEnabledWebhookEventEventType = "chat.background_updated"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeChatBackgroundUpdateFailed WebhookSubscriptionEnabledWebhookEventEventType = "chat.background_update_failed"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeChatTypingIndicatorStarted WebhookSubscriptionEnabledWebhookEventEventType = "chat.typing_indicator.started"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeChatTypingIndicatorStopped WebhookSubscriptionEnabledWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypePhoneNumberStatusUpdated WebhookSubscriptionEnabledWebhookEventEventType = "phone_number.status_updated"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypePhoneNumberAssigned WebhookSubscriptionEnabledWebhookEventEventType = "phone_number.assigned"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypePhoneNumberReleased WebhookSubscriptionEnabledWebhookEventEventType = "phone_number.released"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypePhoneNumberLineTypeUpdated WebhookSubscriptionEnabledWebhookEventEventType = "phone_number.line_type_updated"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeContactCardReceived WebhookSubscriptionEnabledWebhookEventEventType = "contact_card.received"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeCallInitiated WebhookSubscriptionEnabledWebhookEventEventType = "call.initiated"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeCallRinging WebhookSubscriptionEnabledWebhookEventEventType = "call.ringing"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeCallAnswered WebhookSubscriptionEnabledWebhookEventEventType = "call.answered"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeCallEnded WebhookSubscriptionEnabledWebhookEventEventType = "call.ended"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeCallFailed WebhookSubscriptionEnabledWebhookEventEventType = "call.failed"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeCallDeclined WebhookSubscriptionEnabledWebhookEventEventType = "call.declined"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeCallNoAnswer WebhookSubscriptionEnabledWebhookEventEventType = "call.no_answer"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeLocationSharingStarted WebhookSubscriptionEnabledWebhookEventEventType = "location.sharing.started"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeLocationSharingStopped WebhookSubscriptionEnabledWebhookEventEventType = "location.sharing.stopped"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypePaymentSucceeded WebhookSubscriptionEnabledWebhookEventEventType = "payment.succeeded"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypePaymentCanceled WebhookSubscriptionEnabledWebhookEventEventType = "payment.canceled"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypePaymentExpired WebhookSubscriptionEnabledWebhookEventEventType = "payment.expired"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypePaymentDeclined WebhookSubscriptionEnabledWebhookEventEventType = "payment.declined"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypePaymentAuthorized WebhookSubscriptionEnabledWebhookEventEventType = "payment.authorized"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeConnectionCreated WebhookSubscriptionEnabledWebhookEventEventType = "connection.created"`

      - `const WebhookSubscriptionEnabledWebhookEventEventTypeConnectionRevoked WebhookSubscriptionEnabledWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type WebhookSubscriptionDisabledWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data WebhookSubscriptionDisabledWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor WebhookSubscriptionDisabledWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const WebhookSubscriptionDisabledWebhookEventDataActorTypeTeamMember WebhookSubscriptionDisabledWebhookEventDataActorType = "team_member"`

          - `const WebhookSubscriptionDisabledWebhookEventDataActorTypeAPI WebhookSubscriptionDisabledWebhookEventDataActorType = "api"`

          - `const WebhookSubscriptionDisabledWebhookEventDataActorTypeSystem WebhookSubscriptionDisabledWebhookEventDataActorType = "system"`

          - `const WebhookSubscriptionDisabledWebhookEventDataActorTypeUnknown WebhookSubscriptionDisabledWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const WebhookSubscriptionDisabledWebhookEventDataOriginDashboard WebhookSubscriptionDisabledWebhookEventDataOrigin = "dashboard"`

        - `const WebhookSubscriptionDisabledWebhookEventDataOriginAPI WebhookSubscriptionDisabledWebhookEventDataOrigin = "api"`

        - `const WebhookSubscriptionDisabledWebhookEventDataOriginLinq WebhookSubscriptionDisabledWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken WebhookSubscriptionDisabledWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change WebhookSubscriptionDisabledWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName WebhookSubscriptionDisabledWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL WebhookSubscriptionDisabledWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName WebhookSubscriptionDisabledWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard WebhookSubscriptionDisabledWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment WebhookSubscriptionDisabledWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const WebhookSubscriptionDisabledWebhookEventDataEnvironmentTypeEnvironment WebhookSubscriptionDisabledWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const WebhookSubscriptionDisabledWebhookEventDataMethodCode WebhookSubscriptionDisabledWebhookEventDataMethod = "code"`

        - `const WebhookSubscriptionDisabledWebhookEventDataMethodSSO WebhookSubscriptionDisabledWebhookEventDataMethod = "sso"`

        - `const WebhookSubscriptionDisabledWebhookEventDataMethodGoogle WebhookSubscriptionDisabledWebhookEventDataMethod = "google"`

        - `const WebhookSubscriptionDisabledWebhookEventDataMethodApple WebhookSubscriptionDisabledWebhookEventDataMethod = "apple"`

        - `const WebhookSubscriptionDisabledWebhookEventDataMethodLinkedin WebhookSubscriptionDisabledWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember WebhookSubscriptionDisabledWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const WebhookSubscriptionDisabledWebhookEventDataTeamMemberRoleAdmin WebhookSubscriptionDisabledWebhookEventDataTeamMemberRole = "admin"`

          - `const WebhookSubscriptionDisabledWebhookEventDataTeamMemberRoleManager WebhookSubscriptionDisabledWebhookEventDataTeamMemberRole = "manager"`

          - `const WebhookSubscriptionDisabledWebhookEventDataTeamMemberRoleMember WebhookSubscriptionDisabledWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription WebhookSubscriptionDisabledWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookSubscriptionDisabledWebhookEventEventType`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeZeroDayRetentionUpdated WebhookSubscriptionDisabledWebhookEventEventType = "zero_day_retention.updated"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypePhoneNumberForwardingUpdated WebhookSubscriptionDisabledWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeEnvironmentLineMoved WebhookSubscriptionDisabledWebhookEventEventType = "environment.line_moved"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeContactCardCreated WebhookSubscriptionDisabledWebhookEventEventType = "contact_card.created"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeContactCardUpdated WebhookSubscriptionDisabledWebhookEventEventType = "contact_card.updated"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeContactCardDeleted WebhookSubscriptionDisabledWebhookEventEventType = "contact_card.deleted"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeAPITokenCreated WebhookSubscriptionDisabledWebhookEventEventType = "api_token.created"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeAPITokenRenamed WebhookSubscriptionDisabledWebhookEventEventType = "api_token.renamed"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeAPITokenExpiryScheduled WebhookSubscriptionDisabledWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeAPITokenExpired WebhookSubscriptionDisabledWebhookEventEventType = "api_token.expired"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeAPITokenActivated WebhookSubscriptionDisabledWebhookEventEventType = "api_token.activated"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeAPITokenDeleted WebhookSubscriptionDisabledWebhookEventEventType = "api_token.deleted"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeEnvironmentCreated WebhookSubscriptionDisabledWebhookEventEventType = "environment.created"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeEnvironmentRenamed WebhookSubscriptionDisabledWebhookEventEventType = "environment.renamed"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeEnvironmentDeleted WebhookSubscriptionDisabledWebhookEventEventType = "environment.deleted"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeWebhookSubscriptionCreated WebhookSubscriptionDisabledWebhookEventEventType = "webhook_subscription.created"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeWebhookSubscriptionDeleted WebhookSubscriptionDisabledWebhookEventEventType = "webhook_subscription.deleted"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeWebhookSubscriptionTargetURLChanged WebhookSubscriptionDisabledWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeWebhookSubscriptionEnabled WebhookSubscriptionDisabledWebhookEventEventType = "webhook_subscription.enabled"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeWebhookSubscriptionDisabled WebhookSubscriptionDisabledWebhookEventEventType = "webhook_subscription.disabled"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeWebhookSubscriptionEventsUpdated WebhookSubscriptionDisabledWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookSubscriptionDisabledWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet WebhookSubscriptionDisabledWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookSubscriptionDisabledWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeTeamMemberAdded WebhookSubscriptionDisabledWebhookEventEventType = "team_member.added"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeTeamMemberSignedIn WebhookSubscriptionDisabledWebhookEventEventType = "team_member.signed_in"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeTeamMemberSignedOut WebhookSubscriptionDisabledWebhookEventEventType = "team_member.signed_out"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeMessageSent WebhookSubscriptionDisabledWebhookEventEventType = "message.sent"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeMessageReceived WebhookSubscriptionDisabledWebhookEventEventType = "message.received"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeMessageRead WebhookSubscriptionDisabledWebhookEventEventType = "message.read"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeMessageDelivered WebhookSubscriptionDisabledWebhookEventEventType = "message.delivered"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeMessageFailed WebhookSubscriptionDisabledWebhookEventEventType = "message.failed"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeMessageEdited WebhookSubscriptionDisabledWebhookEventEventType = "message.edited"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeReactionAdded WebhookSubscriptionDisabledWebhookEventEventType = "reaction.added"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeReactionRemoved WebhookSubscriptionDisabledWebhookEventEventType = "reaction.removed"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypePollReceived WebhookSubscriptionDisabledWebhookEventEventType = "poll.received"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypePollFailed WebhookSubscriptionDisabledWebhookEventEventType = "poll.failed"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypePollSent WebhookSubscriptionDisabledWebhookEventEventType = "poll.sent"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypePollDelivered WebhookSubscriptionDisabledWebhookEventEventType = "poll.delivered"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypePollRead WebhookSubscriptionDisabledWebhookEventEventType = "poll.read"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypePollUpdated WebhookSubscriptionDisabledWebhookEventEventType = "poll.updated"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypePollVoteAdded WebhookSubscriptionDisabledWebhookEventEventType = "poll.vote.added"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypePollVoteRemoved WebhookSubscriptionDisabledWebhookEventEventType = "poll.vote.removed"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypePollReactionAdded WebhookSubscriptionDisabledWebhookEventEventType = "poll.reaction.added"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeParticipantAdded WebhookSubscriptionDisabledWebhookEventEventType = "participant.added"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeParticipantRemoved WebhookSubscriptionDisabledWebhookEventEventType = "participant.removed"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeChatCreated WebhookSubscriptionDisabledWebhookEventEventType = "chat.created"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeChatGroupNameUpdated WebhookSubscriptionDisabledWebhookEventEventType = "chat.group_name_updated"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeChatGroupIconUpdated WebhookSubscriptionDisabledWebhookEventEventType = "chat.group_icon_updated"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeChatGroupNameUpdateFailed WebhookSubscriptionDisabledWebhookEventEventType = "chat.group_name_update_failed"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeChatGroupIconUpdateFailed WebhookSubscriptionDisabledWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeChatBackgroundUpdated WebhookSubscriptionDisabledWebhookEventEventType = "chat.background_updated"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeChatBackgroundUpdateFailed WebhookSubscriptionDisabledWebhookEventEventType = "chat.background_update_failed"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeChatTypingIndicatorStarted WebhookSubscriptionDisabledWebhookEventEventType = "chat.typing_indicator.started"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeChatTypingIndicatorStopped WebhookSubscriptionDisabledWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypePhoneNumberStatusUpdated WebhookSubscriptionDisabledWebhookEventEventType = "phone_number.status_updated"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypePhoneNumberAssigned WebhookSubscriptionDisabledWebhookEventEventType = "phone_number.assigned"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypePhoneNumberReleased WebhookSubscriptionDisabledWebhookEventEventType = "phone_number.released"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypePhoneNumberLineTypeUpdated WebhookSubscriptionDisabledWebhookEventEventType = "phone_number.line_type_updated"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeContactCardReceived WebhookSubscriptionDisabledWebhookEventEventType = "contact_card.received"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeCallInitiated WebhookSubscriptionDisabledWebhookEventEventType = "call.initiated"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeCallRinging WebhookSubscriptionDisabledWebhookEventEventType = "call.ringing"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeCallAnswered WebhookSubscriptionDisabledWebhookEventEventType = "call.answered"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeCallEnded WebhookSubscriptionDisabledWebhookEventEventType = "call.ended"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeCallFailed WebhookSubscriptionDisabledWebhookEventEventType = "call.failed"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeCallDeclined WebhookSubscriptionDisabledWebhookEventEventType = "call.declined"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeCallNoAnswer WebhookSubscriptionDisabledWebhookEventEventType = "call.no_answer"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeLocationSharingStarted WebhookSubscriptionDisabledWebhookEventEventType = "location.sharing.started"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeLocationSharingStopped WebhookSubscriptionDisabledWebhookEventEventType = "location.sharing.stopped"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypePaymentSucceeded WebhookSubscriptionDisabledWebhookEventEventType = "payment.succeeded"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypePaymentCanceled WebhookSubscriptionDisabledWebhookEventEventType = "payment.canceled"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypePaymentExpired WebhookSubscriptionDisabledWebhookEventEventType = "payment.expired"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypePaymentDeclined WebhookSubscriptionDisabledWebhookEventEventType = "payment.declined"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypePaymentAuthorized WebhookSubscriptionDisabledWebhookEventEventType = "payment.authorized"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeConnectionCreated WebhookSubscriptionDisabledWebhookEventEventType = "connection.created"`

      - `const WebhookSubscriptionDisabledWebhookEventEventTypeConnectionRevoked WebhookSubscriptionDisabledWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type WebhookSubscriptionEventsUpdatedWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data WebhookSubscriptionEventsUpdatedWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor WebhookSubscriptionEventsUpdatedWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const WebhookSubscriptionEventsUpdatedWebhookEventDataActorTypeTeamMember WebhookSubscriptionEventsUpdatedWebhookEventDataActorType = "team_member"`

          - `const WebhookSubscriptionEventsUpdatedWebhookEventDataActorTypeAPI WebhookSubscriptionEventsUpdatedWebhookEventDataActorType = "api"`

          - `const WebhookSubscriptionEventsUpdatedWebhookEventDataActorTypeSystem WebhookSubscriptionEventsUpdatedWebhookEventDataActorType = "system"`

          - `const WebhookSubscriptionEventsUpdatedWebhookEventDataActorTypeUnknown WebhookSubscriptionEventsUpdatedWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const WebhookSubscriptionEventsUpdatedWebhookEventDataOriginDashboard WebhookSubscriptionEventsUpdatedWebhookEventDataOrigin = "dashboard"`

        - `const WebhookSubscriptionEventsUpdatedWebhookEventDataOriginAPI WebhookSubscriptionEventsUpdatedWebhookEventDataOrigin = "api"`

        - `const WebhookSubscriptionEventsUpdatedWebhookEventDataOriginLinq WebhookSubscriptionEventsUpdatedWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken WebhookSubscriptionEventsUpdatedWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change WebhookSubscriptionEventsUpdatedWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName WebhookSubscriptionEventsUpdatedWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL WebhookSubscriptionEventsUpdatedWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName WebhookSubscriptionEventsUpdatedWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard WebhookSubscriptionEventsUpdatedWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment WebhookSubscriptionEventsUpdatedWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const WebhookSubscriptionEventsUpdatedWebhookEventDataEnvironmentTypeEnvironment WebhookSubscriptionEventsUpdatedWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const WebhookSubscriptionEventsUpdatedWebhookEventDataMethodCode WebhookSubscriptionEventsUpdatedWebhookEventDataMethod = "code"`

        - `const WebhookSubscriptionEventsUpdatedWebhookEventDataMethodSSO WebhookSubscriptionEventsUpdatedWebhookEventDataMethod = "sso"`

        - `const WebhookSubscriptionEventsUpdatedWebhookEventDataMethodGoogle WebhookSubscriptionEventsUpdatedWebhookEventDataMethod = "google"`

        - `const WebhookSubscriptionEventsUpdatedWebhookEventDataMethodApple WebhookSubscriptionEventsUpdatedWebhookEventDataMethod = "apple"`

        - `const WebhookSubscriptionEventsUpdatedWebhookEventDataMethodLinkedin WebhookSubscriptionEventsUpdatedWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember WebhookSubscriptionEventsUpdatedWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const WebhookSubscriptionEventsUpdatedWebhookEventDataTeamMemberRoleAdmin WebhookSubscriptionEventsUpdatedWebhookEventDataTeamMemberRole = "admin"`

          - `const WebhookSubscriptionEventsUpdatedWebhookEventDataTeamMemberRoleManager WebhookSubscriptionEventsUpdatedWebhookEventDataTeamMemberRole = "manager"`

          - `const WebhookSubscriptionEventsUpdatedWebhookEventDataTeamMemberRoleMember WebhookSubscriptionEventsUpdatedWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription WebhookSubscriptionEventsUpdatedWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookSubscriptionEventsUpdatedWebhookEventEventType`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeZeroDayRetentionUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "zero_day_retention.updated"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePhoneNumberForwardingUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeEnvironmentLineMoved WebhookSubscriptionEventsUpdatedWebhookEventEventType = "environment.line_moved"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeContactCardCreated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "contact_card.created"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeContactCardUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "contact_card.updated"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeContactCardDeleted WebhookSubscriptionEventsUpdatedWebhookEventEventType = "contact_card.deleted"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeAPITokenCreated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "api_token.created"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeAPITokenRenamed WebhookSubscriptionEventsUpdatedWebhookEventEventType = "api_token.renamed"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeAPITokenExpiryScheduled WebhookSubscriptionEventsUpdatedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeAPITokenExpired WebhookSubscriptionEventsUpdatedWebhookEventEventType = "api_token.expired"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeAPITokenActivated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "api_token.activated"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeAPITokenDeleted WebhookSubscriptionEventsUpdatedWebhookEventEventType = "api_token.deleted"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeEnvironmentCreated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "environment.created"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeEnvironmentRenamed WebhookSubscriptionEventsUpdatedWebhookEventEventType = "environment.renamed"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeEnvironmentDeleted WebhookSubscriptionEventsUpdatedWebhookEventEventType = "environment.deleted"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeWebhookSubscriptionCreated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "webhook_subscription.created"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeWebhookSubscriptionDeleted WebhookSubscriptionEventsUpdatedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged WebhookSubscriptionEventsUpdatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeWebhookSubscriptionEnabled WebhookSubscriptionEventsUpdatedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeWebhookSubscriptionDisabled WebhookSubscriptionEventsUpdatedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet WebhookSubscriptionEventsUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookSubscriptionEventsUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeTeamMemberAdded WebhookSubscriptionEventsUpdatedWebhookEventEventType = "team_member.added"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeTeamMemberSignedIn WebhookSubscriptionEventsUpdatedWebhookEventEventType = "team_member.signed_in"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeTeamMemberSignedOut WebhookSubscriptionEventsUpdatedWebhookEventEventType = "team_member.signed_out"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeMessageSent WebhookSubscriptionEventsUpdatedWebhookEventEventType = "message.sent"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeMessageReceived WebhookSubscriptionEventsUpdatedWebhookEventEventType = "message.received"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeMessageRead WebhookSubscriptionEventsUpdatedWebhookEventEventType = "message.read"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeMessageDelivered WebhookSubscriptionEventsUpdatedWebhookEventEventType = "message.delivered"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeMessageFailed WebhookSubscriptionEventsUpdatedWebhookEventEventType = "message.failed"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeMessageEdited WebhookSubscriptionEventsUpdatedWebhookEventEventType = "message.edited"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeReactionAdded WebhookSubscriptionEventsUpdatedWebhookEventEventType = "reaction.added"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeReactionRemoved WebhookSubscriptionEventsUpdatedWebhookEventEventType = "reaction.removed"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePollReceived WebhookSubscriptionEventsUpdatedWebhookEventEventType = "poll.received"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePollFailed WebhookSubscriptionEventsUpdatedWebhookEventEventType = "poll.failed"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePollSent WebhookSubscriptionEventsUpdatedWebhookEventEventType = "poll.sent"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePollDelivered WebhookSubscriptionEventsUpdatedWebhookEventEventType = "poll.delivered"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePollRead WebhookSubscriptionEventsUpdatedWebhookEventEventType = "poll.read"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePollUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "poll.updated"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePollVoteAdded WebhookSubscriptionEventsUpdatedWebhookEventEventType = "poll.vote.added"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePollVoteRemoved WebhookSubscriptionEventsUpdatedWebhookEventEventType = "poll.vote.removed"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePollReactionAdded WebhookSubscriptionEventsUpdatedWebhookEventEventType = "poll.reaction.added"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeParticipantAdded WebhookSubscriptionEventsUpdatedWebhookEventEventType = "participant.added"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeParticipantRemoved WebhookSubscriptionEventsUpdatedWebhookEventEventType = "participant.removed"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeChatCreated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "chat.created"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeChatGroupNameUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "chat.group_name_updated"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeChatGroupIconUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "chat.group_icon_updated"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeChatGroupNameUpdateFailed WebhookSubscriptionEventsUpdatedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeChatGroupIconUpdateFailed WebhookSubscriptionEventsUpdatedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeChatBackgroundUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "chat.background_updated"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeChatBackgroundUpdateFailed WebhookSubscriptionEventsUpdatedWebhookEventEventType = "chat.background_update_failed"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeChatTypingIndicatorStarted WebhookSubscriptionEventsUpdatedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeChatTypingIndicatorStopped WebhookSubscriptionEventsUpdatedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePhoneNumberStatusUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "phone_number.status_updated"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePhoneNumberAssigned WebhookSubscriptionEventsUpdatedWebhookEventEventType = "phone_number.assigned"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePhoneNumberReleased WebhookSubscriptionEventsUpdatedWebhookEventEventType = "phone_number.released"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePhoneNumberLineTypeUpdated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeContactCardReceived WebhookSubscriptionEventsUpdatedWebhookEventEventType = "contact_card.received"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeCallInitiated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "call.initiated"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeCallRinging WebhookSubscriptionEventsUpdatedWebhookEventEventType = "call.ringing"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeCallAnswered WebhookSubscriptionEventsUpdatedWebhookEventEventType = "call.answered"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeCallEnded WebhookSubscriptionEventsUpdatedWebhookEventEventType = "call.ended"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeCallFailed WebhookSubscriptionEventsUpdatedWebhookEventEventType = "call.failed"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeCallDeclined WebhookSubscriptionEventsUpdatedWebhookEventEventType = "call.declined"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeCallNoAnswer WebhookSubscriptionEventsUpdatedWebhookEventEventType = "call.no_answer"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeLocationSharingStarted WebhookSubscriptionEventsUpdatedWebhookEventEventType = "location.sharing.started"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeLocationSharingStopped WebhookSubscriptionEventsUpdatedWebhookEventEventType = "location.sharing.stopped"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePaymentSucceeded WebhookSubscriptionEventsUpdatedWebhookEventEventType = "payment.succeeded"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePaymentCanceled WebhookSubscriptionEventsUpdatedWebhookEventEventType = "payment.canceled"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePaymentExpired WebhookSubscriptionEventsUpdatedWebhookEventEventType = "payment.expired"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePaymentDeclined WebhookSubscriptionEventsUpdatedWebhookEventEventType = "payment.declined"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypePaymentAuthorized WebhookSubscriptionEventsUpdatedWebhookEventEventType = "payment.authorized"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeConnectionCreated WebhookSubscriptionEventsUpdatedWebhookEventEventType = "connection.created"`

      - `const WebhookSubscriptionEventsUpdatedWebhookEventEventTypeConnectionRevoked WebhookSubscriptionEventsUpdatedWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type WebhookSubscriptionPhoneNumbersUpdatedWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data WebhookSubscriptionPhoneNumbersUpdatedWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataActorTypeTeamMember WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataActorType = "team_member"`

          - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataActorTypeAPI WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataActorType = "api"`

          - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataActorTypeSystem WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataActorType = "system"`

          - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataActorTypeUnknown WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataOriginDashboard WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataOrigin = "dashboard"`

        - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataOriginAPI WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataOrigin = "api"`

        - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataOriginLinq WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataEnvironmentTypeEnvironment WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataMethodCode WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataMethod = "code"`

        - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataMethodSSO WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataMethod = "sso"`

        - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataMethodGoogle WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataMethod = "google"`

        - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataMethodApple WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataMethod = "apple"`

        - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataMethodLinkedin WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataTeamMemberRoleAdmin WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataTeamMemberRole = "admin"`

          - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataTeamMemberRoleManager WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataTeamMemberRole = "manager"`

          - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataTeamMemberRoleMember WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription WebhookSubscriptionPhoneNumbersUpdatedWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeZeroDayRetentionUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "zero_day_retention.updated"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePhoneNumberForwardingUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeEnvironmentLineMoved WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "environment.line_moved"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeContactCardCreated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "contact_card.created"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeContactCardUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "contact_card.updated"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeContactCardDeleted WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "contact_card.deleted"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeAPITokenCreated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "api_token.created"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeAPITokenRenamed WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "api_token.renamed"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeAPITokenExpiryScheduled WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeAPITokenExpired WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "api_token.expired"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeAPITokenActivated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "api_token.activated"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeAPITokenDeleted WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "api_token.deleted"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeEnvironmentCreated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "environment.created"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeEnvironmentRenamed WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "environment.renamed"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeEnvironmentDeleted WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "environment.deleted"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeWebhookSubscriptionCreated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "webhook_subscription.created"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeWebhookSubscriptionDeleted WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeWebhookSubscriptionEnabled WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeWebhookSubscriptionDisabled WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeWebhookSubscriptionEventsUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeTeamMemberAdded WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "team_member.added"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeTeamMemberSignedIn WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "team_member.signed_in"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeTeamMemberSignedOut WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "team_member.signed_out"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeMessageSent WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "message.sent"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeMessageReceived WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "message.received"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeMessageRead WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "message.read"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeMessageDelivered WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "message.delivered"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeMessageFailed WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "message.failed"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeMessageEdited WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "message.edited"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeReactionAdded WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "reaction.added"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeReactionRemoved WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "reaction.removed"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePollReceived WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "poll.received"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePollFailed WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "poll.failed"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePollSent WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "poll.sent"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePollDelivered WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "poll.delivered"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePollRead WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "poll.read"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePollUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "poll.updated"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePollVoteAdded WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "poll.vote.added"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePollVoteRemoved WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "poll.vote.removed"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePollReactionAdded WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "poll.reaction.added"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeParticipantAdded WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "participant.added"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeParticipantRemoved WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "participant.removed"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeChatCreated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "chat.created"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeChatGroupNameUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "chat.group_name_updated"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeChatGroupIconUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "chat.group_icon_updated"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeChatGroupNameUpdateFailed WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeChatGroupIconUpdateFailed WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeChatBackgroundUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "chat.background_updated"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeChatBackgroundUpdateFailed WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "chat.background_update_failed"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeChatTypingIndicatorStarted WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeChatTypingIndicatorStopped WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePhoneNumberStatusUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "phone_number.status_updated"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePhoneNumberAssigned WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "phone_number.assigned"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePhoneNumberReleased WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "phone_number.released"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePhoneNumberLineTypeUpdated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeContactCardReceived WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "contact_card.received"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeCallInitiated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "call.initiated"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeCallRinging WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "call.ringing"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeCallAnswered WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "call.answered"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeCallEnded WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "call.ended"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeCallFailed WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "call.failed"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeCallDeclined WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "call.declined"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeCallNoAnswer WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "call.no_answer"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeLocationSharingStarted WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "location.sharing.started"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeLocationSharingStopped WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "location.sharing.stopped"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePaymentSucceeded WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "payment.succeeded"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePaymentCanceled WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "payment.canceled"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePaymentExpired WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "payment.expired"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePaymentDeclined WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "payment.declined"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypePaymentAuthorized WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "payment.authorized"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeConnectionCreated WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "connection.created"`

      - `const WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventTypeConnectionRevoked WebhookSubscriptionPhoneNumbersUpdatedWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type WebhookSubscriptionRoutingHeadersSetWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data WebhookSubscriptionRoutingHeadersSetWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor WebhookSubscriptionRoutingHeadersSetWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataActorTypeTeamMember WebhookSubscriptionRoutingHeadersSetWebhookEventDataActorType = "team_member"`

          - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataActorTypeAPI WebhookSubscriptionRoutingHeadersSetWebhookEventDataActorType = "api"`

          - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataActorTypeSystem WebhookSubscriptionRoutingHeadersSetWebhookEventDataActorType = "system"`

          - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataActorTypeUnknown WebhookSubscriptionRoutingHeadersSetWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataOriginDashboard WebhookSubscriptionRoutingHeadersSetWebhookEventDataOrigin = "dashboard"`

        - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataOriginAPI WebhookSubscriptionRoutingHeadersSetWebhookEventDataOrigin = "api"`

        - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataOriginLinq WebhookSubscriptionRoutingHeadersSetWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken WebhookSubscriptionRoutingHeadersSetWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change WebhookSubscriptionRoutingHeadersSetWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName WebhookSubscriptionRoutingHeadersSetWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL WebhookSubscriptionRoutingHeadersSetWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName WebhookSubscriptionRoutingHeadersSetWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard WebhookSubscriptionRoutingHeadersSetWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment WebhookSubscriptionRoutingHeadersSetWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataEnvironmentTypeEnvironment WebhookSubscriptionRoutingHeadersSetWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataMethodCode WebhookSubscriptionRoutingHeadersSetWebhookEventDataMethod = "code"`

        - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataMethodSSO WebhookSubscriptionRoutingHeadersSetWebhookEventDataMethod = "sso"`

        - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataMethodGoogle WebhookSubscriptionRoutingHeadersSetWebhookEventDataMethod = "google"`

        - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataMethodApple WebhookSubscriptionRoutingHeadersSetWebhookEventDataMethod = "apple"`

        - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataMethodLinkedin WebhookSubscriptionRoutingHeadersSetWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember WebhookSubscriptionRoutingHeadersSetWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataTeamMemberRoleAdmin WebhookSubscriptionRoutingHeadersSetWebhookEventDataTeamMemberRole = "admin"`

          - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataTeamMemberRoleManager WebhookSubscriptionRoutingHeadersSetWebhookEventDataTeamMemberRole = "manager"`

          - `const WebhookSubscriptionRoutingHeadersSetWebhookEventDataTeamMemberRoleMember WebhookSubscriptionRoutingHeadersSetWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription WebhookSubscriptionRoutingHeadersSetWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookSubscriptionRoutingHeadersSetWebhookEventEventType`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeZeroDayRetentionUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "zero_day_retention.updated"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePhoneNumberForwardingUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeEnvironmentLineMoved WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "environment.line_moved"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeContactCardCreated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "contact_card.created"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeContactCardUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "contact_card.updated"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeContactCardDeleted WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "contact_card.deleted"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeAPITokenCreated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "api_token.created"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeAPITokenRenamed WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "api_token.renamed"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeAPITokenExpiryScheduled WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeAPITokenExpired WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "api_token.expired"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeAPITokenActivated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "api_token.activated"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeAPITokenDeleted WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "api_token.deleted"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeEnvironmentCreated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "environment.created"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeEnvironmentRenamed WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "environment.renamed"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeEnvironmentDeleted WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "environment.deleted"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeWebhookSubscriptionCreated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "webhook_subscription.created"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeWebhookSubscriptionDeleted WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "webhook_subscription.deleted"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeWebhookSubscriptionTargetURLChanged WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeWebhookSubscriptionEnabled WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "webhook_subscription.enabled"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeWebhookSubscriptionDisabled WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "webhook_subscription.disabled"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeWebhookSubscriptionEventsUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeTeamMemberAdded WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "team_member.added"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeTeamMemberSignedIn WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "team_member.signed_in"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeTeamMemberSignedOut WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "team_member.signed_out"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeMessageSent WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "message.sent"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeMessageReceived WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "message.received"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeMessageRead WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "message.read"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeMessageDelivered WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "message.delivered"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeMessageFailed WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "message.failed"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeMessageEdited WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "message.edited"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeReactionAdded WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "reaction.added"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeReactionRemoved WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "reaction.removed"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePollReceived WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "poll.received"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePollFailed WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "poll.failed"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePollSent WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "poll.sent"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePollDelivered WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "poll.delivered"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePollRead WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "poll.read"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePollUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "poll.updated"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePollVoteAdded WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "poll.vote.added"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePollVoteRemoved WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "poll.vote.removed"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePollReactionAdded WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "poll.reaction.added"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeParticipantAdded WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "participant.added"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeParticipantRemoved WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "participant.removed"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeChatCreated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "chat.created"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeChatGroupNameUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "chat.group_name_updated"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeChatGroupIconUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "chat.group_icon_updated"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeChatGroupNameUpdateFailed WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "chat.group_name_update_failed"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeChatGroupIconUpdateFailed WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeChatBackgroundUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "chat.background_updated"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeChatBackgroundUpdateFailed WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "chat.background_update_failed"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeChatTypingIndicatorStarted WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "chat.typing_indicator.started"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeChatTypingIndicatorStopped WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePhoneNumberStatusUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "phone_number.status_updated"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePhoneNumberAssigned WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "phone_number.assigned"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePhoneNumberReleased WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "phone_number.released"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePhoneNumberLineTypeUpdated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "phone_number.line_type_updated"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeContactCardReceived WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "contact_card.received"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeCallInitiated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "call.initiated"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeCallRinging WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "call.ringing"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeCallAnswered WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "call.answered"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeCallEnded WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "call.ended"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeCallFailed WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "call.failed"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeCallDeclined WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "call.declined"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeCallNoAnswer WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "call.no_answer"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeLocationSharingStarted WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "location.sharing.started"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeLocationSharingStopped WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "location.sharing.stopped"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePaymentSucceeded WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "payment.succeeded"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePaymentCanceled WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "payment.canceled"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePaymentExpired WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "payment.expired"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePaymentDeclined WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "payment.declined"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypePaymentAuthorized WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "payment.authorized"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeConnectionCreated WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "connection.created"`

      - `const WebhookSubscriptionRoutingHeadersSetWebhookEventEventTypeConnectionRevoked WebhookSubscriptionRoutingHeadersSetWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type WebhookSubscriptionRoutingHeadersClearedWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data WebhookSubscriptionRoutingHeadersClearedWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor WebhookSubscriptionRoutingHeadersClearedWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataActorTypeTeamMember WebhookSubscriptionRoutingHeadersClearedWebhookEventDataActorType = "team_member"`

          - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataActorTypeAPI WebhookSubscriptionRoutingHeadersClearedWebhookEventDataActorType = "api"`

          - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataActorTypeSystem WebhookSubscriptionRoutingHeadersClearedWebhookEventDataActorType = "system"`

          - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataActorTypeUnknown WebhookSubscriptionRoutingHeadersClearedWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataOriginDashboard WebhookSubscriptionRoutingHeadersClearedWebhookEventDataOrigin = "dashboard"`

        - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataOriginAPI WebhookSubscriptionRoutingHeadersClearedWebhookEventDataOrigin = "api"`

        - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataOriginLinq WebhookSubscriptionRoutingHeadersClearedWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken WebhookSubscriptionRoutingHeadersClearedWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change WebhookSubscriptionRoutingHeadersClearedWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName WebhookSubscriptionRoutingHeadersClearedWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL WebhookSubscriptionRoutingHeadersClearedWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName WebhookSubscriptionRoutingHeadersClearedWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard WebhookSubscriptionRoutingHeadersClearedWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment WebhookSubscriptionRoutingHeadersClearedWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataEnvironmentTypeEnvironment WebhookSubscriptionRoutingHeadersClearedWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataMethodCode WebhookSubscriptionRoutingHeadersClearedWebhookEventDataMethod = "code"`

        - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataMethodSSO WebhookSubscriptionRoutingHeadersClearedWebhookEventDataMethod = "sso"`

        - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataMethodGoogle WebhookSubscriptionRoutingHeadersClearedWebhookEventDataMethod = "google"`

        - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataMethodApple WebhookSubscriptionRoutingHeadersClearedWebhookEventDataMethod = "apple"`

        - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataMethodLinkedin WebhookSubscriptionRoutingHeadersClearedWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember WebhookSubscriptionRoutingHeadersClearedWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataTeamMemberRoleAdmin WebhookSubscriptionRoutingHeadersClearedWebhookEventDataTeamMemberRole = "admin"`

          - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataTeamMemberRoleManager WebhookSubscriptionRoutingHeadersClearedWebhookEventDataTeamMemberRole = "manager"`

          - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventDataTeamMemberRoleMember WebhookSubscriptionRoutingHeadersClearedWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription WebhookSubscriptionRoutingHeadersClearedWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeZeroDayRetentionUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "zero_day_retention.updated"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePhoneNumberForwardingUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeEnvironmentLineMoved WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "environment.line_moved"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeContactCardCreated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "contact_card.created"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeContactCardUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "contact_card.updated"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeContactCardDeleted WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "contact_card.deleted"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeAPITokenCreated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "api_token.created"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeAPITokenRenamed WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "api_token.renamed"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeAPITokenExpiryScheduled WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeAPITokenExpired WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "api_token.expired"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeAPITokenActivated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "api_token.activated"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeAPITokenDeleted WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "api_token.deleted"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeEnvironmentCreated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "environment.created"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeEnvironmentRenamed WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "environment.renamed"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeEnvironmentDeleted WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "environment.deleted"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeWebhookSubscriptionCreated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "webhook_subscription.created"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeWebhookSubscriptionDeleted WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeWebhookSubscriptionEnabled WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeWebhookSubscriptionDisabled WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeWebhookSubscriptionEventsUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeTeamMemberAdded WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "team_member.added"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeTeamMemberSignedIn WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "team_member.signed_in"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeTeamMemberSignedOut WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "team_member.signed_out"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeMessageSent WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "message.sent"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeMessageReceived WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "message.received"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeMessageRead WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "message.read"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeMessageDelivered WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "message.delivered"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeMessageFailed WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "message.failed"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeMessageEdited WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "message.edited"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeReactionAdded WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "reaction.added"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeReactionRemoved WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "reaction.removed"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePollReceived WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "poll.received"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePollFailed WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "poll.failed"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePollSent WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "poll.sent"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePollDelivered WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "poll.delivered"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePollRead WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "poll.read"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePollUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "poll.updated"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePollVoteAdded WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "poll.vote.added"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePollVoteRemoved WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "poll.vote.removed"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePollReactionAdded WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "poll.reaction.added"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeParticipantAdded WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "participant.added"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeParticipantRemoved WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "participant.removed"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeChatCreated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "chat.created"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeChatGroupNameUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "chat.group_name_updated"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeChatGroupIconUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "chat.group_icon_updated"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeChatGroupNameUpdateFailed WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeChatGroupIconUpdateFailed WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeChatBackgroundUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "chat.background_updated"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeChatBackgroundUpdateFailed WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "chat.background_update_failed"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeChatTypingIndicatorStarted WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeChatTypingIndicatorStopped WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePhoneNumberStatusUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "phone_number.status_updated"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePhoneNumberAssigned WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "phone_number.assigned"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePhoneNumberReleased WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "phone_number.released"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePhoneNumberLineTypeUpdated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeContactCardReceived WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "contact_card.received"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeCallInitiated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "call.initiated"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeCallRinging WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "call.ringing"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeCallAnswered WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "call.answered"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeCallEnded WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "call.ended"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeCallFailed WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "call.failed"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeCallDeclined WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "call.declined"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeCallNoAnswer WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "call.no_answer"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeLocationSharingStarted WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "location.sharing.started"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeLocationSharingStopped WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "location.sharing.stopped"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePaymentSucceeded WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "payment.succeeded"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePaymentCanceled WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "payment.canceled"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePaymentExpired WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "payment.expired"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePaymentDeclined WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "payment.declined"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypePaymentAuthorized WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "payment.authorized"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeConnectionCreated WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "connection.created"`

      - `const WebhookSubscriptionRoutingHeadersClearedWebhookEventEventTypeConnectionRevoked WebhookSubscriptionRoutingHeadersClearedWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type TeamMemberAddedWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data TeamMemberAddedWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor TeamMemberAddedWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const TeamMemberAddedWebhookEventDataActorTypeTeamMember TeamMemberAddedWebhookEventDataActorType = "team_member"`

          - `const TeamMemberAddedWebhookEventDataActorTypeAPI TeamMemberAddedWebhookEventDataActorType = "api"`

          - `const TeamMemberAddedWebhookEventDataActorTypeSystem TeamMemberAddedWebhookEventDataActorType = "system"`

          - `const TeamMemberAddedWebhookEventDataActorTypeUnknown TeamMemberAddedWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const TeamMemberAddedWebhookEventDataOriginDashboard TeamMemberAddedWebhookEventDataOrigin = "dashboard"`

        - `const TeamMemberAddedWebhookEventDataOriginAPI TeamMemberAddedWebhookEventDataOrigin = "api"`

        - `const TeamMemberAddedWebhookEventDataOriginLinq TeamMemberAddedWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken TeamMemberAddedWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change TeamMemberAddedWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName TeamMemberAddedWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL TeamMemberAddedWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName TeamMemberAddedWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard TeamMemberAddedWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment TeamMemberAddedWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const TeamMemberAddedWebhookEventDataEnvironmentTypeEnvironment TeamMemberAddedWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const TeamMemberAddedWebhookEventDataMethodCode TeamMemberAddedWebhookEventDataMethod = "code"`

        - `const TeamMemberAddedWebhookEventDataMethodSSO TeamMemberAddedWebhookEventDataMethod = "sso"`

        - `const TeamMemberAddedWebhookEventDataMethodGoogle TeamMemberAddedWebhookEventDataMethod = "google"`

        - `const TeamMemberAddedWebhookEventDataMethodApple TeamMemberAddedWebhookEventDataMethod = "apple"`

        - `const TeamMemberAddedWebhookEventDataMethodLinkedin TeamMemberAddedWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember TeamMemberAddedWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const TeamMemberAddedWebhookEventDataTeamMemberRoleAdmin TeamMemberAddedWebhookEventDataTeamMemberRole = "admin"`

          - `const TeamMemberAddedWebhookEventDataTeamMemberRoleManager TeamMemberAddedWebhookEventDataTeamMemberRole = "manager"`

          - `const TeamMemberAddedWebhookEventDataTeamMemberRoleMember TeamMemberAddedWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription TeamMemberAddedWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType TeamMemberAddedWebhookEventEventType`

      - `const TeamMemberAddedWebhookEventEventTypeZeroDayRetentionUpdated TeamMemberAddedWebhookEventEventType = "zero_day_retention.updated"`

      - `const TeamMemberAddedWebhookEventEventTypePhoneNumberForwardingUpdated TeamMemberAddedWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const TeamMemberAddedWebhookEventEventTypeEnvironmentLineMoved TeamMemberAddedWebhookEventEventType = "environment.line_moved"`

      - `const TeamMemberAddedWebhookEventEventTypeContactCardCreated TeamMemberAddedWebhookEventEventType = "contact_card.created"`

      - `const TeamMemberAddedWebhookEventEventTypeContactCardUpdated TeamMemberAddedWebhookEventEventType = "contact_card.updated"`

      - `const TeamMemberAddedWebhookEventEventTypeContactCardDeleted TeamMemberAddedWebhookEventEventType = "contact_card.deleted"`

      - `const TeamMemberAddedWebhookEventEventTypeAPITokenCreated TeamMemberAddedWebhookEventEventType = "api_token.created"`

      - `const TeamMemberAddedWebhookEventEventTypeAPITokenRenamed TeamMemberAddedWebhookEventEventType = "api_token.renamed"`

      - `const TeamMemberAddedWebhookEventEventTypeAPITokenExpiryScheduled TeamMemberAddedWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const TeamMemberAddedWebhookEventEventTypeAPITokenExpired TeamMemberAddedWebhookEventEventType = "api_token.expired"`

      - `const TeamMemberAddedWebhookEventEventTypeAPITokenActivated TeamMemberAddedWebhookEventEventType = "api_token.activated"`

      - `const TeamMemberAddedWebhookEventEventTypeAPITokenDeleted TeamMemberAddedWebhookEventEventType = "api_token.deleted"`

      - `const TeamMemberAddedWebhookEventEventTypeEnvironmentCreated TeamMemberAddedWebhookEventEventType = "environment.created"`

      - `const TeamMemberAddedWebhookEventEventTypeEnvironmentRenamed TeamMemberAddedWebhookEventEventType = "environment.renamed"`

      - `const TeamMemberAddedWebhookEventEventTypeEnvironmentDeleted TeamMemberAddedWebhookEventEventType = "environment.deleted"`

      - `const TeamMemberAddedWebhookEventEventTypeWebhookSubscriptionCreated TeamMemberAddedWebhookEventEventType = "webhook_subscription.created"`

      - `const TeamMemberAddedWebhookEventEventTypeWebhookSubscriptionDeleted TeamMemberAddedWebhookEventEventType = "webhook_subscription.deleted"`

      - `const TeamMemberAddedWebhookEventEventTypeWebhookSubscriptionTargetURLChanged TeamMemberAddedWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const TeamMemberAddedWebhookEventEventTypeWebhookSubscriptionEnabled TeamMemberAddedWebhookEventEventType = "webhook_subscription.enabled"`

      - `const TeamMemberAddedWebhookEventEventTypeWebhookSubscriptionDisabled TeamMemberAddedWebhookEventEventType = "webhook_subscription.disabled"`

      - `const TeamMemberAddedWebhookEventEventTypeWebhookSubscriptionEventsUpdated TeamMemberAddedWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const TeamMemberAddedWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated TeamMemberAddedWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const TeamMemberAddedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet TeamMemberAddedWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const TeamMemberAddedWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared TeamMemberAddedWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const TeamMemberAddedWebhookEventEventTypeTeamMemberAdded TeamMemberAddedWebhookEventEventType = "team_member.added"`

      - `const TeamMemberAddedWebhookEventEventTypeTeamMemberSignedIn TeamMemberAddedWebhookEventEventType = "team_member.signed_in"`

      - `const TeamMemberAddedWebhookEventEventTypeTeamMemberSignedOut TeamMemberAddedWebhookEventEventType = "team_member.signed_out"`

      - `const TeamMemberAddedWebhookEventEventTypeMessageSent TeamMemberAddedWebhookEventEventType = "message.sent"`

      - `const TeamMemberAddedWebhookEventEventTypeMessageReceived TeamMemberAddedWebhookEventEventType = "message.received"`

      - `const TeamMemberAddedWebhookEventEventTypeMessageRead TeamMemberAddedWebhookEventEventType = "message.read"`

      - `const TeamMemberAddedWebhookEventEventTypeMessageDelivered TeamMemberAddedWebhookEventEventType = "message.delivered"`

      - `const TeamMemberAddedWebhookEventEventTypeMessageFailed TeamMemberAddedWebhookEventEventType = "message.failed"`

      - `const TeamMemberAddedWebhookEventEventTypeMessageEdited TeamMemberAddedWebhookEventEventType = "message.edited"`

      - `const TeamMemberAddedWebhookEventEventTypeReactionAdded TeamMemberAddedWebhookEventEventType = "reaction.added"`

      - `const TeamMemberAddedWebhookEventEventTypeReactionRemoved TeamMemberAddedWebhookEventEventType = "reaction.removed"`

      - `const TeamMemberAddedWebhookEventEventTypePollReceived TeamMemberAddedWebhookEventEventType = "poll.received"`

      - `const TeamMemberAddedWebhookEventEventTypePollFailed TeamMemberAddedWebhookEventEventType = "poll.failed"`

      - `const TeamMemberAddedWebhookEventEventTypePollSent TeamMemberAddedWebhookEventEventType = "poll.sent"`

      - `const TeamMemberAddedWebhookEventEventTypePollDelivered TeamMemberAddedWebhookEventEventType = "poll.delivered"`

      - `const TeamMemberAddedWebhookEventEventTypePollRead TeamMemberAddedWebhookEventEventType = "poll.read"`

      - `const TeamMemberAddedWebhookEventEventTypePollUpdated TeamMemberAddedWebhookEventEventType = "poll.updated"`

      - `const TeamMemberAddedWebhookEventEventTypePollVoteAdded TeamMemberAddedWebhookEventEventType = "poll.vote.added"`

      - `const TeamMemberAddedWebhookEventEventTypePollVoteRemoved TeamMemberAddedWebhookEventEventType = "poll.vote.removed"`

      - `const TeamMemberAddedWebhookEventEventTypePollReactionAdded TeamMemberAddedWebhookEventEventType = "poll.reaction.added"`

      - `const TeamMemberAddedWebhookEventEventTypeParticipantAdded TeamMemberAddedWebhookEventEventType = "participant.added"`

      - `const TeamMemberAddedWebhookEventEventTypeParticipantRemoved TeamMemberAddedWebhookEventEventType = "participant.removed"`

      - `const TeamMemberAddedWebhookEventEventTypeChatCreated TeamMemberAddedWebhookEventEventType = "chat.created"`

      - `const TeamMemberAddedWebhookEventEventTypeChatGroupNameUpdated TeamMemberAddedWebhookEventEventType = "chat.group_name_updated"`

      - `const TeamMemberAddedWebhookEventEventTypeChatGroupIconUpdated TeamMemberAddedWebhookEventEventType = "chat.group_icon_updated"`

      - `const TeamMemberAddedWebhookEventEventTypeChatGroupNameUpdateFailed TeamMemberAddedWebhookEventEventType = "chat.group_name_update_failed"`

      - `const TeamMemberAddedWebhookEventEventTypeChatGroupIconUpdateFailed TeamMemberAddedWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const TeamMemberAddedWebhookEventEventTypeChatBackgroundUpdated TeamMemberAddedWebhookEventEventType = "chat.background_updated"`

      - `const TeamMemberAddedWebhookEventEventTypeChatBackgroundUpdateFailed TeamMemberAddedWebhookEventEventType = "chat.background_update_failed"`

      - `const TeamMemberAddedWebhookEventEventTypeChatTypingIndicatorStarted TeamMemberAddedWebhookEventEventType = "chat.typing_indicator.started"`

      - `const TeamMemberAddedWebhookEventEventTypeChatTypingIndicatorStopped TeamMemberAddedWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const TeamMemberAddedWebhookEventEventTypePhoneNumberStatusUpdated TeamMemberAddedWebhookEventEventType = "phone_number.status_updated"`

      - `const TeamMemberAddedWebhookEventEventTypePhoneNumberAssigned TeamMemberAddedWebhookEventEventType = "phone_number.assigned"`

      - `const TeamMemberAddedWebhookEventEventTypePhoneNumberReleased TeamMemberAddedWebhookEventEventType = "phone_number.released"`

      - `const TeamMemberAddedWebhookEventEventTypePhoneNumberLineTypeUpdated TeamMemberAddedWebhookEventEventType = "phone_number.line_type_updated"`

      - `const TeamMemberAddedWebhookEventEventTypeContactCardReceived TeamMemberAddedWebhookEventEventType = "contact_card.received"`

      - `const TeamMemberAddedWebhookEventEventTypeCallInitiated TeamMemberAddedWebhookEventEventType = "call.initiated"`

      - `const TeamMemberAddedWebhookEventEventTypeCallRinging TeamMemberAddedWebhookEventEventType = "call.ringing"`

      - `const TeamMemberAddedWebhookEventEventTypeCallAnswered TeamMemberAddedWebhookEventEventType = "call.answered"`

      - `const TeamMemberAddedWebhookEventEventTypeCallEnded TeamMemberAddedWebhookEventEventType = "call.ended"`

      - `const TeamMemberAddedWebhookEventEventTypeCallFailed TeamMemberAddedWebhookEventEventType = "call.failed"`

      - `const TeamMemberAddedWebhookEventEventTypeCallDeclined TeamMemberAddedWebhookEventEventType = "call.declined"`

      - `const TeamMemberAddedWebhookEventEventTypeCallNoAnswer TeamMemberAddedWebhookEventEventType = "call.no_answer"`

      - `const TeamMemberAddedWebhookEventEventTypeLocationSharingStarted TeamMemberAddedWebhookEventEventType = "location.sharing.started"`

      - `const TeamMemberAddedWebhookEventEventTypeLocationSharingStopped TeamMemberAddedWebhookEventEventType = "location.sharing.stopped"`

      - `const TeamMemberAddedWebhookEventEventTypePaymentSucceeded TeamMemberAddedWebhookEventEventType = "payment.succeeded"`

      - `const TeamMemberAddedWebhookEventEventTypePaymentCanceled TeamMemberAddedWebhookEventEventType = "payment.canceled"`

      - `const TeamMemberAddedWebhookEventEventTypePaymentExpired TeamMemberAddedWebhookEventEventType = "payment.expired"`

      - `const TeamMemberAddedWebhookEventEventTypePaymentDeclined TeamMemberAddedWebhookEventEventType = "payment.declined"`

      - `const TeamMemberAddedWebhookEventEventTypePaymentAuthorized TeamMemberAddedWebhookEventEventType = "payment.authorized"`

      - `const TeamMemberAddedWebhookEventEventTypeConnectionCreated TeamMemberAddedWebhookEventEventType = "connection.created"`

      - `const TeamMemberAddedWebhookEventEventTypeConnectionRevoked TeamMemberAddedWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type TeamMemberSignedInWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data TeamMemberSignedInWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor TeamMemberSignedInWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const TeamMemberSignedInWebhookEventDataActorTypeTeamMember TeamMemberSignedInWebhookEventDataActorType = "team_member"`

          - `const TeamMemberSignedInWebhookEventDataActorTypeAPI TeamMemberSignedInWebhookEventDataActorType = "api"`

          - `const TeamMemberSignedInWebhookEventDataActorTypeSystem TeamMemberSignedInWebhookEventDataActorType = "system"`

          - `const TeamMemberSignedInWebhookEventDataActorTypeUnknown TeamMemberSignedInWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const TeamMemberSignedInWebhookEventDataOriginDashboard TeamMemberSignedInWebhookEventDataOrigin = "dashboard"`

        - `const TeamMemberSignedInWebhookEventDataOriginAPI TeamMemberSignedInWebhookEventDataOrigin = "api"`

        - `const TeamMemberSignedInWebhookEventDataOriginLinq TeamMemberSignedInWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken TeamMemberSignedInWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change TeamMemberSignedInWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName TeamMemberSignedInWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL TeamMemberSignedInWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName TeamMemberSignedInWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard TeamMemberSignedInWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment TeamMemberSignedInWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const TeamMemberSignedInWebhookEventDataEnvironmentTypeEnvironment TeamMemberSignedInWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const TeamMemberSignedInWebhookEventDataMethodCode TeamMemberSignedInWebhookEventDataMethod = "code"`

        - `const TeamMemberSignedInWebhookEventDataMethodSSO TeamMemberSignedInWebhookEventDataMethod = "sso"`

        - `const TeamMemberSignedInWebhookEventDataMethodGoogle TeamMemberSignedInWebhookEventDataMethod = "google"`

        - `const TeamMemberSignedInWebhookEventDataMethodApple TeamMemberSignedInWebhookEventDataMethod = "apple"`

        - `const TeamMemberSignedInWebhookEventDataMethodLinkedin TeamMemberSignedInWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember TeamMemberSignedInWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const TeamMemberSignedInWebhookEventDataTeamMemberRoleAdmin TeamMemberSignedInWebhookEventDataTeamMemberRole = "admin"`

          - `const TeamMemberSignedInWebhookEventDataTeamMemberRoleManager TeamMemberSignedInWebhookEventDataTeamMemberRole = "manager"`

          - `const TeamMemberSignedInWebhookEventDataTeamMemberRoleMember TeamMemberSignedInWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription TeamMemberSignedInWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType TeamMemberSignedInWebhookEventEventType`

      - `const TeamMemberSignedInWebhookEventEventTypeZeroDayRetentionUpdated TeamMemberSignedInWebhookEventEventType = "zero_day_retention.updated"`

      - `const TeamMemberSignedInWebhookEventEventTypePhoneNumberForwardingUpdated TeamMemberSignedInWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const TeamMemberSignedInWebhookEventEventTypeEnvironmentLineMoved TeamMemberSignedInWebhookEventEventType = "environment.line_moved"`

      - `const TeamMemberSignedInWebhookEventEventTypeContactCardCreated TeamMemberSignedInWebhookEventEventType = "contact_card.created"`

      - `const TeamMemberSignedInWebhookEventEventTypeContactCardUpdated TeamMemberSignedInWebhookEventEventType = "contact_card.updated"`

      - `const TeamMemberSignedInWebhookEventEventTypeContactCardDeleted TeamMemberSignedInWebhookEventEventType = "contact_card.deleted"`

      - `const TeamMemberSignedInWebhookEventEventTypeAPITokenCreated TeamMemberSignedInWebhookEventEventType = "api_token.created"`

      - `const TeamMemberSignedInWebhookEventEventTypeAPITokenRenamed TeamMemberSignedInWebhookEventEventType = "api_token.renamed"`

      - `const TeamMemberSignedInWebhookEventEventTypeAPITokenExpiryScheduled TeamMemberSignedInWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const TeamMemberSignedInWebhookEventEventTypeAPITokenExpired TeamMemberSignedInWebhookEventEventType = "api_token.expired"`

      - `const TeamMemberSignedInWebhookEventEventTypeAPITokenActivated TeamMemberSignedInWebhookEventEventType = "api_token.activated"`

      - `const TeamMemberSignedInWebhookEventEventTypeAPITokenDeleted TeamMemberSignedInWebhookEventEventType = "api_token.deleted"`

      - `const TeamMemberSignedInWebhookEventEventTypeEnvironmentCreated TeamMemberSignedInWebhookEventEventType = "environment.created"`

      - `const TeamMemberSignedInWebhookEventEventTypeEnvironmentRenamed TeamMemberSignedInWebhookEventEventType = "environment.renamed"`

      - `const TeamMemberSignedInWebhookEventEventTypeEnvironmentDeleted TeamMemberSignedInWebhookEventEventType = "environment.deleted"`

      - `const TeamMemberSignedInWebhookEventEventTypeWebhookSubscriptionCreated TeamMemberSignedInWebhookEventEventType = "webhook_subscription.created"`

      - `const TeamMemberSignedInWebhookEventEventTypeWebhookSubscriptionDeleted TeamMemberSignedInWebhookEventEventType = "webhook_subscription.deleted"`

      - `const TeamMemberSignedInWebhookEventEventTypeWebhookSubscriptionTargetURLChanged TeamMemberSignedInWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const TeamMemberSignedInWebhookEventEventTypeWebhookSubscriptionEnabled TeamMemberSignedInWebhookEventEventType = "webhook_subscription.enabled"`

      - `const TeamMemberSignedInWebhookEventEventTypeWebhookSubscriptionDisabled TeamMemberSignedInWebhookEventEventType = "webhook_subscription.disabled"`

      - `const TeamMemberSignedInWebhookEventEventTypeWebhookSubscriptionEventsUpdated TeamMemberSignedInWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const TeamMemberSignedInWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated TeamMemberSignedInWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const TeamMemberSignedInWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet TeamMemberSignedInWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const TeamMemberSignedInWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared TeamMemberSignedInWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const TeamMemberSignedInWebhookEventEventTypeTeamMemberAdded TeamMemberSignedInWebhookEventEventType = "team_member.added"`

      - `const TeamMemberSignedInWebhookEventEventTypeTeamMemberSignedIn TeamMemberSignedInWebhookEventEventType = "team_member.signed_in"`

      - `const TeamMemberSignedInWebhookEventEventTypeTeamMemberSignedOut TeamMemberSignedInWebhookEventEventType = "team_member.signed_out"`

      - `const TeamMemberSignedInWebhookEventEventTypeMessageSent TeamMemberSignedInWebhookEventEventType = "message.sent"`

      - `const TeamMemberSignedInWebhookEventEventTypeMessageReceived TeamMemberSignedInWebhookEventEventType = "message.received"`

      - `const TeamMemberSignedInWebhookEventEventTypeMessageRead TeamMemberSignedInWebhookEventEventType = "message.read"`

      - `const TeamMemberSignedInWebhookEventEventTypeMessageDelivered TeamMemberSignedInWebhookEventEventType = "message.delivered"`

      - `const TeamMemberSignedInWebhookEventEventTypeMessageFailed TeamMemberSignedInWebhookEventEventType = "message.failed"`

      - `const TeamMemberSignedInWebhookEventEventTypeMessageEdited TeamMemberSignedInWebhookEventEventType = "message.edited"`

      - `const TeamMemberSignedInWebhookEventEventTypeReactionAdded TeamMemberSignedInWebhookEventEventType = "reaction.added"`

      - `const TeamMemberSignedInWebhookEventEventTypeReactionRemoved TeamMemberSignedInWebhookEventEventType = "reaction.removed"`

      - `const TeamMemberSignedInWebhookEventEventTypePollReceived TeamMemberSignedInWebhookEventEventType = "poll.received"`

      - `const TeamMemberSignedInWebhookEventEventTypePollFailed TeamMemberSignedInWebhookEventEventType = "poll.failed"`

      - `const TeamMemberSignedInWebhookEventEventTypePollSent TeamMemberSignedInWebhookEventEventType = "poll.sent"`

      - `const TeamMemberSignedInWebhookEventEventTypePollDelivered TeamMemberSignedInWebhookEventEventType = "poll.delivered"`

      - `const TeamMemberSignedInWebhookEventEventTypePollRead TeamMemberSignedInWebhookEventEventType = "poll.read"`

      - `const TeamMemberSignedInWebhookEventEventTypePollUpdated TeamMemberSignedInWebhookEventEventType = "poll.updated"`

      - `const TeamMemberSignedInWebhookEventEventTypePollVoteAdded TeamMemberSignedInWebhookEventEventType = "poll.vote.added"`

      - `const TeamMemberSignedInWebhookEventEventTypePollVoteRemoved TeamMemberSignedInWebhookEventEventType = "poll.vote.removed"`

      - `const TeamMemberSignedInWebhookEventEventTypePollReactionAdded TeamMemberSignedInWebhookEventEventType = "poll.reaction.added"`

      - `const TeamMemberSignedInWebhookEventEventTypeParticipantAdded TeamMemberSignedInWebhookEventEventType = "participant.added"`

      - `const TeamMemberSignedInWebhookEventEventTypeParticipantRemoved TeamMemberSignedInWebhookEventEventType = "participant.removed"`

      - `const TeamMemberSignedInWebhookEventEventTypeChatCreated TeamMemberSignedInWebhookEventEventType = "chat.created"`

      - `const TeamMemberSignedInWebhookEventEventTypeChatGroupNameUpdated TeamMemberSignedInWebhookEventEventType = "chat.group_name_updated"`

      - `const TeamMemberSignedInWebhookEventEventTypeChatGroupIconUpdated TeamMemberSignedInWebhookEventEventType = "chat.group_icon_updated"`

      - `const TeamMemberSignedInWebhookEventEventTypeChatGroupNameUpdateFailed TeamMemberSignedInWebhookEventEventType = "chat.group_name_update_failed"`

      - `const TeamMemberSignedInWebhookEventEventTypeChatGroupIconUpdateFailed TeamMemberSignedInWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const TeamMemberSignedInWebhookEventEventTypeChatBackgroundUpdated TeamMemberSignedInWebhookEventEventType = "chat.background_updated"`

      - `const TeamMemberSignedInWebhookEventEventTypeChatBackgroundUpdateFailed TeamMemberSignedInWebhookEventEventType = "chat.background_update_failed"`

      - `const TeamMemberSignedInWebhookEventEventTypeChatTypingIndicatorStarted TeamMemberSignedInWebhookEventEventType = "chat.typing_indicator.started"`

      - `const TeamMemberSignedInWebhookEventEventTypeChatTypingIndicatorStopped TeamMemberSignedInWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const TeamMemberSignedInWebhookEventEventTypePhoneNumberStatusUpdated TeamMemberSignedInWebhookEventEventType = "phone_number.status_updated"`

      - `const TeamMemberSignedInWebhookEventEventTypePhoneNumberAssigned TeamMemberSignedInWebhookEventEventType = "phone_number.assigned"`

      - `const TeamMemberSignedInWebhookEventEventTypePhoneNumberReleased TeamMemberSignedInWebhookEventEventType = "phone_number.released"`

      - `const TeamMemberSignedInWebhookEventEventTypePhoneNumberLineTypeUpdated TeamMemberSignedInWebhookEventEventType = "phone_number.line_type_updated"`

      - `const TeamMemberSignedInWebhookEventEventTypeContactCardReceived TeamMemberSignedInWebhookEventEventType = "contact_card.received"`

      - `const TeamMemberSignedInWebhookEventEventTypeCallInitiated TeamMemberSignedInWebhookEventEventType = "call.initiated"`

      - `const TeamMemberSignedInWebhookEventEventTypeCallRinging TeamMemberSignedInWebhookEventEventType = "call.ringing"`

      - `const TeamMemberSignedInWebhookEventEventTypeCallAnswered TeamMemberSignedInWebhookEventEventType = "call.answered"`

      - `const TeamMemberSignedInWebhookEventEventTypeCallEnded TeamMemberSignedInWebhookEventEventType = "call.ended"`

      - `const TeamMemberSignedInWebhookEventEventTypeCallFailed TeamMemberSignedInWebhookEventEventType = "call.failed"`

      - `const TeamMemberSignedInWebhookEventEventTypeCallDeclined TeamMemberSignedInWebhookEventEventType = "call.declined"`

      - `const TeamMemberSignedInWebhookEventEventTypeCallNoAnswer TeamMemberSignedInWebhookEventEventType = "call.no_answer"`

      - `const TeamMemberSignedInWebhookEventEventTypeLocationSharingStarted TeamMemberSignedInWebhookEventEventType = "location.sharing.started"`

      - `const TeamMemberSignedInWebhookEventEventTypeLocationSharingStopped TeamMemberSignedInWebhookEventEventType = "location.sharing.stopped"`

      - `const TeamMemberSignedInWebhookEventEventTypePaymentSucceeded TeamMemberSignedInWebhookEventEventType = "payment.succeeded"`

      - `const TeamMemberSignedInWebhookEventEventTypePaymentCanceled TeamMemberSignedInWebhookEventEventType = "payment.canceled"`

      - `const TeamMemberSignedInWebhookEventEventTypePaymentExpired TeamMemberSignedInWebhookEventEventType = "payment.expired"`

      - `const TeamMemberSignedInWebhookEventEventTypePaymentDeclined TeamMemberSignedInWebhookEventEventType = "payment.declined"`

      - `const TeamMemberSignedInWebhookEventEventTypePaymentAuthorized TeamMemberSignedInWebhookEventEventType = "payment.authorized"`

      - `const TeamMemberSignedInWebhookEventEventTypeConnectionCreated TeamMemberSignedInWebhookEventEventType = "connection.created"`

      - `const TeamMemberSignedInWebhookEventEventTypeConnectionRevoked TeamMemberSignedInWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.

  - `type TeamMemberSignedOutWebhookEvent struct{…}`

    Webhook payload for account events. One event type per kind of account change. `event_id` is the same on every retry and on every subscription the event is delivered to; use it to deduplicate. `created_at` is when the webhook was created and `data.occurred_at` when the change happened. Events are not guaranteed to arrive in order. Delivery is best-effort: if a delivery still fails after retries, the change remains on your Activity page. Changes to webhook subscriptions are account events too, so a subscription to `webhook_subscription.*` events receives an event about the subscription that was just created or edited.

    - `APIVersion string`

      API version for the webhook payload format

    - `CreatedAt Time`

      When the event was created

    - `Data TeamMemberSignedOutWebhookEventData`

      A change on your account, the same change shown on your Activity page. Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.

      - `Actor TeamMemberSignedOutWebhookEventDataActor`

        Who made the change. `team_member` carries the member's id, name and email; other types carry no identity. `system` is a change made by Linq, matching "System" on your Activity page. `unknown` means the actor could not be identified.

        - `Type string`

          - `const TeamMemberSignedOutWebhookEventDataActorTypeTeamMember TeamMemberSignedOutWebhookEventDataActorType = "team_member"`

          - `const TeamMemberSignedOutWebhookEventDataActorTypeAPI TeamMemberSignedOutWebhookEventDataActorType = "api"`

          - `const TeamMemberSignedOutWebhookEventDataActorTypeSystem TeamMemberSignedOutWebhookEventDataActorType = "system"`

          - `const TeamMemberSignedOutWebhookEventDataActorTypeUnknown TeamMemberSignedOutWebhookEventDataActorType = "unknown"`

        - `ID string`

          Team member's user ID. Only for `team_member`.

        - `Email string`

          Team member's email. Only for `team_member`.

        - `Name string`

          Team member's name. Only for `team_member`.

      - `OccurredAt Time`

        When the change happened.

      - `Origin string`

        Where the change was made.

        - `const TeamMemberSignedOutWebhookEventDataOriginDashboard TeamMemberSignedOutWebhookEventDataOrigin = "dashboard"`

        - `const TeamMemberSignedOutWebhookEventDataOriginAPI TeamMemberSignedOutWebhookEventDataOrigin = "api"`

        - `const TeamMemberSignedOutWebhookEventDataOriginLinq TeamMemberSignedOutWebhookEventDataOrigin = "linq"`

      - `Summary string`

        Human-readable label, identical to the Activity page. For display only; the wording may change without a new webhook version.

      - `APIToken TeamMemberSignedOutWebhookEventDataAPIToken`

        The API token that changed.

        - `ID string`

        - `ExpiresAt Time`

          When the token expires; null if it never does.

        - `TokenPrefix string`

          The token's visible prefix.

        - `Name string`

          Absent when the token has no name.

      - `Change TeamMemberSignedOutWebhookEventDataChange`

        The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.

        - `FirstName TeamMemberSignedOutWebhookEventDataChangeFirstName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `From any`

          The value before the change; null when there was none.

        - `ImageURL TeamMemberSignedOutWebhookEventDataChangeImageURL`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `LastName TeamMemberSignedOutWebhookEventDataChangeLastName`

          A single field's change, on `contact_card.updated`. Present only for the field that changed.

          - `From string`

            The value before the change; null when the card had none.

          - `To string`

            The value after the change; null when it was removed.

        - `To any`

          The value after the change; null when it was cleared.

      - `ContactCard TeamMemberSignedOutWebhookEventDataContactCard`

        The contact card that changed.

        - `ID string`

        - `FirstName string`

        - `ImageURL string`

          Null when the card has no photo.

        - `LastName string`

          Null when the card has no last name.

      - `Environment TeamMemberSignedOutWebhookEventDataEnvironment`

        An environment, identified by name. Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.

        - `Name string`

        - `Type string`

          - `const TeamMemberSignedOutWebhookEventDataEnvironmentTypeEnvironment TeamMemberSignedOutWebhookEventDataEnvironmentType = "environment"`

      - `LinesMovedToProduction int64`

        Lines moved to Production when an environment was deleted.

      - `Method string`

        How the team member signed in. `code` is a one-time code sent by email or text. Only on `team_member.signed_in`.

        - `const TeamMemberSignedOutWebhookEventDataMethodCode TeamMemberSignedOutWebhookEventDataMethod = "code"`

        - `const TeamMemberSignedOutWebhookEventDataMethodSSO TeamMemberSignedOutWebhookEventDataMethod = "sso"`

        - `const TeamMemberSignedOutWebhookEventDataMethodGoogle TeamMemberSignedOutWebhookEventDataMethod = "google"`

        - `const TeamMemberSignedOutWebhookEventDataMethodApple TeamMemberSignedOutWebhookEventDataMethod = "apple"`

        - `const TeamMemberSignedOutWebhookEventDataMethodLinkedin TeamMemberSignedOutWebhookEventDataMethod = "linkedin"`

      - `PhoneNumber string`

        The line the change is about, in E.164 format.

      - `TeamMember TeamMemberSignedOutWebhookEventDataTeamMember`

        The team member the event is about.

        - `ID string`

          The team member's user ID.

        - `Name string`

          Absent when the member has no name.

        - `Role string`

          Role the member joined with. Only on `team_member.added`.

          - `const TeamMemberSignedOutWebhookEventDataTeamMemberRoleAdmin TeamMemberSignedOutWebhookEventDataTeamMemberRole = "admin"`

          - `const TeamMemberSignedOutWebhookEventDataTeamMemberRoleManager TeamMemberSignedOutWebhookEventDataTeamMemberRole = "manager"`

          - `const TeamMemberSignedOutWebhookEventDataTeamMemberRoleMember TeamMemberSignedOutWebhookEventDataTeamMemberRole = "member"`

      - `TokensRevoked int64`

        API tokens revoked when an environment was deleted.

      - `WebhookSubscription TeamMemberSignedOutWebhookEventDataWebhookSubscription`

        The webhook subscription that changed.

        - `ID string`

        - `Events []string`

          Event types it listens for. Only on `webhook_subscription.created`.

        - `TargetURL string`

          Sent without credentials, query string or fragment.

    - `EventID string`

      Unique identifier for this event (for deduplication)

    - `EventType TeamMemberSignedOutWebhookEventEventType`

      - `const TeamMemberSignedOutWebhookEventEventTypeZeroDayRetentionUpdated TeamMemberSignedOutWebhookEventEventType = "zero_day_retention.updated"`

      - `const TeamMemberSignedOutWebhookEventEventTypePhoneNumberForwardingUpdated TeamMemberSignedOutWebhookEventEventType = "phone_number.forwarding_updated"`

      - `const TeamMemberSignedOutWebhookEventEventTypeEnvironmentLineMoved TeamMemberSignedOutWebhookEventEventType = "environment.line_moved"`

      - `const TeamMemberSignedOutWebhookEventEventTypeContactCardCreated TeamMemberSignedOutWebhookEventEventType = "contact_card.created"`

      - `const TeamMemberSignedOutWebhookEventEventTypeContactCardUpdated TeamMemberSignedOutWebhookEventEventType = "contact_card.updated"`

      - `const TeamMemberSignedOutWebhookEventEventTypeContactCardDeleted TeamMemberSignedOutWebhookEventEventType = "contact_card.deleted"`

      - `const TeamMemberSignedOutWebhookEventEventTypeAPITokenCreated TeamMemberSignedOutWebhookEventEventType = "api_token.created"`

      - `const TeamMemberSignedOutWebhookEventEventTypeAPITokenRenamed TeamMemberSignedOutWebhookEventEventType = "api_token.renamed"`

      - `const TeamMemberSignedOutWebhookEventEventTypeAPITokenExpiryScheduled TeamMemberSignedOutWebhookEventEventType = "api_token.expiry_scheduled"`

      - `const TeamMemberSignedOutWebhookEventEventTypeAPITokenExpired TeamMemberSignedOutWebhookEventEventType = "api_token.expired"`

      - `const TeamMemberSignedOutWebhookEventEventTypeAPITokenActivated TeamMemberSignedOutWebhookEventEventType = "api_token.activated"`

      - `const TeamMemberSignedOutWebhookEventEventTypeAPITokenDeleted TeamMemberSignedOutWebhookEventEventType = "api_token.deleted"`

      - `const TeamMemberSignedOutWebhookEventEventTypeEnvironmentCreated TeamMemberSignedOutWebhookEventEventType = "environment.created"`

      - `const TeamMemberSignedOutWebhookEventEventTypeEnvironmentRenamed TeamMemberSignedOutWebhookEventEventType = "environment.renamed"`

      - `const TeamMemberSignedOutWebhookEventEventTypeEnvironmentDeleted TeamMemberSignedOutWebhookEventEventType = "environment.deleted"`

      - `const TeamMemberSignedOutWebhookEventEventTypeWebhookSubscriptionCreated TeamMemberSignedOutWebhookEventEventType = "webhook_subscription.created"`

      - `const TeamMemberSignedOutWebhookEventEventTypeWebhookSubscriptionDeleted TeamMemberSignedOutWebhookEventEventType = "webhook_subscription.deleted"`

      - `const TeamMemberSignedOutWebhookEventEventTypeWebhookSubscriptionTargetURLChanged TeamMemberSignedOutWebhookEventEventType = "webhook_subscription.target_url_changed"`

      - `const TeamMemberSignedOutWebhookEventEventTypeWebhookSubscriptionEnabled TeamMemberSignedOutWebhookEventEventType = "webhook_subscription.enabled"`

      - `const TeamMemberSignedOutWebhookEventEventTypeWebhookSubscriptionDisabled TeamMemberSignedOutWebhookEventEventType = "webhook_subscription.disabled"`

      - `const TeamMemberSignedOutWebhookEventEventTypeWebhookSubscriptionEventsUpdated TeamMemberSignedOutWebhookEventEventType = "webhook_subscription.events.updated"`

      - `const TeamMemberSignedOutWebhookEventEventTypeWebhookSubscriptionPhoneNumbersUpdated TeamMemberSignedOutWebhookEventEventType = "webhook_subscription.phone_numbers.updated"`

      - `const TeamMemberSignedOutWebhookEventEventTypeWebhookSubscriptionRoutingHeadersSet TeamMemberSignedOutWebhookEventEventType = "webhook_subscription.routing_headers_set"`

      - `const TeamMemberSignedOutWebhookEventEventTypeWebhookSubscriptionRoutingHeadersCleared TeamMemberSignedOutWebhookEventEventType = "webhook_subscription.routing_headers_cleared"`

      - `const TeamMemberSignedOutWebhookEventEventTypeTeamMemberAdded TeamMemberSignedOutWebhookEventEventType = "team_member.added"`

      - `const TeamMemberSignedOutWebhookEventEventTypeTeamMemberSignedIn TeamMemberSignedOutWebhookEventEventType = "team_member.signed_in"`

      - `const TeamMemberSignedOutWebhookEventEventTypeTeamMemberSignedOut TeamMemberSignedOutWebhookEventEventType = "team_member.signed_out"`

      - `const TeamMemberSignedOutWebhookEventEventTypeMessageSent TeamMemberSignedOutWebhookEventEventType = "message.sent"`

      - `const TeamMemberSignedOutWebhookEventEventTypeMessageReceived TeamMemberSignedOutWebhookEventEventType = "message.received"`

      - `const TeamMemberSignedOutWebhookEventEventTypeMessageRead TeamMemberSignedOutWebhookEventEventType = "message.read"`

      - `const TeamMemberSignedOutWebhookEventEventTypeMessageDelivered TeamMemberSignedOutWebhookEventEventType = "message.delivered"`

      - `const TeamMemberSignedOutWebhookEventEventTypeMessageFailed TeamMemberSignedOutWebhookEventEventType = "message.failed"`

      - `const TeamMemberSignedOutWebhookEventEventTypeMessageEdited TeamMemberSignedOutWebhookEventEventType = "message.edited"`

      - `const TeamMemberSignedOutWebhookEventEventTypeReactionAdded TeamMemberSignedOutWebhookEventEventType = "reaction.added"`

      - `const TeamMemberSignedOutWebhookEventEventTypeReactionRemoved TeamMemberSignedOutWebhookEventEventType = "reaction.removed"`

      - `const TeamMemberSignedOutWebhookEventEventTypePollReceived TeamMemberSignedOutWebhookEventEventType = "poll.received"`

      - `const TeamMemberSignedOutWebhookEventEventTypePollFailed TeamMemberSignedOutWebhookEventEventType = "poll.failed"`

      - `const TeamMemberSignedOutWebhookEventEventTypePollSent TeamMemberSignedOutWebhookEventEventType = "poll.sent"`

      - `const TeamMemberSignedOutWebhookEventEventTypePollDelivered TeamMemberSignedOutWebhookEventEventType = "poll.delivered"`

      - `const TeamMemberSignedOutWebhookEventEventTypePollRead TeamMemberSignedOutWebhookEventEventType = "poll.read"`

      - `const TeamMemberSignedOutWebhookEventEventTypePollUpdated TeamMemberSignedOutWebhookEventEventType = "poll.updated"`

      - `const TeamMemberSignedOutWebhookEventEventTypePollVoteAdded TeamMemberSignedOutWebhookEventEventType = "poll.vote.added"`

      - `const TeamMemberSignedOutWebhookEventEventTypePollVoteRemoved TeamMemberSignedOutWebhookEventEventType = "poll.vote.removed"`

      - `const TeamMemberSignedOutWebhookEventEventTypePollReactionAdded TeamMemberSignedOutWebhookEventEventType = "poll.reaction.added"`

      - `const TeamMemberSignedOutWebhookEventEventTypeParticipantAdded TeamMemberSignedOutWebhookEventEventType = "participant.added"`

      - `const TeamMemberSignedOutWebhookEventEventTypeParticipantRemoved TeamMemberSignedOutWebhookEventEventType = "participant.removed"`

      - `const TeamMemberSignedOutWebhookEventEventTypeChatCreated TeamMemberSignedOutWebhookEventEventType = "chat.created"`

      - `const TeamMemberSignedOutWebhookEventEventTypeChatGroupNameUpdated TeamMemberSignedOutWebhookEventEventType = "chat.group_name_updated"`

      - `const TeamMemberSignedOutWebhookEventEventTypeChatGroupIconUpdated TeamMemberSignedOutWebhookEventEventType = "chat.group_icon_updated"`

      - `const TeamMemberSignedOutWebhookEventEventTypeChatGroupNameUpdateFailed TeamMemberSignedOutWebhookEventEventType = "chat.group_name_update_failed"`

      - `const TeamMemberSignedOutWebhookEventEventTypeChatGroupIconUpdateFailed TeamMemberSignedOutWebhookEventEventType = "chat.group_icon_update_failed"`

      - `const TeamMemberSignedOutWebhookEventEventTypeChatBackgroundUpdated TeamMemberSignedOutWebhookEventEventType = "chat.background_updated"`

      - `const TeamMemberSignedOutWebhookEventEventTypeChatBackgroundUpdateFailed TeamMemberSignedOutWebhookEventEventType = "chat.background_update_failed"`

      - `const TeamMemberSignedOutWebhookEventEventTypeChatTypingIndicatorStarted TeamMemberSignedOutWebhookEventEventType = "chat.typing_indicator.started"`

      - `const TeamMemberSignedOutWebhookEventEventTypeChatTypingIndicatorStopped TeamMemberSignedOutWebhookEventEventType = "chat.typing_indicator.stopped"`

      - `const TeamMemberSignedOutWebhookEventEventTypePhoneNumberStatusUpdated TeamMemberSignedOutWebhookEventEventType = "phone_number.status_updated"`

      - `const TeamMemberSignedOutWebhookEventEventTypePhoneNumberAssigned TeamMemberSignedOutWebhookEventEventType = "phone_number.assigned"`

      - `const TeamMemberSignedOutWebhookEventEventTypePhoneNumberReleased TeamMemberSignedOutWebhookEventEventType = "phone_number.released"`

      - `const TeamMemberSignedOutWebhookEventEventTypePhoneNumberLineTypeUpdated TeamMemberSignedOutWebhookEventEventType = "phone_number.line_type_updated"`

      - `const TeamMemberSignedOutWebhookEventEventTypeContactCardReceived TeamMemberSignedOutWebhookEventEventType = "contact_card.received"`

      - `const TeamMemberSignedOutWebhookEventEventTypeCallInitiated TeamMemberSignedOutWebhookEventEventType = "call.initiated"`

      - `const TeamMemberSignedOutWebhookEventEventTypeCallRinging TeamMemberSignedOutWebhookEventEventType = "call.ringing"`

      - `const TeamMemberSignedOutWebhookEventEventTypeCallAnswered TeamMemberSignedOutWebhookEventEventType = "call.answered"`

      - `const TeamMemberSignedOutWebhookEventEventTypeCallEnded TeamMemberSignedOutWebhookEventEventType = "call.ended"`

      - `const TeamMemberSignedOutWebhookEventEventTypeCallFailed TeamMemberSignedOutWebhookEventEventType = "call.failed"`

      - `const TeamMemberSignedOutWebhookEventEventTypeCallDeclined TeamMemberSignedOutWebhookEventEventType = "call.declined"`

      - `const TeamMemberSignedOutWebhookEventEventTypeCallNoAnswer TeamMemberSignedOutWebhookEventEventType = "call.no_answer"`

      - `const TeamMemberSignedOutWebhookEventEventTypeLocationSharingStarted TeamMemberSignedOutWebhookEventEventType = "location.sharing.started"`

      - `const TeamMemberSignedOutWebhookEventEventTypeLocationSharingStopped TeamMemberSignedOutWebhookEventEventType = "location.sharing.stopped"`

      - `const TeamMemberSignedOutWebhookEventEventTypePaymentSucceeded TeamMemberSignedOutWebhookEventEventType = "payment.succeeded"`

      - `const TeamMemberSignedOutWebhookEventEventTypePaymentCanceled TeamMemberSignedOutWebhookEventEventType = "payment.canceled"`

      - `const TeamMemberSignedOutWebhookEventEventTypePaymentExpired TeamMemberSignedOutWebhookEventEventType = "payment.expired"`

      - `const TeamMemberSignedOutWebhookEventEventTypePaymentDeclined TeamMemberSignedOutWebhookEventEventType = "payment.declined"`

      - `const TeamMemberSignedOutWebhookEventEventTypePaymentAuthorized TeamMemberSignedOutWebhookEventEventType = "payment.authorized"`

      - `const TeamMemberSignedOutWebhookEventEventTypeConnectionCreated TeamMemberSignedOutWebhookEventEventType = "connection.created"`

      - `const TeamMemberSignedOutWebhookEventEventTypeConnectionRevoked TeamMemberSignedOutWebhookEventEventType = "connection.revoked"`

    - `PartnerID string`

      Partner identifier. Present on all webhooks for cross-referencing.

    - `TraceID string`

      Trace ID for debugging and correlation across systems.

    - `WebhookVersion string`

      Date-based webhook payload version.
      Determined by the `?version=` query parameter in your webhook subscription URL.
      If no version parameter is specified, defaults based on subscription creation date.
