lemmy-js-client (0.20.0-ap-id.1)

Download OpenAPI specification:

License: AGPL-3.0

A javascript / typescript client for Lemmy

Site

Gets the site, and your user data.

Authorizations:
bearerAuthNone

Responses

Response samples

Content type
application/json
{
  • "image_upload_disabled": true,
  • "blocked_urls": [
    ],
  • "admin_oauth_providers": [
    ],
  • "oauth_providers": [
    ],
  • "tagline": {
    },
  • "discussion_languages": [
    ],
  • "all_languages": [
    ],
  • "version": "string",
  • "admins": [
    ],
  • "site_view": {
    }
}

Create your site.

Authorizations:
bearerAuth
Request Body schema: application/json
required
disable_donation_dialog
boolean
comment_downvotes
string (FederationMode)
Enum: "All" "Local" "Disable"

The federation mode for an item

comment_upvotes
string (FederationMode)
Enum: "All" "Local" "Disable"

The federation mode for an item

post_downvotes
string (FederationMode)
Enum: "All" "Local" "Disable"

The federation mode for an item

post_upvotes
string (FederationMode)
Enum: "All" "Local" "Disable"

The federation mode for an item

content_warning
string
oauth_registration
boolean
registration_mode
string (RegistrationMode)
Enum: "Closed" "RequireApplication" "Open"

The registration mode for your site. Determines what happens after a user signs up.

captcha_difficulty
string
captcha_enabled
boolean
federation_enabled
boolean
rate_limit_search_per_second
number <double>
rate_limit_search
number <double>
rate_limit_comment_per_second
number <double>
rate_limit_comment
number <double>
rate_limit_image_per_second
number <double>
rate_limit_image
number <double>
rate_limit_register_per_second
number <double>
rate_limit_register
number <double>
rate_limit_post_per_second
number <double>
rate_limit_post
number <double>
rate_limit_message_per_second
number <double>
rate_limit_message
number <double>
actor_name_max_length
number <double>
slur_filter_regex
string
discussion_languages
Array of numbers <double> (LanguageId) [ items <double > ]
hide_modlog_mod_names
boolean
application_email_admins
boolean
legal_information
string
default_comment_sort_type
string (CommentSortType)
Enum: "Hot" "Top" "New" "Old" "Controversial"

The comment sort types. See here for descriptions: https://join-lemmy.org/docs/en/users/03-votes-and-ranking.html

default_post_time_range_seconds
number <double>
default_post_sort_type
string (PostSortType)
Enum: "Active" "Hot" "New" "Old" "Top" "MostComments" "NewComments" "Controversial" "Scaled"

The post sort types. See here for descriptions: https://join-lemmy.org/docs/en/users/03-votes-and-ranking.html

default_post_listing_mode
string (PostListingMode)
Enum: "List" "Card" "SmallCard"

A post-view mode that changes how multiple post listings look.

default_post_listing_type
string (ListingType)
Enum: "All" "Local" "Subscribed" "ModeratorView"

A listing type for post and comment list fetches.

default_theme
string
private_instance
boolean
application_question
string
require_email_verification
boolean
community_creation_admin_only
boolean
description
string
sidebar
string
name
required
string

Responses

Request samples

Content type
application/json
{
  • "disable_donation_dialog": true,
  • "comment_downvotes": "All",
  • "comment_upvotes": "All",
  • "post_downvotes": "All",
  • "post_upvotes": "All",
  • "content_warning": "string",
  • "oauth_registration": true,
  • "registration_mode": "Closed",
  • "captcha_difficulty": "string",
  • "captcha_enabled": true,
  • "federation_enabled": true,
  • "rate_limit_search_per_second": 0.1,
  • "rate_limit_search": 0.1,
  • "rate_limit_comment_per_second": 0.1,
  • "rate_limit_comment": 0.1,
  • "rate_limit_image_per_second": 0.1,
  • "rate_limit_image": 0.1,
  • "rate_limit_register_per_second": 0.1,
  • "rate_limit_register": 0.1,
  • "rate_limit_post_per_second": 0.1,
  • "rate_limit_post": 0.1,
  • "rate_limit_message_per_second": 0.1,
  • "rate_limit_message": 0.1,
  • "actor_name_max_length": 0.1,
  • "slur_filter_regex": "string",
  • "discussion_languages": [
    ],
  • "hide_modlog_mod_names": true,
  • "application_email_admins": true,
  • "legal_information": "string",
  • "default_comment_sort_type": "Hot",
  • "default_post_time_range_seconds": 0.1,
  • "default_post_sort_type": "Active",
  • "default_post_listing_mode": "List",
  • "default_post_listing_type": "All",
  • "default_theme": "string",
  • "private_instance": true,
  • "application_question": "string",
  • "require_email_verification": true,
  • "community_creation_admin_only": true,
  • "description": "string",
  • "sidebar": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "taglines": [
    ],
  • "site_view": {
    }
}

Edit your site.

Authorizations:
bearerAuth
Request Body schema: application/json
required
disable_donation_dialog
boolean

If this is true, users will never see the dialog asking to support Lemmy development with donations.

comment_downvotes
string (FederationMode)
Enum: "All" "Local" "Disable"

The federation mode for an item

comment_upvotes
string (FederationMode)
Enum: "All" "Local" "Disable"

The federation mode for an item

post_downvotes
string (FederationMode)
Enum: "All" "Local" "Disable"

The federation mode for an item

post_upvotes
string (FederationMode)
Enum: "All" "Local" "Disable"

The federation mode for an item

oauth_registration
boolean

Whether or not external auth methods can auto-register users.

content_warning
string

If present, nsfw content is visible by default. Should be displayed by frontends/clients when the site is first opened by a user.

reports_email_admins
boolean

Whether to email admins for new reports.

registration_mode
string (RegistrationMode)
Enum: "Closed" "RequireApplication" "Open"

The registration mode for your site. Determines what happens after a user signs up.

blocked_urls
Array of strings

A list of blocked URLs

captcha_difficulty
string

The captcha difficulty. Can be easy, medium, or hard

captcha_enabled
boolean

Whether to enable captchas for signups.

federation_enabled
boolean

Whether to enable federation.

rate_limit_search_per_second
number <double>
rate_limit_search
number <double>

The number of searches allowed in a given time frame.

rate_limit_comment_per_second
number <double>
rate_limit_comment
number <double>

The number of comments allowed in a given time frame.

rate_limit_image_per_second
number <double>
rate_limit_image
number <double>

The number of image uploads allowed in a given time frame.

rate_limit_register_per_second
number <double>
rate_limit_register
number <double>

The number of registrations allowed in a given time frame.

rate_limit_post_per_second
number <double>
rate_limit_post
number <double>

The number of posts allowed in a given time frame.

rate_limit_message_per_second
number <double>
rate_limit_message
number <double>

The number of messages allowed in a given time frame.

actor_name_max_length
number <double>

The max length of actor names.

slur_filter_regex
string

A regex string of items to filter.

discussion_languages
Array of numbers <double> (LanguageId) [ items <double > ]

A list of allowed discussion languages.

hide_modlog_mod_names
boolean

Whether to hide moderator names from the modlog.

application_email_admins
boolean

Whether to email admins when receiving a new application.

legal_information
string

An optional page of legal information

default_comment_sort_type
string (CommentSortType)
Enum: "Hot" "Top" "New" "Old" "Controversial"

The comment sort types. See here for descriptions: https://join-lemmy.org/docs/en/users/03-votes-and-ranking.html

default_post_time_range_seconds
number <double>

A default time range limit to apply to post sorts, in seconds. 0 means none.

default_post_sort_type
string (PostSortType)
Enum: "Active" "Hot" "New" "Old" "Top" "MostComments" "NewComments" "Controversial" "Scaled"

The post sort types. See here for descriptions: https://join-lemmy.org/docs/en/users/03-votes-and-ranking.html

default_post_listing_mode
string (PostListingMode)
Enum: "List" "Card" "SmallCard"

A post-view mode that changes how multiple post listings look.

default_post_listing_type
string (ListingType)
Enum: "All" "Local" "Subscribed" "ModeratorView"

A listing type for post and comment list fetches.

default_theme
string

The default theme. Usually "browser"

private_instance
boolean

Whether your instance is public, or private.

application_question
string

Your application question form. This is in markdown, and can be many questions.

require_email_verification
boolean

Whether to require email verification.

community_creation_admin_only
boolean

Limits community creation to admins only.

description
string

A shorter, one line description of your site.

sidebar
string

A sidebar for the site, in markdown.

name
string

Responses

Request samples

Content type
application/json
{
  • "disable_donation_dialog": true,
  • "comment_downvotes": "All",
  • "comment_upvotes": "All",
  • "post_downvotes": "All",
  • "post_upvotes": "All",
  • "oauth_registration": true,
  • "content_warning": "string",
  • "reports_email_admins": true,
  • "registration_mode": "Closed",
  • "blocked_urls": [
    ],
  • "captcha_difficulty": "string",
  • "captcha_enabled": true,
  • "federation_enabled": true,
  • "rate_limit_search_per_second": 0.1,
  • "rate_limit_search": 0.1,
  • "rate_limit_comment_per_second": 0.1,
  • "rate_limit_comment": 0.1,
  • "rate_limit_image_per_second": 0.1,
  • "rate_limit_image": 0.1,
  • "rate_limit_register_per_second": 0.1,
  • "rate_limit_register": 0.1,
  • "rate_limit_post_per_second": 0.1,
  • "rate_limit_post": 0.1,
  • "rate_limit_message_per_second": 0.1,
  • "rate_limit_message": 0.1,
  • "actor_name_max_length": 0.1,
  • "slur_filter_regex": "string",
  • "discussion_languages": [
    ],
  • "hide_modlog_mod_names": true,
  • "application_email_admins": true,
  • "legal_information": "string",
  • "default_comment_sort_type": "Hot",
  • "default_post_time_range_seconds": 0.1,
  • "default_post_sort_type": "Active",
  • "default_post_listing_mode": "List",
  • "default_post_listing_type": "All",
  • "default_theme": "string",
  • "private_instance": true,
  • "application_question": "string",
  • "require_email_verification": true,
  • "community_creation_admin_only": true,
  • "description": "string",
  • "sidebar": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "taglines": [
    ],
  • "site_view": {
    }
}

Upload new site icon.

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required
image
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Delete the site icon.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Upload new site banner.

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required
image
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Delete the site banner.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Admin

Leave the Site admins.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "image_upload_disabled": true,
  • "blocked_urls": [
    ],
  • "admin_oauth_providers": [
    ],
  • "oauth_providers": [
    ],
  • "tagline": {
    },
  • "discussion_languages": [
    ],
  • "all_languages": [
    ],
  • "version": "string",
  • "admins": [
    ],
  • "site_view": {
    }
}

List all the media known to your instance.

Authorizations:
bearerAuth
query Parameters
limit
number <double>
page
number <double>

Responses

Response samples

Content type
application/json
{
  • "images": [
    ]
}

Hide a community from public / "All" view. Admins only.

Authorizations:
bearerAuth
Request Body schema: application/json
required
reason
string
hidden
required
boolean
community_id
required
number <double> (CommunityId)

The community id.

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "hidden": true,
  • "community_id": 0.1
}

Response samples

Content type
application/json
{
  • "success": true
}

List a post's likes. Admin-only.

Authorizations:
bearerAuth
query Parameters
limit
number <double>
page
number <double>
post_id
required
number <double> (PostId)

The post id.

Responses

Response samples

Content type
application/json
{
  • "post_likes": [
    ]
}

List a comment's likes. Admin-only.

Authorizations:
bearerAuth
query Parameters
limit
number <double>
page
number <double>
comment_id
required
number <double> (CommentId)

The comment id.

Responses

Response samples

Content type
application/json
{
  • "comment_likes": [
    ]
}

Resolve a report for a private message.

Authorizations:
bearerAuth
Request Body schema: application/json
required
resolved
required
boolean
report_id
required
number <double> (PrivateMessageReportId)

The private message report id.

Responses

Request samples

Content type
application/json
{
  • "resolved": true,
  • "report_id": 0.1
}

Response samples

Content type
application/json
{
  • "private_message_report_view": {
    }
}

Ban a person from your site.

Authorizations:
bearerAuth
Request Body schema: application/json
required
expires
number <double>

A time that the ban will expire, in unix epoch seconds.

An i64 unix timestamp is used for a simpler API client implementation.

reason
string
remove_or_restore_data
boolean

Optionally remove or restore all their data. Useful for new troll accounts. If ban is true, then this means remove. If ban is false, it means restore.

ban
required
boolean
person_id
required
number <double> (PersonId)

The person id.

Responses

Request samples

Content type
application/json
{
  • "expires": 0.1,
  • "reason": "string",
  • "remove_or_restore_data": true,
  • "ban": true,
  • "person_id": 0.1
}

Response samples

Content type
application/json
{
  • "banned": true,
  • "person_view": {
    }
}

Get a list of banned users.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "banned": [
    ]
}

Add an admin to your site.

Authorizations:
bearerAuth
Request Body schema: application/json
required
added
required
boolean
person_id
required
number <double> (PersonId)

The person id.

Responses

Request samples

Content type
application/json
{
  • "added": true,
  • "person_id": 0.1
}

Response samples

Content type
application/json
{
  • "admins": [
    ]
}

Get the unread registration applications count.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "registration_applications": 0.1
}

List the registration applications.

Authorizations:
bearerAuth
query Parameters
limit
number <double>
page
number <double>
unread_only
boolean

Only shows the unread applications (IE those without an admin actor)

Responses

Response samples

Content type
application/json
{
  • "registration_applications": [
    ]
}

Approve a registration application

Authorizations:
bearerAuth
Request Body schema: application/json
required
deny_reason
string
approve
required
boolean
id
required
number <double> (RegistrationApplicationId)

The registration application id.

Responses

Request samples

Content type
application/json
{
  • "deny_reason": "string",
  • "approve": true,
  • "id": 0.1
}

Response samples

Content type
application/json
{
  • "registration_application": {
    }
}

Get the application a user submitted when they first registered their account

Authorizations:
bearerAuth
query Parameters
person_id
required
number <double> (PersonId)

The person id.

Responses

Response samples

Content type
application/json
{
  • "registration_application": {
    }
}

Purge / Delete a person from the database.

Authorizations:
bearerAuth
Request Body schema: application/json
required
reason
string
person_id
required
number <double> (PersonId)

The person id.

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "person_id": 0.1
}

Response samples

Content type
application/json
{
  • "success": true
}

Purge / Delete a community from the database.

Authorizations:
bearerAuth
Request Body schema: application/json
required
reason
string
community_id
required
number <double> (CommunityId)

The community id.

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "community_id": 0.1
}

Response samples

Content type
application/json
{
  • "success": true
}

Purge / Delete a post from the database.

Authorizations:
bearerAuth
Request Body schema: application/json
required
reason
string
post_id
required
number <double> (PostId)

The post id.

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "post_id": 0.1
}

Response samples

Content type
application/json
{
  • "success": true
}

Purge / Delete a comment from the database.

Authorizations:
bearerAuth
Request Body schema: application/json
required
reason
string
comment_id
required
number <double> (CommentId)

The comment id.

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "comment_id": 0.1
}

Response samples

Content type
application/json
{
  • "success": true
}

Create a new tagline

Authorizations:
bearerAuth
Request Body schema: application/json
required
content
required
string

Responses

Request samples

Content type
application/json
{
  • "content": "string"
}

Response samples

Content type
application/json
{
  • "tagline": {
    }
}

Edit an existing tagline

Authorizations:
bearerAuth
Request Body schema: application/json
required
content
required
string
id
required
number <double> (TaglineId)

The tagline id.

Responses

Request samples

Content type
application/json
{
  • "content": "string",
  • "id": 0.1
}

Response samples

Content type
application/json
{
  • "tagline": {
    }
}

Delete a tagline

Authorizations:
bearerAuth
Request Body schema: application/json
required
id
required
number <double> (TaglineId)

The tagline id.

Responses

Request samples

Content type
application/json
{
  • "id": 0.1
}

Response samples

Content type
application/json
{
  • "success": true
}

List taglines.

Authorizations:
bearerAuthNone
query Parameters
limit
number <double>
page
number <double>

Responses

Response samples

Content type
application/json
{
  • "taglines": [
    ]
}

List user reports.

Authorizations:
bearerAuth
query Parameters
my_reports_only
boolean

If true, view all your created reports. Works for non-admins/mods also.

show_community_rule_violations
boolean

Only for admins: also show reports with violates_instance_rules=false

page_back
boolean
page_cursor
string (ReportCombinedPaginationCursor)

like PaginationCursor but for the report_combined table

community_id
number <double> (CommunityId)

if no community is given, it returns reports for all communities moderated by the auth user

post_id
number <double> (PostId)

Filter by the post id. Can return either comment or post reports.

type_
string (ReportType)
Enum: "All" "Posts" "Comments" "PrivateMessages" "Communities"

Filter the type of report.

unresolved_only
boolean

Only shows the unresolved reports

Responses

Response samples

Content type
application/json
{
  • "reports": [
    ]
}

Globally block an instance as admin.

Authorizations:
bearerAuth
Request Body schema: application/json
required
expires
string
reason
string
block
required
boolean
instance
required
string

Responses

Request samples

Content type
application/json
{
  • "expires": "string",
  • "reason": "string",
  • "block": true,
  • "instance": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Globally allow an instance as admin.

Authorizations:
bearerAuth
Request Body schema: application/json
required
reason
string
allow
required
boolean
instance
required
string

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "allow": true,
  • "instance": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Account

Generate a TOTP / two-factor secret. Generate a TOTP / two-factor secret. Afterwards you need to call `/account/auth/totp/update` with a valid token to enable it.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "totp_secret_url": "string"
}

Get data of current user.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "discussion_languages": [
    ],
  • "person_blocks": [
    ],
  • "instance_blocks": [
    ],
  • "community_blocks": [
    ],
  • "moderates": [
    ],
  • "follows": [
    ],
  • "local_user_view": {
    }
}

Export a backup of your user settings. Export a backup of your user settings, including your saved content, followed communities, and blocks.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
"string"

Import a backup of your user settings.

Authorizations:
bearerAuth
Request Body schema: application/json
required
any

Responses

Request samples

Content type
application/json
null

Response samples

Content type
application/json
{
  • "success": true
}

List login tokens for your user

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Returns an error message if your auth token is invalid

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

List all the media for your user

Authorizations:
bearerAuth
query Parameters
limit
number <double>
page
number <double>

Responses

Response samples

Content type
application/json
{
  • "images": [
    ]
}

Enable / Disable TOTP / two-factor authentication. To enable, you need to first call `/account/auth/totp/generate` and then pass a valid token to this. Disabling is only possible if 2FA was previously enabled. Again it is necessary to pass a valid token.

Authorizations:
bearerAuth
Request Body schema: application/json
required
enabled
required
boolean
totp_token
required
string

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "totp_token": "string"
}

Response samples

Content type
application/json
{
  • "enabled": true
}

Block a community.

Authorizations:
bearerAuth
Request Body schema: application/json
required
block
required
boolean
community_id
required
number <double> (CommunityId)

The community id.

Responses

Request samples

Content type
application/json
{
  • "block": true,
  • "community_id": 0.1
}

Response samples

Content type
application/json
{
  • "blocked": true,
  • "community_view": {
    }
}

Register a new user.

Request Body schema: application/json
required
answer
string

An answer is mandatory if require application is enabled on the server

honeypot
string

A form field to trick signup bots. Should be None.

captcha_answer
string

Your captcha answer.

captcha_uuid
string

The UUID of the captcha item.

email
string (SensitiveString)
show_nsfw
boolean
password_verify
required
string (SensitiveString)
password
required
string (SensitiveString)
username
required
string

Responses

Request samples

Content type
application/json
{
  • "answer": "string",
  • "honeypot": "string",
  • "captcha_answer": "string",
  • "captcha_uuid": "string",
  • "email": "string",
  • "show_nsfw": true,
  • "password_verify": "string",
  • "password": "string",
  • "username": "string"
}

Response samples

Content type
application/json
{
  • "verify_email_sent": true,
  • "registration_created": true,
  • "jwt": "string"
}

Log into lemmy.

Request Body schema: application/json
required
totp_2fa_token
string

May be required, if totp is enabled for their account.

password
required
string (SensitiveString)
username_or_email
required
string (SensitiveString)

Responses

Request samples

Content type
application/json
{
  • "totp_2fa_token": "string",
  • "password": "string",
  • "username_or_email": "string"
}

Response samples

Content type
application/json
{
  • "verify_email_sent": true,
  • "registration_created": true,
  • "jwt": "string"
}

Invalidate the currently used auth token.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Mark a person mention as read.

Authorizations:
bearerAuth
Request Body schema: application/json
required
read
required
boolean
person_comment_mention_id
required
number <double> (PersonCommentMentionId)

The person comment mention id.

Responses

Request samples

Content type
application/json
{
  • "read": true,
  • "person_comment_mention_id": 0.1
}

Response samples

Content type
application/json
{
  • "success": true
}

Mark a person post body mention as read.

Authorizations:
bearerAuth
Request Body schema: application/json
required
read
required
boolean
person_post_mention_id
required
number <double> (PersonPostMentionId)

The person post mention id.

Responses

Request samples

Content type
application/json
{
  • "read": true,
  • "person_post_mention_id": 0.1
}

Response samples

Content type
application/json
{
  • "success": true
}

Block a person.

Authorizations:
bearerAuth
Request Body schema: application/json
required
block
required
boolean
person_id
required
number <double> (PersonId)

The person id.

Responses

Request samples

Content type
application/json
{
  • "block": true,
  • "person_id": 0.1
}

Response samples

Content type
application/json
{
  • "blocked": true,
  • "person_view": {
    }
}

Fetch a Captcha.

Responses

Response samples

Content type
application/json
{
  • "ok": {
    }
}

Delete your account.

Authorizations:
bearerAuth
Request Body schema: application/json
required
delete_content
required
boolean
password
required
string (SensitiveString)

Responses

Request samples

