Mastodon class

A Mastodon object that provides access to Mastodon endpoints

Constructors

Mastodon(Uri baseUrl, {WebSocketFactory? websocketFactory})

Properties

authorizationUrl Uri
Used to navigate the user to the authorization url for the given Mastodon instance
no setterinherited
baseUrl Uri
The url for the Mastodon instance
finalinherited
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
token String?
Authorization token
getter/setter pairinherited
tokenUrl Uri
Used to navigate the user to the token url for the given Mastodon instance
no setterinherited
websocketFactory → WebSocketFactory?
A (WebSocketChannel)https://api.flutter.dev/flutter/dart-html/WebSocket-class.html to receive data sent on a WebSocket
finalinherited

Methods

account(String id) Future<Account>
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.
inherited
addAccountsToList(String id, List<String> ids) Future
POST /api/v1/lists/:id/accounts
inherited
appCredentials({Uri? website, Uri? redirectUris, String clientName = "mastodon-dart", List<String> scopes = const ["write", "read", "push"]}) Future<AuthenticatedApplication>
Create a new application to obtain OAuth2 credentials.
inherited
authorizeRequest(String id) Future
POST /api/v1/follow_requests/:id/authorize
inherited
block(String id) Future<Relationship>
POST /api/v1/accounts/:id/block
inherited
blocks({int limit = 40}) Future<List<Account>>
GET /api/v1/blocks
inherited
bookmark(String id) Future<Status>
Privately bookmark a status.
inherited
bookmarks({int limit = 40}) Future<List<Status>>
Statuses the user has bookmarked.
inherited
card(String id) Future<Card?>
GET /api/v1/statuses/:id/card
inherited
clearNotifications() Future
POST /api/v1/notifications/clear
inherited
context(String id) Future<Context>
GET /api/v1/statuses/:id/context
inherited
conversations({String? maxId, String? sinceId, String? minId, int limit = 20}) Future<List<Conversation>>
GET /api/v1/conversations
inherited
createFilter(String phrase, List<FilterContext> context, {bool? irreversible, bool? wholeWord, Duration? expiresIn}) Future<Filter>
POST /api/v1/filters
inherited
createList(String title) Future<UserFollowsList>
POST /api/v1/lists
inherited
deleteAccountsFromList(String id, List<String> ids) Future
DELETE /api/v1/lists/:id/accounts
inherited
deleteFilter(String id) Future<Filter?>
DELETE /api/v1/filters/:id
inherited
deleteList(String id) Future
DELETE /api/v1/lists/:id
inherited
deleteScheduledStatus(String id) Future
DELETE /api/v1/scheduled_statuses/:id
inherited
deleteStatus(String id) Future<void>
DELETE /api/v1/statuses/:id
inherited
directStream() Stream
https://docs.joinmastodon.org/api/streaming/#websocket
inherited
dismissNotification(String id) Future
POST /api/v1/notifications/dismiss
inherited
domainBlock(Uri domain) Future
POST /api/v1/domain_blocks
inherited
domainBlocks({int limit = 40}) Future<List<Uri>>
GET /api/v1/domain_blocks
inherited
domainUnblock(Uri domain) Future
DELETE /api/v1/domain_blocks
inherited
emojis() Future<List<Emoji>>
GET /api/v1/custom_emojis
inherited
endorsements() Future<List<Account>>
GET /api/v1/endorsements
inherited
favourite(String id) Future<Status>
POST /api/v1/statuses/:id/favourite
inherited
favouritedBy(String id, {int limit = 40}) Future<List<Account>>
GET /api/v1/statuses/:id/favourited_by
inherited
favourites({int limit = 40}) Future<List<Status>>
GET /api/v1/favourites
inherited
filter(String id) Future<Filter>
GET /api/v1/filters/:id
inherited
filters() Future<List<Filter>>
GET /api/v1/filters
inherited
follow(String id, {bool reblogs = true}) Future<Relationship>
Follow the given account.
inherited
followers(String id, {int limit = 40}) Future<List<Account>>
Accounts which follow the given account, if network is not hidden by the account owner.
inherited
following(String id, {int limit = 40}) Future<List<Account>>
Accounts which the given account is following, if network is not hidden by the account owner.
inherited
followRequests({int limit = 40}) Future<List<Account>>
GET /api/v1/follow_requests
inherited
getSubscription() Future<PushSubscription>
GET /api/v1/push/subscription
inherited
hashtagTimeline(String hashtag, {bool local = false, bool onlyMedia = false, String? maxId, String? sinceId, String? minId, int limit = 20}) Future<List<Status>>
GET /api/v1/timelines/tag/:hashtag
inherited
hashtagTimelineStream(String tag, {bool local = false}) Stream
https://docs.joinmastodon.org/api/streaming/#websocket
inherited
instance() Future<Instance>
GET /api/v1/instance
inherited
list(String id) Future<UserFollowsList>
GET /api/v1/lists/:id
inherited
listAccounts(String id, {int limit = 40}) Future<List<Account>>
GET /api/v1/lists/:id/accounts
inherited
lists() Future<List<UserFollowsList>>
GET /api/v1/lists
inherited
listsByAccount(String id) Future<List<UserFollowsList>>
GET /api/v1/accounts/:id/lists
inherited
listStream(String id) Stream
https://docs.joinmastodon.org/api/streaming/#websocket
inherited
listTimeline(String id, {bool? local, bool? onlyMedia, String? maxId, String? sinceId, String? minId, int limit = 20}) Future<List<Status>>
GET /api/v1/timelines/list/:list_id
inherited
muteAccount(String id) Future<Relationship>
POST /api/v1/accounts/:id/mute
inherited
mutes({int limit = 40}) Future<List<Account>>
GET /api/v1/mutes
inherited
muteStatus(String id) Future<Status>
POST /api/v1/statuses/:id/mute
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notification(String id) Future<Notification>
GET /api/v1/notifications/:id
inherited
notifications({String? maxId, String? sinceId, String? minId, int limit = 20, List<NotificationType>? excludeTypes, String? accountId}) Future<List<Notification>>
GET /api/v1/notifications
inherited
pin(String id) Future<Relationship>
POST /api/v1/accounts/:id/pin
inherited
pinStatus(String id) Future<Status>
POST /api/v1/statuses/:id/pin
inherited
poll(String id) Future<Poll>
GET /api/v1/polls/:id
inherited
preferences() Future<UserPreferences>
GET /api/v1/preferences
inherited
publicTimeline({bool local = false, bool remote = false, bool onlyMedia = false, String? maxId, String? sinceId, String? minId, int limit = 20}) Future<List<Status>>
GET /api/v1/timelines/public
inherited
publicTimelineStream({bool local = false}) Stream
https://docs.joinmastodon.org/api/streaming/#websocket
inherited
publishStatus({String? status, String? inReplyToId, List<String> mediaIds = const [], bool sensitive = false, String? spoilerText, Visibility? visibility, DateTime? scheduledAt, dynamic language}) Future<Status>
POST /api/v1/statuses
inherited
reblog(String id) Future<Status>
POST /api/v1/statuses/:id/reblog
inherited
rebloggedBy(String id, {int limit = 40}) Future<List<Account>>
GET /api/v1/statuses/:id/reblogged_by
inherited
rejectRequest(String id) Future
POST /api/v1/follow_requests/:id/reject
inherited
relationships(List<String> ids) Future<List<Relationship>>
Find out whether a given account is followed, blocked, muted, etc.
inherited
removeSubscription() Future<PushSubscription>
DELETE /api/v1/push/subscription
inherited
removeSuggestion(String id) Future
DELETE /api/v1/suggestions/:account_id
inherited
report(String id, {required List<String> statusIds, required String comment, bool? forward}) Future
POST /api/v1/reports
inherited
request(Method method, String path, {bool authenticated = false, Map<String, dynamic> payload = const {}, Map<String, String> headers = const {}, Map<String, String> files = const {}}) Future<Response>
inherited
requestToken(String username, String email, String password, bool agreement, String locale) Future<Token>
POST /api/v1/accounts
inherited
scheduledStatus(String id) Future<ScheduledStatus>
GET /api/v1/scheduled_statuses/:id
inherited
scheduledStatuses() Future<List<ScheduledStatus>>
GET /api/v1/scheduled_statuses
inherited
GET /api/v2/search
inherited
searchAccounts(String q, {int limit = 40, bool resolve = false, bool following = false}) Future<List<Account>>
Search for matching accounts by username or display name.
inherited
status(String id) Future<Status>
GET /api/v1/statuses/:id
inherited
statuses(String id, {bool onlyMedia = false, bool pinned = false, bool excludeReplies = false, String? maxId, String? sinceId, String? minId, int limit = 20, bool excludeReblogs = false}) Future<List<Status>>
Statuses posted to the given account.
inherited
subscribeToPushNotifications() Future<PushSubscription>
POST /api/v1/push/subscription
inherited
suggestions() Future<List<Account>>
GET /api/v1/suggestions
inherited
timeline({String? maxId, String? sinceId, String? minId, int limit = 20}) Future<List<Status>>
GET /api/v1/timelines/home
inherited
toString() String
A string representation of this object.
inherited
unblock(String id) Future<Relationship>
POST /api/v1/accounts/:id/unblock
inherited
unbookmark(String id) Future<Status>
Remove a status from your private bookmarks.
inherited
unfavourite(String id) Future<Status>
POST /api/v1/statuses/:id/unfavourite
inherited
unfollow(String id) Future<Relationship>
Unfollow the given account.
inherited
unmuteAccount(String id) Future<Relationship>
POST /api/v1/accounts/:id/unmute
inherited
unmuteStatus(String id) Future<Status>
POST /api/v1/statuses/:id/unmute
inherited
unpin(String id) Future<Relationship>
POST /api/v1/accounts/:id/unpin
inherited
unpinStatus(String id) Future<Status>
POST /api/v1/statuses/:id/unpin
inherited
unreblog(String id) Future<Status>
POST /api/v1/statuses/:id/unreblog
inherited
updateAttachment(String id, {String? description, Object? focus}) Future<Attachment>
PUT /api/v1/media/:id
inherited
updateCredentials({String? displayName, String? note, bool? locked}) Future<Account>
Update the user's display and preferences.
inherited
updateFilter(String id, String phrase, List<FilterContext> context, {bool? irreversible, bool? wholeWord, Duration? expiresIn}) Future<Filter>
PUT /api/v1/filters/:id
inherited
updateList(String id, String title) Future<UserFollowsList>
PUT /api/v1/lists/:id
inherited
updateScheduledStatus(String id, {DateTime? scheduledAt}) Future<ScheduledStatus>
PUT /api/v1/scheduled_statuses/:id
inherited
updateSubscription() Future<PushSubscription>
PUT /api/v1/push/subscription
inherited
uploadAttachment(String file, {String? description, Object? focus}) Future<Attachment>
POST /api/v2/media
inherited
userStream() Stream
https://docs.joinmastodon.org/api/streaming/#websocket
inherited
validateAuthCode(String code) → dynamic
Deprecated because it doesn't work. Good reason, yeah?
inherited
verifyAppCredentials() Future<Application>
Confirm that the app's OAuth2 credentials work.
inherited
verifyCredentials() Future<Account>
Test to make sure that the user token works.
inherited
voteOnPoll(String id) Future<Poll>
POST /api/v1/polls/:id/votes
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited