2021-02-06 03:49:02 +00:00
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.
2021-02-10 13:35:06 +00:00
### How to use this Websocket API document
2021-02-06 03:49:02 +00:00
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).
2021-02-10 13:35:06 +00:00
### 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)
2021-02-06 03:49:02 +00:00
license :
name : AGPL
url : 'https://www.gnu.org/licenses/agpl-3.0.en.html'
servers :
2021-02-10 13:35:06 +00:00
ds9 :
url : ds9.lemmy.ml/api/v2/ws
protocol : WebSocket
description : DS9 test server
enterprise :
2021-02-06 03:49:02 +00:00
url : enterprise.lemmy.ml/api/v2/ws
2021-02-10 13:35:06 +00:00
protocol : WebSocket
description : Enterprise test server
voyager :
url : voyager.lemmy.ml/api/v2/ws
protocol : WebSocket
description : Voyager test server
2021-02-06 03:49:02 +00:00
local :
url : localhost:1235/api/v2/ws
2021-02-10 13:35:06 +00:00
protocol : WebSocket
2021-02-06 03:49:02 +00:00
description : Local Docker container
externalDocs :
description : Lemmy documentation
url : 'https://lemmy.ml/docs/index.html'
tags :
- name : User, authentication and admin
2021-02-10 13:35:06 +00:00
- name : Site
2021-02-16 10:58:06 +00:00
- name : Community
2021-02-06 03:49:02 +00:00
channels :
Login :
publish :
2021-02-10 13:35:06 +00:00
summary : Login (request)
description : |-
Login with username or registered email.
#### HTTP API - operation and endpoint.
`POST /user/login`
2021-02-06 03:49:02 +00:00
operationId : loginRequestMessage
tags :
- name : User, authentication and admin
message :
$ref : '#/components/messages/loginRequest'
subscribe :
2021-02-10 13:35:06 +00:00
summary : Login (response)
description : 'You will receive an authentication string (`jwt`)'
2021-02-06 03:49:02 +00:00
operationId : loginResponseMessage
tags :
- name : User, authentication and admin
message :
2021-02-10 13:35:06 +00:00
oneOf :
- $ref : '#/components/messages/loginResponse'
- $ref : '#/components/messages/errorResponse'
2021-02-06 03:49:02 +00:00
GetCaptcha :
publish :
2021-02-10 13:35:06 +00:00
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`
2021-02-06 03:49:02 +00:00
operationId : getCaptchaRequestMessage
tags :
- name : User, authentication and admin
message :
$ref : '#/components/messages/getCaptchaRequest'
subscribe :
2021-02-10 13:35:06 +00:00
summary : GetCaptcha (response)
description : Captcha details returned from the server
2021-02-06 03:49:02 +00:00
operationId : getCaptchaResponseMessage
tags :
- name : User, authentication and admin
message :
2021-02-10 13:35:06 +00:00
oneOf :
- $ref : '#/components/messages/getCaptchaResponse'
- $ref : '#/components/messages/errorResponse'
2021-02-06 03:49:02 +00:00
Register :
publish :
2021-02-10 13:35:06 +00:00
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`
2021-02-06 03:49:02 +00:00
operationId : registerRequestMessage
tags :
- name : User, authentication and admin
message :
$ref : '#/components/messages/registerRequest'
subscribe :
2021-02-10 13:35:06 +00:00
summary : Register (response)
description : 'The response to the registration request will be an authentication string (`jwt`) for that user'
2021-02-06 03:49:02 +00:00
operationId : registerResponseMessage
tags :
- name : User, authentication and admin
message :
$ref : '#/components/messages/registerResponse'
GetUserDetails :
publish :
2021-02-10 13:35:06 +00:00
summary : GetUserDetails (request)
2021-02-06 03:49:02 +00:00
description : |-
2021-02-10 13:35:06 +00:00
- 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.
2021-02-06 03:49:02 +00:00
2021-02-10 13:35:06 +00:00
`GET /user`
2021-02-06 03:49:02 +00:00
operationId : getUserDetailsMessage
tags :
- name : User, authentication and admin
message :
$ref : '#/components/messages/getUserDetailsRequest'
subscribe :
2021-02-10 13:35:06 +00:00
summary : GetUserDetails (response)
description : Returns full details about a specified user (including the last post the user wrote)
2021-02-06 03:49:02 +00:00
operationId : getUserDetailsResponseMessage
tags :
- name : User, authentication and admin
message :
2021-02-10 13:35:06 +00:00
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 : |-
2021-02-16 10:58:06 +00:00
Details of the site's *Modlog* : sticky and lockwed posts and so on.
2021-02-10 13:35:06 +00:00
#### HTTP API - operation and endpoint.
`GET /modlog`
operationId : getmodLogRequestMessage
tags :
- name : Site
message :
$ref : '#/components/messages/getModLogRequest'
2021-02-16 10:58:06 +00:00
subscribe :
summary : GetModLog (response)
description : Modlog request results
operationId : getModLogResponseMessage
tags :
- name : Site
message :
oneOf :
- $ref : '#/components/messages/getModLogResponse'
- $ref : '#/components/messages/errorResponse'
2021-02-10 13:35:06 +00:00
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
2021-02-16 10:58:06 +00:00
GetCommunity :
publish :
summary : GetCommunity (request)
description : |-
Request to get details of a specified community
#### HTTP API - operation and endpoint.
`GET /community`
operationId : getCommunityRequestMessage
tags :
- name : Community
message :
$ref : '#/components/messages/getCommunityRequest'
subscribe :
summary : GetCommunity (response)
description : Return the details for a community
operationId : getCommunityResponseMessage
tags :
- name : Community
message :
oneOf :
- $ref : '#/components/messages/getCommunityResponse'
- $ref : '#/components/messages/errorResponse'
CreateCommunity :
publish :
summary : CreateCommunity (request)
description : |-
Request to create a new community
#### HTTP API - operation and endpoint.
`POST /community`
operationId : createCommunityRequestMessage
tags :
- name : Community
message :
$ref : '#/components/messages/createCommunityRequest'
subscribe :
summary : CreateCommunity (response)
description : Return the details for a community
operationId : createCommunityResponseMessage
tags :
- name : Community
message :
oneOf :
- $ref : '#/components/messages/createCommunityResponse'
- $ref : '#/components/messages/errorResponse'
ListCommunities :
publish :
summary : ListCommunities (request)
description : |-
Request to list all communities on the Lemmy server
#### HTTP API - operation and endpoint.
`GET /community/list`
operationId : listCommunityRequestMessage
tags :
- name : Community
message :
$ref : '#/components/messages/listCommunityRequest'
subscribe :
summary : ListCommunities (response)
description : Return the details for all communities
operationId : listCommunityResponseMessage
tags :
- name : Community
message :
oneOf :
- $ref : '#/components/messages/listCommunityResponse'
- $ref : '#/components/messages/errorResponse'
BanFromCommunity :
publish :
summary : BanFromCommunity (request)
description : |-
Request to ban a user (`user_id`) from a specified community.
#### HTTP API - operation and endpoint.
`POST /community/ban_user`
operationId : banFromCommunityRequestMessage
tags :
- name : Community
message :
$ref : '#/components/messages/banFromCommunityRequest'
# Issues with Docker, hence subscribe not documented
AddModToCommunity :
publish :
summary : AddModToCommunity (request)
description : |-
Request to add another moderator (`user_id`) to the specified community (`community_id`).
The account making the request (`auth`) must be either an admin or a moderator of that community.
#### HTTP API - operation and endpoint.
`POST /community/mod`
operationId : addModToCommunityRequestMessage
tags :
- name : Community
message :
$ref : '#/components/messages/addModToCommunityRequest'
# No response from server, hence subscribe not documented
TransferCommunity :
publish :
summary : TransferCommunity (Request)
description : |-
Request to transfer ownership of a community from one person (`auth`) to another (`user_id`).
The account making the request (`auth`) must be an admin user.
#### HTTP API - operation and endpoint.
`POST /community/transfer`
operationId : transferCommunityRequestMessage
tags :
- name : Community
message :
$ref : '#/components/messages/transferCommunityRequest'
# Issues with Docker, hence subscribe not documented
CommunityJoin :
publish :
summary : CommunityJoin (request)
description : |-
Forthcoming...
#### HTTP API - operation and endpoint.
`POST /community/join`
operationId : communityJoinRequestMessage
tags :
- name : Community
message :
$ref : '#/components/messages/communityJoinRequest'
subscribe :
summary : CommunityJoin (response)
description : Forthcoming...
operationId : CommunityJoinResponseMessage
tags :
- name : Community
message :
oneOf :
- $ref : '#/components/messages/communityJoinResponse'
- $ref : '#/components/messages/errorResponse'
ModJoin :
publish :
summary : ModJoin (request)
description : |-
Forthcoming...
#### HTTP API - operation and endpoint.
`POST /community/mod/join`
operationId : modJoinRequestMessage
tags :
- name : Community
message :
$ref : '#/components/messages/modJoinRequest'
subscribe :
summary : ModJoin (response)
description : Forthcoming...
operationId : modJoinResponseMessage
tags :
- name : Community
message :
oneOf :
- $ref : '#/components/messages/modJoinResponse'
- $ref : '#/components/messages/errorResponse'
2021-02-06 03:49:02 +00:00
components :
messages :
2021-02-10 13:35:06 +00:00
errorResponse :
name : Error response
payload :
type : object
properties :
error :
description : 'The error message'
type : string
example : 'passwords_dont_match'
2021-02-06 03:49:02 +00:00
loginRequest :
2021-02-10 13:35:06 +00:00
name : Login request
2021-02-06 03:49:02 +00:00
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 :
2021-02-10 13:35:06 +00:00
$ref : '#/components/schemas/passwordRequired'
2021-02-06 03:49:02 +00:00
loginResponse :
name : Login response
payload :
type : object
properties :
op :
type : string
pattern : '^Login$'
default : 'Login'
data :
$ref : '#/components/schemas/authSchema'
2021-02-10 13:35:06 +00:00
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'
2021-02-06 03:49:02 +00:00
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 :
2021-02-10 13:35:06 +00:00
$ref : '#/components/schemas/passwordRequired'
2021-02-06 03:49:02 +00:00
password_verify :
2021-02-10 13:35:06 +00:00
$ref : '#/components/schemas/passwordRequired'
2021-02-06 03:49:02 +00:00
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 :
2021-02-10 13:35:06 +00:00
$ref : '#/components/schemas/show_nsfw'
2021-02-06 03:49:02 +00:00
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'
2021-02-10 13:35:06 +00:00
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'
2021-02-06 03:49:02 +00:00
getUserDetailsRequest :
name : Return requested user details
payload :
type : object
properties :
op :
type : string
pattern : '^GetUserDetails$'
default : 'GetUserDetails'
2021-02-10 13:35:06 +00:00
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 :
2021-02-06 03:49:02 +00:00
name : Registration request response
payload :
type : object
properties :
op :
type : string
pattern : '^GetUserDetails$'
default : 'GetUserDetails'
data :
type : object
2021-02-16 10:58:06 +00:00
user :
$ref : '#/components/schemas/user_view'
posts :
$ref : '#/components/schemas/replies'
comments :
$ref : '#/components/schemas/comments'
moderates :
description : The list of moderators for each community
type : array
items :
2021-02-06 03:49:02 +00:00
properties :
2021-02-16 10:58:06 +00:00
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'
2021-02-10 13:35:06 +00:00
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
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 :
2021-02-16 10:58:06 +00:00
$ref : '#/components/schemas/added'
2021-02-10 13:35:06 +00:00
auth :
$ref : '#/components/schemas/authStringSchema'
addAdminResponse :
name : Confirmation that the user has been given admin privileges
payload :
type : object
properties :
op :
type : string
pattern : '^AddAdmin$'
default : 'AddAdmin'
2021-02-16 10:58:06 +00:00
data :
type : object
properties :
admins :
$ref : '#/components/schemas/user_view'
2021-02-10 13:35:06 +00:00
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 :
2021-02-16 10:58:06 +00:00
$ref : '#/components/schemas/ban'
2021-02-10 13:35:06 +00:00
remove_data :
2021-02-16 10:58:06 +00:00
$ref : '#/components/schemas/remove_data'
2021-02-10 13:35:06 +00:00
reason :
2021-02-16 10:58:06 +00:00
$ref : '#/components/schemas/reason'
2021-02-10 13:35:06 +00:00
expires :
2021-02-16 10:58:06 +00:00
$ref : '#/components/schemas/expires'
2021-02-10 13:35:06 +00:00
auth :
$ref : '#/components/schemas/authStringSchema'
banUserResponse :
name : Confirmation that the user has been banned
payload :
type : object
properties :
op :
type : string
pattern : '^BanUser$'
default : 'BanUser'
2021-02-16 10:58:06 +00:00
data :
$ref : '#/components/schemas/ban_view'
2021-02-10 13:35:06 +00:00
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 :
2021-02-16 10:58:06 +00:00
$ref : '#/components/schemas/category_name'
2021-02-10 13:35:06 +00:00
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 :
2021-02-16 10:58:06 +00:00
op :
type : string
pattern : '^Search$'
default : 'Search'
2021-02-10 13:35:06 +00:00
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 :
2021-02-16 10:58:06 +00:00
$ref : '#/components/schemas/user_view'
2021-02-10 13:35:06 +00:00
comments :
$ref : '#/components/schemas/comments'
getModLogRequest :
2021-02-16 10:58:06 +00:00
name : Request the site's Modlog
2021-02-10 13:35:06 +00:00
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'
2021-02-16 10:58:06 +00:00
getModLogResponse :
name : Modlog request results
payload :
type : object
properties :
op :
type : string
pattern : '^GetModLog$'
default : 'GetModLog'
data :
type : object
properties :
removed_posts :
type : array
locked_posts :
type : array
items :
properties :
mod_lock_post :
type : object
properties :
id :
description : Forthcoming...
type : number
example : 1
mod_user_id :
$ref : '#/components/schemas/user_id'
post_id :
description : Forthcoming...
type : number
example : 223
locked :
description : Set to *true* if the post is locked
type : boolean
example : true
when_ :
description : 'The date this post was locked (in [ISO8601 format](https://www.w3.org/TR/NOTE-datetime))'
type : string
example : '2021-01-26T14:15:21.922339'
moderator :
$ref : '#/components/schemas/creator'
post :
$ref : '#/components/schemas/post'
community :
$ref : '#/components/schemas/community'
stickied_posts :
type : array
items :
properties :
mod_sticky_post :
type : object
properties :
id :
description : Forthcoming...
type : number
example : 1
mod_user_id :
$ref : '#/components/schemas/user_id'
post_id :
description : Forthcoming...
type : number
example : 223
stickied :
description : |-
Set to *true* if the post is 'sticky'
type : boolean
example : true
when_ :
description : 'The date this post was made sticky (in [ISO8601 format](https://www.w3.org/TR/NOTE-datetime))'
type : string
example : '2021-01-26T14:16:03.899093'
moderator :
$ref : '#/components/schemas/creator'
post :
$ref : '#/components/schemas/post'
community :
$ref : '#/components/schemas/community'
removed_comments :
description : Forthcoming...
type : array
removed_communities :
description : Forthcoming...
type : array
banned_from_community :
description : Forthcoming...
type : array
banned :
description : Forthcoming...
type : array
added_to_community :
description : Forthcoming...
type : array
added :
description : Forthcoming...
type : array
2021-02-10 13:35:06 +00:00
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
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$'
2021-02-16 10:58:06 +00:00
default : 'GetSiteConfig'
2021-02-10 13:35:06 +00:00
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$'
2021-02-16 10:58:06 +00:00
default : 'GetSiteConfig'
2021-02-10 13:35:06 +00:00
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$'
2021-02-16 10:58:06 +00:00
default : 'SaveSiteConfig'
2021-02-10 13:35:06 +00:00
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 :
2021-02-16 10:58:06 +00:00
$ref : '#/components/schemas/config_hjson'
getCommunityRequest :
name : Request to get details of a commmunity
payload :
type : object
properties :
op :
type : string
pattern : '^GetCommunity$'
default : 'GetCommunity'
data :
type : object
properties :
id :
$ref : '#/components/schemas/community_id'
name :
$ref : '#/components/schemas/community_name'
auth :
$ref : '#/components/schemas/authStringSchema'
getCommunityResponse :
name : Returns the details for a community
payload :
type : object
properties :
op :
type : string
pattern : '^GetCommunity$'
default : 'GetCommunity'
data :
type : object
properties :
community_view :
$ref : '#/components/schemas/community_view'
online :
type : number
moderators :
type : array
items :
properties :
moderator :
$ref : '#/components/schemas/creator'
community :
$ref : '#/components/schemas/community'
createCommunityRequest :
name : Request to get details of a commmunity
payload :
type : object
properties :
op :
type : string
pattern : '^CreateCommunity$'
default : 'CreateCommunity'
data :
type : object
properties :
name :
$ref : '#/components/schemas/community_name'
title :
description : Forthcoming...
type : string
description :
description : Forthcoming...
type : string
icon :
$ref : '#/components/schemas/icon'
banner :
$ref : '#/components/schemas/banner'
category_id :
$ref : '#/components/schemas/category_id'
nsfw :
$ref : '#/components/schemas/nsfw'
auth :
$ref : '#/components/schemas/authStringSchema'
createCommunityResponse :
name : Response to the request to create a community
payload :
type : object
properties :
op :
type : string
pattern : '^CreateCommunity$'
default : 'CreateCommunity'
data :
type : object
properties :
community_view :
$ref : '#/components/schemas/community_view'
listCommunityRequest :
name : Request to get list of commmunities on the Lemmy server
payload :
type : object
properties :
op :
type : string
pattern : '^ListCommunities$'
default : 'ListCommunities'
data :
type : object
properties :
type_ :
$ref : '#/components/schemas/type_'
sort :
$ref : '#/components/schemas/sort'
page :
$ref : '#/components/schemas/page'
limit :
$ref : '#/components/schemas/limit'
auth :
$ref : '#/components/schemas/authStringSchema'
listCommunityResponse :
name : Response to the request to create a community
payload :
type : object
properties :
op :
type : string
pattern : '^ListCommunities$'
default : 'ListCommunities'
data :
type : object
properties :
communities :
type : array
$ref : '#/components/schemas/community_view'
banFromCommunityRequest :
name : Request to ban a user from a specified community.
payload :
type : object
properties :
op :
type : string
pattern : '^BanFromCommunity$'
default : 'BanFromCommunity'
data :
type : object
properties :
community_id :
$ref : '#/components/schemas/community_id'
user_id :
$ref : '#/components/schemas/user_id'
ban :
$ref : '#/components/schemas/ban'
remove_data :
$ref : '#/components/schemas/remove_data'
reason :
$ref : '#/components/schemas/reason'
expires :
$ref : '#/components/schemas/expires'
auth :
$ref : '#/components/schemas/authStringSchema'
banFromCommunityResponse :
name : Response to the request to ban a user from a community
payload :
type : object
properties :
op :
type : string
pattern : '^BanFromCommunity$'
default : 'BanFromCommunity'
data :
$ref : '#/components/schemas/ban_view'
addModToCommunityRequest :
name : Request to add a moderator to a community
payload :
type : object
properties :
op :
type : string
pattern : '^AddModToCommunity$'
default : 'AddModToCommunity'
data :
type : object
properties :
community_id :
$ref : '#/components/schemas/community_id'
user_id :
$ref : '#/components/schemas/user_id'
added :
$ref : '#/components/schemas/added'
auth :
$ref : '#/components/schemas/authStringSchema'
transferCommunityRequest :
name : Request to transfer ownership of a community from one person to another
payload :
type : object
properties :
op :
type : string
pattern : '^TransferCommunity$'
default : 'TransferCommunity'
data :
type : object
properties :
community_id :
$ref : '#/components/schemas/community_id'
user_id :
$ref : '#/components/schemas/user_id'
auth :
$ref : '#/components/schemas/authStringSchema'
communityJoinRequest :
name : Forthcoming...
payload :
type : object
properties :
op :
type : string
pattern : '^CommunityJoin$'
default : 'CommunityJoin'
data :
type : object
properties :
community_id :
$ref : '#/components/schemas/community_id'
communityJoinResponse :
name : Forthcoming...
payload :
type : object
properties :
op :
type : string
pattern : '^CommunityJoin$'
default : 'CommunityJoin'
data :
properties :
joined :
$ref : '#/components/schemas/joined'
modJoinRequest :
name : Forthcoming...
payload :
type : object
properties :
op :
type : string
pattern : '^ModJoin$'
default : 'ModJoin'
data :
type : object
properties :
community_id :
$ref : '#/components/schemas/community_id'
modJoinResponse :
name : Forthcoming...
payload :
type : object
properties :
op :
type : string
pattern : '^ModJoin$'
default : 'ModJoin'
data :
properties :
joined :
$ref : '#/components/schemas/joined'
2021-02-06 03:49:02 +00:00
schemas :
'actor_id' :
type : string
description : |-
URL for the user/community profile/home page, using the format :
2021-02-10 13:35:06 +00:00
- **User profile** - Site URL/u/username
- **Community home page** - Site URL/c/commmunity name
2021-02-06 03:49:02 +00:00
example : 'https:\/\/enterprise.lemmy.ml\/u\/griddle'
2021-02-16 10:58:06 +00:00
'added' :
description : Forthcoming...
type : boolean
example : true
2021-02-10 13:35:06 +00:00
'admin' :
type : boolean
description : 'Set to *true* if this person is the Lemmy server administrator'
example : false
2021-02-06 03:49:02 +00:00
'ap_id' :
type : string
2021-02-10 13:35:06 +00:00
description : The URL of this post, comment or message
2021-02-06 03:49:02 +00:00
example : 'https:\/\/enterprise.lemmy.ml\/post\/223'
'authSchema' :
type : object
2021-02-10 13:35:06 +00:00
description : 'The authentication string returned by **Login**, **Register** and **Save user settings**.'
2021-02-06 03:49:02 +00:00
properties :
jwt :
$ref : '#/components/schemas/authStringSchema'
'authStringSchema' :
type : string
2021-02-10 13:35:06 +00:00
description : Authentication string for a user
2021-02-06 03:49:02 +00:00
example : 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NzcsImlzcyI6ImVudGVycHJpc2UubGVtbXkubWwifQ.8UbfUE1v4mfH88s2diX2h6_5bzLHSa_5wIlpOZmHbMQ'
2021-02-10 13:35:06 +00:00
'avatar' :
type : string
nullable : true
description : Forthcoming...
2021-02-16 10:58:06 +00:00
'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 and posts that were previously removed as part of a banning process)
type : boolean
example : true
'ban_view' :
type : object
properties :
user :
$ref : '#/components/schemas/user_view'
banned :
description : Forthcoming...
type : boolean
example : true
2021-02-10 13:35:06 +00:00
'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
2021-02-06 03:49:02 +00:00
'banner' :
type : string
nullable : true
description : Forthcoming...
2021-02-10 13:35:06 +00:00
'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
2021-02-16 10:58:06 +00:00
'category_name' :
description : The category name
type : string
example : 'Politics'
2021-02-10 13:35:06 +00:00
'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'
2021-02-16 10:58:06 +00:00
'comment_count' :
description : Total number of comments on the site or community
type : number
example : 231
2021-02-10 13:35:06 +00:00
'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 :
2021-02-16 10:58:06 +00:00
$ref : '#/components/schemas/my_vote'
2021-02-10 13:35:06 +00:00
counts :
$ref : '#/components/schemas/counts'
saved :
$ref : '#/components/schemas/saved'
community :
$ref : '#/components/schemas/community'
2021-02-06 03:49:02 +00:00
'community' :
type : object
properties :
updated :
type : string
description : Forthcoming...
example : '2020-11-14T13:35:10.270578'
name :
2021-02-10 13:35:06 +00:00
$ref : '#/components/schemas/community_name'
2021-02-06 03:49:02 +00:00
category_id :
2021-02-10 13:35:06 +00:00
$ref : '#/components/schemas/category_id'
2021-02-06 03:49:02 +00:00
icon :
2021-02-10 13:35:06 +00:00
$ref : '#/components/schemas/icon'
2021-02-06 03:49:02 +00:00
nsfw :
$ref : '#/components/schemas/nsfw'
deleted :
$ref : '#/components/schemas/deleted'
removed :
$ref : '#/components/schemas/removed'
published :
2021-02-10 13:35:06 +00:00
$ref : '#/components/schemas/published'
2021-02-06 03:49:02 +00:00
creator_id :
$ref : '#/components/schemas/creator_id'
id :
2021-02-16 10:58:06 +00:00
$ref : '#/components/schemas/community_id'
2021-02-06 03:49:02 +00:00
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
2021-02-10 13:35:06 +00:00
format : int32 # Or int64? It's stated as both in different parts of the API docs
2021-02-16 10:58:06 +00:00
description : 'The id number for a community. The main/frontpage `community_id` is 0'
example : 2
2021-02-10 13:35:06 +00:00
'community_name' :
description : The name of a community
type : string
2021-02-16 10:58:06 +00:00
Example : 'main'
'community_view' :
type : object
properties :
subscribed :
$ref : '#/components/schemas/subscribed'
counts :
type : object
properties :
published :
$ref : '#/components/schemas/published'
community_id :
$ref : '#/components/schemas/community_id'
users_active_day :
$ref : '#/components/schemas/users_active_day'
id :
description : 'Forthcoming...'
type : number
example : 1
users_active_half_year :
$ref : '#/components/schemas/users_active_half_year'
comments :
$ref : '#/components/schemas/comment_count'
users_active_month :
$ref : '#/components/schemas/users_active_month'
subscribers :
description : The total number of community subscribers (members)
type : number
example : 41
posts :
$ref : '#/components/schemas/posts'
users_active_week :
$ref : '#/components/schemas/users_active_week'
community :
$ref : '#/components/schemas/community'
creator :
$ref : '#/components/schemas/creator'
category :
type : object
properties :
name :
$ref : '#/components/schemas/category_name'
id :
$ref : '#/components/schemas/category_id'
2021-02-10 13:35:06 +00:00
'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'
2021-02-06 03:49:02 +00:00
'creator_banned_from_community' :
type : boolean
description : Forthcoming...
example : false
'creator_id' :
type : number
2021-02-10 13:35:06 +00:00
description : The id of the person who created this site, community, post, comment or message
2021-02-06 03:49:02 +00:00
example : 20
2021-02-10 13:35:06 +00:00
'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
2021-02-06 03:49:02 +00:00
'deleted' :
type : boolean
2021-02-10 13:35:06 +00:00
description : 'Set to *true* if this community, post, comment, message or user account has been deleted'
2021-02-06 03:49:02 +00:00
example : false
'downvotes' :
type : number
description : Forthcoming...
example : 0
2021-02-10 13:35:06 +00:00
'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
2021-02-16 10:58:06 +00:00
'expires' :
description : Forthcoming...
type : integer
format : int64
2021-02-10 13:35:06 +00:00
'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'
2021-02-16 10:58:06 +00:00
'joined' :
description : '*true* if join request was successful'
type : boolean
example : true
2021-02-10 13:35:06 +00:00
'lang' :
description : |-
The language to display Lemmy's interface in
type : string
example : 'Browser Default'
2021-02-06 03:49:02 +00:00
'local' :
type : boolean
description : |-
- *true* if this is a local user
- *false* if this is a federated user
example : true
2021-02-10 13:35:06 +00:00
'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'
2021-02-06 03:49:02 +00:00
'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
2021-02-10 13:35:06 +00:00
'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'
2021-02-06 03:49:02 +00:00
'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 :
2021-02-10 13:35:06 +00:00
$ref : '#/components/schemas/published'
2021-02-06 03:49:02 +00:00
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.'
2021-02-16 10:58:06 +00:00
'posts' :
description : Total number of posts on the site or community
type : number
example : 115
2021-02-10 13:35:06 +00:00
'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' :
2021-02-06 03:49:02 +00:00
type : string
2021-02-10 13:35:06 +00:00
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
2021-02-16 10:58:06 +00:00
'reason' :
description : Why was this user banned?
type : string
example : 'Breach of terms and conditions'
2021-02-10 13:35:06 +00:00
'recipient' :
description : Forthcoming...
type : number
example : 77
2021-02-16 10:58:06 +00:00
'remove_data' :
description : |-
- If set to *true*, also delete that user's comments and posts
- If set *false*, *restore* that user's comments and posts
type : boolean
example : false
2021-02-06 03:49:02 +00:00
'removed' :
type : boolean
description : Forthcoming...What is the difference between deletion and removal?
example : false
2021-02-10 13:35:06 +00:00
'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'
2021-02-06 03:49:02 +00:00
'saved' :
description : Forthcoming...
type : boolean
example : false
'score' :
type : number
description : Forthcoming...
example : 1
2021-02-10 13:35:06 +00:00
'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 :
2021-02-16 10:58:06 +00:00
$ref : '#/components/schemas/users_active_week'
2021-02-10 13:35:06 +00:00
posts :
2021-02-16 10:58:06 +00:00
$ref : '#/components/schemas/posts'
2021-02-10 13:35:06 +00:00
comments :
2021-02-16 10:58:06 +00:00
$ref : '#/components/schemas/comment_count'
2021-02-10 13:35:06 +00:00
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 :
2021-02-16 10:58:06 +00:00
$ref : '#/components/schemas/users_active_day'
2021-02-10 13:35:06 +00:00
users_active_month :
2021-02-16 10:58:06 +00:00
$ref : '#/components/schemas/users_active_month'
2021-02-10 13:35:06 +00:00
users_active_half_year :
2021-02-16 10:58:06 +00:00
$ref : '#/components/schemas/users_active_half_year'
2021-02-10 13:35:06 +00:00
'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
2021-02-06 03:49:02 +00:00
'subscribed' :
type : boolean
description : Forthcoming...
example : true
2021-02-10 13:35:06 +00:00
'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
2021-02-06 03:49:02 +00:00
'upvotes' :
type : number
description : Forthcoming...
example : 1
'user' :
type : object
properties :
user :
type : object
properties :
updated :
2021-02-10 13:35:06 +00:00
$ref : '#/components/schemas/user_updated'
2021-02-06 03:49:02 +00:00
bio :
2021-02-10 13:35:06 +00:00
$ref : '#/components/schemas/bio'
2021-02-06 03:49:02 +00:00
admin :
2021-02-10 13:35:06 +00:00
$ref : '#/components/schemas/admin'
2021-02-06 03:49:02 +00:00
preferred_username :
2021-02-10 13:35:06 +00:00
$ref : '#/components/schemas/preferred_username'
2021-02-06 03:49:02 +00:00
deleted :
$ref : '#/components/schemas/deleted'
banned :
2021-02-10 13:35:06 +00:00
$ref : '#/components/schemas/banned'
2021-02-06 03:49:02 +00:00
published :
2021-02-10 13:35:06 +00:00
$ref : '#/components/schemas/published'
2021-02-06 03:49:02 +00:00
matrix_user_id :
2021-02-10 13:35:06 +00:00
$ref : '#/components/schemas/matrix_user_id'
2021-02-06 03:49:02 +00:00
avatar :
2021-02-10 13:35:06 +00:00
$ref : '#/components/schemas/avatar'
2021-02-06 03:49:02 +00:00
id :
2021-02-10 13:35:06 +00:00
$ref : '#/components/schemas/user_id'
2021-02-06 03:49:02 +00:00
actor_id :
$ref : '#/components/schemas/actor_id'
local :
$ref : '#/components/schemas/local'
banner :
$ref : '#/components/schemas/banner'
name :
2021-02-10 13:35:06 +00:00
$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'
2021-02-16 10:58:06 +00:00
'user_view' :
type : object
properties :
counts :
$ref : '#/components/schemas/counts'
user :
$ref : '#/components/schemas/user'
'users_active_day' :
desciption : Number of 'active' users in the previous 24 hours
type : number
example : 2
'users_active_half_year' :
desciption : Number of 'active' users in the previous six months
type : number
example : 10
'users_active_month' :
desciption : Number of 'active' users in the previous 28 days
type : number
example : 10
'users_active_week' :
description : Number of 'active' users in the previous seven days
type : number
example : 5
2021-02-10 13:35:06 +00:00
'version' :
description : The version of the software running the Lemmy server
type : string
example : '0.9.6'