mirror of
https://github.com/LemmyNet/joinlemmy-site.git
synced 2024-11-25 13:51:17 +00:00
2595 lines
No EOL
83 KiB
YAML
2595 lines
No EOL
83 KiB
YAML
asyncapi: 2.0.0
|
|
info:
|
|
title: Lemmy WebSocket API
|
|
version: '2.0'
|
|
description: |-
|
|
### About Lemmy
|
|
[**Lemmy**](https://github.com/LemmyNet/lemmy) is a decentralized alternative to widely-used proprietary link aggregators like Reddit.
|
|
|
|
### How to use this Websocket API document
|
|
|
|
You can either use it to:
|
|
- **Interactively browse the WebSocket API.** Browse the *Channels*, check out the responses and examples (tailor the *PUBLISH* requests to suit with your favorite WebSocket API client). For testing purposes, either [set up your own server](https://lemmy.ml/docs/en/administration/administration.html) or use the Enterprise server (*ws://enterprise.lemmy.ml/api/v2/ws*)
|
|
- **[Open and save](asyncapi.yaml) this specification file** and use it with the various [AsyncAPI tools](https://www.asyncapi.com/docs/community/tooling) (perhaps to generate code or documentation).
|
|
|
|
### The HTTP API
|
|
|
|
Lemmy also has an HTTP API. The Websocket and HTTP API are almost identical:
|
|
- WebSocket API needs `let send = { op: userOperation[op], data: form}` as shown below
|
|
- HTTP API requires the form at the top level and an HTTP operation (GET, PUT or POST) and endpoint. For example: `PUT /comment`. For more information, see [http.ts](https://github.com/LemmyNet/lemmy-js-client/blob/main/src/http.ts)
|
|
license:
|
|
name: AGPL
|
|
url: 'https://www.gnu.org/licenses/agpl-3.0.en.html'
|
|
servers:
|
|
ds9:
|
|
url: ds9.lemmy.ml/api/v2/ws
|
|
protocol: WebSocket
|
|
description: DS9 test server
|
|
enterprise:
|
|
url: enterprise.lemmy.ml/api/v2/ws
|
|
protocol: WebSocket
|
|
description: Enterprise test server
|
|
voyager:
|
|
url: voyager.lemmy.ml/api/v2/ws
|
|
protocol: WebSocket
|
|
description: Voyager test server
|
|
local:
|
|
url: localhost:1235/api/v2/ws
|
|
protocol: WebSocket
|
|
description: Local Docker container
|
|
externalDocs:
|
|
description: Lemmy documentation
|
|
url: 'https://lemmy.ml/docs/index.html'
|
|
tags:
|
|
- name: User, authentication and admin
|
|
- name: Site
|
|
channels:
|
|
Login:
|
|
publish:
|
|
summary: Login (request)
|
|
description: |-
|
|
Login with username or registered email.
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`POST /user/login`
|
|
operationId: loginRequestMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
$ref: '#/components/messages/loginRequest'
|
|
subscribe:
|
|
summary: Login (response)
|
|
description: 'You will receive an authentication string (`jwt`)'
|
|
operationId: loginResponseMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/loginResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
GetCaptcha:
|
|
publish:
|
|
summary: GetCaptcha (request)
|
|
description: |-
|
|
Get Captcha details for registering a user. These details expire after 10 minutes.
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`GET /user/get_captcha`
|
|
operationId: getCaptchaRequestMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
$ref: '#/components/messages/getCaptchaRequest'
|
|
subscribe:
|
|
summary: GetCaptcha (response)
|
|
description: Captcha details returned from the server
|
|
operationId: getCaptchaResponseMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/getCaptchaResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
Register:
|
|
publish:
|
|
summary: Register (request)
|
|
description: |-
|
|
Register a user on the Lemmy server. If Captcha is enabled on the server, obtain those details by using **GetCaptcha** (*before* attempting to register)
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`POST /user/register`
|
|
operationId: registerRequestMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
$ref: '#/components/messages/registerRequest'
|
|
subscribe:
|
|
summary: Register (response)
|
|
description: 'The response to the registration request will be an authentication string (`jwt`) for that user'
|
|
operationId: registerResponseMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
$ref: '#/components/messages/registerResponse'
|
|
GetUserDetails:
|
|
publish:
|
|
summary: GetUserDetails (request)
|
|
description: |-
|
|
- Use the `username` field to return details about a local user
|
|
- Use the `user-id` field to return details about a federated user.
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`GET /user`
|
|
operationId: getUserDetailsMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
$ref: '#/components/messages/getUserDetailsRequest'
|
|
subscribe:
|
|
summary: GetUserDetails (response)
|
|
description: Returns full details about a specified user (including the last post the user wrote)
|
|
operationId: getUserDetailsResponseMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/getUserDetailsResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
SaveUserSettings:
|
|
publish:
|
|
summary: SaveUserSettings (request)
|
|
description: |-
|
|
Set profile for an existing user.
|
|
|
|
If you want to set a new password, you *must* provide **old_password**.
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`PUT /user/save_user_settings`
|
|
operationId: saverUserSettingsRequestMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
$ref: '#/components/messages/saveUserSettingsRequest'
|
|
subscribe:
|
|
summary: SaveUserSettings (response)
|
|
description: Get details about a specified user
|
|
operationId: saveUserSettingsResponseMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/saveUserSettingsResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
GetReplies:
|
|
publish:
|
|
summary: GetReplies (request)
|
|
description: |-
|
|
See all notifications and comments on all a user's posts
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`GET /user/replies`
|
|
operationId: getUserRepliesRequestMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
$ref: '#/components/messages/getUserRepliesRequest'
|
|
subscribe:
|
|
summary: GetReplies (response)
|
|
description: Returns detailed reply data
|
|
operationId: getRepliesResponseMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/repliesResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
GetUserMentions:
|
|
publish:
|
|
summary: GetUserMentions (request)
|
|
description: |-
|
|
Return any @ mentions of the user in posts and comments
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`GET /user/mention`
|
|
operationId: getUserMentionsRequestMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
$ref: '#/components/messages/getUserMentionsRequest'
|
|
subscribe:
|
|
summary: GetUserMentions (response)
|
|
description: Returns detailed data about mentions
|
|
operationId: getMentionsResponseMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/mentionsResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
MarkUserMentionAsRead:
|
|
publish:
|
|
summary: MarkUserMentionAsRead (request)
|
|
description: |-
|
|
Mark a specified mention as read. Only the recipient of a mention can do this.
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`POST /user/mention/mark_as_read`
|
|
operationId: markMentionsRequestMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
$ref: '#/components/messages/markMentionsRequest'
|
|
subscribe:
|
|
summary: MarkUserMentionAsRead (response)
|
|
description: Returns detailed data about the mention
|
|
operationId: markMentionResponseMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/markMentionResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
GetPrivateMessages:
|
|
publish:
|
|
summary: GetPrivateMessages (request)
|
|
description: |-
|
|
Request a list of messages sent to the user.
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`GET /private_message/list`
|
|
operationId: getPrivateMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
$ref: '#/components/messages/privateMessageRequest'
|
|
subscribe:
|
|
summary: GetPrivateMessages (response)
|
|
description: Returns list of messages
|
|
operationId: getMessagesResponseMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/privateMessagesResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
CreatePrivateMessage:
|
|
publish:
|
|
summary: CreatePrivateMessage (request)
|
|
description: |-
|
|
Send a private message to another user.
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`POST /private_message`
|
|
operationId: createPrivateMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
$ref: '#/components/messages/createPrivateMessageRequest'
|
|
subscribe:
|
|
summary: CreatePrivateMessage (response)
|
|
description: Confirm sending of a private message
|
|
operationId: createPrivateMessageResponse
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/createPrivateMessageResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
EditPrivateMessage:
|
|
publish:
|
|
summary: EditPrivateMessage (request)
|
|
description: |-
|
|
Replace an existing private message with the provided content.
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`PUT /private_message`
|
|
operationId: editPrivateMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
$ref: '#/components/messages/editPrivateMessageRequest'
|
|
subscribe:
|
|
summary: EditPrivateMessage (response)
|
|
description: Confirm replacement of a private message
|
|
operationId: editPrivateMessageResponse
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/editPrivateMessageResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
DeletePrivateMessage:
|
|
publish:
|
|
summary: DeletePrivateMessage (request)
|
|
description: |-
|
|
Delete a specified private message.
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`POST /private_message/delete`
|
|
operationId: deletePrivateMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
$ref: '#/components/messages/deletePrivateMessageRequest'
|
|
subscribe:
|
|
summary: DeletePrivateMessage (response)
|
|
description: Confirm deletion of a private message
|
|
operationId: deletePrivateMessageResponse
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/deletePrivateMessageResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
MarkPrivateMessageAsRead:
|
|
publish:
|
|
summary: MarkPrivateMessageAsRead (request)
|
|
description: |-
|
|
Mark a specified private message as read. Only the recipient of a message can do this.
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`POST /private_message/mark_as_read`
|
|
operationId: markPrivateMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
$ref: '#/components/messages/markPrivateMessageRequest'
|
|
subscribe:
|
|
summary: MarkPrivateMessageAsRead (response)
|
|
description: 'Confirm that a private message has been marked as *read*'
|
|
operationId: markPrivateMessageResponse
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/markPrivateMessageResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
MarkAllAsRead:
|
|
publish:
|
|
summary: MarkAllAsRead (request)
|
|
description: |-
|
|
Marks all user replies and mentions as read.
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`POST /user/mark_all_as_read`
|
|
operationId: markAllReadMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
$ref: '#/components/messages/markAllReadRequest'
|
|
subscribe:
|
|
summary: MarkAllAsRead (response)
|
|
description: 'Confirm that all replies and mentions have been marked as *read*'
|
|
operationId: markAllReadResponse
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/markAllReadResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
DeleteAccount:
|
|
publish:
|
|
summary: DeleteAccount (request)
|
|
description: |-
|
|
Deletes user account and permanently deletes that user's posts and comments.
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`POST /user/delete_account`
|
|
operationId: deleteAccountRequestMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
$ref: '#/components/messages/deleteAccountRequest'
|
|
subscribe:
|
|
summary: DeleteAccount (response)
|
|
description: Confirm that the account has been deleted
|
|
operationId: deleteAccountResponseMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/deleteAccountResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
AddAdmin:
|
|
publish:
|
|
summary: AddAdmin (request)
|
|
description: |-
|
|
Grant admin rights to the specified user.
|
|
|
|
Only admin users can do this - `auth` must be the authentication string for an existing admin user.
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`POST /admin/add`
|
|
operationId: addAdminRequestMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
$ref: '#/components/messages/addAdminRequest'
|
|
subscribe:
|
|
summary: AddAdmin (response)
|
|
description: Confirm that the user has been given admin privileges
|
|
operationId: addAdminResponseMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/addAdminResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
BanUser:
|
|
publish:
|
|
summary: BanUser (request)
|
|
description: |-
|
|
Ban user from posting, commenting or adding communities. Optionally, remove all comments, posts and communities at the same time.
|
|
|
|
Only admin users can do this - `auth` must be the authentication string for an existing admin user.
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`POST /user/ban`
|
|
operationId: banUserRequestMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
$ref: '#/components/messages/banUserRequest'
|
|
subscribe:
|
|
summary: BanUser (response)
|
|
description: Confirm that the user has been banned
|
|
operationId: banUserResponseMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/banUserResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
UserJoin:
|
|
publish:
|
|
summary: UserJoin (request)
|
|
description: |-
|
|
Forthcoming...
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`POST /user/join`
|
|
operationId: userJoinRequestMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
$ref: '#/components/messages/userJoinRequest'
|
|
subscribe:
|
|
summary: UserJoin (response)
|
|
description: Forthcoming...
|
|
operationId: userJoinResponseMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/userJoinResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
GetReportCount:
|
|
publish:
|
|
summary: GetReportCount (request)
|
|
description: |-
|
|
- If `community` is specified, returns the *report count* (number of posts and comments) for that community
|
|
- If it is not specified, returns the report count for all communities the user moderates.
|
|
|
|
User must either be a moderator of a community or an admin user.
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`GET /user/report_count`
|
|
operationId: getReportCountRequestMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
$ref: '#/components/messages/getReportCountRequest'
|
|
subscribe:
|
|
summary: GetReportCount (response)
|
|
description: |-
|
|
Report on the number of posts and comments in one or all of the user's communities
|
|
operationId: getReportCountResponseMessage
|
|
tags:
|
|
- name: User, authentication and admin
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/getReportCountResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
ListCategories:
|
|
publish:
|
|
summary: ListCategories (request)
|
|
description: |-
|
|
List all community categories.
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`GET /categories`
|
|
operationId: getCategoriesMessage
|
|
tags:
|
|
- name: Site
|
|
message:
|
|
$ref: '#/components/messages/getCategoriesRequest'
|
|
subscribe:
|
|
summary: ListCategories (response)
|
|
description: List all options for community categories
|
|
operationId: getCategoriesResponseMessage
|
|
tags:
|
|
- name: Site
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/getCategoriesResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
Search:
|
|
publish:
|
|
summary: Search (request)
|
|
description: |-
|
|
Find comments, posts, communities users and links.
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`GET /search`
|
|
operationId: searchMessage
|
|
tags:
|
|
- name: Site
|
|
message:
|
|
$ref: '#/components/messages/searchRequest'
|
|
subscribe:
|
|
summary: Search (response)
|
|
description: Search results
|
|
operationId: searchResponseMessage
|
|
tags:
|
|
- name: Site
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/searchResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
GetModLog:
|
|
publish:
|
|
summary: GetModLog (request)
|
|
description: |-
|
|
Forthcoming...
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`GET /modlog`
|
|
operationId: getmodLogRequestMessage
|
|
tags:
|
|
- name: Site
|
|
message:
|
|
$ref: '#/components/messages/getModLogRequest'
|
|
# Could not get GetModLog response from server, hence no 'subscribe' option documented
|
|
CreateSite:
|
|
publish:
|
|
summary: CreateSite (request)
|
|
description: |-
|
|
Creates a site on a 'virgin' server (that is one that does't have Lemmy installed on it already)
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`POST /site`
|
|
operationId: createSiteRequestMessage
|
|
tags:
|
|
- name: Site
|
|
message:
|
|
$ref: '#/components/messages/createSiteRequest'
|
|
# Not sure how to set up virgin server to test CreateSite, hence no 'subscribe' option documented
|
|
EditSite:
|
|
publish:
|
|
summary: EditSite (Request)
|
|
description: |-
|
|
Change the name and, optionally other details of the Lemmy site.
|
|
|
|
Only admin users can do this - `auth` must be the authentication string for an existing admin user.
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`PUT /site`
|
|
operationId: editSiteRequestMessage
|
|
tags:
|
|
- name: Site
|
|
message:
|
|
$ref: '#/components/messages/editSiteRequest'
|
|
subscribe:
|
|
summary: EditSite (response)
|
|
description: Returns confirmation of site edit
|
|
operationId: editSiteResponseMessage
|
|
tags:
|
|
- name: Site
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/editSiteResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
GetSite:
|
|
publish:
|
|
summary: GetSite (request)
|
|
description: |-
|
|
Get the basic details of the Lemmy site, assoicated with the authentication string `auth`
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`GET /site`
|
|
operationId: getSiteRequestMessage
|
|
tags:
|
|
- name: Site
|
|
message:
|
|
$ref: '#/components/messages/getSiteRequest'
|
|
subscribe:
|
|
summary: GetSite (response)
|
|
description: Return full details about the site
|
|
operationId: getSiteResponseMessage
|
|
tags:
|
|
- name: Site
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/getSiteResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
TransferSite:
|
|
publish:
|
|
summary: TransferSite (request)
|
|
description: |-
|
|
Transfer ownership of the site from one admin user (`auth`) to another (`user_id`)
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`POST /site/transfer`
|
|
operationId: transferSiteRequestMessage
|
|
tags:
|
|
- name: Site
|
|
message:
|
|
$ref: '#/components/messages/transferSiteRequest'
|
|
subscribe:
|
|
summary: TransferSite (response)
|
|
description: Return full details about the site
|
|
operationId: transferSiteResponseMessage
|
|
tags:
|
|
- name: Site
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/transferSiteResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
GetSiteConfig:
|
|
publish:
|
|
summary: GetSiteConfig (request)
|
|
description: |-
|
|
Request the configuration data file for a Lemmy server
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`GET /site/config`
|
|
operationId: getSiteConfigRequestMessage
|
|
tags:
|
|
- name: Site
|
|
message:
|
|
$ref: '#/components/messages/getSiteConfigRequest'
|
|
subscribe:
|
|
summary: GetSiteConfig (response)
|
|
description: Return the configuration data for a Lemmy server
|
|
operationId: getSiteConfigResponseMessage
|
|
tags:
|
|
- name: Site
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/getSiteConfigResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
SaveSiteConfig:
|
|
publish:
|
|
summary: SaveSiteConfig (request)
|
|
description: |-
|
|
Request to send configuration data to a Lemmy server
|
|
|
|
#### HTTP API - operation and endpoint.
|
|
|
|
`PUT /site/config`
|
|
operationId: saveSiteConfigRequestMessage
|
|
tags:
|
|
- name: Site
|
|
message:
|
|
$ref: '#/components/messages/saveSiteConfigRequest'
|
|
subscribe:
|
|
summary: SaveSiteConfig (response)
|
|
description: Return the configuration data file for a Lemmy server
|
|
operationId: saveSiteConfigResponseMessage
|
|
tags:
|
|
- name: Site
|
|
message:
|
|
oneOf:
|
|
- $ref: '#/components/messages/saveSiteConfigResponse'
|
|
- $ref: '#/components/messages/errorResponse'
|
|
# SaveSiteConfig response not verified. Did not get response from server
|
|
components:
|
|
messages:
|
|
errorResponse:
|
|
name: Error response
|
|
payload:
|
|
type: object
|
|
properties:
|
|
error:
|
|
description: 'The error message'
|
|
type: string
|
|
example: 'passwords_dont_match'
|
|
loginRequest:
|
|
name: Login request
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^Login$'
|
|
default: 'Login'
|
|
data:
|
|
type: object
|
|
properties:
|
|
username_or_email:
|
|
type: string
|
|
description: '**(Required)** Username or registered email'
|
|
example: 'lemmy'
|
|
password:
|
|
$ref: '#/components/schemas/passwordRequired'
|
|
loginResponse:
|
|
name: Login response
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^Login$'
|
|
default: 'Login'
|
|
data:
|
|
$ref: '#/components/schemas/authSchema'
|
|
getUserRepliesRequest:
|
|
name: User replies request
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^GetReplies$'
|
|
default: 'GetReplies'
|
|
data:
|
|
$ref: '#/components/schemas/repliesMentionsRequest'
|
|
getUserMentionsRequest:
|
|
name: User mentions request
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^GetUserMentions$'
|
|
default: 'GetUserMentions'
|
|
data:
|
|
$ref: '#/components/schemas/repliesMentionsRequest'
|
|
getCaptchaRequest:
|
|
name: Captcha request
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^GetCaptcha$'
|
|
default: 'GetCaptcha'
|
|
data:
|
|
type: object
|
|
getCaptchaResponse:
|
|
name: Return Captcha request details
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^GetCaptcha$'
|
|
default: 'GetCaptcha'
|
|
data:
|
|
type: object
|
|
properties:
|
|
ok:
|
|
type: object
|
|
description: 'Will be *undefined* if Captcha is disabled on the Lemmy server'
|
|
properties:
|
|
png:
|
|
type: string
|
|
description: 'A [Base64 encoded](https://www.base64encode.org/) representation of the Captcha image (in .PNG format)'
|
|
wav:
|
|
type: string
|
|
description: 'A [Base64 encoded](https://www.base64encode.org/) representation of the Captcha audio (in .WAV format)'
|
|
uuid:
|
|
type: string
|
|
description: The unique id of the Catpcha request
|
|
example: '77cfa414-999e-4445-9940-cebe86139d14'
|
|
registerRequest:
|
|
name: Register a user on the Lemmy server
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^Register$'
|
|
default: 'Register'
|
|
data:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
description: '**(Required)** The username for the new user'
|
|
example: 'testuser'
|
|
password:
|
|
$ref: '#/components/schemas/passwordRequired'
|
|
password_verify:
|
|
$ref: '#/components/schemas/passwordRequired'
|
|
admin:
|
|
type: boolean
|
|
description: 'Set to *true* if this is to be the admin user. Only the user who was *first* registered on the Lemmy server is allowed to be admin.'
|
|
example: false
|
|
default: false
|
|
show_nsfw:
|
|
$ref: '#/components/schemas/show_nsfw'
|
|
captcha_uuid:
|
|
type: string
|
|
description: 'The unique id of the Catpcha request (as reported by **GetCaptcha**)'
|
|
example: '77cfa414-999e-4445-9940-cebe86139d14'
|
|
captcha_answer:
|
|
type: string
|
|
description: 'The *answer* to the Captcha test'
|
|
example: 'EjhBi7'
|
|
registerResponse:
|
|
name: Registration request response
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^Register$'
|
|
default: 'Register'
|
|
data:
|
|
$ref: '#/components/schemas/authSchema'
|
|
saveUserSettingsRequest:
|
|
name: Save user settings - response
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^SaveUserSettings$'
|
|
default: 'SaveUserSettings'
|
|
data:
|
|
type: object
|
|
properties:
|
|
show_nsfw:
|
|
$ref: '#/components/schemas/show_nsfw'
|
|
theme:
|
|
$ref: '#/components/schemas/theme'
|
|
default_sort_type:
|
|
$ref: '#/components/schemas/default_sort_type'
|
|
default_listing_type:
|
|
$ref: '#/components/schemas/default_listing_type'
|
|
lang:
|
|
$ref: '#/components/schemas/lang'
|
|
avatar:
|
|
$ref: '#/components/schemas/avatar'
|
|
banner:
|
|
$ref: '#/components/schemas/banner'
|
|
preferred_username:
|
|
$ref: '#/components/schemas/preferred_username'
|
|
email:
|
|
$ref: '#/components/schemas/email'
|
|
bio:
|
|
$ref: '#/components/schemas/bio'
|
|
matrix_user_id:
|
|
$ref: '#/components/schemas/matrix_user_id'
|
|
new_password:
|
|
$ref: '#/components/schemas/passwordOptional'
|
|
new_password_verify:
|
|
$ref: '#/components/schemas/passwordOptional'
|
|
old_password:
|
|
$ref: '#/components/schemas/passwordOptional'
|
|
show_avatars:
|
|
$ref: '#/components/schemas/show_avatars'
|
|
send_notifications_to_email:
|
|
$ref: '#/components/schemas/send_notifications_to_email'
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
getUserDetailsRequest:
|
|
name: Return requested user details
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^GetUserDetails$'
|
|
default: 'GetUserDetails'
|
|
data:
|
|
type: object
|
|
properties:
|
|
sort:
|
|
$ref: '#/components/schemas/sort'
|
|
page:
|
|
$ref: '#/components/schemas/page'
|
|
limit:
|
|
$ref: '#/components/schemas/limit'
|
|
community_id:
|
|
$ref: '#/components/schemas/community_id'
|
|
saved_only:
|
|
type: boolean
|
|
description: Forthcoming...
|
|
default: false
|
|
example: false
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
saveUserSettingsResponse:
|
|
name: Response to saving user settings (profile)
|
|
payload:
|
|
type: object
|
|
properties:
|
|
jwt:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
op:
|
|
type: string
|
|
pattern: '^SaveUserSettings$'
|
|
default: 'SaveUserSettings'
|
|
getUserDetailsResponse:
|
|
name: Registration request response
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^GetUserDetails$'
|
|
default: 'GetUserDetails'
|
|
data:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
data:
|
|
type: object
|
|
properties:
|
|
posts:
|
|
$ref: '#/components/schemas/replies'
|
|
comments:
|
|
$ref: '#/components/schemas/comments'
|
|
moderates:
|
|
description: The list of moderators for each community
|
|
type: array
|
|
items:
|
|
properties:
|
|
moderator:
|
|
$ref: '#/components/schemas/user'
|
|
community:
|
|
$ref: '#/components/schemas/community'
|
|
follows:
|
|
description: The list of followers (members) for each community
|
|
type: array
|
|
items:
|
|
properties:
|
|
follower:
|
|
$ref: '#/components/schemas/user'
|
|
community:
|
|
$ref: '#/components/schemas/community'
|
|
repliesResponse:
|
|
name: Returning user replies response
|
|
payload:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: object
|
|
properties:
|
|
replies:
|
|
$ref: '#/components/schemas/replies'
|
|
op:
|
|
type: string
|
|
pattern: '^GetReplies$'
|
|
default: 'GetReplies'
|
|
mentionsResponse:
|
|
name: Returning user mentions response
|
|
payload:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: object
|
|
properties:
|
|
mentions:
|
|
description: A list of all user mentions
|
|
type: array
|
|
items:
|
|
properties:
|
|
UserMentionView:
|
|
$ref: '#/components/schemas/mentions'
|
|
op:
|
|
type: string
|
|
pattern: '^GetUserMentions$'
|
|
default: 'GetUserMentions'
|
|
markMentionsRequest:
|
|
name: Request to make a user mention as read
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^MarkUserMentionAsRead$'
|
|
default: 'MarkUserMentionAsRead'
|
|
data:
|
|
type: object
|
|
properties:
|
|
user_mention_id:
|
|
description: 'The id of the recipient'
|
|
type: integer
|
|
format: int32
|
|
read:
|
|
description: 'Forthcoming...'
|
|
type: boolean
|
|
example: false
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
markMentionResponse:
|
|
name: Returning response for marked mention
|
|
payload:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: object
|
|
properties:
|
|
mention:
|
|
$ref: '#/components/schemas/mentions'
|
|
op:
|
|
type: string
|
|
pattern: '^MarkUserMentionAsRead$'
|
|
default: 'MarkUserMentionAsRead'
|
|
privateMessageRequest:
|
|
name: Request to list all a user's private messages
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^GetPrivateMessages$'
|
|
default: 'GetPrivateMessages'
|
|
data:
|
|
type: object
|
|
properties:
|
|
unread_only:
|
|
$ref: '#/components/schemas/unread_only'
|
|
page:
|
|
$ref: '#/components/schemas/page'
|
|
limit:
|
|
$ref: '#/components/schemas/limit'
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
privateMessagesResponse:
|
|
name: List of all a user's private messages
|
|
payload:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: object
|
|
properties:
|
|
private_messages:
|
|
type: array
|
|
uniqueItems: true
|
|
items:
|
|
$ref: '#/components/schemas/private_message_view'
|
|
op:
|
|
type: string
|
|
pattern: '^GetPrivateMessages$'
|
|
default: 'GetPrivateMessages'
|
|
createPrivateMessageRequest:
|
|
name: |-
|
|
Request to create a private message
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^CreatePrivateMessage$'
|
|
default: 'CreatePrivateMessage'
|
|
data:
|
|
type: object
|
|
properties:
|
|
content:
|
|
$ref: '#/components/schemas/content'
|
|
recipient_id:
|
|
$ref: '#/components/schemas/recipient'
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
createPrivateMessageResponse:
|
|
name: |-
|
|
Confirmation of the sent private message
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^CreatePrivateMessage$'
|
|
default: 'CreatePrivateMessage'
|
|
data:
|
|
type: object
|
|
properties:
|
|
private_message_view:
|
|
$ref: '#/components/schemas/private_message_view'
|
|
editPrivateMessageRequest:
|
|
name: Request to edit a private message
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^EditPrivateMessage$'
|
|
default: 'EditPrivateMessage'
|
|
data:
|
|
type: object
|
|
properties:
|
|
private_message_id:
|
|
$ref: '#/components/schemas/private_message_id'
|
|
content:
|
|
$ref: '#/components/schemas/content'
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
editPrivateMessageResponse:
|
|
name: Confirmation of the edited private message
|
|
payload:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: object
|
|
properties:
|
|
private_message_view:
|
|
$ref: '#/components/schemas/private_message_view'
|
|
op:
|
|
type: string
|
|
pattern: '^EditPrivateMessage$'
|
|
default: 'EditPrivateMessage'
|
|
deletePrivateMessageRequest:
|
|
name: Request to delete a private message
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^DeletePrivateMessage$'
|
|
default: 'DeletePrivateMessage'
|
|
data:
|
|
type: object
|
|
properties:
|
|
private_message_id:
|
|
$ref: '#/components/schemas/private_message_id'
|
|
deleted:
|
|
$ref: '#/components/schemas/deleted'
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
deletePrivateMessageResponse:
|
|
name: Confirmation of the deleted private message
|
|
payload:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: object
|
|
properties:
|
|
private_message_view:
|
|
$ref: '#/components/schemas/private_message_view'
|
|
op:
|
|
type: string
|
|
pattern: '^DeletePrivateMessage$'
|
|
default: 'DeletePrivateMessage'
|
|
markPrivateMessageRequest:
|
|
name: Request to mark a private message as read
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^MarkPrivateMessageAsRead$'
|
|
default: 'MarkPrivateMessageAsRead'
|
|
data:
|
|
type: object
|
|
properties:
|
|
private_message_id:
|
|
$ref: '#/components/schemas/private_message_id'
|
|
read:
|
|
$ref: '#/components/schemas/read'
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
markPrivateMessageResponse:
|
|
name: 'Confirmation that the private message has been marked as *read*'
|
|
payload:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: object
|
|
properties:
|
|
private_message_view:
|
|
$ref: '#/components/schemas/private_message_view'
|
|
op:
|
|
type: string
|
|
pattern: '^MarkPrivateMessageAsRead$'
|
|
default: 'MarkPrivateMessageAsRead'
|
|
markAllReadRequest:
|
|
name: Request to mark all user replies and mentions as read
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^MarkAllAsRead$'
|
|
default: 'MarkAllAsRead'
|
|
data:
|
|
type: object
|
|
properties:
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
markAllReadResponse:
|
|
name: 'Confirmation that all replies and mentions have been marked as *read*'
|
|
payload:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: object
|
|
properties:
|
|
replies:
|
|
$ref: '#/components/schemas/replies'
|
|
op:
|
|
type: string
|
|
pattern: '^MarkAllAsRead$'
|
|
default: 'MarkAllAsRead'
|
|
deleteAccountRequest:
|
|
name: Request to delete a user account
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^DeleteAccount$'
|
|
default: 'DeleteAccount'
|
|
data:
|
|
type: object
|
|
properties:
|
|
password:
|
|
$ref: '#/components/schemas/passwordRequired'
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
deleteAccountResponse:
|
|
name: Confirmation that the account has been deleted
|
|
payload:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: object
|
|
properties:
|
|
jwt:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
op:
|
|
type: string
|
|
pattern: '^DeleteAccount$'
|
|
default: 'DeleteAccount'
|
|
addAdminRequest:
|
|
name: Request to grant admin privileges to a user
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^AddAdmin$'
|
|
default: 'AddAdmin'
|
|
data:
|
|
type: object
|
|
properties:
|
|
user_id:
|
|
$ref: '#/components/schemas/user_id'
|
|
added:
|
|
description: Forthcoming...
|
|
type: boolean
|
|
example: true
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
addAdminResponse:
|
|
name: Confirmation that the user has been given admin privileges
|
|
payload:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: object
|
|
properties:
|
|
admins:
|
|
$ref: '#/components/schemas/user'
|
|
op:
|
|
type: string
|
|
pattern: '^AddAdmin$'
|
|
default: 'AddAdmin'
|
|
banUserRequest:
|
|
name: Request to ban a user
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^BanUser$'
|
|
default: 'BanUser'
|
|
data:
|
|
type: object
|
|
properties:
|
|
user_id:
|
|
$ref: '#/components/schemas/user_id'
|
|
ban:
|
|
description: |-
|
|
- If set to *true*, ban the user
|
|
- If set to *false*, do not ban them (use in combination with `remove_data` to restore comments, posts, and communities that were previously removed with `banUser`)
|
|
type: boolean
|
|
example: true
|
|
remove_data:
|
|
description: |-
|
|
- If set to *true*, also delete their comments, posts, and communities
|
|
- If set *false*, *restore* their comments, posts, and communities
|
|
type: boolean
|
|
example: false
|
|
reason:
|
|
description: Forthcoming...
|
|
type: string
|
|
example: 'Breach of terms and conditions'
|
|
expires:
|
|
description: Forthcoming...
|
|
type: integer
|
|
format: int64
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
banUserResponse:
|
|
name: Confirmation that the user has been banned
|
|
payload:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: object
|
|
properties:
|
|
user:
|
|
$ref: '#/components/schemas/user'
|
|
banned:
|
|
description: Forthcoming...
|
|
type: boolean
|
|
example: true
|
|
op:
|
|
type: string
|
|
pattern: '^BanUser$'
|
|
default: 'BanUser'
|
|
userJoinRequest:
|
|
name: Request to join (something?)
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^UserJoin$'
|
|
default: 'UserJoin'
|
|
data:
|
|
type: object
|
|
properties:
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
userJoinResponse:
|
|
name: Forthcoming...
|
|
payload:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: object
|
|
properties:
|
|
joined:
|
|
description: Forthcoming...
|
|
type: boolean
|
|
example: true
|
|
op:
|
|
type: string
|
|
pattern: '^UserJoin$'
|
|
default: 'UserJoin'
|
|
getReportCountRequest:
|
|
name: Request to return report count numbers
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^GetReportCount$'
|
|
default: 'GetReportCount'
|
|
data:
|
|
type: object
|
|
properties:
|
|
community:
|
|
$ref: '#/components/schemas/community_id'
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
getReportCountResponse:
|
|
name: Report on the number of posts and comments
|
|
payload:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: object
|
|
properties:
|
|
comment_reports:
|
|
description: The number of comments in the community/communities
|
|
type: integer
|
|
format: int64
|
|
example: 123
|
|
community:
|
|
$ref: '#/components/schemas/community_id'
|
|
post_reports:
|
|
description: The number of posts in the community/communities
|
|
type: integer
|
|
format: int64
|
|
example: 23
|
|
op:
|
|
type: string
|
|
pattern: '^GetReportCount$'
|
|
default: 'GetReportCount'
|
|
getCategoriesRequest:
|
|
name: Request to list categories on the Lemmy server
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^ListCategories$'
|
|
default: 'ListCategories'
|
|
data:
|
|
type: object
|
|
getCategoriesResponse:
|
|
name: Returns list of categories on the server
|
|
payload:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: object
|
|
properties:
|
|
categories:
|
|
type: array
|
|
items:
|
|
properties:
|
|
id:
|
|
$ref: '#/components/schemas/category_id'
|
|
name:
|
|
description: The category name
|
|
type: string
|
|
example: 'Politics'
|
|
op:
|
|
type: string
|
|
pattern: '^ListCategories$'
|
|
default: 'ListCategories'
|
|
searchRequest:
|
|
name: Request to find information on the Lemmy server
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^Search$'
|
|
default: 'Search'
|
|
data:
|
|
type: object
|
|
properties:
|
|
q:
|
|
description: The text to search for on the Lemmy server
|
|
type: string
|
|
example: 'lemmy'
|
|
type_:
|
|
$ref: '#/components/schemas/type_'
|
|
community_id:
|
|
$ref: '#/components/schemas/community_id'
|
|
community_name:
|
|
$ref: '#/components/schemas/community_name'
|
|
sort:
|
|
$ref: '#/components/schemas/sort'
|
|
page:
|
|
$ref: '#/components/schemas/page'
|
|
limit:
|
|
$ref: '#/components/schemas/limit'
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
searchResponse:
|
|
name: The search results
|
|
payload:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: object
|
|
properties:
|
|
communities:
|
|
type: array
|
|
items:
|
|
properties:
|
|
community:
|
|
$ref: '#/components/schemas/community'
|
|
posts:
|
|
$ref: '#/components/schemas/replies'
|
|
type_:
|
|
$ref: '#/components/schemas/type_'
|
|
users:
|
|
type: array
|
|
items:
|
|
properties:
|
|
user:
|
|
$ref: '#/components/schemas/user'
|
|
comments:
|
|
$ref: '#/components/schemas/comments'
|
|
op:
|
|
type: string
|
|
pattern: '^Search$'
|
|
default: 'Search'
|
|
getModLogRequest:
|
|
name: Forthcoming...
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^GetModLog$'
|
|
default: 'GetModLog'
|
|
data:
|
|
type: object
|
|
properties:
|
|
mod_user_id:
|
|
$ref: '#/components/schemas/user_id'
|
|
community_id:
|
|
$ref: '#/components/schemas/community_id'
|
|
page:
|
|
$ref: '#/components/schemas/page'
|
|
limit:
|
|
$ref: '#/components/schemas/limit'
|
|
createSiteRequest:
|
|
name: Create Lemmy site on a server
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^CreateSite$'
|
|
default: 'CreateSite'
|
|
data:
|
|
$ref: '#/components/schemas/site_properties'
|
|
editSiteRequest:
|
|
name: Request to edit Lemmy site details
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^EditSite$'
|
|
default: 'EditSite'
|
|
data:
|
|
$ref: '#/components/schemas/site_properties'
|
|
editSiteResponse:
|
|
name: The response after a site edit
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^EditSite$'
|
|
default: 'EditSite'
|
|
data:
|
|
type: object
|
|
properties:
|
|
site_view:
|
|
$ref: '#/components/schemas/site_view'
|
|
getSiteRequest:
|
|
name: Request to return Lemmy site details
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^GetSite$'
|
|
default: 'GetSite'
|
|
data:
|
|
type: object
|
|
properties:
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
getSiteResponse:
|
|
name: Returns Lemmy site details
|
|
payload:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: object
|
|
properties:
|
|
site_view:
|
|
counts:
|
|
$ref: '#/components/schemas/site_counts'
|
|
site:
|
|
$ref: '#/components/schemas/site'
|
|
creator:
|
|
$ref: '#/components/schemas/creator'
|
|
federated_instances:
|
|
$ref: '#/components/schemas/federated_instances'
|
|
my_user:
|
|
$ref: '#/components/schemas/my_user'
|
|
version:
|
|
$ref: '#/components/schemas/version'
|
|
banned:
|
|
$ref: '#/components/schemas/banned_list'
|
|
online:
|
|
$ref: '#/components/schemas/online'
|
|
admins:
|
|
type: array
|
|
uniqueItems: true
|
|
items:
|
|
properties:
|
|
counts:
|
|
type: object
|
|
properties:
|
|
comment_score:
|
|
description: Forthcoming...
|
|
type: number
|
|
example: 8
|
|
user_id:
|
|
description: Forthcoming...
|
|
type: number
|
|
example: 2
|
|
post_score:
|
|
description: Forthcoming...
|
|
type: number
|
|
example: 13
|
|
id:
|
|
description: Forthcoming...
|
|
type: number
|
|
example: 1
|
|
post_count:
|
|
description: Forthcoming...
|
|
type: number
|
|
example: 10
|
|
comment_count:
|
|
description: Forthcoming...
|
|
type: number
|
|
example: 9
|
|
user:
|
|
$ref: '#/components/schemas/creator'
|
|
op:
|
|
type: string
|
|
pattern: '^GetSite$'
|
|
default: 'GetSite'
|
|
transferSiteRequest:
|
|
name: Request to transfer ownership of the site
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^TransferSite$'
|
|
default: 'TransferSite'
|
|
data:
|
|
type: object
|
|
properties:
|
|
user_id:
|
|
$ref: '#/components/schemas/user_id'
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
transferSiteResponse:
|
|
name: Request to transfer ownership of the site
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^TransferSite$'
|
|
default: 'TransferSite'
|
|
data:
|
|
type: object
|
|
properties:
|
|
site_view:
|
|
$ref: '#/components/schemas/site_view'
|
|
admins:
|
|
description: The list of administrators for this site
|
|
type: array
|
|
items:
|
|
properties:
|
|
user:
|
|
$ref: '#/components/schemas/user'
|
|
counts:
|
|
$ref: '#/components/schemas/counts'
|
|
banned:
|
|
$ref: '#/components/schemas/banned_list'
|
|
online:
|
|
$ref: '#/components/schemas/online'
|
|
version:
|
|
$ref: '#/components/schemas/version'
|
|
my_user:
|
|
$ref: '#/components/schemas/my_user'
|
|
federated_instances:
|
|
$ref: '#/components/schemas/federated_instances'
|
|
getSiteConfigRequest:
|
|
name: Request the configuration data for a Lemmy server
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^GetSiteConfig$'
|
|
default: '^GetSiteConfig$'
|
|
data:
|
|
type: object
|
|
properties:
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
getSiteConfigResponse:
|
|
name: Returns the configuration data for a Lemmy server
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^GetSiteConfig$'
|
|
default: '^GetSiteConfig$'
|
|
data:
|
|
type: object
|
|
properties:
|
|
config_hjson:
|
|
$ref: '#/components/schemas/config_hjson'
|
|
saveSiteConfigRequest:
|
|
name: Request to send a configuration data file for a Lemmy server
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^SaveSiteConfig$'
|
|
default: '^SaveSiteConfig$'
|
|
data:
|
|
type: object
|
|
properties:
|
|
config_hjson:
|
|
$ref: '#/components/schemas/config_hjson'
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
saveSiteConfigResponse:
|
|
name: Returns the configuration data for a Lemmy server
|
|
payload:
|
|
type: object
|
|
properties:
|
|
op:
|
|
type: string
|
|
pattern: '^SaveSiteConfig$'
|
|
default: '^SaveSiteConfig$'
|
|
data:
|
|
type: object
|
|
properties:
|
|
config_hjson:
|
|
$ref: '#/components/schemas/config_hjson'
|
|
schemas:
|
|
'actor_id':
|
|
type: string
|
|
description: |-
|
|
URL for the user/community profile/home page, using the format:
|
|
- **User profile** - Site URL/u/username
|
|
- **Community home page** - Site URL/c/commmunity name
|
|
example: 'https:\/\/enterprise.lemmy.ml\/u\/griddle'
|
|
'admin':
|
|
type: boolean
|
|
description: 'Set to *true* if this person is the Lemmy server administrator'
|
|
example: false
|
|
'ap_id':
|
|
type: string
|
|
description: The URL of this post, comment or message
|
|
example: 'https:\/\/enterprise.lemmy.ml\/post\/223'
|
|
'authSchema':
|
|
type: object
|
|
description: 'The authentication string returned by **Login**, **Register** and **Save user settings**.'
|
|
properties:
|
|
jwt:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
'authStringSchema':
|
|
type: string
|
|
description: Authentication string for a user
|
|
example: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NzcsImlzcyI6ImVudGVycHJpc2UubGVtbXkubWwifQ.8UbfUE1v4mfH88s2diX2h6_5bzLHSa_5wIlpOZmHbMQ'
|
|
'avatar':
|
|
type: string
|
|
nullable: true
|
|
description: Forthcoming...
|
|
'banned':
|
|
type: boolean
|
|
description: 'Set to *true* if this account (username) has been banned from posting on the Lemmy server'
|
|
example: false
|
|
'banned_list':
|
|
description: Forthcoming...
|
|
type: array
|
|
'banner':
|
|
type: string
|
|
nullable: true
|
|
description: Forthcoming...
|
|
'bio':
|
|
type: string
|
|
nullable: true
|
|
description: 'A self-written description of the user'
|
|
example: 'I am a watercolour artist. I am happy to share the paintings I am working on, give and receive critiques, and post resources such as tutorials.'
|
|
'category_id':
|
|
type: number
|
|
minimum: 1
|
|
description: |-
|
|
Matches the dropdown list in a community's *Category* setting. 1 = the topmost element, 2 = the second element, and so on.
|
|
example: 15
|
|
'comment':
|
|
type: object
|
|
properties:
|
|
creator_id:
|
|
$ref: '#/components/schemas/creator_id'
|
|
content:
|
|
$ref: '#/components/schemas/content'
|
|
id:
|
|
description: Forthcoming...
|
|
type: number
|
|
example: 312
|
|
read:
|
|
description: Is *true* if the author of the original post has read the comment
|
|
type: boolean
|
|
example: true
|
|
parent_id:
|
|
description: Forthcoming...
|
|
type: number
|
|
nullable: true
|
|
removed:
|
|
$ref: '#/components/schemas/removed'
|
|
post_id:
|
|
description: Forthcoming...
|
|
type: number
|
|
example: 208
|
|
local:
|
|
$ref: '#/components/schemas/local'
|
|
updated:
|
|
description: Forthcoming...
|
|
type: string
|
|
nullable: true
|
|
ap_id:
|
|
$ref: '#/components/schemas/ap_id'
|
|
deleted:
|
|
$ref: '#/components/schemas/deleted'
|
|
published:
|
|
$ref: '#/components/schemas/published'
|
|
'comments':
|
|
type: array
|
|
items:
|
|
properties:
|
|
comment:
|
|
$ref: '#/components/schemas/comment'
|
|
recipient:
|
|
$ref: '#/components/schemas/recipient'
|
|
post:
|
|
$ref: '#/components/schemas/post'
|
|
creator:
|
|
$ref: '#/components/schemas/user'
|
|
creator_banned_from_community:
|
|
$ref: '#/components/schemas/creator_banned_from_community'
|
|
subscribed:
|
|
$ref: '#/components/schemas/subscribed'
|
|
my_vote:
|
|
$ref: '#/components/schemas/subscribed'
|
|
counts:
|
|
$ref: '#/components/schemas/counts'
|
|
saved:
|
|
$ref: '#/components/schemas/saved'
|
|
community:
|
|
$ref: '#/components/schemas/community'
|
|
'community':
|
|
type: object
|
|
properties:
|
|
updated:
|
|
type: string
|
|
description: Forthcoming...
|
|
example: '2020-11-14T13:35:10.270578'
|
|
name:
|
|
$ref: '#/components/schemas/community_name'
|
|
category_id:
|
|
$ref: '#/components/schemas/category_id'
|
|
icon:
|
|
$ref: '#/components/schemas/icon'
|
|
nsfw:
|
|
$ref: '#/components/schemas/nsfw'
|
|
deleted:
|
|
$ref: '#/components/schemas/deleted'
|
|
removed:
|
|
$ref: '#/components/schemas/removed'
|
|
published:
|
|
$ref: '#/components/schemas/published'
|
|
creator_id:
|
|
$ref: '#/components/schemas/creator_id'
|
|
id:
|
|
description: Forthcoming...
|
|
type: number
|
|
example: 239
|
|
description:
|
|
type: string
|
|
description: |-
|
|
The title for the community's **Sidebar** area
|
|
example: 'All about the Rolex/Björn Borg collaboration'
|
|
actor_id:
|
|
$ref: '#/components/schemas/actor_id'
|
|
local:
|
|
$ref: '#/components/schemas/local'
|
|
title:
|
|
type: string
|
|
description: |-
|
|
The title (**Display name**) of this community.
|
|
|
|
If set, this is the name shown instead of, or as well as, *name* in some contexts
|
|
banner:
|
|
$ref: '#/components/schemas/banner'
|
|
'community_id':
|
|
type: integer
|
|
format: int32 # Or int64? It's stated as both in different parts of the API docs
|
|
description: The id number for a community
|
|
'community_name':
|
|
description: The name of a community
|
|
type: string
|
|
Example: 'The Default Community'
|
|
'config_hjson':
|
|
description: The configuration data for a Lemmy server (in JSON format)
|
|
type: string
|
|
example: |-
|
|
{\n # for more info about the config, check out the documentation\n # https://lemmy.ml/docs/administration_configuration.html\n\n setup: {\n # username for the admin user\n admin_username: \"lemmy\"\n # password for the admin user\n admin_password: \"lemmy\"\n # name of the site (can be changed later)\n site_name: \"lemmy-test\"\n }\n\n # the domain name of your instance (eg \"lemmy.ml\")\n hostname: \"localhost\"\n # address where lemmy should listen for incoming requests\n bind: \"0.0.0.0\"\n # port where lemmy should listen for incoming requests\n port: 8536\n # json web token for authorization between server and client\n jwt_secret: \"changeme\"\n # settings related to the postgresql database\n database: {\n # name of the postgres database for lemmy\n database: \"lemmy\"\n # username to connect to postgres\n user: \"lemmy\"\n # password to connect to postgres\n password: \"password\"\n # host where postgres is running\n host: \"postgres\"\n }\n# # optional: email sending configuration\n# email: {\n# # hostname and port of the smtp server\n# smtp_server: \"aspmx.l.google.com\"\n# # login name for smtp server\n# smtp_login: \"lemmmy@glemmy.com\"\n# # password to login to the smtp server\n# smtp_password: \"lemom\"\n# # address to send emails from, eg \"noreply@your-instance.com\"\n# smtp_from_address: \"noreply@lemmy.com\"\n# # whether or not smtp connections should use tls\n# use_tls: true\n# }\n}\n\n"
|
|
'content':
|
|
description: The text of the comment or message
|
|
type: string
|
|
example: '> Communities\n\n\n![](https:\/\/enterprise.lemmy.ml\/pictrs\/image\/KZ7NoyJgxx.jpg)'
|
|
'counts':
|
|
type: object
|
|
properties:
|
|
downvotes:
|
|
$ref: '#/components/schemas/downvotes'
|
|
published:
|
|
$ref: '#/components/schemas/published'
|
|
score:
|
|
$ref: '#/components/schemas/score'
|
|
comment_id:
|
|
type: number
|
|
description: Forthcoming...
|
|
id:
|
|
type: number
|
|
description: Forthcoming...
|
|
upvotes:
|
|
$ref: '#/components/schemas/upvotes'
|
|
'creator':
|
|
type: object
|
|
properties:
|
|
preferred_username:
|
|
$ref: '#/components/schemas/preferred_username'
|
|
banned:
|
|
$ref: '#/components/schemas/banned'
|
|
matrix_user_id:
|
|
$ref: '#/components/schemas/matrix_user_id'
|
|
updated:
|
|
$ref: '#/components/schemas/user_updated'
|
|
id:
|
|
$ref: '#/components/schemas/user_id'
|
|
shared_inbox_url:
|
|
description: Forthcoming...
|
|
type: string
|
|
example: 'https:\/\/enterprise.lemmy.ml\/inbox'
|
|
published:
|
|
description: Forthcoming...
|
|
type: string
|
|
example: '2020-09-14T14:54:53.080949'
|
|
actor_id:
|
|
$ref: '#/components/schemas/actor_id'
|
|
deleted:
|
|
$ref: '#/components/schemas/deleted'
|
|
banner:
|
|
$ref: '#/components/schemas/banner'
|
|
name:
|
|
$ref: '#/components/schemas/user_name'
|
|
avatar:
|
|
$ref: '#/components/schemas/avatar'
|
|
inbox_url:
|
|
description: |-
|
|
The link to the inbox of the site's creator
|
|
type: string
|
|
example: 'https:\/\/enterprise.lemmy.ml\/u\/nutomic\/inbox'
|
|
local:
|
|
$ref: '#/components/schemas/local'
|
|
bio:
|
|
$ref: '#/components/schemas/bio'
|
|
admin:
|
|
$ref: '#/components/schemas/admin'
|
|
'creator_banned_from_community':
|
|
type: boolean
|
|
description: Forthcoming...
|
|
example: false
|
|
'creator_id':
|
|
type: number
|
|
description: The id of the person who created this site, community, post, comment or message
|
|
example: 20
|
|
'default_listing_type':
|
|
type: integer
|
|
format: int16
|
|
minimum: 0
|
|
maximum: 2
|
|
description: |-
|
|
What type of listing to display by default:
|
|
|
|
0. All
|
|
1. Subscribed
|
|
2. Community (Local)
|
|
example: 0
|
|
'default_sort_type':
|
|
type: integer
|
|
format: int16
|
|
minimum: 0
|
|
maximum: 7
|
|
description: |-
|
|
This user's default sort type for listings:
|
|
|
|
0. Active
|
|
1. Hot
|
|
2. New
|
|
3. TopDay
|
|
4. TopWeek
|
|
5. TopMonth
|
|
6. TopYear
|
|
7. TopAll
|
|
example: 1
|
|
'deleted':
|
|
type: boolean
|
|
description: 'Set to *true* if this community, post, comment, message or user account has been deleted'
|
|
example: false
|
|
'downvotes':
|
|
type: number
|
|
description: Forthcoming...
|
|
example: 0
|
|
'email':
|
|
description: |-
|
|
The user's email address
|
|
type: string
|
|
format: email
|
|
example: 'jane.doe@humanity.org'
|
|
'enable_downvotes':
|
|
description: |-
|
|
**(Required)** Set to *true* if downvoting is allowed on this site
|
|
type: boolean
|
|
example: false
|
|
'federated_instances':
|
|
type: object
|
|
properties:
|
|
blocked:
|
|
$ref: '#/components/schemas/instance'
|
|
allowed:
|
|
$ref: '#/components/schemas/instance'
|
|
linked:
|
|
$ref: '#/components/schemas/instance'
|
|
'icon':
|
|
type: string
|
|
nullable: true
|
|
description: Forthcoming...
|
|
'instance':
|
|
type: array
|
|
items:
|
|
properties:
|
|
# 'instance' is a guess at the name for this field
|
|
instance:
|
|
description: Forthcoming...
|
|
type: string
|
|
example: 'ds9.lemmy.ml'
|
|
'lang':
|
|
description: |-
|
|
The language to display Lemmy's interface in
|
|
type: string
|
|
example: 'Browser Default'
|
|
'local':
|
|
type: boolean
|
|
description: |-
|
|
- *true* if this is a local user
|
|
- *false* if this is a federated user
|
|
example: true
|
|
'limit':
|
|
type: integer
|
|
format: int64
|
|
minimum: 1
|
|
description: Forthcoming...
|
|
example: 20
|
|
'matrix_user_id':
|
|
type: string
|
|
nullable: true
|
|
description: 'The [Matrix](https://matrix.org/docs/projects/try-matrix-now/) id of the user'
|
|
'mentions':
|
|
description: 'Description and structure forthcoming...'
|
|
type: object
|
|
'my_user':
|
|
type: object
|
|
properties:
|
|
show_nsfw:
|
|
$ref: '#/components/schemas/show_nsfw'
|
|
preferred_username:
|
|
$ref: '#/components/schemas/preferred_username'
|
|
default_sort_type:
|
|
$ref: '#/components/schemas/default_sort_type'
|
|
banned:
|
|
$ref: '#/components/schemas/banned'
|
|
default_listing_type:
|
|
$ref: '#/components/schemas/default_listing_type'
|
|
updated:
|
|
$ref: '#/components/schemas/user_updated'
|
|
matrix_user_id:
|
|
$ref: '#/components/schemas/matrix_user_id'
|
|
id:
|
|
$ref: '#/components/schemas/user_id'
|
|
show_avatars:
|
|
$ref: '#/components/schemas/show_avatars'
|
|
actor_id:
|
|
$ref: '#/components/schemas/actor_id'
|
|
deleted:
|
|
$ref: '#/components/schemas/deleted'
|
|
published:
|
|
$ref: '#/components/schemas/published'
|
|
banner:
|
|
$ref: '#/components/schemas/banner'
|
|
name:
|
|
$ref: '#/components/schemas/user_name'
|
|
avatar:
|
|
$ref: '#/components/schemas/avatar'
|
|
email:
|
|
$ref: '#/components/schemas/email'
|
|
lang:
|
|
$ref: '#/components/schemas/lang'
|
|
local:
|
|
$ref: '#/components/schemas/local'
|
|
bio:
|
|
$ref: '#/components/schemas/bio'
|
|
last_refreshed_at:
|
|
description: Forthcoming...
|
|
type: string
|
|
example: '2021-01-21T16:19:08.725191'
|
|
send_notifications_to_email:
|
|
$ref: '#/components/schemas/send_notifications_to_email'
|
|
theme:
|
|
$ref: '#/components/schemas/theme'
|
|
admin:
|
|
$ref: '#/components/schemas/admin'
|
|
'my_vote':
|
|
type: number
|
|
description: Forthcoming...
|
|
example: 1
|
|
'nsfw':
|
|
type: boolean
|
|
description: 'Set to *true* if this commmunity, post or comment is deemed [NSFW](https://en.wikipedia.org/wiki/Not_safe_for_work) (hence invisble to users who have the NSFW option selected in their profile'
|
|
example: false
|
|
'online':
|
|
description: Number of registered users who are currently on the system
|
|
type: number
|
|
example: 1
|
|
'open_registration':
|
|
description: |-
|
|
**(Required)** Forthcoming...
|
|
type: boolean
|
|
example: true
|
|
'page':
|
|
type: integer
|
|
format: int64
|
|
minimum: 1
|
|
description: Forthcoming...
|
|
example: 1
|
|
'passwordRequired':
|
|
type: string
|
|
description: '**(Required)** *Exact* password'
|
|
example: 'lemmy'
|
|
'passwordOptional':
|
|
type: string
|
|
description: '*Exact* password'
|
|
example: 'lemmy'
|
|
'post':
|
|
type: object
|
|
properties:
|
|
updated:
|
|
type: string
|
|
description: Forthcoming...
|
|
nullable: true
|
|
community_id:
|
|
$ref: '#/components/schemas/community_id'
|
|
embed_title:
|
|
type: string
|
|
nullable: true
|
|
description: 'If the **url** for an associated post was provided, this will be the *<title>* data from that URL'
|
|
example: 'Covid: Novichok scientist invents vaccine | The Independent'
|
|
nsfw:
|
|
$ref: '#/components/schemas/nsfw'
|
|
deleted:
|
|
$ref: '#/components/schemas/deleted'
|
|
removed:
|
|
$ref: '#/components/schemas/removed'
|
|
locked:
|
|
type: boolean
|
|
description: 'Set to *true* if this post is locked (that is, no comments can be added to it)'
|
|
example: false
|
|
url:
|
|
type: string
|
|
description: The link to the URL associated with the post
|
|
nullable: true
|
|
example: 'https:\/\/www.independent.co.uk\/news\/world\/europe\/covid-vaccine-novichok-russia-navalny-b1792778.html'
|
|
published:
|
|
$ref: '#/components/schemas/published'
|
|
stickied:
|
|
type: boolean
|
|
description: 'Set to *true* if this post has been made *sticky* (that is, it is presented at the top of a list of posts)'
|
|
example: false
|
|
body:
|
|
description: 'The body text of the post'
|
|
type: string
|
|
nullable: true
|
|
embed_html:
|
|
type: string
|
|
nullable: true
|
|
description: Forthcoming...
|
|
creator_id:
|
|
$ref: '#/components/schemas/creator_id'
|
|
thumbnail_url:
|
|
type: string
|
|
nullable: true
|
|
description: Forthcoming...
|
|
id:
|
|
type: number
|
|
description: The post number
|
|
example: 223
|
|
ap_id:
|
|
$ref: '#/components/schemas/ap_id'
|
|
embed_description:
|
|
type: string
|
|
nullable: true
|
|
description: 'If the **url** for an associated post was provided, this will be the *meta name="description"* data from that URL'
|
|
example: 'Scientist Leonid Rink has a murky past and is well-known for selling nerve agents to criminals'
|
|
local:
|
|
$ref: '#/components/schemas/local'
|
|
name:
|
|
type: string
|
|
description: 'The title of the post'
|
|
example: 'Pot. Kettle. Black.'
|
|
'preferred_username':
|
|
type: string
|
|
description: 'If set, this is the name shown instead of, or as well as, *username* in some contexts (also known as **Display name**)'
|
|
example: 'Queen of the Griddle'
|
|
'private_message':
|
|
type: object
|
|
properties:
|
|
read:
|
|
$ref: '#/components/schemas/unread_only'
|
|
creator_id:
|
|
$ref: '#/components/schemas/creator_id'
|
|
id:
|
|
description: Forthcoming...
|
|
type: number
|
|
example: 16
|
|
ap_id:
|
|
$ref: '#/components/schemas/ap_id'
|
|
published:
|
|
$ref: '#/components/schemas/published'
|
|
recipient_id:
|
|
$ref: '#/components/schemas/recipient'
|
|
local:
|
|
$ref: '#/components/schemas/local'
|
|
content:
|
|
$ref: '#/components/schemas/content'
|
|
deleted:
|
|
$ref: '#/components/schemas/deleted'
|
|
updated:
|
|
description: Forthcoming...
|
|
type: string
|
|
nullable: true
|
|
'private_message_id':
|
|
description: The id of the private message
|
|
type: integer
|
|
format: int32
|
|
example: 17
|
|
'private_message_view':
|
|
type: object
|
|
properties:
|
|
private_message:
|
|
$ref: '#/components/schemas/private_message'
|
|
creator:
|
|
$ref: '#/components/schemas/user'
|
|
recipient:
|
|
$ref: '#/components/schemas/user'
|
|
'published':
|
|
type: string
|
|
description: 'The date this site, community, post, comment or message was created (in [ISO8601 format](https://www.w3.org/TR/NOTE-datetime))'
|
|
example: '2021-01-21T16:42:39.897148'
|
|
'read':
|
|
type: boolean
|
|
description: Set to *true* if this post, comment or message has been read
|
|
example: false
|
|
'recipient':
|
|
description: Forthcoming...
|
|
type: number
|
|
example: 77
|
|
'removed':
|
|
type: boolean
|
|
description: Forthcoming...What is the difference between deletion and removal?
|
|
example: false
|
|
'replies':
|
|
type: array
|
|
items:
|
|
properties:
|
|
my_vote:
|
|
$ref: '#/components/schemas/my_vote'
|
|
post:
|
|
$ref: '#/components/schemas/post'
|
|
creator:
|
|
$ref: '#/components/schemas/user'
|
|
creator_banned_from_community:
|
|
$ref: '#/components/schemas/creator_banned_from_community'
|
|
community:
|
|
$ref: '#/components/schemas/community'
|
|
saved:
|
|
$ref: '#/components/schemas/saved'
|
|
counts:
|
|
$ref: '#/components/schemas/counts'
|
|
recipient:
|
|
$ref: '#/components/schemas/recipient'
|
|
comment:
|
|
$ref: '#/components/schemas/comment'
|
|
subscribed:
|
|
$ref: '#/components/schemas/subscribed'
|
|
'repliesMentionsRequest':
|
|
type: object
|
|
properties:
|
|
sort:
|
|
$ref: '#/components/schemas/sort'
|
|
page:
|
|
$ref: '#/components/schemas/page'
|
|
limit:
|
|
$ref: '#/components/schemas/limit'
|
|
unread_only:
|
|
$ref: '#/components/schemas/unread_only'
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
'saved':
|
|
description: Forthcoming...
|
|
type: boolean
|
|
example: false
|
|
'score':
|
|
type: number
|
|
description: Forthcoming...
|
|
example: 1
|
|
'send_notifications_to_email':
|
|
description: 'If set to *true*, the user will receive email notifications for any username mentions, post and comment replies'
|
|
type: boolean
|
|
example: false
|
|
'show_avatars':
|
|
description: |-
|
|
If set to *true*, displays other user's avatar images by their username in listings
|
|
type: boolean
|
|
example: true
|
|
'show_nsfw':
|
|
type: boolean
|
|
description: |-
|
|
**(Required)** Set to *true* if you wish [NSFW](https://en.wikipedia.org/wiki/Not_safe_for_work) content to be viewable by this person/site
|
|
example: false
|
|
default: false
|
|
'site':
|
|
type: object
|
|
properties:
|
|
description:
|
|
$ref: '#/components/schemas/site_description'
|
|
banner:
|
|
$ref: '#/components/schemas/banner'
|
|
enable_downvotes:
|
|
$ref: '#/components/schemas/enable_downvotes'
|
|
published:
|
|
$ref: '#/components/schemas/published'
|
|
enable_nsfw:
|
|
$ref: '#/components/schemas/show_nsfw'
|
|
id:
|
|
type: number
|
|
name:
|
|
$ref: '#/components/schemas/site_name'
|
|
updated:
|
|
description: Forthcoming...
|
|
type: string
|
|
nullable: true
|
|
example: '2020-09-14T14:58:23.598513'
|
|
icon:
|
|
$ref: '#/components/schemas/icon'
|
|
open_registration:
|
|
$ref: '#/components/schemas/open_registration'
|
|
creator_id:
|
|
$ref: '#/components/schemas/creator_id'
|
|
'site_counts':
|
|
type: object
|
|
properties:
|
|
users_active_week:
|
|
description: Forthcoming...
|
|
type: number
|
|
example: 5
|
|
posts:
|
|
description: Total number of posts on the site
|
|
type: number
|
|
example: 115
|
|
comments:
|
|
description: Total number of comments on the site
|
|
type: number
|
|
example: 231
|
|
communities:
|
|
description: Total number of communities on the site
|
|
type: number
|
|
example: 14
|
|
site_id:
|
|
desciption: Forthcoming...
|
|
type: number
|
|
example: 1
|
|
users:
|
|
description: Total number of registered users on the site
|
|
type: number
|
|
example: 51
|
|
id:
|
|
desciption: Forthcoming...
|
|
type: number
|
|
example: 1
|
|
users_active_day:
|
|
desciption: Number of 'active' users in the previous 24 hours
|
|
type: number
|
|
example: 2
|
|
users_active_month:
|
|
desciption: Number of 'active' users in the previous 28 days
|
|
type: number
|
|
example: 10
|
|
users_active_half_year:
|
|
desciption: Number of 'active' users in the previous six months
|
|
type: number
|
|
example: 10
|
|
'site_description':
|
|
description: |-
|
|
A brief overview of the site's purpose
|
|
type: string
|
|
example: 'Federation test instance'
|
|
'site_name':
|
|
description: |-
|
|
**(Required) ** The name of this site
|
|
type: string
|
|
example: 'Enterprise'
|
|
'site_properties':
|
|
type: object
|
|
properties:
|
|
name:
|
|
$ref: '#/components/schemas/site_name'
|
|
enable_downvotes:
|
|
$ref: '#/components/schemas/enable_downvotes'
|
|
open_registration:
|
|
$ref: '#/components/schemas/open_registration'
|
|
enable_nsfw:
|
|
$ref: '#/components/schemas/show_nsfw'
|
|
description:
|
|
$ref: '#/components/schemas/site_description'
|
|
icon:
|
|
$ref: '#/components/schemas/icon'
|
|
banner:
|
|
$ref: '#/components/schemas/banner'
|
|
auth:
|
|
$ref: '#/components/schemas/authStringSchema'
|
|
'site_view':
|
|
type: object
|
|
properties:
|
|
counts:
|
|
$ref: '#/components/schemas/counts'
|
|
site:
|
|
$ref: '#/components/schemas/site'
|
|
creator:
|
|
$ref: '#/components/schemas/creator'
|
|
'sort':
|
|
type: string
|
|
description: |-
|
|
**(Required)**
|
|
|
|
Sort the response from the server according to one of the following criteria:
|
|
- *Active* - the hottest posts/communities, depending on votes, and newest comment publish date
|
|
- *Hot* - the hottest posts/communities, depending on votes and publish date
|
|
- *New* - the newest posts/communities
|
|
- *TopDay* - the most upvoted posts/communities of the current day
|
|
- *TopWeek* - the most upvoted posts/communities of the current week
|
|
- *TopMonth* - the most upvoted posts/communities of the current month
|
|
- *TopYear* - the most upvoted posts/communities of the current year
|
|
- *TopAll* - the most upvoted posts/communities on the server.
|
|
enum:
|
|
- Active
|
|
- Hot
|
|
- New
|
|
- TopDay
|
|
- TopWeek
|
|
- TopMonth
|
|
- TopYear
|
|
- TopAll
|
|
'subscribed':
|
|
type: boolean
|
|
description: Forthcoming...
|
|
example: true
|
|
'theme':
|
|
description: 'The theme style to use'
|
|
type: string
|
|
example: 'darkly'
|
|
enum:
|
|
- Browser Default
|
|
- cyborg
|
|
- darkly
|
|
- i386
|
|
- journal
|
|
- litely
|
|
- litera
|
|
- materia
|
|
- minty
|
|
- sketchy
|
|
- solar
|
|
- united
|
|
- vaporwave
|
|
- vaporwave-dark
|
|
'type_':
|
|
description: What is the scope of the search?
|
|
type: string
|
|
example: 'All'
|
|
enum:
|
|
- All
|
|
- Comments
|
|
- Posts
|
|
- Communities
|
|
- Users
|
|
- Url
|
|
'unread_only':
|
|
description: If *true*, only fetch unread comments or messages
|
|
type: boolean
|
|
example: false
|
|
'upvotes':
|
|
type: number
|
|
description: Forthcoming...
|
|
example: 1
|
|
'user':
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: object
|
|
properties:
|
|
updated:
|
|
$ref: '#/components/schemas/user_updated'
|
|
bio:
|
|
$ref: '#/components/schemas/bio'
|
|
admin:
|
|
$ref: '#/components/schemas/admin'
|
|
preferred_username:
|
|
$ref: '#/components/schemas/preferred_username'
|
|
deleted:
|
|
$ref: '#/components/schemas/deleted'
|
|
banned:
|
|
$ref: '#/components/schemas/banned'
|
|
published:
|
|
$ref: '#/components/schemas/published'
|
|
matrix_user_id:
|
|
$ref: '#/components/schemas/matrix_user_id'
|
|
avatar:
|
|
$ref: '#/components/schemas/avatar'
|
|
id:
|
|
$ref: '#/components/schemas/user_id'
|
|
actor_id:
|
|
$ref: '#/components/schemas/actor_id'
|
|
local:
|
|
$ref: '#/components/schemas/local'
|
|
banner:
|
|
$ref: '#/components/schemas/banner'
|
|
name:
|
|
$ref: '#/components/schemas/user_name'
|
|
'user_id':
|
|
description: |-
|
|
That user's id number
|
|
type: integer
|
|
format: int32
|
|
example: 77
|
|
'user_name':
|
|
type: string
|
|
description: The user's username
|
|
example: 'griddle'
|
|
'user_updated':
|
|
type: string
|
|
description: 'The last time this user profile was updated (in [ISO8601 format](https://www.w3.org/TR/NOTE-datetime))'
|
|
example: '2021-01-21T16:26:16.285610'
|
|
'version':
|
|
description: The version of the software running the Lemmy server
|
|
type: string
|
|
example: '0.9.6' |