Skip to main content
Kavenio publishes to Mastodon through accounts connected on their own Mastodon instances. Use mastodon as the platform value in post payloads. For a product-level overview, see the Mastodon posting API page.

Connect

Start Mastodon OAuth with the account’s instance domain:
For direct API use, send mastodonInstance in POST /v1/connect/begin. Kavenio owns the provider redirect_uri and uses /v1/connect/callback to exchange the authorization code and store encrypted account credentials. Use returnTo for the browser destination after Kavenio completes the connection. Kavenio registers a reusable OAuth app per Mastodon instance, callback URL, and scope set. After the first registration, repeat connects for the same instance reuse the cached app registration instead of calling the instance app registration endpoint again. If an instance rate-limits app registration before the cache exists, the API returns a provider rate-limit error with retry timing when the instance supplies it.

Publishing

Kavenio supports Mastodon text posts, images, GIFs, videos, audio, replies, quote references on compatible instances, content warnings, sensitive-media flags, language, visibility, and polls. Use Kavenio scheduledFor for scheduled publishing. Provider-native scheduledAt is not accepted because Kavenio’s durable publish worker remains the authoritative schedule and status source. Quote posts require Mastodon 4.5 or API version 7 support and cannot be combined with media or polls. Kavenio checks the connected instance before publishing a quote. localOnly is not exposed as generic Mastodon functionality because it is a server-fork extension rather than part of the standard Mastodon statuses API.

Engagement

Connected Mastodon accounts can list notifications, dismiss notifications, list persisted notification, conversation, and status-reply engagement items synced by background jobs, list direct conversations, mark conversations read, fetch status context, read and reply to published-status comments through the generic post comments API, and run status actions such as favourite, unfavourite, boost, unboost, bookmark, unbookmark, mute, and unmute. The shared engagement inbox at GET /v1/inbox/engagement lists persisted Mastodon notifications and status replies across connected Mastodon accounts. Direct conversations are excluded unless includeDirect=true is supplied.

Limits

  • Text, URL, media, MIME, byte, dimension, frame-rate, alt-description, and poll limits are read from the connected instance. Kavenio uses conservative Mastodon defaults when an instance does not return a value.
  • Polls cannot be combined with media.
  • Engagement APIs require the matching Mastodon OAuth scopes. Reconnect the account if an older connection is missing a required scope.

Unsupported

Kavenio does not support Mastodon ads, provider-native scheduling, generic local-only posts, or streaming sync yet. Published status edit and delete/unpublish are supported. The shared engagement inbox currently supports persisted Mastodon items; additional non-Mastodon engagement providers can be added behind the same endpoint later.

Official Mastodon API References