# Mastodon

> Post to Mastodon from a workflow, on any server including your own. Publish posts and polls, read timelines, threads and notifications, favourite, boost and bookmark, search the instance, and follow accounts.

App · Social Media · 20 actions. Web page: https://docs.lodol.com/docs/integrations/mastodon

## Actions

### Bookmark post

Bookmark a post for this account. Bookmarks are private - nobody else is told - and, unlike favourites, they are not sent to the author.

**Inputs**

- Post (`status_id`, text, required): The post to act on. Paste the link to the post, or use an ID from an earlier step.

**Outputs**

- `account` (object)
- `application` (object)
- `bookmarked` (true/false)
- `card` (object)
- `content` (text)
- `created_at` (text)
- `edited_at` (text)
- `emojis` (list)
- `favourited` (true/false)
- `favourites_count` (number)
- `filtered` (list)
- `id` (text)
- `in_reply_to_account_id` (text)
- `in_reply_to_id` (text)
- `language` (text)
- `media_attachments` (list)
- `mentions` (list)
- `muted` (true/false)
- `pinned` (true/false)
- `poll` (object)
- `reblog` (object)
- `reblogged` (true/false)
- `reblogs_count` (number)
- `replies_count` (number)
- `sensitive` (true/false)
- `spoiler_text` (text)
- `tags` (list)
- `text` (text)
- `uri` (text)
- `url` (text)
- `visibility` (text)

**Example output**

```json
{
  "account": {
    "acct": "lodol",
    "avatar": "https://mastodon.example/avatars/original/missing.png",
    "avatar_static": "https://mastodon.example/avatars/original/missing.png",
    "bot": false,
    "created_at": "2026-01-05T00:00:00.000Z",
    "discoverable": true,
    "display_name": "Lodol",
    "emojis": [],
    "fields": [],
    "followers_count": 17,
    "following_count": 23,
    "group": false,
    "header": "https://mastodon.example/headers/original/missing.png",
    "header_static": "https://mastodon.example/headers/original/missing.png",
    "id": "109876543210987654",
    "indexable": false,
    "last_status_at": "2026-09-14",
    "locked": false,
    "note": "<p>Automation account.</p>",
    "statuses_count": 42,
    "uri": "https://mastodon.example/users/lodol",
    "url": "https://mastodon.example/@lodol",
    "username": "lodol"
  },
  "bookmarked": true,
  "card": null,
  "content": "<p>Hello from a workflow.</p>",
  "created_at": "2026-09-14T09:30:00.000Z",
  "emojis": [],
  "favourited": false,
  "favourites_count": 0,
  "id": "109876543210987655",
  "in_reply_to_account_id": null,
  "in_reply_to_id": null,
  "language": "en",
  "media_attachments": [],
  "mentions": [],
  "pinned": false,
  "poll": null,
  "reblog": null,
  "reblogged": false,
  "reblogs_count": 0,
  "replies_count": 0,
  "sensitive": false,
  "spoiler_text": "",
  "tags": [],
  "uri": "https://mastodon.example/users/lodol/statuses/109876543210987655",
  "url": "https://mastodon.example/@lodol/109876543210987655",
  "visibility": "public"
}
```

### Boost post

Boost a post to this account's followers. What comes back is the boost itself; the post that was boosted is inside it, under 'reblog'. A boost cannot be direct, so this offers three visibilities where publishing offers four.

**Inputs**

- Post (`status_id`, text, required): The post to act on. Paste the link to the post, or use an ID from an earlier step.
- Who sees the boost (`visibility`, text): Defaults to public. One of: `public` (Public (timelines and search)), `unlisted` (Unlisted (not on public timelines)), `private` (Followers only).

**Outputs**

- `account` (object)
- `application` (object)
- `bookmarked` (true/false)
- `card` (object)
- `content` (text)
- `created_at` (text)
- `edited_at` (text)
- `emojis` (list)
- `favourited` (true/false)
- `favourites_count` (number)
- `filtered` (list)
- `id` (text)
- `in_reply_to_account_id` (text)
- `in_reply_to_id` (text)
- `language` (text)
- `media_attachments` (list)
- `mentions` (list)
- `muted` (true/false)
- `pinned` (true/false)
- `poll` (object)
- `reblog` (object)
- `reblogged` (true/false)
- `reblogs_count` (number)
- `replies_count` (number)
- `sensitive` (true/false)
- `spoiler_text` (text)
- `tags` (list)
- `text` (text)
- `uri` (text)
- `url` (text)
- `visibility` (text)

**Example output**

```json
{
  "account": {
    "acct": "lodol",
    "avatar": "https://mastodon.example/avatars/original/missing.png",
    "avatar_static": "https://mastodon.example/avatars/original/missing.png",
    "bot": false,
    "created_at": "2026-01-05T00:00:00.000Z",
    "discoverable": true,
    "display_name": "Lodol",
    "emojis": [],
    "fields": [],
    "followers_count": 17,
    "following_count": 23,
    "group": false,
    "header": "https://mastodon.example/headers/original/missing.png",
    "header_static": "https://mastodon.example/headers/original/missing.png",
    "id": "109876543210987654",
    "indexable": false,
    "last_status_at": "2026-09-14",
    "locked": false,
    "note": "<p>Automation account.</p>",
    "statuses_count": 42,
    "uri": "https://mastodon.example/users/lodol",
    "url": "https://mastodon.example/@lodol",
    "username": "lodol"
  },
  "bookmarked": false,
  "card": null,
  "content": "",
  "created_at": "2026-09-14T09:30:00.000Z",
  "emojis": [],
  "favourited": false,
  "favourites_count": 0,
  "id": "109876543210987656",
  "in_reply_to_account_id": null,
  "in_reply_to_id": null,
  "language": "en",
  "media_attachments": [],
  "mentions": [],
  "pinned": false,
  "poll": null,
  "reblog": {
    "account": {
      "acct": "lodol",
      "avatar": "https://mastodon.example/avatars/original/missing.png",
      "avatar_static": "https://mastodon.example/avatars/original/missing.png",
      "bot": false,
      "created_at": "2026-01-05T00:00:00.000Z",
      "discoverable": true,
      "display_name": "Lodol",
      "emojis": [],
      "fields": [],
      "followers_count": 17,
      "following_count": 23,
      "group": false,
      "header": "https://mastodon.example/headers/original/missing.png",
      "header_static": "https://mastodon.example/headers/original/missing.png",
      "id": "109876543210987654",
      "indexable": false,
      "last_status_at": "2026-09-14",
      "locked": false,
      "note": "<p>Automation account.</p>",
      "statuses_count": 42,
      "uri": "https://mastodon.example/users/lodol",
      "url": "https://mastodon.example/@lodol",
      "username": "lodol"
    },
    "bookmarked": false,
    "card": null,
    "content": "<p>Hello from a workflow.</p>",
    "created_at": "2026-09-14T09:30:00.000Z",
    "emojis": [],
    "favourited": false,
    "favourites_count": 0,
    "id": "109876543210987655",
    "in_reply_to_account_id": null,
    "in_reply_to_id": null,
    "language": "en",
    "media_attachments": [],
    "mentions": [],
    "pinned": false,
    "poll": null,
    "reblog": null,
    "reblogged": false,
    "reblogs_count": 0,
    "replies_count": 0,
    "sensitive": false,
    "spoiler_text": "",
    "tags": [],
    "uri": "https://mastodon.example/users/lodol/statuses/109876543210987655",
    "url": "https://mastodon.example/@lodol/109876543210987655",
    "visibility": "public"
  },
  "reblogged": false,
  "reblogs_count": 0,
  "replies_count": 0,
  "sensitive": false,
  "spoiler_text": "",
  "tags": [],
  "uri": "https://mastodon.example/users/lodol/statuses/109876543210987655",
  "url": "https://mastodon.example/@lodol/109876543210987655",
  "visibility": "public"
}
```

