14 KiB
14 KiB
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
Android
iOS
- Amaroq
- B4X for Pleroma & Mastodon
- StarPterano Uses an OAuth method where you have to manually copy and paste the provided code.
- Stella
Unsupported apps
Android
- Fedi Authenticates, but doesn't load posts and throws several errors
- 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
- Fedi Authenticates, but doesn't load posts and throws several errors
- Mast Doesn't accept the entered instance name. Claims that it is invalid (Message is: "Not a valid instance (may be closed or dead)")
- Mastonaut
- Roma Authenticates, but doesn't load content
- Toot!
- Tootle Doesn't recognize server, loads /api/v1/instance in some endless loop
Other
- Halycon Doesn't load content, creates masses of HTTP requests
- Pinafore Returns message "Error: NetworkError when attempting to fetch resource.. Is this a valid Mastodon instance?"
Entities
These endpoints use the Mastodon API entities.
Implemented endpoints
-
- Doesn't return unicode emojis since they aren't using an image URL
-
- 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
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
GET /api/v1/scheduled_statuses
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
DELETE /api/v1/push/subscription
GET /api/v1/push/subscription
PUSH /api/v1/push/subscription
PUT /api/v1/push/subscription
POST /api/v1/reports
GET /api/v1/scheduled_statuses/:id
PUT /api/v1/scheduled_statuses/:id
DELETE /api/v1/scheduled_statuses/:id
GET /api/v1/streaming
DELETE /api/v1/suggestions/:id