---
title: "POST linkFollowed"
method: POST
path: "linkFollowed"
---

# POST linkFollowed

`POST linkFollowed` (webhook)

The `link.followed` event is delivered when a contact first follows a shortened link that was included in a message sent from a Surge number. This event is only triggered on the first click of each link; subsequent clicks on the same link do not generate additional events.

## Payload

- LinkFollowedEvent
  - `account_id` string, required — The ID of the account in which this event occurred
  - `data` object, required — The data associated with the event
    - `id` string, required — The unique identifier for the link
    - `message` object, nullable, required — A Message is a communication sent to a Contact.
      - `attachments` Attachment[]
        - `id` string — Unique identifier for the object.
        - `type` 'file' | 'image' | 'link' | 'contact' | 'video' — The type of attachment.
        - `url` string — The URL of the attachment.
      - `blast_id` string, nullable — The ID of the blast this message belongs to, if any. This can be used to attribute messages back to a specific blast.
      - `body` string, nullable — The message body.
      - `conversation` Conversation — A conversation with a Contact
        - `contact` Contact, required — A contact who has consented to receive messages
          - `email` string, email — The contact's email address.
          - `first_name` string — The contact's first name.
          - `id` string, required — Unique identifier for the object.
          - `last_name` string — The contact's last name.
          - `metadata` Metadata — Set of key-value pairs that will be stored with the object.
          - `phone_number` string, phone-number, required — The contact's phone number in E.164 format.
        - `id` string, required — Unique identifier for the object.
        - `phone_number` ConversationPhoneNumber — This is the phone number tied to the Surge account.
          - `id` string, required — Unique identifier for the phone number
          - `name` string, nullable, required — A human-readable name for the phone number
          - `number` string, phone-number, required — The canonical format of the phone number.
          - `type` 'local' | 'toll_free' | 'short_code' | 'demo', required — Whether the phone number is local, toll-free, or short code
      - `id` string — Unique identifier for the object.
      - `metadata` Metadata — Set of key-value pairs that will be stored with the object.
    - `message_id` string, nullable, required — Deprecated. The unique identifier for the message that contained the link.
    - `url` string, required — The original URL that was shortened
  - `timestamp` string, date-time, required — The timestamp when this event occurred, in ISO8601 format
  - `type` 'link.followed', required — The type of the event. Always `link.followed` for this event.

## Acknowledgement `200`

Return a 200 status to indicate that the data was received successfully

---

[API](https://skmtc.net/surgeapi/apis/surge.md) · [All operations](https://skmtc.net/surgeapi/apis/surge/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/surgeapi/surge/revisions/b5b0b6f62245/schema)