### Delete post

Delete one of this account's own posts. The deleted post comes back with its plain source text filled in, so a workflow can repost or edit it. Mastodon allows only 30 deletes every 30 minutes, a budget it shares with removing boosts.

**Inputs**

- Post (`status_id`, text, required): The post to act on. Paste the link to the post, or use an ID from an earlier step.

**Outputs**

- `account` (object)
- `application` (object)
- `bookmarked` (true/false)
- `card` (object)
- `content` (text)
- `created_at` (text)
- `edited_at` (text)
- `emojis` (list)
- `favourited` (true/false)
- `favourites_count` (number)
- `filtered` (list)
- `id` (text)
- `in_reply_to_account_id` (text)
- `in_reply_to_id` (text)
- `language` (text)
- `media_attachments` (list)
- `mentions` (list)
- `muted` (true/false)
- `pinned` (true/false)
- `poll` (object)
- `reblog` (object)
- `reblogged` (true/false)
- `reblogs_count` (number)
- `replies_count` (number)
- `sensitive` (true/false)
- `spoiler_text` (text)
- `tags` (list)
- `text` (text)
- `uri` (text)
- `url` (text)
- `visibility` (text)

**Example output**

```json
{
  "account": {
    "acct": "lodol",
    "avatar": "https://mastodon.example/avatars/original/missing.png",
    "avatar_static": "https://mastodon.example/avatars/original/missing.png",
    "bot": false,
    "created_at": "2026-01-05T00:00:00.000Z",
    "discoverable": true,
    "display_name": "Lodol",
    "emojis": [],
    "fields": [],
    "followers_count": 17,
    "following_count": 23,
    "group": false,
    "header": "https://mastodon.example/headers/original/missing.png",
    "header_static": "https://mastodon.example/headers/original/missing.png",
    "id": "109876543210987654",
    "indexable": false,
    "last_status_at": "2026-09-14",
    "locked": false,
    "note": "<p>Automation account.</p>",
    "statuses_count": 42,
    "uri": "https://mastodon.example/users/lodol",
    "url": "https://mastodon.example/@lodol",
    "username": "lodol"
  },
  "bookmarked": false,
  "card": null,
  "content": "<p>Hello from a workflow.</p>",
  "created_at": "2026-09-14T09:30:00.000Z",
  "emojis": [],
  "favourited": false,
  "favourites_count": 0,
  "id": "109876543210987655",
  "in_reply_to_account_id": null,
  "in_reply_to_id": null,
  "language": "en",
  "media_attachments": [],
  "mentions": [],
  "pinned": false,
  "poll": null,
  "reblog": null,
  "reblogged": false,
  "reblogs_count": 0,
  "replies_count": 0,
  "sensitive": false,
  "spoiler_text": "",
  "tags": [],
  "text": "Hello from a workflow.",
  "uri": "https://mastodon.example/users/lodol/statuses/109876543210987655",
  "url": "https://mastodon.example/@lodol/109876543210987655",
  "visibility": "public"
}
```

### Favourite post

Favourite a post. The post comes back with 'favourited' set and its favourites count updated.

**Inputs**

- Post (`status_id`, text, required): The post to act on. Paste the link to the post, or use an ID from an earlier step.

**Outputs**

- `account` (object)
- `application` (object)
- `bookmarked` (true/false)
- `card` (object)
- `content` (text)
- `created_at` (text)
- `edited_at` (text)
- `emojis` (list)
- `favourited` (true/false)
- `favourites_count` (number)
- `filtered` (list)
- `id` (text)
- `in_reply_to_account_id` (text)
- `in_reply_to_id` (text)
- `language` (text)
- `media_attachments` (list)
- `mentions` (list)
- `muted` (true/false)
- `pinned` (true/false)
- `poll` (object)
- `reblog` (object)
- `reblogged` (true/false)
- `reblogs_count` (number)
- `replies_count` (number)
- `sensitive` (true/false)
- `spoiler_text` (text)
- `tags` (list)
- `text` (text)
- `uri` (text)
- `url` (text)
- `visibility` (text)

**Example output**

```json
{
  "account": {
    "acct": "lodol",
    "avatar": "https://mastodon.example/avatars/original/missing.png",
    "avatar_static": "https://mastodon.example/avatars/original/missing.png",
    "bot": false,
    "created_at": "2026-01-05T00:00:00.000Z",
    "discoverable": true,
    "display_name": "Lodol",
    "emojis": [],
    "fields": [],
    "followers_count": 17,
    "following_count": 23,
    "group": false,
    "header": "https://mastodon.example/headers/original/missing.png",
    "header_static": "https://mastodon.example/headers/original/missing.png",
    "id": "109876543210987654",
    "indexable": false,
    "last_status_at": "2026-09-14",
    "locked": false,
    "note": "<p>Automation account.</p>",
    "statuses_count": 42,
    "uri": "https://mastodon.example/users/lodol",
    "url": "https://mastodon.example/@lodol",
    "username": "lodol"
  },
  "bookmarked": false,
  "card": null,
  "content": "<p>Hello from a workflow.</p>",
  "created_at": "2026-09-14T09:30:00.000Z",
  "emojis": [],
  "favourited": true,
  "favourites_count": 1,
  "id": "109876543210987655",
  "in_reply_to_account_id": null,
  "in_reply_to_id": null,
  "language": "en",
  "media_attachments": [],
  "mentions": [],
  "pinned": false,
  "poll": null,
  "reblog": null,
  "reblogged": false,
  "reblogs_count": 0,
  "replies_count": 0,
  "sensitive": false,
  "spoiler_text": "",
  "tags": [],
  "uri": "https://mastodon.example/users/lodol/statuses/109876543210987655",
  "url": "https://mastodon.example/@lodol/109876543210987655",
  "visibility": "public"
}
```

### Follow account

Follow an account. A locked account turns this into a request instead: what comes back then has 'requested' set and 'following' clear, and nothing is followed until its owner approves.

**Inputs**

- Account (`account`, text, required): The account to act on. Use a handle such as @someone@mastodon.social, a link to their profile, or an account ID from an earlier step.
- Show their boosts (`reblogs`, true/false): Include this account's boosts on the home timeline. On by default.
- Notify me of their posts (`notify`, true/false): Send a notification whenever this account posts. Off by default.
- Only these languages (`languages`, list): Show only this account's posts in these languages. Leave empty for all of them.

