Update API docs for my changes
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
This commit is contained in:
parent
4c20713ecd
commit
b39403a48f
0
changelog.d/api-docs.skip
Normal file
0
changelog.d/api-docs.skip
Normal file
@ -1,6 +1,6 @@
|
|||||||
# Differences in Mastodon API responses from vanilla Mastodon
|
# Differences in Mastodon API responses from vanilla Mastodon
|
||||||
|
|
||||||
A Pleroma instance can be identified by "<Mastodon version> (compatible; Pleroma <version>)" present in `version` field in response from `/api/v1/instance`
|
A Pleroma instance can be identified by "<Mastodon version> (compatible; Pleroma <version>)" present in `version` field in response from `/api/v1/instance` and `/api/v2/instance`
|
||||||
|
|
||||||
## Flake IDs
|
## Flake IDs
|
||||||
|
|
||||||
@ -39,6 +39,7 @@ Has these additional fields under the `pleroma` object:
|
|||||||
- `emoji_reactions`: A list with emoji / reaction maps. The format is `{name: "☕", count: 1, me: true}`. Contains no information about the reacting users, for that use the `/statuses/:id/reactions` endpoint.
|
- `emoji_reactions`: A list with emoji / reaction maps. The format is `{name: "☕", count: 1, me: true}`. Contains no information about the reacting users, for that use the `/statuses/:id/reactions` endpoint.
|
||||||
- `parent_visible`: If the parent of this post is visible to the user or not.
|
- `parent_visible`: If the parent of this post is visible to the user or not.
|
||||||
- `pinned_at`: a datetime (iso8601) when status was pinned, `null` otherwise.
|
- `pinned_at`: a datetime (iso8601) when status was pinned, `null` otherwise.
|
||||||
|
- `quotes_count`: the count of status quotes.
|
||||||
|
|
||||||
The `GET /api/v1/statuses/:id/source` endpoint additionally has the following attributes:
|
The `GET /api/v1/statuses/:id/source` endpoint additionally has the following attributes:
|
||||||
|
|
||||||
@ -304,19 +305,27 @@ Has these additional parameters (which are the same as in Pleroma-API):
|
|||||||
`GET /api/v1/instance` has additional fields
|
`GET /api/v1/instance` has additional fields
|
||||||
|
|
||||||
- `max_toot_chars`: The maximum characters per post
|
- `max_toot_chars`: The maximum characters per post
|
||||||
|
- `max_media_attachments`: Maximum number of post media attachments
|
||||||
- `chat_limit`: The maximum characters per chat message
|
- `chat_limit`: The maximum characters per chat message
|
||||||
- `description_limit`: The maximum characters per image description
|
- `description_limit`: The maximum characters per image description
|
||||||
- `poll_limits`: The limits of polls
|
- `poll_limits`: The limits of polls
|
||||||
|
- `shout_limit`: The maximum characters per Shoutbox message
|
||||||
- `upload_limit`: The maximum upload file size
|
- `upload_limit`: The maximum upload file size
|
||||||
- `avatar_upload_limit`: The same for avatars
|
- `avatar_upload_limit`: The same for avatars
|
||||||
- `background_upload_limit`: The same for backgrounds
|
- `background_upload_limit`: The same for backgrounds
|
||||||
- `banner_upload_limit`: The same for banners
|
- `banner_upload_limit`: The same for banners
|
||||||
- `background_image`: A background image that frontends can use
|
- `background_image`: A background image that frontends can use
|
||||||
|
- `pleroma.metadata.account_activation_required`: Whether users are required to confirm their emails before signing in
|
||||||
|
- `pleroma.metadata.birthday_required`: Whether users are required to provide their birth day when signing in
|
||||||
|
- `pleroma.metadata.birthday_min_age`: The minimum user age (in days)
|
||||||
- `pleroma.metadata.features`: A list of supported features
|
- `pleroma.metadata.features`: A list of supported features
|
||||||
- `pleroma.metadata.federation`: The federation restrictions of this instance
|
- `pleroma.metadata.federation`: The federation restrictions of this instance
|
||||||
- `pleroma.metadata.fields_limits`: A list of values detailing the length and count limitation for various instance-configurable fields.
|
- `pleroma.metadata.fields_limits`: A list of values detailing the length and count limitation for various instance-configurable fields.
|
||||||
- `pleroma.metadata.post_formats`: A list of the allowed post format types
|
- `pleroma.metadata.post_formats`: A list of the allowed post format types
|
||||||
- `vapid_public_key`: The public key needed for push messages
|
- `pleroma.stats.mau`: Monthly active user count
|
||||||
|
- `pleroma.vapid_public_key`: The public key needed for push messages
|
||||||
|
|
||||||
|
In, `GET /api/v2/instance` Pleroma-specific fields are all moved into `pleroma` object. `max_toot_chars`, `poll_limits` and `upload_limit` are replaced with their MastoAPI counterparts.
|
||||||
|
|
||||||
## Push Subscription
|
## Push Subscription
|
||||||
|
|
||||||
|
@ -129,7 +129,7 @@ The `/api/v1/pleroma/*` path is backwards compatible with `/api/pleroma/*` (`/ap
|
|||||||
* method: `GET`
|
* method: `GET`
|
||||||
* Authentication: required
|
* Authentication: required
|
||||||
* OAuth scope: `write:security`
|
* OAuth scope: `write:security`
|
||||||
* Response: JSON. Returns `{"codes": codes}`when successful, otherwise HTTP 422 `{"error": "[error message]"}`
|
* Response: JSON. Returns `{"codes": codes}` when successful, otherwise HTTP 422 `{"error": "[error message]"}`
|
||||||
|
|
||||||
## `/api/v1/pleroma/admin/`
|
## `/api/v1/pleroma/admin/`
|
||||||
See [Admin-API](admin_api.md)
|
See [Admin-API](admin_api.md)
|
||||||
@ -251,6 +251,15 @@ See [Admin-API](admin_api.md)
|
|||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## `/api/v1/pleroma/accounts/:id/endorsements`
|
||||||
|
### Returns users endorsed by a user
|
||||||
|
* Method `GET`
|
||||||
|
* Authentication: not required
|
||||||
|
* Params:
|
||||||
|
* `id`: the id of the account for whom to return results
|
||||||
|
* Response: JSON, returns a list of Mastodon Account entities
|
||||||
|
|
||||||
## `/api/v1/pleroma/accounts/update_*`
|
## `/api/v1/pleroma/accounts/update_*`
|
||||||
### Set and clear account avatar, banner, and background
|
### Set and clear account avatar, banner, and background
|
||||||
|
|
||||||
@ -266,6 +275,14 @@ See [Admin-API](admin_api.md)
|
|||||||
* Authentication: not required
|
* Authentication: not required
|
||||||
* Response: 204 No Content
|
* Response: 204 No Content
|
||||||
|
|
||||||
|
## `/api/v1/pleroma/statuses/:id/quotes`
|
||||||
|
### Gets quotes for a given status
|
||||||
|
* Method `GET`
|
||||||
|
* Authentication: not required
|
||||||
|
* Params:
|
||||||
|
* `id`: the id of the status
|
||||||
|
* Response: JSON, returns a list of Mastodon Status entities
|
||||||
|
|
||||||
## `/api/v1/pleroma/mascot`
|
## `/api/v1/pleroma/mascot`
|
||||||
### Gets user mascot image
|
### Gets user mascot image
|
||||||
* Method `GET`
|
* Method `GET`
|
||||||
@ -372,6 +389,15 @@ See [Admin-API](admin_api.md)
|
|||||||
* `alias`: the nickname of the alias to delete, e.g. `foo@example.org`.
|
* `alias`: the nickname of the alias to delete, e.g. `foo@example.org`.
|
||||||
* Response: JSON. Returns `{"status": "success"}` if the change was successful, `{"error": "[error message]"}` otherwise
|
* Response: JSON. Returns `{"status": "success"}` if the change was successful, `{"error": "[error message]"}` otherwise
|
||||||
|
|
||||||
|
## `/api/v1/pleroma/remote_interaction`
|
||||||
|
## Interact with profile or status from remote account
|
||||||
|
* Metod `POST`
|
||||||
|
* Authentication: not required
|
||||||
|
* Params:
|
||||||
|
* `ap_id`: Profile or status ActivityPub ID
|
||||||
|
* `profile`: Remote profile webfinger
|
||||||
|
* Response: JSON. Returns `{"url": "[redirect url]"}` on success, `{"error": "[error message]"}` otherwise
|
||||||
|
|
||||||
# Pleroma Conversations
|
# Pleroma Conversations
|
||||||
|
|
||||||
Pleroma Conversations have the same general structure that Mastodon Conversations have. The behavior differs in the following ways when using these endpoints:
|
Pleroma Conversations have the same general structure that Mastodon Conversations have. The behavior differs in the following ways when using these endpoints:
|
||||||
|
@ -40,6 +40,7 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
|
|||||||
background_image: Pleroma.Web.Endpoint.url() <> Keyword.get(instance, :background_image),
|
background_image: Pleroma.Web.Endpoint.url() <> Keyword.get(instance, :background_image),
|
||||||
shout_limit: Config.get([:shout, :limit]),
|
shout_limit: Config.get([:shout, :limit]),
|
||||||
description_limit: Keyword.get(instance, :description_limit),
|
description_limit: Keyword.get(instance, :description_limit),
|
||||||
|
chat_limit: Keyword.get(instance, :chat_limit),
|
||||||
pleroma: pleroma_configuration(instance)
|
pleroma: pleroma_configuration(instance)
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
@ -222,6 +223,7 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
|
|||||||
banner_upload_limit: Keyword.get(instance, :banner_upload_limit),
|
banner_upload_limit: Keyword.get(instance, :banner_upload_limit),
|
||||||
background_image:
|
background_image:
|
||||||
Pleroma.Web.Endpoint.url() <> Keyword.get(instance, :background_image),
|
Pleroma.Web.Endpoint.url() <> Keyword.get(instance, :background_image),
|
||||||
|
chat_limit: Keyword.get(instance, :chat_limit),
|
||||||
description_limit: Keyword.get(instance, :description_limit),
|
description_limit: Keyword.get(instance, :description_limit),
|
||||||
shout_limit: Config.get([:shout, :limit])
|
shout_limit: Config.get([:shout, :limit])
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user