Post a status
post_statusPublish a Mastodon status with text, media, alt text, content warnings, polls, replies, and visibility options. Requires explicit confirmation because the post is public immediately.
Instructions
Publish a status. Handles text, media with alt text, a content warning, a poll, a reply, visibility, and native scheduling. The character limit is per instance, so check get_instance_info before drafting anything long: it ranges from 500 to 11,000. Public the moment it runs, so it needs confirm: true.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| media | No | Attachments, up to whatever the instance allows. | |
| status | Yes | The body. Write links and @mentions normally; Mastodon linkifies them. | |
| account | No | Which connected account to act as. Matches a full handle (alice@example.social), a bare username (alice), or an instance (example.social). Defaults to the first connected account. Call list_accounts to see them. | |
| confirm | No | Must be true for this to run. The result is public immediately or cannot be undone, so it is refused without an explicit confirmation. | |
| language | No | ISO 639 code. Instances use it to filter timelines. Defaults to en. | |
| sensitive | No | Blur the media until the reader taps it. | |
| visibility | No | public appears everywhere; unlisted skips the public timelines but is still reachable; private goes to followers only; direct goes only to the accounts mentioned. | |
| poll_options | No | ||
| scheduled_at | No | ISO 8601. Mastodon schedules natively, minimum five minutes ahead. Returns a scheduled status, not a published one. | |
| spoiler_text | No | Content warning. The body is hidden behind it until the reader expands it. Used far more on Mastodon than on other networks. | |
| poll_multiple | No | Allow more than one choice. | |
| in_reply_to_id | No | The status being replied to. | |
| poll_expires_in | No | Poll lifetime in seconds. Default 86400. |