**Outputs**

- `blocked_by` (true/false)
- `blocking` (true/false)
- `domain_blocking` (true/false)
- `endorsed` (true/false)
- `followed_by` (true/false)
- `following` (true/false)
- `id` (text)
- `languages` (list)
- `muting` (true/false)
- `muting_notifications` (true/false)
- `note` (text)
- `notifying` (true/false)
- `requested` (true/false)
- `requested_by` (true/false)
- `showing_reblogs` (true/false)

**Example output**

```json
{
  "blocked_by": false,
  "blocking": false,
  "domain_blocking": false,
  "endorsed": false,
  "followed_by": false,
  "following": true,
  "id": "109876543210987654",
  "languages": null,
  "muting": false,
  "muting_notifications": false,
  "note": "",
  "notifying": false,
  "requested": false,
  "requested_by": false,
  "showing_reblogs": true
}
```

### Get a post's thread

Read the thread around a post: the posts it replies to, and every reply below it. This is how a workflow reads the answers to something it published.

**Inputs**

- Post (`status_id`, text, required): The post to act on. Paste the link to the post, or use an ID from an earlier step.

**Outputs**: The posts above and below one post in its thread

- `ancestor_count` (number): How many posts come before this one
- `ancestors` (list)
- `descendant_count` (number): How many replies come after it
- `descendants` (list)
- `status_id` (text): The post that was read

**Example output**

```json
{
  "ancestor_count": 0,
  "ancestors": [],
  "descendant_count": 1,
  "descendants": [
    {
      "account": {
        "acct": "lodol",
        "avatar": "https://mastodon.example/avatars/original/missing.png",
        "avatar_static": "https://mastodon.example/avatars/original/missing.png",
        "bot": false,
        "created_at": "2026-01-05T00:00:00.000Z",
        "discoverable": true,
        "display_name": "Lodol",
        "emojis": [],
        "fields": [],
        "followers_count": 17,
        "following_count": 23,
        "group": false,
        "header": "https://mastodon.example/headers/original/missing.png",
        "header_static": "https://mastodon.example/headers/original/missing.png",
        "id": "109876543210987654",
        "indexable": false,
        "last_status_at": "2026-09-14",
        "locked": false,
        "note": "<p>Automation account.</p>",
        "statuses_count": 42,
        "uri": "https://mastodon.example/users/lodol",
        "url": "https://mastodon.example/@lodol",
        "username": "lodol"
      },
      "bookmarked": false,
      "card": null,
      "content": "<p>Hello from a workflow.</p>",
      "created_at": "2026-09-14T09:30:00.000Z",
      "emojis": [],
      "favourited": false,
      "favourites_count": 0,
      "id": "109876543210987655",
      "in_reply_to_account_id": null,
      "in_reply_to_id": null,
      "language": "en",
      "media_attachments": [],
      "mentions": [],
      "pinned": false,
      "poll": null,
      "reblog": null,
      "reblogged": false,
      "reblogs_count": 0,
      "replies_count": 0,
      "sensitive": false,
      "spoiler_text": "",
      "tags": [],
      "uri": "https://mastodon.example/users/lodol/statuses/109876543210987655",
      "url": "https://mastodon.example/@lodol/109876543210987655",
      "visibility": "public"
    }
  ],
  "status_id": "109876543210987655"
}
```

### Get hashtag timeline

Read the public posts carrying a hashtag, optionally narrowed by other tags. Only public posts appear here: a post published as unlisted, followers-only or direct is never on a hashtag timeline, however it is tagged.

**Inputs**

- Hashtag (`hashtag`, text, required): The tag to read, with or without its '#'. One tag, no spaces.
- Also tagged with any of (`any_tags`, list): Keep only posts that also carry one of these tags.
- Also tagged with all of (`all_tags`, list): Keep only posts that carry every one of these tags.
- Not tagged with any of (`none_tags`, list): Drop posts that carry any of these tags.
- Which posts (`scope`, text): Whether to include posts from other instances. One of: `all` (Everything this instance sees), `local` (Only posts from this instance), `remote` (Only posts from other instances).
- Only posts with media (`only_media`, true/false): Leave out posts that have no image, video or audio attached.
- How many (`limit`, number): How many to return, up to 40. Mastodon returns 20 when this is empty. From 1 to 40.
- Older than (ID) (`max_id`, text): Return only results older than this ID. Pass the previous step's 'next_max_id' to read the next page.
- Newer than (ID) (`since_id`, text): Return only results newer than this ID, starting from the newest.
- Immediately after (ID) (`min_id`, text): Return the results immediately newer than this ID, starting from the oldest of them. Use this to poll for what has appeared since last time.

**Outputs**: The public posts carrying this hashtag

