Core concepts

Connecting accounts

A profile is a connected social account — and a cheap Postgres primitive. Create as many as you need across 12 networks, with no per-channel tax, and manage them over the API, CLI, MCP, or dashboard.

Supported networks

Socializer connects to 12 networks today:

  • Bluesky bluesky
  • Mastodon mastodon
  • X x
  • LinkedIn linkedin
  • Instagram instagram
  • Facebook facebook
  • Threads threads
  • Reddit reddit
  • YouTube youtube
  • TikTok tiktok
  • Pinterest pinterest
  • Google Business gbp

Per-network behaviour (redirect-based OAuth vs. handle/form connect, capabilities, media and length limits) is driven by versioned adapters on the server, not hardcoded in any client — so the UI and CLI never drift from what a network actually supports.

Connect via the CLI

auth login starts the connect flow. For OAuth networks it prints an authorize URL to open; for handle-based networks (e.g. Bluesky) it takes the handle directly:

socializer · CLI
# OAuth network — prints the authorize URL, no hidden steps
$ socializer auth login linkedin

# handle-based network
$ socializer auth login bluesky --handle you.bsky.social

# list connected accounts with token + rate-limit health
$ socializer auth list

Connect via the API

Kicking off OAuth over HTTP returns an authorize URL and a state to round-trip:

curl
curl -X POST https://socializer.co/api/v1/profiles/connect \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "network": "linkedin" }'
# → { "authorize_url": "https://www.linkedin.com/oauth/…", "state": "…" }

After the user authorizes, the provider redirects back to /profiles/connect/callback, which creates the profile and stores its envelope-encrypted credentials. See Authentication for how those credentials are protected.

Token health & refresh

Each profile exposes token health, rate-limit headroom, and the last error. Tokens refresh automatically; force a refresh (single-flight, locked) when you need to:

socializer · CLI
$ socializer profiles status --profile prof_…
$ socializer auth refresh --profile prof_…

Disconnecting

Removing a profile purges its credentials and derived data — a clean, GDPR-friendly delete:

socializer · CLI
$ socializer profiles rm prof_…

Next, learn the posting lifecycle.