Connecting Accounts

Complete guide to connecting each channel type via OAuth.

Edit this page·Last updated: July 13, 2026

Connecting Accounts

pepe.business handles OAuth for you. No need to create developer apps on each platform — a single call initializes the connection.

Standard OAuth flow

1. POST /v1/connect/{platform}  → returns {connectUrl, state}
2. Redirect the user to connectUrl
3. The user authorizes on the platform
4. pepe.business receives the callback
5. You are notified via the "account.connected" webhook

Twitter/X example

curl -X POST https://api.pepe.business/v1/connect/twitter \
  -H "Authorization: Bearer pk_live_xxx" \
  -d '{"scopes": ["tweet.read", "tweet.write", "users.read"]}'
{
  "connectUrl": "https://api.pepe.business/oauth/xYz123",
  "state": "pending",
  "expiresAt": "2026-07-13T11:00:00Z"
}

Platforms without a dev app

No developer app to create for:

  • Twitter/X (we are an official partner)
  • Instagram, Facebook (Meta Business Partner)
  • TikTok, LinkedIn, Pinterest (Marketing Partners)
  • WhatsApp, Telegram, Discord
  • Bluesky, Threads, Snapchat, Google Business

Scopes per platform

Each platform supports different scopes. You can limit the permissions requested:

{
  "platform": "instagram",
  "scopes": [
    "instagram_basic",
    "instagram_content_publish"
  ]
}

The exhaustive list is in Platform Settings.

Multi-pages (Facebook, LinkedIn)

For Facebook and LinkedIn, after the initial OAuth, you must select which pages/organizations to publish to:

# List available pages
GET /v1/connect/facebook/pages

# Select
POST /v1/connect/facebook/select-page
{ "pageId": "fb_page_xxx" }

Health check

GET /v1/accounts/{accountId}/health
{
  "status": "healthy",
  "lastCheck": "2026-07-13T10:00:00Z",
  "tokenExpiresAt": "2026-10-13T10:00:00Z",
  "rateLimitRemaining": 450
}

Disconnect

DELETE /v1/accounts/{accountId}

Revokes the OAuth token and deletes all associated data.

Was this page helpful?