- `count` (number): How many came back
- `has_more` (true/false): Whether the instance offered an older page
- `hashtag` (text): The tag that was read
- `items` (list)
- `next_max_id` (text): Pass as 'Older than (ID)' to read the next, older page
- `prev_min_id` (text): Pass as 'Immediately after (ID)' to read what arrives next

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "hashtag": "introductions",
  "items": [
    {
      "account": {
        "acct": "lodol",
        "avatar": "https://mastodon.example/avatars/original/missing.png",
        "avatar_static": "https://mastodon.example/avatars/original/missing.png",
        "bot": false,
        "created_at": "2026-01-05T00:00:00.000Z",
        "discoverable": true,
        "display_name": "Lodol",
        "emojis": [],
        "fields": [],
        "followers_count": 17,
        "following_count": 23,
        "group": false,
        "header": "https://mastodon.example/headers/original/missing.png",
        "header_static": "https://mastodon.example/headers/original/missing.png",
        "id": "109876543210987654",
        "indexable": false,
        "last_status_at": "2026-09-14",
        "locked": false,
        "note": "<p>Automation account.</p>",
        "statuses_count": 42,
        "uri": "https://mastodon.example/users/lodol",
        "url": "https://mastodon.example/@lodol",
        "username": "lodol"
      },
      "bookmarked": false,
      "card": null,
      "content": "<p>Hello from a workflow.</p>",
      "created_at": "2026-09-14T09:30:00.000Z",
      "emojis": [],
      "favourited": false,
      "favourites_count": 0,
      "id": "109876543210987655",
      "in_reply_to_account_id": null,
      "in_reply_to_id": null,
      "language": "en",
      "media_attachments": [],
      "mentions": [],
      "pinned": false,
      "poll": null,
      "reblog": null,
      "reblogged": false,
      "reblogs_count": 0,
      "replies_count": 0,
      "sensitive": false,
      "spoiler_text": "",
      "tags": [],
      "uri": "https://mastodon.example/users/lodol/statuses/109876543210987655",
      "url": "https://mastodon.example/@lodol/109876543210987655",
      "visibility": "public"
    }
  ],
  "next_max_id": "109876543210987655",
  "prev_min_id": "109876543210987655"
}
```

### Get home timeline

Read this account's own home timeline - the posts from the accounts and hashtags it follows, newest first.

**Inputs**

- How many (`limit`, number): How many to return, up to 40. Mastodon returns 20 when this is empty. From 1 to 40.
- Older than (ID) (`max_id`, text): Return only results older than this ID. Pass the previous step's 'next_max_id' to read the next page.
- Newer than (ID) (`since_id`, text): Return only results newer than this ID, starting from the newest.
- Immediately after (ID) (`min_id`, text): Return the results immediately newer than this ID, starting from the oldest of them. Use this to poll for what has appeared since last time.

**Outputs**: The posts on this account's home timeline

- `count` (number): How many came back
- `has_more` (true/false): Whether the instance offered an older page
- `items` (list)
- `next_max_id` (text): Pass as 'Older than (ID)' to read the next, older page
- `prev_min_id` (text): Pass as 'Immediately after (ID)' to read what arrives next

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "account": {
        "acct": "lodol",
        "avatar": "https://mastodon.example/avatars/original/missing.png",
        "avatar_static": "https://mastodon.example/avatars/original/missing.png",
        "bot": false,
        "created_at": "2026-01-05T00:00:00.000Z",
        "discoverable": true,
        "display_name": "Lodol",
        "emojis": [],
        "fields": [],
        "followers_count": 17,
        "following_count": 23,
        "group": false,
        "header": "https://mastodon.example/headers/original/missing.png",
        "header_static": "https://mastodon.example/headers/original/missing.png",
        "id": "109876543210987654",
        "indexable": false,
        "last_status_at": "2026-09-14",
        "locked": false,
        "note": "<p>Automation account.</p>",
        "statuses_count": 42,
        "uri": "https://mastodon.example/users/lodol",
        "url": "https://mastodon.example/@lodol",
        "username": "lodol"
      },
      "bookmarked": false,
      "card": null,
      "content": "<p>Hello from a workflow.</p>",
      "created_at": "2026-09-14T09:30:00.000Z",
      "emojis": [],
      "favourited": false,
      "favourites_count": 0,
      "id": "109876543210987655",
      "in_reply_to_account_id": null,
      "in_reply_to_id": null,
      "language": "en",
      "media_attachments": [],
      "mentions": [],
      "pinned": false,
      "poll": null,
      "reblog": null,
      "reblogged": false,
      "reblogs_count": 0,
      "replies_count": 0,
      "sensitive": false,
      "spoiler_text": "",
      "tags": [],
      "uri": "https://mastodon.example/users/lodol/statuses/109876543210987655",
      "url": "https://mastodon.example/@lodol/109876543210987655",
      "visibility": "public"
    }
  ],
  "next_max_id": "109876543210987655",
  "prev_min_id": "109876543210987655"
}
```

### Get instance

Read what the connected server is and what it allows: its title, version, languages, rules and its limits - including 'configuration.statuses.max_characters', the longest post it accepts, which differs from server to server.

**Inputs**: None.

**Outputs**

- `api_versions` (object)
- `configuration` (object)
- `contact` (object)
- `description` (text)
- `domain` (text)
- `icon` (list)
- `languages` (list)
- `registrations` (object)
- `rules` (list)
- `source_url` (text)
- `thumbnail` (object)
- `title` (text)
- `usage` (object)
- `version` (text)

**Example output**

```json
{
  "api_versions": {
    "mastodon": 10
  },
  "configuration": {
    "statuses": {
      "max_characters": 500
    }
  },
  "description": "An example Mastodon server.",
  "domain": "mastodon.example",
  "languages": [
    "en"
  ],
  "rules": [],
  "source_url": "https://github.com/mastodon/mastodon",
  "title": "Mastodon Example",
  "version": "4.6.3"
}
```

### Get my account

Read the account this connection acts as: its handle, ID, display name, counts and its own posting defaults. The ID it returns is what the account actions take.

**Inputs**: None.

**Outputs**

- `acct` (text)
- `avatar` (text)
- `avatar_static` (text)
- `bot` (true/false)
- `created_at` (text)
- `discoverable` (true/false)
- `display_name` (text)
- `emojis` (list)
- `fields` (list)
- `followers_count` (number)
- `following_count` (number)
- `group` (true/false)
- `header` (text)
- `header_static` (text)
- `hide_collections` (true/false)
- `id` (text)
- `indexable` (true/false)
- `last_status_at` (text)
- `limited` (true/false)
- `locked` (true/false)
- `memorial` (true/false)
- `moved` (object)
- `noindex` (true/false)
- `note` (text)
- `role` (object)
- `roles` (list)
- `source` (object)
- `statuses_count` (number)
- `suspended` (true/false)
- `uri` (text)
- `url` (text)
- `username` (text)

**Example output**

```json
{
  "acct": "lodol",
  "avatar": "https://mastodon.example/avatars/original/missing.png",
  "avatar_static": "https://mastodon.example/avatars/original/missing.png",
  "bot": false,
  "created_at": "2026-01-05T00:00:00.000Z",
  "discoverable": true,
  "display_name": "Lodol",
  "emojis": [],
  "fields": [],
  "followers_count": 17,
  "following_count": 23,
  "group": false,
  "header": "https://mastodon.example/headers/original/missing.png",
  "header_static": "https://mastodon.example/headers/original/missing.png",
  "id": "109876543210987654",
  "indexable": false,
  "last_status_at": "2026-09-14",
  "locked": false,
  "note": "<p>Automation account.</p>",
  "statuses_count": 42,
  "uri": "https://mastodon.example/users/lodol",
  "url": "https://mastodon.example/@lodol",
  "username": "lodol"
}
```

### Get post

Read one post in full: who wrote it, its text, its counts, its attachments and whether this account has favourited, boosted or bookmarked it.

**Inputs**

- Post (`status_id`, text, required): The post to act on. Paste the link to the post, or use an ID from an earlier step.

**Outputs**

- `account` (object)
- `application` (object)
- `bookmarked` (true/false)
- `card` (object)
- `content` (text)
- `created_at` (text)
- `edited_at` (text)
- `emojis` (list)
- `favourited` (true/false)
- `favourites_count` (number)
- `filtered` (list)
- `id` (text)
- `in_reply_to_account_id` (text)
- `in_reply_to_id` (text)
- `language` (text)
- `media_attachments` (list)
- `mentions` (list)
- `muted` (true/false)
- `pinned` (true/false)
- `poll` (object)
- `reblog` (object)
- `reblogged` (true/false)
- `reblogs_count` (number)
- `replies_count` (number)
- `sensitive` (true/false)
- `spoiler_text` (text)
- `tags` (list)
- `text` (text)
- `uri` (text)
- `url` (text)
- `visibility` (text)

**Example output**