Content type
application/json
{
  • "delete_content": true,
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Reset your password.

Authorizations:
bearerAuth
Request Body schema: application/json
required
email
required
string (SensitiveString)

Responses

Request samples

Content type
application/json
{
  • "email": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Change your password from an email / token based reset.

Authorizations:
bearerAuth
Request Body schema: application/json
required
password_verify
required
string (SensitiveString)
password
required
string (SensitiveString)
token
required
string (SensitiveString)

Responses

Request samples

Content type
application/json
{
  • "password_verify": "string",
  • "password": "string",
  • "token": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Mark all replies as read.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Save your user settings.

Authorizations:
bearerAuth
Request Body schema: application/json
required
hide_media
boolean

Whether to hide posts containing images/videos.

auto_mark_fetched_posts_as_read
boolean

Whether to automatically mark fetched posts as read.

show_upvote_percentage
boolean
show_downvotes
boolean
show_upvotes
boolean
show_scores
boolean

Some vote display mode settings

collapse_bot_comments
boolean

Whether to auto-collapse bot comments.

enable_private_messages
boolean

Whether a user can send / receive private messages

enable_animated_images
boolean

Whether user avatars or inline images in the UI that are gifs should be allowed to play or should be paused

enable_keyboard_navigation
boolean

Whether to allow keyboard navigation (for browsing and interacting with posts and comments).

infinite_scroll_enabled
boolean

Enable infinite scroll

open_links_in_new_tab
boolean

Open links in a new tab

discussion_languages
Array of numbers <double> (LanguageId) [ items <double > ]

A list of languages you are able to see discussion in.

show_read_posts
boolean

Whether to show read posts.

show_bot_accounts
boolean

Whether to show bot accounts.

bot_account
boolean

Whether this account is a bot account. Users can hide these accounts easily if they wish.

send_notifications_to_email
boolean

Sends notifications to your email.

show_avatars
boolean

Whether to show or hide avatars.

matrix_user_id
string

Your matrix user id. Ex:

bio
string

Your bio / info, in markdown.

email
string (SensitiveString)
display_name
string

Your display name, which can contain strange characters, and does not need to be unique.

interface_language
string

The language of the lemmy interface

default_comment_sort_type
string (CommentSortType)
Enum: "Hot" "Top" "New" "Old" "Controversial"

The comment sort types. See here for descriptions: https://join-lemmy.org/docs/en/users/03-votes-and-ranking.html

default_post_time_range_seconds
number <double>

A default time range limit to apply to post sorts, in seconds. 0 means none.

default_post_sort_type
string (PostSortType)
Enum: "Active" "Hot" "New" "Old" "Top" "MostComments" "NewComments" "Controversial" "Scaled"

The post sort types. See here for descriptions: https://join-lemmy.org/docs/en/users/03-votes-and-ranking.html

post_listing_mode
string (PostListingMode)
Enum: "List" "Card" "SmallCard"

A post-view mode that changes how multiple post listings look.

default_listing_type
string (ListingType)
Enum: "All" "Local" "Subscribed" "ModeratorView"

A listing type for post and comment list fetches.

theme
string

Your user's theme.

blur_nsfw
boolean

Blur nsfw posts.

show_nsfw
boolean

Show nsfw posts.

Responses

Request samples

Content type
application/json
{
  • "hide_media": true,
  • "auto_mark_fetched_posts_as_read": true,
  • "show_upvote_percentage": true,
  • "show_downvotes": true,
  • "show_upvotes": true,
  • "show_scores": true,
  • "collapse_bot_comments": true,
  • "enable_private_messages": true,
  • "enable_animated_images": true,
  • "enable_keyboard_navigation": true,
  • "infinite_scroll_enabled": true,
  • "open_links_in_new_tab": true,
  • "discussion_languages": [
    ],
  • "show_read_posts": true,
  • "show_bot_accounts": true,
  • "bot_account": true,
  • "send_notifications_to_email": true,
  • "show_avatars": true,
  • "matrix_user_id": "string",
  • "bio": "string",
  • "email": "string",
  • "display_name": "string",
  • "interface_language": "string",
  • "default_comment_sort_type": "Hot",
  • "default_post_time_range_seconds": 0.1,
  • "default_post_sort_type": "Active",
  • "post_listing_mode": "List",
  • "default_listing_type": "All",
  • "theme": "string",
  • "blur_nsfw": true,
  • "show_nsfw": true
}

Response samples

Content type
application/json
{
  • "success": true
}

Change your user password.

Authorizations:
bearerAuth
Request Body schema: application/json
required
old_password
required
string (SensitiveString)
new_password_verify
required
string (SensitiveString)
new_password
required
string (SensitiveString)

Responses

Request samples

Content type
application/json
{
  • "old_password": "string",
  • "new_password_verify": "string",
  • "new_password": "string"
}

Response samples

Content type
application/json
{
  • "verify_email_sent": true,
  • "registration_created": true,
  • "jwt": "string"
}

Get counts for your reports.

Authorizations:
bearerAuth
query Parameters
community_id
number <double> (CommunityId)

The community id.

Responses

Response samples

Content type
application/json
{
  • "count": 0.1
}

Get your unread counts.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0.1
}

Get your inbox (replies, comment mentions, post mentions, and messages)

Authorizations:
bearerAuth
query Parameters
page_back
boolean
page_cursor
string (InboxCombinedPaginationCursor)

like PaginationCursor but for the report_combined table

unread_only
boolean
type_
string (InboxDataType)
Enum: "All" "CommentReply" "CommentMention" "PostMention" "PrivateMessage"

A list of possible types for the inbox.

Responses

Response samples

Content type
application/json
{
  • "inbox": [
    ]
}

Verify your email

Request Body schema: application/json
required
token
required
string

Responses

Request samples

Content type
application/json
{
  • "token": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Resend a verification email.

Request Body schema: application/json
required
email
required
string (SensitiveString)

Responses

Request samples

Content type
application/json
{
  • "email": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

List your saved content.

Authorizations:
bearerAuth
query Parameters
page_back
boolean
page_cursor
string (PersonSavedCombinedPaginationCursor)

like PaginationCursor but for the person_saved_combined table

type_
string (PersonContentType)
Enum: "All" "Comments" "Posts"

A list of possible types for a person's content.

Responses

Response samples

Content type
application/json
{
  • "saved": [
    ]
}

Block an instance as user.

Authorizations:
bearerAuth
Request Body schema: application/json
required
block
required
boolean
instance_id
required
number <double> (InstanceId)

The instance id.

Responses

Request samples

Content type
application/json
{
  • "block": true,
  • "instance_id": 0.1
}

Response samples

Content type
application/json
{
  • "success": true
}

Upload new user avatar.

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required
image
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Delete the user avatar.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Upload new user banner.

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required
image
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Delete the user banner.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Media

List all the media for your user

Authorizations:
bearerAuth
query Parameters
limit
number <double>
page
number <double>

Responses

Response samples

Content type
application/json
{
  • "images": [
    ]
}

List all the media known to your instance.

Authorizations:
bearerAuth
query Parameters
limit
number <double>
page
number <double>

Responses

Response samples

Content type
application/json
{
  • "images": [
    ]
}

Upload new user avatar.

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required
image
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Delete the user avatar.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Upload new user banner.

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required
image
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Delete the user banner.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Upload new community icon.

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required
image
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Delete the community icon.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Upload new community banner.

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required
image
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Delete the community banner.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Upload new site icon.

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required
image
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Delete the site icon.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Upload new site banner.

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required
image
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Delete the site banner.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Upload an image to the server.

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required
image
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "filename": "string",
  • "image_url": "string"
}

Delete a pictrs image

Authorizations:
bearerAuth
query Parameters
filename
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Health check for image functionality

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Miscellaneous

Get the modlog.

Authorizations:
bearerAuthNone
query Parameters
page_back
boolean
page_cursor
string (ModlogCombinedPaginationCursor)

like PaginationCursor but for the modlog_combined

comment_id
number <double> (CommentId)

Filter by comment.

post_id
number <double> (PostId)

Filter by post. Will include comments of that post.

other_person_id
number <double> (PersonId)

Filter by the other / modded person.

listing_type
string (ListingType)
Enum: "All" "Local" "Subscribed" "ModeratorView"

Filter by listing type. When not using All, it will remove the non-community modlog entries, such as site bans, instance blocks, adding an admin, etc.

type_
string (ModlogActionType)
Enum: "All" "ModRemovePost" "ModLockPost" "ModFeaturePost" "ModRemoveComment" "ModRemoveCommunity" "ModBanFromCommunity" "ModAddCommunity" "ModTransferCommunity" "ModAdd" "ModBan" "ModHideCommunity" "AdminPurgePerson" "AdminPurgeCommunity" "AdminPurgePost" "AdminPurgeComment" "AdminBlockInstance" "AdminAllowInstance"

Filter by the modlog action type.

community_id
number <double> (CommunityId)

Filter by the community.

mod_person_id
number <double> (PersonId)

Filter by the moderator.

Responses

Response samples

Content type
application/json
{
  • "modlog": [
    ]
}

Search lemmy.

Authorizations:
bearerAuthNone
query Parameters
page_back
boolean
page_cursor
string (SearchCombinedPaginationCursor)

like PaginationCursor but for the modlog_combined

disliked_only
boolean
liked_only
boolean
post_url_only
boolean
title_only
boolean
listing_type
string (ListingType)
Enum: "All" "Local" "Subscribed" "ModeratorView"

A listing type for post and comment list fetches.

time_range_seconds
number <double>

Filter to within a given time range, in seconds. IE 60 would give results for the past minute.

sort
string (SearchSortType)
Enum: "New" "Top" "Old"

The search sort types.

type_
string (SearchType)
Enum: "All" "Comments" "Posts" "Communities" "Users"

The type of content returned from a search.

creator_id
number <double> (PersonId)

The person id.

community_name
string
community_id
number <double> (CommunityId)

The community id.

search_term
string

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Fetch a non-local / federated object.

Authorizations:
bearerAuthNone
query Parameters
q
required
string

Can be the full url, or a shortened version like: !fediverse@lemmy.ml

Responses

Response samples

Content type
application/json
{
  • "person": {
    },
  • "community": {
    },
  • "post": {
    },
  • "comment": {
    }
}

Fetch metadata for any given site.

Authorizations:
bearerAuth
query Parameters
url
required
string

Responses

Response samples

Content type
application/json
{
  • "metadata": {
    }
}

Get a list of banned users.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "banned": [
    ]
}

Create a new oauth provider method

Authorizations:
bearerAuth
Request Body schema: application/json
required
enabled
boolean
use_pkce
boolean
account_linking_enabled
boolean
auto_verify_email
boolean
scopes
required
string
client_secret
required
string
client_id
required
string
id_claim
required
string
userinfo_endpoint
required
string
token_endpoint
required
string
authorization_endpoint
required
string
issuer
required
string
display_name
required
string

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "use_pkce": true,
  • "account_linking_enabled": true,
  • "auto_verify_email": true,
  • "scopes": "string",
  • "client_secret": "string",
  • "client_id": "string",
  • "id_claim": "string",
  • "userinfo_endpoint": "string",
  • "token_endpoint": "string",
  • "authorization_endpoint": "string",
  • "issuer": "string",
  • "display_name": "string"
}

Response samples

Content type
application/json
{
  • "use_pkce": true,
  • "updated": "string",
  • "published": "string",
  • "enabled": true,
  • "account_linking_enabled": true,
  • "auto_verify_email": true,
  • "scopes": "string",
  • "client_id": "string",
  • "id_claim": "string",
  • "userinfo_endpoint": "string",
  • "token_endpoint": "string",
  • "authorization_endpoint": "string",
  • "issuer": "string",
  • "display_name": "string",
  • "id": 0.1
}

Edit an existing oauth provider method

Authorizations:
bearerAuth
Request Body schema: application/json
required
enabled
boolean
use_pkce
boolean
account_linking_enabled
boolean
auto_verify_email
boolean
scopes
string
client_secret
string
id_claim
string
userinfo_endpoint
string
token_endpoint
string
authorization_endpoint
string
display_name
string
id
required
number <double> (OAuthProviderId)

The oauth provider id.

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "use_pkce": true,
  • "account_linking_enabled": true,
  • "auto_verify_email": true,
  • "scopes": "string",
  • "client_secret": "string",
  • "id_claim": "string",
  • "userinfo_endpoint": "string",
  • "token_endpoint": "string",
  • "authorization_endpoint": "string",
  • "display_name": "string",
  • "id": 0.1
}

Response samples

Content type
application/json
{
  • "use_pkce": true,
  • "updated": "string",
  • "published": "string",
  • "enabled": true,
  • "account_linking_enabled": true,
  • "auto_verify_email": true,
  • "scopes": "string",
  • "client_id": "string",
  • "id_claim": "string",
  • "userinfo_endpoint": "string",
  • "token_endpoint": "string",
  • "authorization_endpoint": "string",
  • "issuer": "string",
  • "display_name": "string",
  • "id": 0.1
}

Delete an oauth provider method

Authorizations:
bearerAuth
Request Body schema: application/json
required
id
required
number <double> (OAuthProviderId)

The oauth provider id.

Responses

Request samples

Content type
application/json
{
  • "id": 0.1
}

Response samples

Content type
application/json
{
  • "success": true
}

Authenticate with OAuth

Authorizations:
bearerAuth
Request Body schema: application/json
required
pkce_code_verifier
string
answer
string

An answer is mandatory if require application is enabled on the server

username
string

Username is mandatory at registration time

show_nsfw
boolean
redirect_uri
required
string
oauth_provider_id
required
number <double> (OAuthProviderId)

The oauth provider id.

code
required
string

Responses

Request samples

Content type
application/json
{
  • "pkce_code_verifier": "string",
  • "answer": "string",
  • "username": "string",
  • "show_nsfw": true,
  • "redirect_uri": "string",
  • "oauth_provider_id": 0.1,
  • "code": "string"
}

Response samples

Content type
application/json
{
  • "verify_email_sent": true,
  • "registration_created": true,
  • "jwt": "string"
}

Fetch federated instances.

Responses

Response samples

Content type
application/json
{
  • "federated_instances": {
    }
}

Community

Create a new community.

Authorizations:
bearerAuth
Request Body schema: application/json
required
visibility
string (CommunityVisibility)
Enum: "Public" "LocalOnly" "Private"

Defines who can browse and interact with content in a community.

discussion_languages
Array of numbers <double> (LanguageId) [ items <double > ]
posting_restricted_to_mods
boolean

Whether to restrict posting only to moderators.

nsfw
boolean

Whether its an NSFW community.

banner
string

A banner URL.

icon
string

An icon URL.

