Connect Links
Let a client connect their own social account to one of your profiles with a link, without a FeedHorizon login.
Overview
A connect link (called a platform invite in the API) lets someone else connect their social account to your profile. You never see their password: they sign in with the platform, and the account lands in the profile you chose. This is how agencies and SaaS products onboard clients.
- One profile, one platform: each link is for one profile and one platform.
- No FeedHorizon account needed: the link itself is the authorization. The person opening it only signs in with the social platform.
- Valid 7 days, usable once: after a successful connection, or after 7 days, the link stops working.
- All live platforms: X, LinkedIn, Instagram, Bluesky, Pinterest and TikTok.
Create a link with the API
curl -X POST https://feedhorizon.com/api/v1/platform-invites \
-H "Authorization: Bearer fh_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "profileId": "prof_…", "platform": "linkedin" }'{
"data": {
"id": "inv_…",
"profileId": "prof_…",
"platform": "linkedin",
"expiresAt": "2026-11-12T10:00:00.000Z",
"createdAt": "2026-11-05T10:00:00.000Z",
"inviteUrl": "https://feedhorizon.com/connect/invite/…"
}
}inviteUrl is returned only in this response; FeedHorizon stores just a hash of it. Send it to your client by email, chat or inside your own app. Needs the platform_invites:write scope.
| Call | What it does |
|---|---|
GET /platform-invites?profileId=…&platform=… | Lists links with their expiry and usedAt (without the URL) |
DELETE /platform-invites/{id} | Revokes a link immediately |
In the MCP server, an assistant creates the same link with create_connect_link.
Create a link in the dashboard
- Go to Dashboard → Connections and pick the profile.
- Click invite below the platform's connect button.
- Click Create link and copy it.
The same dialog lists existing links for that profile and platform, to copy or revoke.
What your client sees
- They open the link and see "Connect your [Platform] to [Profile name]".
- They click Continue with [Platform] and sign in there. For Bluesky they enter their handle and an app password instead.
- A confirmation page tells them they are done.
The account then shows up in GET /api/v1/accounts for that profile, and the account.connected webhook is sent.
An expired, used or revoked link shows an error page asking for a new link.