```json
{
  "account": {
    "acct": "lodol",
    "avatar": "https://mastodon.example/avatars/original/missing.png",
    "avatar_static": "https://mastodon.example/avatars/original/missing.png",
    "bot": false,
    "created_at": "2026-01-05T00:00:00.000Z",
    "discoverable": true,
    "display_name": "Lodol",
    "emojis": [],
    "fields": [],
    "followers_count": 17,
    "following_count": 23,
    "group": false,
    "header": "https://mastodon.example/headers/original/missing.png",
    "header_static": "https://mastodon.example/headers/original/missing.png",
    "id": "109876543210987654",
    "indexable": false,
    "last_status_at": "2026-09-14",
    "locked": false,
    "note": "<p>Automation account.</p>",
    "statuses_count": 42,
    "uri": "https://mastodon.example/users/lodol",
    "url": "https://mastodon.example/@lodol",
    "username": "lodol"
  },
  "bookmarked": false,
  "card": null,
  "content": "<p>Hello from a workflow.</p>",
  "created_at": "2026-09-14T09:30:00.000Z",
  "emojis": [],
  "favourited": false,
  "favourites_count": 0,
  "id": "109876543210987655",
  "in_reply_to_account_id": null,
  "in_reply_to_id": null,
  "language": "en",
  "media_attachments": [],
  "mentions": [],
  "pinned": false,
  "poll": null,
  "reblog": null,
  "reblogged": false,
  "reblogs_count": 0,
  "replies_count": 0,
  "sensitive": false,
  "spoiler_text": "",
  "tags": [],
  "uri": "https://mastodon.example/users/lodol/statuses/109876543210987655",
  "url": "https://mastodon.example/@lodol/109876543210987655",
  "visibility": "public"
}
```

### Get public timeline

Read the instance's public timeline. Some instances turn this off; when they have, the step says so rather than blaming the connection.

**Inputs**

- Which posts (`scope`, text): Whether to include posts from other instances. One of: `all` (Everything this instance sees), `local` (Only posts from this instance), `remote` (Only posts from other instances).
- Only posts with media (`only_media`, true/false): Leave out posts that have no image, video or audio attached.
- How many (`limit`, number): How many to return, up to 40. Mastodon returns 20 when this is empty. From 1 to 40.
- Older than (ID) (`max_id`, text): Return only results older than this ID. Pass the previous step's 'next_max_id' to read the next page.
- Newer than (ID) (`since_id`, text): Return only results newer than this ID, starting from the newest.
- Immediately after (ID) (`min_id`, text): Return the results immediately newer than this ID, starting from the oldest of them. Use this to poll for what has appeared since last time.

**Outputs**: The posts on the instance's public timeline

