Mastodon API Specification (https://github.com/mastodon/mastodon)
Mastodon API Specification (https://github.com/mastodon/mastodon)
Latency
34ms p95
Uptime
0.0% 30d
Playground
Verified
live
Endpoints
/api/v1/accounts/verify_credentials
Test to make sure that the user token works.
/api/v1/accounts/{id}
/api/v1/media/{id}
Update an Attachment, before it is attached to a status and posted.
/api/v1/accounts/{id}/block
Block the given account. Clients should filter statuses from this account if received (e.g. due to a boost in the Home timeline).
/api/v1/accounts/{id}/featured_tags
Tags featured by this account.
/api/v1/accounts/{id}/follow
Follow the given account. Can also be used to update whether to show reblogs or enable notifications.
/api/v1/admin/reports/{id}/unassign
Unassign a report so that someone else can claim it.
/api/v1/announcements
See all currently active announcements set by admins.
/api/v1/announcements/{id}/dismiss
Allows a user to mark the announcement as read.
/api/v1/announcements/{id}/reactions/{name}
Undo a react emoji to an announcement.
/api/v1/announcements/{id}/reactions/{name}
Allows a user to mark the announcement as read.
/api/v1/apps
Create a new application to obtain OAuth2 credentials.
/api/v1/apps/verify_credentials
Confirm that the app's OAuth2 credentials work.
/api/v1/blocks
Get blocked users.
/api/v1/bookmarks
Statuses the user has bookmarked.
/api/v1/mutes
Accounts the user has muted.
/api/v1/conversations
Show conversation.
/api/v1/conversations/{id}
Remove converstation
/api/v1/accounts
Creates a user and account records. Returns an account access token for the app that initiated the request. The app should save this token for later, and should wait for the user to confirm their account by clicking a link in their email inbox.
/api/v1/accounts/relationships
Sets a private note on a user.
/api/v1/conversations/{id}/read
Remove converstation
/api/v1/custom_emojis
Returns custom emojis that are available on the server.
/api/v1/media
Creates an attachment to be used with a new status.
/api/v1/accounts/search
Search for matching accounts by username or display name.
/api/oembed
OEmbed as JSON
/api/proofs
View identity proof
/api/v1/accounts/update_credentials
Update the user's display and preferences.
/api/v1/accounts/{id}/followers
Accounts which follow the given account, if network is not hidden by the account owner.
/api/v1/accounts/{id}/following
Accounts which the given account is following, if network is not hidden by the account owner.
/api/v1/accounts/{id}/identity_proofs
Array of IdentityProof
/api/v1/accounts/{id}/lists
User lists that you have added this account to.
/api/v1/accounts/{id}/mute
Mute the given account. Clients should filter statuses and notifications from this account, if received (e.g. due to a boost in the Home timeline).
/api/v1/accounts/{id}/note
Sets a private note on a user.
/api/v1/accounts/{id}/pin
Add the given account to the user's featured profiles. (Featured profiles are currently shown on the user's own public profile.)
/api/v1/accounts/{id}/statuses
Statuses posted to the given account.
/api/v1/accounts/{id}/unblock
Block the given account. Clients should filter statuses from this account if received (e.g. due to a boost in the Home timeline).
/api/v1/accounts/{id}/unfollow
Unfollow the given account.
/api/v1/accounts/{id}/unmute
Unmute the given account.
/api/v1/accounts/{id}/unpin
Remove the given account from the user's featured profiles.
/api/v1/admin/accounts
View accounts matching certain criteria for filtering, up to 100 at a time. Pagination may be done with the HTTP Link header in the response.
/api/v1/admin/accounts/{id}
View admin-level information about the given account.
/api/v1/admin/accounts/{id}/action
Perform an action against an account and log this action in the moderation history.
/api/v1/admin/accounts/{id}/approve
Approve the given local account if it is currently pending approval.
/api/v1/admin/accounts/{id}/enable
Re-enable a local account whose login is currently disabled.
/api/v1/admin/accounts/{id}/reject
Reject the given local account if it is currently pending approval.
/api/v1/admin/accounts/{id}/unsilence
Unsilence a currently silenced account.
/api/v1/admin/accounts/{id}/unsuspend
Unsuspend a currently suspended account.
/api/v1/admin/reports
View all reports. Pagination may be done with HTTP Link header in the response.
/api/v1/admin/reports/{id}
View information about the report with the given ID.
/api/v1/admin/reports/{id}/assign_to_self
Claim the handling of this report to yourself.
/api/v1/admin/reports/{id}/reopen
Mark a report as resolved with no further action taken.
/api/v1/admin/reports/{id}/resolve
Mark a report as resolved with no further action taken.
/api/v1/media/{id}
Get an attachement.
/api/v1/directory
List accounts visible in the directory.
/api/v1/domain_blocks
Remove a domain block, if it exists in the user's array of blocked domains.
/api/v1/domain_blocks
View domains the user has blocked.
/api/v1/domain_blocks
"Block a domain to: - hide all public posts from it - hide all notifications from it - remove all followers from it - prevent following new users from it (but does not remove existing follows)"
/api/v1/endorsements
Accounts that the user is currently featuring on their profile.
/api/v1/favourites
Statuses the user has favourited.
/api/v1/featured_tags
View your featured tags.
/api/v1/featured_tags
Create a feature a tag.
/api/v1/featured_tags/suggestions
Shows your 10 most-used tags, with usage history for the past week.
/api/v1/featured_tags/{id}
Unfeature a tag
/api/v1/filters
/api/v1/filters
/api/v1/filters/{id}
Delete a filter.
/api/v1/filters/{id}
Get one filter.
/api/v1/filters/{id}
Update a filter.
/api/v1/follow_requests
Pending Follows
/api/v1/follow_requests/{id}/authorize
Accept Follow
/api/v1/follow_requests/{id}/reject
Accept Follow
/api/v1/instance
Information about the server.
/api/v1/instance/activity
Instance activity over the last 3 months, binned weekly.
/api/v1/instance/peers
Information about the server.
/api/v1/lists
Delete a list
/api/v1/lists
Fetch all lists that the user owns.
/api/v1/lists
Create a new list.
/api/v1/lists
Change the title of a list, or which replies to show.
/api/v1/lists/{id}
Remove converstation
/api/v1/lists/{id}/accounts
Remove accounts from the given list.
/api/v1/lists/{id}/accounts
View accounts in List
/api/v1/lists/{id}/accounts
Add accounts to the given list. Note that the user must be following these accounts.
/api/v1/markers
Get saved timeline position
/api/v1/markers
Get saved timeline position
/api/v1/notifications
Notifications concerning the user. This API returns Link headers containing links to the next/previous page. However, the links can also be constructed dynamically using query params and id values.
/api/v1/notifications/clear
Clear all notifications from the server.
/api/v1/notifications/{id}
View information about a notification with a given ID.
/api/v1/notifications/{id}/dismiss
Clear a single notification from the server.
/api/v1/polls/{id}
View a poll.
/api/v1/polls/{id}
Vote on a poll.
/api/v1/preferences
Shows your 10 most-used tags, with usage history for the past week.
/api/v1/push/subscription
Updates the current push subscription. Only the data part can be updated. To change fundamentals, a new subscription must be created instead.
/api/v1/push/subscription
View the PushSubscription currently associated with this access token.
/api/v1/push/subscription
Add a Web Push API subscription to receive notifications. Each access token can have one push subscription. If you create a new subscription, the old subscription is deleted.
/api/v1/push/subscription
Updates the current push subscription. Only the data part can be updated. To change fundamentals, a new subscription must be created instead.
/api/v1/reports
File a report.
/api/v1/scheduled_statuses
View scheduled statuses
/api/v1/scheduled_statuses/{id}
Cancel a scheduled status
/api/v1/scheduled_statuses/{id}
View a single scheduled status
/api/v1/scheduled_statuses/{id}
View a single scheduled status
/api/v1/statuses
/api/v1/statuses/{id}
/api/v1/statuses/{id}
/api/v1/statuses/{id}/bookmark
Privately bookmark a status.
/api/v1/statuses/{id}/context
/api/v1/statuses/{id}/favourite
Add a status to your favourites list.
/api/v1/statuses/{id}/favourited_by
View who favourited a given status.
/api/v1/statuses/{id}/mute
Do not receive notifications for the thread that this status is part of. Must be a thread in which you are a participant.
/api/v1/statuses/{id}/pin
Feature one of your own public statuses at the top of your profile.
/api/v1/statuses/{id}/reblog
Reshare a status.
/api/v1/statuses/{id}/reblogged_by
View who boosted a given status.
/api/v1/statuses/{id}/unbookmark
Remove a status from your private bookmarks.
/api/v1/statuses/{id}/unfavourite
Remove a status from your favourites list.
/api/v1/statuses/{id}/unmute
Status's conversation unmuted, or was already unmuted
/api/v1/statuses/{id}/unpin
Unfeature a status from the top of your profile.
/api/v1/statuses/{id}/unreblog
Undo a reshare of a status.
/api/v1/suggestions
Accounts the user has had past positive interactions with, but is not yet following.
/api/v1/suggestions/{id}
Delete user suggestion
/api/v1/timelines/home
View statuses from followed users.
/api/v1/timelines/list/{list_id}
View statuses in the given list timeline.
/api/v1/timelines/public
Public timeline
/api/v1/timelines/tag/{hashtag}
View public statuses containing the given hashtag.
/api/v1/trends
Tags that are being used more frequently within the past week.
/api/v2/search
Search results
/oauth/authorize
Displays an authorization form to the user. If approved, it will create and return an authorization code, then redirect to the desired redirect_uri, or show the authorization code if urn:ietf:wg:oauth:2.0:oob was requested. The authorization code can be used while requesting a token to obtain access to user-level methods.
/oauth/revoke
Revoke an access token to make it no longer valid for use.
/oauth/token
Returns an access token, to be used during API calls that are not public.
127 endpoints auto-detected
Authentication
This API uses Bearer token authentication — pass your token in the Authorization header.
curl -X GET \ "http://mastodon.local/api/v1/accounts/verify_credentials" \ -H "Authorization: Bearer YOUR_TOKEN"
mastodon.local · HTTPS only