description
string

A shorter, one line description of your community.

sidebar
string

A sidebar for the community in markdown.

title
required
string

A longer title.

name
required
string

The unique name.

Responses

Request samples

Content type
application/json
{
  • "visibility": "Public",
  • "discussion_languages": [
    ],
  • "posting_restricted_to_mods": true,
  • "nsfw": true,
  • "banner": "string",
  • "icon": "string",
  • "description": "string",
  • "sidebar": "string",
  • "title": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "discussion_languages": [
    ],
  • "community_view": {
    }
}

Get / fetch a community.

Authorizations:
bearerAuthNone
query Parameters
name
string

Example: star_trek , or star_trek@xyz.tld

id
number <double> (CommunityId)

The community id.

Responses

Response samples

Content type
application/json
{
  • "discussion_languages": [
    ],
  • "moderators": [
    ],
  • "site": {
    },
  • "community_view": {
    }
}

Edit a community.

Authorizations:
bearerAuth
Request Body schema: application/json
required
visibility
string (CommunityVisibility)
Enum: "Public" "LocalOnly" "Private"

Defines who can browse and interact with content in a community.

discussion_languages
Array of numbers <double> (LanguageId) [ items <double > ]
posting_restricted_to_mods
boolean

Whether to restrict posting only to moderators.

nsfw
boolean

Whether its an NSFW community.

description
string

A shorter, one line description of your community.

sidebar
string

A sidebar for the community in markdown.

title
string

A longer title.

community_id
required
number <double> (CommunityId)

The community id.

Responses

Request samples

Content type
application/json
{
  • "visibility": "Public",
  • "discussion_languages": [
    ],
  • "posting_restricted_to_mods": true,
  • "nsfw": true,
  • "description": "string",
  • "sidebar": "string",
  • "title": "string",
  • "community_id": 0.1
}

Response samples

Content type
application/json
{
  • "discussion_languages": [
    ],
  • "community_view": {
    }
}

List communities, with various filters.

Authorizations:
bearerAuthNone
query Parameters
limit
number <double>
page
number <double>
show_nsfw
boolean
time_range_seconds
number <double>

Filter to within a given time range, in seconds. IE 60 would give results for the past minute.

sort
string (CommunitySortType)
Enum: "ActiveSixMonths" "ActiveMonthly" "ActiveWeekly" "ActiveDaily" "Hot" "New" "Old" "NameAsc" "NameDesc" "Comments" "Posts" "Subscribers" "SubscribersLocal"

The community sort types. See here for descriptions: https://join-lemmy.org/docs/en/users/03-votes-and-ranking.html

type_
string (ListingType)
Enum: "All" "Local" "Subscribed" "ModeratorView"

A listing type for post and comment list fetches.

Responses

Response samples

Content type
application/json
{
  • "communities": [
    ]
}

Follow / subscribe to a community.

Authorizations:
bearerAuth
Request Body schema: application/json
required
follow
required
boolean
community_id
required
number <double> (CommunityId)

The community id.

Responses

Request samples

Content type
application/json
{
  • "follow": true,
  • "community_id": 0.1
}

Response samples

Content type
application/json
{
  • "discussion_languages": [
    ],
  • "community_view": {
    }
}

Get a community's pending follows count.

Authorizations:
bearerAuth
query Parameters
community_id
required
number <double> (CommunityId)

The community id.

Responses

Response samples

Content type
application/json
{
  • "count": 0.1
}

Get a community's pending followers.

Authorizations:
bearerAuth
query Parameters
limit
number <double>
page
number <double>
all_communities
boolean
pending_only
boolean

Only shows the unapproved applications

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Approve a community pending follow request.

Authorizations:
bearerAuth
Request Body schema: application/json
required
approve
required
boolean
follower_id
required
number <double> (PersonId)

The person id.

community_id
required
number <double> (CommunityId)

The community id.

Responses

Request samples

Content type
application/json
{
  • "approve": true,
  • "follower_id": 0.1,
  • "community_id": 0.1
}

Response samples

Content type
application/json
{
  • "success": true
}

Block a community.

Authorizations:
bearerAuth
Request Body schema: application/json
required
block
required
boolean
community_id
required
number <double> (CommunityId)

The community id.

Responses

Request samples

Content type
application/json
{
  • "block": true,
  • "community_id": 0.1
}

Response samples

Content type
application/json
{
  • "blocked": true,
  • "community_view": {
    }
}

Delete a community.

Authorizations:
bearerAuth
Request Body schema: application/json
required
deleted
required
boolean
community_id
required
number <double> (CommunityId)

The community id.

Responses

Request samples

Content type
application/json
{
  • "deleted": true,
  • "community_id": 0.1
}

Response samples

Content type
application/json
{
  • "discussion_languages": [
    ],
  • "community_view": {
    }
}

Hide a community from public / "All" view. Admins only.

Authorizations:
bearerAuth
Request Body schema: application/json
required
reason
string
hidden
required
boolean
community_id
required
number <double> (CommunityId)

The community id.

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "hidden": true,
  • "community_id": 0.1
}

Response samples

Content type
application/json
{
  • "success": true
}

A moderator remove for a community.

Authorizations:
bearerAuth
Request Body schema: application/json
required
reason
string
removed
required
boolean
community_id
required
number <double> (CommunityId)

The community id.

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "removed": true,
  • "community_id": 0.1
}

Response samples

Content type
application/json
{
  • "discussion_languages": [
    ],
  • "community_view": {
    }
}

Transfer your community to an existing moderator.

Authorizations:
bearerAuth
Request Body schema: application/json
required
person_id
required
number <double> (PersonId)

The person id.

community_id
required
number <double> (CommunityId)

The community id.

Responses

Request samples

Content type
application/json
{
  • "person_id": 0.1,
  • "community_id": 0.1
}

Response samples

Content type
application/json
{
  • "discussion_languages": [
    ],
  • "moderators": [
    ],
  • "site": {
    },
  • "community_view": {
    }
}

Ban a user from a community.

Authorizations:
bearerAuth
Request Body schema: application/json
required
expires
number <double>

A time that the ban will expire, in unix epoch seconds.

An i64 unix timestamp is used for a simpler API client implementation.

reason
string
remove_or_restore_data
boolean

Optionally remove or restore all their data. Useful for new troll accounts. If ban is true, then this means remove. If ban is false, it means restore.

ban
required
boolean
person_id
required
number <double> (PersonId)

The person id.

community_id
required
number <double> (CommunityId)

The community id.

Responses

Request samples

Content type
application/json
{
  • "expires": 0.1,
  • "reason": "string",
  • "remove_or_restore_data": true,
  • "ban": true,
  • "person_id": 0.1,
  • "community_id": 0.1
}

Response samples

Content type
application/json
{
  • "banned": true,
  • "person_view": {
    }
}

Add a moderator to your community.

Authorizations:
bearerAuth
Request Body schema: application/json
required
added
required
boolean
person_id
required
number <double> (PersonId)

The person id.

community_id
required
number <double> (CommunityId)

The community id.

Responses

Request samples

Content type
application/json
{
  • "added": true,
  • "person_id": 0.1,
  • "community_id": 0.1
}

Response samples

Content type
application/json
{
  • "moderators": [
    ]
}

Get a random community.

Authorizations:
bearerAuthNone
query Parameters
show_nsfw
boolean
type_
string (ListingType)
Enum: "All" "Local" "Subscribed" "ModeratorView"

A listing type for post and comment list fetches.

Responses

Response samples

Content type
application/json
{
  • "discussion_languages": [
    ],
  • "community_view": {
    }
}

Upload new community icon.

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required
image
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Delete the community icon.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Upload new community banner.

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required
image
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Delete the community banner.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Moderator

A moderator remove for a community.

Authorizations:
bearerAuth
Request Body schema: application/json
required
reason
string
removed
required
boolean
community_id
required
number <double> (CommunityId)

The community id.

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "removed": true,
  • "community_id": 0.1
}

Response samples

Content type
application/json
{
  • "discussion_languages": [
    ],
  • "community_view": {
    }
}

Transfer your community to an existing moderator.

Authorizations:
bearerAuth
Request Body schema: application/json
required
person_id
required
number <double> (PersonId)

The person id.

community_id
required
number <double> (CommunityId)

The community id.

Responses

Request samples

Content type
application/json
{
  • "person_id": 0.1,
  • "community_id": 0.1
}

Response samples

Content type
application/json
{
  • "discussion_languages": [
    ],
  • "moderators": [
    ],
  • "site": {
    },
  • "community_view": {
    }
}

Ban a user from a community.

Authorizations:
bearerAuth
Request Body schema: application/json
required
expires
number <double>

A time that the ban will expire, in unix epoch seconds.

An i64 unix timestamp is used for a simpler API client implementation.

reason
string
remove_or_restore_data
boolean

Optionally remove or restore all their data. Useful for new troll accounts. If ban is true, then this means remove. If ban is false, it means restore.

ban
required
boolean
person_id
required
number <double> (PersonId)

The person id.

community_id
required
number <double> (CommunityId)

The community id.

Responses

Request samples

Content type
application/json
{
  • "expires": 0.1,
  • "reason": "string",
  • "remove_or_restore_data": true,
  • "ban": true,
  • "person_id": 0.1,
  • "community_id": 0.1
}

Response samples

