summaryrefslogtreecommitdiff
path: root/docs/api
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2024-01-16 17:22:44 +0100
committerLibravatar GitHub <noreply@github.com>2024-01-16 16:22:44 +0000
commitc36f9ac37b8bbdeb4def7a20ba8ea6d6b7ad12d5 (patch)
tree9569c022aaf5c4ceaaf5ce433c95d9d90b6402cc /docs/api
parent[chore] Move to codeberg's exif-terminator (#2536) (diff)
downloadgotosocial-c36f9ac37b8bbdeb4def7a20ba8ea6d6b7ad12d5.tar.xz
[feature] Account alias / move API + db models (#2518)
* [feature] Account alias / move API + db models * go fmt * fix little cherry-pick issues * update error checking, formatting * add and use new util functions to simplify alias logic
Diffstat (limited to 'docs/api')
-rw-r--r--docs/api/swagger.yaml110
1 files changed, 110 insertions, 0 deletions
diff --git a/docs/api/swagger.yaml b/docs/api/swagger.yaml
index 500355ac3..7f0e2e1f9 100644
--- a/docs/api/swagger.yaml
+++ b/docs/api/swagger.yaml
@@ -111,6 +111,16 @@ definitions:
Source:
description: Returned as an additional entity when verifying and updated credentials, as an attribute of Account.
properties:
+ also_known_as_uris:
+ description: |-
+ This account is aliased to / also known as accounts at the
+ given ActivityPub URIs. To set this, use `/api/v1/accounts/alias`.
+
+ Omitted from json if empty / not set.
+ items:
+ type: string
+ type: array
+ x-go-name: AlsoKnownAsURIs
fields:
description: Metadata about the account.
items:
@@ -246,6 +256,8 @@ definitions:
description: Account manually approves follow requests.
type: boolean
x-go-name: Locked
+ moved:
+ $ref: '#/definitions/account'
mute_expires_at:
description: If this account has been muted, when will the mute expire (ISO 8601 Datetime).
example: "2021-07-30T09:20:25+00:00"
@@ -1419,6 +1431,10 @@ definitions:
This should be displayed on the 'about' page for an instance.
type: string
x-go-name: Description
+ description_text:
+ description: Raw (unparsed) version of description.
+ type: string
+ x-go-name: DescriptionText
email:
description: An email address that may be used for inquiries.
example: admin@example.org
@@ -1463,6 +1479,10 @@ definitions:
This should be displayed on the instance splash/landing page.
type: string
x-go-name: ShortDescription
+ short_description_text:
+ description: Raw (unparsed) version of short description.
+ type: string
+ x-go-name: ShortDescriptionText
stats:
additionalProperties:
format: int64
@@ -1474,6 +1494,10 @@ definitions:
description: Terms and conditions for accounts on this instance.
type: string
x-go-name: Terms
+ terms_text:
+ description: Raw (unparsed) version of terms.
+ type: string
+ x-go-name: TermsRaw
thumbnail:
description: URL of the instance avatar/banner image.
example: https://example.org/files/instance/thumbnail.jpeg
@@ -1565,6 +1589,10 @@ definitions:
This should be displayed on the 'about' page for an instance.
type: string
x-go-name: Description
+ description_text:
+ description: Raw (unparsed) version of description.
+ type: string
+ x-go-name: DescriptionText
domain:
description: The domain of the instance.
example: gts.example.org
@@ -1595,6 +1623,10 @@ definitions:
description: Terms and conditions for accounts on this instance.
type: string
x-go-name: Terms
+ terms_text:
+ description: Raw (unparsed) version of terms.
+ type: string
+ x-go-name: TermsText
thumbnail:
$ref: '#/definitions/instanceV2Thumbnail'
title:
@@ -3509,6 +3541,47 @@ paths:
summary: Unfollow account with id.
tags:
- accounts
+ /api/v1/accounts/alias:
+ post:
+ consumes:
+ - multipart/form-data
+ description: |-
+ This is useful when you want to move from another account this this account.
+
+ In such cases, you should set the alsoKnownAs of this account to the URI of
+ the account you want to move from.
+ operationId: accountAlias
+ parameters:
+ - description: |-
+ ActivityPub URI/IDs of target accounts to which this account is being aliased. Eg., `["https://example.org/users/some_account"]`.
+ Use an empty array to unset alsoKnownAs, clearing the aliases.
+ in: formData
+ name: also_known_as_uris
+ required: true
+ type: string
+ responses:
+ "200":
+ description: The newly updated account.
+ schema:
+ $ref: '#/definitions/account'
+ "400":
+ description: bad request
+ "401":
+ description: unauthorized
+ "404":
+ description: not found
+ "406":
+ description: not acceptable
+ "422":
+ description: Unprocessable. Check the response body for more details.
+ "500":
+ description: internal server error
+ security:
+ - OAuth2 Bearer:
+ - write:accounts
+ summary: Alias your account to another account by setting alsoKnownAs to the given URI.
+ tags:
+ - accounts
/api/v1/accounts/delete:
post:
consumes:
@@ -3571,6 +3644,43 @@ paths:
summary: Quickly lookup a username to see if it is available, skipping WebFinger resolution.
tags:
- accounts
+ /api/v1/accounts/move:
+ post:
+ consumes:
+ - multipart/form-data
+ operationId: accountMove
+ parameters:
+ - description: Password of the account user, for confirmation.
+ in: formData
+ name: password
+ required: true
+ type: string
+ - description: ActivityPub URI/ID of the target account. Eg., `https://example.org/users/some_account`. The target account must be alsoKnownAs the requesting account in order for the move to be successful.
+ in: formData
+ name: moved_to_uri
+ required: true
+ type: string
+ responses:
+ "202":
+ description: The account move has been accepted and the account will be moved.
+ "400":
+ description: bad request
+ "401":
+ description: unauthorized
+ "404":
+ description: not found
+ "406":
+ description: not acceptable
+ "422":
+ description: Unprocessable. Check the response body for more details.
+ "500":
+ description: internal server error
+ security:
+ - OAuth2 Bearer:
+ - write:accounts
+ summary: Move your account to another account.
+ tags:
+ - accounts
/api/v1/accounts/relationships:
get:
operationId: accountRelationships