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.
- Coming soon
POST /sources/addadds a source to an active plan. - Coming soon
GET /sourceslists your plan's sources. - Coming soon
POST /sources/removeremoves a source.
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
- Read. The scheduler checks each source of every active plan for new items.
- Filter and format. Your keyword filters, template and format are applied.
- Send. The post goes to your verified destinations: WhatsApp Channel, WhatsApp group, Telegram, Discord (webhook) or Buffer.
- 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.