Content type
application/json
{
  • "banned": true,
  • "person_view": {
    }
}

Add a moderator to your community.

Authorizations:
bearerAuth
Request Body schema: application/json
required
added
required
boolean
person_id
required
number <double> (PersonId)

The person id.

community_id
required
number <double> (CommunityId)

The community id.

Responses

Request samples

Content type
application/json
{
  • "added": true,
  • "person_id": 0.1,
  • "community_id": 0.1
}

Response samples

Content type
application/json
{
  • "moderators": [
    ]
}

A moderator remove for a post.

Authorizations:
bearerAuth
Request Body schema: application/json
required
reason
string
removed
required
boolean
post_id
required
number <double> (PostId)

The post id.

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "removed": true,
  • "post_id": 0.1
}

Response samples

Content type
application/json
{
  • "post_view": {
    }
}

A moderator can feature a community post ( IE stick it to the top of a community ).

Authorizations:
bearerAuth
Request Body schema: application/json
required
feature_type
required
string (PostFeatureType)
Enum: "Local" "Community"

The feature type for a post.

featured
required
boolean
post_id
required
number <double> (PostId)

The post id.

Responses

Request samples

Content type
application/json
{
  • "feature_type": "Local",
  • "featured": true,
  • "post_id": 0.1
}

Response samples

Content type
application/json
{
  • "post_view": {
    }
}

Resolve a post report. Only a mod can do this.

Authorizations:
bearerAuth
Request Body schema: application/json
required
resolved
required
boolean
report_id
required
number <double> (PostReportId)

The post report id.

Responses

Request samples

Content type
application/json
{
  • "resolved": true,
  • "report_id": 0.1
}

Response samples

Content type
application/json
{
  • "post_report_view": {
    }
}

A moderator remove for a comment.

Authorizations:
bearerAuth
Request Body schema: application/json
required
reason
string
removed
required
boolean
comment_id
required
number <double> (CommentId)

The comment id.

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "removed": true,
  • "comment_id": 0.1
}

Response samples

Content type
application/json
{
  • "recipient_ids": [
    ],
  • "comment_view": {
    }
}

Distinguishes a comment (speak as moderator)

Authorizations:
bearerAuth
Request Body schema: application/json
required
distinguished
required
boolean
comment_id
required
number <double> (CommentId)

The comment id.

Responses

Request samples

Content type
application/json
{
  • "distinguished": true,
  • "comment_id": 0.1
}

Response samples

Content type
application/json
{
  • "recipient_ids": [
    ],
  • "comment_view": {
    }
}

Resolve a comment report. Only a mod can do this.

Authorizations:
bearerAuth
Request Body schema: application/json
required
resolved
required
boolean
report_id
required
number <double> (CommentReportId)

The comment report id.

Responses

Request samples

Content type
application/json
{
  • "resolved": true,
  • "report_id": 0.1
}

Response samples

Content type
application/json
{
  • "comment_report_view": {
    }
}

Post

Create a post.

Authorizations:
bearerAuth
Request Body schema: application/json
required
scheduled_publish_time
number <double>

Time when this post should be scheduled. Null means publish immediately.

tags
Array of numbers <double> (TagId) [ items <double > ]
custom_thumbnail
string

Instead of fetching a thumbnail, use a custom one.

language_id
number <double> (LanguageId)

The language id.

nsfw
boolean
honeypot
string

A honeypot to catch bots. Should be None.

alt_text
string

An optional alt_text, usable for image posts.

body
string

An optional body for the post in markdown.

url
string
community_id
required
number <double> (CommunityId)

The community id.

name
required
string

Responses

Request samples

Content type
application/json
{
  • "scheduled_publish_time": 0.1,
  • "tags": [
    ],
  • "custom_thumbnail": "string",
  • "language_id": 0.1,
  • "nsfw": true,
  • "honeypot": "string",
  • "alt_text": "string",
  • "body": "string",
  • "url": "string",
  • "community_id": 0.1,
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "post_view": {
    }
}

Get / fetch a post.

Authorizations:
bearerAuthNone
query Parameters
comment_id
number <double> (CommentId)

The comment id.

id
number <double> (PostId)

The post id.

Responses

Response samples

Content type
application/json
{
  • "cross_posts": [
    ],
  • "community_view": {
    },
  • "post_view": {
    }
}

Edit a post.

Authorizations:
bearerAuth
Request Body schema: application/json
required
scheduled_publish_time
number <double>

Time when this post should be scheduled. Null means publish immediately.

tags
Array of numbers <double> (TagId) [ items <double > ]
custom_thumbnail
string

Instead of fetching a thumbnail, use a custom one.

language_id
number <double> (LanguageId)

The language id.

nsfw
boolean
alt_text
string

An optional alt_text, usable for image posts.

body
string

An optional body for the post in markdown.

url
string
name
string
post_id
required
number <double> (PostId)

The post id.

Responses

Request samples

Content type
application/json
{
  • "scheduled_publish_time": 0.1,
  • "tags": [
    ],
  • "custom_thumbnail": "string",
  • "language_id": 0.1,
  • "nsfw": true,
  • "alt_text": "string",
  • "body": "string",
  • "url": "string",
  • "name": "string",
  • "post_id": 0.1
}

Response samples

Content type
application/json
{
  • "post_view": {
    }
}

Delete a post.

Authorizations:
bearerAuth
Request Body schema: application/json
required
deleted
required
boolean
post_id
required
number <double> (PostId)

The post id.

Responses

Request samples

Content type
application/json
{
  • "deleted": true,
  • "post_id": 0.1
}

Response samples

Content type
application/json
{
  • "post_view": {
    }
}

A moderator remove for a post.

Authorizations:
bearerAuth
Request Body schema: application/json
required
reason
string
removed
required
boolean
post_id
required
number <double> (PostId)

The post id.

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "removed": true,
  • "post_id": 0.1
}

Response samples

Content type
application/json
{
  • "post_view": {
    }
}

Mark a post as read.

Authorizations:
bearerAuth
Request Body schema: application/json
required
read
required
boolean
post_id
required
number <double> (PostId)

The post id.

Responses

Request samples

Content type
application/json
{
  • "read": true,
  • "post_id": 0.1
}

Response samples

Content type
application/json
{
  • "success": true
}

Mark multiple posts as read.

Authorizations:
bearerAuth
Request Body schema: application/json
required
post_ids
required
Array of numbers <double> (PostId) [ items <double > ]

Responses

Request samples

Content type
application/json
{
  • "post_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true
}

Hide a post from list views.

Authorizations:
bearerAuth
Request Body schema: application/json
required
hide
required
boolean
post_id
required
number <double> (PostId)

The post id.

Responses

Request samples

Content type
application/json
{
  • "hide": true,
  • "post_id": 0.1
}

Response samples

Content type
application/json
{
  • "success": true
}

A moderator can lock a post ( IE disable new comments ).

Authorizations:
bearerAuth
Request Body schema: application/json
required
locked
required
boolean
post_id
required
number <double> (PostId)

The post id.

Responses

Request samples

Content type
application/json
{
  • "locked": true,
  • "post_id": 0.1
}

Response samples

Content type
application/json
{
  • "post_view": {
    }
}

A moderator can feature a community post ( IE stick it to the top of a community ).

Authorizations:
bearerAuth
Request Body schema: application/json
required
feature_type
required
string (PostFeatureType)
Enum: "Local" "Community"

The feature type for a post.

featured
required
boolean
post_id
required
number <double> (PostId)

The post id.

Responses

Request samples

Content type
application/json
{
  • "feature_type": "Local",
  • "featured": true,
  • "post_id": 0.1
}

Response samples

Content type
application/json
{
  • "post_view": {
    }
}

Get / fetch posts, with various filters.

Authorizations:
bearerAuthNone
query Parameters
page_back
boolean
page_cursor
string (PaginationCursor)

currently this is just a wrapper around post id, but should be seen as opaque from the client's perspective. stringified since we might want to use arbitrary info later, with a P prepended to prevent ossification (api users love to make assumptions (e.g. parse stuff that looks like numbers as numbers) about apis that aren't part of the spec

no_comments_only
boolean

If true, then only show posts with no comments

mark_as_read
boolean

Whether to automatically mark fetched posts as read.

hide_media
boolean

If false, then show posts with media attached (even if your user setting is to hide them)

show_nsfw
boolean

If true, then show the nsfw posts (even if your user setting is to hide them)

show_read
boolean

If true, then show the read posts (even if your user setting is to hide them)

show_hidden
boolean
disliked_only
boolean
liked_only
boolean
read_only
boolean
saved_only
boolean
community_name
string
community_id
number <double> (CommunityId)

The community id.

limit
number <double>
page
number <double>

DEPRECATED, use page_cursor

time_range_seconds
number <double>

Filter to within a given time range, in seconds. IE 60 would give results for the past minute. Use Zero to override the local_site and local_user time_range.

sort
string (PostSortType)
Enum: "Active" "Hot" "New" "Old" "Top" "MostComments" "NewComments" "Controversial" "Scaled"

The post sort types. See here for descriptions: https://join-lemmy.org/docs/en/users/03-votes-and-ranking.html

type_
string (ListingType)
Enum: "All" "Local" "Subscribed" "ModeratorView"

A listing type for post and comment list fetches.

Responses

Response samples