- `count` (number): How many came back
- `has_more` (true/false): Whether the instance offered an older page
- `items` (list)
- `next_max_id` (text): Pass as 'Older than (ID)' to read the next, older page
- `prev_min_id` (text): Pass as 'Immediately after (ID)' to read what arrives next

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "account": {
        "acct": "lodol",
        "avatar": "https://mastodon.example/avatars/original/missing.png",
        "avatar_static": "https://mastodon.example/avatars/original/missing.png",
        "bot": false,
        "created_at": "2026-01-05T00:00:00.000Z",
        "discoverable": true,
        "display_name": "Lodol",
        "emojis": [],
        "fields": [],
        "followers_count": 17,
        "following_count": 23,
        "group": false,
        "header": "https://mastodon.example/headers/original/missing.png",
        "header_static": "https://mastodon.example/headers/original/missing.png",
        "id": "109876543210987654",
        "indexable": false,
        "last_status_at": "2026-09-14",
        "locked": false,
        "note": "<p>Automation account.</p>",
        "statuses_count": 42,
        "uri": "https://mastodon.example/users/lodol",
        "url": "https://mastodon.example/@lodol",
        "username": "lodol"
      },
      "bookmarked": false,
      "card": null,
      "content": "<p>Hello from a workflow.</p>",
      "created_at": "2026-09-14T09:30:00.000Z",
      "emojis": [],
      "favourited": false,
      "favourites_count": 0,
      "id": "109876543210987655",
      "in_reply_to_account_id": null,
      "in_reply_to_id": null,
      "language": "en",
      "media_attachments": [],
      "mentions": [],
      "pinned": false,
      "poll": null,
      "reblog": null,
      "reblogged": false,
      "reblogs_count": 0,
      "replies_count": 0,
      "sensitive": false,
      "spoiler_text": "",
      "tags": [],
      "uri": "https://mastodon.example/users/lodol/statuses/109876543210987655",
      "url": "https://mastodon.example/@lodol/109876543210987655",
      "visibility": "public"
    }
  ],
  "next_max_id": "109876543210987655",
  "prev_min_id": "109876543210987655"
}
```

### List an account's posts

Read the posts one account has published, newest first, optionally only the pinned ones, only those with media, or only those carrying a hashtag.

**Inputs**

- Account (`account`, text, required): The account to act on. Use a handle such as @someone@mastodon.social, a link to their profile, or an account ID from an earlier step.
- Leave out replies (`exclude_replies`, true/false): Drop posts that are replies to someone.
- Leave out boosts (`exclude_reblogs`, true/false): Drop boosts of other people's posts.
- Only pinned posts (`pinned`, true/false): Return only the posts pinned to the profile.
- Only tagged with (`tagged`, text): Return only posts carrying this hashtag, with or without its '#'.
- Only posts with media (`only_media`, true/false): Leave out posts that have no image, video or audio attached.
- How many (`limit`, number): How many to return, up to 40. Mastodon returns 20 when this is empty. From 1 to 40.
- Older than (ID) (`max_id`, text): Return only results older than this ID. Pass the previous step's 'next_max_id' to read the next page.
- Newer than (ID) (`since_id`, text): Return only results newer than this ID, starting from the newest.
- Immediately after (ID) (`min_id`, text): Return the results immediately newer than this ID, starting from the oldest of them. Use this to poll for what has appeared since last time.

**Outputs**: The account's posts

- `account_id` (text): The account whose posts these are
- `count` (number): How many came back
- `has_more` (true/false): Whether the instance offered an older page
- `items` (list)
- `next_max_id` (text): Pass as 'Older than (ID)' to read the next, older page
- `prev_min_id` (text): Pass as 'Immediately after (ID)' to read what arrives next

**Example output**

```json
{
  "account_id": "109876543210987654",
  "count": 1,
  "has_more": false,
  "items": [
    {
      "account": {
        "acct": "lodol",
        "avatar": "https://mastodon.example/avatars/original/missing.png",
        "avatar_static": "https://mastodon.example/avatars/original/missing.png",
        "bot": false,
        "created_at": "2026-01-05T00:00:00.000Z",
        "discoverable": true,
        "display_name": "Lodol",
        "emojis": [],
        "fields": [],
        "followers_count": 17,
        "following_count": 23,
        "group": false,
        "header": "https://mastodon.example/headers/original/missing.png",
        "header_static": "https://mastodon.example/headers/original/missing.png",
        "id": "109876543210987654",
        "indexable": false,
        "last_status_at": "2026-09-14",
        "locked": false,
        "note": "<p>Automation account.</p>",
        "statuses_count": 42,
        "uri": "https://mastodon.example/users/lodol",
        "url": "https://mastodon.example/@lodol",
        "username": "lodol"
      },
      "bookmarked": false,
      "card": null,
      "content": "<p>Hello from a workflow.</p>",
      "created_at": "2026-09-14T09:30:00.000Z",
      "emojis": [],
      "favourited": false,
      "favourites_count": 0,
      "id": "109876543210987655",
      "in_reply_to_account_id": null,
      "in_reply_to_id": null,
      "language": "en",
      "media_attachments": [],
      "mentions": [],
      "pinned": false,
      "poll": null,
      "reblog": null,
      "reblogged": false,
      "reblogs_count": 0,
      "replies_count": 0,
      "sensitive": false,
      "spoiler_text": "",
      "tags": [],
      "uri": "https://mastodon.example/users/lodol/statuses/109876543210987655",
      "url": "https://mastodon.example/@lodol/109876543210987655",
      "visibility": "public"
    }
  ],
  "next_max_id": "109876543210987655",
  "prev_min_id": "109876543210987655"
}
```

### List notifications

Read this account's notifications - mentions, boosts, favourites, new followers and the rest - newest first, optionally narrowed to the kinds you care about.

**Inputs**

- Only these kinds (`types`, list): Return only these kinds of notification. Leave empty for all of them. One or more of: `mention` (Mentions), `status` (New posts from people you subscribed to), `reblog` (Boosts of your posts), `follow` (New followers), `follow_request` (Follow requests), `favourite` (Favourites of your posts), `poll` (Polls that ended), `update` (Posts you interacted with that were edited).
- Leave out these kinds (`exclude_types`, list): Drop these kinds of notification. Do not name a kind that is already in 'Only these kinds'. One or more of: `mention` (Mentions), `status` (New posts from people you subscribed to), `reblog` (Boosts of your posts), `follow` (New followers), `follow_request` (Follow requests), `favourite` (Favourites of your posts), `poll` (Polls that ended), `update` (Posts you interacted with that were edited).
- Only from (`account`, text): Keep only notifications from this account. A handle, a profile link or an account ID.
- How many (`limit`, number): How many to return, up to 40. Mastodon returns 20 when this is empty. From 1 to 40.
- Older than (ID) (`max_id`, text): Return only results older than this ID. Pass the previous step's 'next_max_id' to read the next page.
- Newer than (ID) (`since_id`, text): Return only results newer than this ID, starting from the newest.
- Immediately after (ID) (`min_id`, text): Return the results immediately newer than this ID, starting from the oldest of them. Use this to poll for what has appeared since last time.

**Outputs**: This account's notifications

- `count` (number): How many came back
- `has_more` (true/false): Whether the instance offered an older page
- `items` (list)
- `next_max_id` (text): Pass as 'Older than (ID)' to read the next, older page
- `prev_min_id` (text): Pass as 'Immediately after (ID)' to read what arrives next

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "account": {
        "acct": "lodol",
        "avatar": "https://mastodon.example/avatars/original/missing.png",
        "avatar_static": "https://mastodon.example/avatars/original/missing.png",
        "bot": false,
        "created_at": "2026-01-05T00:00:00.000Z",
        "discoverable": true,
        "display_name": "Lodol",
        "emojis": [],
        "fields": [],
        "followers_count": 17,
        "following_count": 23,
        "group": false,
        "header": "https://mastodon.example/headers/original/missing.png",
        "header_static": "https://mastodon.example/headers/original/missing.png",
        "id": "109876543210987654",
        "indexable": false,
        "last_status_at": "2026-09-14",
        "locked": false,
        "note": "<p>Automation account.</p>",
        "statuses_count": 42,
        "uri": "https://mastodon.example/users/lodol",
        "url": "https://mastodon.example/@lodol",
        "username": "lodol"
      },
      "created_at": "2026-09-14T09:35:00.000Z",
      "group_key": "ungrouped-34975861",
      "id": "34975861",
      "status": {
        "account": {
          "acct": "lodol",
          "avatar": "https://mastodon.example/avatars/original/missing.png",
          "avatar_static": "https://mastodon.example/avatars/original/missing.png",
          "bot": false,
          "created_at": "2026-01-05T00:00:00.000Z",
          "discoverable": true,
          "display_name": "Lodol",
          "emojis": [],
          "fields": [],
          "followers_count": 17,
          "following_count": 23,
          "group": false,
          "header": "https://mastodon.example/headers/original/missing.png",
          "header_static": "https://mastodon.example/headers/original/missing.png",
          "id": "109876543210987654",
          "indexable": false,
          "last_status_at": "2026-09-14",
          "locked": false,
          "note": "<p>Automation account.</p>",
          "statuses_count": 42,
          "uri": "https://mastodon.example/users/lodol",
          "url": "https://mastodon.example/@lodol",
          "username": "lodol"
        },
        "bookmarked": false,
        "card": null,
        "content": "<p>Hello from a workflow.</p>",
        "created_at": "2026-09-14T09:30:00.000Z",
        "emojis": [],
        "favourited": false,
        "favourites_count": 0,
        "id": "109876543210987655",
        "in_reply_to_account_id": null,
        "in_reply_to_id": null,
        "language": "en",
        "media_attachments": [],
        "mentions": [],
        "pinned": false,
        "poll": null,
        "reblog": null,
        "reblogged": false,
        "reblogs_count": 0,
        "replies_count": 0,
        "sensitive": false,
        "spoiler_text": "",
        "tags": [],
        "uri": "https://mastodon.example/users/lodol/statuses/109876543210987655",
        "url": "https://mastodon.example/@lodol/109876543210987655",
        "visibility": "public"
      },
      "type": "mention"
    }
  ],
  "next_max_id": "34975861",
  "prev_min_id": "34975861"
}
```

### Look up account

Find an account by handle and get its ID, which the other account actions take. This only finds accounts the instance already knows about; for an account nobody here has ever seen, use Search with 'Fetch from other instances' on.

**Inputs**

- Handle (`acct`, text, required): The handle to look up: 'someone' for an account on this instance, '@someone@mastodon.social' for one elsewhere. Not an ID.

**Outputs**

- `acct` (text)
- `avatar` (text)
- `avatar_static` (text)
- `bot` (true/false)
- `created_at` (text)
- `discoverable` (true/false)
- `display_name` (text)
- `emojis` (list)
- `fields` (list)
- `followers_count` (number)
- `following_count` (number)
- `group` (true/false)
- `header` (text)
- `header_static` (text)
- `hide_collections` (true/false)
- `id` (text)
- `indexable` (true/false)
- `last_status_at` (text)
- `limited` (true/false)
- `locked` (true/false)
- `memorial` (true/false)
- `moved` (object)
- `noindex` (true/false)
- `note` (text)
- `roles` (list)
- `statuses_count` (number)
- `suspended` (true/false)
- `uri` (text)
- `url` (text)
- `username` (text)

**Example output**

```json
{
  "acct": "lodol",
  "avatar": "https://mastodon.example/avatars/original/missing.png",
  "avatar_static": "https://mastodon.example/avatars/original/missing.png",
  "bot": false,
  "created_at": "2026-01-05T00:00:00.000Z",
  "discoverable": true,
  "display_name": "Lodol",
  "emojis": [],
  "fields": [],
  "followers_count": 17,
  "following_count": 23,
  "group": false,
  "header": "https://mastodon.example/headers/original/missing.png",
  "header_static": "https://mastodon.example/headers/original/missing.png",
  "id": "109876543210987654",
  "indexable": false,
  "last_status_at": "2026-09-14",
  "locked": false,
  "note": "<p>Automation account.</p>",
  "statuses_count": 42,
  "uri": "https://mastodon.example/users/lodol",
  "url": "https://mastodon.example/@lodol",
  "username": "lodol"
}
```

