Mastodon API#
Overview#
Friendica provides the following endpoints defined in the official Mastodon API reference.
Authentication is the same as described in Using the APIs.
Clients#
Supported apps#
For supported apps please have a look at the FAQ
Unsupported apps#
Android#
- Fedilab Automatically uses the legacy API, see issue: https://framagit.org/tom79/fedilab/-/issues/520
- Mammut There are problems with the token request, see issue https://github.com/jamiesanson/Mammut/issues/19
iOS#
- Mast Doesn't accept the entered instance name. Claims that it is invalid (Message is: "Not a valid instance (maybe closed or dead)")
- Toot!
Entities#
These endpoints use the Mastodon API entities.
Implemented endpoints#
GET /api/v1/accounts/:id
POST /api/v1/accounts/:id/block
POST /api/v1/accounts/:id/follow
GET /api/v1/accounts/:id/followers
GET /api/v1/accounts/:id/following
GET /api/v1/accounts/:id/lists
POST /api/v1/accounts/:id/mute
POST /api/v1/accounts/:id/note
GET /api/v1/accounts/:id/statuses
POST /api/v1/accounts/:id/unfollow
POST /api/v1/accounts/:id/unblock
POST /api/v1/accounts/:id/unmute
GET /api/v1/accounts/relationships
GET /api/v1/accounts/search
GET /api/v1/accounts/verify_credentials
POST /api/v1/apps
GET /api/v1/apps/verify_credentials
GET /api/v1/blocks
GET /api/v1/bookmarks
GET /api/v1/conversations
DELETE /api/v1/conversations/:id
POST /api/v1/conversations/:id/read
-
- Doesn't return unicode emojis since they aren't using an image URL
GET /api/v1/favourites
GET /api/v1/follow_requests
- Returned IDs are specific to follow requests
POST /api/v1/follow_requests/:id/authorize
:id
is a follow request ID, not a regular account id
POST /api/v1/follow_requests/:id/reject
:id
is a follow request ID, not a regular account id
-
POST /api/v1/follow_requests/:id/ignore
- Friendica-specific, hides the follow request from the list and prevents the remote contact from retrying.
:id
is a follow request ID, not a regular account id- Returns a Relationship object.
GET /api/v1/instance/rules
Undocumented, returns Terms of ServiceGET /api/v1/instance/peers
GET /api/v1/lists
POST /api/v1/lists
GET /api/v1/lists/:id
PUT /api/v1/lists/:id
DELETE /api/v1/lists/:id
GET /api/v1/lists/:id/accounts
POST /api/v1/lists/:id/accounts
DELETE /api/v1/lists/:id/accounts
POST /api/v1/markers
GET /api/v1/markers
POST /api/v1/media
GET /api/v1/media/:id
PUT /api/v1/media/:id
GET /api/v1/mutes
GET /api/v1/notifications
GET /api/v1/notifications/:id
POST /api/v1/notifications/clear
POST /api/v1/notifications/:id/dismiss
GET /api/v1/polls/:id
GET /api/v1/preferences
DELETE /api/v1/push/subscription
GET /api/v1/push/subscription
PUSH /api/v1/push/subscription
PUT /api/v1/push/subscription
GET /api/v1/scheduled_statuses
DELETE /api/v1/scheduled_statuses/:id
GET /api/v1/scheduled_statuses/:id
GET /api/v1/search
POST /api/v1/statuses
- Additionally, to the static values
public
,unlisted
andprivate
, thevisibility
parameter can contain a numeric value with a group id.
- Additionally, to the static values
GET /api/v1/statuses/:id
DELETE /api/v1/statuses/:id
GET /api/v1/statuses/:id/card
GET /api/v1/statuses/:id/context
GET /api/v1/statuses/:id/reblogged_by
GET /api/v1/statuses/:id/favourited_by
POST /api/v1/statuses/:id/favourite
POST /api/v1/statuses/:id/unfavourite
POST /api/v1/statuses/:id/reblog
POST /api/v1/statuses/:id/unreblog
POST /api/v1/statuses/:id/bookmark
POST /api/v1/statuses/:id/unbookmark
POST /api/v1/statuses/:id/mute
POST /api/v1/statuses/:id/unmute
POST /api/v1/statuses/:id/pin
POST /api/v1/statuses/:id/unpin
GET /api/v1/suggestions
GET /api/v1/timelines/direct
GET /api/v1/timelines/home
GET /api/v1/timelines/list/:id
GET /api/v1/timelines/public
GET /api/v1/timelines/tag/:hashtag
GET /api/v1/trends
GET /api/v2/search
Currently unimplemented endpoints#
These endpoints are planned to be implemented somewhere in the future.
PATCH /api/v1/accounts/update_credentials
POST /api/v1/accounts/:id/remove_from_followers
GET /api/v1/accounts/familiar_followers
GET /api/v1/accounts/lookup
GET /api/v1/trends/links
GET /api/v1/trends/statuses
GET /api/v1/trends/tags
POST /api/v1/polls/:id/votes
GET /api/v1/statuses/{id:\d+}/source
GET /api/v1/featured_tags
POST /api/v1/featured_tags
DELETE /api/v1/featured_tags/:id
Dummy endpoints#
These endpoints are returning empty data to avoid error messages when using third party clients. They refer to features that don't exist in Friendica yet.
GET /api/v1/accounts/:id/identity_proofs
GET /api/v1/announcements
GET /api/v1/endorsements
GET /api/v1/filters
Non supportable endpoints#
These endpoints won't be implemented at the moment. They refer to features or data that don't exist in Friendica yet.
POST /api/meta
Misskey API endpoint.POST /api/v1/accounts
GET /api/v1/accounts/:id/featured_tags
POST /api/v1/accounts/:id/pin
POST /api/v1/accounts/:id/unpin
GET /api/v1/admin/accounts
GET /api/v1/admin/accounts/:id
POST /api/v1/admin/accounts/:id/{action}
GET /api/v1/admin/reports
GET /api/v1/admin/reports/:id
POST /api/v1/admin/reports/:id/{action}
POST /api/v1/announcements/:id/dismiss
PUT /api/v1/announcements/:id/reactions/{name}
DELETE /api/v1/announcements/:id/reactions/{name}
GET /api/v1/domain_blocks
POST /api/v1/domain_blocks
DELETE /api/v1/domain_blocks
DELETE /api/v1/emails/confirmations
GET /api/v1/featured_tags/suggestions
GET /api/v1/filters/:id
POST /api/v1/filters/:id
PUT /api/v1/filters/:id
DELETE /api/v1/filters/:id
GET /api/v1/instance/activity
POST /api/v1/markers
POST /api/v1/reports
PUT /api/v1/scheduled_statuses/:id
GET /api/v1/statuses/{id:\d+}/history
GET /api/v1/streaming
DELETE /api/v1/suggestions/:id