Mastodon
  • What is Mastodon?
  • Using Mastodon
    • Signing up for an account
    • Setting up your profile
    • Posting to your profile
    • Using the network features
    • Quoting other posts
    • Dealing with unwanted content
    • Promoting yourself and others
    • Set your preferences
    • More settings
    • Using Mastodon externally
    • Moving or leaving accounts
    • Official iOS and Android apps
    • Running your own server
  • Running Mastodon
    • Preparing your machine
    • Installing from source
    • Configuring your environment
    • Configuring full-text search
    • Installing optional features
      • Object storage
      • Onion services
      • Captcha
      • Single Sign On
    • Setting up your new instance
    • Using the admin CLI
    • Upgrading to a new release
    • Backing up your server
    • Migrating to a new machine
    • Scaling up your server
    • Moderation actions
    • Troubleshooting errors
      • Database index corruption
    • Roles
  • Developing Mastodon apps
    • Getting started with the API
    • Playing with public data
    • Obtaining client app access
    • Logging in with an account
    • Libraries and implementations
  • Contributing to Mastodon
    • Technical overview
    • Setting up a dev environment
    • Code structure
    • Routes
    • Bug bounties and responsible disclosure
  • Spec compliance
    • ActivityPub
    • WebFinger
    • Security
    • Microformats
    • OAuth
    • Bearcaps
  • REST API
    • Datetime formats
    • Guidelines and best practices
    • OAuth Tokens
    • OAuth Scopes
    • Rate limits
  • API Methods
    • apps
      • oauth
      • emails
    • accounts
      • bookmarks
      • favourites
      • mutes
      • blocks
      • domain_blocks
      • filters
      • reports
      • follow_requests
      • endorsements
      • featured_tags
      • preferences
      • followed_tags
      • suggestions
      • tags
    • profile
    • statuses
      • media
      • polls
      • scheduled_statuses
    • timelines
      • conversations
      • lists
      • markers
      • streaming
    • grouped notifications
    • notifications
      • push
    • search
    • health
    • instance
      • trends
      • directory
      • custom_emojis
      • announcements
    • admin
      • accounts
      • canonical_email_blocks
      • dimensions
      • domain_allows
      • domain_blocks
      • email_domain_blocks
      • ip_blocks
      • measures
      • reports
      • retention
      • trends
    • proofs
    • oembed
  • API Entities
    • Account
    • AccountWarning
    • Admin::Account
    • Admin::CanonicalEmailBlock
    • Admin::Cohort
    • Admin::Dimension
    • Admin::DomainAllow
    • Admin::DomainBlock
    • Admin::EmailDomainBlock
    • Admin::Ip
    • Admin::IpBlock
    • Admin::Measure
    • Admin::Report
    • Announcement
    • Appeal
    • Application
    • Context
    • Conversation
    • CustomEmoji
    • DomainBlock
    • Error
    • ExtendedDescription
    • FamiliarFollowers
    • FeaturedTag
    • Filter
    • FilterKeyword
    • FilterResult
    • FilterStatus
    • IdentityProof
    • Instance
    • List
    • Marker
    • MediaAttachment
    • Notification
    • NotificationPolicy
    • NotificationRequest
    • Poll
    • Preferences
    • PreviewCard
    • PreviewCardAuthor
    • PrivacyPolicy
    • Quote
    • QuoteApproval
    • Reaction
    • Relationship
    • RelationshipSeveranceEvent
    • Report
    • Role
    • Rule
    • ScheduledStatus
    • Search
    • ShallowQuote
    • Status
    • StatusEdit
    • StatusSource
    • Suggestion
    • Tag
    • TermsOfService
    • Token
    • Translation
    • V1::Filter
    • V1::Instance
    • V1::NotificationPolicy
    • WebPushSubscription

Status

Represents a status posted by an account.

    • Example
    • Attributes
    • Status::Mention attributes
    • Status::Tag attributes
    • See also

Example

