Post to Facebook, Instagram, X, LinkedIn & more from anything — your CRM, your app, Zapier, Make, n8n. We write the copy, design the image, and publish. One endpoint.
Every request needs your API key (get it by sending /apikey to your Mainchester bot). Send it as a Bearer token:
Authorization: Bearer mk_live_xxxxxxxx
curl https://app.mainchester.com/api/v1/post \
-H "Authorization: Bearer mk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"text": "New winter workwear range just landed",
"channels": ["facebook","instagram","x"],
"image": true,
"hashtags": true,
"url": "https://yoursite.co.uk/winter"
}'
Omit channels to post to all connected accounts. Send "text" for exact wording, or "topic" to let us write it. An image is designed automatically unless "image": false.
→ 202 { "ok": true, "status": "queued", "approval_mode": "APPROVE-FIRST" }
APPROVE-FIRST accounts get a one-tap approval card in Telegram before anything goes live. AUTO accounts publish immediately.
curl https://app.mainchester.com/api/v1/channels -H "Authorization: Bearer mk_live_xxx"
→ { "channels": ["facebook","instagram","x","linkedin"] }
curl https://app.mainchester.com/api/v1/usage -H "Authorization: Bearer mk_live_xxx"
→ { "plan": "Growth", "used": 12, "limit": 90, "approval_mode": "APPROVE-FIRST" }
Yes — once. Your channels are connected during onboarding and live safely in our publisher; the API never handles your social passwords or tokens. Your key simply publishes to the accounts you've already connected. No channels yet → the API returns 409 with a connect link.
Point any "Webhooks → POST" action at /api/v1/post with your Bearer key. A deal closes in your CRM → a celebration post is drafted for approval. A product is added → a promo post. No code required.
# Zapier example — CRM "Deal Won" → post
POST https://app.mainchester.com/api/v1/post
Authorization: Bearer mk_live_xxx
{ "topic": "We just helped {{Company}} with {{Product}} — another happy client!",
"channels": ["facebook","linkedin"], "image": true }