Content type
application/json
{
  • "next_page": "string",
  • "posts": [
    ]
}

Like / vote on a post.

Authorizations:
bearerAuth
Request Body schema: application/json
required
score
required
number <double>

Score must be -1, 0, or 1.

post_id
required
number <double> (PostId)

The post id.

Responses

Request samples

Content type
application/json
{
  • "score": 0.1,
  • "post_id": 0.1
}

Response samples

Content type
application/json
{
  • "post_view": {
    }
}

List a post's likes. Admin-only.

Authorizations:
bearerAuth
query Parameters
limit
number <double>
page
number <double>
post_id
required
number <double> (PostId)

The post id.

Responses

Response samples

Content type
application/json
{
  • "post_likes": [
    ]
}

Save a post.

Authorizations:
bearerAuth
Request Body schema: application/json
required
save
required
boolean
post_id
required
number <double> (PostId)

The post id.

Responses

Request samples

Content type
application/json
{
  • "save": true,
  • "post_id": 0.1
}

Response samples

Content type
application/json
{
  • "post_view": {
    }
}

Report a post.

Authorizations:
bearerAuth
Request Body schema: application/json
required
violates_instance_rules
boolean
reason
required
string
post_id
required
number <double> (PostId)

The post id.

Responses

Request samples

Content type
application/json
{
  • "violates_instance_rules": true,
  • "reason": "string",
  • "post_id": 0.1
}

Response samples

Content type
application/json
{
  • "post_report_view": {
    }
}

Resolve a post report. Only a mod can do this.

Authorizations:
bearerAuth
Request Body schema: application/json
required
resolved
required
boolean
report_id
required
number <double> (PostReportId)

The post report id.

Responses

Request samples

Content type
application/json
{
  • "resolved": true,
  • "report_id": 0.1
}

Response samples

Content type
application/json
{
  • "post_report_view": {
    }
}

Fetch metadata for any given site.

Authorizations:
bearerAuth
query Parameters
url
required
string

Responses

Response samples

Content type
application/json
{
  • "metadata": {
    }
}

Mark a person post body mention as read.

Authorizations:
bearerAuth
Request Body schema: application/json
required
read
required
boolean
person_post_mention_id
required
number <double> (PersonPostMentionId)

The person post mention id.

Responses

Request samples

Content type
application/json
{
  • "read": true,
  • "person_post_mention_id": 0.1
}

Response samples

Content type
application/json
{
  • "success": true
}

Comment

Create a comment.

Authorizations:
bearerAuth
Request Body schema: application/json
required
language_id
number <double> (LanguageId)

The language id.

parent_id
number <double> (CommentId)

The comment id.

post_id
required
number <double> (PostId)

The post id.

content
required
string

Responses

Request samples

Content type
application/json
{
  • "language_id": 0.1,
  • "parent_id": 0.1,
  • "post_id": 0.1,
  • "content": "string"
}

Response samples

Content type
application/json
{
  • "recipient_ids": [
    ],
  • "comment_view": {
    }
}

Edit a comment.

Authorizations:
bearerAuth
Request Body schema: application/json
required
language_id
number <double> (LanguageId)

The language id.

content
string
comment_id
required
number <double> (CommentId)

The comment id.

Responses

Request samples

Content type
application/json
{
  • "language_id": 0.1,
  • "content": "string",
  • "comment_id": 0.1
}

Response samples

Content type
application/json
{
  • "recipient_ids": [
    ],
  • "comment_view": {
    }
}

Get / fetch comment.

Authorizations:
bearerAuthNone
query Parameters
id
required
number <double> (CommentId)

The comment id.

Responses

Response samples

Content type
application/json
{
  • "recipient_ids": [
    ],
  • "comment_view": {
    }
}

Delete a comment.

Authorizations:
bearerAuth
Request Body schema: application/json
required
deleted
required
boolean
comment_id
required
number <double> (CommentId)

The comment id.

Responses

Request samples

Content type
application/json
{
  • "deleted": true,
  • "comment_id": 0.1
}

Response samples

Content type
application/json
{
  • "recipient_ids": [
    ],
  • "comment_view": {
    }
}

A moderator remove for a comment.

Authorizations:
bearerAuth
Request Body schema: application/json
required
reason
string
removed
required
boolean
comment_id
required
number <double> (CommentId)

The comment id.

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "removed": true,
  • "comment_id": 0.1
}

Response samples

Content type
application/json
{
  • "recipient_ids": [
    ],
  • "comment_view": {
    }
}

Mark a comment as read.

Authorizations:
bearerAuth
Request Body schema: application/json
required
read
required
boolean
comment_reply_id
required
number <double> (CommentReplyId)

The comment reply id.

Responses

Request samples

Content type
application/json
{
  • "read": true,
  • "comment_reply_id": 0.1
}

Response samples

Content type
application/json
{
  • "success": true
}

Like / vote on a comment.

Authorizations:
bearerAuth
Request Body schema: application/json
required
score
required
number <double>

Must be -1, 0, or 1 .

comment_id
required
number <double> (CommentId)

The comment id.

Responses

Request samples

Content type
application/json
{
  • "score": 0.1,
  • "comment_id": 0.1
}

Response samples

Content type
application/json
{
  • "recipient_ids": [
    ],
  • "comment_view": {
    }
}

List a comment's likes. Admin-only.

Authorizations:
bearerAuth
query Parameters
limit
number <double>
page
number <double>
comment_id
required
number <double> (CommentId)

The comment id.

Responses

Response samples

Content type
application/json
{
  • "comment_likes": [
    ]
}

Save a comment.

Authorizations:
bearerAuth
Request Body schema: application/json
required
save
required
boolean
comment_id
required
number <double> (CommentId)

The comment id.

Responses

Request samples

Content type
application/json
{
  • "save": true,
  • "comment_id": 0.1
}

Response samples

Content type
application/json
{
  • "recipient_ids": [
    ],
  • "comment_view": {
    }
}

Distinguishes a comment (speak as moderator)

Authorizations:
bearerAuth
Request Body schema: application/json
required
distinguished
required
boolean
comment_id
required
number <double> (CommentId)

The comment id.

Responses

Request samples

Content type
application/json
{
  • "distinguished": true,
  • "comment_id": 0.1
}

Response samples

Content type
application/json
{
  • "recipient_ids": [
    ],
  • "comment_view": {
    }
}

Get / fetch comments.

Authorizations:
bearerAuthNone
query Parameters
disliked_only
boolean
liked_only
boolean
parent_id
number <double> (CommentId)

The comment id.

post_id
number <double> (PostId)

The post id.

community_name
string
community_id
number <double> (CommunityId)

The community id.

limit
number <double>
page
number <double>
max_depth
number <double>
time_range_seconds
number <double>

Filter to within a given time range, in seconds. IE 60 would give results for the past minute.

sort
string (CommentSortType)
Enum: "Hot" "Top" "New" "Old" "Controversial"

The comment sort types. See here for descriptions: https://join-lemmy.org/docs/en/users/03-votes-and-ranking.html

type_
string (ListingType)
Enum: "All" "Local" "Subscribed" "ModeratorView"

A listing type for post and comment list fetches.

Responses

Response samples

Content type
application/json
{
  • "comments": [
    ]
}

Get / fetch comments, but without the post or community.

Authorizations:
bearerAuthNone
query Parameters
disliked_only
boolean
liked_only
boolean
parent_id
number <double> (CommentId)

The comment id.

post_id
number <double> (PostId)

The post id.

community_name
string
community_id
number <double> (CommunityId)

The community id.

limit
number <double>
page
number <double>
max_depth
number <double>
time_range_seconds
number <double>

Filter to within a given time range, in seconds. IE 60 would give results for the past minute.

sort
string (CommentSortType)
Enum: "Hot" "Top" "New" "Old" "Controversial"

The comment sort types. See here for descriptions: https://join-lemmy.org/docs/en/users/03-votes-and-ranking.html

type_
string (ListingType)
Enum: "All" "Local" "Subscribed" "ModeratorView"

A listing type for post and comment list fetches.

Responses

Response samples

Content type
application/json
{
  • "comments": [
    ]
}

Report a comment.

Authorizations:
bearerAuth
Request Body schema: application/json
required
violates_instance_rules
boolean
reason
required
string
comment_id
required
number <double> (CommentId)

The comment id.

Responses

Request samples

Content type
application/json
{
  • "violates_instance_rules": true,
  • "reason": "string",
  • "comment_id": 0.1
}

Response samples

Content type
application/json
{
  • "comment_report_view": {
    }
}

Resolve a comment report. Only a mod can do this.

Authorizations:
bearerAuth
Request Body schema: application/json
required
resolved
required
boolean
report_id
required
number <double> (CommentReportId)

The comment report id.

Responses

Request samples

Content type
application/json
{
  • "resolved": true,
  • "report_id": 0.1
}

Response samples

Content type
application/json
{
  • "comment_report_view": {
    }
}

PrivateMessage

Create a private message.

Authorizations:
bearerAuth
Request Body schema: application/json
required
recipient_id
required
number <double> (PersonId)

The person id.

content
required
string

Responses

Request samples

Content type
application/json
{
  • "recipient_id": 0.1,
  • "content": "string"
}

Response samples

Content type
application/json
{
  • "private_message_view": {
    }
}

Edit a private message.

