mastodon 1.0.0-beta.7 copy "mastodon: ^1.0.0-beta.7" to clipboard
mastodon: ^1.0.0-beta.7 copied to clipboard

Mastodon API client generated from the unofficial OpenAPI specification.

mastodon (EXPERIMENTAL) #

Unofficial documentation for the Mastodon API. Generated with mastodon-openapi from 43970e8. Targets supported Mastodon versions.

This Dart package is automatically generated by the OpenAPI Generator project:

  • API version: 4.5.0
  • Generator version: 7.19.0
  • Build package: org.openapitools.codegen.languages.DartDioClientCodegen

Requirements #

Installation & Usage #

pub.dev #

To use the package from pub.dev, please include the following in pubspec.yaml

dependencies:
  mastodon: 1.0.0-beta.7

Github #

If this Dart package is published to Github, please include the following in pubspec.yaml

dependencies:
  mastodon:
    git:
      url: https://github.com/GIT_USER_ID/GIT_REPO_ID.git
      #ref: main

Local development #

To use the package from your local drive, please include the following in pubspec.yaml

dependencies:
  mastodon:
    path: /path/to/mastodon

Getting Started #

Please follow the installation procedure and then run the following:

import 'package:mastodon/mastodon.dart';


final api = Mastodon().getAccountsApi();
final CreateAccountRequest createAccountRequest = ; // CreateAccountRequest | JSON request body parameters

try {
    final response = await api.createAccount(createAccountRequest);
    print(response);
} on DioException catch (e) {
    print("Exception when calling AccountsApi->createAccount: $e\n");
}

Documentation for API Endpoints #

All URIs are relative to https://mastodon.example

