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 (may be 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 Service
GET /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/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/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
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 emdpoints are planned to be implemented somewhere in the future.
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
GET /api/v1/markers
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
GET /api/v1/featured_tags
POST /api/v1/featured_tags
DELETE /api/v1/featured_tags/:id
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
GET /api/v1/polls/:id
POST /api/v1/polls/:id/votes
POST /api/v1/reports
PUT /api/v1/scheduled_statuses/:id
GET /api/v1/streaming
DELETE /api/v1/suggestions/:id