You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
10240 lines
416 KiB
YAML
10240 lines
416 KiB
YAML
openapi: 3.0.0
|
|
info:
|
|
title: nodebb
|
|
version: 1.13.2
|
|
license:
|
|
name: GPL-3.0
|
|
description: >-
|
|
# Introduction
|
|
|
|
The following document outlines every Read API route available via NodeBB. Unlike the write API, the v1.x API was coded organically, and is **not** strictly RESTful. These shortcomings will be addressed in the v2.x version of the API.
|
|
|
|
## Authentication
|
|
|
|
Authentication with this API is done via cookies. A valid login session is required for API calls that pertain to operations involving a logged-in user. For example, `/api/unread` is a route showing unread topics, and is not accessible by guest users.
|
|
tags:
|
|
- name: home
|
|
description: Routes used at the forum index only
|
|
- name: categories
|
|
description: Category hierarchy and navigation
|
|
- name: topics
|
|
- name: posts
|
|
- name: users
|
|
- name: authentication
|
|
description: User authentication (e.g. login/registration)
|
|
- name: groups
|
|
description: User groups
|
|
- name: admin
|
|
description: Administrative Control Panel (ACP) routing
|
|
- name: emails
|
|
description: Email utilities
|
|
- name: flags
|
|
description: Reporting of content by users
|
|
- name: notifications
|
|
description: Real-time notifications
|
|
- name: search
|
|
- name: tags
|
|
description: Disparate method of categorizing topics
|
|
- name: shorthand
|
|
description: Convenience and utility routes for accessing other part of the API
|
|
paths:
|
|
/api/:
|
|
get:
|
|
tags:
|
|
- home
|
|
description: >
|
|
This route is used to populate the homepage of NodeBB. It is the main
|
|
access point of the forum, and shows a list of categories for navigation
|
|
purposes.
|
|
summary: /api/
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
categories:
|
|
type: array
|
|
items:
|
|
allOf:
|
|
- $ref: components/schemas/CategoryObject.yaml#/CategoryObject
|
|
- type: object
|
|
properties:
|
|
children:
|
|
type: array
|
|
items:
|
|
allOf:
|
|
- $ref: components/schemas/CategoryObject.yaml#/CategoryObject
|
|
- type: object
|
|
properties:
|
|
tagWhitelist:
|
|
type: array
|
|
items: {}
|
|
unread-class:
|
|
type: string
|
|
children:
|
|
type: array
|
|
items: {}
|
|
parent:
|
|
$ref: components/schemas/CategoryObject.yaml#/CategoryObject
|
|
posts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
timestamp:
|
|
type: number
|
|
content:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to
|
|
users without an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction
|
|
with `icon:text` for the user's
|
|
auto-generated icon
|
|
example: "#f44336"
|
|
index:
|
|
type: number
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
parentCid:
|
|
type: number
|
|
description: The category identifier for the category that is the immediate
|
|
ancestor of the current category
|
|
topic:
|
|
type: object
|
|
properties:
|
|
slug:
|
|
type: string
|
|
title:
|
|
type: string
|
|
imageClass:
|
|
type: string
|
|
timesClicked:
|
|
type: number
|
|
posts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
timestamp:
|
|
type: number
|
|
content:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users
|
|
without an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's
|
|
auto-generated icon
|
|
example: "#f44336"
|
|
index:
|
|
type: number
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
parentCid:
|
|
type: number
|
|
description: The category identifier for the category that is the immediate
|
|
ancestor of the current category
|
|
topic:
|
|
type: object
|
|
properties:
|
|
slug:
|
|
type: string
|
|
title:
|
|
type: string
|
|
teaser:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
pid:
|
|
type: number
|
|
topic:
|
|
type: object
|
|
properties:
|
|
slug:
|
|
type: string
|
|
title:
|
|
type: string
|
|
topics:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
mainPid:
|
|
type: number
|
|
description: The post id of the first post in this topic (also called the
|
|
"original post")
|
|
title:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
lastposttime:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
viewcount:
|
|
type: number
|
|
deleted:
|
|
type: number
|
|
locked:
|
|
type: number
|
|
pinned:
|
|
type: number
|
|
description: Whether or not this particular topic is pinned to the top of the
|
|
category
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
titleRaw:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
lastposttimeISO:
|
|
type: string
|
|
votes:
|
|
type: number
|
|
category:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
image:
|
|
nullable: true
|
|
imageClass:
|
|
nullable: true
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
color:
|
|
type: string
|
|
disabled:
|
|
type: number
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
reputation:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
signature:
|
|
nullable: true
|
|
type: string
|
|
banned:
|
|
type: number
|
|
status:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
banned_until_readable:
|
|
type: string
|
|
oldUid:
|
|
type: number
|
|
groupTitle:
|
|
type: string
|
|
groupTitleArray:
|
|
type: array
|
|
items: {}
|
|
fullname:
|
|
type: string
|
|
teaser:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
timestamp:
|
|
type: number
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users
|
|
without an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's
|
|
auto-generated icon
|
|
example: "#f44336"
|
|
index:
|
|
type: number
|
|
tags:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: string
|
|
valueEscaped:
|
|
type: string
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
score:
|
|
type: number
|
|
isOwner:
|
|
type: boolean
|
|
ignored:
|
|
type: boolean
|
|
unread:
|
|
type: boolean
|
|
bookmark:
|
|
nullable: true
|
|
unreplied:
|
|
type: boolean
|
|
icons:
|
|
type: array
|
|
items: {}
|
|
index:
|
|
type: number
|
|
thumb:
|
|
type: string
|
|
teaserPid:
|
|
type: number
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/post/{pid}/raw":
|
|
get:
|
|
tags:
|
|
- posts
|
|
summary: /api/post/{pid}/raw
|
|
parameters:
|
|
- name: pid
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: number
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
content:
|
|
type: string
|
|
/api/admin:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin
|
|
responses: {}
|
|
/api/admin/general/dashboard:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/general/dashboard
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
version:
|
|
type: string
|
|
lookupFailed:
|
|
type: boolean
|
|
latestVersion:
|
|
type: string
|
|
upgradeAvailable:
|
|
type: boolean
|
|
currentPrerelease:
|
|
type: boolean
|
|
notices:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
done:
|
|
type: boolean
|
|
doneText:
|
|
type: string
|
|
notDoneText:
|
|
type: string
|
|
tooltip:
|
|
type: string
|
|
link:
|
|
type: string
|
|
stats:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
yesterday:
|
|
type: number
|
|
today:
|
|
type: number
|
|
lastweek:
|
|
type: number
|
|
thisweek:
|
|
type: number
|
|
lastmonth:
|
|
type: number
|
|
thismonth:
|
|
type: number
|
|
alltime:
|
|
type: number
|
|
dayIncrease:
|
|
type: string
|
|
dayTextClass:
|
|
type: string
|
|
weekIncrease:
|
|
type: string
|
|
weekTextClass:
|
|
type: string
|
|
monthIncrease:
|
|
type: string
|
|
monthTextClass:
|
|
type: string
|
|
name:
|
|
type: string
|
|
canRestart:
|
|
type: boolean
|
|
lastrestart:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
ip:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
user:
|
|
$ref: components/schemas/UserObject.yaml#/UserObject
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/admin/general/languages:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/general/languages
|
|
responses: {}
|
|
/api/admin/general/sounds:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/general/sounds
|
|
responses: {}
|
|
/api/admin/general/navigation:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/general/navigation
|
|
responses: {}
|
|
/api/admin/general/homepage:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/general/homepage
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
routes:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
route:
|
|
type: string
|
|
name:
|
|
type: string
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/admin/general/social:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/general/social
|
|
responses: {}
|
|
/api/admin/manage/categories:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/categories
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/admin/manage/categories/{category_id}":
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/categories/{category_id}
|
|
parameters:
|
|
- name: category_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
category:
|
|
allOf:
|
|
- $ref: components/schemas/CategoryObject.yaml#/CategoryObject
|
|
- type: object
|
|
properties:
|
|
tagWhitelist:
|
|
type: array
|
|
items: {}
|
|
unread-class:
|
|
type: string
|
|
parent:
|
|
$ref: components/schemas/CategoryObject.yaml#/CategoryObject
|
|
allCategories:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
text:
|
|
type: string
|
|
value:
|
|
type: number
|
|
selected:
|
|
type: boolean
|
|
customClasses:
|
|
type: array
|
|
items: {}
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/admin/manage/categories/{category_id}/analytics":
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/categories/{category_id}/analytics
|
|
parameters:
|
|
- name: category_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
analytics:
|
|
type: object
|
|
properties:
|
|
pageviews:hourly:
|
|
type: array
|
|
items:
|
|
type: number
|
|
pageviews:daily:
|
|
type: array
|
|
items:
|
|
type: number
|
|
topics:daily:
|
|
type: array
|
|
items:
|
|
type: number
|
|
posts:daily:
|
|
type: array
|
|
items:
|
|
type: number
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/admin/manage/privileges/{cid?}":
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/privileges/{cid?}
|
|
parameters:
|
|
- name: cid?
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
privileges:
|
|
type: object
|
|
properties:
|
|
labels:
|
|
type: object
|
|
properties:
|
|
users:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
groups:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
users:
|
|
type: array
|
|
items: {}
|
|
groups:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
nameEscaped:
|
|
type: string
|
|
privileges:
|
|
type: object
|
|
properties:
|
|
groups:find:
|
|
type: boolean
|
|
groups:read:
|
|
type: boolean
|
|
groups:topics:read:
|
|
type: boolean
|
|
groups:topics:create:
|
|
type: boolean
|
|
groups:topics:reply:
|
|
type: boolean
|
|
groups:topics:tag:
|
|
type: boolean
|
|
groups:posts:edit:
|
|
type: boolean
|
|
groups:posts:history:
|
|
type: boolean
|
|
groups:posts:delete:
|
|
type: boolean
|
|
groups:posts:upvote:
|
|
type: boolean
|
|
groups:posts:downvote:
|
|
type: boolean
|
|
groups:topics:delete:
|
|
type: boolean
|
|
groups:posts:view_deleted:
|
|
type: boolean
|
|
groups:purge:
|
|
type: boolean
|
|
groups:moderate:
|
|
type: boolean
|
|
isPrivate:
|
|
type: boolean
|
|
columnCountUser:
|
|
type: number
|
|
columnCountUserOther:
|
|
type: number
|
|
columnCountGroup:
|
|
type: number
|
|
columnCountGroupOther:
|
|
type: number
|
|
categories:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
level:
|
|
type: string
|
|
parentCid:
|
|
type: number
|
|
description: The category identifier for the category that is the immediate
|
|
ancestor of the current category
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
imageClass:
|
|
type: string
|
|
selectedCategory:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
level:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
parentCid:
|
|
type: number
|
|
description: The category identifier for the category that is the immediate
|
|
ancestor of the current category
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/admin/manage/tags:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/tags
|
|
responses: {}
|
|
/api/admin/manage/post-queue:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/post-queue
|
|
responses: {}
|
|
/api/admin/manage/ip-blacklist:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/ip-blacklist
|
|
responses: {}
|
|
/api/admin/manage/users:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/users
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
users:
|
|
type: array
|
|
items:
|
|
$ref: components/schemas/UserObject.yaml#/UserObject
|
|
page:
|
|
type: number
|
|
pageCount:
|
|
type: number
|
|
resultsPerPage:
|
|
type: number
|
|
latest:
|
|
type: boolean
|
|
search_display:
|
|
type: string
|
|
requireEmailConfirmation:
|
|
type: number
|
|
inviteOnly:
|
|
type: boolean
|
|
adminInviteOnly:
|
|
type: boolean
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/admin/manage/users/search:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/users/search
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
search_display:
|
|
type: string
|
|
users:
|
|
type: array
|
|
items: {}
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/admin/manage/users/latest:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/users/latest
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
users:
|
|
type: array
|
|
items:
|
|
$ref: components/schemas/UserObject.yaml#/UserObject
|
|
page:
|
|
type: number
|
|
pageCount:
|
|
type: number
|
|
resultsPerPage:
|
|
type: number
|
|
latest:
|
|
type: boolean
|
|
search_display:
|
|
type: string
|
|
requireEmailConfirmation:
|
|
type: number
|
|
inviteOnly:
|
|
type: boolean
|
|
adminInviteOnly:
|
|
type: boolean
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/admin/manage/users/not-validated:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/users/not-validated
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
users:
|
|
type: array
|
|
items:
|
|
$ref: components/schemas/UserObject.yaml#/UserObject
|
|
page:
|
|
type: number
|
|
pageCount:
|
|
type: number
|
|
resultsPerPage:
|
|
type: number
|
|
notvalidated:
|
|
type: boolean
|
|
search_display:
|
|
type: string
|
|
requireEmailConfirmation:
|
|
type: number
|
|
inviteOnly:
|
|
type: boolean
|
|
adminInviteOnly:
|
|
type: boolean
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/admin/manage/users/no-posts:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/users/no-posts
|
|
responses: {}
|
|
/api/admin/manage/users/top-posters:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/users/top-posters
|
|
responses: {}
|
|
/api/admin/manage/users/most-reputation:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/users/most-reputation
|
|
responses: {}
|
|
/api/admin/manage/users/inactive:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/users/inactive
|
|
responses: {}
|
|
/api/admin/manage/users/flagged:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/users/flagged
|
|
responses: {}
|
|
/api/admin/manage/users/banned:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/users/banned
|
|
responses: {}
|
|
/api/admin/manage/registration:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/registration
|
|
responses: {}
|
|
/api/admin/manage/admins-mods:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/admins-mods
|
|
responses: {}
|
|
/api/admin/manage/groups:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/groups
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
groups:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
deleted:
|
|
oneOf:
|
|
- type: number
|
|
- type: string
|
|
hidden:
|
|
type: number
|
|
system:
|
|
type: number
|
|
userTitle:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
labelColor:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
createtime:
|
|
type: number
|
|
memberCount:
|
|
type: number
|
|
private:
|
|
type: number
|
|
cover:url:
|
|
type: string
|
|
cover:position:
|
|
type: string
|
|
userTitleEnabled:
|
|
type: number
|
|
disableJoinRequests:
|
|
type: number
|
|
disableLeave:
|
|
type: number
|
|
nameEncoded:
|
|
type: string
|
|
displayName:
|
|
type: string
|
|
textColor:
|
|
type: string
|
|
createtimeISO:
|
|
type: string
|
|
cover:thumb:url:
|
|
type: string
|
|
ownerUid:
|
|
type: number
|
|
yourid:
|
|
type: number
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/admin/manage/groups/{name}":
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/groups/{name}
|
|
parameters:
|
|
- name: name
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
group:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
createtime:
|
|
type: number
|
|
userTitle:
|
|
type: string
|
|
userTitleEnabled:
|
|
type: number
|
|
description:
|
|
type: string
|
|
memberCount:
|
|
type: number
|
|
hidden:
|
|
type: number
|
|
system:
|
|
type: number
|
|
private:
|
|
type: number
|
|
disableJoinRequests:
|
|
type: number
|
|
disableLeave:
|
|
type: number
|
|
icon:
|
|
type: string
|
|
labelColor:
|
|
type: string
|
|
textColor:
|
|
type: string
|
|
nameEncoded:
|
|
type: string
|
|
displayName:
|
|
type: string
|
|
createtimeISO:
|
|
type: string
|
|
cover:thumb:url:
|
|
type: string
|
|
cover:url:
|
|
type: string
|
|
cover:position:
|
|
type: string
|
|
descriptionParsed:
|
|
type: string
|
|
members:
|
|
type: array
|
|
items:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObject
|
|
- type: object
|
|
properties:
|
|
isOwner:
|
|
type: boolean
|
|
membersNextStart:
|
|
type: number
|
|
pending:
|
|
type: array
|
|
items: {}
|
|
invited:
|
|
type: array
|
|
items: {}
|
|
isMember:
|
|
type: boolean
|
|
isPending:
|
|
type: boolean
|
|
isInvited:
|
|
type: boolean
|
|
isOwner:
|
|
type: boolean
|
|
groupNames:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
encodedName:
|
|
type: string
|
|
displayName:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
allowPrivateGroups:
|
|
type: number
|
|
maximumGroupNameLength:
|
|
type: number
|
|
maximumGroupTitleLength:
|
|
type: number
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/admin/manage/uploads:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/uploads
|
|
responses: {}
|
|
/api/admin/manage/digest:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/manage/digest
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
delivery:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without an
|
|
avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with `icon:text`
|
|
for the user's auto-generated icon
|
|
example: "#f44336"
|
|
lastDelivery:
|
|
type: string
|
|
setting:
|
|
type: boolean
|
|
default:
|
|
type: string
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/admin/settings/{term?}":
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/settings/{term?}
|
|
parameters:
|
|
- name: term?
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
notificationSettings:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
label:
|
|
type: string
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/admin/appearance/{term?}":
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/appearance/{term?}
|
|
parameters:
|
|
- name: term?
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/admin/extend/plugins:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/extend/plugins
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
installed:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
latest:
|
|
type: string
|
|
description:
|
|
type: string
|
|
name:
|
|
type: string
|
|
updated:
|
|
type: string
|
|
url:
|
|
type: string
|
|
numInstalls:
|
|
type: number
|
|
isCompatible:
|
|
type: boolean
|
|
id:
|
|
type: string
|
|
installed:
|
|
type: boolean
|
|
active:
|
|
type: boolean
|
|
isTheme:
|
|
type: boolean
|
|
error:
|
|
type: boolean
|
|
version:
|
|
type: string
|
|
license:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
text:
|
|
type: string
|
|
outdated:
|
|
type: boolean
|
|
settingsRoute:
|
|
type: string
|
|
installedCount:
|
|
type: number
|
|
activeCount:
|
|
type: number
|
|
inactiveCount:
|
|
type: number
|
|
upgradeCount:
|
|
type: number
|
|
download:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
updated:
|
|
type: string
|
|
description:
|
|
type: string
|
|
latest:
|
|
type: string
|
|
url:
|
|
type: string
|
|
numInstalls:
|
|
type: number
|
|
isCompatible:
|
|
type: boolean
|
|
id:
|
|
type: string
|
|
installed:
|
|
type: boolean
|
|
active:
|
|
type: boolean
|
|
incompatible:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
latest:
|
|
type: string
|
|
description:
|
|
type: string
|
|
name:
|
|
type: string
|
|
updated:
|
|
type: string
|
|
url:
|
|
type: string
|
|
numInstalls:
|
|
type: number
|
|
isCompatible:
|
|
type: boolean
|
|
id:
|
|
type: string
|
|
installed:
|
|
type: boolean
|
|
active:
|
|
type: boolean
|
|
submitPluginUsage:
|
|
type: number
|
|
version:
|
|
type: string
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/admin/extend/widgets:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/extend/widgets
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
templates:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
template:
|
|
type: string
|
|
areas:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
location:
|
|
type: string
|
|
areas:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
template:
|
|
type: string
|
|
location:
|
|
type: string
|
|
data:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
widget:
|
|
type: string
|
|
data:
|
|
type: object
|
|
properties:
|
|
html:
|
|
type: string
|
|
cid:
|
|
type: string
|
|
title:
|
|
type: string
|
|
container:
|
|
type: string
|
|
groups:
|
|
type: array
|
|
items: {}
|
|
groupsHideFrom:
|
|
type: array
|
|
items: {}
|
|
hide-mobile:
|
|
type: string
|
|
numTags:
|
|
type: string
|
|
numUsers:
|
|
type: string
|
|
text:
|
|
type: string
|
|
parseAsPost:
|
|
type: string
|
|
numTopics:
|
|
type: string
|
|
availableWidgets:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
widget:
|
|
type: string
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
content:
|
|
type: string
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/admin/extend/rewards:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/extend/rewards
|
|
responses: {}
|
|
/api/admin/advanced/database:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/advanced/database
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
redis:
|
|
type: object
|
|
properties:
|
|
aof_current_rewrite_time_sec:
|
|
type: string
|
|
aof_enabled:
|
|
type: string
|
|
aof_last_bgrewrite_status:
|
|
type: string
|
|
aof_last_rewrite_time_sec:
|
|
type: string
|
|
aof_rewrite_in_progress:
|
|
type: string
|
|
aof_rewrite_scheduled:
|
|
type: string
|
|
arch_bits:
|
|
type: string
|
|
blocked_clients:
|
|
type: string
|
|
client_biggest_input_buf:
|
|
type: string
|
|
client_longest_output_list:
|
|
type: string
|
|
config_file:
|
|
type: string
|
|
connected_clients:
|
|
type: string
|
|
connected_slaves:
|
|
type: string
|
|
db0:
|
|
type: string
|
|
evicted_keys:
|
|
type: string
|
|
expired_keys:
|
|
type: string
|
|
gcc_version:
|
|
type: string
|
|
hz:
|
|
type: string
|
|
instantaneous_ops_per_sec:
|
|
type: string
|
|
keyspace_hits:
|
|
type: string
|
|
keyspace_misses:
|
|
type: string
|
|
latest_fork_usec:
|
|
type: string
|
|
loading:
|
|
type: string
|
|
lru_clock:
|
|
type: string
|
|
master_repl_offset:
|
|
type: string
|
|
mem_allocator:
|
|
type: string
|
|
mem_fragmentation_ratio:
|
|
type: string
|
|
multiplexing_api:
|
|
type: string
|
|
os:
|
|
type: string
|
|
process_id:
|
|
type: string
|
|
pubsub_channels:
|
|
type: string
|
|
pubsub_patterns:
|
|
type: string
|
|
rdb_bgsave_in_progress:
|
|
type: string
|
|
rdb_changes_since_last_save:
|
|
type: string
|
|
rdb_current_bgsave_time_sec:
|
|
type: string
|
|
rdb_last_bgsave_status:
|
|
type: string
|
|
rdb_last_bgsave_time_sec:
|
|
type: string
|
|
rdb_last_save_time:
|
|
type: string
|
|
redis_build_id:
|
|
type: string
|
|
redis_git_dirty:
|
|
type: string
|
|
redis_git_sha1:
|
|
type: string
|
|
redis_mode:
|
|
type: string
|
|
redis_version:
|
|
type: string
|
|
rejected_connections:
|
|
type: string
|
|
repl_backlog_active:
|
|
type: string
|
|
repl_backlog_first_byte_offset:
|
|
type: string
|
|
repl_backlog_histlen:
|
|
type: string
|
|
repl_backlog_size:
|
|
type: string
|
|
role:
|
|
type: string
|
|
run_id:
|
|
type: string
|
|
sync_full:
|
|
type: string
|
|
sync_partial_err:
|
|
type: string
|
|
sync_partial_ok:
|
|
type: string
|
|
tcp_port:
|
|
type: string
|
|
total_commands_processed:
|
|
type: string
|
|
total_connections_received:
|
|
type: string
|
|
uptime_in_days:
|
|
type: string
|
|
uptime_in_seconds:
|
|
type: string
|
|
used_cpu_sys:
|
|
type: string
|
|
used_cpu_sys_children:
|
|
type: string
|
|
used_cpu_user:
|
|
type: string
|
|
used_cpu_user_children:
|
|
type: string
|
|
used_memory:
|
|
type: string
|
|
used_memory_human:
|
|
type: string
|
|
used_memory_lua:
|
|
type: string
|
|
used_memory_peak:
|
|
type: string
|
|
used_memory_peak_human:
|
|
type: string
|
|
used_memory_rss:
|
|
type: string
|
|
keys:
|
|
type: string
|
|
expires:
|
|
type: string
|
|
avg_ttl:
|
|
type: string
|
|
instantaneous_input:
|
|
type: string
|
|
instantaneous_output:
|
|
type: string
|
|
total_net_input:
|
|
type: string
|
|
total_net_output:
|
|
type: string
|
|
raw:
|
|
type: string
|
|
redis:
|
|
type: boolean
|
|
mongo:
|
|
type: object
|
|
properties:
|
|
db:
|
|
type: string
|
|
collections:
|
|
type: number
|
|
objects:
|
|
type: number
|
|
avgObjSize:
|
|
type: string
|
|
dataSize:
|
|
type: string
|
|
storageSize:
|
|
type: string
|
|
numExtents:
|
|
type: number
|
|
indexes:
|
|
type: number
|
|
indexSize:
|
|
type: string
|
|
ok:
|
|
type: number
|
|
mem:
|
|
type: object
|
|
properties:
|
|
bits:
|
|
type: number
|
|
resident:
|
|
type: string
|
|
virtual:
|
|
type: string
|
|
supported:
|
|
type: boolean
|
|
mapped:
|
|
type: string
|
|
mappedWithJournal:
|
|
type: number
|
|
collectionData:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
count:
|
|
type: number
|
|
size:
|
|
type: number
|
|
avgObjSize:
|
|
type: number
|
|
storageSize:
|
|
type: number
|
|
totalIndexSize:
|
|
type: number
|
|
indexSizes:
|
|
type: object
|
|
properties:
|
|
_id_:
|
|
type: number
|
|
expireAt_1:
|
|
type: number
|
|
_key_1_score_-1:
|
|
type: number
|
|
_key_1_value_-1:
|
|
type: number
|
|
content_text_uid_1_cid_1:
|
|
type: number
|
|
network:
|
|
type: object
|
|
properties:
|
|
bytesIn:
|
|
type: string
|
|
bytesOut:
|
|
type: string
|
|
numRequests:
|
|
type: string
|
|
raw:
|
|
type: string
|
|
fileSize:
|
|
type: number
|
|
storageEngine:
|
|
type: string
|
|
host:
|
|
type: string
|
|
version:
|
|
type: string
|
|
uptime:
|
|
type: number
|
|
mongo:
|
|
type: boolean
|
|
/api/admin/advanced/events:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/advanced/events
|
|
responses: {}
|
|
/api/admin/advanced/hooks:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/advanced/hooks
|
|
responses: {}
|
|
/api/admin/advanced/logs:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/advanced/logs
|
|
responses: {}
|
|
/api/admin/advanced/errors:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/advanced/errors
|
|
responses: {}
|
|
/api/admin/advanced/errors/export:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/advanced/errors/export
|
|
responses: {}
|
|
/api/admin/advanced/cache:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/advanced/cache
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
postCache:
|
|
type: object
|
|
properties:
|
|
length:
|
|
type: number
|
|
max:
|
|
type: number
|
|
itemCount:
|
|
type: number
|
|
percentFull:
|
|
type: string
|
|
avgPostSize:
|
|
type: number
|
|
hits:
|
|
type: string
|
|
misses:
|
|
type: string
|
|
hitRatio:
|
|
type: string
|
|
groupCache:
|
|
type: object
|
|
properties:
|
|
length:
|
|
type: number
|
|
max:
|
|
type: number
|
|
itemCount:
|
|
type: number
|
|
percentFull:
|
|
type: string
|
|
hits:
|
|
type: string
|
|
misses:
|
|
type: string
|
|
hitRatio:
|
|
type: string
|
|
localCache:
|
|
type: object
|
|
properties:
|
|
length:
|
|
type: number
|
|
max:
|
|
type: number
|
|
itemCount:
|
|
type: number
|
|
percentFull:
|
|
type: string
|
|
dump:
|
|
type: boolean
|
|
hits:
|
|
type: string
|
|
misses:
|
|
type: string
|
|
hitRatio:
|
|
type: string
|
|
objectCache:
|
|
type: object
|
|
properties:
|
|
length:
|
|
type: number
|
|
max:
|
|
type: number
|
|
itemCount:
|
|
type: number
|
|
percentFull:
|
|
type: string
|
|
hits:
|
|
type: string
|
|
misses:
|
|
type: string
|
|
hitRatio:
|
|
type: string
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/admin/development/logger:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/development/logger
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/admin/development/info:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/development/info
|
|
responses: {}
|
|
/api/admin/users/csv:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/users/csv
|
|
responses: {}
|
|
/api/admin/analytics:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/analytics
|
|
responses: {}
|
|
/api/admin/category/uploadpicture:
|
|
post:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/category/uploadpicture
|
|
responses: {}
|
|
/api/admin/uploadfavicon:
|
|
post:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/uploadfavicon
|
|
responses: {}
|
|
/api/admin/uploadTouchIcon:
|
|
post:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/uploadTouchIcon
|
|
responses: {}
|
|
/api/admin/uploadlogo:
|
|
post:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/uploadlogo
|
|
responses: {}
|
|
/api/admin/uploadOgImage:
|
|
post:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/uploadOgImage
|
|
responses: {}
|
|
/api/admin/upload/sound:
|
|
post:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/upload/sound
|
|
responses: {}
|
|
/api/admin/upload/file:
|
|
post:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/upload/file
|
|
responses: {}
|
|
/api/admin/uploadDefaultAvatar:
|
|
post:
|
|
tags:
|
|
- admin
|
|
summary: /api/admin/uploadDefaultAvatar
|
|
responses: {}
|
|
/api/config:
|
|
get:
|
|
tags:
|
|
- home
|
|
summary: /api/config
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
relative_path:
|
|
type: string
|
|
upload_url:
|
|
type: string
|
|
siteTitle:
|
|
type: string
|
|
browserTitle:
|
|
type: string
|
|
titleLayout:
|
|
type: string
|
|
showSiteTitle:
|
|
type: boolean
|
|
minimumTitleLength:
|
|
type: number
|
|
maximumTitleLength:
|
|
type: number
|
|
minimumPostLength:
|
|
type: number
|
|
maximumPostLength:
|
|
type: number
|
|
minimumTagsPerTopic:
|
|
type: number
|
|
maximumTagsPerTopic:
|
|
type: number
|
|
minimumTagLength:
|
|
type: number
|
|
maximumTagLength:
|
|
type: number
|
|
useOutgoingLinksPage:
|
|
type: boolean
|
|
allowGuestHandles:
|
|
type: boolean
|
|
allowFileUploads:
|
|
type: boolean
|
|
allowTopicsThumbnail:
|
|
type: boolean
|
|
usePagination:
|
|
type: boolean
|
|
disableChat:
|
|
type: boolean
|
|
disableChatMessageEditing:
|
|
type: boolean
|
|
maximumChatMessageLength:
|
|
type: number
|
|
socketioTransports:
|
|
type: array
|
|
items:
|
|
type: string
|
|
socketioOrigins:
|
|
type: string
|
|
websocketAddress:
|
|
type: string
|
|
maxReconnectionAttempts:
|
|
type: number
|
|
reconnectionDelay:
|
|
type: number
|
|
topicsPerPage:
|
|
type: number
|
|
postsPerPage:
|
|
type: number
|
|
maximumFileSize:
|
|
type: number
|
|
theme:id:
|
|
type: string
|
|
theme:src:
|
|
type: string
|
|
defaultLang:
|
|
type: string
|
|
userLang:
|
|
type: string
|
|
loggedIn:
|
|
type: boolean
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
cache-buster:
|
|
type: string
|
|
requireEmailConfirmation:
|
|
type: boolean
|
|
topicPostSort:
|
|
type: string
|
|
categoryTopicSort:
|
|
type: string
|
|
csrf_token:
|
|
type: string
|
|
searchEnabled:
|
|
type: boolean
|
|
bootswatchSkin:
|
|
type: string
|
|
enablePostHistory:
|
|
type: boolean
|
|
notificationAlertTimeout:
|
|
type: number
|
|
timeagoCutoff:
|
|
type: number
|
|
timeagoCodes:
|
|
type: array
|
|
items:
|
|
type: string
|
|
cookies:
|
|
type: object
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
message:
|
|
type: string
|
|
dismiss:
|
|
type: string
|
|
link:
|
|
type: string
|
|
link_url:
|
|
type: string
|
|
acpLang:
|
|
type: string
|
|
topicSearchEnabled:
|
|
type: boolean
|
|
hideSubCategories:
|
|
type: boolean
|
|
hideCategoryLastPost:
|
|
type: boolean
|
|
enableQuickReply:
|
|
type: boolean
|
|
markdown:
|
|
type: object
|
|
properties:
|
|
highlight:
|
|
type: number
|
|
highlightLinesLanguageList:
|
|
type: array
|
|
items: {}
|
|
theme:
|
|
type: string
|
|
question-and-answer:
|
|
type: object
|
|
properties:
|
|
defaultCid_13:
|
|
type: string
|
|
defaultCid_1:
|
|
type: string
|
|
defaultCid_5:
|
|
type: string
|
|
forceQuestions:
|
|
type: string
|
|
defaultCid_2:
|
|
type: string
|
|
defaultCid_6:
|
|
type: string
|
|
defaultCid_3:
|
|
type: string
|
|
defaultCid_15:
|
|
type: string
|
|
defaultCid_7:
|
|
type: string
|
|
defaultCid_10:
|
|
type: string
|
|
defaultCid_16:
|
|
type: string
|
|
defaultCid_21:
|
|
type: string
|
|
defaultCid_8:
|
|
type: string
|
|
defaultCid_4:
|
|
type: string
|
|
defaultCid_14:
|
|
type: string
|
|
defaultCid_17:
|
|
type: string
|
|
defaultCid_18:
|
|
type: string
|
|
defaultCid_19:
|
|
type: string
|
|
defaultCid_20:
|
|
type: string
|
|
defaultCid_22:
|
|
type: string
|
|
defaultCid_26:
|
|
type: string
|
|
composer-default:
|
|
type: object
|
|
properties: {}
|
|
sso-google:
|
|
type: object
|
|
properties:
|
|
style:
|
|
type: string
|
|
/api/me:
|
|
get:
|
|
tags:
|
|
- shorthand
|
|
summary: /api/me
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: components/schemas/UserObject.yaml#/UserObjectFull
|
|
"/api/user/uid/{uid}":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/uid/{uid}
|
|
parameters:
|
|
- name: uid
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: components/schemas/UserObject.yaml#/UserObject
|
|
"/api/user/username/{username}":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/username/{username}
|
|
parameters:
|
|
- name: username
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: components/schemas/UserObject.yaml#/UserObject
|
|
"/api/user/email/{email}":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/email/{email}
|
|
parameters:
|
|
- name: email
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: components/schemas/UserObject.yaml#/UserObject
|
|
"/api/user/uid/{userslug}/export/posts":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/uid/{userslug}/export/posts
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses: {}
|
|
"/api/user/uid/{userslug}/export/uploads":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/uid/{userslug}/export/uploads
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"401":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
title: not-authorized
|
|
type: undefined
|
|
"/api/user/uid/{userslug}/export/profile":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/uid/{userslug}/export/profile
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses: {}
|
|
"/api/{type}/pid/{id}":
|
|
get:
|
|
tags:
|
|
- shorthand
|
|
summary: /api/{type}/pid/{id}
|
|
parameters:
|
|
- name: type
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses: {}
|
|
"/api/{type}/tid/{id}":
|
|
get:
|
|
tags:
|
|
- shorthand
|
|
summary: /api/{type}/tid/{id}
|
|
parameters:
|
|
- name: type
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses: {}
|
|
"/api/{type}/cid/{id}":
|
|
get:
|
|
tags:
|
|
- shorthand
|
|
summary: /api/{type}/cid/{id}
|
|
parameters:
|
|
- name: type
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses: {}
|
|
/api/categories:
|
|
get:
|
|
tags:
|
|
- categories
|
|
summary: Get a list of categories
|
|
description: >
|
|
This route retrieve the list of categories currently available to the
|
|
accessing user. It doesn't necessarily mean that the user can *enter*
|
|
the category, as that is a separate privilege. Specifically, this route
|
|
will return all categories that grant the calling user the "Find
|
|
Category" privilege.
|
|
|
|
|
|
Subcategories are also returned, nested under a category's `children` property.
|
|
responses:
|
|
"200":
|
|
description: A list of category objectscurrently available to the accessing user
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
title:
|
|
description: The category title
|
|
type: string
|
|
categories:
|
|
description: A collection of category data objects
|
|
type: array
|
|
items:
|
|
allOf:
|
|
- $ref: components/schemas/CategoryObject.yaml#/CategoryObject
|
|
- type: object
|
|
properties:
|
|
tagWhitelist:
|
|
type: array
|
|
items: {}
|
|
unread-class:
|
|
type: string
|
|
children:
|
|
type: array
|
|
items:
|
|
allOf:
|
|
- $ref: components/schemas/CategoryObject.yaml#/CategoryObject
|
|
- type: object
|
|
properties:
|
|
tagWhitelist:
|
|
type: array
|
|
items: {}
|
|
unread-class:
|
|
type: string
|
|
children:
|
|
type: array
|
|
items:
|
|
$ref: components/schemas/CategoryObject.yaml#/CategoryObject
|
|
parent:
|
|
allOf:
|
|
- $ref: components/schemas/CategoryObject.yaml#/CategoryObject
|
|
- type: object
|
|
properties:
|
|
tagWhitelist:
|
|
type: array
|
|
items: {}
|
|
unread-class:
|
|
type: string
|
|
posts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
timestamp:
|
|
type: number
|
|
content:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to
|
|
users without an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction
|
|
with `icon:text` for the user's
|
|
auto-generated icon
|
|
example: "#f44336"
|
|
index:
|
|
type: number
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
parentCid:
|
|
type: number
|
|
description: The category identifier for the category that is the immediate
|
|
ancestor of the current category
|
|
topic:
|
|
type: object
|
|
properties:
|
|
slug:
|
|
type: string
|
|
title:
|
|
type: string
|
|
imageClass:
|
|
type: string
|
|
timesClicked:
|
|
type: number
|
|
posts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
timestamp:
|
|
type: number
|
|
content:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users
|
|
without an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's
|
|
auto-generated icon
|
|
example: "#f44336"
|
|
index:
|
|
type: number
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
parentCid:
|
|
type: number
|
|
description: The category identifier for the category that is the immediate
|
|
ancestor of the current category
|
|
topic:
|
|
type: object
|
|
properties:
|
|
slug:
|
|
type: string
|
|
title:
|
|
type: string
|
|
teaser:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
pid:
|
|
type: number
|
|
topic:
|
|
type: object
|
|
properties:
|
|
slug:
|
|
type: string
|
|
title:
|
|
type: string
|
|
imageClass:
|
|
type: string
|
|
topics:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
mainPid:
|
|
type: number
|
|
description: The post id of the first post in this topic (also called the
|
|
"original post")
|
|
title:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
lastposttime:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
viewcount:
|
|
type: number
|
|
teaserPid:
|
|
type: number
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
deleted:
|
|
type: number
|
|
locked:
|
|
type: number
|
|
pinned:
|
|
type: number
|
|
description: Whether or not this particular topic is pinned to the top of the
|
|
category
|
|
titleRaw:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
lastposttimeISO:
|
|
type: string
|
|
votes:
|
|
type: number
|
|
category:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
image:
|
|
nullable: true
|
|
imageClass:
|
|
nullable: true
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
color:
|
|
type: string
|
|
disabled:
|
|
type: number
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
fullname:
|
|
type: string
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
reputation:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
signature:
|
|
nullable: true
|
|
type: string
|
|
banned:
|
|
type: number
|
|
status:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
banned_until_readable:
|
|
type: string
|
|
teaser:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
timestamp:
|
|
type: number
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users
|
|
without an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's
|
|
auto-generated icon
|
|
example: "#f44336"
|
|
index:
|
|
type: number
|
|
tags:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: string
|
|
valueEscaped:
|
|
type: string
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
score:
|
|
type: number
|
|
isOwner:
|
|
type: boolean
|
|
ignored:
|
|
type: boolean
|
|
unread:
|
|
type: boolean
|
|
bookmark:
|
|
nullable: true
|
|
unreplied:
|
|
type: boolean
|
|
icons:
|
|
type: array
|
|
items: {}
|
|
index:
|
|
type: number
|
|
thumb:
|
|
type: string
|
|
isQuestion:
|
|
nullable: true
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/categories/{cid}/moderators":
|
|
get:
|
|
tags:
|
|
- categories
|
|
summary: Get mods for a category
|
|
description: >
|
|
This route returns an array of uids that correspond to the moderators
|
|
for the category in question.
|
|
parameters:
|
|
- name: cid
|
|
description: The category identifier for the category you wish to look up
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: number
|
|
responses:
|
|
"200":
|
|
description: An array of moderators for the requested category
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
moderators:
|
|
type: array
|
|
example:
|
|
moderators:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
"/api/recent/posts/{term?}":
|
|
get:
|
|
tags:
|
|
- topics
|
|
summary: /api/recent/posts/{term?}
|
|
parameters:
|
|
- name: term?
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
timestamp:
|
|
type: number
|
|
deleted:
|
|
type: boolean
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
votes:
|
|
type: number
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
status:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with `icon:text` for
|
|
the user's auto-generated icon
|
|
example: "#f44336"
|
|
topic:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
title:
|
|
type: string
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
slug:
|
|
type: string
|
|
deleted:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
mainPid:
|
|
type: number
|
|
description: The post id of the first post in this topic (also called the
|
|
"original post")
|
|
titleRaw:
|
|
type: string
|
|
category:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
parentCid:
|
|
type: number
|
|
description: The category identifier for the category that is the immediate
|
|
ancestor of the current category
|
|
bgColor:
|
|
type: string
|
|
color:
|
|
type: string
|
|
image:
|
|
nullable: true
|
|
imageClass:
|
|
nullable: true
|
|
type: string
|
|
isMainPost:
|
|
type: boolean
|
|
/api/unread/total:
|
|
get:
|
|
tags:
|
|
- posts
|
|
summary: /api/unread/total
|
|
responses: {}
|
|
"/api/topic/teaser/{topic_id}":
|
|
get:
|
|
tags:
|
|
- topics
|
|
summary: /api/topic/teaser/{topic_id}
|
|
parameters:
|
|
- name: topic_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses: {}
|
|
"/api/topic/pagination/{topic_id}":
|
|
get:
|
|
tags:
|
|
- topics
|
|
summary: /api/topic/pagination/{topic_id}
|
|
parameters:
|
|
- name: topic_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
rel:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
rel:
|
|
type: string
|
|
href:
|
|
type: string
|
|
pages:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: number
|
|
active:
|
|
type: boolean
|
|
qs:
|
|
type: string
|
|
currentPage:
|
|
type: number
|
|
pageCount:
|
|
type: number
|
|
prev:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: number
|
|
active:
|
|
type: boolean
|
|
qs:
|
|
type: string
|
|
next:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: number
|
|
active:
|
|
type: boolean
|
|
qs:
|
|
type: string
|
|
first:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: number
|
|
active:
|
|
type: boolean
|
|
qs:
|
|
type: string
|
|
last:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: number
|
|
active:
|
|
type: boolean
|
|
qs:
|
|
type: string
|
|
/api/post/upload:
|
|
post:
|
|
tags:
|
|
- posts
|
|
summary: /api/post/upload
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
text/plain:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
"403":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
example: Forbidden
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
example: Forbidden
|
|
"500":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
error:
|
|
type: string
|
|
text/plain:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
error:
|
|
type: string
|
|
/api/topic/thumb/upload:
|
|
post:
|
|
tags:
|
|
- topics
|
|
summary: /api/topic/thumb/upload
|
|
responses: {}
|
|
"/api/user/{userslug}/uploadpicture":
|
|
post:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/uploadpicture
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
"/api/user/{userslug}/uploadcover":
|
|
post:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/uploadcover
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses: {}
|
|
/api/groups/uploadpicture:
|
|
post:
|
|
tags:
|
|
- groups
|
|
summary: /api/groups/uploadpicture
|
|
responses: {}
|
|
/api/login:
|
|
get:
|
|
tags:
|
|
- authentication
|
|
summary: /api/login
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
loginFormEntry:
|
|
type: array
|
|
items: {}
|
|
alternate_logins:
|
|
type: boolean
|
|
authentication:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
callbackURL:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
scope:
|
|
type: string
|
|
prompt:
|
|
type: string
|
|
allowRegistration:
|
|
type: boolean
|
|
allowLoginWith:
|
|
type: string
|
|
title:
|
|
type: string
|
|
allowPasswordReset:
|
|
type: boolean
|
|
allowLocalLogin:
|
|
type: boolean
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/register:
|
|
get:
|
|
tags:
|
|
- authentication
|
|
summary: /api/register
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
register_window:spansize:
|
|
type: string
|
|
alternate_logins:
|
|
type: boolean
|
|
authentication:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
callbackURL:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
scope:
|
|
type: string
|
|
prompt:
|
|
type: string
|
|
minimumUsernameLength:
|
|
type: number
|
|
maximumUsernameLength:
|
|
type: number
|
|
minimumPasswordLength:
|
|
type: number
|
|
minimumPasswordStrength:
|
|
type: number
|
|
regFormEntry:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
label:
|
|
type: string
|
|
html:
|
|
type: string
|
|
styleName:
|
|
type: string
|
|
title:
|
|
type: string
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/register/complete:
|
|
get:
|
|
tags:
|
|
- authentication
|
|
summary: /api/register/complete
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
errors:
|
|
type: array
|
|
items: {}
|
|
sections:
|
|
type: array
|
|
items:
|
|
type: string
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/search:
|
|
get:
|
|
tags:
|
|
- search
|
|
summary: /api/search
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
posts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
timestamp:
|
|
type: number
|
|
deleted:
|
|
type: boolean
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
votes:
|
|
type: number
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
status:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
topic:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
title:
|
|
type: string
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
slug:
|
|
type: string
|
|
deleted:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
mainPid:
|
|
type: number
|
|
description: The post id of the first post in this topic (also called the
|
|
"original post")
|
|
titleRaw:
|
|
type: string
|
|
category:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
parentCid:
|
|
type: number
|
|
description: The category identifier for the category that is the immediate
|
|
ancestor of the current category
|
|
bgColor:
|
|
type: string
|
|
color:
|
|
type: string
|
|
image:
|
|
nullable: true
|
|
imageClass:
|
|
nullable: true
|
|
type: string
|
|
isMainPost:
|
|
type: boolean
|
|
matchCount:
|
|
type: number
|
|
pageCount:
|
|
type: number
|
|
time:
|
|
type: string
|
|
multiplePages:
|
|
type: boolean
|
|
search_query:
|
|
type: string
|
|
term:
|
|
type: string
|
|
categories:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
value:
|
|
oneOf:
|
|
- type: string
|
|
- type: number
|
|
text:
|
|
type: string
|
|
categoriesCount:
|
|
type: number
|
|
expandSearch:
|
|
type: boolean
|
|
showAsPosts:
|
|
type: boolean
|
|
showAsTopics:
|
|
type: boolean
|
|
title:
|
|
type: string
|
|
searchDefaultSortBy:
|
|
type: string
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/reset/{code?}":
|
|
get:
|
|
tags:
|
|
- authentication
|
|
summary: /api/reset/{code?}
|
|
parameters:
|
|
- name: code?
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses: {}
|
|
"/api/email/unsubscribe/{token}":
|
|
get:
|
|
tags:
|
|
- emails
|
|
summary: /api/email/unsubscribe/{token}
|
|
parameters:
|
|
- name: token
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses: {}
|
|
"/api/topic/{topic_id}/{slug}/{post_index?}":
|
|
get:
|
|
tags:
|
|
- topics
|
|
summary: /api/topic/{topic_id}/{slug}/{post_index?}
|
|
parameters:
|
|
- name: topic_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: slug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: post_index?
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/CategoryObject.yaml#/CategoryObject
|
|
- type: object
|
|
properties:
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
mainPid:
|
|
type: number
|
|
description: The post id of the first post in this topic (also called the
|
|
"original post")
|
|
title:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
lastposttime:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
viewcount:
|
|
type: number
|
|
teaserPid:
|
|
type: number
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
deleted:
|
|
type: number
|
|
locked:
|
|
type: number
|
|
pinned:
|
|
type: number
|
|
description: Whether or not this particular topic is pinned to the top of the
|
|
category
|
|
titleRaw:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
lastposttimeISO:
|
|
type: string
|
|
votes:
|
|
type: number
|
|
tags:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: string
|
|
valueEscaped:
|
|
type: string
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
score:
|
|
type: number
|
|
posts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
votes:
|
|
type: number
|
|
deleted:
|
|
type: number
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
deleterUid:
|
|
type: number
|
|
edited:
|
|
type: number
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
editedISO:
|
|
type: string
|
|
index:
|
|
type: number
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
reputation:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
topiccount:
|
|
type: number
|
|
picture:
|
|
type: string
|
|
signature:
|
|
type: string
|
|
banned:
|
|
type: number
|
|
banned:expire:
|
|
type: number
|
|
status:
|
|
type: string
|
|
lastonline:
|
|
type: number
|
|
groupTitle:
|
|
nullable: true
|
|
type: string
|
|
groupTitleArray:
|
|
type: array
|
|
items:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
lastonlineISO:
|
|
type: string
|
|
banned_until:
|
|
type: number
|
|
banned_until_readable:
|
|
type: string
|
|
selectedGroups:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
labelColor:
|
|
type: string
|
|
textColor:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
userTitle:
|
|
type: string
|
|
custom_profile_info:
|
|
type: array
|
|
items: {}
|
|
editor:
|
|
nullable: true
|
|
bookmarked:
|
|
type: boolean
|
|
upvoted:
|
|
type: boolean
|
|
downvoted:
|
|
type: boolean
|
|
replies:
|
|
type: object
|
|
properties:
|
|
hasMore:
|
|
type: boolean
|
|
users:
|
|
type: array
|
|
items: {}
|
|
text:
|
|
type: string
|
|
count:
|
|
type: number
|
|
selfPost:
|
|
type: boolean
|
|
display_edit_tools:
|
|
type: boolean
|
|
display_delete_tools:
|
|
type: boolean
|
|
display_moderator_tools:
|
|
type: boolean
|
|
display_move_tools:
|
|
type: boolean
|
|
display_post_menu:
|
|
type: boolean
|
|
tagWhitelist:
|
|
type: array
|
|
items: {}
|
|
thread_tools:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
class:
|
|
type: string
|
|
title:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
isFollowing:
|
|
type: boolean
|
|
isNotFollowing:
|
|
type: boolean
|
|
isIgnoring:
|
|
type: boolean
|
|
bookmark:
|
|
nullable: true
|
|
postSharing:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
class:
|
|
type: string
|
|
activated:
|
|
type: boolean
|
|
deleter:
|
|
nullable: true
|
|
merger:
|
|
nullable: true
|
|
related:
|
|
type: array
|
|
items: {}
|
|
unreplied:
|
|
type: boolean
|
|
icons:
|
|
type: array
|
|
items: {}
|
|
privileges:
|
|
type: object
|
|
properties:
|
|
topics:reply:
|
|
type: boolean
|
|
topics:read:
|
|
type: boolean
|
|
topics:tag:
|
|
type: boolean
|
|
topics:delete:
|
|
type: boolean
|
|
posts:edit:
|
|
type: boolean
|
|
posts:history:
|
|
type: boolean
|
|
posts:delete:
|
|
type: boolean
|
|
posts:view_deleted:
|
|
type: boolean
|
|
read:
|
|
type: boolean
|
|
purge:
|
|
type: boolean
|
|
view_thread_tools:
|
|
type: boolean
|
|
editable:
|
|
type: boolean
|
|
deletable:
|
|
type: boolean
|
|
view_deleted:
|
|
type: boolean
|
|
isAdminOrMod:
|
|
type: boolean
|
|
disabled:
|
|
type: number
|
|
tid:
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
topicStaleDays:
|
|
type: number
|
|
reputation:disabled:
|
|
type: number
|
|
downvote:disabled:
|
|
type: number
|
|
feeds:disableRSS:
|
|
type: number
|
|
bookmarkThreshold:
|
|
type: number
|
|
postEditDuration:
|
|
type: number
|
|
postDeleteDuration:
|
|
type: number
|
|
scrollToMyPost:
|
|
type: boolean
|
|
allowMultipleBadges:
|
|
type: boolean
|
|
privateUploads:
|
|
type: boolean
|
|
rssFeedUrl:
|
|
type: string
|
|
postIndex:
|
|
type: number
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/topic/{topic_id}/{slug?}":
|
|
get:
|
|
tags:
|
|
- topics
|
|
summary: /api/topic/{topic_id}/{slug?}
|
|
parameters:
|
|
- name: topic_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: slug?
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/CategoryObject.yaml#/CategoryObject
|
|
- type: object
|
|
properties:
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
mainPid:
|
|
type: number
|
|
description: The post id of the first post in this topic (also called the
|
|
"original post")
|
|
title:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
lastposttime:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
viewcount:
|
|
type: number
|
|
teaserPid:
|
|
type: number
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
deleted:
|
|
type: number
|
|
locked:
|
|
type: number
|
|
pinned:
|
|
type: number
|
|
description: Whether or not this particular topic is pinned to the top of the
|
|
category
|
|
titleRaw:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
lastposttimeISO:
|
|
type: string
|
|
votes:
|
|
type: number
|
|
tags:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: string
|
|
valueEscaped:
|
|
type: string
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
score:
|
|
type: number
|
|
posts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
editor:
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
nullable: true
|
|
type: object
|
|
votes:
|
|
type: number
|
|
timestamp:
|
|
type: number
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
pid:
|
|
type: number
|
|
edited:
|
|
type: number
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
upvotes:
|
|
type: number
|
|
bookmarks:
|
|
type: number
|
|
replies:
|
|
type: object
|
|
properties:
|
|
hasMore:
|
|
type: boolean
|
|
users:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users
|
|
without an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's
|
|
auto-generated icon
|
|
example: "#f44336"
|
|
administrator:
|
|
type: boolean
|
|
text:
|
|
type: string
|
|
count:
|
|
type: number
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
deleted:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
deleterUid:
|
|
type: number
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
editedISO:
|
|
type: string
|
|
index:
|
|
type: number
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
fullname:
|
|
type: string
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
reputation:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
topiccount:
|
|
type: number
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
signature:
|
|
type: string
|
|
banned:
|
|
type: number
|
|
banned:expire:
|
|
type: number
|
|
status:
|
|
type: string
|
|
lastonline:
|
|
type: number
|
|
groupTitle:
|
|
nullable: true
|
|
type: string
|
|
groupTitleArray:
|
|
type: array
|
|
items:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
lastonlineISO:
|
|
type: string
|
|
banned_until:
|
|
type: number
|
|
banned_until_readable:
|
|
type: string
|
|
selectedGroups:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
labelColor:
|
|
type: string
|
|
textColor:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
userTitle:
|
|
type: string
|
|
custom_profile_info:
|
|
type: array
|
|
items: {}
|
|
bookmarked:
|
|
type: boolean
|
|
upvoted:
|
|
type: boolean
|
|
downvoted:
|
|
type: boolean
|
|
selfPost:
|
|
type: boolean
|
|
display_edit_tools:
|
|
type: boolean
|
|
display_delete_tools:
|
|
type: boolean
|
|
display_moderator_tools:
|
|
type: boolean
|
|
display_move_tools:
|
|
type: boolean
|
|
display_post_menu:
|
|
type: boolean
|
|
toPid:
|
|
type: number
|
|
parent:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
tagWhitelist:
|
|
type: array
|
|
items: {}
|
|
thread_tools:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
class:
|
|
type: string
|
|
title:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
isFollowing:
|
|
type: boolean
|
|
isNotFollowing:
|
|
type: boolean
|
|
isIgnoring:
|
|
type: boolean
|
|
bookmark:
|
|
nullable: true
|
|
postSharing:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
class:
|
|
type: string
|
|
activated:
|
|
type: boolean
|
|
deleter:
|
|
nullable: true
|
|
merger:
|
|
nullable: true
|
|
related:
|
|
type: array
|
|
items: {}
|
|
unreplied:
|
|
type: boolean
|
|
icons:
|
|
type: array
|
|
items: {}
|
|
privileges:
|
|
type: object
|
|
properties:
|
|
topics:reply:
|
|
type: boolean
|
|
topics:read:
|
|
type: boolean
|
|
topics:tag:
|
|
type: boolean
|
|
topics:delete:
|
|
type: boolean
|
|
posts:edit:
|
|
type: boolean
|
|
posts:history:
|
|
type: boolean
|
|
posts:delete:
|
|
type: boolean
|
|
posts:view_deleted:
|
|
type: boolean
|
|
read:
|
|
type: boolean
|
|
purge:
|
|
type: boolean
|
|
view_thread_tools:
|
|
type: boolean
|
|
editable:
|
|
type: boolean
|
|
deletable:
|
|
type: boolean
|
|
view_deleted:
|
|
type: boolean
|
|
isAdminOrMod:
|
|
type: boolean
|
|
disabled:
|
|
type: number
|
|
tid:
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
topicStaleDays:
|
|
type: number
|
|
reputation:disabled:
|
|
type: number
|
|
downvote:disabled:
|
|
type: number
|
|
feeds:disableRSS:
|
|
type: number
|
|
bookmarkThreshold:
|
|
type: number
|
|
postEditDuration:
|
|
type: number
|
|
postDeleteDuration:
|
|
type: number
|
|
scrollToMyPost:
|
|
type: boolean
|
|
allowMultipleBadges:
|
|
type: boolean
|
|
privateUploads:
|
|
type: boolean
|
|
rssFeedUrl:
|
|
type: string
|
|
postIndex:
|
|
type: number
|
|
loggedInUser:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
picture:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without an
|
|
avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with `icon:text` for
|
|
the user's auto-generated icon
|
|
example: "#f44336"
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/post/{pid}":
|
|
get:
|
|
tags:
|
|
- shorthand
|
|
summary: /api/post/{pid}
|
|
parameters:
|
|
- name: pid
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
title: /topic/9995/cannot-post-or-reply-to-posts-in-nodebb-mobile-version/14?_=1574522486637&lang=en-US
|
|
type: undefined
|
|
text/plain:
|
|
schema:
|
|
title: /topic/9995/cannot-post-or-reply-to-posts-in-nodebb-mobile-version/14?_=1574522486637&lang=en-US
|
|
type: undefined
|
|
"404":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
example: Not Found
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
example: Not Found
|
|
/api/flags:
|
|
get:
|
|
tags:
|
|
- flags
|
|
summary: /api/flags
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
flags:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
state:
|
|
type: string
|
|
flagId:
|
|
type: number
|
|
type:
|
|
type: string
|
|
targetId:
|
|
oneOf:
|
|
- type: string
|
|
- type: number
|
|
description:
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
datetime:
|
|
type: number
|
|
reporter:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
labelClass:
|
|
type: string
|
|
target_readable:
|
|
type: string
|
|
datetimeISO:
|
|
type: string
|
|
assignee:
|
|
type: string
|
|
analytics:
|
|
type: array
|
|
items:
|
|
type: number
|
|
categories:
|
|
type: object
|
|
properties:
|
|
"1":
|
|
type: string
|
|
"2":
|
|
type: string
|
|
"3":
|
|
type: string
|
|
"4":
|
|
type: string
|
|
"5":
|
|
type: string
|
|
"6":
|
|
type: string
|
|
"7":
|
|
type: string
|
|
"10":
|
|
type: string
|
|
"13":
|
|
type: string
|
|
"14":
|
|
type: string
|
|
"15":
|
|
type: string
|
|
"16":
|
|
type: string
|
|
"17":
|
|
type: string
|
|
"18":
|
|
type: string
|
|
"19":
|
|
type: string
|
|
"21":
|
|
type: string
|
|
"22":
|
|
type: string
|
|
"26":
|
|
type: string
|
|
hasFilter:
|
|
type: boolean
|
|
filters:
|
|
type: object
|
|
properties:
|
|
page:
|
|
type: number
|
|
perPage:
|
|
type: number
|
|
title:
|
|
type: string
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/flags/{flagId}":
|
|
get:
|
|
tags:
|
|
- flags
|
|
summary: /api/flags/{flagId}
|
|
parameters:
|
|
- name: flagId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
state:
|
|
type: string
|
|
flagId:
|
|
type: number
|
|
type:
|
|
type: string
|
|
targetId:
|
|
type: string
|
|
description:
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
datetime:
|
|
type: number
|
|
datetimeISO:
|
|
type: string
|
|
target_readable:
|
|
type: string
|
|
target:
|
|
type: object
|
|
properties: {}
|
|
history:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
fields:
|
|
type: object
|
|
properties:
|
|
state:
|
|
type: string
|
|
datetime:
|
|
type: number
|
|
datetimeISO:
|
|
type: string
|
|
user:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
notes:
|
|
type: array
|
|
items: {}
|
|
reporter:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
reputation:
|
|
type: number
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without an
|
|
avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with `icon:text` for
|
|
the user's auto-generated icon
|
|
example: "#f44336"
|
|
type_path:
|
|
type: string
|
|
assignees:
|
|
type: array
|
|
items:
|
|
$ref: components/schemas/UserObject.yaml#/UserObject
|
|
type_bool:
|
|
type: object
|
|
properties:
|
|
post:
|
|
type: boolean
|
|
user:
|
|
type: boolean
|
|
empty:
|
|
type: boolean
|
|
title:
|
|
type: string
|
|
categories:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/post-queue:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/post-queue
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
posts:
|
|
type: array
|
|
items:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
type:
|
|
type: string
|
|
data:
|
|
type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
content:
|
|
type: string
|
|
thumb:
|
|
type: string
|
|
cid:
|
|
oneOf:
|
|
- type: number
|
|
- type: string
|
|
tags:
|
|
type: array
|
|
items: {}
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
req:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
ip:
|
|
type: string
|
|
host:
|
|
type: string
|
|
protocol:
|
|
type: string
|
|
secure:
|
|
type: boolean
|
|
url:
|
|
type: string
|
|
path:
|
|
type: string
|
|
headers:
|
|
type: object
|
|
properties:
|
|
x-real-ip:
|
|
type: string
|
|
x-forwarded-for:
|
|
type: string
|
|
x-forwarded-proto:
|
|
type: string
|
|
host:
|
|
type: string
|
|
x-nginx-proxy:
|
|
type: string
|
|
connection:
|
|
type: string
|
|
accept:
|
|
type: string
|
|
user-agent:
|
|
type: string
|
|
sec-fetch-site:
|
|
type: string
|
|
sec-fetch-mode:
|
|
type: string
|
|
referer:
|
|
type: string
|
|
accept-encoding:
|
|
type: string
|
|
accept-language:
|
|
type: string
|
|
cookie:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
fromQueue:
|
|
type: boolean
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
rawContent:
|
|
type: string
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
toPid:
|
|
nullable: true
|
|
user:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
topic:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
oneOf:
|
|
- type: number
|
|
- type: string
|
|
title:
|
|
type: string
|
|
titleRaw:
|
|
type: string
|
|
- $ref: components/schemas/CategoryObject.yaml#/CategoryObject
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/ip-blacklist:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/ip-blacklist
|
|
responses: {}
|
|
/api/registration-queue:
|
|
get:
|
|
tags:
|
|
- admin
|
|
summary: /api/registration-queue
|
|
responses: {}
|
|
"/api/tags/{tag}":
|
|
get:
|
|
tags:
|
|
- tags
|
|
summary: /api/tags/{tag}
|
|
description: Returns a list of topics that are tagged with {tag}
|
|
parameters:
|
|
- name: tag
|
|
description: The tag used to retrieve the topics
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: page
|
|
description: Page number used in pagination
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: number
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
topics:
|
|
type: array
|
|
description: An array of topics that are all tagged with {tag}
|
|
items:
|
|
type: object
|
|
properties:
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
mainPid:
|
|
type: number
|
|
description: The post id of the first post in this topic (also called the
|
|
"original post")
|
|
title:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
lastposttime:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
viewcount:
|
|
type: number
|
|
teaserPid:
|
|
oneOf:
|
|
- type: number
|
|
- type: string
|
|
deleted:
|
|
type: number
|
|
locked:
|
|
type: number
|
|
pinned:
|
|
type: number
|
|
description: Whether or not this particular topic is pinned to the top of the
|
|
category
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
titleRaw:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
lastposttimeISO:
|
|
type: string
|
|
votes:
|
|
type: number
|
|
category:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
image:
|
|
nullable: true
|
|
imageClass:
|
|
nullable: true
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
color:
|
|
type: string
|
|
disabled:
|
|
type: number
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
reputation:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
signature:
|
|
nullable: true
|
|
type: string
|
|
banned:
|
|
type: number
|
|
status:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
banned_until_readable:
|
|
type: string
|
|
fullname:
|
|
type: string
|
|
teaser:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
timestamp:
|
|
type: number
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users
|
|
without an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's
|
|
auto-generated icon
|
|
example: "#f44336"
|
|
index:
|
|
type: number
|
|
tags:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: string
|
|
valueEscaped:
|
|
type: string
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
score:
|
|
type: number
|
|
isOwner:
|
|
type: boolean
|
|
ignored:
|
|
type: boolean
|
|
unread:
|
|
type: boolean
|
|
bookmark:
|
|
nullable: true
|
|
unreplied:
|
|
type: boolean
|
|
icons:
|
|
type: array
|
|
items: {}
|
|
index:
|
|
type: number
|
|
thumb:
|
|
type: string
|
|
isQuestion:
|
|
nullable: true
|
|
type: number
|
|
isSolved:
|
|
type: number
|
|
tag:
|
|
type: string
|
|
title:
|
|
type: string
|
|
categories:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
level:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
parentCid:
|
|
type: number
|
|
description: The category identifier for the category that is the immediate
|
|
ancestor of the current category
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
imageClass:
|
|
type: string
|
|
rssFeedUrl:
|
|
type: string
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/tags:
|
|
get:
|
|
tags:
|
|
- tags
|
|
summary: /api/tags
|
|
description: Returns a list of tags sorted by the most topics
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
tags:
|
|
type: array
|
|
description: An array of tags sorted by the most topics
|
|
items:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: string
|
|
description: The raw tag
|
|
score:
|
|
type: number
|
|
description: Number of topics tagged by this tag
|
|
valueEscaped:
|
|
type: string
|
|
description: This is the escaped tag value, equal to validator.escape(value)
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
displayTagSearch:
|
|
type: boolean
|
|
nextStart:
|
|
type: number
|
|
title:
|
|
type: string
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/popular:
|
|
get:
|
|
tags:
|
|
- topics
|
|
summary: Popular Topics
|
|
description: Returns a list of topics sorted by most replies. In an event of a
|
|
tie breaker, the topic with the most views. Can be filtered by All Time,
|
|
Day, Week, or Month.
|
|
responses:
|
|
"200":
|
|
description: An array of topic objects sorted by most replies and views.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
nextStart:
|
|
type: number
|
|
topicCount:
|
|
type: number
|
|
topics:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
title:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
lastposttime:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
viewcount:
|
|
type: number
|
|
pinned:
|
|
type: number
|
|
description: Whether or not this particular topic is pinned to the top of the
|
|
category
|
|
thumb:
|
|
type: string
|
|
mainPid:
|
|
type: number
|
|
description: The post id of the first post in this topic (also called the
|
|
"original post")
|
|
teaserPid:
|
|
oneOf:
|
|
- type: number
|
|
- type: string
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
deleted:
|
|
type: number
|
|
locked:
|
|
type: number
|
|
titleRaw:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
lastposttimeISO:
|
|
type: string
|
|
votes:
|
|
type: number
|
|
category:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
image:
|
|
nullable: true
|
|
imageClass:
|
|
nullable: true
|
|
bgColor:
|
|
type: string
|
|
color:
|
|
type: string
|
|
disabled:
|
|
type: number
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
fullname:
|
|
type: string
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
reputation:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
signature:
|
|
nullable: true
|
|
type: string
|
|
banned:
|
|
type: number
|
|
status:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
banned_until_readable:
|
|
type: string
|
|
teaser:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
timestamp:
|
|
type: number
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users
|
|
without an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's
|
|
auto-generated icon
|
|
example: "#f44336"
|
|
index:
|
|
type: number
|
|
tags:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: string
|
|
valueEscaped:
|
|
type: string
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
score:
|
|
type: number
|
|
isOwner:
|
|
type: boolean
|
|
ignored:
|
|
type: boolean
|
|
unread:
|
|
type: boolean
|
|
bookmark:
|
|
nullable: true
|
|
unreplied:
|
|
type: boolean
|
|
icons:
|
|
type: array
|
|
items: {}
|
|
index:
|
|
type: number
|
|
tids:
|
|
type: array
|
|
items:
|
|
type: number
|
|
canPost:
|
|
type: boolean
|
|
categories:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
level:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
parentCid:
|
|
type: number
|
|
description: The category identifier for the category that is the immediate
|
|
ancestor of the current category
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
imageClass:
|
|
type: string
|
|
allCategoriesUrl:
|
|
type: string
|
|
selectedCids:
|
|
type: array
|
|
items: {}
|
|
feeds:disableRSS:
|
|
type: number
|
|
rssFeedUrl:
|
|
type: string
|
|
title:
|
|
type: string
|
|
filters:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
filter:
|
|
type: string
|
|
selectedFilter:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
filter:
|
|
type: string
|
|
terms:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
term:
|
|
type: string
|
|
selectedTerm:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
term:
|
|
type: string
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/recent:
|
|
get:
|
|
tags:
|
|
- topics
|
|
summary: Recent Topics
|
|
description: Returns a list of topics sorted by timestamp.
|
|
responses:
|
|
"200":
|
|
description: An array of topic objects sorted by timestamp.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
nextStart:
|
|
type: number
|
|
topicCount:
|
|
type: number
|
|
topics:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
mainPid:
|
|
type: number
|
|
description: The post id of the first post in this topic (also called the
|
|
"original post")
|
|
title:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
lastposttime:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
viewcount:
|
|
type: number
|
|
teaserPid:
|
|
type: number
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
deleted:
|
|
type: number
|
|
locked:
|
|
type: number
|
|
pinned:
|
|
type: number
|
|
description: Whether or not this particular topic is pinned to the top of the
|
|
category
|
|
titleRaw:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
lastposttimeISO:
|
|
type: string
|
|
votes:
|
|
type: number
|
|
category:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
image:
|
|
nullable: true
|
|
imageClass:
|
|
nullable: true
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
color:
|
|
type: string
|
|
disabled:
|
|
type: number
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
fullname:
|
|
type: string
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
reputation:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
signature:
|
|
nullable: true
|
|
type: string
|
|
banned:
|
|
type: number
|
|
status:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
banned_until_readable:
|
|
type: string
|
|
teaser:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
timestamp:
|
|
type: number
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users
|
|
without an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's
|
|
auto-generated icon
|
|
example: "#f44336"
|
|
index:
|
|
type: number
|
|
tags:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: string
|
|
valueEscaped:
|
|
type: string
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
score:
|
|
type: number
|
|
isOwner:
|
|
type: boolean
|
|
ignored:
|
|
type: boolean
|
|
unread:
|
|
type: boolean
|
|
bookmark:
|
|
nullable: true
|
|
unreplied:
|
|
type: boolean
|
|
icons:
|
|
type: array
|
|
items: {}
|
|
index:
|
|
type: number
|
|
thumb:
|
|
type: string
|
|
isQuestion:
|
|
nullable: true
|
|
tids:
|
|
type: array
|
|
items:
|
|
type: number
|
|
canPost:
|
|
type: boolean
|
|
categories:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
level:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
parentCid:
|
|
type: number
|
|
description: The category identifier for the category that is the immediate
|
|
ancestor of the current category
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
imageClass:
|
|
type: string
|
|
allCategoriesUrl:
|
|
type: string
|
|
selectedCids:
|
|
type: array
|
|
items: {}
|
|
feeds:disableRSS:
|
|
type: number
|
|
rssFeedUrl:
|
|
type: string
|
|
title:
|
|
type: string
|
|
filters:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
filter:
|
|
type: string
|
|
selectedFilter:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
filter:
|
|
type: string
|
|
terms:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
term:
|
|
type: string
|
|
selectedTerm:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
term:
|
|
type: string
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/top:
|
|
get:
|
|
tags:
|
|
- topics
|
|
summary: Top Topics
|
|
description: Returns a list of topics sorted by most upvotes.
|
|
responses:
|
|
"200":
|
|
description: An array of topic objects sorted by most upvotes.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
nextStart:
|
|
type: number
|
|
topicCount:
|
|
type: number
|
|
topics:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
mainPid:
|
|
type: number
|
|
description: The post id of the first post in this topic (also called the
|
|
"original post")
|
|
title:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
lastposttime:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
viewcount:
|
|
type: number
|
|
teaserPid:
|
|
type: string
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
deleted:
|
|
type: number
|
|
locked:
|
|
type: number
|
|
pinned:
|
|
type: number
|
|
description: Whether or not this particular topic is pinned to the top of the
|
|
category
|
|
titleRaw:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
lastposttimeISO:
|
|
type: string
|
|
votes:
|
|
type: number
|
|
category:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
image:
|
|
nullable: true
|
|
imageClass:
|
|
nullable: true
|
|
bgColor:
|
|
type: string
|
|
color:
|
|
type: string
|
|
disabled:
|
|
type: number
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
reputation:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
signature:
|
|
nullable: true
|
|
type: string
|
|
banned:
|
|
type: number
|
|
status:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
banned_until_readable:
|
|
type: string
|
|
fullname:
|
|
type: string
|
|
teaser:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
timestamp:
|
|
type: number
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users
|
|
without an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's
|
|
auto-generated icon
|
|
example: "#f44336"
|
|
index:
|
|
type: number
|
|
tags:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: string
|
|
valueEscaped:
|
|
type: string
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
score:
|
|
type: number
|
|
isOwner:
|
|
type: boolean
|
|
ignored:
|
|
type: boolean
|
|
unread:
|
|
type: boolean
|
|
bookmark:
|
|
nullable: true
|
|
unreplied:
|
|
type: boolean
|
|
icons:
|
|
type: array
|
|
items: {}
|
|
index:
|
|
type: number
|
|
thumb:
|
|
type: string
|
|
tids:
|
|
type: array
|
|
items:
|
|
type: number
|
|
canPost:
|
|
type: boolean
|
|
categories:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
level:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
parentCid:
|
|
type: number
|
|
description: The category identifier for the category that is the immediate
|
|
ancestor of the current category
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
imageClass:
|
|
type: string
|
|
allCategoriesUrl:
|
|
type: string
|
|
selectedCategory:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
level:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
parentCid:
|
|
type: number
|
|
description: The category identifier for the category that is the immediate
|
|
ancestor of the current category
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
selectedCids:
|
|
type: array
|
|
items:
|
|
type: number
|
|
feeds:disableRSS:
|
|
type: number
|
|
rssFeedUrl:
|
|
type: string
|
|
title:
|
|
type: string
|
|
filters:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
filter:
|
|
type: string
|
|
selectedFilter:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
filter:
|
|
type: string
|
|
terms:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
term:
|
|
type: string
|
|
selectedTerm:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
term:
|
|
type: string
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/unread:
|
|
get:
|
|
tags:
|
|
- topics
|
|
summary: Unread Topics
|
|
description: Returns a list of the current user's unread topics, sorted by the
|
|
last post's timestamp.
|
|
responses:
|
|
"200":
|
|
description: An array of unread topic objects sorted by the last post's timestamp.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
showSelect:
|
|
type: boolean
|
|
nextStart:
|
|
type: number
|
|
topics:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
mainPid:
|
|
type: number
|
|
description: The post id of the first post in this topic (also called the
|
|
"original post")
|
|
title:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
lastposttime:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
viewcount:
|
|
type: number
|
|
teaserPid:
|
|
type: number
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
deleted:
|
|
type: number
|
|
locked:
|
|
type: number
|
|
pinned:
|
|
type: number
|
|
description: Whether or not this particular topic is pinned to the top of the
|
|
category
|
|
titleRaw:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
lastposttimeISO:
|
|
type: string
|
|
votes:
|
|
type: number
|
|
category:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
image:
|
|
nullable: true
|
|
imageClass:
|
|
nullable: true
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
color:
|
|
type: string
|
|
disabled:
|
|
type: number
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
fullname:
|
|
type: string
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
reputation:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
signature:
|
|
nullable: true
|
|
type: string
|
|
banned:
|
|
type: number
|
|
status:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
banned_until_readable:
|
|
type: string
|
|
teaser:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
timestamp:
|
|
type: number
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users
|
|
without an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's
|
|
auto-generated icon
|
|
example: "#f44336"
|
|
index:
|
|
type: number
|
|
tags:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: string
|
|
valueEscaped:
|
|
type: string
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
score:
|
|
type: number
|
|
isOwner:
|
|
type: boolean
|
|
ignored:
|
|
type: boolean
|
|
unread:
|
|
type: boolean
|
|
bookmark:
|
|
nullable: true
|
|
unreplied:
|
|
type: boolean
|
|
icons:
|
|
type: array
|
|
items: {}
|
|
index:
|
|
type: number
|
|
isQuestion:
|
|
nullable: true
|
|
topicCount:
|
|
type: number
|
|
title:
|
|
type: string
|
|
pageCount:
|
|
type: number
|
|
categories:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
level:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
parentCid:
|
|
type: number
|
|
description: The category identifier for the category that is the immediate
|
|
ancestor of the current category
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
imageClass:
|
|
type: string
|
|
allCategoriesUrl:
|
|
type: string
|
|
selectedCids:
|
|
type: array
|
|
items: {}
|
|
filters:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
filter:
|
|
type: string
|
|
selectedFilter:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
filter:
|
|
type: string
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/category/{category_id}/{slug}/{topic_index}":
|
|
get:
|
|
tags:
|
|
- categories
|
|
summary: /api/category/{category_id}/{slug}/{topic_index}
|
|
parameters:
|
|
- name: category_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: slug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: topic_index
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/CategoryObject.yaml#/CategoryObject
|
|
- type: object
|
|
properties:
|
|
tagWhitelist:
|
|
type: array
|
|
items: {}
|
|
unread-class:
|
|
type: string
|
|
children:
|
|
type: array
|
|
items:
|
|
$ref: components/schemas/CategoryObject.yaml#/CategoryObject
|
|
topics:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
title:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
lastposttime:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
viewcount:
|
|
type: number
|
|
thumb:
|
|
type: string
|
|
mainPid:
|
|
type: number
|
|
description: The post id of the first post in this topic (also called the
|
|
"original post")
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
deleted:
|
|
type: number
|
|
locked:
|
|
type: number
|
|
pinned:
|
|
type: number
|
|
description: Whether or not this particular topic is pinned to the top of the
|
|
category
|
|
titleRaw:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
lastposttimeISO:
|
|
type: string
|
|
votes:
|
|
type: number
|
|
category:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
image:
|
|
nullable: true
|
|
imageClass:
|
|
nullable: true
|
|
bgColor:
|
|
type: string
|
|
color:
|
|
type: string
|
|
disabled:
|
|
type: number
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
reputation:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
signature:
|
|
nullable: true
|
|
type: string
|
|
banned:
|
|
type: number
|
|
status:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
banned_until_readable:
|
|
type: string
|
|
fullname:
|
|
type: string
|
|
teaser:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
timestamp:
|
|
type: number
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users
|
|
without an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's
|
|
auto-generated icon
|
|
example: "#f44336"
|
|
index:
|
|
type: number
|
|
tags:
|
|
type: array
|
|
items: {}
|
|
isOwner:
|
|
type: boolean
|
|
ignored:
|
|
type: boolean
|
|
unread:
|
|
type: boolean
|
|
bookmark:
|
|
nullable: true
|
|
unreplied:
|
|
type: boolean
|
|
icons:
|
|
type: array
|
|
items: {}
|
|
index:
|
|
type: number
|
|
teaserPid:
|
|
type: number
|
|
nextStart:
|
|
type: number
|
|
isWatched:
|
|
type: boolean
|
|
isNotWatched:
|
|
type: boolean
|
|
isIgnored:
|
|
type: boolean
|
|
title:
|
|
type: string
|
|
privileges:
|
|
type: object
|
|
properties:
|
|
topics:create:
|
|
type: boolean
|
|
topics:read:
|
|
type: boolean
|
|
topics:tag:
|
|
type: boolean
|
|
read:
|
|
type: boolean
|
|
cid:
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
editable:
|
|
type: boolean
|
|
view_deleted:
|
|
type: boolean
|
|
isAdminOrMod:
|
|
type: boolean
|
|
showSelect:
|
|
type: boolean
|
|
rssFeedUrl:
|
|
type: string
|
|
feeds:disableRSS:
|
|
type: number
|
|
reputation:disabled:
|
|
type: number
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/category/{category_id}/{slug?}":
|
|
get:
|
|
tags:
|
|
- categories
|
|
summary: /api/category/{category_id}/{slug?}
|
|
parameters:
|
|
- name: category_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: slug?
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/CategoryObject.yaml#/CategoryObject
|
|
- type: object
|
|
properties:
|
|
tagWhitelist:
|
|
type: array
|
|
items: {}
|
|
unread-class:
|
|
type: string
|
|
children:
|
|
type: array
|
|
items:
|
|
$ref: components/schemas/CategoryObject.yaml#/CategoryObject
|
|
topics:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
title:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
lastposttime:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
viewcount:
|
|
type: number
|
|
pinned:
|
|
type: number
|
|
description: Whether or not this particular topic is pinned to the top of the
|
|
category
|
|
thumb:
|
|
type: string
|
|
mainPid:
|
|
type: number
|
|
description: The post id of the first post in this topic (also called the
|
|
"original post")
|
|
teaserPid:
|
|
type: number
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
deleted:
|
|
type: number
|
|
locked:
|
|
type: number
|
|
titleRaw:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
lastposttimeISO:
|
|
type: string
|
|
votes:
|
|
type: number
|
|
category:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
image:
|
|
nullable: true
|
|
imageClass:
|
|
nullable: true
|
|
bgColor:
|
|
type: string
|
|
color:
|
|
type: string
|
|
disabled:
|
|
type: number
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
fullname:
|
|
type: string
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
reputation:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
signature:
|
|
nullable: true
|
|
type: string
|
|
banned:
|
|
type: number
|
|
status:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
banned_until_readable:
|
|
type: string
|
|
teaser:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
timestamp:
|
|
type: number
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users
|
|
without an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's
|
|
auto-generated icon
|
|
example: "#f44336"
|
|
index:
|
|
type: number
|
|
tags:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: string
|
|
valueEscaped:
|
|
type: string
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
score:
|
|
type: number
|
|
isOwner:
|
|
type: boolean
|
|
ignored:
|
|
type: boolean
|
|
unread:
|
|
type: boolean
|
|
bookmark:
|
|
nullable: true
|
|
unreplied:
|
|
type: boolean
|
|
icons:
|
|
type: array
|
|
items: {}
|
|
index:
|
|
type: number
|
|
isQuestion:
|
|
type: number
|
|
isSolved:
|
|
type: number
|
|
nextStart:
|
|
type: number
|
|
isWatched:
|
|
type: boolean
|
|
isNotWatched:
|
|
type: boolean
|
|
isIgnored:
|
|
type: boolean
|
|
title:
|
|
type: string
|
|
privileges:
|
|
type: object
|
|
properties:
|
|
topics:create:
|
|
type: boolean
|
|
topics:read:
|
|
type: boolean
|
|
topics:tag:
|
|
type: boolean
|
|
read:
|
|
type: boolean
|
|
cid:
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
editable:
|
|
type: boolean
|
|
view_deleted:
|
|
type: boolean
|
|
isAdminOrMod:
|
|
type: boolean
|
|
showSelect:
|
|
type: boolean
|
|
rssFeedUrl:
|
|
type: string
|
|
feeds:disableRSS:
|
|
type: number
|
|
reputation:disabled:
|
|
type: number
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/me/*:
|
|
get:
|
|
tags:
|
|
- shorthand
|
|
summary: /api/me/*
|
|
responses: {}
|
|
"/api/uid/{uid*}":
|
|
get:
|
|
tags:
|
|
- shorthand
|
|
summary: /api/uid/{uid*}
|
|
parameters:
|
|
- name: uid*
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
title: /user/the-penultimate-defenestrator
|
|
type: undefined
|
|
"/api/user/{userslug}":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: Get user profile
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObjectFull
|
|
- type: object
|
|
properties:
|
|
posts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
timestamp:
|
|
type: number
|
|
deleted:
|
|
type: boolean
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
votes:
|
|
type: number
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
type: string
|
|
status:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
topic:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
title:
|
|
type: string
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
slug:
|
|
type: string
|
|
deleted:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
mainPid:
|
|
type: number
|
|
description: The post id of the first post in this topic (also called the
|
|
"original post")
|
|
titleRaw:
|
|
type: string
|
|
category:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
parentCid:
|
|
type: number
|
|
description: The category identifier for the category that is the immediate
|
|
ancestor of the current category
|
|
bgColor:
|
|
type: string
|
|
color:
|
|
type: string
|
|
image:
|
|
nullable: true
|
|
imageClass:
|
|
nullable: true
|
|
isMainPost:
|
|
type: boolean
|
|
latestPosts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
timestamp:
|
|
type: number
|
|
deleted:
|
|
type: boolean
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
votes:
|
|
type: number
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
type: string
|
|
status:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
topic:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
title:
|
|
type: string
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
slug:
|
|
type: string
|
|
deleted:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
mainPid:
|
|
type: number
|
|
description: The post id of the first post in this topic (also called the
|
|
"original post")
|
|
titleRaw:
|
|
type: string
|
|
category:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
parentCid:
|
|
type: number
|
|
description: The category identifier for the category that is the immediate
|
|
ancestor of the current category
|
|
bgColor:
|
|
type: string
|
|
color:
|
|
type: string
|
|
image:
|
|
nullable: true
|
|
imageClass:
|
|
nullable: true
|
|
isMainPost:
|
|
type: boolean
|
|
bestPosts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
timestamp:
|
|
type: number
|
|
deleted:
|
|
type: boolean
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
votes:
|
|
type: number
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
type: string
|
|
status:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
topic:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
title:
|
|
type: string
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
slug:
|
|
type: string
|
|
deleted:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
mainPid:
|
|
type: number
|
|
description: The post id of the first post in this topic (also called the
|
|
"original post")
|
|
titleRaw:
|
|
type: string
|
|
category:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
parentCid:
|
|
type: number
|
|
description: The category identifier for the category that is the immediate
|
|
ancestor of the current category
|
|
bgColor:
|
|
type: string
|
|
color:
|
|
type: string
|
|
image:
|
|
nullable: true
|
|
imageClass:
|
|
nullable: true
|
|
type: string
|
|
isMainPost:
|
|
type: boolean
|
|
hasPrivateChat:
|
|
type: number
|
|
title:
|
|
type: string
|
|
allowCoverPicture:
|
|
type: boolean
|
|
selectedGroup:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
createtime:
|
|
type: number
|
|
userTitle:
|
|
type: string
|
|
description:
|
|
type: string
|
|
memberCount:
|
|
type: number
|
|
deleted:
|
|
type: string
|
|
hidden:
|
|
type: number
|
|
system:
|
|
type: number
|
|
private:
|
|
type: number
|
|
ownerUid:
|
|
type: number
|
|
icon:
|
|
type: string
|
|
labelColor:
|
|
type: string
|
|
cover:url:
|
|
type: string
|
|
cover:position:
|
|
type: string
|
|
userTitleEnabled:
|
|
type: number
|
|
disableJoinRequests:
|
|
type: number
|
|
disableLeave:
|
|
type: number
|
|
nameEncoded:
|
|
type: string
|
|
displayName:
|
|
type: string
|
|
textColor:
|
|
type: string
|
|
createtimeISO:
|
|
type: string
|
|
cover:thumb:url:
|
|
type: string
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/following":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: Get followed users
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
type: number
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObjectFull
|
|
- type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
users:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
status:
|
|
type: string
|
|
postcount:
|
|
type: number
|
|
reputation:
|
|
type: number
|
|
email:confirmed:
|
|
type: number
|
|
description: Whether the user has confirmed their email address or not
|
|
lastonline:
|
|
type: number
|
|
flags:
|
|
nullable: true
|
|
banned:
|
|
type: number
|
|
banned:expire:
|
|
type: number
|
|
joindate:
|
|
type: number
|
|
description: A UNIX timestamp representing the moment the user's account was
|
|
created
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without an
|
|
avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with `icon:text`
|
|
for the user's auto-generated icon
|
|
example: "#f44336"
|
|
joindateISO:
|
|
type: string
|
|
lastonlineISO:
|
|
type: string
|
|
banned_until:
|
|
type: number
|
|
banned_until_readable:
|
|
type: string
|
|
administrator:
|
|
type: boolean
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/followers":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: Get followers
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
type: number
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObjectFull
|
|
- type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
users:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
status:
|
|
type: string
|
|
postcount:
|
|
type: number
|
|
reputation:
|
|
type: number
|
|
email:confirmed:
|
|
type: number
|
|
description: Whether the user has confirmed their email address or not
|
|
lastonline:
|
|
type: number
|
|
flags:
|
|
nullable: true
|
|
banned:
|
|
type: number
|
|
banned:expire:
|
|
type: number
|
|
joindate:
|
|
type: number
|
|
description: A UNIX timestamp representing the moment the user's account was
|
|
created
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without an
|
|
avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with `icon:text`
|
|
for the user's auto-generated icon
|
|
example: "#f44336"
|
|
joindateISO:
|
|
type: string
|
|
lastonlineISO:
|
|
type: string
|
|
banned_until:
|
|
type: number
|
|
banned_until_readable:
|
|
type: string
|
|
administrator:
|
|
type: boolean
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/categories":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/categories
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObjectFull
|
|
- type: object
|
|
properties:
|
|
categories:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
level:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
parentCid:
|
|
type: number
|
|
description: The category identifier for the category that is the immediate
|
|
ancestor of the current category
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
descriptionParsed:
|
|
type: string
|
|
depth:
|
|
type: number
|
|
slug:
|
|
type: string
|
|
isIgnored:
|
|
type: boolean
|
|
isWatched:
|
|
type: boolean
|
|
isNotWatched:
|
|
type: boolean
|
|
imageClass:
|
|
type: string
|
|
title:
|
|
type: string
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/posts":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/posts
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObjectFull
|
|
- type: object
|
|
properties:
|
|
posts:
|
|
type: array
|
|
items: {}
|
|
nextStart:
|
|
type: number
|
|
noItemsFoundKey:
|
|
type: string
|
|
title:
|
|
type: string
|
|
showSort:
|
|
type: boolean
|
|
sortOptions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
name:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/topics":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/topics
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObject
|
|
- type: object
|
|
properties:
|
|
age:
|
|
type: number
|
|
emailClass:
|
|
type: string
|
|
moderationNote:
|
|
type: string
|
|
isBlocked:
|
|
type: boolean
|
|
yourid:
|
|
type: number
|
|
theirid:
|
|
type: number
|
|
isTargetAdmin:
|
|
type: boolean
|
|
isAdmin:
|
|
type: boolean
|
|
isGlobalModerator:
|
|
type: boolean
|
|
isModerator:
|
|
type: boolean
|
|
isAdminOrGlobalModerator:
|
|
type: boolean
|
|
isAdminOrGlobalModeratorOrModerator:
|
|
type: boolean
|
|
isSelfOrAdminOrGlobalModerator:
|
|
type: boolean
|
|
canEdit:
|
|
type: boolean
|
|
canBan:
|
|
type: boolean
|
|
canChangePassword:
|
|
type: boolean
|
|
isSelf:
|
|
type: boolean
|
|
isFollowing:
|
|
type: boolean
|
|
showHidden:
|
|
type: boolean
|
|
groups:
|
|
type: array
|
|
items: {}
|
|
disableSignatures:
|
|
type: boolean
|
|
reputation:disabled:
|
|
type: boolean
|
|
downvote:disabled:
|
|
type: boolean
|
|
profile_links:
|
|
type: array
|
|
items: {}
|
|
sso:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
associated:
|
|
type: boolean
|
|
url:
|
|
type: string
|
|
name:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
websiteLink:
|
|
type: string
|
|
websiteName:
|
|
type: string
|
|
username:disableEdit:
|
|
type: number
|
|
email:disableEdit:
|
|
type: number
|
|
topics:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
title:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
lastposttime:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
viewcount:
|
|
type: number
|
|
thumb:
|
|
type: string
|
|
mainPid:
|
|
type: number
|
|
description: The post id of the first post in this topic (also called the
|
|
"original post")
|
|
teaserPid:
|
|
type: number
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
deleted:
|
|
type: number
|
|
locked:
|
|
type: number
|
|
pinned:
|
|
type: number
|
|
description: Whether or not this particular topic is pinned to the top of the
|
|
category
|
|
titleRaw:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
lastposttimeISO:
|
|
type: string
|
|
votes:
|
|
type: number
|
|
category:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
image:
|
|
nullable: true
|
|
imageClass:
|
|
nullable: true
|
|
bgColor:
|
|
type: string
|
|
color:
|
|
type: string
|
|
disabled:
|
|
type: number
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
reputation:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
picture:
|
|
nullable: true
|
|
signature:
|
|
type: string
|
|
banned:
|
|
type: number
|
|
status:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
banned_until_readable:
|
|
type: string
|
|
teaser:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
timestamp:
|
|
type: number
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users
|
|
without an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's
|
|
auto-generated icon
|
|
example: "#f44336"
|
|
index:
|
|
type: number
|
|
tags:
|
|
type: array
|
|
items: {}
|
|
isOwner:
|
|
type: boolean
|
|
ignored:
|
|
type: boolean
|
|
unread:
|
|
type: boolean
|
|
bookmark:
|
|
nullable: true
|
|
unreplied:
|
|
type: boolean
|
|
icons:
|
|
type: array
|
|
items: {}
|
|
index:
|
|
type: number
|
|
nextStart:
|
|
type: number
|
|
noItemsFoundKey:
|
|
type: string
|
|
title:
|
|
type: string
|
|
showSort:
|
|
type: boolean
|
|
sortOptions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
name:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/best":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/best
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObjectFull
|
|
- type: object
|
|
properties:
|
|
posts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
timestamp:
|
|
type: number
|
|
deleted:
|
|
type: boolean
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
votes:
|
|
type: number
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
status:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
topic:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
title:
|
|
type: string
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
slug:
|
|
type: string
|
|
deleted:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
mainPid:
|
|
type: number
|
|
description: The post id of the first post in this topic (also called the
|
|
"original post")
|
|
titleRaw:
|
|
type: string
|
|
category:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
parentCid:
|
|
type: number
|
|
description: The category identifier for the category that is the immediate
|
|
ancestor of the current category
|
|
bgColor:
|
|
type: string
|
|
color:
|
|
type: string
|
|
image:
|
|
nullable: true
|
|
imageClass:
|
|
nullable: true
|
|
isMainPost:
|
|
type: boolean
|
|
nextStart:
|
|
type: number
|
|
noItemsFoundKey:
|
|
type: string
|
|
title:
|
|
type: string
|
|
showSort:
|
|
type: boolean
|
|
sortOptions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
name:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/groups":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/groups
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObjectFull
|
|
- type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
template:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
account/groups:
|
|
type: boolean
|
|
"304":
|
|
description: ""
|
|
"/api/user/{userslug}/bookmarks":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/bookmarks
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObject
|
|
- type: object
|
|
properties:
|
|
age:
|
|
type: number
|
|
emailClass:
|
|
type: string
|
|
ips:
|
|
type: array
|
|
items:
|
|
type: string
|
|
moderationNote:
|
|
type: string
|
|
isBlocked:
|
|
type: boolean
|
|
blocksCount:
|
|
type: number
|
|
yourid:
|
|
type: number
|
|
theirid:
|
|
type: number
|
|
isTargetAdmin:
|
|
type: boolean
|
|
isAdmin:
|
|
type: boolean
|
|
isGlobalModerator:
|
|
type: boolean
|
|
isModerator:
|
|
type: boolean
|
|
isAdminOrGlobalModerator:
|
|
type: boolean
|
|
isAdminOrGlobalModeratorOrModerator:
|
|
type: boolean
|
|
isSelfOrAdminOrGlobalModerator:
|
|
type: boolean
|
|
canEdit:
|
|
type: boolean
|
|
canBan:
|
|
type: boolean
|
|
canChangePassword:
|
|
type: boolean
|
|
isSelf:
|
|
type: boolean
|
|
isFollowing:
|
|
type: boolean
|
|
showHidden:
|
|
type: boolean
|
|
groups:
|
|
type: array
|
|
items: {}
|
|
disableSignatures:
|
|
type: boolean
|
|
reputation:disabled:
|
|
type: boolean
|
|
downvote:disabled:
|
|
type: boolean
|
|
profile_links:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
route:
|
|
type: string
|
|
name:
|
|
type: string
|
|
visibility:
|
|
type: object
|
|
properties:
|
|
self:
|
|
type: boolean
|
|
other:
|
|
type: boolean
|
|
moderator:
|
|
type: boolean
|
|
globalMod:
|
|
type: boolean
|
|
admin:
|
|
type: boolean
|
|
canViewInfo:
|
|
type: boolean
|
|
public:
|
|
type: boolean
|
|
icon:
|
|
type: string
|
|
sso:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
associated:
|
|
type: boolean
|
|
url:
|
|
type: string
|
|
name:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
websiteLink:
|
|
type: string
|
|
websiteName:
|
|
type: string
|
|
username:disableEdit:
|
|
type: number
|
|
email:disableEdit:
|
|
type: number
|
|
posts:
|
|
type: array
|
|
items: {}
|
|
nextStart:
|
|
type: number
|
|
noItemsFoundKey:
|
|
type: string
|
|
title:
|
|
type: string
|
|
showSort:
|
|
type: boolean
|
|
sortOptions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
name:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/watched":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/watched
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObject
|
|
- type: object
|
|
properties:
|
|
aboutmeParsed:
|
|
type: string
|
|
age:
|
|
type: number
|
|
emailClass:
|
|
type: string
|
|
ips:
|
|
type: array
|
|
items:
|
|
type: string
|
|
isBlocked:
|
|
type: boolean
|
|
blocksCount:
|
|
type: number
|
|
yourid:
|
|
type: number
|
|
theirid:
|
|
type: number
|
|
isTargetAdmin:
|
|
type: boolean
|
|
isAdmin:
|
|
type: boolean
|
|
isGlobalModerator:
|
|
type: boolean
|
|
isModerator:
|
|
type: boolean
|
|
isAdminOrGlobalModerator:
|
|
type: boolean
|
|
isAdminOrGlobalModeratorOrModerator:
|
|
type: boolean
|
|
isSelfOrAdminOrGlobalModerator:
|
|
type: boolean
|
|
canEdit:
|
|
type: boolean
|
|
canBan:
|
|
type: boolean
|
|
canChangePassword:
|
|
type: boolean
|
|
isSelf:
|
|
type: boolean
|
|
isFollowing:
|
|
type: boolean
|
|
hasPrivateChat:
|
|
type: number
|
|
showHidden:
|
|
type: boolean
|
|
groups:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
createtime:
|
|
type: number
|
|
userTitle:
|
|
type: string
|
|
description:
|
|
type: string
|
|
memberCount:
|
|
type: number
|
|
deleted:
|
|
oneOf:
|
|
- type: string
|
|
- type: number
|
|
hidden:
|
|
type: number
|
|
system:
|
|
type: number
|
|
private:
|
|
type: number
|
|
ownerUid:
|
|
type: number
|
|
icon:
|
|
type: string
|
|
labelColor:
|
|
type: string
|
|
userTitleEnabled:
|
|
type: number
|
|
disableJoinRequests:
|
|
type: number
|
|
disableLeave:
|
|
type: number
|
|
nameEncoded:
|
|
type: string
|
|
displayName:
|
|
type: string
|
|
textColor:
|
|
type: string
|
|
createtimeISO:
|
|
type: string
|
|
cover:thumb:url:
|
|
type: string
|
|
cover:url:
|
|
type: string
|
|
cover:position:
|
|
type: string
|
|
disableSignatures:
|
|
type: boolean
|
|
reputation:disabled:
|
|
type: boolean
|
|
downvote:disabled:
|
|
type: boolean
|
|
profile_links:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
route:
|
|
type: string
|
|
name:
|
|
type: string
|
|
visibility:
|
|
type: object
|
|
properties:
|
|
self:
|
|
type: boolean
|
|
other:
|
|
type: boolean
|
|
moderator:
|
|
type: boolean
|
|
globalMod:
|
|
type: boolean
|
|
admin:
|
|
type: boolean
|
|
canViewInfo:
|
|
type: boolean
|
|
public:
|
|
type: boolean
|
|
icon:
|
|
type: string
|
|
sso:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
associated:
|
|
type: boolean
|
|
url:
|
|
type: string
|
|
deauthUrl:
|
|
type: string
|
|
name:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
websiteLink:
|
|
type: string
|
|
websiteName:
|
|
type: string
|
|
moderationNote:
|
|
type: string
|
|
username:disableEdit:
|
|
type: boolean
|
|
email:disableEdit:
|
|
type: boolean
|
|
topics:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
mainPid:
|
|
type: number
|
|
description: The post id of the first post in this topic (also called the
|
|
"original post")
|
|
title:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
lastposttime:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
viewcount:
|
|
type: number
|
|
teaserPid:
|
|
oneOf:
|
|
- type: number
|
|
- type: string
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
deleted:
|
|
type: number
|
|
locked:
|
|
type: number
|
|
pinned:
|
|
type: number
|
|
description: Whether or not this particular topic is pinned to the top of the
|
|
category
|
|
deleterUid:
|
|
type: number
|
|
titleRaw:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
lastposttimeISO:
|
|
type: string
|
|
votes:
|
|
type: number
|
|
category:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
image:
|
|
nullable: true
|
|
type: string
|
|
imageClass:
|
|
nullable: true
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
color:
|
|
type: string
|
|
disabled:
|
|
type: number
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
reputation:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
picture:
|
|
type: string
|
|
signature:
|
|
nullable: true
|
|
type: string
|
|
banned:
|
|
type: number
|
|
status:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
banned_until_readable:
|
|
type: string
|
|
fullname:
|
|
type: string
|
|
teaser:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
timestamp:
|
|
type: number
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users
|
|
without an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's
|
|
auto-generated icon
|
|
example: "#f44336"
|
|
index:
|
|
type: number
|
|
tags:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: string
|
|
valueEscaped:
|
|
type: string
|
|
color:
|
|
type: string
|
|
bgColor:
|
|
type: string
|
|
score:
|
|
type: number
|
|
isOwner:
|
|
type: boolean
|
|
ignored:
|
|
type: boolean
|
|
unread:
|
|
type: boolean
|
|
bookmark:
|
|
nullable: true
|
|
type: number
|
|
unreplied:
|
|
type: boolean
|
|
icons:
|
|
type: array
|
|
items: {}
|
|
index:
|
|
type: number
|
|
thumb:
|
|
type: string
|
|
isQuestion:
|
|
type: number
|
|
isSolved:
|
|
type: number
|
|
nextStart:
|
|
type: number
|
|
noItemsFoundKey:
|
|
type: string
|
|
title:
|
|
type: string
|
|
showSort:
|
|
type: boolean
|
|
sortOptions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
name:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/ignored":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/ignored
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObjectFull
|
|
- type: object
|
|
properties:
|
|
topics:
|
|
type: array
|
|
items: {}
|
|
nextStart:
|
|
type: number
|
|
noItemsFoundKey:
|
|
type: string
|
|
title:
|
|
type: string
|
|
showSort:
|
|
type: boolean
|
|
sortOptions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
name:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/upvoted":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/upvoted
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses: {}
|
|
"/api/user/{userslug}/downvoted":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/downvoted
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses: {}
|
|
"/api/user/{userslug}/edit":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/edit
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObjectFull
|
|
- type: object
|
|
properties:
|
|
maximumSignatureLength:
|
|
type: number
|
|
maximumAboutMeLength:
|
|
type: number
|
|
maximumProfileImageSize:
|
|
type: number
|
|
allowProfilePicture:
|
|
type: boolean
|
|
allowCoverPicture:
|
|
type: boolean
|
|
allowProfileImageUploads:
|
|
type: number
|
|
allowedProfileImageExtensios:
|
|
type: string
|
|
allowMultipleBadges:
|
|
type: boolean
|
|
allowAccountDelete:
|
|
type: boolean
|
|
allowWebsite:
|
|
type: boolean
|
|
allowAboutMe:
|
|
type: boolean
|
|
allowSignature:
|
|
type: boolean
|
|
profileImageDimension:
|
|
type: number
|
|
defaultAvatar:
|
|
type: string
|
|
groupSelectSize:
|
|
type: number
|
|
title:
|
|
type: string
|
|
editButtons:
|
|
type: array
|
|
items: {}
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/edit/username":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/edit/username
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObjectFull
|
|
- type: object
|
|
properties:
|
|
hasPassword:
|
|
type: boolean
|
|
title:
|
|
type: string
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/edit/email":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/edit/email
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObjectFull
|
|
- type: object
|
|
properties:
|
|
hasPassword:
|
|
type: boolean
|
|
title:
|
|
type: string
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/edit/password":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/edit/password
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObjectFull
|
|
- type: object
|
|
properties:
|
|
hasPassword:
|
|
type: boolean
|
|
minimumPasswordLength:
|
|
type: number
|
|
minimumPasswordStrength:
|
|
type: number
|
|
title:
|
|
type: string
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/info":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/info
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObjectFull
|
|
- type: object
|
|
properties:
|
|
history:
|
|
type: object
|
|
properties:
|
|
flags:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
timestamp:
|
|
type: number
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
timestampReadable:
|
|
type: string
|
|
title:
|
|
type: string
|
|
titleRaw:
|
|
type: string
|
|
bans:
|
|
type: array
|
|
items: {}
|
|
sessions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
ip:
|
|
type: string
|
|
uuid:
|
|
type: string
|
|
datetime:
|
|
type: number
|
|
platform:
|
|
type: string
|
|
browser:
|
|
type: string
|
|
version:
|
|
type: string
|
|
current:
|
|
type: boolean
|
|
datetimeISO:
|
|
type: string
|
|
usernames:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
emails:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
moderationNotes:
|
|
type: array
|
|
items: {}
|
|
title:
|
|
type: string
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/settings":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/settings
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObjectFull
|
|
- type: object
|
|
properties:
|
|
settings:
|
|
type: object
|
|
properties:
|
|
showemail:
|
|
type: boolean
|
|
usePagination:
|
|
type: boolean
|
|
topicsPerPage:
|
|
type: number
|
|
postsPerPage:
|
|
type: number
|
|
notificationSounds:
|
|
type: number
|
|
topicPostSort:
|
|
type: string
|
|
openOutgoingLinksInNewTab:
|
|
type: boolean
|
|
dailyDigestFreq:
|
|
type: string
|
|
language:
|
|
type: string
|
|
showfullname:
|
|
type: boolean
|
|
followTopicsOnCreate:
|
|
type: boolean
|
|
followTopicsOnReply:
|
|
type: boolean
|
|
restrictChat:
|
|
type: boolean
|
|
topicSearchEnabled:
|
|
type: boolean
|
|
categoryTopicSort:
|
|
type: string
|
|
userLang:
|
|
type: string
|
|
groupTitle:
|
|
nullable: true
|
|
pushbullet:enabled:
|
|
type: number
|
|
pushbullet:target:
|
|
type: string
|
|
bootswatchSkin:
|
|
type: string
|
|
homePageRoute:
|
|
type: string
|
|
scrollToMyPost:
|
|
type: boolean
|
|
delayImageLoading:
|
|
type: number
|
|
notificationSound:
|
|
type: string
|
|
incomingChatSound:
|
|
type: string
|
|
outgoingChatSound:
|
|
type: string
|
|
notificationType_new-chat:
|
|
type: string
|
|
notificationType_new-reply:
|
|
type: string
|
|
sendChatNotifications:
|
|
nullable: true
|
|
sendPostNotifications:
|
|
nullable: true
|
|
notificationType_upvote:
|
|
type: string
|
|
notificationType_new-topic:
|
|
type: string
|
|
notificationType_follow:
|
|
type: string
|
|
notificationType_group-invite:
|
|
type: string
|
|
upvoteNotifFreq:
|
|
type: string
|
|
notificationType_mention:
|
|
type: string
|
|
acpLang:
|
|
type: string
|
|
notificationType_new-register:
|
|
type: string
|
|
notificationType_post-queue:
|
|
type: string
|
|
notificationType_new-post-flag:
|
|
type: string
|
|
notificationType_new-user-flag:
|
|
type: string
|
|
categoryWatchState:
|
|
type: string
|
|
notificationType_group-request-membership:
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
languages:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
code:
|
|
type: string
|
|
dir:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
acpLanguages:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
code:
|
|
type: string
|
|
dir:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
notification-sound:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
sounds:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
notificationSound:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
chat-incoming-sound:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
sounds:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
incomingChatSound:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
chat-outgoing-sound:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
sounds:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
outgoingChatSound:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
customSettings:
|
|
type: array
|
|
items: {}
|
|
homePageRoutes:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
route:
|
|
type: string
|
|
name:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
notificationSettings:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
label:
|
|
type: string
|
|
none:
|
|
type: boolean
|
|
notification:
|
|
type: boolean
|
|
email:
|
|
type: boolean
|
|
notificationemail:
|
|
type: boolean
|
|
disableEmailSubscriptions:
|
|
type: number
|
|
dailyDigestFreqOptions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: string
|
|
name:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
bootswatchSkinOptions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
upvoteNotifFreq:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
categoryWatchState:
|
|
type: object
|
|
properties:
|
|
watching:
|
|
type: boolean
|
|
disableCustomUserSkins:
|
|
type: number
|
|
allowUserHomePage:
|
|
type: number
|
|
hideFullname:
|
|
type: number
|
|
hideEmail:
|
|
type: number
|
|
inTopicSearchAvailable:
|
|
type: boolean
|
|
maxTopicsPerPage:
|
|
type: number
|
|
maxPostsPerPage:
|
|
type: number
|
|
title:
|
|
type: string
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/uploads":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/uploads
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObjectFull
|
|
- type: object
|
|
properties:
|
|
uploads:
|
|
type: array
|
|
items: {}
|
|
privateUploads:
|
|
type: boolean
|
|
title:
|
|
type: string
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/consent":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/consent
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObjectFull
|
|
- type: object
|
|
properties:
|
|
gdpr_consent:
|
|
type: boolean
|
|
digest:
|
|
type: object
|
|
properties:
|
|
frequency:
|
|
type: string
|
|
enabled:
|
|
type: boolean
|
|
title:
|
|
type: string
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/blocks":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/blocks
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObjectFull
|
|
- type: object
|
|
properties:
|
|
users:
|
|
type: array
|
|
items: {}
|
|
title:
|
|
type: string
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/sessions":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/sessions
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: components/schemas/UserObject.yaml#/UserObjectFull
|
|
- type: object
|
|
properties:
|
|
sessions:
|
|
type: array
|
|
items: {}
|
|
title:
|
|
type: string
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/session/{uuid}":
|
|
delete:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/session/{uuid}
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: uuid
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses: {}
|
|
/api/notifications:
|
|
get:
|
|
tags:
|
|
- notifications
|
|
summary: /api/notifications
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
notifications:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
bodyShort:
|
|
type: string
|
|
bodyLong:
|
|
type: string
|
|
pid:
|
|
oneOf:
|
|
- type: number
|
|
- type: string
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
path:
|
|
type: string
|
|
nid:
|
|
type: string
|
|
from:
|
|
type: number
|
|
mergeId:
|
|
type: string
|
|
topicTitle:
|
|
type: string
|
|
importance:
|
|
type: number
|
|
datetime:
|
|
type: number
|
|
datetimeISO:
|
|
type: string
|
|
user:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
image:
|
|
type: string
|
|
read:
|
|
type: boolean
|
|
readClass:
|
|
type: string
|
|
subject:
|
|
type: string
|
|
filters:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
filter:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
regularFilters:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
filter:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
moderatorFilters:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
filter:
|
|
type: string
|
|
selectedFilter:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
filter:
|
|
type: string
|
|
selected:
|
|
type: boolean
|
|
title:
|
|
type: string
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/user/{userslug}/chats/{roomid?}":
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/user/{userslug}/chats/{roomid?}
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: roomid?
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
owner:
|
|
type: number
|
|
roomId:
|
|
type: number
|
|
roomName:
|
|
type: string
|
|
messages:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
fromuid:
|
|
type: number
|
|
roomId:
|
|
type: string
|
|
deleted:
|
|
type: boolean
|
|
system:
|
|
type: boolean
|
|
edited:
|
|
type: number
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
editedISO:
|
|
type: string
|
|
messageId:
|
|
type: number
|
|
fromUser:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
type: string
|
|
status:
|
|
type: string
|
|
banned:
|
|
type: boolean
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
banned_until_readable:
|
|
type: string
|
|
deleted:
|
|
type: boolean
|
|
self:
|
|
type: number
|
|
newSet:
|
|
type: boolean
|
|
index:
|
|
type: number
|
|
cleanedContent:
|
|
type: string
|
|
isOwner:
|
|
type: boolean
|
|
users:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
picture:
|
|
type: string
|
|
status:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without an
|
|
avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with `icon:text`
|
|
for the user's auto-generated icon
|
|
example: "#f44336"
|
|
isOwner:
|
|
type: boolean
|
|
canReply:
|
|
type: boolean
|
|
groupChat:
|
|
type: boolean
|
|
usernames:
|
|
type: string
|
|
maximumUsersInChatRoom:
|
|
type: number
|
|
maximumChatMessageLength:
|
|
type: number
|
|
showUserInput:
|
|
type: boolean
|
|
isAdminOrGlobalMod:
|
|
type: boolean
|
|
rooms:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
owner:
|
|
oneOf:
|
|
- type: number
|
|
- type: string
|
|
roomId:
|
|
type: number
|
|
roomName:
|
|
type: string
|
|
users:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
status:
|
|
type: string
|
|
lastonline:
|
|
type: number
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
lastonlineISO:
|
|
type: string
|
|
groupChat:
|
|
type: boolean
|
|
unread:
|
|
type: boolean
|
|
teaser:
|
|
type: object
|
|
properties:
|
|
fromuid:
|
|
type: number
|
|
content:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
status:
|
|
type: string
|
|
lastonline:
|
|
type: number
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users
|
|
without an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's
|
|
auto-generated icon
|
|
example: "#f44336"
|
|
lastonlineISO:
|
|
type: string
|
|
lastUser:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
status:
|
|
type: string
|
|
lastonline:
|
|
type: number
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
lastonlineISO:
|
|
type: string
|
|
usernames:
|
|
type: string
|
|
nextStart:
|
|
type: number
|
|
title:
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
canViewInfo:
|
|
type: boolean
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/chats/{roomid?}":
|
|
get:
|
|
tags:
|
|
- shorthand
|
|
summary: /api/chats/{roomid?}
|
|
parameters:
|
|
- name: roomid?
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
title: /user/baris/chats/3499
|
|
type: undefined
|
|
/api/users:
|
|
get:
|
|
tags:
|
|
- users
|
|
summary: /api/users
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
users:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
status:
|
|
type: string
|
|
postcount:
|
|
type: number
|
|
reputation:
|
|
type: number
|
|
email:confirmed:
|
|
type: number
|
|
description: Whether the user has confirmed their email address or not
|
|
lastonline:
|
|
type: number
|
|
flags:
|
|
nullable: true
|
|
banned:
|
|
type: number
|
|
banned:expire:
|
|
type: number
|
|
joindate:
|
|
type: number
|
|
description: A UNIX timestamp representing the moment the user's account was
|
|
created
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without an
|
|
avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with `icon:text`
|
|
for the user's auto-generated icon
|
|
example: "#f44336"
|
|
joindateISO:
|
|
type: string
|
|
lastonlineISO:
|
|
type: string
|
|
banned_until:
|
|
type: number
|
|
banned_until_readable:
|
|
type: string
|
|
administrator:
|
|
type: boolean
|
|
userCount:
|
|
type: number
|
|
title:
|
|
type: string
|
|
isAdminOrGlobalMod:
|
|
type: boolean
|
|
isAdmin:
|
|
type: boolean
|
|
isGlobalMod:
|
|
type: boolean
|
|
displayUserSearch:
|
|
type: boolean
|
|
section_joindate:
|
|
type: boolean
|
|
maximumInvites:
|
|
type: number
|
|
inviteOnly:
|
|
type: boolean
|
|
adminInviteOnly:
|
|
type: boolean
|
|
invites:
|
|
type: number
|
|
showInviteButton:
|
|
type: boolean
|
|
reputation:disabled:
|
|
type: number
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
/api/groups:
|
|
get:
|
|
tags:
|
|
- groups
|
|
summary: /api/groups
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
groups:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
deleted:
|
|
oneOf:
|
|
- type: number
|
|
- type: string
|
|
hidden:
|
|
type: number
|
|
system:
|
|
type: number
|
|
userTitle:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
labelColor:
|
|
type: string
|
|
createtime:
|
|
type: number
|
|
slug:
|
|
type: string
|
|
memberCount:
|
|
type: number
|
|
private:
|
|
type: number
|
|
userTitleEnabled:
|
|
type: number
|
|
disableJoinRequests:
|
|
type: number
|
|
disableLeave:
|
|
type: number
|
|
nameEncoded:
|
|
type: string
|
|
displayName:
|
|
type: string
|
|
textColor:
|
|
type: string
|
|
createtimeISO:
|
|
type: string
|
|
cover:thumb:url:
|
|
type: string
|
|
cover:url:
|
|
type: string
|
|
cover:position:
|
|
type: string
|
|
members:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
picture:
|
|
nullable: true
|
|
type: string
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
truncated:
|
|
type: boolean
|
|
ownerUid:
|
|
type: number
|
|
allowGroupCreation:
|
|
type: boolean
|
|
nextStart:
|
|
type: number
|
|
title:
|
|
type: string
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/groups/{slug}":
|
|
get:
|
|
tags:
|
|
- groups
|
|
summary: /api/groups/{slug}
|
|
parameters:
|
|
- name: slug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
group:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
deleted:
|
|
type: number
|
|
hidden:
|
|
type: number
|
|
system:
|
|
type: number
|
|
userTitle:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
labelColor:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
createtime:
|
|
type: number
|
|
memberCount:
|
|
type: number
|
|
private:
|
|
type: number
|
|
cover:url:
|
|
type: string
|
|
cover:position:
|
|
type: string
|
|
userTitleEnabled:
|
|
type: number
|
|
disableJoinRequests:
|
|
type: number
|
|
disableLeave:
|
|
type: number
|
|
nameEncoded:
|
|
type: string
|
|
displayName:
|
|
type: string
|
|
textColor:
|
|
type: string
|
|
createtimeISO:
|
|
type: string
|
|
cover:thumb:url:
|
|
type: string
|
|
descriptionParsed:
|
|
type: string
|
|
members:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
type: string
|
|
status:
|
|
type: string
|
|
postcount:
|
|
type: number
|
|
reputation:
|
|
type: number
|
|
email:confirmed:
|
|
type: number
|
|
description: Whether the user has confirmed their email address or not
|
|
lastonline:
|
|
type: number
|
|
flags:
|
|
nullable: true
|
|
type: number
|
|
banned:
|
|
type: number
|
|
banned:expire:
|
|
type: number
|
|
joindate:
|
|
type: number
|
|
description: A UNIX timestamp representing the moment the user's account was
|
|
created
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
joindateISO:
|
|
type: string
|
|
lastonlineISO:
|
|
type: string
|
|
banned_until:
|
|
type: number
|
|
banned_until_readable:
|
|
type: string
|
|
administrator:
|
|
type: boolean
|
|
isOwner:
|
|
type: boolean
|
|
membersNextStart:
|
|
type: number
|
|
pending:
|
|
type: array
|
|
items: {}
|
|
invited:
|
|
type: array
|
|
items: {}
|
|
isMember:
|
|
type: boolean
|
|
isPending:
|
|
type: boolean
|
|
isInvited:
|
|
type: boolean
|
|
isOwner:
|
|
type: boolean
|
|
posts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
timestamp:
|
|
type: number
|
|
deleted:
|
|
type: boolean
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
votes:
|
|
type: number
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
type: string
|
|
status:
|
|
type: string
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
topic:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
title:
|
|
type: string
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
slug:
|
|
type: string
|
|
deleted:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
mainPid:
|
|
type: number
|
|
description: The post id of the first post in this topic (also called the
|
|
"original post")
|
|
titleRaw:
|
|
type: string
|
|
category:
|
|
type: object
|
|
properties:
|
|
cid:
|
|
type: number
|
|
description: A category identifier
|
|
name:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
parentCid:
|
|
type: number
|
|
description: The category identifier for the category that is the immediate
|
|
ancestor of the current category
|
|
bgColor:
|
|
type: string
|
|
color:
|
|
type: string
|
|
image:
|
|
nullable: true
|
|
imageClass:
|
|
nullable: true
|
|
type: string
|
|
isMainPost:
|
|
type: boolean
|
|
isAdmin:
|
|
type: boolean
|
|
isGlobalMod:
|
|
type: boolean
|
|
allowPrivateGroups:
|
|
type: number
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|
|
"/api/groups/{slug}/members":
|
|
get:
|
|
tags:
|
|
- groups
|
|
summary: Get user group members
|
|
parameters:
|
|
- name: userslug
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- type: object
|
|
properties:
|
|
users:
|
|
type: array
|
|
- $ref: components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: components/schemas/CommonProps.yaml#/CommonProps
|