### Publish a post

Publish a post, optionally as a reply, with a content warning, with a poll, or scheduled for later. Scheduling changes what comes back: a scheduled post's ID belongs to the schedule, not to a published post, and the other post actions cannot use it.

**Inputs**

- Post (`status`, text, required): The text of the post. The instance decides the length limit - 500 characters unless its admins raised it.
- Who can see it (`visibility`, text): Defaults to whatever the account's own posting default is. One of: `public` (Public (timelines and search)), `unlisted` (Unlisted (not on public timelines)), `private` (Followers only), `direct` (Direct (only the people mentioned)).
- Content warning (`spoiler_text`, text): Shown in place of the post until the reader opens it. Leave empty for no warning.
- Mark as sensitive (`sensitive`, true/false): Hide the post behind a click-to-view.
- Reply to (`in_reply_to_id`, text): The post this one replies to. Paste its link or use an ID from an earlier step. Leave empty to start a new thread.
- Language (`language`, text): The language the post is written in. Pick one of the instance's languages or type any two-letter code, such as 'de' or 'pt-BR'.
- Publish at (`scheduled_at`, date and time): Publish later instead of now. Must be at least five minutes from now.
- Poll answers (`poll_options`, list): Turn the post into a poll by giving at least two answers. Most instances allow four.
- Poll runs for (`poll_expires_in`, text): How long the poll stays open. One of: `300` (5 minutes), `1800` (30 minutes), `3600` (1 hour), `21600` (6 hours), `43200` (12 hours), `86400` (1 day), `172800` (2 days), `259200` (3 days), `604800` (7 days), `1209600` (14 days), `2592000` (30 days).
- Allow multiple answers (`poll_multiple`, true/false): Let a voter choose more than one answer.
- Hide results until it ends (`poll_hide_totals`, true/false): Keep the vote counts hidden while it runs.

**Outputs**

- `account` (object)
- `application` (object)
- `bookmarked` (true/false)
- `card` (object)
- `content` (text)
- `created_at` (text)
- `edited_at` (text)
- `emojis` (list)
- `favourited` (true/false)
- `favourites_count` (number)
- `filtered` (list)
- `id` (text)
- `in_reply_to_account_id` (text)
- `in_reply_to_id` (text)
- `language` (text)
- `media_attachments` (list)
- `mentions` (list)
- `muted` (true/false)
- `pinned` (true/false)
- `poll` (object)
- `reblog` (object)
- `reblogged` (true/false)
- `reblogs_count` (number)
- `replies_count` (number)
- `sensitive` (true/false)
- `spoiler_text` (text)
- `tags` (list)
- `text` (text)
- `uri` (text)
- `url` (text)
- `visibility` (text)

**Example output**

```json
{
  "account": {
    "acct": "lodol",
    "avatar": "https://mastodon.example/avatars/original/missing.png",
    "avatar_static": "https://mastodon.example/avatars/original/missing.png",
    "bot": false,
    "created_at": "2026-01-05T00:00:00.000Z",
    "discoverable": true,
    "display_name": "Lodol",
    "emojis": [],
    "fields": [],
    "followers_count": 17,
    "following_count": 23,
    "group": false,
    "header": "https://mastodon.example/headers/original/missing.png",
    "header_static": "https://mastodon.example/headers/original/missing.png",
    "id": "109876543210987654",
    "indexable": false,
    "last_status_at": "2026-09-14",
    "locked": false,
    "note": "<p>Automation account.</p>",
    "statuses_count": 42,
    "uri": "https://mastodon.example/users/lodol",
    "url": "https://mastodon.example/@lodol",
    "username": "lodol"
  },
  "bookmarked": false,
  "card": null,
  "content": "<p>Hello from a workflow.</p>",
  "created_at": "2026-09-14T09:30:00.000Z",
  "emojis": [],
  "favourited": false,
  "favourites_count": 0,
  "id": "109876543210987655",
  "in_reply_to_account_id": null,
  "in_reply_to_id": null,
  "language": "en",
  "media_attachments": [],
  "mentions": [],
  "pinned": false,
  "poll": null,
  "reblog": null,
  "reblogged": false,
  "reblogs_count": 0,
  "replies_count": 0,
  "sensitive": false,
  "spoiler_text": "",
  "tags": [],
  "uri": "https://mastodon.example/users/lodol/statuses/109876543210987655",
  "url": "https://mastodon.example/@lodol/109876543210987655",
  "visibility": "public"
}
```

### Remove boost

Undo a boost. Takes the ID of the post that was boosted, not of the boost. Mastodon allows only 30 of these every 30 minutes, a budget it shares with deleting posts.

**Inputs**

- Post (`status_id`, text, required): The post to act on. Paste the link to the post, or use an ID from an earlier step.

**Outputs**

- `account` (object)
- `application` (object)
- `bookmarked` (true/false)
- `card` (object)
- `content` (text)
- `created_at` (text)
- `edited_at` (text)
- `emojis` (list)
- `favourited` (true/false)
- `favourites_count` (number)
- `filtered` (list)
- `id` (text)
- `in_reply_to_account_id` (text)
- `in_reply_to_id` (text)
- `language` (text)
- `media_attachments` (list)
- `mentions` (list)
- `muted` (true/false)
- `pinned` (true/false)
- `poll` (object)
- `reblog` (object)
- `reblogged` (true/false)
- `reblogs_count` (number)
- `replies_count` (number)
- `sensitive` (true/false)
- `spoiler_text` (text)
- `tags` (list)
- `text` (text)
- `uri` (text)
- `url` (text)
- `visibility` (text)

**Example output**

```json
{
  "account": {
    "acct": "lodol",
    "avatar": "https://mastodon.example/avatars/original/missing.png",
    "avatar_static": "https://mastodon.example/avatars/original/missing.png",
    "bot": false,
    "created_at": "2026-01-05T00:00:00.000Z",
    "discoverable": true,
    "display_name": "Lodol",
    "emojis": [],
    "fields": [],
    "followers_count": 17,
    "following_count": 23,
    "group": false,
    "header": "https://mastodon.example/headers/original/missing.png",
    "header_static": "https://mastodon.example/headers/original/missing.png",
    "id": "109876543210987654",
    "indexable": false,
    "last_status_at": "2026-09-14",
    "locked": false,
    "note": "<p>Automation account.</p>",
    "statuses_count": 42,
    "uri": "https://mastodon.example/users/lodol",
    "url": "https://mastodon.example/@lodol",
    "username": "lodol"
  },
  "bookmarked": false,
  "card": null,
  "content": "<p>Hello from a workflow.</p>",
  "created_at": "2026-09-14T09:30:00.000Z",
  "emojis": [],
  "favourited": false,
  "favourites_count": 0,
  "id": "109876543210987655",
  "in_reply_to_account_id": null,
  "in_reply_to_id": null,
  "language": "en",
  "media_attachments": [],
  "mentions": [],
  "pinned": false,
  "poll": null,
  "reblog": null,
  "reblogged": false,
  "reblogs_count": 0,
  "replies_count": 0,
  "sensitive": false,
  "spoiler_text": "",
  "tags": [],
  "uri": "https://mastodon.example/users/lodol/statuses/109876543210987655",
  "url": "https://mastodon.example/@lodol/109876543210987655",
  "visibility": "public"
}
```

