Platforms
Mastodon
Mastodon over the overads API: status, connection, limits, media rules and platformSettings keys.
Status: Live. Posts created over the API deliver to this channel today.
Publishes today, on whichever instance the account lives. No app review is involved.
Connecting
Name the instance, then OAuth on that instance, in the app.
Once connected the account appears in GET /connections with platform: "mastodon". Use its id in connectionIds.
Limits
| Characters | 500 by default. The instance's own limit is read at connect time and wins over the default, so an instance with a 5,000-character limit gets 5,000. The content warning (spoilerText) counts toward the same limit. |
| API id | mastodon |
- Up to 4 images, or 1 video up to 99 MB (Mastodon's default; instances may set their own).
- Media is optional.
Limits are checked when the post is created or edited, so an over-limit post is refused then with a sentence naming the cap, not at the scheduled minute. These refusals answer 400 with the flat body { statusCode, code, message }, not the { error } envelope: TOO_LONG, TOO_MANY_ITEMS, MEDIA_UNSUPPORTED, MEDIA_REQUIRED, MEDIA_TOO_LARGE (over the channel's video size cap), MEDIA_TOO_LONG (over its duration cap). The full list is under Channel-limit refusals.
Settings
Pass these under platformSettings.mastodon. Every key is optional. An unknown key is refused with PLATFORM_SETTING_UNKNOWN and the dotted path of the key.
| Key | Value | Meaning |
|---|---|---|
visibility | public, unlisted, private or direct | Mastodon's four visibility levels |
spoilerText | string, up to 200 | Content warning shown above the post |
language | BCP 47 tag such as en or pt-br | Language the post is written in |
{ "mastodon": { "visibility": "unlisted", "language": "en" } }