{
  "id": "103270115826048975",
  "created_at": "2019-12-08T03:48:33.901Z",
  "in_reply_to_id": null,
  "in_reply_to_account_id": null,
  "sensitive": false,
  "spoiler_text": "",
  "visibility": "public",
  "language": "en",
  "uri": "https://mastodon.social/users/Gargron/statuses/103270115826048975",
  "url": "https://mastodon.social/@Gargron/103270115826048975",
  "replies_count": 5,
  "reblogs_count": 6,
  "favourites_count": 11,
  "favourited": false,
  "reblogged": false,
  "muted": false,
  "bookmarked": false,
  "content": "<p>&quot;I lost my inheritance with one wrong digit on my sort code&quot;</p><p><a href=\"https://www.theguardian.com/money/2019/dec/07/i-lost-my-193000-inheritance-with-one-wrong-digit-on-my-sort-code\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://www.</span><span class=\"ellipsis\">theguardian.com/money/2019/dec</span><span class=\"invisible\">/07/i-lost-my-193000-inheritance-with-one-wrong-digit-on-my-sort-code</span></a></p>",
  "reblog": null,
  "application": {
    "name": "Web",
    "website": null
  },
  "account": {
    "id": "1",
    "username": "Gargron",
    "acct": "Gargron",
    "display_name": "Eugen",
    "locked": false,
    "bot": false,
    "discoverable": true,
    "group": false,
    "created_at": "2016-03-16T14:34:26.392Z",
    "note": "<p>Developer of Mastodon and administrator of mastodon.social. I post service announcements, development updates, and personal stuff.</p>",
    "url": "https://mastodon.social/@Gargron",
    "avatar": "https://files.mastodon.social/accounts/avatars/000/000/001/original/d96d39a0abb45b92.jpg",
    "avatar_static": "https://files.mastodon.social/accounts/avatars/000/000/001/original/d96d39a0abb45b92.jpg",
    "header": "https://files.mastodon.social/accounts/headers/000/000/001/original/c91b871f294ea63e.png",
    "header_static": "https://files.mastodon.social/accounts/headers/000/000/001/original/c91b871f294ea63e.png",
    "followers_count": 322930,
    "following_count": 459,
    "statuses_count": 61323,
    "last_status_at": "2019-12-10T08:14:44.811Z",
    "emojis": [],
    "fields": [
      {
        "name": "Patreon",
        "value": "<a href=\"https://www.patreon.com/mastodon\" rel=\"me nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://www.</span><span class=\"\">patreon.com/mastodon</span><span class=\"invisible\"></span></a>",
        "verified_at": null
      },
      {
        "name": "Homepage",
        "value": "<a href=\"https://zeonfederated.com\" rel=\"me nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">zeonfederated.com</span><span class=\"invisible\"></span></a>",
        "verified_at": "2019-07-15T18:29:57.191+00:00"
      }
    ]
  },
  "media_attachments": [],
  "mentions": [],
  "tags": [],
  "emojis": [],
  "card": {
    "url": "https://www.theguardian.com/money/2019/dec/07/i-lost-my-193000-inheritance-with-one-wrong-digit-on-my-sort-code",
    "title": "‘I lost my £193,000 inheritance – with one wrong digit on my sort code’",
    "description": "When Peter Teich’s money went to another Barclays customer, the bank offered £25 as a token gesture",
    "type": "link",
    "author_name": "",
    "author_url": "",
    "provider_name": "",
    "provider_url": "",
    "html": "",
    "width": 0,
    "height": 0,
    "image": null,
    "embed_url": ""
  },
  "poll": null
}

Attributes

id

Description: ID of the status in the database.
Type: String (cast from an integer but not guaranteed to be a number)
Version history:
0.1.0 - added

uri

Description: URI of the status used for federation.
Type: String
Version history:
0.1.0 - added

created_at

Description: The date when this status was created.
Type: String (Datetime)
Version history:
0.1.0 - added

account

Description: The account that authored this status.
Type: Account
Version history:
0.1.0 - added

content

Description: HTML-encoded status content.
Type: String (HTML)
Version history:
0.1.0 - added

visibility

Description: Visibility of this status.
Type: String (Enumerable oneOf)
public = Visible to everyone, shown in public timelines.
unlisted = Visible to public, but not included in public timelines.
private = Visible to followers only, and to any mentioned users.
direct = Visible only to mentioned users.
Version history:
0.9.9 - added

sensitive

Description: Is this status marked as sensitive content?
Type: Boolean
Version history:
0.9.9 - added

spoiler_text

Description: Subject or summary line, below which status content is collapsed until expanded.
Type: String
Version history:
1.0.0 - added

media_attachments

Description: Media that is attached to this status.
Type: Array of MediaAttachment
Version history:
0.6.0 - added

application optional

Description: The application used to post this status.
Type: Hash
Version history:
0.9.9 - added

application[name]

Description: The name of the application that posted this status.
Type: String
Version history:
0.9.9 - added

application[website]

Description: The website associated with the application that posted this status.
Type: nullable String (URL) or null
Version history:
0.9.9 - added
3.5.1 - this property is now nullable

mentions

Description: Mentions of users within the status content.
Type: Array of Status::Mention
Version history:
0.6.0 - added

tags

Description: Hashtags used within the status content.
Type: Array of Status::Tag
Version history:
0.6.0 - added

