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.