### Remove favourite

Take back a favourite on a post.

**Inputs**

- Post (`status_id`, text, required): The post to act on. Paste the link to the post, or use an ID from an earlier step.

**Outputs**

- `account` (object)
- `application` (object)
- `bookmarked` (true/false)
- `card` (object)
- `content` (text)
- `created_at` (text)
- `edited_at` (text)
- `emojis` (list)
- `favourited` (true/false)
- `favourites_count` (number)
- `filtered` (list)
- `id` (text)
- `in_reply_to_account_id` (text)
- `in_reply_to_id` (text)
- `language` (text)
- `media_attachments` (list)
- `mentions` (list)
- `muted` (true/false)
- `pinned` (true/false)
- `poll` (object)
- `reblog` (object)
- `reblogged` (true/false)
- `reblogs_count` (number)
- `replies_count` (number)
- `sensitive` (true/false)
- `spoiler_text` (text)
- `tags` (list)
- `text` (text)
- `uri` (text)
- `url` (text)
- `visibility` (text)

**Example output**

```json
{
  "account": {
    "acct": "lodol",
    "avatar": "https://mastodon.example/avatars/original/missing.png",
    "avatar_static": "https://mastodon.example/avatars/original/missing.png",
    "bot": false,
    "created_at": "2026-01-05T00:00:00.000Z",
    "discoverable": true,
    "display_name": "Lodol",
    "emojis": [],
    "fields": [],
    "followers_count": 17,
    "following_count": 23,
    "group": false,
    "header": "https://mastodon.example/headers/original/missing.png",
    "header_static": "https://mastodon.example/headers/original/missing.png",
    "id": "109876543210987654",
    "indexable": false,
    "last_status_at": "2026-09-14",
    "locked": false,
    "note": "<p>Automation account.</p>",
    "statuses_count": 42,
    "uri": "https://mastodon.example/users/lodol",
    "url": "https://mastodon.example/@lodol",
    "username": "lodol"
  },
  "bookmarked": false,
  "card": null,
  "content": "<p>Hello from a workflow.</p>",
  "created_at": "2026-09-14T09:30:00.000Z",
  "emojis": [],
  "favourited": false,
  "favourites_count": 0,
  "id": "109876543210987655",
  "in_reply_to_account_id": null,
  "in_reply_to_id": null,
  "language": "en",
  "media_attachments": [],
  "mentions": [],
  "pinned": false,
  "poll": null,
  "reblog": null,
  "reblogged": false,
  "reblogs_count": 0,
  "replies_count": 0,
  "sensitive": false,
  "spoiler_text": "",
  "tags": [],
  "uri": "https://mastodon.example/users/lodol/statuses/109876543210987655",
  "url": "https://mastodon.example/@lodol/109876543210987655",
  "visibility": "public"
}
```

### Search

Search this instance for accounts, hashtags and posts. An empty 'statuses' list is normal: searching the full text of other people's posts needs the instance to run Elasticsearch, and without it Mastodon only matches this account's own posts and anything it can resolve as a link.

**Inputs**

- Search for (`query`, text, required): What to look for: words, a handle, a hashtag, or the link to a post or profile.
- Only look for (`search_type`, text): Narrow the search to one kind of result. Leave empty to get all three. One of: `accounts`, `hashtags`, `statuses` (Posts).
- Fetch from other instances (`resolve`, true/false): Look a handle or link up on its own server when this instance has not seen it before. Needed to find an account nobody here follows yet.
- Only accounts I follow (`following`, true/false): Leave out accounts this account does not follow.
- Only posts by (`account`, text): Keep only posts written by this account. A handle, a profile link or an account ID.
- Only reviewed hashtags (`exclude_unreviewed`, true/false): Leave out hashtags the instance's moderators have not reviewed.
- How many of each (`limit`, number): How many accounts, posts and hashtags to return each, up to 40. From 1 to 40.
- Skip (`offset`, number): Skip this many results to read a further page. Only works alongside 'Only look for'. From 0 to 10000.

**Outputs**: What the instance found

- `account_count` (number): Accounts found
- `accounts` (list)
- `hashtag_count` (number): Hashtags found
- `hashtags` (list)
- `status_count` (number): Posts found
- `statuses` (list)

**Example output**

```json
{
  "account_count": 1,
  "accounts": [
    {
      "acct": "lodol",
      "avatar": "https://mastodon.example/avatars/original/missing.png",
      "avatar_static": "https://mastodon.example/avatars/original/missing.png",
      "bot": false,
      "created_at": "2026-01-05T00:00:00.000Z",
      "discoverable": true,
      "display_name": "Lodol",
      "emojis": [],
      "fields": [],
      "followers_count": 17,
      "following_count": 23,
      "group": false,
      "header": "https://mastodon.example/headers/original/missing.png",
      "header_static": "https://mastodon.example/headers/original/missing.png",
      "id": "109876543210987654",
      "indexable": false,
      "last_status_at": "2026-09-14",
      "locked": false,
      "note": "<p>Automation account.</p>",
      "statuses_count": 42,
      "uri": "https://mastodon.example/users/lodol",
      "url": "https://mastodon.example/@lodol",
      "username": "lodol"
    }
  ],
  "hashtag_count": 1,
  "hashtags": [
    {
      "history": [],
      "name": "introductions",
      "url": "https://mastodon.example/tags/introductions"
    }
  ],
  "status_count": 0,
  "statuses": []
}
```

### Unfollow account

Stop following an account, or withdraw a follow request that is still waiting for approval.

**Inputs**

- Account (`account`, text, required): The account to act on. Use a handle such as @someone@mastodon.social, a link to their profile, or an account ID from an earlier step.

**Outputs**

- `blocked_by` (true/false)
- `blocking` (true/false)
- `domain_blocking` (true/false)
- `endorsed` (true/false)
- `followed_by` (true/false)
- `following` (true/false)
- `id` (text)
- `languages` (list)
- `muting` (true/false)
- `muting_notifications` (true/false)
- `note` (text)
- `notifying` (true/false)
- `requested` (true/false)
- `requested_by` (true/false)
- `showing_reblogs` (true/false)

**Example output**

```json
{
  "blocked_by": false,
  "blocking": false,
  "domain_blocking": false,
  "endorsed": false,
  "followed_by": false,
  "following": false,
  "id": "109876543210987654",
  "languages": null,
  "muting": false,
  "muting_notifications": false,
  "note": "",
  "notifying": false,
  "requested": false,
  "requested_by": false,
  "showing_reblogs": true
}
```
