Docs

Connect Links

Let a client connect their own social account to one of your profiles with a link, without a FeedHorizon login.

Diese Seite gibt es noch nicht auf Deutsch, deshalb siehst du sie auf Englisch.

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.
cURL
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.

CallWhat 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.

  1. Go to Dashboard → Connections and pick the profile.
  2. Click invite below the platform's connect button.
  3. 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

  1. They open the link and see "Connect your [Platform] to [Profile name]".
  2. They click Continue with [Platform] and sign in there. For Bluesky they enter their handle and an app password instead.
  3. 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.