Class Method HTTP request Description
AccountsApi createAccount POST /api/v1/accounts Register an account
AccountsApi getAccount GET /api/v1/accounts/{id} Get account
AccountsApi getAccountEndorsements GET /api/v1/accounts/{id}/endorsements Get featured accounts
AccountsApi getAccountFeaturedTags GET /api/v1/accounts/{id}/featured_tags Get account's featured tags
AccountsApi getAccountFollowers GET /api/v1/accounts/{id}/followers Get account's followers
AccountsApi getAccountFollowing GET /api/v1/accounts/{id}/following Get account's following
AccountsApi getAccountIdentityProofs GET /api/v1/accounts/{id}/identity_proofs Identity proofs
AccountsApi getAccountLists GET /api/v1/accounts/{id}/lists Get lists containing this account
AccountsApi getAccountLookup GET /api/v1/accounts/lookup Lookup account ID from WebFinger address
AccountsApi getAccountRelationships GET /api/v1/accounts/relationships Check relationships to other accounts
AccountsApi getAccountSearch GET /api/v1/accounts/search Search for matching accounts
AccountsApi getAccountStatuses GET /api/v1/accounts/{id}/statuses Get account's statuses
AccountsApi getAccounts GET /api/v1/accounts Get multiple accounts
AccountsApi getAccountsFamiliarFollowers GET /api/v1/accounts/familiar_followers Find familiar followers
AccountsApi getAccountsVerifyCredentials GET /api/v1/accounts/verify_credentials Verify account credentials
AccountsApi patchAccountsUpdateCredentials PATCH /api/v1/accounts/update_credentials Update account credentials
AccountsApi postAccountBlock POST /api/v1/accounts/{id}/block Block account
AccountsApi postAccountEndorse POST /api/v1/accounts/{id}/endorse Feature account on your profile
AccountsApi postAccountFollow POST /api/v1/accounts/{id}/follow Follow account
AccountsApi postAccountMute POST /api/v1/accounts/{id}/mute Mute account
AccountsApi postAccountNote POST /api/v1/accounts/{id}/note Set private note on profile
AccountsApi postAccountPin POST /api/v1/accounts/{id}/pin Feature account on your profile
AccountsApi postAccountRemoveFromFollowers POST /api/v1/accounts/{id}/remove_from_followers Remove account from followers
AccountsApi postAccountUnblock POST /api/v1/accounts/{id}/unblock Unblock account
AccountsApi postAccountUnendorse POST /api/v1/accounts/{id}/unendorse Unfeature account from profile
AccountsApi postAccountUnfollow POST /api/v1/accounts/{id}/unfollow Unfollow account
AccountsApi postAccountUnmute POST /api/v1/accounts/{id}/unmute Unmute account
AccountsApi postAccountUnpin POST /api/v1/accounts/{id}/unpin Unfeature account from profile
AnnouncementsApi deleteAnnouncementReaction DELETE /api/v1/announcements/{id}/reactions/{name} Remove a reaction from an announcement
AnnouncementsApi getAnnouncements GET /api/v1/announcements View all announcements
AnnouncementsApi postAnnouncementDismiss POST /api/v1/announcements/{id}/dismiss Dismiss an announcement
AnnouncementsApi updateAnnouncementReaction PUT /api/v1/announcements/{id}/reactions/{name} Add a reaction to an announcement
AppsApi createApp POST /api/v1/apps Create an application
AppsApi getAppsVerifyCredentials GET /api/v1/apps/verify_credentials Verify your app works
AsyncRefreshesApi getAsyncRefreshV1Alpha GET /api/v1_alpha/async_refreshes/{id} Get Status of Async Refresh
BlocksApi getBlocks GET /api/v1/blocks View blocked users
BookmarksApi getBookmarks GET /api/v1/bookmarks View bookmarked statuses
ConversationsApi deleteConversation DELETE /api/v1/conversations/{id} Remove a conversation
ConversationsApi getConversations GET /api/v1/conversations View all conversations
ConversationsApi postConversationRead POST /api/v1/conversations/{id}/read Mark a conversation as read
CustomEmojisApi getCustomEmojis GET /api/v1/custom_emojis View all custom emoji
DirectoryApi getDirectory GET /api/v1/directory View profile directory
DomainBlocksApi createDomainBlock POST /api/v1/domain_blocks Block a domain
DomainBlocksApi deleteDomainBlocks DELETE /api/v1/domain_blocks Unblock a domain
DomainBlocksApi getDomainBlocks GET /api/v1/domain_blocks Get domain blocks
EmailsApi createEmailConfirmations POST /api/v1/emails/confirmations Resend confirmation email
EndorsementsApi getEndorsements GET /api/v1/endorsements View currently featured profiles
FavouritesApi getFavourites GET /api/v1/favourites View favourited statuses
FeaturedTagsApi createFeaturedTag POST /api/v1/featured_tags Feature a tag
FeaturedTagsApi deleteFeaturedTag DELETE /api/v1/featured_tags/{id} Unfeature a tag
FeaturedTagsApi getFeaturedTagSuggestions GET /api/v1/featured_tags/suggestions View suggested tags to feature
FeaturedTagsApi getFeaturedTags GET /api/v1/featured_tags View your featured tags
FiltersApi createFilter POST /api/v1/filters Create a filter
FiltersApi createFilterV2 POST /api/v2/filters Create a filter
FiltersApi deleteFilter DELETE /api/v1/filters/{id} Remove a filter
FiltersApi deleteFilterV2 DELETE /api/v2/filters/{id} Delete a filter
FiltersApi deleteFiltersKeywordsByIdV2 DELETE /api/v2/filters/keywords/{id} Remove keywords from a filter
FiltersApi deleteFiltersStatusesByIdV2 DELETE /api/v2/filters/statuses/{id} Remove a status from a filter group
FiltersApi getFilter GET /api/v1/filters/{id} View a single filter
FiltersApi getFilterKeywordsV2 GET /api/v2/filters/{filter_id}/keywords View keywords added to a filter
FiltersApi getFilterStatusesV2 GET /api/v2/filters/{filter_id}/statuses View all status filters
FiltersApi getFilterV2 GET /api/v2/filters/{id} View a specific filter
FiltersApi getFilters GET /api/v1/filters View your filters
FiltersApi getFiltersKeywordsByIdV2 GET /api/v2/filters/keywords/{id} View a single keyword
FiltersApi getFiltersStatusesByIdV2 GET /api/v2/filters/statuses/{id} View a single status filter
FiltersApi getFiltersV2 GET /api/v2/filters View all filters
FiltersApi postFilterKeywordsV2 POST /api/v2/filters/{filter_id}/keywords Add a keyword to a filter
FiltersApi postFilterStatusesV2 POST /api/v2/filters/{filter_id}/statuses Add a status to a filter group
FiltersApi updateFilter PUT /api/v1/filters/{id} Update a filter
FiltersApi updateFilterV2 PUT /api/v2/filters/{id} Update a filter
FiltersApi updateFiltersKeywordsByIdV2 PUT /api/v2/filters/keywords/{id} Edit a keyword within a filter
FollowRequestsApi getFollowRequests GET /api/v1/follow_requests View pending follow requests
FollowRequestsApi postFollowRequestAuthorize POST /api/v1/follow_requests/{account_id}/authorize Accept follow request
FollowRequestsApi postFollowRequestReject POST /api/v1/follow_requests/{account_id}/reject Reject follow request
FollowedTagsApi getFollowedTags GET /api/v1/followed_tags View all followed tags
HealthApi getHealth GET /health Get basic health status as JSON
InstanceApi getInstance GET /api/v1/instance View server information (v1)
InstanceApi getInstanceActivity GET /api/v1/instance/activity Weekly activity
InstanceApi getInstanceDomainBlocks GET /api/v1/instance/domain_blocks View moderated servers
InstanceApi getInstanceExtendedDescription GET /api/v1/instance/extended_description View extended description
InstanceApi getInstancePeers GET /api/v1/instance/peers List of connected domains
InstanceApi getInstancePrivacyPolicy GET /api/v1/instance/privacy_policy View privacy policy
InstanceApi getInstanceRules GET /api/v1/instance/rules List of rules
InstanceApi getInstanceTermsOfService GET /api/v1/instance/terms_of_service View terms of service
InstanceApi getInstanceTermsOfServiceByDate GET /api/v1/instance/terms_of_service/{date} View a specific version of the terms of service
InstanceApi getInstanceTranslationLanguages GET /api/v1/instance/translation_languages View translation languages
InstanceApi getInstanceV2 GET /api/v2/instance View server information
ListsApi createList POST /api/v1/lists Create a list
ListsApi deleteList DELETE /api/v1/lists/{id} Delete a list
ListsApi deleteListAccounts DELETE /api/v1/lists/{id}/accounts Remove accounts from list
ListsApi getList GET /api/v1/lists/{id} Show a single list
ListsApi getListAccounts GET /api/v1/lists/{id}/accounts View accounts in a list
ListsApi getLists GET /api/v1/lists View your lists
ListsApi postListAccounts POST /api/v1/lists/{id}/accounts Add accounts to a list
ListsApi updateList PUT /api/v1/lists/{id} Update a list
MarkersApi createMarker POST /api/v1/markers Save your position in a timeline
MarkersApi getMarkers GET /api/v1/markers Get saved timeline positions
MediaApi createMedia POST /api/v1/media Upload media as an attachment (v1)
MediaApi createMediaV2 POST /api/v2/media Upload media as an attachment (async)
MediaApi deleteMedia DELETE /api/v1/media/{id} Delete media attachment
MediaApi getMedia GET /api/v1/media/{id} Get media attachment
MediaApi updateMedia PUT /api/v1/media/{id} Update media attachment
MutesApi getMutes GET /api/v1/mutes View muted accounts
NotificationsApi createNotificationClear POST /api/v1/notifications/clear Dismiss all notifications
NotificationsApi createNotificationsRequestsAccept POST /api/v1/notifications/requests/accept Accept multiple notification requests
NotificationsApi createNotificationsRequestsDismiss POST /api/v1/notifications/requests/dismiss Dismiss multiple notification requests
NotificationsApi getNotification GET /api/v1/notifications/{id} Get a single notification
NotificationsApi getNotificationAccountsV2 GET /api/v2/notifications/{group_key}/accounts Get accounts of all notifications in a notification group
NotificationsApi getNotificationPolicyV2 GET /api/v2/notifications/policy Get the filtering policy for notifications
NotificationsApi getNotificationRequests GET /api/v1/notifications/requests Get all notification requests
NotificationsApi getNotifications GET /api/v1/notifications Get all notifications
NotificationsApi getNotificationsByGroupKeyV2 GET /api/v2/notifications/{group_key} Get a single notification group
NotificationsApi getNotificationsRequestsById GET /api/v1/notifications/requests/{id} Get a single notification request
NotificationsApi getNotificationsRequestsMerged GET /api/v1/notifications/requests/merged Check if accepted notification requests have been merged
NotificationsApi getNotificationsUnreadCount GET /api/v1/notifications/unread_count Get the number of unread notifications
NotificationsApi getNotificationsUnreadCountV2 GET /api/v2/notifications/unread_count Get the number of unread notifications
NotificationsApi getNotificationsV2 GET /api/v2/notifications Get all grouped notifications
NotificationsApi postNotificationDismiss POST /api/v1/notifications/{id}/dismiss Dismiss a single notification
NotificationsApi postNotificationDismissV2 POST /api/v2/notifications/{group_key}/dismiss Dismiss a single notification group
NotificationsApi postNotificationsRequestsByIdAccept POST /api/v1/notifications/requests/{id}/accept Accept a single notification request
NotificationsApi postNotificationsRequestsByIdDismiss POST /api/v1/notifications/requests/{id}/dismiss Dismiss a single notification request
OauthApi getOauthAuthorize GET /oauth/authorize Authorize a user
OauthApi getOauthUserinfo GET /oauth/userinfo Retrieve user information
OauthApi postOauthRevoke POST /oauth/revoke Revoke a token
OauthApi postOauthToken POST /oauth/token Obtain a token
OembedApi getOembed GET /api/oembed Get OEmbed info as JSON
PollsApi getPoll GET /api/v1/polls/{id} View a poll
PollsApi postPollVotes POST /api/v1/polls/{id}/votes Vote on a poll
PreferencesApi getPreferences GET /api/v1/preferences View user preferences
PushApi createPushSubscription POST /api/v1/push/subscription Subscribe to push notifications
PushApi deletePushSubscription DELETE /api/v1/push/subscription Remove current subscription
PushApi getPushSubscription GET /api/v1/push/subscription Get current subscription
PushApi putPushSubscription PUT /api/v1/push/subscription Change types of notifications
ReportsApi createReport POST /api/v1/reports File a report
ScheduledStatusesApi deleteScheduledStatus DELETE /api/v1/scheduled_statuses/{id} Cancel a scheduled status
ScheduledStatusesApi getScheduledStatus GET /api/v1/scheduled_statuses/{id} View a single scheduled status
ScheduledStatusesApi getScheduledStatuses GET /api/v1/scheduled_statuses View scheduled statuses
ScheduledStatusesApi updateScheduledStatus PUT /api/v1/scheduled_statuses/{id} Update a scheduled status's publishing date
SearchApi getSearchV2 GET /api/v2/search Perform a search
StatusesApi createStatus POST /api/v1/statuses Post a new status
StatusesApi deleteStatus DELETE /api/v1/statuses/{id} Delete a status
StatusesApi getStatus GET /api/v1/statuses/{id} View a single status
StatusesApi getStatusContext GET /api/v1/statuses/{id}/context Get parent and child statuses in context
StatusesApi getStatusFavouritedBy GET /api/v1/statuses/{id}/favourited_by See who favourited a status
StatusesApi getStatusHistory GET /api/v1/statuses/{id}/history View edit history of a status
StatusesApi getStatusQuotes GET /api/v1/statuses/{id}/quotes See quotes of a status
StatusesApi getStatusRebloggedBy GET /api/v1/statuses/{id}/reblogged_by See who boosted a status
StatusesApi getStatusSource GET /api/v1/statuses/{id}/source View status source
StatusesApi getStatuses GET /api/v1/statuses View multiple statuses
StatusesApi postStatusBookmark POST /api/v1/statuses/{id}/bookmark Bookmark a status
StatusesApi postStatusFavourite POST /api/v1/statuses/{id}/favourite Favourite a status
StatusesApi postStatusMute POST /api/v1/statuses/{id}/mute Mute a conversation
StatusesApi postStatusPin POST /api/v1/statuses/{id}/pin Pin status to profile
StatusesApi postStatusReblog POST /api/v1/statuses/{id}/reblog Boost a status
StatusesApi postStatusTranslate POST /api/v1/statuses/{id}/translate Translate a status
StatusesApi postStatusUnbookmark POST /api/v1/statuses/{id}/unbookmark Undo bookmark of a status
StatusesApi postStatusUnfavourite POST /api/v1/statuses/{id}/unfavourite Undo favourite of a status
StatusesApi postStatusUnmute POST /api/v1/statuses/{id}/unmute Unmute a conversation
StatusesApi postStatusUnpin POST /api/v1/statuses/{id}/unpin Unpin status from profile
StatusesApi postStatusUnreblog POST /api/v1/statuses/{id}/unreblog Undo boost of a status
StatusesApi postStatusesByIdQuotesByQuotingStatusIdRevoke POST /api/v1/statuses/{id}/quotes/{quoting_status_id}/revoke Revoke a quote post
StatusesApi updateStatus PUT /api/v1/statuses/{id} Edit a status
StatusesApi updateStatusInteractionPolicy PUT /api/v1/statuses/{id}/interaction_policy Edit a status' interaction policies
StreamingApi getStreamingDirect GET /api/v1/streaming/direct Watch for direct messages
StreamingApi getStreamingHashtag GET /api/v1/streaming/hashtag Watch the public timeline for a hashtag
StreamingApi getStreamingHashtagLocal GET /api/v1/streaming/hashtag/local Watch the local timeline for a hashtag
StreamingApi getStreamingHealth GET /api/v1/streaming/health Check if the server is alive
StreamingApi getStreamingList GET /api/v1/streaming/list Watch for list updates
StreamingApi getStreamingPublic GET /api/v1/streaming/public Watch the federated timeline
StreamingApi getStreamingPublicLocal GET /api/v1/streaming/public/local Watch the local timeline
StreamingApi getStreamingPublicRemote GET /api/v1/streaming/public/remote Watch for remote statuses
StreamingApi getStreamingUser GET /api/v1/streaming/user Watch your home timeline and notifications
StreamingApi getStreamingUserNotification GET /api/v1/streaming/user/notification Watch your notifications
SuggestionsApi deleteSuggestionsByAccountId DELETE /api/v1/suggestions/{account_id} Remove a suggestion
SuggestionsApi getSuggestions GET /api/v1/suggestions View follow suggestions (v1)
SuggestionsApi getSuggestionsV2 GET /api/v2/suggestions View follow suggestions (v2)
TagsApi getTagsByName GET /api/v1/tags/{name} View information about a single tag
TagsApi postTagFeature POST /api/v1/tags/{id}/feature Feature a hashtag
TagsApi postTagFollow POST /api/v1/tags/{name}/follow Follow a hashtag
TagsApi postTagUnfeature POST /api/v1/tags/{id}/unfeature Unfeature a hashtag
TagsApi postTagUnfollow POST /api/v1/tags/{name}/unfollow Unfollow a hashtag
TimelinesApi getTimelineDirect GET /api/v1/timelines/direct View direct timeline
TimelinesApi getTimelineHome GET /api/v1/timelines/home View home timeline
TimelinesApi getTimelineLink GET /api/v1/timelines/link View link timeline
TimelinesApi getTimelinePublic GET /api/v1/timelines/public View public timeline
TimelinesApi getTimelinesListByListId GET /api/v1/timelines/list/{list_id} View list timeline
TimelinesApi getTimelinesTagByHashtag GET /api/v1/timelines/tag/{hashtag} View hashtag timeline
TrendsApi getTrendLinks GET /api/v1/trends/links View trending links
TrendsApi getTrendStatuses GET /api/v1/trends/statuses View trending statuses
TrendsApi getTrendTags GET /api/v1/trends/tags View trending tags
WellKnownApi getWellKnownOauthAuthorizationServer GET /.well-known/oauth-authorization-server Discover OAuth Server Configuration

