GET /connect/pending
Unexpired pending connections of this organization, newest first (options without tokens). Use it, or the connection.pending webhook, to learn the id after an API-started Facebook connect
BearerAuthAuthorizationBearer <token>API key sk_...
{pending}
application/json- response
pending?array<>curl -X GET 'https://example.com/api/v1/connect/pending'{ "pending": [ { "id": "string", "platform": "string", "kind": "string", "externalId": "string", "expiresAt": "2019-08-24T14:15:22Z", "options": [ { "id": "string", "name": "string", "category": "string", "pictureUrl": "string", "tasks": [ "string" ] } ] } ]}POST /connect/{platform} POST
OAuth authorization URL for the account owner (valid 10 minutes, single use). Facebook: the owner picks Pages; the result may be a pending connection. WhatsApp: a Postgale page that runs Meta's Embedded Signup (several numbers → pending connection). Telegram has no OAuth: the answer is a one-time code (15 minutes) and instructions: a chat admin adds Postgale's bot as an admin with the right to post and sends /connect <code> in the channel or group (or forwards that channel post to the bot); the chat then appears in GET /accounts and account.connected is emitted. Discord: the owner picks the server and channel on Discord; Postgale stores the channel webhook (one account per webhook; platformAccountId = webhook id). Mastodon needs instance (the server's domain; public DNS names only): Postgale registers itself on that server if needed and the link opens its authorization page (platformAccountId = <id>@<server>). Bluesky has no OAuth: POST {handle, appPassword} (a Bluesky app password, never the account password) connects the account right away and answers {platform, account}; a refused handle or password is a 400. Platforms that are not live on this instance answer 400. Same as GET with externalId (and instance) in the JSON body; Bluesky needs POST with handle and appPassword
GET /connect/pending/{id} GET
A pending connection of this organization: options to pick (no tokens). Expires after 30 minutes