- I can't figure out how to get the quote one to populate, check if still relevant
16 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
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. With some additional extensions listed below.
Status Entities
Extensions to the Mastodon Status Entities
in_reply_to_status
: A fully populated Mastodon Status entity for the replied to status or null it is a post rather than a responsefriendica
: Friendica specific properties of a status including:title
: The Friendica title for a post, or empty if the status is a commentdislikes_count
: The number of dislikes that a status has accumulated according to the server.
Example:
{
"id": "358",
"created_at": "2023-02-23T02:45:46.000Z",
"in_reply_to_id": "356",
"in_reply_to_status": {
"id": "356",
"created_at": "2023-02-23T02:45:35.000Z",
"in_reply_to_id": null,
"in_reply_to_status": null,
"in_reply_to_account_id": null,
...
"content": "A post from testuser1",
...
"account": {
"id": "6",
"username": "testuser1",
"acct": "testuser1",
"display_name": "testuser1",
...
},
...
"friendica": {
"title": "",
"dislikes_count": 0
}
},
"in_reply_to_account_id": "6",
...
"replies_count": 0,
"reblogs_count": 0,
"favourites_count": 0,
...
"content": "A reply from testuser2",
...
"account": {
"id": "8",
"username": "testuser2",
"acct": "testuser2",
"display_name": "testuser2",
...
},
...
"friendica": {
"title": "",
"dislikes_count": 0
}
}
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 -
- Additionally to the static values
public
,unlisted
andprivate
, thevisibility
parameter can contain a numeric value with a group id.
- Additionally to the static values
Currently unimplemented endpoints
These emdpoints are planned to be implemented somewhere in the future.
POST /api/v1/accounts/:id/remove_from_followers
GET /api/v1/accounts/familiar_followers
GET /api/v1/accounts/lookup
POST /api/v1/polls/:id/votes
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
PUT /api/v1/scheduled_statuses/:id
GET /api/v1/statuses/{id:\d+}/history
GET /api/v1/streaming
DELETE /api/v1/suggestions/:id