mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-02-02 04:40:01 +01:00
9490 lines
381 KiB
YAML
9490 lines
381 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: Get forum index data
|
|
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: Get a post's raw text
|
|
description: >-
|
|
This route returns the raw content of a post, without running it through any installed parsers. It it useful if you wish to populate a user control on the client-side with the raw input for editing purposes.
|
|
|
|
If you are using this on the client side DOM, be careful that appropriate sanitization measures are taken, as raw content will faithfully reproduce any script injections embedded in the post content.
|
|
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:
|
|
$ref: components/schemas/PostsObject.yaml#/PostsObject
|
|
/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:
|
|
$ref: components/schemas/PostsObject.yaml#/PostsObject
|
|
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:
|
|
type: number
|
|
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:
|
|
$ref: components/schemas/PostsObject.yaml#/PostsObject
|
|
latestPosts:
|
|
$ref: components/schemas/PostsObject.yaml#/PostsObject
|
|
bestPosts:
|
|
$ref: components/schemas/PostsObject.yaml#/PostsObject
|
|
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:
|
|
$ref: components/schemas/PostsObject.yaml#/PostsObject
|
|
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:
|
|
$ref: components/schemas/PostsObject.yaml#/PostsObject
|
|
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
|