Documentation For Models #

Documentation For Authorization #

Authentication schemes defined for the API:

OAuth2 #

  • Type: OAuth
  • Flow: application
  • Authorization URL:
  • Scopes:
  • write:accounts: Write access to accounts
  • read: Read access
  • read:statuses: Read access to statuses

OAuth2 #

  • Type: OAuth
  • Flow: accessCode
  • Authorization URL: /oauth/authorize
  • Scopes:
  • profile: Access to the current user profile information only
  • read: Read access
  • write: Write access
  • push: Push notifications
  • follow: Follow/unfollow accounts
  • admin:read: Administrative read access
  • admin:write: Administrative write access
  • read:accounts: Read access to accounts
  • read:blocks: Read access to blocks
  • read:bookmarks: Read access to bookmarks
  • read:favourites: Read access to favourites
  • read:filters: Read access to filters
  • read:follows: Read access to follows
  • read:lists: Read access to lists
  • read:mutes: Read access to mutes
  • read:notifications: Read access to notifications
  • read:search: Read access to search
  • read:statuses: Read access to statuses
  • write:accounts: Write access to accounts
  • write:blocks: Write access to blocks
  • write:bookmarks: Write access to bookmarks
  • write:conversations: Write access to conversations
  • write:favourites: Write access to favourites
  • write:filters: Write access to filters
  • write:follows: Write access to follows
  • write:lists: Write access to lists
  • write:media: Write access to media
  • write:mutes: Write access to mutes
  • write:notifications: Write access to notifications
  • write:reports: Write access to reports
  • write:statuses: Write access to statuses
  • admin:read:accounts: Administrative read access to accounts
  • admin:read:canonical_email_blocks: Administrative read access to canonical_email_blocks
  • admin:read:domain_allows: Administrative read access to domain_allows
  • admin:read:domain_blocks: Administrative read access to domain_blocks
  • admin:read:email_domain_blocks: Administrative read access to email_domain_blocks
  • admin:read:ip_blocks: Administrative read access to ip_blocks
  • admin:read:reports: Administrative read access to reports
  • admin:write:accounts: Administrative write access to accounts
  • admin:write:canonical_email_blocks: Administrative write access to canonical_email_blocks
  • admin:write:domain_allows: Administrative write access to domain_allows
  • admin:write:domain_blocks: Administrative write access to domain_blocks
  • admin:write:email_domain_blocks: Administrative write access to email_domain_blocks
  • admin:write:ip_blocks: Administrative write access to ip_blocks
  • admin:write:reports: Administrative write access to reports

Author #

5
likes
130
points
701
downloads

Publisher

unverified uploader

Weekly Downloads

Mastodon API client generated from the unofficial OpenAPI specification.

Repository (GitHub)
View/report issues

Topics

#mastodon #social #api #openapi #fediverse

Documentation

API reference

License

MIT (license)

Dependencies

copy_with_extension, dio, json_annotation

More

Packages that depend on mastodon