Authorizations:
bearerAuth
Request Body schema: application/json
required
content
required
string
private_message_id
required
number <double> (PrivateMessageId)

The private message id.

Responses

Request samples

Content type
application/json
{
  • "content": "string",
  • "private_message_id": 0.1
}

Response samples

Content type
application/json
{
  • "private_message_view": {
    }
}

Delete a private message.

Authorizations:
bearerAuth
Request Body schema: application/json
required
deleted
required
boolean
private_message_id
required
number <double> (PrivateMessageId)

The private message id.

Responses

Request samples

Content type
application/json
{
  • "deleted": true,
  • "private_message_id": 0.1
}

Response samples

Content type
application/json
{
  • "private_message_view": {
    }
}

Mark a private message as read.

Authorizations:
bearerAuth
Request Body schema: application/json
required
read
required
boolean
private_message_id
required
number <double> (PrivateMessageId)

The private message id.

Responses

Request samples

Content type
application/json
{
  • "read": true,
  • "private_message_id": 0.1
}

Response samples

Content type
application/json
{
  • "private_message_view": {
    }
}

Create a report for a private message.

Authorizations:
bearerAuth
Request Body schema: application/json
required
reason
required
string
private_message_id
required
number <double> (PrivateMessageId)

The private message id.

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "private_message_id": 0.1
}

Response samples

Content type
application/json
{
  • "private_message_report_view": {
    }
}

Resolve a report for a private message.

Authorizations:
bearerAuth
Request Body schema: application/json
required
resolved
required
boolean
report_id
required
number <double> (PrivateMessageReportId)

The private message report id.

Responses

Request samples

Content type
application/json
{
  • "resolved": true,
  • "report_id": 0.1
}

Response samples

Content type
application/json
{
  • "private_message_report_view": {
    }
}

Person

Get the details for a person.

Authorizations:
bearerAuthNone
query Parameters
username
string

Example: dessalines , or dessalines@xyz.tld

person_id
number <double> (PersonId)

The person id.

Responses

Response samples

Content type
application/json
{
  • "moderates": [
    ],
  • "site": {
    },
  • "person_view": {
    }
}

List the content for a person.

Authorizations:
bearerAuthNone
query Parameters
page_back
boolean
page_cursor
string (PersonContentCombinedPaginationCursor)

like PaginationCursor but for the person_content_combined table

username
string

Example: dessalines , or dessalines@xyz.tld

person_id
number <double> (PersonId)

The person id.

type_
string (PersonContentType)
Enum: "All" "Comments" "Posts"

A list of possible types for a person's content.

Responses

Response samples

Content type
application/json
{
  • "content": [
    ]
}

Mark a person mention as read.

Authorizations:
bearerAuth
Request Body schema: application/json
required
read
required
boolean
person_comment_mention_id
required
number <double> (PersonCommentMentionId)

The person comment mention id.

Responses

Request samples

Content type
application/json
{
  • "read": true,
  • "person_comment_mention_id": 0.1
}

Response samples

Content type
application/json
{
  • "success": true
}

CustomEmoji

Create a new custom emoji.

Authorizations:
bearerAuth
Request Body schema: application/json
required
keywords
required
Array of strings
alt_text
required
string
image_url
required
string
shortcode
required
string
category
required
string

Responses

Request samples

Content type
application/json
{
  • "keywords": [
    ],
  • "alt_text": "string",
  • "image_url": "string",
  • "shortcode": "string",
  • "category": "string"
}

Response samples

Content type
application/json
{
  • "custom_emoji": {
    }
}

Edit an existing custom emoji.

Authorizations:
bearerAuth
Request Body schema: application/json
required
keywords
required
Array of strings
alt_text
required
string
image_url
required
string
category
required
string
id
required
number <double> (CustomEmojiId)

The custom emoji id.

Responses

Request samples

Content type
application/json
{
  • "keywords": [
    ],
  • "alt_text": "string",
  • "image_url": "string",
  • "category": "string",
  • "id": 0.1
}

Response samples

Content type
application/json
{
  • "custom_emoji": {
    }
}

Delete a custom emoji.

Authorizations:
bearerAuth
Request Body schema: application/json
required
id
required
number <double> (CustomEmojiId)

The custom emoji id.

Responses

Request samples

Content type
application/json
{
  • "id": 0.1
}

Response samples

Content type
application/json
{
  • "success": true
}

List custom emojis

Authorizations:
bearerAuthNone
query Parameters
ignore_page_limits
boolean
category
string
limit
number <double>
page
number <double>

Responses

Response samples

Content type
application/json
{
  • "custom_emojis": [
    ]
}

Tagline

Create a new tagline

Authorizations:
bearerAuth
Request Body schema: application/json
required
content
required
string

Responses

Request samples

Content type
application/json
{
  • "content": "string"
}

Response samples

Content type
application/json
{
  • "tagline": {
    }
}

Edit an existing tagline

Authorizations:
bearerAuth
Request Body schema: application/json
required
content
required
string
id
required
number <double> (TaglineId)

The tagline id.

Responses

Request samples

Content type
application/json
{
  • "content": "string",
  • "id": 0.1
}

Response samples

Content type
application/json
{
  • "tagline": {
    }
}

Delete a tagline

Authorizations:
bearerAuth
Request Body schema: application/json
required
id
required
number <double> (TaglineId)

The tagline id.

Responses

Request samples

Content type
application/json
{
  • "id": 0.1
}

Response samples

Content type
application/json
{
  • "success": true
}

List taglines.

Authorizations:
bearerAuthNone
query Parameters
limit
number <double>
page
number <double>

Responses

Response samples

Content type
application/json
{
  • "taglines": [
    ]
}

OAuth

Create a new oauth provider method

Authorizations:
bearerAuth
Request Body schema: application/json
required
enabled
boolean
use_pkce
boolean
account_linking_enabled
boolean
auto_verify_email
boolean
scopes
required
string
client_secret
required
string
client_id
required
string
id_claim
required
string
userinfo_endpoint
required
string
token_endpoint
required
string
authorization_endpoint
required
string
issuer
required
string
display_name
required
string

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "use_pkce": true,
  • "account_linking_enabled": true,
  • "auto_verify_email": true,
  • "scopes": "string",
  • "client_secret": "string",
  • "client_id": "string",
  • "id_claim": "string",
  • "userinfo_endpoint": "string",
  • "token_endpoint": "string",
  • "authorization_endpoint": "string",
  • "issuer": "string",
  • "display_name": "string"
}

Response samples

Content type
application/json
{
  • "use_pkce": true,
  • "updated": "string",
  • "published": "string",
  • "enabled": true,
  • "account_linking_enabled": true,
  • "auto_verify_email": true,
  • "scopes": "string",
  • "client_id": "string",
  • "id_claim": "string",
  • "userinfo_endpoint": "string",
  • "token_endpoint": "string",
  • "authorization_endpoint": "string",
  • "issuer": "string",
  • "display_name": "string",
  • "id": 0.1
}

Edit an existing oauth provider method

Authorizations:
bearerAuth
Request Body schema: application/json
required
enabled
boolean
use_pkce
boolean
account_linking_enabled
boolean
auto_verify_email
boolean
scopes
string
client_secret
string
id_claim
string
userinfo_endpoint
string
token_endpoint
string
authorization_endpoint
string
display_name
string
id
required
number <double> (OAuthProviderId)

The oauth provider id.

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "use_pkce": true,
  • "account_linking_enabled": true,
  • "auto_verify_email": true,
  • "scopes": "string",
  • "client_secret": "string",
  • "id_claim": "string",
  • "userinfo_endpoint": "string",
  • "token_endpoint": "string",
  • "authorization_endpoint": "string",
  • "display_name": "string",
  • "id": 0.1
}

Response samples

Content type
application/json
{
  • "use_pkce": true,
  • "updated": "string",
  • "published": "string",
  • "enabled": true,
  • "account_linking_enabled": true,
  • "auto_verify_email": true,
  • "scopes": "string",
  • "client_id": "string",
  • "id_claim": "string",
  • "userinfo_endpoint": "string",
  • "token_endpoint": "string",
  • "authorization_endpoint": "string",
  • "issuer": "string",
  • "display_name": "string",
  • "id": 0.1
}

Delete an oauth provider method

Authorizations:
bearerAuth
Request Body schema: application/json
required
id
required
number <double> (OAuthProviderId)

The oauth provider id.

Responses

Request samples

Content type
application/json
{
  • "id": 0.1
}

Response samples

Content type
application/json
{
  • "success": true
}

Authenticate with OAuth

Authorizations:
bearerAuth
Request Body schema: application/json
required
pkce_code_verifier
string
answer
string

An answer is mandatory if require application is enabled on the server

username
string

Username is mandatory at registration time

show_nsfw
boolean
redirect_uri
required
string
oauth_provider_id
required
number <double> (OAuthProviderId)

The oauth provider id.

code
required
string

Responses

Request samples

Content type
application/json
{
  • "pkce_code_verifier": "string",
  • "answer": "string",
  • "username": "string",
  • "show_nsfw": true,
  • "redirect_uri": "string",
  • "oauth_provider_id": 0.1,
  • "code": "string"
}

Response samples

Content type
application/json
{
  • "verify_email_sent": true,
  • "registration_created": true,
  • "jwt": "string"
}