Merge branch 'develop' into feature/report-notes
[akkoma] / docs / API / pleroma_api.md
index 3a8ef4e2c08f6dd99bda9555febd539432b1838f..7228d805b5a7e850628f9b9168febf3ce7f8c9c5 100644 (file)
@@ -302,6 +302,7 @@ See [Admin-API](admin_api.md)
     * `follows`: BOOLEAN field, receives notifications from people the user follows
     * `remote`: BOOLEAN field, receives notifications from people on remote instances
     * `local`: BOOLEAN field, receives notifications from people on the local instance
+    * `privacy_option`: BOOLEAN field. When set to true, it removes the contents of a message from the push notification.
 * Response: JSON. Returns `{"status": "success"}` if the update was successful, otherwise returns `{"error": "error_msg"}`
 
 ## `/api/pleroma/healthcheck`
@@ -317,7 +318,8 @@ See [Admin-API](admin_api.md)
   "active": 0, # active processes
   "idle": 0, # idle processes
   "memory_used": 0.00, # Memory used
-  "healthy": true # Instance state
+  "healthy": true, # Instance state
+  "job_queue_stats": {} # Job queue stats
 }
 ```
 
@@ -366,6 +368,13 @@ The status posting endpoint takes an additional parameter, `in_reply_to_conversa
     * `recipients`: A list of ids of users that should receive posts to this conversation. This will replace the current list of recipients, so submit the full list. The owner of owner of the conversation will always be part of the set of recipients, though.
 * Response: JSON, statuses (200 - healthy, 503 unhealthy)
 
+## `GET /api/v1/pleroma/conversations/read`
+### Marks all user's conversations as read.
+* Method `POST`
+* Authentication: required
+* Params: None
+* Response: JSON, returns a list of Mastodon Conversation entities that were marked as read (200 - healthy, 503 unhealthy).
+
 ## `GET /api/pleroma/emoji/packs`
 ### Lists the custom emoji packs on the server
 * Method `GET`
@@ -391,7 +400,7 @@ The status posting endpoint takes an additional parameter, `in_reply_to_conversa
 ### Update a file in a custom emoji pack
 * Method `POST`
 * Authentication: required
-* Params: 
+* Params:
     * if the `action` is `add`, adds an emoji named `shortcode` to the pack `pack_name`,
       that means that the emoji file needs to be uploaded with the request
       (thus requiring it to be a multipart request) and be named `file`.
@@ -408,7 +417,7 @@ The status posting endpoint takes an additional parameter, `in_reply_to_conversa
 ### Updates (replaces) pack metadata
 * Method `POST`
 * Authentication: required
-* Params: 
+* Params:
   * `new_data`: new metadata to replace the old one
 * Response: JSON, updated "metadata" section of the pack and 200 status or 400 if there was a
   problem with the new metadata (the error is specified in the "error" part of the response JSON)
@@ -417,7 +426,7 @@ The status posting endpoint takes an additional parameter, `in_reply_to_conversa
 ### Requests the instance to download the pack from another instance
 * Method `POST`
 * Authentication: required
-* Params: 
+* Params:
   * `instance_address`: the address of the instance to download from
   * `pack_name`: the pack to download from that instance
 * Response: JSON, "ok" and 200 status if the pack was downloaded, or 500 if there were
@@ -471,3 +480,35 @@ The status posting endpoint takes an additional parameter, `in_reply_to_conversa
   * `artist`: the artist of the media playing [optional]
   * `length`: the length of the media playing [optional]
 * Response: the newly created media metadata entity representing the Listen activity
+
+# Emoji Reactions
+
+Emoji reactions work a lot like favourites do. They make it possible to react to a post with a single emoji character.
+
+## `POST /api/v1/pleroma/statuses/:id/react_with_emoji`
+### React to a post with a unicode emoji
+* Method: `POST`
+* Authentication: required
+* Params: `emoji`: A single character unicode emoji
+* Response: JSON, the status.
+
+## `POST /api/v1/pleroma/statuses/:id/unreact_with_emoji`
+### Remove a reaction to a post with a unicode emoji
+* Method: `POST`
+* Authentication: required
+* Params: `emoji`: A single character unicode emoji
+* Response: JSON, the status.
+
+## `GET /api/v1/pleroma/statuses/:id/emoji_reactions_by`
+### Get an object of emoji to account mappings with accounts that reacted to the post
+* Method: `GET`
+* Authentication: optional
+* Params: None
+* Response: JSON, a map of emoji to account list mappings.
+* Example Response:
+```json
+{
+  "😀" => [{"id" => "xyz.."...}, {"id" => "zyx..."}],
+  "🗡" => [{"id" => "abc..."}] 
+}
+```