Synn Media API Documentation

How sources become posts on your WhatsApp Channel, Telegram, Discord and Buffer networks. Base URL: https://synn-media-api.synnmedia.workers.dev.

Live endpoints exist today and are used by synnmedia.com. Coming soon endpoints are planned and not available yet.

Authentication

Logged-in endpoints need a Firebase ID token from your synnmedia.com account:

Authorization: Bearer <Firebase ID token>
Content-Type: application/json

Requests are only accepted from the synnmedia.com origin today, so the API is used through the website and dashboard. Public API keys for your own servers are Coming soon.

Supported source types

platform value
rss Feed URL (RSS or Atom)
youtube Channel link or handle
reddit Subreddit
x @handle
telegram Public channel username
mastodon Account (user@server)
bluesky Handle

Sources

Live POST /source/preview

Checks that a source can be read. Nothing is posted.

{ "platform": "rss", "value": "https://example.com/feed.xml" }

Response:

{ "ok": true, "count": 20, "sample": [{ "text": "Latest article…", "image": true, "url": "https://…" }] }

If the source can't be read, you get 422 with { "ok": false, "error": "…" }.

Live POST /sources/all

Lists the sources in use across Synn Media (platform, handle, usage counts). No private data.

Adding and removing sources

Sources are saved with your plan. You pick them on /order and they are sent as order.sources, an array of {platform, value} (up to 30), to POST /order/checkout. You change them from the dashboard.

Destinations (verify first)

We only post to destinations you have proven you own. Each channel or group is verified separately.

Endpoint Purpose
Live POST /channel/info Look up a WhatsApp Channel from its channelUrl (read-only)
Live POST /verify/start, /verify/check Verify ownership of a WhatsApp Channel
Live POST /verify/list, /verify/remove, /verify/status Saved verified channels
Live POST /gverify/start, /gverify/check Verify a WhatsApp group
Live POST /tg/check, /tg/verify/start, /tg/verify/check Verify a Telegram channel or group
Live POST /tg/bot Check your own Telegram bot token (it is never stored)
Live /buffer/connect, /buffer/channels, /buffer/select, /buffer/disconnect Connect Buffer (Instagram, TikTok, X, Facebook, LinkedIn, Threads…)

How posts flow

  1. Read. The scheduler checks each source of every active plan for new items.
  2. Filter and format. Your keyword filters, template and format are applied.
  3. Send. The post goes to your verified destinations: WhatsApp Channel, WhatsApp group, Telegram, Discord (webhook) or Buffer.
  4. Log. Each post shows up in your dashboard activity.
Endpoint Purpose
Live POST /send-test One test post from your sources to a verified destination
Live POST /order/status, /order/usage, /order/owned Plan status and usage
Live GET /feed Public feed of recent posts (anonymised)
Coming soon Webhooks Get a callback when a post is sent

Errors

Errors look like { "error": "CODE", "message": "…" } and use these status codes: 400 bad input, 401 login required, 403 not allowed or wrong origin, 429 too many tries, 503 try again later.

Questions? Message us on WhatsApp.