You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
418 lines
17 KiB
YAML
418 lines
17 KiB
YAML
get:
|
|
tags:
|
|
- topics
|
|
summary: Get topic data
|
|
parameters:
|
|
- name: topic_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
example: 1
|
|
- name: slug
|
|
description: This parameter is not required. If omitted, the request will be automatically redirected with the proper topic slug.
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
example: test-topic
|
|
- name: post_index
|
|
description: This parameter is not required. If omitted, the request will presume that you want the first post. The API response is largely unaffected by this parameter, it is used client-side (to send the user to the requested post), and changes the meta/link tags in the server-side generated HTML.
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
example: 1
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: ../../components/schemas/TopicObject.yaml#/TopicObjectSlim
|
|
- type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
slug:
|
|
type: string
|
|
teaserPid:
|
|
type: number
|
|
nullable: true
|
|
titleRaw:
|
|
type: string
|
|
tags:
|
|
type: array
|
|
items:
|
|
$ref: ../../components/schemas/TagObject.yaml#/TagObject
|
|
posts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
pid:
|
|
type: number
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
content:
|
|
type: string
|
|
timestamp:
|
|
type: number
|
|
votes:
|
|
type: number
|
|
deleted:
|
|
type: number
|
|
upvotes:
|
|
type: number
|
|
downvotes:
|
|
type: number
|
|
bookmarks:
|
|
type: number
|
|
deleterUid:
|
|
type: number
|
|
edited:
|
|
type: number
|
|
timestampISO:
|
|
type: string
|
|
description: An ISO 8601 formatted date string (complementing `timestamp`)
|
|
editedISO:
|
|
type: string
|
|
index:
|
|
type: number
|
|
user:
|
|
type: object
|
|
properties:
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
displayname:
|
|
type: string
|
|
description: This is either username or fullname depending on forum and user settings
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
reputation:
|
|
type: number
|
|
postcount:
|
|
type: number
|
|
topiccount:
|
|
type: number
|
|
picture:
|
|
type: string
|
|
nullable: true
|
|
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
|
|
muted:
|
|
type: boolean
|
|
description: Whether or not the user has been muted.
|
|
mutedUntil:
|
|
type: number
|
|
description: A UNIX timestamp representing the moment a muted state will be lifted.
|
|
nullable: true
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
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:
|
|
type: object
|
|
properties:
|
|
content:
|
|
type: string
|
|
description: HTML that is injected into `topic.tpl` of themes that support custom profile info
|
|
editor:
|
|
nullable: true
|
|
bookmarked:
|
|
type: boolean
|
|
upvoted:
|
|
type: boolean
|
|
downvoted:
|
|
type: boolean
|
|
replies:
|
|
type: object
|
|
properties:
|
|
hasMore:
|
|
type: boolean
|
|
users:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
description: A friendly name for a given user account
|
|
userslug:
|
|
type: string
|
|
description: An URL-safe variant of the username (i.e. lower-cased, spaces
|
|
removed, etc.)
|
|
picture:
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
icon:text:
|
|
type: string
|
|
description: A single-letter representation of a username. This is used in the
|
|
auto-generated icon given to users without
|
|
an avatar
|
|
icon:bgColor:
|
|
type: string
|
|
description: A six-character hexadecimal colour code assigned to the user. This
|
|
value is used in conjunction with
|
|
`icon:text` for the user's auto-generated
|
|
icon
|
|
example: "#f44336"
|
|
administrator:
|
|
type: boolean
|
|
text:
|
|
type: string
|
|
count:
|
|
type: number
|
|
selfPost:
|
|
type: boolean
|
|
events:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
id:
|
|
type: number
|
|
timestamp:
|
|
type: number
|
|
timestampISO:
|
|
type: string
|
|
topicOwnerPost:
|
|
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
|
|
flagId:
|
|
type: number
|
|
description: The flag identifier, if this particular post has been flagged before
|
|
events:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
id:
|
|
type: number
|
|
timestamp:
|
|
type: number
|
|
timestampISO:
|
|
type: string
|
|
category:
|
|
$ref: ../../components/schemas/CategoryObject.yaml#/CategoryObject
|
|
tagWhitelist:
|
|
type: array
|
|
items:
|
|
type: string
|
|
minTags:
|
|
type: number
|
|
maxTags:
|
|
type: number
|
|
thread_tools:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
class:
|
|
type: string
|
|
title:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
isFollowing:
|
|
type: boolean
|
|
isNotFollowing:
|
|
type: boolean
|
|
isIgnoring:
|
|
type: boolean
|
|
bookmark:
|
|
nullable: true
|
|
postSharing:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
class:
|
|
type: string
|
|
activated:
|
|
type: boolean
|
|
deleter:
|
|
nullable: true
|
|
merger:
|
|
nullable: true
|
|
related:
|
|
type: array
|
|
items:
|
|
$ref: ../../components/schemas/TopicObject.yaml#/TopicObject
|
|
unreplied:
|
|
type: boolean
|
|
icons:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: HTML that is rendered by the theme
|
|
privileges:
|
|
type: object
|
|
properties:
|
|
topics:reply:
|
|
type: boolean
|
|
topics:read:
|
|
type: boolean
|
|
topics:schedule:
|
|
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
|
|
view_scheduled:
|
|
type: boolean
|
|
isAdminOrMod:
|
|
type: boolean
|
|
disabled:
|
|
type: number
|
|
tid:
|
|
type: string
|
|
uid:
|
|
type: number
|
|
description: A user identifier
|
|
topicStaleDays:
|
|
type: number
|
|
reputation:disabled:
|
|
type: number
|
|
downvote:disabled:
|
|
type: number
|
|
feeds:disableRSS:
|
|
type: number
|
|
signatures:hideDuplicates:
|
|
type: number
|
|
bookmarkThreshold:
|
|
type: number
|
|
necroThreshold:
|
|
type: number
|
|
postEditDuration:
|
|
type: number
|
|
postDeleteDuration:
|
|
type: number
|
|
scrollToMyPost:
|
|
type: boolean
|
|
updateUrlWithPostIndex:
|
|
type: boolean
|
|
allowMultipleBadges:
|
|
type: boolean
|
|
privateUploads:
|
|
type: boolean
|
|
showPostPreviewsOnHover:
|
|
type: boolean
|
|
rssFeedUrl:
|
|
type: string
|
|
postIndex:
|
|
type: number
|
|
- type: object
|
|
description: Optional properties that may or may not be present (except for `tid`, which is always present, and is only here as a hack to pass validation)
|
|
properties:
|
|
tid:
|
|
type: number
|
|
description: A topic identifier
|
|
thumb:
|
|
type: string
|
|
description: An uploaded topic thumbnail
|
|
loggedInUser:
|
|
$ref: ../../components/schemas/UserObject.yaml#/UserObject
|
|
required:
|
|
- tid
|
|
- $ref: ../../components/schemas/Pagination.yaml#/Pagination
|
|
- $ref: ../../components/schemas/Breadcrumbs.yaml#/Breadcrumbs
|
|
- $ref: ../../components/schemas/CommonProps.yaml#/CommonProps |