> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dataforb2b.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Signal Catalog

> The signals you can subscribe to, and the data each one delivers

`GET /signals` returns the catalog — every signal, its allowed target types, and its sub-events. Use it to discover what you can monitor.

<RequestExample>
  ```bash cURL theme={null}
  curl https://api.dataforb2b.ai/signals \
    -H "api_key: YOUR_api_key"
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  [
    {
      "signal": "post_engagement",
      "label": "Post Engagement",
      "target_types": ["profile"],
      "target_required": true,
      "event_types": ["post_engagement"]
    }
  ]
  ```
</ResponseExample>

## Signal payloads

Every signal is delivered with the [unified envelope](/api-reference/signals-overview); below is the `data` body.

### post\_engagement

New reactors and commenters on a watched author's posts — your warmest pool. `watch` is the author's profile URL. `data`:

```json theme={null}
{
  "post": { "urn": "urn:li:activity:…", "url": "https://www.linkedin.com/feed/update/…" },
  "source": { "type": "own_posts", "source_url": "…", "source_member_identity": "ACoAA…" },
  "new_reactions": [
    { "name": "…", "headline": "…", "profile_url": "…", "profile_id": "urn:li:fsd_profile:…", "reaction_type": "PRAISE" }
  ],
  "new_comments": [
    { "name": "…", "headline": "…", "profile_url": "…", "profile_id": "…",
      "comment_text": "…", "comment_id": "urn:li:comment:…", "parent_comment_id": null, "created_time": 1781224426946 }
  ],
  "count": 2,
  "baseline": false
}
```

`baseline` is `true` only for the one-time backlog batch delivered right after you start watching an author (see Pricing); `false` for ongoing engagement.

Only **new** engagers are sent (never the same person twice for the same post). `new_comments` includes replies — `parent_comment_id` is `null` for a top-level comment, otherwise the comment it replies to. A viral post arrives across several webhooks (`chunk`).

## What's monitored

For each watched author we track their **10 most recent posts**. Every cycle we detect:

* **new posts** (and their reactions/comments), and
* **new reactions/comments on their older posts** — as long as the post is still among the 10 most recent.

Once a post falls outside the 10 most recent, it's no longer tracked.

## Pricing

`post_engagement` is **usage-based**, charged per engager delivered (each reaction or comment). You're only charged for engagers actually delivered to you (deduplicated; never billed twice for the same person on the same post). Creating a monitor and watching an author are free.

|                                                                                                        | Rate                      |
| ------------------------------------------------------------------------------------------------------ | ------------------------- |
| **Backlog** — existing engagement, delivered once when you start watching an author (`baseline: true`) | **0.2 credits** / engager |
| **Go-forward** — engagement that happens after you subscribe (`baseline: false`)                       | **0.5 credits** / engager |

<Note>If you run out of credits, the monitor is paused automatically.</Note>
