---
title: "Stream a sender's LinkedIn changes"
method: GET
path: "/sender-profiles/{profile_id}/linkedin/events/"
tags: ["linkedin"]
---

# Stream a sender's LinkedIn changes

`GET /sender-profiles/{profile_id}/linkedin/events/`

## Request

- Base URL: `https://api.getoneprofile.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getoneprofile.ai/sender-profiles/{profile_id}/linkedin/events/`
- Auth: HTTP bearer

Server-sent event stream of everything that moves on a sender's LinkedIn tab: a browser connecting or disconnecting, the approval setting changing, and steps being queued, skipped or cancelled, including when the person did it in the extension or in another window.

Every frame is a wake-up, never a source of truth: the client re-reads the sender's state on `hello` and on each signal, so a dropped frame costs one round trip and nothing more. This is the dashboard half of the channel the extension already has over `/linkedin/agent/events/`; the two carry the same signals.

The server closes the stream after a few minutes with a `reconnect` frame; open a fresh one. Comment heartbeats keep intermediaries from dropping an idle connection.

Requires Clerk authentication; API keys are rejected.

## Path parameters

- `profile_id` string, uuid, required

## Response `200`

A stream of change events; each SSE frame's `data` is one event.

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Sender not found.
- `422`: Invalid request made to the API.
- `500`: Internal server error.
- `502`: Bad gateway error.
- `503`: Service unavailable.

---

[API](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile.md) · [All operations](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/llms.txt) · [OpenAPI document](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/revisions/4a6bd71e3f02?raw)