emojis

Description: Custom emoji to be used when rendering status content.
Type: Array of CustomEmoji
Version history:
2.0.0 - added

reblogs_count

Description: How many boosts this status has received.
Type: Integer
Version history:
0.1.0 - added

favourites_count

Description: How many favourites this status has received.
Type: Integer
Version history:
0.1.0 - added

quotes_count

Description: How many accepted quotes this status has.
Type: Integer
Version history:
4.5.0 - added

replies_count

Description: How many replies this status has received.
Type: Integer
Version history:
2.5.0 - added

url

Description: A link to the status’s HTML representation.
Type: nullable String (URL) or null
Version history:
0.1.0 - added

in_reply_to_id

Description: ID of the status being replied to.
Type: nullable String (cast from an integer but not guaranteed to be a number) or null
Version history:
0.1.0 - added

in_reply_to_account_id

Description: Might be the ID of the account that authored the status being replied to. This sometimes skips over self-replies. If status A was posted by account 1, and account 2 posts statuses B, C, and D as a chain of replies to status A, statuses B, C, and D will all have in_reply_to_account_id = 1 (instead of C and D having in_reply_to_account_id = 2). However, if status A was posted by account 1, and account 1 posts status B as a direct reply to A, B will have an in_reply_to_account_id = 1 (instead of null).
Type: nullable String (cast from an integer but not guaranteed to be a number) or null
Version history:
0.1.0 - added

reblog

Description: The status being reblogged.
Type: nullable Status or null
Version history:
0.1.0 - added

poll

Description: The poll attached to the status.
Type: nullable Poll or null
Version history:
2.8.0 - added

card

Description: Preview card for links included within status content.
Type: nullable PreviewCard or null
Version history:
2.6.0 - added

language

Description: Primary language of this status.
Type: nullable String (ISO 639-1 two-letter language code) or null
Version history:
1.4.0 - added

text

Description: Plain-text source of a status. Returned instead of content when status is deleted, so the user may redraft from the source text without the client having to reverse-engineer the original text from the HTML content.
Type: nullable String or null
Version history:
2.9.0 - added

edited_at

Description: Timestamp of when the status was last edited.
Type: nullable String (Datetime)
Version history:
3.5.0 - added

quote

Description: Information about the status being quoted, if any
*Type: nullable Quote, ShallowQuote or null
Version history:
4.4.0 - added

quote_approval

Description: Summary of the post quote’s approval policy and how it applies to the user making the request, that is, whether the user can be expected to be allowed to quote that post
Type: QuoteApproval Version history:
4.5.0 - added

favourited optional

Description: If the current token has an authorized user: Have you favourited this status?
Type: Boolean
Version history:
0.1.0 - added

reblogged optional

Description: If the current token has an authorized user: Have you boosted this status?
Type: Boolean
Version history:
0.1.0 - added

muted optional

Description: If the current token has an authorized user: Have you muted notifications for this status’s conversation?
Type: Boolean
Version history:
1.4.0 - added

bookmarked optional

Description: If the current token has an authorized user: Have you bookmarked this status?
Type: Boolean
Version history:
3.1.0 - added

pinned optional

Description: If the current token has an authorized user: Have you pinned this status? Only appears if the status is pinnable.
Type: Boolean
Version history:
1.6.0 - added

filtered optional

Description: If the current token has an authorized user: The filter and keywords that matched this status.
Type: Array of FilterResult
Version history:
4.0.0 - added

Status::Mention attributes

id

Description: The account ID of the mentioned user.
Type: String (cast from an integer, but not guaranteed to be a number)
Version history:
0.6.0 - added

username

Description: The username of the mentioned user.
Type: String
Version history:
0.6.0 - added

url

Description: The location of the mentioned user’s profile.
Type: String (URL)
Version history:
0.6.0 - added

acct

Description: The webfinger acct: URI of the mentioned user. Equivalent to username for local users, or username@domain for remote users.
Type: String
Version history:
0.6.0 - added

Status::Tag attributes

name

Description: The value of the hashtag after the # sign.
Type: String
Version history:
0.9.0 - added

url

Description: A link to the hashtag on the instance.
Type: String (URL)
Version history:
0.9.0 - added

See also

GET /api/v1/accounts/:id/statuses
POST /api/v2/search/
statuses methods
app/serializers/rest/status_serializer.rb

Last updated September 16, 2025 · Improve this page

Sponsored by

Dotcom-Monitor LoadView Stephen Tures Swayable SponsorMotion

Join Mastodon · Blog ·

View source · CC BY-SA 4.0 · Imprint