From 7af0959a07ebd5f8242704658ccb770d86fdb4c6 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Tue, 31 Mar 2020 18:30:19 +0300 Subject: updating docs --- docs/API/pleroma_api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/API/pleroma_api.md') diff --git a/docs/API/pleroma_api.md b/docs/API/pleroma_api.md index 12e63ef9f..90c43c356 100644 --- a/docs/API/pleroma_api.md +++ b/docs/API/pleroma_api.md @@ -431,7 +431,7 @@ The status posting endpoint takes an additional parameter, `in_reply_to_conversa # Emoji Reactions -Emoji reactions work a lot like favourites do. They make it possible to react to a post with a single emoji character. +Emoji reactions work a lot like favourites do. They make it possible to react to a post with a single emoji character. To detect the presence of this feature, you can check `pleroma_emoji_reactions` entry in the features list of nodeinfo. ## `PUT /api/v1/pleroma/statuses/:id/reactions/:emoji` ### React to a post with a unicode emoji -- cgit v1.2.3 From 5839e67eb86d6d14b21222247ce8e113c3b26637 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Thu, 6 Feb 2020 18:01:12 +0300 Subject: return data only for updated emoji --- docs/API/pleroma_api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/API/pleroma_api.md') diff --git a/docs/API/pleroma_api.md b/docs/API/pleroma_api.md index 90c43c356..a7c7731ce 100644 --- a/docs/API/pleroma_api.md +++ b/docs/API/pleroma_api.md @@ -357,7 +357,7 @@ The status posting endpoint takes an additional parameter, `in_reply_to_conversa * if the `action` is `update`, changes emoji shortcode (from `shortcode` to `new_shortcode` or moves the file (from the current filename to `new_filename`) * if the `action` is `remove`, removes the emoji named `shortcode` and it's associated file -* Response: JSON, updated "files" section of the pack and 200 status, 409 if the trying to use a shortcode +* Response: JSON, emoji shortcode with filename which was added/updated/deleted and 200 status, 409 if the trying to use a shortcode that is already taken, 400 if there was an error with the shortcode, filename or file (additional info in the "error" part of the response JSON) -- cgit v1.2.3 From 95759310abb597275335936efa4a59615b16da6e Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Sat, 28 Mar 2020 13:55:17 +0300 Subject: docs update --- docs/API/pleroma_api.md | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'docs/API/pleroma_api.md') diff --git a/docs/API/pleroma_api.md b/docs/API/pleroma_api.md index a7c7731ce..49b75f5f9 100644 --- a/docs/API/pleroma_api.md +++ b/docs/API/pleroma_api.md @@ -330,6 +330,13 @@ The status posting endpoint takes an additional parameter, `in_reply_to_conversa * Params: None * Response: JSON, "ok" and 200 status and the JSON hashmap of "pack name" to "pack contents" +## `GET /api/pleroma/emoji/packs/:name` +### Get pack.json for the pack +* Method `GET` +* Authentication: not required +* Params: None +* Response: JSON, pack json with `files` and `pack` keys with 200 status or 404 if the pack does not exist + ## `PUT /api/pleroma/emoji/packs/:name` ### Creates an empty custom emoji pack * Method `PUT` @@ -349,15 +356,17 @@ The status posting endpoint takes an additional parameter, `in_reply_to_conversa * Method `POST` * Authentication: required * 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 + * if the `action` is `add`, adds an emoji file to the pack `pack_name`, (thus requiring it to be a multipart request) and be named `file`. + If `shortcode` is not specified, `shortcode` will be used from filename. There can also be an optional `filename` that will be the new emoji file name (if it's not there, the name will be taken from the uploaded file). * if the `action` is `update`, changes emoji shortcode - (from `shortcode` to `new_shortcode` or moves the file (from the current filename to `new_filename`) + (from `shortcode` to `new_shortcode` or moves the file (from the current filename to `new_filename`). + If new_shortcode is used in another emoji 409 status will be returned. If you want to override shortcode + pass `force` option with `true` value. * if the `action` is `remove`, removes the emoji named `shortcode` and it's associated file -* Response: JSON, emoji shortcode with filename which was added/updated/deleted and 200 status, 409 if the trying to use a shortcode +* Response: JSON, updated "files" section of the pack and 200 status, 409 if the trying to use a shortcode that is already taken, 400 if there was an error with the shortcode, filename or file (additional info in the "error" part of the response JSON) @@ -385,7 +394,7 @@ The status posting endpoint takes an additional parameter, `in_reply_to_conversa * Method `POST` * Authentication: required * Params: - * `instance_address`: the address of the instance to download from + * `instance_address`: the address of the instance to get packs from * Response: JSON with the pack list, same as if the request was made to that instance's list endpoint directly + 200 status -- cgit v1.2.3 From ddb757f7434c7216eec1b6ba4fa8b0b7a54157c1 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Sat, 28 Mar 2020 21:15:14 +0300 Subject: emoji api packs changes in routes with docs update --- docs/API/pleroma_api.md | 118 +++++++++++++++++++++++++++--------------------- 1 file changed, 67 insertions(+), 51 deletions(-) (limited to 'docs/API/pleroma_api.md') diff --git a/docs/API/pleroma_api.md b/docs/API/pleroma_api.md index 49b75f5f9..65d22980b 100644 --- a/docs/API/pleroma_api.md +++ b/docs/API/pleroma_api.md @@ -323,27 +323,47 @@ The status posting endpoint takes an additional parameter, `in_reply_to_conversa * 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 +## `GET /api/pleroma/emoji/packs/import` +### Imports packs from filesystem * Method `GET` -* Authentication: not required +* Authentication: required * Params: None -* Response: JSON, "ok" and 200 status and the JSON hashmap of "pack name" to "pack contents" +* Response: JSON, returns a list of imported packs. -## `GET /api/pleroma/emoji/packs/:name` -### Get pack.json for the pack +## `GET /api/pleroma/emoji/packs/remote` +### Make request to another instance for packs list * Method `GET` -* Authentication: not required -* Params: None -* Response: JSON, pack json with `files` and `pack` keys with 200 status or 404 if the pack does not exist +* Authentication: required +* Params: + * `url`: url of the instance to get packs from +* Response: JSON with the pack list, hashmap with pack name and pack contents -## `PUT /api/pleroma/emoji/packs/:name` -### Creates an empty custom emoji pack -* Method `PUT` +## `POST /api/pleroma/emoji/packs/download` +### Download pack from another instance +* Method `POST` +* Authentication: required +* Params: + * `url`: url of the instance to download from + * `name`: pack to download from that instance +* Response: JSON, "ok" with 200 status if the pack was downloaded, or 500 if there were + errors downloading the pack + +## `POST /api/pleroma/emoji/packs/:name` +### Creates an empty pack +* Method `POST` * Authentication: required * Params: None * Response: JSON, "ok" and 200 status or 409 if the pack with that name already exists +## `PATCH /api/pleroma/emoji/packs/:name` +### Updates (replaces) pack metadata +* Method `POST` +* Authentication: required +* Params: + * `metadata`: 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) + ## `DELETE /api/pleroma/emoji/packs/:name` ### Delete a custom emoji pack * Method `DELETE` @@ -351,54 +371,50 @@ The status posting endpoint takes an additional parameter, `in_reply_to_conversa * Params: None * Response: JSON, "ok" and 200 status or 500 if there was an error deleting the pack -## `POST /api/pleroma/emoji/packs/:name/update_file` -### Update a file in a custom emoji pack +## `POST /api/pleroma/emoji/packs/:name/files` +### Add new file to the pack * Method `POST` * Authentication: required * Params: - * if the `action` is `add`, adds an emoji file to the pack `pack_name`, - (thus requiring it to be a multipart request) and be named `file`. - If `shortcode` is not specified, `shortcode` will be used from filename. - There can also be an optional `filename` that will be the new emoji file name - (if it's not there, the name will be taken from the uploaded file). - * if the `action` is `update`, changes emoji shortcode - (from `shortcode` to `new_shortcode` or moves the file (from the current filename to `new_filename`). - If new_shortcode is used in another emoji 409 status will be returned. If you want to override shortcode - pass `force` option with `true` value. - * if the `action` is `remove`, removes the emoji named `shortcode` and it's associated file -* Response: JSON, updated "files" section of the pack and 200 status, 409 if the trying to use a shortcode - that is already taken, 400 if there was an error with the shortcode, filename or file (additional info - in the "error" part of the response JSON) - -## `POST /api/pleroma/emoji/packs/:name/update_metadata` -### Updates (replaces) pack metadata -* Method `POST` -* Authentication: required -* 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) + * `file`: uploaded file or link to remote file. + * `shortcode`: (*optional*) shortcode for new emoji, must be uniq for all emoji. If not sended, shortcode will be taken from original filename. + * `filename`: (*optional*) new emoji file name. If not specified will be taken from original filename. +* Response: JSON, list of files for updated pack (hasmap -> shortcode => filename) with status 200, either error status with error message. -## `POST /api/pleroma/emoji/packs/download_from` -### Requests the instance to download the pack from another instance -* Method `POST` +## `PATCH /api/pleroma/emoji/packs/:name/files` +### Update emoji file from pack +* Method `PATCH` * Authentication: required * 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 - errors downloading the pack - -## `POST /api/pleroma/emoji/packs/list_from` -### Requests the instance to list the packs from another instance -* Method `POST` + * `shortcode`: emoji file shortcode + * `new_shortcode`: new emoji file shortcode + * `new_filename`: new filename for emoji file + * `force`: (*optional*) with true value to overwrite existing emoji with new shortcode +* Response: JSON, list with updated files for updated pack (hasmap -> shortcode => filename) with status 200, either error status with error message. + +## `DELETE /api/pleroma/emoji/packs/:name/files` +### Delete emoji file from pack +* Method `DELETE` * Authentication: required * Params: - * `instance_address`: the address of the instance to get packs from -* Response: JSON with the pack list, same as if the request was made to that instance's - list endpoint directly + 200 status + * `shortcode`: emoji file shortcode +* Response: JSON, list with updated files for updated pack (hasmap -> shortcode => filename) with status 200, either error status with error message. + +## `GET /api/pleroma/emoji/packs` +### Lists local custom emoji packs +* Method `GET` +* Authentication: not required +* Params: None +* Response: JSON, "ok" and 200 status and the JSON hashmap of pack name to pack contents + +## `GET /api/pleroma/emoji/packs/:name` +### Get pack.json for the pack +* Method `GET` +* Authentication: not required +* Params: None +* Response: JSON, pack json with `files` and `pack` keys with 200 status or 404 if the pack does not exist -## `GET /api/pleroma/emoji/packs/:name/download_shared` +## `GET /api/pleroma/emoji/packs/:name/archive` ### Requests a local pack from the instance * Method `GET` * Authentication: not required -- cgit v1.2.3 From 1c1b7e22afd25c5d1c4ff71d03a08ee39149fca1 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Mon, 30 Mar 2020 10:07:37 +0300 Subject: list of options for pack metadata --- docs/API/pleroma_api.md | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'docs/API/pleroma_api.md') diff --git a/docs/API/pleroma_api.md b/docs/API/pleroma_api.md index 65d22980b..dc39c8b0b 100644 --- a/docs/API/pleroma_api.md +++ b/docs/API/pleroma_api.md @@ -361,6 +361,12 @@ The status posting endpoint takes an additional parameter, `in_reply_to_conversa * Authentication: required * Params: * `metadata`: metadata to replace the old one + * `license`: Pack license + * `homepage`: Pack home page url + * `description`: Pack description + * `fallback-src`: Fallback url to download pack from + * `fallback-src-sha256`: SHA256 encoded for fallback pack archive + * `share-files`: is pack allowed for sharing (boolean) * 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) -- cgit v1.2.3 From 1fd40532aeac2c6988e2b439af1350cbf59cd697 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Tue, 31 Mar 2020 11:38:37 +0300 Subject: docs fix --- docs/API/pleroma_api.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'docs/API/pleroma_api.md') diff --git a/docs/API/pleroma_api.md b/docs/API/pleroma_api.md index dc39c8b0b..0c4d5c797 100644 --- a/docs/API/pleroma_api.md +++ b/docs/API/pleroma_api.md @@ -345,6 +345,7 @@ The status posting endpoint takes an additional parameter, `in_reply_to_conversa * Params: * `url`: url of the instance to download from * `name`: pack to download from that instance + * `as`: (*optional*) name how to save pack * Response: JSON, "ok" with 200 status if the pack was downloaded, or 500 if there were errors downloading the pack @@ -357,7 +358,7 @@ The status posting endpoint takes an additional parameter, `in_reply_to_conversa ## `PATCH /api/pleroma/emoji/packs/:name` ### Updates (replaces) pack metadata -* Method `POST` +* Method `PATCH` * Authentication: required * Params: * `metadata`: metadata to replace the old one -- cgit v1.2.3 From 631e8c1febb32910a8e44c7c39790c9364620567 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Wed, 1 Apr 2020 13:57:27 +0300 Subject: docs update --- docs/API/pleroma_api.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'docs/API/pleroma_api.md') diff --git a/docs/API/pleroma_api.md b/docs/API/pleroma_api.md index 0c4d5c797..b927be026 100644 --- a/docs/API/pleroma_api.md +++ b/docs/API/pleroma_api.md @@ -383,10 +383,10 @@ The status posting endpoint takes an additional parameter, `in_reply_to_conversa * Method `POST` * Authentication: required * Params: - * `file`: uploaded file or link to remote file. + * `file`: file needs to be uploaded with the multipart request or link to remote file. * `shortcode`: (*optional*) shortcode for new emoji, must be uniq for all emoji. If not sended, shortcode will be taken from original filename. * `filename`: (*optional*) new emoji file name. If not specified will be taken from original filename. -* Response: JSON, list of files for updated pack (hasmap -> shortcode => filename) with status 200, either error status with error message. +* Response: JSON, list of files for updated pack (hashmap -> shortcode => filename) with status 200, either error status with error message. ## `PATCH /api/pleroma/emoji/packs/:name/files` ### Update emoji file from pack @@ -397,7 +397,7 @@ The status posting endpoint takes an additional parameter, `in_reply_to_conversa * `new_shortcode`: new emoji file shortcode * `new_filename`: new filename for emoji file * `force`: (*optional*) with true value to overwrite existing emoji with new shortcode -* Response: JSON, list with updated files for updated pack (hasmap -> shortcode => filename) with status 200, either error status with error message. +* Response: JSON, list with updated files for updated pack (hashmap -> shortcode => filename) with status 200, either error status with error message. ## `DELETE /api/pleroma/emoji/packs/:name/files` ### Delete emoji file from pack @@ -405,7 +405,7 @@ The status posting endpoint takes an additional parameter, `in_reply_to_conversa * Authentication: required * Params: * `shortcode`: emoji file shortcode -* Response: JSON, list with updated files for updated pack (hasmap -> shortcode => filename) with status 200, either error status with error message. +* Response: JSON, list with updated files for updated pack (hashmap -> shortcode => filename) with status 200, either error status with error message. ## `GET /api/pleroma/emoji/packs` ### Lists local custom emoji packs @@ -422,7 +422,7 @@ The status posting endpoint takes an additional parameter, `in_reply_to_conversa * Response: JSON, pack json with `files` and `pack` keys with 200 status or 404 if the pack does not exist ## `GET /api/pleroma/emoji/packs/:name/archive` -### Requests a local pack from the instance +### Requests a local pack archive from the instance * Method `GET` * Authentication: not required * Params: None -- cgit v1.2.3 From 3d0c567fbc3506770fdac5f1269c45b244928747 Mon Sep 17 00:00:00 2001 From: Maksim Date: Thu, 7 May 2020 08:14:54 +0000 Subject: Pleroma.Web.TwitterAPI.TwoFactorAuthenticationController -> Pleroma.Web.PleromaAPI.TwoFactorAuthenticationController --- docs/API/pleroma_api.md | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) (limited to 'docs/API/pleroma_api.md') diff --git a/docs/API/pleroma_api.md b/docs/API/pleroma_api.md index b927be026..5895613a3 100644 --- a/docs/API/pleroma_api.md +++ b/docs/API/pleroma_api.md @@ -70,7 +70,49 @@ Request parameters can be passed via [query strings](https://en.wikipedia.org/wi * Response: JSON. Returns `{"status": "success"}` if the account was successfully disabled, `{"error": "[error message]"}` otherwise * Example response: `{"error": "Invalid password."}` -## `/api/pleroma/admin/`… +## `/api/pleroma/accounts/mfa` +#### Gets current MFA settings +* method: `GET` +* Authentication: required +* OAuth scope: `read:security` +* Response: JSON. Returns `{"enabled": "false", "totp": false }` + +## `/api/pleroma/accounts/mfa/setup/totp` +#### Pre-setup the MFA/TOTP method +* method: `GET` +* Authentication: required +* OAuth scope: `write:security` +* Response: JSON. Returns `{"key": [secret_key], "provisioning_uri": "[qr code uri]" }` when successful, otherwise returns HTTP 422 `{"error": "error_msg"}` + +## `/api/pleroma/accounts/mfa/confirm/totp` +#### Confirms & enables MFA/TOTP support for user account. +* method: `POST` +* Authentication: required +* OAuth scope: `write:security` +* Params: + * `password`: user's password + * `code`: token from TOTP App +* Response: JSON. Returns `{}` if the enable was successful, HTTP 422 `{"error": "[error message]"}` otherwise + + +## `/api/pleroma/accounts/mfa/totp` +#### Disables MFA/TOTP method for user account. +* method: `DELETE` +* Authentication: required +* OAuth scope: `write:security` +* Params: + * `password`: user's password +* Response: JSON. Returns `{}` if the disable was successful, HTTP 422 `{"error": "[error message]"}` otherwise +* Example response: `{"error": "Invalid password."}` + +## `/api/pleroma/accounts/mfa/backup_codes` +#### Generstes backup codes MFA for user account. +* method: `GET` +* Authentication: required +* OAuth scope: `write:security` +* Response: JSON. Returns `{"codes": codes}`when successful, otherwise HTTP 422 `{"error": "[error message]"}` + +## `/api/pleroma/admin/` See [Admin-API](admin_api.md) ## `/api/v1/pleroma/notifications/read` -- cgit v1.2.3 From d4a7577cdeeb86649dbab22a1addc57e6ed16e9c Mon Sep 17 00:00:00 2001 From: Egor Kislitsyn Date: Mon, 18 May 2020 22:01:38 +0400 Subject: Fix API documentation --- docs/API/pleroma_api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/API/pleroma_api.md') diff --git a/docs/API/pleroma_api.md b/docs/API/pleroma_api.md index 5895613a3..867f59919 100644 --- a/docs/API/pleroma_api.md +++ b/docs/API/pleroma_api.md @@ -265,7 +265,7 @@ See [Admin-API](admin_api.md) * Method `PUT` * Authentication: required * Params: - * `image`: Multipart image + * `file`: Multipart image * Response: JSON. Returns a mastodon media attachment entity when successful, otherwise returns HTTP 415 `{"error": "error_msg"}` * Example response: -- cgit v1.2.3 From e4c720f14c0760ff5863c58a2ed1aafb9bf1bdc5 Mon Sep 17 00:00:00 2001 From: Egor Kislitsyn Date: Tue, 19 May 2020 14:59:50 +0400 Subject: Fix typo --- docs/API/pleroma_api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/API/pleroma_api.md') diff --git a/docs/API/pleroma_api.md b/docs/API/pleroma_api.md index 5895613a3..8cdd5808c 100644 --- a/docs/API/pleroma_api.md +++ b/docs/API/pleroma_api.md @@ -426,7 +426,7 @@ The status posting endpoint takes an additional parameter, `in_reply_to_conversa * Authentication: required * Params: * `file`: file needs to be uploaded with the multipart request or link to remote file. - * `shortcode`: (*optional*) shortcode for new emoji, must be uniq for all emoji. If not sended, shortcode will be taken from original filename. + * `shortcode`: (*optional*) shortcode for new emoji, must be unique for all emoji. If not sended, shortcode will be taken from original filename. * `filename`: (*optional*) new emoji file name. If not specified will be taken from original filename. * Response: JSON, list of files for updated pack (hashmap -> shortcode => filename) with status 200, either error status with error message. -- cgit v1.2.3 From 490a3a34b63fa10e9151e9a385920c10615a1a3c Mon Sep 17 00:00:00 2001 From: Egor Kislitsyn Date: Tue, 19 May 2020 21:52:26 +0400 Subject: Add OpenAPI spec for PleromaAPI.PleromaAPIController --- docs/API/pleroma_api.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs/API/pleroma_api.md') diff --git a/docs/API/pleroma_api.md b/docs/API/pleroma_api.md index 867f59919..d6dbafc06 100644 --- a/docs/API/pleroma_api.md +++ b/docs/API/pleroma_api.md @@ -358,7 +358,7 @@ 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` +## `POST /api/v1/pleroma/conversations/read` ### Marks all user's conversations as read. * Method `POST` * Authentication: required @@ -536,7 +536,7 @@ Emoji reactions work a lot like favourites do. They make it possible to react to ``` ## `GET /api/v1/pleroma/statuses/:id/reactions/:emoji` -### Get an object of emoji to account mappings with accounts that reacted to the post for a specific emoji` +### Get an object of emoji to account mappings with accounts that reacted to the post for a specific emoji * Method: `GET` * Authentication: optional * Params: None -- cgit v1.2.3