Mastodon publishing without rebuilding instance discovery, per-server OAuth, media upload, queues, and webhook status handling.
No credit card required
import { KavenioClient } from "@kavenio/sdk";
const kavenio = new KavenioClient({
authToken: process.env.KAVENIO_API_KEY,
});
// Send your user to their Mastodon instance to authorize publishing.
const { authorizationUrl } = await kavenio.connect.begin({
profileId: "acctset_123",
platform: "mastodon",
mastodonInstance: "mastodon.social",
});
// Publish to the connected Mastodon account.
await kavenio.posts.create({
content: "Publishing to Mastodon through one social API.",
publishNow: true,
platforms: [
{
platform: "mastodon",
accountId: "acct_mastodon_123",
platformSpecificData: {
visibility: "public",
spoilerText: "Launch notes",
language: "en",
},
},
],
});kavenio.connect.begin(...)Pass the user's Mastodon instance and create the authorization URL for that specific server.
kavenio.posts.create(...)Publish now or schedule a Mastodon status with visibility, content warning, media, language, or poll options.
kavenio.webhooks.create(...)Trigger your automation when Mastodon publishing succeeds, fails, retries, or needs attention instead of polling for state.
Accept an instance like mastodon.social, register on that server, and redirect the user to the right OAuth authorization screen.
Publish text, supported media, content warnings, visibility settings, language metadata, and polls through the same posts API.
Use stored instance metadata for Mastodon-specific behavior such as quote-post support on newer compatible servers.
Schedule posts, publish now, retry rate-limited jobs, and trigger automation from post lifecycle webhooks.
Ask for the user's server, register an OAuth application on that instance, and send the user through that instance's authorization screen.
Store the dynamic client secret and user token behind a connected account so your product never handles raw Mastodon credentials.
Stop rebuilding instance discovery, per-server OAuth, media rules, retries, and status events for every product surface.
Usually no. Mastodon app registration happens per instance during connect, then the user authorizes the requested scopes on their server.
Yes. Connect a Mastodon account by instance and publish statuses through the same posts API used for other content platforms.
Yes. Mastodon publishing supports text, supported image, GIF, video, and audio media, plus polls when the post does not include media.
Yes. Use Kavenio scheduling and background jobs for Mastodon targets, with retry behavior for provider rate limits.