Files
NodeBB/public/openapi/read.yaml
2020-04-03 15:30:50 -04:00

25024 lines
851 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.
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
summary: /api/
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
properties:
title:
type: string
categories:
type: array
items:
type: object
properties:
cid:
type: number
name:
type: string
description:
type: string
icon:
type: string
slug:
type: string
topic_count:
type: number
order:
type: number
bgColor:
type: string
link:
type: string
class:
type: string
numRecentReplies:
type: number
color:
type: string
post_count:
type: number
descriptionParsed:
type: string
parentCid:
type: number
disabled:
type: number
isSection:
type: number
totalPostCount:
type: number
totalTopicCount:
type: number
tagWhitelist:
type: array
items: {}
unread-class:
type: string
children:
type: array
items:
type: object
properties:
cid:
type: number
name:
type: string
description:
type: string
icon:
type: string
slug:
type: string
topic_count:
type: number
order:
type: number
bgColor:
type: string
link:
type: string
class:
type: string
numRecentReplies:
type: number
color:
type: string
post_count:
type: number
parentCid:
type: number
disabled:
type: number
isSection:
type: number
totalPostCount:
type: number
totalTopicCount:
type: number
descriptionParsed:
type: string
tagWhitelist:
type: array
items: {}
unread-class:
type: string
children:
type: array
items: {}
parent:
type: object
properties:
link:
type: string
class:
type: string
icon:
type: string
description:
type: string
order:
type: number
topic_count:
type: number
name:
type: string
cid:
type: number
post_count:
type: number
numRecentReplies:
type: number
bgColor:
type: string
slug:
type: string
color:
type: string
disabled:
type: number
descriptionParsed:
type: string
isSection:
type: number
parentCid:
type: number
totalPostCount:
type: number
totalTopicCount:
type: number
tagWhitelist:
type: array
items: {}
unread-class:
type: string
imageClass:
type: string
posts:
type: array
items:
type: object
properties:
pid:
type: number
timestamp:
type: number
content:
type: string
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
icon:text:
type: string
icon:bgColor:
type: string
index:
type: number
cid:
type: number
parentCid:
type: number
topic:
type: object
properties:
slug:
type: string
title:
type: string
required:
- pid
- timestamp
- content
- timestampISO
- user
- index
- cid
- parentCid
- topic
imageClass:
type: string
timesClicked:
type: number
required:
- cid
- name
- description
- icon
- bgColor
- color
- slug
- topic_count
- disabled
- order
- link
- numRecentReplies
- class
- post_count
- parentCid
- isSection
- totalPostCount
- totalTopicCount
- descriptionParsed
- tagWhitelist
- unread-class
- children
- parent
- posts
- imageClass
- timesClicked
posts:
type: array
items:
type: object
properties:
pid:
type: number
timestamp:
type: number
content:
type: string
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
icon:text:
type: string
icon:bgColor:
type: string
index:
type: number
cid:
type: number
parentCid:
type: number
topic:
type: object
properties:
slug:
type: string
title:
type: string
required:
- pid
- timestamp
- content
- timestampISO
- user
- index
- cid
- parentCid
- topic
teaser:
type: object
properties:
url:
type: string
timestampISO:
type: string
pid:
type: number
topic:
type: object
properties:
slug:
type: string
title:
type: string
imageClass:
type: string
required:
- cid
- name
- description
- icon
- slug
- topic_count
- disabled
- order
- bgColor
- link
- class
- numRecentReplies
- color
- post_count
- parentCid
- descriptionParsed
- isSection
- totalPostCount
- totalTopicCount
- tagWhitelist
- unread-class
- children
- posts
- teaser
- imageClass
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
categories:
type: boolean
url:
type: string
bodyClass:
type: string
topics:
type: array
items:
type: object
properties:
tid:
type: number
uid:
type: number
cid:
type: number
mainPid:
type: number
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
upvotes:
type: number
downvotes:
type: number
titleRaw:
type: string
timestampISO:
type: string
lastposttimeISO:
type: string
votes:
type: number
category:
type: object
properties:
cid:
type: number
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
username:
type: string
userslug:
type: string
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
icon:bgColor:
type: string
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
timestamp:
type: number
tid:
type: number
content:
type: string
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
icon:text:
type: string
icon:bgColor:
type: string
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
required:
- value
- valueEscaped
- color
- bgColor
- score
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
required:
- tid
- uid
- cid
- mainPid
- title
- slug
- timestamp
- lastposttime
- postcount
- viewcount
- deleted
- locked
- pinned
- upvotes
- downvotes
- titleRaw
- timestampISO
- lastposttimeISO
- votes
- category
- user
- teaser
- tags
- isOwner
- ignored
- unread
- bookmark
- unreplied
- icons
- index
- teaserPid
- thumb
recentCards:
type: object
properties:
title:
type: string
opacity:
type: string
textShadow:
type: string
enableCarousel:
type: number
enableCarouselPagination:
type: number
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
sidebar:
type: array
items:
type: object
properties:
html:
type: string
required:
- html
header:
type: array
items:
type: object
properties:
html:
type: string
footer:
type: array
items:
type: object
properties:
html:
type: string
motd:
type: array
items:
type: object
properties:
html:
type: string
"304":
description: ""
"/api/post/{pid}/raw":
get:
tags:
- posts
summary: /api/post/{pid}/raw
parameters:
- name: pid
in: path
required: true
schema:
type: string
responses: {}
/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:
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
required:
- done
- doneText
- notDoneText
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
required:
- yesterday
- today
- lastweek
- thisweek
- lastmonth
- thismonth
- alltime
- dayIncrease
- dayTextClass
- weekIncrease
- weekTextClass
- monthIncrease
- monthTextClass
- name
canRestart:
type: boolean
lastrestart:
type: object
properties:
uid:
type: number
ip:
type: string
timestamp:
type: number
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: number
joindate:
type: number
lastonline:
type: number
picture:
type: string
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
type: string
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: number
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
type: string
fbid:
type: string
gplusid:
type: string
githubid:
type: string
twid:
nullable: true
groupTitleArray:
type: array
items:
type: string
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
timestampISO:
type: string
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/general/dashboard:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
/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:
type: object
properties:
routes:
type: array
items:
type: object
properties:
route:
type: string
name:
type: string
required:
- route
- name
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/general/homepage:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
/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:
type: object
properties:
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/manage/categories:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
type: object
properties:
category:
type: object
properties:
cid:
type: number
name:
type: string
description:
type: string
icon:
type: string
bgColor:
type: string
color:
type: string
slug:
type: string
parentCid:
type: number
topic_count:
type: number
post_count:
type: number
disabled:
type: number
order:
type: number
link:
type: string
numRecentReplies:
type: number
class:
type: string
imageClass:
type: string
timesClicked:
type: number
isSection:
type: number
totalPostCount:
type: number
totalTopicCount:
type: number
descriptionParsed:
type: string
tagWhitelist:
type: array
items: {}
unread-class:
type: string
parent:
type: object
properties:
cid:
type: number
name:
type: string
description:
type: string
icon:
type: string
bgColor:
type: string
color:
type: string
slug:
type: string
parentCid:
type: number
topic_count:
type: number
post_count:
type: number
disabled:
type: number
order:
type: number
link:
type: string
numRecentReplies:
type: number
class:
type: string
imageClass:
type: string
descriptionParsed:
type: string
isSection:
type: number
totalPostCount:
type: number
totalTopicCount:
type: number
allCategories:
type: array
items:
type: object
properties:
text:
type: string
value:
type: number
selected:
type: boolean
required:
- text
- value
- selected
customClasses:
type: array
items: {}
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/manage/category:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
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
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/manage/category-analytics:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
type: object
properties:
privileges:
type: object
properties:
labels:
type: object
properties:
users:
type: array
items:
type: object
properties:
name:
type: string
required:
- name
groups:
type: array
items:
type: object
properties:
name:
type: string
required:
- name
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
required:
- name
- nameEscaped
- privileges
- isPrivate
columnCountUser:
type: number
columnCountUserOther:
type: number
columnCountGroup:
type: number
columnCountGroupOther:
type: number
categories:
type: array
items:
type: object
properties:
cid:
type: number
name:
type: string
icon:
type: string
selected:
type: boolean
level:
type: string
parentCid:
type: number
color:
type: string
bgColor:
type: string
imageClass:
type: string
required:
- cid
- name
- icon
- selected
- level
- parentCid
- color
- bgColor
- imageClass
selectedCategory:
type: object
properties:
cid:
type: number
name:
type: string
level:
type: string
icon:
type: string
parentCid:
type: number
color:
type: string
bgColor:
type: string
selected:
type: boolean
cid:
type: number
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/manage/privileges:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
/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:
type: object
properties:
users:
type: array
items:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
postcount:
type: number
joindate:
type: number
banned:
type: number
reputation:
type: number
picture:
nullable: true
type: string
flags:
nullable: true
lastonline:
type: number
email:confirmed:
type: number
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until_readable:
type: string
administrator:
type: boolean
required:
- uid
- username
- userslug
- email
- postcount
- joindate
- banned
- reputation
- picture
- flags
- lastonline
- email:confirmed
- icon:text
- icon:bgColor
- joindateISO
- lastonlineISO
- banned_until_readable
- administrator
page:
type: number
pageCount:
type: number
resultsPerPage:
type: number
latest:
type: boolean
search_display:
type: string
pagination:
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
separator:
type: boolean
required:
- page
- active
- qs
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
requireEmailConfirmation:
type: number
inviteOnly:
type: boolean
adminInviteOnly:
type: boolean
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/manage/users:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
/api/admin/manage/users/search:
get:
tags:
- admin
summary: /api/admin/manage/users/search
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
properties:
search_display:
type: string
users:
type: array
items: {}
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/manage/users:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
/api/admin/manage/users/latest:
get:
tags:
- admin
summary: /api/admin/manage/users/latest
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
properties:
users:
type: array
items:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
postcount:
type: number
joindate:
type: number
banned:
type: number
reputation:
type: number
picture:
nullable: true
type: string
flags:
nullable: true
lastonline:
type: number
email:confirmed:
type: number
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until_readable:
type: string
administrator:
type: boolean
required:
- uid
- username
- userslug
- email
- postcount
- joindate
- banned
- reputation
- picture
- flags
- lastonline
- email:confirmed
- icon:text
- icon:bgColor
- joindateISO
- lastonlineISO
- banned_until_readable
- administrator
page:
type: number
pageCount:
type: number
resultsPerPage:
type: number
latest:
type: boolean
search_display:
type: string
pagination:
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
separator:
type: boolean
required:
- page
- active
- qs
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
requireEmailConfirmation:
type: number
inviteOnly:
type: boolean
adminInviteOnly:
type: boolean
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/manage/users:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
/api/admin/manage/users/not-validated:
get:
tags:
- admin
summary: /api/admin/manage/users/not-validated
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
properties:
users:
type: array
items:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
postcount:
type: number
joindate:
type: number
banned:
type: number
reputation:
type: number
picture:
nullable: true
type: string
flags:
nullable: true
lastonline:
type: number
email:confirmed:
type: number
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until_readable:
type: string
administrator:
type: boolean
required:
- uid
- username
- userslug
- email
- postcount
- joindate
- banned
- reputation
- picture
- flags
- lastonline
- email:confirmed
- icon:text
- icon:bgColor
- joindateISO
- lastonlineISO
- banned_until_readable
- administrator
page:
type: number
pageCount:
type: number
resultsPerPage:
type: number
notvalidated:
type: boolean
search_display:
type: string
pagination:
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
separator:
type: boolean
required:
- page
- active
- qs
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
requireEmailConfirmation:
type: number
inviteOnly:
type: boolean
adminInviteOnly:
type: boolean
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/manage/users:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
/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:
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
required:
- name
- description
- deleted
- hidden
- system
- userTitle
- icon
- labelColor
- createtime
- slug
- memberCount
- userTitleEnabled
- private
- disableJoinRequests
- disableLeave
- nameEncoded
- displayName
- textColor
- createtimeISO
- cover:thumb:url
- cover:url
- cover:position
- ownerUid
pagination:
type: object
properties:
prev:
type: object
properties:
page:
type: number
active:
type: boolean
next:
type: object
properties:
page:
type: number
active:
type: boolean
first:
type: object
properties:
page:
type: number
active:
type: boolean
last:
type: object
properties:
page:
type: number
active:
type: boolean
rel:
type: array
items: {}
pages:
type: array
items: {}
currentPage:
type: number
pageCount:
type: number
yourid:
type: number
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/manage/groups:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
type: string
status:
type: string
postcount:
type: number
reputation:
type: number
email:confirmed:
type: number
lastonline:
type: number
flags:
nullable: true
banned:
type: number
banned:expire:
type: number
joindate:
type: number
icon:text:
type: string
icon:bgColor:
type: string
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
groupNames:
type: array
items:
type: object
properties:
encodedName:
type: string
displayName:
type: string
selected:
type: boolean
required:
- encodedName
- displayName
- selected
allowPrivateGroups:
type: number
maximumGroupNameLength:
type: number
maximumGroupTitleLength:
type: number
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/manage/group:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
/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:
type: object
properties:
title:
type: string
delivery:
type: array
items:
type: object
properties:
username:
type: string
picture:
nullable: true
type: string
uid:
type: number
icon:text:
type: string
icon:bgColor:
type: string
lastDelivery:
type: string
setting:
type: boolean
required:
- username
- picture
- uid
- icon:text
- icon:bgColor
- lastDelivery
- setting
default:
type: string
pagination:
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
separator:
type: boolean
required:
- page
- active
- qs
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
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/manage/digest:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
type: object
properties:
notificationSettings:
type: array
items:
type: object
properties:
name:
type: string
label:
type: string
required:
- name
- label
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/settings/user:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
type: object
properties:
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/appearance/customise:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
/api/admin/extend/plugins:
get:
tags:
- admin
summary: /api/admin/extend/plugins
responses:
"200":
description: ""
content:
application/json:
schema:
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
required:
- latest
- description
- name
- updated
- url
- numInstalls
- isCompatible
- id
- installed
- active
- isTheme
- error
- version
- license
- outdated
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
required:
- name
- updated
- description
- latest
- numInstalls
- isCompatible
- id
- installed
- active
- url
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
required:
- name
- updated
- description
- latest
- url
- numInstalls
- isCompatible
- id
- installed
- active
submitPluginUsage:
type: number
version:
type: string
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/extend/plugins:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
/api/admin/extend/widgets:
get:
tags:
- admin
summary: /api/admin/extend/widgets
responses:
"200":
description: ""
content:
application/json:
schema:
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
required:
- name
- location
required:
- template
- areas
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
required:
- widget
- data
required:
- name
- template
- location
- data
availableWidgets:
type: array
items:
type: object
properties:
widget:
type: string
name:
type: string
description:
type: string
content:
type: string
required:
- widget
- name
- description
- content
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/extend/widgets:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"304":
description: ""
/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:
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
required:
- name
- count
- size
- avgObjSize
- storageSize
- totalIndexSize
- indexSizes
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
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/advanced/database:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
/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:
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
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/advanced/cache:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
/api/admin/development/logger:
get:
tags:
- admin
summary: /api/admin/development/logger
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
properties:
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/development/logger:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
/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
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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
type: string
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
nullable: true
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
nullable: true
fbid:
nullable: true
gplusid:
type: string
githubid:
nullable: true
twid:
nullable: true
groupTitleArray:
type: array
items: {}
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
hasPrivateChat:
type: number
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
required:
- id
- route
- name
- visibility
- public
- icon
sso:
type: array
items:
type: object
properties:
associated:
type: boolean
url:
type: string
name:
type: string
icon:
type: string
deauthUrl:
type: string
required:
- associated
- url
- name
- icon
websiteLink:
type: string
websiteName:
type: string
username:disableEdit:
type: number
email:disableEdit:
type: number
"401":
description: ""
content:
application/json:
schema:
title: not-authorized
type: undefined
"/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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:confirmed:
type: number
joindate:
type: number
lastonline:
type: number
picture:
type: string
location:
nullable: true
birthday:
nullable: true
website:
nullable: true
aboutme:
type: string
signature:
nullable: true
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: number
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
nullable: true
cover:position:
nullable: true
groupTitle:
nullable: true
fbid:
nullable: true
gplusid:
nullable: true
githubid:
nullable: true
twid:
nullable: true
groupTitleArray:
type: array
items: {}
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
"/api/user/username/{username}":
get:
tags:
- users
summary: /api/user/username/{username}
parameters:
- name: username
in: path
required: true
schema:
type: string
responses: {}
"/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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:confirmed:
type: number
joindate:
type: number
lastonline:
type: number
picture:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
type: string
signature:
nullable: true
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: number
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
nullable: true
fbid:
nullable: true
gplusid:
type: string
githubid:
nullable: true
twid:
nullable: true
groupTitleArray:
type: array
items: {}
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
text/plain:
schema:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:confirmed:
type: number
joindate:
type: number
lastonline:
type: number
picture:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
type: string
signature:
nullable: true
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: number
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
nullable: true
fbid:
nullable: true
gplusid:
type: string
githubid:
nullable: true
twid:
nullable: true
groupTitleArray:
type: array
items: {}
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
"404":
description: ""
content:
application/json:
schema:
type: object
properties:
path:
type: string
title:
type: string
text/plain:
schema:
type: object
properties:
path:
type: string
title:
type: string
"/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/{cid}/moderators":
get:
tags:
- categories
summary: /api/categories/{cid}/moderators
parameters:
- name: cid
in: path
required: true
schema:
type: string
responses: {}
"/api/recent/posts/{term?}":
get:
tags:
- topics
summary: /api/recent/posts/{term?}
parameters:
- name: term?
in: path
required: true
schema:
type: string
responses:
"200":
description: ""
content:
application/json:
schema:
type: array
items:
type: object
properties:
pid:
type: number
tid:
type: number
content:
type: string
uid:
type: number
timestamp:
type: number
deleted:
type: boolean
upvotes:
type: number
downvotes:
type: number
votes:
type: number
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
status:
type: string
icon:text:
type: string
icon:bgColor:
type: string
topic:
type: object
properties:
uid:
type: number
tid:
type: number
title:
type: string
cid:
type: number
slug:
type: string
deleted:
type: number
postcount:
type: number
mainPid:
type: number
titleRaw:
type: string
category:
type: object
properties:
cid:
type: number
name:
type: string
icon:
type: string
slug:
type: string
parentCid:
type: number
bgColor:
type: string
color:
type: string
image:
nullable: true
imageClass:
nullable: true
type: string
isMainPost:
type: boolean
required:
- pid
- tid
- content
- uid
- timestamp
- deleted
- upvotes
- downvotes
- votes
- timestampISO
- user
- topic
- category
- isMainPost
/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
required:
- page
- active
- qs
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:
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
required:
- name
- url
- callbackURL
- icon
- scope
allowRegistration:
type: boolean
allowLoginWith:
type: string
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
title:
type: string
allowPasswordReset:
type: boolean
allowLocalLogin:
type: boolean
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
login:
type: boolean
url:
type: string
bodyClass:
type: string
captcha:
type: object
properties:
label:
type: string
html:
type: string
styleName:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
/api/register:
get:
tags:
- authentication
summary: /api/register
responses:
"200":
description: ""
content:
application/json:
schema:
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
required:
- name
- url
- callbackURL
- icon
- scope
minimumUsernameLength:
type: number
maximumUsernameLength:
type: number
minimumPasswordLength:
type: number
minimumPasswordStrength:
type: number
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
regFormEntry:
type: array
items:
type: object
properties:
label:
type: string
html:
type: string
styleName:
type: string
required:
- label
- html
title:
type: string
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
register:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"304":
description: ""
/api/register/complete:
get:
tags:
- authentication
summary: /api/register/complete
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
properties:
title:
type: string
errors:
type: array
items: {}
sections:
type: array
items:
type: string
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
registerComplete:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
text/plain:
schema:
type: object
properties:
title:
type: string
errors:
type: array
items: {}
sections:
type: array
items:
type: string
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
registerComplete:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"302":
description: ""
content:
application/json:
schema:
type: string
example: Found. Redirecting to /register
text/plain:
schema:
type: string
example: Found. Redirecting to /register
/api/search:
get:
tags:
- search
summary: /api/search
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
properties:
posts:
type: array
items:
type: object
properties:
pid:
type: number
tid:
type: number
content:
type: string
uid:
type: number
timestamp:
type: number
deleted:
type: boolean
upvotes:
type: number
downvotes:
type: number
votes:
type: number
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
status:
type: string
icon:text:
type: string
icon:bgColor:
type: string
topic:
type: object
properties:
uid:
type: number
tid:
type: number
title:
type: string
cid:
type: number
slug:
type: string
deleted:
type: number
postcount:
type: number
mainPid:
type: number
titleRaw:
type: string
category:
type: object
properties:
cid:
type: number
name:
type: string
icon:
type: string
slug:
type: string
parentCid:
type: number
bgColor:
type: string
color:
type: string
image:
nullable: true
imageClass:
nullable: true
type: string
isMainPost:
type: boolean
required:
- pid
- tid
- content
- uid
- timestamp
- deleted
- upvotes
- downvotes
- votes
- timestampISO
- user
- topic
- category
- isMainPost
matchCount:
type: number
pageCount:
type: number
time:
type: string
pagination:
type: object
properties:
prev:
type: object
properties:
page:
type: number
active:
type: boolean
next:
type: object
properties:
page:
type: number
active:
type: boolean
first:
type: object
properties:
page:
type: number
active:
type: boolean
last:
type: object
properties:
page:
type: number
active:
type: boolean
rel:
type: array
items: {}
pages:
type: array
items: {}
currentPage:
type: number
pageCount:
type: number
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
required:
- value
- text
categoriesCount:
type: number
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
expandSearch:
type: boolean
showAsPosts:
type: boolean
showAsTopics:
type: boolean
title:
type: string
searchDefaultSortBy:
type: string
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
search:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"304":
description: ""
"401":
description: ""
content:
application/json:
schema:
title: not-authorized
type: undefined
"403":
description: ""
content:
application/json:
schema:
type: object
properties:
path:
type: string
loggedIn:
type: boolean
title:
type: string
"/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:
type: object
properties:
tid:
type: number
uid:
type: number
cid:
type: number
mainPid:
type: number
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
titleRaw:
type: string
timestampISO:
type: string
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
required:
- value
- valueEscaped
- color
- bgColor
- score
posts:
type: array
items:
type: object
properties:
pid:
type: number
uid:
type: number
tid:
type: number
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
editedISO:
type: string
index:
type: number
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
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
icon:bgColor:
type: string
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
required:
- pid
- uid
- tid
- content
- timestamp
- votes
- upvotes
- deleted
- downvotes
- deleterUid
- edited
- timestampISO
- editedISO
- index
- user
- editor
- bookmarked
- upvoted
- downvoted
- replies
- selfPost
- display_edit_tools
- display_delete_tools
- display_moderator_tools
- display_move_tools
- display_post_menu
category:
type: object
properties:
link:
type: string
class:
type: string
icon:
type: string
description:
type: string
order:
type: number
topic_count:
type: number
name:
type: string
cid:
type: number
post_count:
type: number
numRecentReplies:
type: number
bgColor:
type: string
slug:
type: string
color:
type: string
disabled:
type: number
descriptionParsed:
type: string
isSection:
type: number
parentCid:
type: number
totalPostCount:
type: number
totalTopicCount:
type: number
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
required:
- id
- name
- class
- activated
deleter:
nullable: true
merger:
nullable: true
related:
type: array
items: {}
unreplied:
type: boolean
icons:
type: array
items: {}
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
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
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
pagination:
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
required:
- page
- active
- qs
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
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
topic:
type: boolean
url:
type: string
bodyClass:
type: string
loggedInUser:
type: object
properties:
uid:
type: number
username:
type: string
picture:
type: string
icon:text:
type: string
icon:bgColor:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
required:
- html
text/plain:
schema:
type: object
properties:
tid:
type: number
uid:
type: number
cid:
type: number
mainPid:
type: number
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
titleRaw:
type: string
timestampISO:
type: string
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
required:
- value
- valueEscaped
- color
- bgColor
- score
posts:
type: array
items:
type: object
properties:
pid:
type: number
uid:
type: number
tid:
type: number
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
editedISO:
type: string
index:
type: number
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
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
icon:bgColor:
type: string
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
required:
- pid
- uid
- tid
- content
- timestamp
- votes
- upvotes
- deleted
- downvotes
- deleterUid
- edited
- timestampISO
- editedISO
- index
- user
- editor
- bookmarked
- upvoted
- downvoted
- replies
- selfPost
- display_edit_tools
- display_delete_tools
- display_moderator_tools
- display_move_tools
- display_post_menu
category:
type: object
properties:
link:
type: string
class:
type: string
icon:
type: string
description:
type: string
order:
type: number
topic_count:
type: number
name:
type: string
cid:
type: number
post_count:
type: number
numRecentReplies:
type: number
bgColor:
type: string
slug:
type: string
color:
type: string
disabled:
type: number
descriptionParsed:
type: string
isSection:
type: number
parentCid:
type: number
totalPostCount:
type: number
totalTopicCount:
type: number
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
required:
- id
- name
- class
- activated
deleter:
nullable: true
merger:
nullable: true
related:
type: array
items: {}
unreplied:
type: boolean
icons:
type: array
items: {}
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
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
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
pagination:
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
required:
- page
- active
- qs
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
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
topic:
type: boolean
url:
type: string
bodyClass:
type: string
loggedInUser:
type: object
properties:
uid:
type: number
username:
type: string
picture:
type: string
icon:text:
type: string
icon:bgColor:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
required:
- html
"401":
description: ""
content:
application/json:
schema:
title: not-authorized
type: undefined
text/plain:
schema:
title: not-authorized
type: undefined
"404":
description: ""
content:
application/json:
schema:
type: string
example: Not Found
text/plain:
schema:
type: string
example: Not Found
"/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:
type: object
properties:
tid:
type: number
uid:
type: number
cid:
type: number
mainPid:
type: number
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
titleRaw:
type: string
timestampISO:
type: string
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
required:
- value
- valueEscaped
- color
- bgColor
- score
posts:
type: array
items:
type: object
properties:
editor:
properties:
uid:
type: number
username:
type: string
userslug:
type: string
nullable: true
type: object
votes:
type: number
timestamp:
type: number
tid:
type: number
content:
type: string
pid:
type: number
edited:
type: number
uid:
type: number
upvotes:
type: number
bookmarks:
type: number
replies:
type: object
properties:
hasMore:
type: boolean
users:
type: array
items:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
icon:text:
type: string
icon:bgColor:
type: string
administrator:
type: boolean
required:
- uid
- username
- userslug
- picture
- icon:text
- icon:bgColor
- administrator
text:
type: string
count:
type: number
timestampISO:
type: string
deleted:
type: number
downvotes:
type: number
deleterUid:
type: number
timestampISO:
type: string
editedISO:
type: string
index:
type: number
user:
type: object
properties:
uid:
type: number
username:
type: string
fullname:
type: string
userslug:
type: string
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
icon:bgColor:
type: string
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
required:
- name
- slug
- labelColor
- textColor
- icon
- userTitle
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
required:
- votes
- timestamp
- tid
- content
- pid
- uid
- deleted
- upvotes
- downvotes
- deleterUid
- edited
- timestampISO
- editedISO
- index
- user
- editor
- bookmarked
- upvoted
- downvoted
- replies
- selfPost
- display_edit_tools
- display_delete_tools
- display_moderator_tools
- display_move_tools
- display_post_menu
- toPid
- parent
- bookmarks
category:
type: object
properties:
link:
type: string
class:
type: string
icon:
type: string
description:
type: string
order:
type: number
topic_count:
type: number
name:
type: string
cid:
type: number
post_count:
type: number
numRecentReplies:
type: number
bgColor:
type: string
slug:
type: string
color:
type: string
disabled:
type: number
descriptionParsed:
type: string
isSection:
type: number
parentCid:
type: number
totalPostCount:
type: number
totalTopicCount:
type: number
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
required:
- id
- name
- class
- activated
deleter:
nullable: true
merger:
nullable: true
related:
type: array
items: {}
unreplied:
type: boolean
icons:
type: array
items: {}
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
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
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
pagination:
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
required:
- page
- active
- qs
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
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
topic:
type: boolean
url:
type: string
bodyClass:
type: string
loggedInUser:
type: object
properties:
uid:
type: number
username:
type: string
picture:
type: string
icon:text:
type: string
icon:bgColor:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
required:
- html
text/plain:
schema:
type: object
properties:
tid:
type: number
uid:
type: number
cid:
type: number
mainPid:
type: number
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
titleRaw:
type: string
timestampISO:
type: string
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
required:
- value
- valueEscaped
- color
- bgColor
- score
posts:
type: array
items:
type: object
properties:
editor:
properties:
uid:
type: number
username:
type: string
userslug:
type: string
nullable: true
type: object
votes:
type: number
timestamp:
type: number
tid:
type: number
content:
type: string
pid:
type: number
edited:
type: number
uid:
type: number
upvotes:
type: number
bookmarks:
type: number
replies:
type: object
properties:
hasMore:
type: boolean
users:
type: array
items:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
icon:text:
type: string
icon:bgColor:
type: string
administrator:
type: boolean
required:
- uid
- username
- userslug
- picture
- icon:text
- icon:bgColor
- administrator
text:
type: string
count:
type: number
timestampISO:
type: string
deleted:
type: number
downvotes:
type: number
deleterUid:
type: number
timestampISO:
type: string
editedISO:
type: string
index:
type: number
user:
type: object
properties:
uid:
type: number
username:
type: string
fullname:
type: string
userslug:
type: string
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
icon:bgColor:
type: string
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
required:
- name
- slug
- labelColor
- textColor
- icon
- userTitle
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
required:
- votes
- timestamp
- tid
- content
- pid
- uid
- deleted
- upvotes
- downvotes
- deleterUid
- edited
- timestampISO
- editedISO
- index
- user
- editor
- bookmarked
- upvoted
- downvoted
- replies
- selfPost
- display_edit_tools
- display_delete_tools
- display_moderator_tools
- display_move_tools
- display_post_menu
- toPid
- parent
- bookmarks
category:
type: object
properties:
link:
type: string
class:
type: string
icon:
type: string
description:
type: string
order:
type: number
topic_count:
type: number
name:
type: string
cid:
type: number
post_count:
type: number
numRecentReplies:
type: number
bgColor:
type: string
slug:
type: string
color:
type: string
disabled:
type: number
descriptionParsed:
type: string
isSection:
type: number
parentCid:
type: number
totalPostCount:
type: number
totalTopicCount:
type: number
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
required:
- id
- name
- class
- activated
deleter:
nullable: true
merger:
nullable: true
related:
type: array
items: {}
unreplied:
type: boolean
icons:
type: array
items: {}
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
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
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
pagination:
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
required:
- page
- active
- qs
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
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
topic:
type: boolean
url:
type: string
bodyClass:
type: string
loggedInUser:
type: object
properties:
uid:
type: number
username:
type: string
picture:
type: string
icon:text:
type: string
icon:bgColor:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
required:
- html
"401":
description: ""
content:
application/json:
schema:
title: not-authorized
type: undefined
text/plain:
schema:
title: not-authorized
type: undefined
"403":
description: ""
content:
application/json:
schema:
type: object
properties:
path:
type: string
loggedIn:
type: boolean
title:
type: string
text/plain:
schema:
type: object
properties:
path:
type: string
loggedIn:
type: boolean
title:
type: string
"404":
description: ""
content:
application/json:
schema:
type: string
example: Not Found
text/plain:
schema:
type: string
example: Not Found
"/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:
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
datetime:
type: number
reporter:
type: object
properties:
username:
type: string
picture:
nullable: true
type: string
icon:bgColor:
type: string
icon:text:
type: string
labelClass:
type: string
target_readable:
type: string
datetimeISO:
type: string
assignee:
type: string
required:
- state
- flagId
- type
- targetId
- description
- uid
- datetime
- reporter
- labelClass
- target_readable
- datetimeISO
- assignee
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
pagination:
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
separator:
type: boolean
required:
- page
- active
- qs
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
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
flags/list:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
type: object
properties:
state:
type: string
flagId:
type: number
type:
type: string
targetId:
type: string
description:
type: string
uid:
type: number
datetime:
type: number
datetimeISO:
type: string
target_readable:
type: string
target:
type: object
properties: {}
history:
type: array
items:
type: object
properties:
uid:
type: number
fields:
type: object
properties:
state:
type: string
datetime:
type: number
datetimeISO:
type: string
user:
type: object
properties:
username:
type: string
userslug:
type: string
picture:
nullable: true
uid:
type: number
icon:text:
type: string
icon:bgColor:
type: string
notes:
type: array
items: {}
reporter:
type: object
properties:
username:
type: string
userslug:
type: string
picture:
nullable: true
reputation:
type: number
uid:
type: number
icon:text:
type: string
icon:bgColor:
type: string
type_path:
type: string
assignees:
type: array
items:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: number
joindate:
type: number
lastonline:
type: number
picture:
nullable: true
type: string
fullname:
nullable: true
type: string
location:
nullable: true
type: string
birthday:
nullable: true
type: string
website:
nullable: true
type: string
aboutme:
nullable: true
type: string
signature:
nullable: true
type: string
uploadedpicture:
nullable: true
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: number
banned:expire:
type: number
status:
type: string
flags:
nullable: true
type: number
followerCount:
type: number
followingCount:
type: number
cover:url:
nullable: true
type: string
cover:position:
nullable: true
type: string
groupTitle:
type: string
fbid:
nullable: true
type: string
gplusid:
oneOf:
- type: string
- type: number
nullable: true
githubid:
nullable: true
type: string
twid:
nullable: true
type: string
groupTitleArray:
type: array
items:
type: string
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
required:
- uid
- username
- userslug
- email
- email:confirmed
- joindate
- lastonline
- picture
- fullname
- location
- birthday
- website
- aboutme
- signature
- uploadedpicture
- profileviews
- reputation
- postcount
- topiccount
- lastposttime
- banned
- banned:expire
- status
- flags
- followerCount
- followingCount
- cover:url
- cover:position
- groupTitle
- fbid
- gplusid
- githubid
- twid
- groupTitleArray
- icon:text
- icon:bgColor
- joindateISO
- lastonlineISO
- banned_until
- banned_until_readable
type_bool:
type: object
properties:
post:
type: boolean
user:
type: boolean
empty:
type: boolean
title:
type: string
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
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
flags/detail:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
/api/post-queue:
get:
tags:
- admin
summary: /api/post-queue
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
properties:
title:
type: string
posts:
type: array
items:
type: object
properties:
id:
type: string
uid:
type: number
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
req:
type: object
properties:
uid:
type: number
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
rawContent:
type: string
tid:
type: number
toPid:
nullable: true
user:
type: object
properties:
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
uid:
type: number
icon:text:
type: string
icon:bgColor:
type: string
topic:
type: object
properties:
cid:
oneOf:
- type: number
- type: string
title:
type: string
titleRaw:
type: string
category:
type: object
properties:
cid:
type: number
name:
type: string
description:
type: string
icon:
type: string
bgColor:
type: string
color:
type: string
slug:
type: string
parentCid:
type: number
topic_count:
type: number
post_count:
type: number
disabled:
type: number
order:
type: number
link:
type: string
numRecentReplies:
type: number
class:
type: string
imageClass:
type: string
descriptionParsed:
type: string
isSection:
type: number
totalPostCount:
type: number
totalTopicCount:
type: number
required:
- id
- uid
- type
- data
- user
- topic
- category
pagination:
type: object
properties:
prev:
type: object
properties:
page:
type: number
active:
type: boolean
next:
type: object
properties:
page:
type: number
active:
type: boolean
first:
type: object
properties:
page:
type: number
active:
type: boolean
last:
type: object
properties:
page:
type: number
active:
type: boolean
rel:
type: array
items: {}
pages:
type: array
items: {}
currentPage:
type: number
pageCount:
type: number
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
admin/manage/post-queue:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
/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}
parameters:
- name: tag
in: path
required: true
schema:
type: string
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
properties:
topics:
type: array
items:
type: object
properties:
tid:
type: number
uid:
type: number
cid:
type: number
mainPid:
type: number
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
upvotes:
type: number
downvotes:
type: number
titleRaw:
type: string
timestampISO:
type: string
lastposttimeISO:
type: string
votes:
type: number
category:
type: object
properties:
cid:
type: number
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
username:
type: string
userslug:
type: string
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
icon:bgColor:
type: string
banned_until_readable:
type: string
fullname:
type: string
teaser:
type: object
properties:
pid:
type: number
uid:
type: number
timestamp:
type: number
tid:
type: number
content:
type: string
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
icon:text:
type: string
icon:bgColor:
type: string
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
required:
- value
- valueEscaped
- color
- bgColor
- score
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
required:
- tid
- uid
- cid
- mainPid
- title
- slug
- timestamp
- lastposttime
- postcount
- viewcount
- teaserPid
- deleted
- locked
- pinned
- upvotes
- downvotes
- titleRaw
- timestampISO
- lastposttimeISO
- votes
- category
- user
- teaser
- tags
- isOwner
- ignored
- unread
- bookmark
- unreplied
- icons
- index
- thumb
- isQuestion
- isSolved
tag:
type: string
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
title:
type: string
categories:
type: array
items:
type: object
properties:
cid:
type: number
name:
type: string
level:
type: string
icon:
type: string
parentCid:
type: number
color:
type: string
bgColor:
type: string
selected:
type: boolean
imageClass:
type: string
required:
- cid
- name
- level
- icon
- parentCid
- color
- bgColor
- selected
- imageClass
pagination:
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
separator:
type: boolean
required:
- page
- active
- qs
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
rssFeedUrl:
type: string
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
tag:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"304":
description: ""
/api/tags:
get:
tags:
- tags
summary: /api/tags
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
properties:
tags:
type: array
items:
type: object
properties:
value:
type: string
score:
type: number
valueEscaped:
type: string
color:
type: string
bgColor:
type: string
required:
- value
- score
- valueEscaped
- color
- bgColor
displayTagSearch:
type: boolean
nextStart:
type: number
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
title:
type: string
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
tags:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
/api/categories:
get:
tags:
- categories
summary: /api/categories
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
properties:
title:
type: string
categories:
type: array
items:
type: object
properties:
cid:
type: number
name:
type: string
description:
type: string
icon:
type: string
slug:
type: string
topic_count:
type: number
order:
type: number
bgColor:
type: string
link:
type: string
class:
type: string
numRecentReplies:
type: number
color:
type: string
post_count:
type: number
descriptionParsed:
type: string
parentCid:
type: number
disabled:
type: number
isSection:
type: number
totalPostCount:
type: number
totalTopicCount:
type: number
tagWhitelist:
type: array
items: {}
unread-class:
type: string
children:
type: array
items:
type: object
properties:
cid:
type: number
name:
type: string
description:
type: string
icon:
type: string
slug:
type: string
topic_count:
type: number
order:
type: number
bgColor:
type: string
link:
type: string
class:
type: string
numRecentReplies:
type: number
color:
type: string
post_count:
type: number
parentCid:
type: number
disabled:
type: number
isSection:
type: number
totalPostCount:
type: number
totalTopicCount:
type: number
descriptionParsed:
type: string
tagWhitelist:
type: array
items: {}
unread-class:
type: string
children:
type: array
items: {}
parent:
type: object
properties:
link:
type: string
class:
type: string
icon:
type: string
description:
type: string
order:
type: number
topic_count:
type: number
name:
type: string
cid:
type: number
post_count:
type: number
numRecentReplies:
type: number
bgColor:
type: string
slug:
type: string
color:
type: string
disabled:
type: number
descriptionParsed:
type: string
isSection:
type: number
parentCid:
type: number
totalPostCount:
type: number
totalTopicCount:
type: number
tagWhitelist:
type: array
items: {}
unread-class:
type: string
imageClass:
type: string
posts:
type: array
items:
type: object
properties:
pid:
type: number
timestamp:
type: number
content:
type: string
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
icon:text:
type: string
icon:bgColor:
type: string
index:
type: number
cid:
type: number
parentCid:
type: number
topic:
type: object
properties:
slug:
type: string
title:
type: string
required:
- pid
- timestamp
- content
- timestampISO
- user
- index
- cid
- parentCid
- topic
imageClass:
type: string
timesClicked:
type: number
required:
- cid
- name
- description
- icon
- bgColor
- color
- slug
- topic_count
- disabled
- order
- link
- numRecentReplies
- class
- post_count
- parentCid
- isSection
- totalPostCount
- totalTopicCount
- descriptionParsed
- tagWhitelist
- unread-class
- children
- parent
- posts
- imageClass
- timesClicked
posts:
type: array
items:
type: object
properties:
pid:
type: number
timestamp:
type: number
content:
type: string
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
icon:text:
type: string
icon:bgColor:
type: string
index:
type: number
cid:
type: number
parentCid:
type: number
topic:
type: object
properties:
slug:
type: string
title:
type: string
required:
- pid
- timestamp
- content
- timestampISO
- user
- index
- cid
- parentCid
- topic
teaser:
type: object
properties:
url:
type: string
timestampISO:
type: string
pid:
type: number
topic:
type: object
properties:
slug:
type: string
title:
type: string
imageClass:
type: string
required:
- cid
- name
- description
- icon
- slug
- topic_count
- disabled
- order
- bgColor
- link
- class
- numRecentReplies
- color
- post_count
- parentCid
- descriptionParsed
- isSection
- totalPostCount
- totalTopicCount
- tagWhitelist
- unread-class
- children
- posts
- teaser
- imageClass
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
categories:
type: boolean
url:
type: string
bodyClass:
type: string
topics:
type: array
items:
type: object
properties:
tid:
type: number
uid:
type: number
cid:
type: number
mainPid:
type: number
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
titleRaw:
type: string
timestampISO:
type: string
lastposttimeISO:
type: string
votes:
type: number
category:
type: object
properties:
cid:
type: number
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
username:
type: string
fullname:
type: string
userslug:
type: string
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
icon:bgColor:
type: string
banned_until_readable:
type: string
teaser:
type: object
properties:
pid:
type: number
uid:
type: number
timestamp:
type: number
tid:
type: number
content:
type: string
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
icon:text:
type: string
icon:bgColor:
type: string
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
required:
- value
- valueEscaped
- color
- bgColor
- score
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
required:
- tid
- uid
- cid
- mainPid
- title
- slug
- timestamp
- lastposttime
- postcount
- viewcount
- upvotes
- downvotes
- teaserPid
- deleted
- locked
- pinned
- titleRaw
- timestampISO
- lastposttimeISO
- votes
- category
- user
- teaser
- tags
- isOwner
- ignored
- unread
- bookmark
- unreplied
- icons
- index
- thumb
recentCards:
type: object
properties:
title:
type: string
opacity:
type: string
textShadow:
type: string
enableCarousel:
type: number
enableCarouselPagination:
type: number
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
sidebar:
type: array
items:
type: object
properties:
html:
type: string
required:
- html
header:
type: array
items:
type: object
properties:
html:
type: string
footer:
type: array
items:
type: object
properties:
html:
type: string
motd:
type: array
items:
type: object
properties:
html:
type: string
"304":
description: ""
/api/popular:
get:
tags:
- topics
summary: /api/popular
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
properties:
nextStart:
type: number
topicCount:
type: number
topics:
type: array
items:
type: object
properties:
tid:
type: number
uid:
type: number
cid:
type: number
title:
type: string
slug:
type: string
timestamp:
type: number
lastposttime:
type: number
postcount:
type: number
viewcount:
type: number
pinned:
type: number
thumb:
type: string
mainPid:
type: number
teaserPid:
oneOf:
- type: number
- type: string
upvotes:
type: number
downvotes:
type: number
deleted:
type: number
locked:
type: number
titleRaw:
type: string
timestampISO:
type: string
lastposttimeISO:
type: string
votes:
type: number
category:
type: object
properties:
cid:
type: number
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
username:
type: string
fullname:
type: string
userslug:
type: string
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
icon:bgColor:
type: string
banned_until_readable:
type: string
teaser:
type: object
properties:
pid:
type: number
uid:
type: number
timestamp:
type: number
tid:
type: number
content:
type: string
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
icon:text:
type: string
icon:bgColor:
type: string
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
required:
- value
- valueEscaped
- color
- bgColor
- score
isOwner:
type: boolean
ignored:
type: boolean
unread:
type: boolean
bookmark:
nullable: true
unreplied:
type: boolean
icons:
type: array
items: {}
index:
type: number
required:
- tid
- uid
- cid
- mainPid
- title
- slug
- timestamp
- lastposttime
- postcount
- viewcount
- teaserPid
- thumb
- upvotes
- downvotes
- deleted
- locked
- pinned
- titleRaw
- timestampISO
- lastposttimeISO
- votes
- category
- user
- teaser
- tags
- isOwner
- ignored
- unread
- bookmark
- unreplied
- icons
- index
tids:
type: array
items:
type: number
canPost:
type: boolean
categories:
type: array
items:
type: object
properties:
cid:
type: number
name:
type: string
level:
type: string
icon:
type: string
parentCid:
type: number
color:
type: string
bgColor:
type: string
selected:
type: boolean
imageClass:
type: string
required:
- cid
- name
- level
- icon
- parentCid
- color
- bgColor
- selected
- imageClass
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
required:
- name
- url
- selected
- filter
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
required:
- name
- url
- selected
- term
selectedTerm:
type: object
properties:
name:
type: string
url:
type: string
selected:
type: boolean
term:
type: string
pagination:
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
separator:
type: boolean
required:
- page
- active
- qs
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
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
popular:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
/api/recent:
get:
tags:
- topics
summary: /api/recent
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
properties:
nextStart:
type: number
topicCount:
type: number
topics:
type: array
items:
type: object
properties:
tid:
type: number
uid:
type: number
cid:
type: number
mainPid:
type: number
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
titleRaw:
type: string
timestampISO:
type: string
lastposttimeISO:
type: string
votes:
type: number
category:
type: object
properties:
cid:
type: number
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
username:
type: string
fullname:
type: string
userslug:
type: string
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
icon:bgColor:
type: string
banned_until_readable:
type: string
teaser:
type: object
properties:
pid:
type: number
uid:
type: number
timestamp:
type: number
tid:
type: number
content:
type: string
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
icon:text:
type: string
icon:bgColor:
type: string
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
required:
- value
- valueEscaped
- color
- bgColor
- score
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
required:
- tid
- uid
- cid
- mainPid
- title
- slug
- timestamp
- lastposttime
- postcount
- viewcount
- upvotes
- downvotes
- teaserPid
- deleted
- locked
- pinned
- titleRaw
- timestampISO
- lastposttimeISO
- votes
- category
- user
- teaser
- tags
- isOwner
- ignored
- unread
- bookmark
- unreplied
- icons
- index
- thumb
tids:
type: array
items:
type: number
canPost:
type: boolean
categories:
type: array
items:
type: object
properties:
cid:
type: number
name:
type: string
level:
type: string
icon:
type: string
parentCid:
type: number
color:
type: string
bgColor:
type: string
selected:
type: boolean
imageClass:
type: string
required:
- cid
- name
- level
- icon
- parentCid
- color
- bgColor
- selected
- imageClass
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
required:
- name
- url
- selected
- filter
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
required:
- name
- url
- selected
- term
selectedTerm:
type: object
properties:
name:
type: string
url:
type: string
selected:
type: boolean
term:
type: string
pagination:
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
separator:
type: boolean
required:
- page
- active
- qs
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
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
recent:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
/api/top:
get:
tags:
- topics
summary: /api/top
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
properties:
nextStart:
type: number
topicCount:
type: number
topics:
type: array
items:
type: object
properties:
tid:
type: number
uid:
type: number
cid:
type: number
mainPid:
type: number
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
titleRaw:
type: string
timestampISO:
type: string
lastposttimeISO:
type: string
votes:
type: number
category:
type: object
properties:
cid:
type: number
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
username:
type: string
userslug:
type: string
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
icon:bgColor:
type: string
banned_until_readable:
type: string
fullname:
type: string
teaser:
type: object
properties:
pid:
type: number
uid:
type: number
timestamp:
type: number
tid:
type: number
content:
type: string
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
icon:text:
type: string
icon:bgColor:
type: string
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
required:
- value
- valueEscaped
- color
- bgColor
- score
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
required:
- tid
- uid
- cid
- title
- slug
- timestamp
- lastposttime
- postcount
- viewcount
- mainPid
- upvotes
- downvotes
- deleted
- locked
- pinned
- titleRaw
- timestampISO
- lastposttimeISO
- votes
- category
- user
- teaser
- tags
- isOwner
- ignored
- unread
- bookmark
- unreplied
- icons
- index
tids:
type: array
items:
type: number
canPost:
type: boolean
categories:
type: array
items:
type: object
properties:
cid:
type: number
name:
type: string
level:
type: string
icon:
type: string
parentCid:
type: number
color:
type: string
bgColor:
type: string
selected:
type: boolean
imageClass:
type: string
required:
- cid
- name
- level
- icon
- parentCid
- color
- bgColor
- selected
- imageClass
allCategoriesUrl:
type: string
selectedCategory:
type: object
properties:
cid:
type: number
name:
type: string
level:
type: string
icon:
type: string
parentCid:
type: number
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
required:
- name
- url
- selected
- filter
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
required:
- name
- url
- selected
- term
selectedTerm:
type: object
properties:
name:
type: string
url:
type: string
selected:
type: boolean
term:
type: string
pagination:
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
separator:
type: boolean
required:
- page
- active
- qs
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
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
top:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
/api/unread:
get:
tags:
- topics
summary: /api/unread
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
properties:
showSelect:
type: boolean
nextStart:
type: number
topics:
type: array
items:
type: object
properties:
tid:
type: number
uid:
type: number
cid:
type: number
mainPid:
type: number
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
titleRaw:
type: string
timestampISO:
type: string
lastposttimeISO:
type: string
votes:
type: number
category:
type: object
properties:
cid:
type: number
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
username:
type: string
fullname:
type: string
userslug:
type: string
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
icon:bgColor:
type: string
banned_until_readable:
type: string
teaser:
type: object
properties:
pid:
type: number
uid:
type: number
timestamp:
type: number
tid:
type: number
content:
type: string
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
icon:text:
type: string
icon:bgColor:
type: string
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
required:
- value
- valueEscaped
- color
- bgColor
- score
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
required:
- tid
- uid
- cid
- mainPid
- title
- slug
- timestamp
- lastposttime
- postcount
- viewcount
- teaserPid
- deleted
- locked
- pinned
- upvotes
- downvotes
- titleRaw
- timestampISO
- lastposttimeISO
- votes
- category
- user
- teaser
- tags
- isOwner
- ignored
- unread
- bookmark
- unreplied
- icons
- index
topicCount:
type: number
title:
type: string
pageCount:
type: number
pagination:
type: object
properties:
prev:
type: object
properties:
page:
type: number
active:
type: boolean
next:
type: object
properties:
page:
type: number
active:
type: boolean
first:
type: object
properties:
page:
type: number
active:
type: boolean
last:
type: object
properties:
page:
type: number
active:
type: boolean
rel:
type: array
items: {}
pages:
type: array
items: {}
currentPage:
type: number
pageCount:
type: number
categories:
type: array
items:
type: object
properties:
cid:
type: number
name:
type: string
level:
type: string
icon:
type: string
parentCid:
type: number
color:
type: string
bgColor:
type: string
selected:
type: boolean
imageClass:
type: string
required:
- cid
- name
- level
- icon
- parentCid
- color
- bgColor
- selected
- imageClass
allCategoriesUrl:
type: string
selectedCids:
type: array
items: {}
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
filters:
type: array
items:
type: object
properties:
name:
type: string
url:
type: string
selected:
type: boolean
filter:
type: string
required:
- name
- url
- selected
- filter
selectedFilter:
type: object
properties:
name:
type: string
url:
type: string
selected:
type: boolean
filter:
type: string
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
unread:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"401":
description: ""
content:
application/json:
schema:
title: not-authorized
type: undefined
"/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:
type: object
properties:
link:
type: string
class:
type: string
icon:
type: string
description:
type: string
order:
type: number
topic_count:
type: number
name:
type: string
cid:
type: number
post_count:
type: number
numRecentReplies:
type: number
bgColor:
type: string
slug:
type: string
color:
type: string
parentCid:
type: number
disabled:
type: number
isSection:
type: number
totalPostCount:
type: number
totalTopicCount:
type: number
descriptionParsed:
type: string
tagWhitelist:
type: array
items: {}
unread-class:
type: string
children:
type: array
items: {}
topics:
type: array
items:
type: object
properties:
tid:
type: number
uid:
type: number
cid:
type: number
title:
type: string
slug:
type: string
timestamp:
type: number
lastposttime:
type: number
postcount:
type: number
viewcount:
type: number
thumb:
type: string
mainPid:
type: number
upvotes:
type: number
downvotes:
type: number
deleted:
type: number
locked:
type: number
pinned:
type: number
titleRaw:
type: string
timestampISO:
type: string
lastposttimeISO:
type: string
votes:
type: number
category:
type: object
properties:
cid:
type: number
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
username:
type: string
userslug:
type: string
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
icon:bgColor:
type: string
banned_until_readable:
type: string
fullname:
type: string
teaser:
type: object
properties:
pid:
type: number
uid:
type: number
timestamp:
type: number
tid:
type: number
content:
type: string
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
icon:text:
type: string
icon:bgColor:
type: string
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
required:
- tid
- uid
- cid
- title
- slug
- timestamp
- lastposttime
- postcount
- viewcount
- thumb
- mainPid
- upvotes
- downvotes
- deleted
- locked
- pinned
- titleRaw
- timestampISO
- lastposttimeISO
- votes
- category
- user
- teaser
- tags
- isOwner
- ignored
- unread
- bookmark
- unreplied
- icons
- index
- teaserPid
nextStart:
type: number
isWatched:
type: boolean
isNotWatched:
type: boolean
isIgnored:
type: boolean
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
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
editable:
type: boolean
view_deleted:
type: boolean
isAdminOrMod:
type: boolean
showSelect:
type: boolean
rssFeedUrl:
type: string
feeds:disableRSS:
type: number
reputation:disabled:
type: number
pagination:
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
separator:
type: boolean
required:
- page
- active
- qs
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
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
category:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
header:
type: array
items: {}
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
type: object
properties:
cid:
type: number
name:
type: string
description:
type: string
icon:
type: string
slug:
type: string
topic_count:
type: number
order:
type: number
bgColor:
type: string
link:
type: string
class:
type: string
numRecentReplies:
type: number
color:
type: string
post_count:
type: number
descriptionParsed:
type: string
parentCid:
type: number
disabled:
type: number
isSection:
type: number
totalPostCount:
type: number
totalTopicCount:
type: number
tagWhitelist:
type: array
items: {}
unread-class:
type: string
children:
type: array
items: {}
topics:
type: array
items:
type: object
properties:
tid:
type: number
uid:
type: number
cid:
type: number
title:
type: string
slug:
type: string
timestamp:
type: number
lastposttime:
type: number
postcount:
type: number
viewcount:
type: number
pinned:
type: number
thumb:
type: string
mainPid:
type: number
teaserPid:
type: number
upvotes:
type: number
downvotes:
type: number
deleted:
type: number
locked:
type: number
titleRaw:
type: string
timestampISO:
type: string
lastposttimeISO:
type: string
votes:
type: number
category:
type: object
properties:
cid:
type: number
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
username:
type: string
fullname:
type: string
userslug:
type: string
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
icon:bgColor:
type: string
banned_until_readable:
type: string
teaser:
type: object
properties:
pid:
type: number
uid:
type: number
timestamp:
type: number
tid:
type: number
content:
type: string
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
icon:text:
type: string
icon:bgColor:
type: string
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
required:
- value
- valueEscaped
- color
- bgColor
- score
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
required:
- tid
- uid
- cid
- mainPid
- title
- slug
- timestamp
- lastposttime
- postcount
- viewcount
- teaserPid
- deleted
- locked
- pinned
- upvotes
- downvotes
- titleRaw
- timestampISO
- lastposttimeISO
- votes
- category
- user
- teaser
- tags
- isOwner
- ignored
- unread
- bookmark
- unreplied
- icons
- index
- thumb
- isQuestion
- isSolved
nextStart:
type: number
isWatched:
type: boolean
isNotWatched:
type: boolean
isIgnored:
type: boolean
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
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
editable:
type: boolean
view_deleted:
type: boolean
isAdminOrMod:
type: boolean
showSelect:
type: boolean
rssFeedUrl:
type: string
feeds:disableRSS:
type: number
reputation:disabled:
type: number
pagination:
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
separator:
type: boolean
required:
- page
- active
- qs
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
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
category:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
header:
type: array
items: {}
footer:
type: array
items:
type: object
properties:
html:
type: string
"304":
description: ""
/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: /api/user/{userslug}
parameters:
- name: userslug
in: path
required: true
schema:
type: string
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
type: string
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
nullable: true
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
type: string
fbid:
type: string
gplusid:
nullable: true
githubid:
nullable: true
twid:
nullable: true
groupTitleArray:
type: array
items:
type: string
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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:
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
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
deauthUrl:
type: string
name:
type: string
icon:
type: string
required:
- associated
- url
- name
- icon
websiteLink:
type: string
websiteName:
type: string
username:disableEdit:
type: number
email:disableEdit:
type: number
posts:
type: array
items:
type: object
properties:
pid:
type: number
tid:
type: number
content:
type: string
uid:
type: number
timestamp:
type: number
deleted:
type: boolean
upvotes:
type: number
downvotes:
type: number
votes:
type: number
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
type: string
status:
type: string
icon:text:
type: string
icon:bgColor:
type: string
topic:
type: object
properties:
uid:
type: number
tid:
type: number
title:
type: string
cid:
type: number
slug:
type: string
deleted:
type: number
postcount:
type: number
mainPid:
type: number
titleRaw:
type: string
category:
type: object
properties:
cid:
type: number
name:
type: string
icon:
type: string
slug:
type: string
parentCid:
type: number
bgColor:
type: string
color:
type: string
image:
nullable: true
imageClass:
nullable: true
isMainPost:
type: boolean
required:
- pid
- tid
- content
- uid
- timestamp
- deleted
- upvotes
- downvotes
- votes
- timestampISO
- user
- topic
- category
- isMainPost
latestPosts:
type: array
items:
type: object
properties:
pid:
type: number
tid:
type: number
content:
type: string
uid:
type: number
timestamp:
type: number
deleted:
type: boolean
upvotes:
type: number
downvotes:
type: number
votes:
type: number
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
type: string
status:
type: string
icon:text:
type: string
icon:bgColor:
type: string
topic:
type: object
properties:
uid:
type: number
tid:
type: number
title:
type: string
cid:
type: number
slug:
type: string
deleted:
type: number
postcount:
type: number
mainPid:
type: number
titleRaw:
type: string
category:
type: object
properties:
cid:
type: number
name:
type: string
icon:
type: string
slug:
type: string
parentCid:
type: number
bgColor:
type: string
color:
type: string
image:
nullable: true
imageClass:
nullable: true
isMainPost:
type: boolean
required:
- pid
- tid
- content
- uid
- timestamp
- deleted
- upvotes
- downvotes
- votes
- timestampISO
- user
- topic
- category
- isMainPost
bestPosts:
type: array
items:
type: object
properties:
pid:
type: number
tid:
type: number
content:
type: string
uid:
type: number
timestamp:
type: number
deleted:
type: boolean
upvotes:
type: number
downvotes:
type: number
votes:
type: number
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
type: string
status:
type: string
icon:text:
type: string
icon:bgColor:
type: string
topic:
type: object
properties:
uid:
type: number
tid:
type: number
title:
type: string
cid:
type: number
slug:
type: string
deleted:
type: number
postcount:
type: number
mainPid:
type: number
titleRaw:
type: string
category:
type: object
properties:
cid:
type: number
name:
type: string
icon:
type: string
slug:
type: string
parentCid:
type: number
bgColor:
type: string
color:
type: string
image:
nullable: true
imageClass:
nullable: true
type: string
isMainPost:
type: boolean
required:
- pid
- tid
- content
- uid
- timestamp
- deleted
- upvotes
- downvotes
- votes
- timestampISO
- user
- topic
- category
- isMainPost
hasPrivateChat:
type: number
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
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
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/profile:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
text/plain:
schema:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
type: string
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
nullable: true
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
type: string
fbid:
type: string
gplusid:
nullable: true
githubid:
nullable: true
twid:
nullable: true
groupTitleArray:
type: array
items:
type: string
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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:
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
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
deauthUrl:
type: string
name:
type: string
icon:
type: string
required:
- associated
- url
- name
- icon
websiteLink:
type: string
websiteName:
type: string
username:disableEdit:
type: number
email:disableEdit:
type: number
posts:
type: array
items:
type: object
properties:
pid:
type: number
tid:
type: number
content:
type: string
uid:
type: number
timestamp:
type: number
deleted:
type: boolean
upvotes:
type: number
downvotes:
type: number
votes:
type: number
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
type: string
status:
type: string
icon:text:
type: string
icon:bgColor:
type: string
topic:
type: object
properties:
uid:
type: number
tid:
type: number
title:
type: string
cid:
type: number
slug:
type: string
deleted:
type: number
postcount:
type: number
mainPid:
type: number
titleRaw:
type: string
category:
type: object
properties:
cid:
type: number
name:
type: string
icon:
type: string
slug:
type: string
parentCid:
type: number
bgColor:
type: string
color:
type: string
image:
nullable: true
imageClass:
nullable: true
isMainPost:
type: boolean
required:
- pid
- tid
- content
- uid
- timestamp
- deleted
- upvotes
- downvotes
- votes
- timestampISO
- user
- topic
- category
- isMainPost
latestPosts:
type: array
items:
type: object
properties:
pid:
type: number
tid:
type: number
content:
type: string
uid:
type: number
timestamp:
type: number
deleted:
type: boolean
upvotes:
type: number
downvotes:
type: number
votes:
type: number
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
type: string
status:
type: string
icon:text:
type: string
icon:bgColor:
type: string
topic:
type: object
properties:
uid:
type: number
tid:
type: number
title:
type: string
cid:
type: number
slug:
type: string
deleted:
type: number
postcount:
type: number
mainPid:
type: number
titleRaw:
type: string
category:
type: object
properties:
cid:
type: number
name:
type: string
icon:
type: string
slug:
type: string
parentCid:
type: number
bgColor:
type: string
color:
type: string
image:
nullable: true
imageClass:
nullable: true
isMainPost:
type: boolean
required:
- pid
- tid
- content
- uid
- timestamp
- deleted
- upvotes
- downvotes
- votes
- timestampISO
- user
- topic
- category
- isMainPost
bestPosts:
type: array
items:
type: object
properties:
pid:
type: number
tid:
type: number
content:
type: string
uid:
type: number
timestamp:
type: number
deleted:
type: boolean
upvotes:
type: number
downvotes:
type: number
votes:
type: number
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
type: string
status:
type: string
icon:text:
type: string
icon:bgColor:
type: string
topic:
type: object
properties:
uid:
type: number
tid:
type: number
title:
type: string
cid:
type: number
slug:
type: string
deleted:
type: number
postcount:
type: number
mainPid:
type: number
titleRaw:
type: string
category:
type: object
properties:
cid:
type: number
name:
type: string
icon:
type: string
slug:
type: string
parentCid:
type: number
bgColor:
type: string
color:
type: string
image:
nullable: true
imageClass:
nullable: true
type: string
isMainPost:
type: boolean
required:
- pid
- tid
- content
- uid
- timestamp
- deleted
- upvotes
- downvotes
- votes
- timestampISO
- user
- topic
- category
- isMainPost
hasPrivateChat:
type: number
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
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
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/profile:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"304":
description: ""
"404":
description: ""
content:
application/json:
schema:
type: string
example: Not Found
text/plain:
schema:
type: string
example: Not Found
"/api/user/{userslug}/following":
get:
tags:
- users
summary: /api/user/{userslug}/following
parameters:
- name: userslug
in: path
required: true
schema:
type: string
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
type: string
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
nullable: true
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
nullable: true
fbid:
nullable: true
gplusid:
type: string
githubid:
nullable: true
twid:
nullable: true
groupTitleArray:
type: array
items: {}
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
required:
- id
- route
- name
- visibility
- public
- icon
sso:
type: array
items:
type: object
properties:
associated:
type: boolean
url:
type: string
name:
type: string
icon:
type: string
deauthUrl:
type: string
required:
- associated
- url
- name
- icon
websiteLink:
type: string
websiteName:
type: string
username:disableEdit:
type: number
email:disableEdit:
type: number
title:
type: string
users:
type: array
items: {}
pagination:
type: object
properties:
prev:
type: object
properties:
page:
type: number
active:
type: boolean
next:
type: object
properties:
page:
type: number
active:
type: boolean
first:
type: object
properties:
page:
type: number
active:
type: boolean
last:
type: object
properties:
page:
type: number
active:
type: boolean
rel:
type: array
items: {}
pages:
type: array
items: {}
currentPage:
type: number
pageCount:
type: number
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/following:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/api/user/{userslug}/followers":
get:
tags:
- users
summary: /api/user/{userslug}/followers
parameters:
- name: userslug
in: path
required: true
schema:
type: string
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
type: string
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
type: string
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
type: string
fbid:
type: string
gplusid:
type: string
githubid:
type: string
twid:
nullable: true
groupTitleArray:
type: array
items:
type: string
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
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
required:
- name
- slug
- createtime
- userTitle
- description
- memberCount
- deleted
- hidden
- system
- private
- ownerUid
- icon
- labelColor
- cover:url
- cover:position
- userTitleEnabled
- disableJoinRequests
- disableLeave
- nameEncoded
- displayName
- textColor
- createtimeISO
- cover:thumb:url
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
required:
- id
- route
- name
- visibility
- public
- icon
sso:
type: array
items:
type: object
properties:
associated:
type: boolean
url:
type: string
deauthUrl:
type: string
name:
type: string
icon:
type: string
required:
- associated
- url
- deauthUrl
- name
- icon
websiteLink:
type: string
websiteName:
type: string
moderationNote:
type: string
username:disableEdit:
type: boolean
email:disableEdit:
type: boolean
title:
type: string
users:
type: array
items:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
status:
type: string
postcount:
type: number
reputation:
type: number
email:confirmed:
type: number
lastonline:
type: number
flags:
nullable: true
banned:
type: number
banned:expire:
type: number
joindate:
type: number
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
administrator:
type: boolean
required:
- uid
- username
- userslug
- picture
- status
- postcount
- reputation
- email:confirmed
- lastonline
- flags
- banned
- banned:expire
- joindate
- icon:text
- icon:bgColor
- joindateISO
- lastonlineISO
- banned_until
- banned_until_readable
- administrator
pagination:
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
required:
- page
- active
- qs
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
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/followers:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
type: string
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
type: string
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
type: string
fbid:
nullable: true
gplusid:
nullable: true
githubid:
nullable: true
twid:
nullable: true
groupTitleArray:
type: array
items:
type: string
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
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:
type: number
hidden:
type: number
system:
type: number
private:
type: number
cover:url:
type: string
cover:position:
type: string
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
required:
- name
- slug
- createtime
- userTitle
- description
- deleted
- hidden
- system
- private
- icon
- labelColor
- memberCount
- cover:url
- cover:thumb:url
- userTitleEnabled
- disableJoinRequests
- disableLeave
- nameEncoded
- displayName
- textColor
- createtimeISO
- cover:position
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
required:
- id
- route
- name
- visibility
- public
- icon
sso:
type: array
items:
type: object
properties:
associated:
type: boolean
url:
type: string
name:
type: string
icon:
type: string
required:
- associated
- url
- name
- icon
websiteLink:
type: string
websiteName:
type: string
username:disableEdit:
type: number
email:disableEdit:
type: number
categories:
type: array
items:
type: object
properties:
cid:
type: number
name:
type: string
level:
type: string
icon:
type: string
parentCid:
type: number
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
required:
- cid
- name
- level
- icon
- parentCid
- color
- bgColor
- descriptionParsed
- depth
- slug
- isIgnored
- isWatched
- isNotWatched
- imageClass
title:
type: string
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/categories:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
type: string
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
nullable: true
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
type: string
fbid:
nullable: true
gplusid:
nullable: true
githubid:
nullable: true
twid:
nullable: true
groupTitleArray:
type: array
items:
type: string
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
required:
- id
- route
- name
- visibility
- public
- icon
sso:
type: array
items:
type: object
properties:
associated:
type: boolean
url:
type: string
name:
type: string
icon:
type: string
required:
- associated
- url
- name
- icon
websiteLink:
type: string
websiteName:
type: string
username:disableEdit:
type: number
email:disableEdit:
type: number
posts:
type: array
items: {}
nextStart:
type: number
pagination:
type: object
properties:
prev:
type: object
properties:
page:
type: number
active:
type: boolean
next:
type: object
properties:
page:
type: number
active:
type: boolean
first:
type: object
properties:
page:
type: number
active:
type: boolean
last:
type: object
properties:
page:
type: number
active:
type: boolean
rel:
type: array
items: {}
pages:
type: array
items: {}
currentPage:
type: number
pageCount:
type: number
noItemsFoundKey:
type: string
title:
type: string
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
showSort:
type: boolean
sortOptions:
type: array
items:
type: object
properties:
url:
type: string
name:
type: string
selected:
type: boolean
required:
- url
- name
- selected
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/posts:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
nullable: true
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
nullable: true
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
nullable: true
fbid:
nullable: true
gplusid:
nullable: true
githubid:
nullable: true
twid:
nullable: true
groupTitleArray:
type: array
items: {}
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
required:
- associated
- url
- name
- icon
websiteLink:
type: string
websiteName:
type: string
username:disableEdit:
type: number
email:disableEdit:
type: number
topics:
type: array
items:
type: object
properties:
tid:
type: number
uid:
type: number
cid:
type: number
title:
type: string
slug:
type: string
timestamp:
type: number
lastposttime:
type: number
postcount:
type: number
viewcount:
type: number
thumb:
type: string
mainPid:
type: number
teaserPid:
type: number
upvotes:
type: number
downvotes:
type: number
deleted:
type: number
locked:
type: number
pinned:
type: number
titleRaw:
type: string
timestampISO:
type: string
lastposttimeISO:
type: string
votes:
type: number
category:
type: object
properties:
cid:
type: number
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
username:
type: string
userslug:
type: string
reputation:
type: number
postcount:
type: number
picture:
nullable: true
signature:
type: string
banned:
type: number
status:
type: string
icon:text:
type: string
icon:bgColor:
type: string
banned_until_readable:
type: string
teaser:
type: object
properties:
pid:
type: number
uid:
type: number
timestamp:
type: number
tid:
type: number
content:
type: string
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
icon:text:
type: string
icon:bgColor:
type: string
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
required:
- tid
- uid
- cid
- title
- slug
- timestamp
- lastposttime
- postcount
- viewcount
- mainPid
- teaserPid
- upvotes
- downvotes
- deleted
- locked
- pinned
- titleRaw
- timestampISO
- lastposttimeISO
- votes
- category
- user
- teaser
- tags
- isOwner
- ignored
- unread
- bookmark
- unreplied
- icons
- index
nextStart:
type: number
pagination:
type: object
properties:
prev:
type: object
properties:
page:
type: number
active:
type: boolean
next:
type: object
properties:
page:
type: number
active:
type: boolean
first:
type: object
properties:
page:
type: number
active:
type: boolean
last:
type: object
properties:
page:
type: number
active:
type: boolean
rel:
type: array
items: {}
pages:
type: array
items: {}
currentPage:
type: number
pageCount:
type: number
noItemsFoundKey:
type: string
title:
type: string
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
showSort:
type: boolean
sortOptions:
type: array
items:
type: object
properties:
url:
type: string
name:
type: string
selected:
type: boolean
required:
- url
- name
- selected
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/topics:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
nullable: true
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
nullable: true
signature:
type: string
uploadedpicture:
nullable: true
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
nullable: true
fbid:
nullable: true
gplusid:
type: string
githubid:
nullable: true
twid:
nullable: true
groupTitleArray:
type: array
items: {}
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
hasPrivateChat:
type: number
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
deauthUrl:
type: string
required:
- associated
- url
- name
- icon
websiteLink:
type: string
websiteName:
type: string
username:disableEdit:
type: number
email:disableEdit:
type: number
posts:
type: array
items:
type: object
properties:
pid:
type: number
tid:
type: number
content:
type: string
uid:
type: number
timestamp:
type: number
deleted:
type: boolean
upvotes:
type: number
downvotes:
type: number
votes:
type: number
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
status:
type: string
icon:text:
type: string
icon:bgColor:
type: string
topic:
type: object
properties:
uid:
type: number
tid:
type: number
title:
type: string
cid:
type: number
slug:
type: string
deleted:
type: number
postcount:
type: number
mainPid:
type: number
titleRaw:
type: string
category:
type: object
properties:
cid:
type: number
name:
type: string
icon:
type: string
slug:
type: string
parentCid:
type: number
bgColor:
type: string
color:
type: string
image:
nullable: true
imageClass:
nullable: true
isMainPost:
type: boolean
nextStart:
type: number
pagination:
type: object
properties:
prev:
type: object
properties:
page:
type: number
active:
type: boolean
next:
type: object
properties:
page:
type: number
active:
type: boolean
first:
type: object
properties:
page:
type: number
active:
type: boolean
last:
type: object
properties:
page:
type: number
active:
type: boolean
rel:
type: array
items: {}
pages:
type: array
items: {}
currentPage:
type: number
pageCount:
type: number
noItemsFoundKey:
type: string
title:
type: string
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
showSort:
type: boolean
sortOptions:
type: array
items:
type: object
properties:
url:
type: string
name:
type: string
selected:
type: boolean
required:
- url
- name
- selected
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/best:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
type: string
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
nullable: true
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
type: string
fbid:
nullable: true
gplusid:
nullable: true
githubid:
nullable: true
twid:
nullable: true
groupTitleArray:
type: array
items:
type: string
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
required:
- id
- route
- name
- visibility
- public
- icon
sso:
type: array
items:
type: object
properties:
associated:
type: boolean
url:
type: string
name:
type: string
icon:
type: string
required:
- associated
- url
- name
- icon
websiteLink:
type: string
websiteName:
type: string
username:disableEdit:
type: number
email:disableEdit:
type: number
title:
type: string
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/groups:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
type: string
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
nullable: true
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
type: string
fbid:
nullable: true
gplusid:
nullable: true
githubid:
nullable: true
twid:
nullable: true
groupTitleArray:
type: array
items:
type: string
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
required:
- id
- route
- name
- visibility
- public
- icon
sso:
type: array
items:
type: object
properties:
associated:
type: boolean
url:
type: string
name:
type: string
icon:
type: string
required:
- associated
- url
- name
- icon
websiteLink:
type: string
websiteName:
type: string
username:disableEdit:
type: number
email:disableEdit:
type: number
posts:
type: array
items: {}
nextStart:
type: number
pagination:
type: object
properties:
prev:
type: object
properties:
page:
type: number
active:
type: boolean
next:
type: object
properties:
page:
type: number
active:
type: boolean
first:
type: object
properties:
page:
type: number
active:
type: boolean
last:
type: object
properties:
page:
type: number
active:
type: boolean
rel:
type: array
items: {}
pages:
type: array
items: {}
currentPage:
type: number
pageCount:
type: number
noItemsFoundKey:
type: string
title:
type: string
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
showSort:
type: boolean
sortOptions:
type: array
items:
type: object
properties:
url:
type: string
name:
type: string
selected:
type: boolean
required:
- url
- name
- selected
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/bookmarks:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
type: string
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
type: string
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
type: string
fbid:
type: string
gplusid:
type: string
githubid:
type: string
twid:
nullable: true
groupTitleArray:
type: array
items:
type: string
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
required:
- name
- slug
- createtime
- userTitle
- description
- memberCount
- deleted
- hidden
- system
- private
- ownerUid
- icon
- labelColor
- cover:url
- cover:position
- userTitleEnabled
- disableJoinRequests
- disableLeave
- nameEncoded
- displayName
- textColor
- createtimeISO
- cover:thumb:url
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
required:
- id
- route
- name
- visibility
- public
- icon
sso:
type: array
items:
type: object
properties:
associated:
type: boolean
url:
type: string
deauthUrl:
type: string
name:
type: string
icon:
type: string
required:
- associated
- url
- deauthUrl
- name
- icon
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
uid:
type: number
cid:
type: number
mainPid:
type: number
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
deleterUid:
type: number
titleRaw:
type: string
timestampISO:
type: string
lastposttimeISO:
type: string
votes:
type: number
category:
type: object
properties:
cid:
type: number
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
username:
type: string
userslug:
type: string
reputation:
type: number
postcount:
type: number
picture:
type: string
signature:
nullable: true
type: string
banned:
type: number
status:
type: string
icon:text:
type: string
icon:bgColor:
type: string
banned_until_readable:
type: string
fullname:
type: string
teaser:
type: object
properties:
pid:
type: number
uid:
type: number
timestamp:
type: number
tid:
type: number
content:
type: string
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
icon:text:
type: string
icon:bgColor:
type: string
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
required:
- value
- valueEscaped
- color
- bgColor
- score
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
required:
- tid
- uid
- cid
- mainPid
- title
- slug
- timestamp
- lastposttime
- postcount
- viewcount
- teaserPid
- upvotes
- downvotes
- deleted
- locked
- pinned
- deleterUid
- titleRaw
- timestampISO
- lastposttimeISO
- votes
- category
- user
- teaser
- tags
- isOwner
- ignored
- unread
- bookmark
- unreplied
- icons
- index
- thumb
nextStart:
type: number
pagination:
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
required:
- page
- active
- qs
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
noItemsFoundKey:
type: string
title:
type: string
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
showSort:
type: boolean
sortOptions:
type: array
items:
type: object
properties:
url:
type: string
name:
type: string
selected:
type: boolean
required:
- url
- name
- selected
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/watched:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
type: string
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
nullable: true
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
nullable: true
fbid:
nullable: true
gplusid:
type: string
githubid:
nullable: true
twid:
nullable: true
groupTitleArray:
type: array
items: {}
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
hasPrivateChat:
type: number
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
required:
- id
- route
- name
- visibility
- public
- icon
sso:
type: array
items:
type: object
properties:
associated:
type: boolean
url:
type: string
name:
type: string
icon:
type: string
deauthUrl:
type: string
required:
- associated
- url
- name
- icon
websiteLink:
type: string
websiteName:
type: string
username:disableEdit:
type: number
email:disableEdit:
type: number
topics:
type: array
items: {}
nextStart:
type: number
pagination:
type: object
properties:
prev:
type: object
properties:
page:
type: number
active:
type: boolean
next:
type: object
properties:
page:
type: number
active:
type: boolean
first:
type: object
properties:
page:
type: number
active:
type: boolean
last:
type: object
properties:
page:
type: number
active:
type: boolean
rel:
type: array
items: {}
pages:
type: array
items: {}
currentPage:
type: number
pageCount:
type: number
noItemsFoundKey:
type: string
title:
type: string
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
showSort:
type: boolean
sortOptions:
type: array
items:
type: object
properties:
url:
type: string
name:
type: string
selected:
type: boolean
required:
- url
- name
- selected
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/ignored:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
type: string
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
nullable: true
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
nullable: true
fbid:
type: string
gplusid:
nullable: true
githubid:
nullable: true
twid:
nullable: true
groupTitleArray:
type: array
items: {}
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
required:
- id
- route
- name
- visibility
- public
- icon
sso:
type: array
items:
type: object
properties:
associated:
type: boolean
url:
type: string
deauthUrl:
type: string
name:
type: string
icon:
type: string
required:
- associated
- url
- name
- icon
websiteLink:
type: string
websiteName:
type: string
username:disableEdit:
type: number
email:disableEdit:
type: number
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
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
editButtons:
type: array
items: {}
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/edit:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"401":
description: ""
content:
application/json:
schema:
title: not-authorized
type: undefined
"403":
description: ""
content:
application/json:
schema:
type: object
properties:
path:
type: string
loggedIn:
type: boolean
title:
type: string
"/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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
type: string
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
nullable: true
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
nullable: true
fbid:
nullable: true
gplusid:
type: string
githubid:
nullable: true
twid:
nullable: true
groupTitleArray:
type: array
items: {}
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
required:
- id
- route
- name
- visibility
- public
- icon
sso:
type: array
items:
type: object
properties:
associated:
type: boolean
url:
type: string
name:
type: string
icon:
type: string
deauthUrl:
type: string
required:
- associated
- url
- name
- icon
websiteLink:
type: string
websiteName:
type: string
username:disableEdit:
type: number
email:disableEdit:
type: number
hasPassword:
type: boolean
title:
type: string
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/edit/username:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"403":
description: ""
content:
application/json:
schema:
type: object
properties:
path:
type: string
loggedIn:
type: boolean
title:
type: string
"/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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
type: string
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
nullable: true
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
nullable: true
fbid:
nullable: true
gplusid:
nullable: true
githubid:
type: string
twid:
nullable: true
groupTitleArray:
type: array
items: {}
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
hasPrivateChat:
type: number
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
required:
- id
- route
- name
- visibility
- public
- icon
sso:
type: array
items:
type: object
properties:
associated:
type: boolean
url:
type: string
name:
type: string
icon:
type: string
deauthUrl:
type: string
required:
- associated
- url
- name
- icon
websiteLink:
type: string
websiteName:
type: string
username:disableEdit:
type: number
email:disableEdit:
type: number
hasPassword:
type: boolean
title:
type: string
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/edit/email:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
nullable: true
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
nullable: true
signature:
type: string
uploadedpicture:
nullable: true
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
nullable: true
fbid:
nullable: true
gplusid:
nullable: true
githubid:
nullable: true
twid:
nullable: true
groupTitleArray:
type: array
items: {}
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
required:
- id
- route
- name
- visibility
- public
- icon
sso:
type: array
items:
type: object
properties:
associated:
type: boolean
url:
type: string
name:
type: string
icon:
type: string
required:
- associated
- url
- name
- icon
websiteLink:
type: string
websiteName:
type: string
username:disableEdit:
type: number
email:disableEdit:
type: number
hasPassword:
type: boolean
minimumPasswordLength:
type: number
minimumPasswordStrength:
type: number
title:
type: string
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/edit/password:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
type: string
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
type: string
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
type: number
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
type: string
fbid:
type: string
gplusid:
type: number
githubid:
type: string
twid:
nullable: true
groupTitleArray:
type: array
items:
type: string
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
required:
- name
- slug
- createtime
- userTitle
- description
- memberCount
- deleted
- hidden
- system
- private
- ownerUid
- icon
- labelColor
- cover:url
- cover:position
- userTitleEnabled
- disableJoinRequests
- disableLeave
- nameEncoded
- displayName
- textColor
- createtimeISO
- cover:thumb:url
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
required:
- id
- route
- name
- visibility
- public
- icon
sso:
type: array
items:
type: object
properties:
associated:
type: boolean
url:
type: string
deauthUrl:
type: string
name:
type: string
icon:
type: string
required:
- associated
- url
- deauthUrl
- name
- icon
websiteLink:
type: string
websiteName:
type: string
moderationNote:
type: string
username:disableEdit:
type: boolean
email:disableEdit:
type: boolean
history:
type: object
properties:
flags:
type: array
items:
type: object
properties:
pid:
type: number
timestamp:
type: number
timestampISO:
type: string
timestampReadable:
type: string
title:
type: string
titleRaw:
type: string
required:
- pid
- timestamp
- timestampISO
- timestampReadable
- title
- titleRaw
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
required:
- ip
- uuid
- datetime
- platform
- browser
- version
- current
- datetimeISO
usernames:
type: array
items:
type: object
properties:
value:
type: string
timestamp:
type: number
timestampISO:
type: string
emails:
type: array
items:
type: object
properties:
value:
type: string
timestamp:
type: number
timestampISO:
type: string
moderationNotes:
type: array
items: {}
pagination:
type: object
properties:
prev:
type: object
properties:
page:
type: number
active:
type: boolean
next:
type: object
properties:
page:
type: number
active:
type: boolean
first:
type: object
properties:
page:
type: number
active:
type: boolean
last:
type: object
properties:
page:
type: number
active:
type: boolean
rel:
type: array
items: {}
pages:
type: array
items: {}
currentPage:
type: number
pageCount:
type: number
title:
type: string
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/info:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
type: string
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
type: string
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
type: string
fbid:
type: string
gplusid:
type: string
githubid:
type: string
twid:
nullable: true
groupTitleArray:
type: array
items:
type: string
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
showHidden:
type: boolean
groups:
type: array
items:
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
deleted:
oneOf:
- type: string
- type: number
ownerUid:
type: number
required:
- name
- slug
- createtime
- userTitle
- description
- memberCount
- hidden
- system
- private
- icon
- labelColor
- userTitleEnabled
- disableJoinRequests
- disableLeave
- nameEncoded
- displayName
- textColor
- createtimeISO
- cover:thumb:url
- cover:url
- cover:position
- deleted
- ownerUid
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
required:
- id
- route
- name
- visibility
- public
- icon
sso:
type: array
items:
type: object
properties:
associated:
type: boolean
url:
type: string
deauthUrl:
type: string
name:
type: string
icon:
type: string
required:
- associated
- url
- deauthUrl
- name
- icon
websiteLink:
type: string
websiteName:
type: string
moderationNote:
type: string
username:disableEdit:
type: boolean
email:disableEdit:
type: boolean
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
languages:
type: array
items:
type: object
properties:
name:
type: string
code:
type: string
dir:
type: string
selected:
type: boolean
required:
- name
- code
- dir
- selected
acpLanguages:
type: array
items:
type: object
properties:
name:
type: string
code:
type: string
dir:
type: string
selected:
type: boolean
required:
- name
- code
- dir
- selected
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
required:
- name
- value
- selected
notificationSound:
type: array
items:
type: object
properties:
name:
type: string
selected:
type: boolean
required:
- name
- selected
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
required:
- name
- value
- selected
incomingChatSound:
type: array
items:
type: object
properties:
name:
type: string
selected:
type: boolean
required:
- name
- selected
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
required:
- name
- value
- selected
outgoingChatSound:
type: array
items:
type: object
properties:
name:
type: string
selected:
type: boolean
required:
- name
- selected
customSettings:
type: array
items: {}
homePageRoutes:
type: array
items:
type: object
properties:
route:
type: string
name:
type: string
selected:
type: boolean
required:
- route
- name
- selected
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
required:
- name
- label
- none
- notification
- email
- notificationemail
disableEmailSubscriptions:
type: number
dailyDigestFreqOptions:
type: array
items:
type: object
properties:
value:
type: string
name:
type: string
selected:
type: boolean
required:
- value
- name
- selected
bootswatchSkinOptions:
type: array
items:
type: object
properties:
name:
type: string
value:
type: string
selected:
type: boolean
required:
- name
- value
- selected
upvoteNotifFreq:
type: array
items:
type: object
properties:
name:
type: string
selected:
type: boolean
required:
- name
- selected
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
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/settings:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"401":
description: ""
content:
application/json:
schema:
title: not-authorized
type: undefined
"403":
description: ""
content:
application/json:
schema:
type: object
properties:
path:
type: string
loggedIn:
type: boolean
title:
type: string
"/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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
nullable: true
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
nullable: true
signature:
type: string
uploadedpicture:
nullable: true
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
type: string
fbid:
nullable: true
gplusid:
nullable: true
githubid:
nullable: true
twid:
nullable: true
groupTitleArray:
type: array
items:
type: string
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
hasPrivateChat:
type: number
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
required:
- id
- route
- name
- visibility
- public
- icon
sso:
type: array
items:
type: object
properties:
associated:
type: boolean
url:
type: string
name:
type: string
icon:
type: string
required:
- associated
- url
- name
- icon
websiteLink:
type: string
websiteName:
type: string
username:disableEdit:
type: number
email:disableEdit:
type: number
uploads:
type: array
items: {}
pagination:
type: object
properties:
prev:
type: object
properties:
page:
type: number
active:
type: boolean
next:
type: object
properties:
page:
type: number
active:
type: boolean
first:
type: object
properties:
page:
type: number
active:
type: boolean
last:
type: object
properties:
page:
type: number
active:
type: boolean
rel:
type: array
items: {}
pages:
type: array
items: {}
currentPage:
type: number
pageCount:
type: number
privateUploads:
type: boolean
title:
type: string
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/uploads:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
type: string
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
nullable: true
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
nullable: true
fbid:
nullable: true
gplusid:
nullable: true
githubid:
type: string
twid:
nullable: true
groupTitleArray:
type: array
items: {}
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
hasPrivateChat:
type: number
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
required:
- id
- route
- name
- visibility
- public
- icon
sso:
type: array
items:
type: object
properties:
associated:
type: boolean
url:
type: string
name:
type: string
icon:
type: string
deauthUrl:
type: string
required:
- associated
- url
- name
- icon
websiteLink:
type: string
websiteName:
type: string
username:disableEdit:
type: number
email:disableEdit:
type: number
gdpr_consent:
type: boolean
digest:
type: object
properties:
frequency:
type: string
enabled:
type: boolean
title:
type: string
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/consent:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
type: string
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
nullable: true
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
nullable: true
fbid:
type: string
gplusid:
nullable: true
githubid:
nullable: true
twid:
nullable: true
groupTitleArray:
type: array
items: {}
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
hasPrivateChat:
type: number
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
required:
- id
- route
- name
- visibility
- public
- icon
sso:
type: array
items:
type: object
properties:
associated:
type: boolean
url:
type: string
deauthUrl:
type: string
name:
type: string
icon:
type: string
required:
- associated
- url
- name
- icon
websiteLink:
type: string
websiteName:
type: string
username:disableEdit:
type: number
email:disableEdit:
type: number
users:
type: array
items: {}
title:
type: string
pagination:
type: object
properties:
prev:
type: object
properties:
page:
type: number
active:
type: boolean
next:
type: object
properties:
page:
type: number
active:
type: boolean
first:
type: object
properties:
page:
type: number
active:
type: boolean
last:
type: object
properties:
page:
type: number
active:
type: boolean
rel:
type: array
items: {}
pages:
type: array
items: {}
currentPage:
type: number
pageCount:
type: number
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/blocks:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
email:
type: string
email:confirmed:
type: boolean
joindate:
type: number
lastonline:
type: number
picture:
type: string
fullname:
type: string
location:
type: string
birthday:
type: string
website:
type: string
aboutme:
nullable: true
signature:
type: string
uploadedpicture:
type: string
profileviews:
type: number
reputation:
type: number
postcount:
type: number
topiccount:
type: number
lastposttime:
type: number
banned:
type: boolean
banned:expire:
type: number
status:
type: string
flags:
nullable: true
followerCount:
type: number
followingCount:
type: number
cover:url:
type: string
cover:position:
type: string
groupTitle:
type: string
fbid:
nullable: true
gplusid:
type: string
githubid:
nullable: true
twid:
nullable: true
groupTitleArray:
type: array
items: {}
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
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
hasPrivateChat:
type: number
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
required:
- id
- route
- name
- visibility
- public
- icon
sso:
type: array
items:
type: object
properties:
associated:
type: boolean
url:
type: string
name:
type: string
icon:
type: string
deauthUrl:
type: string
required:
- associated
- url
- name
- icon
websiteLink:
type: string
websiteName:
type: string
username:disableEdit:
type: number
email:disableEdit:
type: number
sessions:
type: array
items: {}
title:
type: string
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/sessions:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/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:
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
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
userslug:
type: string
picture:
type: string
uid:
type: number
icon:text:
type: string
icon:bgColor:
type: string
image:
type: string
read:
type: boolean
readClass:
type: string
subject:
type: string
required:
- type
- bodyShort
- bodyLong
- pid
- path
- nid
- tid
- from
- mergeId
- topicTitle
- importance
- datetime
- datetimeISO
- user
- image
- read
- readClass
pagination:
type: object
properties:
prev:
type: object
properties:
page:
type: number
active:
type: boolean
next:
type: object
properties:
page:
type: number
active:
type: boolean
first:
type: object
properties:
page:
type: number
active:
type: boolean
last:
type: object
properties:
page:
type: number
active:
type: boolean
rel:
type: array
items: {}
pages:
type: array
items: {}
currentPage:
type: number
pageCount:
type: number
filters:
type: array
items:
type: object
properties:
name:
type: string
filter:
type: string
selected:
type: boolean
required:
- name
- filter
regularFilters:
type: array
items:
type: object
properties:
name:
type: string
filter:
type: string
selected:
type: boolean
required:
- name
- filter
moderatorFilters:
type: array
items:
type: object
properties:
name:
type: string
filter:
type: string
required:
- name
- filter
selectedFilter:
type: object
properties:
name:
type: string
filter:
type: string
selected:
type: boolean
title:
type: string
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
notifications:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"401":
description: ""
content:
application/json:
schema:
title: not-authorized
type: undefined
"/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:
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
editedISO:
type: string
messageId:
type: number
fromUser:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
type: string
status:
type: string
banned:
type: boolean
icon:text:
type: string
icon:bgColor:
type: string
banned_until_readable:
type: string
deleted:
type: boolean
self:
type: number
newSet:
type: boolean
index:
type: number
cleanedContent:
type: string
required:
- content
- timestamp
- fromuid
- roomId
- deleted
- system
- edited
- timestampISO
- editedISO
- messageId
- fromUser
- self
- newSet
- index
isOwner:
type: boolean
users:
type: array
items:
type: object
properties:
uid:
type: number
username:
type: string
picture:
type: string
status:
type: string
icon:text:
type: string
icon:bgColor:
type: string
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
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
status:
type: string
lastonline:
type: number
icon:text:
type: string
icon:bgColor:
type: string
lastonlineISO:
type: string
required:
- uid
- username
- userslug
- picture
- status
- lastonline
- icon:text
- icon:bgColor
- lastonlineISO
groupChat:
type: boolean
unread:
type: boolean
teaser:
type: object
properties:
fromuid:
type: number
content:
type: string
timestamp:
type: number
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
status:
type: string
lastonline:
type: number
icon:text:
type: string
icon:bgColor:
type: string
lastonlineISO:
type: string
lastUser:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
status:
type: string
lastonline:
type: number
icon:text:
type: string
icon:bgColor:
type: string
lastonlineISO:
type: string
usernames:
type: string
required:
- owner
- roomId
- roomName
- users
- groupChat
- unread
- teaser
- lastUser
- usernames
nextStart:
type: number
title:
type: string
uid:
type: number
userslug:
type: string
canViewInfo:
type: boolean
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
chats:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
text/plain:
schema:
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
editedISO:
type: string
messageId:
type: number
fromUser:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
type: string
status:
type: string
banned:
type: boolean
icon:text:
type: string
icon:bgColor:
type: string
banned_until_readable:
type: string
deleted:
type: boolean
self:
type: number
newSet:
type: boolean
index:
type: number
cleanedContent:
type: string
required:
- content
- timestamp
- fromuid
- roomId
- deleted
- system
- edited
- timestampISO
- editedISO
- messageId
- fromUser
- self
- newSet
- index
isOwner:
type: boolean
users:
type: array
items:
type: object
properties:
uid:
type: number
username:
type: string
picture:
type: string
status:
type: string
icon:text:
type: string
icon:bgColor:
type: string
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
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
status:
type: string
lastonline:
type: number
icon:text:
type: string
icon:bgColor:
type: string
lastonlineISO:
type: string
required:
- uid
- username
- userslug
- picture
- status
- lastonline
- icon:text
- icon:bgColor
- lastonlineISO
groupChat:
type: boolean
unread:
type: boolean
teaser:
type: object
properties:
fromuid:
type: number
content:
type: string
timestamp:
type: number
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
status:
type: string
lastonline:
type: number
icon:text:
type: string
icon:bgColor:
type: string
lastonlineISO:
type: string
lastUser:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
status:
type: string
lastonline:
type: number
icon:text:
type: string
icon:bgColor:
type: string
lastonlineISO:
type: string
usernames:
type: string
required:
- owner
- roomId
- roomName
- users
- groupChat
- unread
- teaser
- lastUser
- usernames
nextStart:
type: number
title:
type: string
uid:
type: number
userslug:
type: string
canViewInfo:
type: boolean
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
chats:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"304":
description: ""
"404":
description: ""
content:
application/json:
schema:
type: string
example: Not Found
text/plain:
schema:
type: string
example: Not Found
"/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:
type: object
properties:
users:
type: array
items:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
nullable: true
type: string
status:
type: string
postcount:
type: number
reputation:
type: number
email:confirmed:
type: number
lastonline:
type: number
flags:
nullable: true
banned:
type: number
banned:expire:
type: number
joindate:
type: number
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
administrator:
type: boolean
required:
- uid
- username
- userslug
- picture
- status
- postcount
- reputation
- email:confirmed
- lastonline
- flags
- banned
- banned:expire
- joindate
- icon:text
- icon:bgColor
- joindateISO
- lastonlineISO
- banned_until
- banned_until_readable
- administrator
pagination:
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
separator:
type: boolean
required:
- page
- active
- qs
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
userCount:
type: number
title:
type: string
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
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
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
users:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"304":
description: ""
/api/groups:
get:
tags:
- groups
summary: /api/groups
responses:
"200":
description: ""
content:
application/json:
schema:
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
username:
type: string
picture:
nullable: true
type: string
userslug:
type: string
icon:text:
type: string
icon:bgColor:
type: string
required:
- uid
- username
- picture
- userslug
- icon:text
- icon:bgColor
truncated:
type: boolean
ownerUid:
type: number
required:
- name
- description
- deleted
- hidden
- system
- userTitle
- icon
- labelColor
- slug
- createtime
- memberCount
- private
- cover:url
- cover:position
- userTitleEnabled
- disableJoinRequests
- disableLeave
- nameEncoded
- displayName
- textColor
- createtimeISO
- cover:thumb:url
- members
- truncated
- ownerUid
allowGroupCreation:
type: boolean
nextStart:
type: number
title:
type: string
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
groups/list:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"304":
description: ""
"/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:
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
username:
type: string
userslug:
type: string
picture:
type: string
status:
type: string
postcount:
type: number
reputation:
type: number
email:confirmed:
type: number
lastonline:
type: number
flags:
nullable: true
type: number
banned:
type: number
banned:expire:
type: number
joindate:
type: number
icon:text:
type: string
icon:bgColor:
type: string
joindateISO:
type: string
lastonlineISO:
type: string
banned_until:
type: number
banned_until_readable:
type: string
administrator:
type: boolean
isOwner:
type: boolean
required:
- uid
- username
- userslug
- picture
- status
- postcount
- reputation
- email:confirmed
- lastonline
- flags
- banned
- banned:expire
- joindate
- icon:text
- icon:bgColor
- joindateISO
- lastonlineISO
- banned_until
- banned_until_readable
- administrator
- isOwner
membersNextStart:
type: number
pending:
type: array
items: {}
invited:
type: array
items: {}
isMember:
type: boolean
isPending:
type: boolean
isInvited:
type: boolean
isOwner:
type: boolean
posts:
type: array
items:
type: object
properties:
pid:
type: number
tid:
type: number
content:
type: string
uid:
type: number
timestamp:
type: number
deleted:
type: boolean
upvotes:
type: number
downvotes:
type: number
votes:
type: number
timestampISO:
type: string
user:
type: object
properties:
uid:
type: number
username:
type: string
userslug:
type: string
picture:
type: string
status:
type: string
icon:text:
type: string
icon:bgColor:
type: string
topic:
type: object
properties:
uid:
type: number
tid:
type: number
title:
type: string
cid:
type: number
slug:
type: string
deleted:
type: number
postcount:
type: number
mainPid:
type: number
titleRaw:
type: string
category:
type: object
properties:
cid:
type: number
name:
type: string
icon:
type: string
slug:
type: string
parentCid:
type: number
bgColor:
type: string
color:
type: string
image:
nullable: true
imageClass:
nullable: true
type: string
isMainPost:
type: boolean
required:
- pid
- tid
- content
- uid
- timestamp
- deleted
- upvotes
- downvotes
- votes
- timestampISO
- user
- topic
- category
- isMainPost
isAdmin:
type: boolean
isGlobalMod:
type: boolean
allowPrivateGroups:
type: number
breadcrumbs:
type: array
items:
type: object
properties:
text:
type: string
url:
type: string
required:
- text
- url
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
groups/details:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string
"/api/groups/{slug}/members":
get:
tags:
- groups
summary: /api/user/{userslug}/push-notifications
parameters:
- name: userslug
in: path
required: true
schema:
type: string
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
properties:
loggedIn:
type: boolean
relative_path:
type: string
template:
type: object
properties:
name:
type: string
account/push-notifications:
type: boolean
url:
type: string
bodyClass:
type: string
_header:
type: object
properties:
tags:
type: object
properties:
meta:
type: array
items:
type: object
properties:
name:
type: string
content:
type: string
noEscape:
type: boolean
property:
type: string
required:
- name
- content
- noEscape
- property
link:
type: array
items:
type: object
properties:
rel:
type: string
type:
type: string
href:
type: string
title:
type: string
sizes:
type: string
required:
- rel
- href
- type
- sizes
widgets:
type: object
properties:
footer:
type: array
items:
type: object
properties:
html:
type: string