diff --git a/public/openapi/read.yaml b/public/openapi/read.yaml index eb62a11ae8..fc7634cf19 100644 --- a/public/openapi/read.yaml +++ b/public/openapi/read.yaml @@ -579,142 +579,85 @@ paths: 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 - stats: - type: array - items: - type: object - properties: - yesterday: - type: number - today: - type: number - lastweek: - type: number - thisweek: - type: number - lastmonth: - type: number - thismonth: - type: number - alltime: - type: number - dayIncrease: - type: string - dayTextClass: - type: string - weekIncrease: - type: string - weekTextClass: - type: string - monthIncrease: - type: string - monthTextClass: - type: string - name: - type: string - canRestart: - type: boolean - lastrestart: - type: object + allOf: + - type: object properties: - uid: - type: number - description: A user identifier - ip: + version: type: string - timestamp: - type: number - user: - $ref: 'components/schemas/UserObject.yaml#/UserObject' - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - loggedIn: - type: boolean - relative_path: - type: string - template: - type: object - properties: - name: - type: string - admin/general/dashboard: + lookupFailed: 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + latestVersion: + type: string + upgradeAvailable: + type: boolean + currentPrerelease: + type: boolean + notices: type: array items: type: object properties: - html: + done: + type: boolean + doneText: type: string + notDoneText: + type: string + tooltip: + type: string + link: + type: string + stats: + type: array + items: + type: object + properties: + yesterday: + type: number + today: + type: number + lastweek: + type: number + thisweek: + type: number + lastmonth: + type: number + thismonth: + type: number + alltime: + type: number + dayIncrease: + type: string + dayTextClass: + type: string + weekIncrease: + type: string + weekTextClass: + type: string + monthIncrease: + type: string + monthTextClass: + type: string + name: + type: string + canRestart: + type: boolean + lastrestart: + type: object + properties: + uid: + type: number + description: A user identifier + ip: + type: string + timestamp: + type: number + user: + $ref: 'components/schemas/UserObject.yaml#/UserObject' + timestampISO: + type: string + description: An ISO 8601 formatted date string (complementing `timestamp`) + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/admin/general/languages: get: tags: @@ -744,76 +687,19 @@ paths: content: application/json: schema: - type: object - properties: - routes: - type: array - items: - type: object - properties: - route: - type: string - name: - type: string - loggedIn: - type: boolean - relative_path: - type: string - template: - type: object + allOf: + - 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + routes: type: array items: type: object properties: - html: + route: type: string + name: + type: string + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/admin/general/social: get: tags: @@ -831,67 +717,7 @@ paths: 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: - type: array - items: - type: object - properties: - html: - type: string + $ref: 'components/schemas/CommonProps.yaml#/CommonProps' "/api/admin/manage/categories/{category_id}": get: tags: @@ -909,65 +735,10 @@ paths: content: application/json: schema: - type: object - properties: - category: - type: object + allOf: + - type: object properties: - cid: - type: number - description: A category identifier - name: - type: string - description: - type: string - icon: - type: string - bgColor: - type: string - color: - type: string - slug: - type: string - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - topic_count: - type: number - description: The number of topics in the category - post_count: - type: number - description: The number of posts in the category - 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 - description: The number of posts in the category - totalTopicCount: - type: number - description: The number of topics in the category - descriptionParsed: - type: string - tagWhitelist: - type: array - items: {} - unread-class: - type: string - parent: + category: type: object properties: cid: @@ -1006,8 +777,8 @@ paths: type: string imageClass: type: string - descriptionParsed: - type: string + timesClicked: + type: number isSection: type: number totalPostCount: @@ -1016,79 +787,77 @@ paths: totalTopicCount: type: number description: The number of topics in the category - allCategories: - type: array - items: - type: object - properties: - text: - type: string - value: - type: number - selected: - type: boolean - 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: + descriptionParsed: + type: string + tagWhitelist: type: array - items: - type: object - properties: - name: - type: string - content: - type: string - noEscape: - type: boolean - property: - type: string - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + items: {} + unread-class: + type: string + parent: + type: object + properties: + cid: + type: number + description: A category identifier + name: + type: string + description: + type: string + icon: + type: string + bgColor: + type: string + color: + type: string + slug: + type: string + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category + topic_count: + type: number + description: The number of topics in the category + post_count: + type: number + description: The number of posts in the category + 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 + description: The number of posts in the category + totalTopicCount: + type: number + description: The number of topics in the category + allCategories: type: array items: type: object properties: - html: + text: type: string + value: + type: number + selected: + type: boolean + customClasses: + type: array + items: {} + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' "/api/admin/manage/categories/{category_id}/analytics": get: tags: @@ -1106,88 +875,31 @@ paths: 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 + allOf: + - type: object properties: name: type: string - admin/manage/category-analytics: - type: boolean - url: - type: string - bodyClass: - type: string - _header: - type: object - properties: - tags: + analytics: type: object properties: - meta: + pageviews:hourly: type: array items: - type: object - properties: - name: - type: string - content: - type: string - noEscape: - type: boolean - property: - type: string - link: + type: number + pageviews:daily: type: array items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: - type: array - items: - type: object - properties: - html: - type: string + type: number + topics:daily: + type: array + items: + type: number + posts:daily: + type: array + items: + type: number + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' "/api/admin/manage/privileges/{cid?}": get: tags: @@ -1205,21 +917,32 @@ paths: content: application/json: schema: - type: object - properties: - privileges: - type: object + allOf: + - type: object properties: - labels: + privileges: type: object properties: + labels: + type: object + properties: + users: + type: array + items: + type: object + properties: + name: + type: string + groups: + type: array + items: + type: object + properties: + name: + type: string users: type: array - items: - type: object - properties: - name: - type: string + items: {} groups: type: array items: @@ -1227,169 +950,101 @@ paths: properties: name: type: string - users: - type: array - items: {} - groups: + nameEscaped: + type: string + privileges: + type: object + properties: + groups:find: + type: boolean + groups:read: + type: boolean + groups:topics:read: + type: boolean + groups:topics:create: + type: boolean + groups:topics:reply: + type: boolean + groups:topics:tag: + type: boolean + groups:posts:edit: + type: boolean + groups:posts:history: + type: boolean + groups:posts:delete: + type: boolean + groups:posts:upvote: + type: boolean + groups:posts:downvote: + type: boolean + groups:topics:delete: + type: boolean + groups:posts:view_deleted: + type: boolean + groups:purge: + type: boolean + groups:moderate: + type: boolean + isPrivate: + type: boolean + columnCountUser: + type: number + columnCountUserOther: + type: number + columnCountGroup: + type: number + columnCountGroupOther: + type: number + categories: type: array items: type: object properties: + cid: + type: number + description: A category identifier name: type: string - nameEscaped: + icon: 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: + selected: type: boolean - columnCountUser: - type: number - columnCountUserOther: - type: number - columnCountGroup: - type: number - columnCountGroupOther: - type: number - categories: - type: array - items: - type: object - properties: - cid: - type: number - description: A category identifier - name: - type: string - icon: - type: string - selected: - type: boolean - level: - type: string - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - color: - type: string - bgColor: - type: string - imageClass: - type: string - selectedCategory: - type: object - properties: + level: + type: string + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category + color: + type: string + bgColor: + type: string + imageClass: + type: string + selectedCategory: + type: object + properties: + cid: + type: number + description: A category identifier + name: + type: string + level: + type: string + icon: + type: string + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category + color: + type: string + bgColor: + type: string + selected: + type: boolean cid: type: number description: A category identifier - name: - type: string - level: - type: string - icon: - type: string - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - color: - type: string - bgColor: - type: string - selected: - type: boolean - cid: - type: number - description: A category identifier - 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: - type: array - items: - type: object - properties: - html: - type: string + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/admin/manage/tags: get: tags: @@ -1419,152 +1074,95 @@ paths: content: application/json: schema: - type: object - properties: - users: - type: array - items: - $ref: 'components/schemas/UserObject.yaml#/UserObject' - page: - type: number - pageCount: - type: number - resultsPerPage: - type: number - latest: - type: boolean - search_display: - type: string - pagination: - type: object + allOf: + - type: object properties: - rel: + users: 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 - currentPage: + $ref: 'components/schemas/UserObject.yaml#/UserObject' + page: 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: + resultsPerPage: + type: number + latest: type: boolean - url: - type: string - bodyClass: - type: string - _header: - type: object - properties: - tags: + search_display: + type: string + pagination: type: object properties: - meta: - type: array - items: - type: object - properties: - name: - type: string - content: - type: string - noEscape: - type: boolean - property: - type: string - link: + rel: type: array items: type: object properties: rel: type: string - type: - type: string href: type: string - title: + pages: + type: array + items: + type: object + properties: + page: + type: number + active: + type: boolean + qs: type: string - sizes: - type: string - widgets: - type: object - properties: - footer: - type: array - items: - type: object - properties: - html: - type: string + separator: + type: boolean + 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 + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/admin/manage/users/search: get: tags: @@ -1576,72 +1174,15 @@ paths: 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 + allOf: + - type: object properties: - name: + search_display: 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + users: type: array - items: - type: object - properties: - html: - type: string + items: {} + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/admin/manage/users/latest: get: tags: @@ -1653,152 +1194,95 @@ paths: content: application/json: schema: - type: object - properties: - users: - type: array - items: - $ref: 'components/schemas/UserObject.yaml#/UserObject' - page: - type: number - pageCount: - type: number - resultsPerPage: - type: number - latest: - type: boolean - search_display: - type: string - pagination: - type: object + allOf: + - type: object properties: - rel: + users: 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 - currentPage: + $ref: 'components/schemas/UserObject.yaml#/UserObject' + page: 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: + resultsPerPage: + type: number + latest: type: boolean - url: - type: string - bodyClass: - type: string - _header: - type: object - properties: - tags: + search_display: + type: string + pagination: type: object properties: - meta: - type: array - items: - type: object - properties: - name: - type: string - content: - type: string - noEscape: - type: boolean - property: - type: string - link: + rel: type: array items: type: object properties: rel: type: string - type: - type: string href: type: string - title: + pages: + type: array + items: + type: object + properties: + page: + type: number + active: + type: boolean + qs: type: string - sizes: - type: string - widgets: - type: object - properties: - footer: - type: array - items: - type: object - properties: - html: - type: string + separator: + type: boolean + 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 + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/admin/manage/users/not-validated: get: tags: @@ -1810,152 +1294,95 @@ paths: content: application/json: schema: - type: object - properties: - users: - type: array - items: - $ref: 'components/schemas/UserObject.yaml#/UserObject' - page: - type: number - pageCount: - type: number - resultsPerPage: - type: number - notvalidated: - type: boolean - search_display: - type: string - pagination: - type: object + allOf: + - type: object properties: - rel: + users: 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 - currentPage: + $ref: 'components/schemas/UserObject.yaml#/UserObject' + page: 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: + resultsPerPage: + type: number + notvalidated: type: boolean - url: - type: string - bodyClass: - type: string - _header: - type: object - properties: - tags: + search_display: + type: string + pagination: type: object properties: - meta: - type: array - items: - type: object - properties: - name: - type: string - content: - type: string - noEscape: - type: boolean - property: - type: string - link: + rel: type: array items: type: object properties: rel: type: string - type: - type: string href: type: string - title: + pages: + type: array + items: + type: object + properties: + page: + type: number + active: + type: boolean + qs: type: string - sizes: - type: string - widgets: - type: object - properties: - footer: - type: array - items: - type: object - properties: - html: - type: string + separator: + type: boolean + 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 + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/admin/manage/users/no-posts: get: tags: @@ -2015,163 +1442,106 @@ paths: 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 - pagination: - type: object + allOf: + - 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + groups: type: array items: type: object properties: - html: + 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 + 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 + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' "/api/admin/manage/groups/{name}": get: tags: @@ -2189,156 +1559,99 @@ paths: content: application/json: schema: - type: object - properties: - group: - type: object + allOf: + - type: object properties: - name: - type: string - slug: - type: string - createtime: - type: number - userTitle: - type: string - userTitleEnabled: - type: number - description: - type: string - memberCount: - type: number - hidden: - type: number - system: - type: number - private: - type: number - disableJoinRequests: - type: number - disableLeave: - type: number - icon: - type: string - labelColor: - type: string - textColor: - type: string - nameEncoded: - type: string - displayName: - type: string - createtimeISO: - type: string - cover:thumb:url: - type: string - cover:url: - type: string - cover:position: - type: string - descriptionParsed: - type: string - members: - type: array - items: - allOf: - - $ref: 'components/schemas/UserObject.yaml#/UserObject' - - type: object - properties: - isOwner: - type: boolean - membersNextStart: - type: number - pending: - type: array - items: {} - invited: - type: array - items: {} - isMember: - type: boolean - isPending: - type: boolean - isInvited: - type: boolean - isOwner: - type: boolean - groupNames: - type: array - items: - type: object - properties: - encodedName: - type: string - displayName: - type: string - selected: - type: boolean - allowPrivateGroups: - type: number - maximumGroupNameLength: - type: number - maximumGroupTitleLength: - type: number - 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: + group: type: object properties: - meta: + 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: - name: - type: string - content: - type: string - noEscape: - type: boolean - property: - type: string - link: + allOf: + - $ref: 'components/schemas/UserObject.yaml#/UserObject' + - type: object + properties: + isOwner: + type: boolean + membersNextStart: + type: number + pending: type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + items: {} + invited: + type: array + items: {} + isMember: + type: boolean + isPending: + type: boolean + isInvited: + type: boolean + isOwner: + type: boolean + groupNames: type: array items: type: object properties: - html: + encodedName: type: string + displayName: + type: string + selected: + type: boolean + allowPrivateGroups: + type: number + maximumGroupNameLength: + type: number + maximumGroupTitleLength: + type: number + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/admin/manage/uploads: get: tags: @@ -2356,162 +1669,106 @@ paths: content: application/json: schema: - type: object - properties: - title: - type: string - delivery: - type: array - items: - type: object - properties: - username: - type: string - description: A friendly name for a given user account - picture: - nullable: true - type: string - uid: - type: number - description: A user identifier - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - lastDelivery: - type: string - setting: - type: boolean - default: - type: string - pagination: - type: object + allOf: + - 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 - 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: + title: type: string - admin/manage/digest: - type: boolean - url: - type: string - bodyClass: - type: string - _header: - type: object - properties: - tags: + delivery: + type: array + items: + type: object + properties: + username: + type: string + description: A friendly name for a given user account + picture: + nullable: true + type: string + uid: + type: number + description: A user identifier + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + lastDelivery: + type: string + setting: + type: boolean + default: + type: string + pagination: type: object properties: - meta: - type: array - items: - type: object - properties: - name: - type: string - content: - type: string - noEscape: - type: boolean - property: - type: string - link: + rel: type: array items: type: object properties: rel: type: string - type: - type: string href: type: string - title: + pages: + type: array + items: + type: object + properties: + page: + type: number + active: + type: boolean + qs: type: string - sizes: - type: string - widgets: - type: object - properties: - footer: - type: array - items: - type: object - properties: - html: - type: string + separator: + type: boolean + 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 + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' "/api/admin/settings/{term?}": + # TODO: The responses seem totally wrong here, maybe use additionalProperties get: tags: - admin @@ -2528,76 +1785,19 @@ paths: content: application/json: schema: - type: object - properties: - notificationSettings: - type: array - items: - type: object - properties: - name: - type: string - label: - type: string - loggedIn: - type: boolean - relative_path: - type: string - template: - type: object + allOf: + - 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + notificationSettings: type: array items: type: object properties: - html: + name: type: string + label: + type: string + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' "/api/admin/appearance/{term?}": get: tags: @@ -2615,67 +1815,7 @@ paths: 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: - type: array - items: - type: object - properties: - html: - type: string + $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/admin/extend/plugins: get: tags: @@ -2687,171 +1827,114 @@ paths: 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 - installedCount: - type: number - activeCount: - type: number - inactiveCount: - type: number - upgradeCount: - type: number - download: - type: array - items: - type: object - properties: - name: - type: string - updated: - type: string - description: - type: string - latest: - type: string - url: - type: string - numInstalls: - type: number - isCompatible: - type: boolean - id: - type: string - installed: - type: boolean - active: - type: boolean - incompatible: - type: array - items: - type: object - properties: - latest: - type: string - description: - type: string - name: - type: string - updated: - type: string - url: - type: string - numInstalls: - type: number - isCompatible: - type: boolean - id: - type: string - installed: - type: boolean - active: - type: boolean - submitPluginUsage: - type: number - version: - type: string - loggedIn: - type: boolean - relative_path: - type: string - template: - type: object + allOf: + - 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + installed: type: array items: type: object properties: - html: + latest: type: string + description: + type: string + name: + type: string + updated: + type: string + url: + type: string + numInstalls: + type: number + isCompatible: + type: boolean + id: + type: string + installed: + type: boolean + active: + type: boolean + isTheme: + type: boolean + error: + type: boolean + version: + type: string + license: + type: object + properties: + name: + type: string + text: + type: string + outdated: + type: boolean + settingsRoute: + type: string + installedCount: + type: number + activeCount: + type: number + inactiveCount: + type: number + upgradeCount: + type: number + download: + type: array + items: + type: object + properties: + name: + type: string + updated: + type: string + description: + type: string + latest: + type: string + url: + type: string + numInstalls: + type: number + isCompatible: + type: boolean + id: + type: string + installed: + type: boolean + active: + type: boolean + incompatible: + type: array + items: + type: object + properties: + latest: + type: string + description: + type: string + name: + type: string + updated: + type: string + url: + type: string + numInstalls: + type: number + isCompatible: + type: boolean + id: + type: string + installed: + type: boolean + active: + type: boolean + submitPluginUsage: + type: number + version: + type: string + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/admin/extend/widgets: get: tags: @@ -2863,145 +1946,86 @@ paths: 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 - areas: - type: array - items: - type: object - properties: - name: - type: string - template: - type: string - location: - type: string - data: - type: array - items: - type: object - properties: - widget: - type: string - data: - type: object - properties: - html: - type: string - cid: - type: string - title: - type: string - container: - type: string - groups: - type: array - items: {} - groupsHideFrom: - type: array - items: {} - hide-mobile: - type: string - numTags: - type: string - numUsers: - type: string - text: - type: string - parseAsPost: - type: string - numTopics: - type: string - availableWidgets: - type: array - items: - type: object - properties: - widget: - type: string - name: - type: string - description: - type: string - content: - type: string - loggedIn: - type: boolean - relative_path: - type: string - template: - type: object + allOf: + - 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + templates: type: array items: type: object properties: - html: + template: type: string - "304": - description: "" + areas: + type: array + items: + type: object + properties: + name: + type: string + location: + type: string + areas: + type: array + items: + type: object + properties: + name: + type: string + template: + type: string + location: + type: string + data: + type: array + items: + type: object + properties: + widget: + type: string + data: + type: object + properties: + html: + type: string + cid: + type: string + title: + type: string + container: + type: string + groups: + type: array + items: {} + groupsHideFrom: + type: array + items: {} + hide-mobile: + type: string + numTags: + type: string + numUsers: + type: string + text: + type: string + parseAsPost: + type: string + numTopics: + type: string + availableWidgets: + type: array + items: + type: object + properties: + widget: + type: string + name: + type: string + description: + type: string + content: + type: string + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/admin/extend/rewards: get: tags: @@ -3019,315 +2043,257 @@ paths: content: application/json: schema: - type: object - properties: - redis: - type: object + allOf: + - 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: + aof_current_rewrite_time_sec: type: string - virtual: + aof_enabled: type: string - supported: + 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 - mapped: - type: string - mappedWithJournal: - type: number - collectionData: - type: array - items: - type: object - properties: - name: - type: string - count: - type: number - size: - type: number - avgObjSize: - type: number - storageSize: - type: number - totalIndexSize: - type: number - indexSizes: - type: object - properties: - _id_: - type: number - expireAt_1: - type: number - _key_1_score_-1: - type: number - _key_1_value_-1: - type: number - content_text_uid_1_cid_1: - type: number - network: - type: object - properties: - bytesIn: - type: string - bytesOut: - type: string - numRequests: - type: string - raw: - type: string - fileSize: - type: number - storageEngine: - type: string - host: - type: string - version: - type: string - uptime: - type: number mongo: - type: boolean - 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: + 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 - content: - type: string - noEscape: - type: boolean - property: - type: string - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: - type: array - items: - type: object - properties: - html: - type: string + count: + type: number + size: + type: number + avgObjSize: + type: number + storageSize: + type: number + totalIndexSize: + type: number + indexSizes: + type: object + properties: + _id_: + type: number + expireAt_1: + type: number + _key_1_score_-1: + type: number + _key_1_value_-1: + type: number + content_text_uid_1_cid_1: + type: number + network: + type: object + properties: + bytesIn: + type: string + bytesOut: + type: string + numRequests: + type: string + raw: + type: string + fileSize: + type: number + storageEngine: + type: string + host: + type: string + version: + type: string + uptime: + type: number + mongo: + type: boolean /api/admin/advanced/events: get: tags: @@ -3369,139 +2335,82 @@ paths: content: application/json: schema: - type: object - properties: - postCache: - type: object + allOf: + - 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: + postCache: type: object properties: - meta: - type: array - items: - type: object - properties: - name: - type: string - content: - type: string - noEscape: - type: boolean - property: - type: string - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: - type: array - items: - type: object - properties: - html: - type: string + length: + type: number + max: + type: number + itemCount: + type: number + percentFull: + type: string + avgPostSize: + type: number + hits: + type: string + misses: + type: string + hitRatio: + type: string + groupCache: + type: object + properties: + length: + type: number + max: + type: number + itemCount: + type: number + percentFull: + type: string + hits: + type: string + misses: + type: string + hitRatio: + type: string + localCache: + type: object + properties: + length: + type: number + max: + type: number + itemCount: + type: number + percentFull: + type: string + dump: + type: boolean + hits: + type: string + misses: + type: string + hitRatio: + type: string + objectCache: + type: object + properties: + length: + type: number + max: + type: number + itemCount: + type: number + percentFull: + type: string + hits: + type: string + misses: + type: string + hitRatio: + type: string + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/admin/development/logger: get: tags: @@ -3513,67 +2422,7 @@ paths: 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: - type: array - items: - type: object - properties: - html: - type: string + $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/admin/development/info: get: tags: @@ -4015,378 +2864,16 @@ paths: content: application/json: schema: - type: object - properties: - title: - description: The category title - type: string - categories: - description: A collection of category data objects - type: array - items: - type: object - properties: - cid: - type: number - description: A category identifier - name: - type: string - description: - type: string - icon: - type: string - slug: - type: string - topic_count: - type: number - description: The number of topics in the category - order: - type: number - bgColor: - type: string - link: - type: string - class: - type: string - numRecentReplies: - type: number - color: - type: string - post_count: - type: number - description: The number of posts in the category - descriptionParsed: - type: string - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - disabled: - type: number - isSection: - type: number - totalPostCount: - type: number - description: The number of posts in the category - totalTopicCount: - type: number - description: The number of topics in the category - tagWhitelist: - type: array - items: {} - unread-class: - type: string - children: - type: array - items: - type: object - properties: - cid: - type: number - description: A category identifier - name: - type: string - description: - type: string - icon: - type: string - slug: - type: string - topic_count: - type: number - description: The number of topics in the category - order: - type: number - bgColor: - type: string - link: - type: string - class: - type: string - numRecentReplies: - type: number - color: - type: string - post_count: - type: number - description: The number of posts in the category - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - disabled: - type: number - isSection: - type: number - totalPostCount: - type: number - description: The number of posts in the category - totalTopicCount: - type: number - description: The number of topics in the category - 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 - description: The number of topics in the category - name: - type: string - cid: - type: number - description: A category identifier - post_count: - type: number - description: The number of posts in the category - numRecentReplies: - type: number - bgColor: - type: string - slug: - type: string - color: - type: string - disabled: - type: number - descriptionParsed: - type: string - isSection: - type: number - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - totalPostCount: - type: number - description: The number of posts in the category - totalTopicCount: - type: number - description: The number of topics in the category - 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 - description: An ISO 8601 formatted date string (complementing `timestamp`) - user: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - picture: - nullable: true - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - index: - type: number - cid: - type: number - description: A category identifier - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - topic: - type: object - properties: - slug: - type: string - title: - type: string - imageClass: - type: string - timesClicked: - type: number - posts: - type: array - items: - type: object - properties: - pid: - type: number - timestamp: - type: number - content: - type: string - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - user: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - picture: - nullable: true - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - index: - type: number - cid: - type: number - description: A category identifier - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - topic: - type: object - properties: - slug: - type: string - title: - type: string - teaser: - type: object - properties: - url: - type: string - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - pid: - type: number - topic: - type: object - properties: - slug: - type: string - title: - type: string - imageClass: - type: string - breadcrumbs: - type: array - items: - type: object - properties: - text: - type: string - url: - type: string - loggedIn: - type: boolean - relative_path: - type: string - template: - type: object + allOf: + - type: object properties: - name: + title: + description: The category title type: string categories: - type: boolean - url: - type: string - bodyClass: - type: string - topics: - type: array - items: - type: object - properties: - tid: - type: number - description: A topic identifier - uid: - type: number - description: A user identifier - cid: - type: number - description: A category identifier - mainPid: - type: number - description: The post id of the first post in this topic (also called the "original post") - title: - type: string - slug: - type: string - timestamp: - type: number - lastposttime: - type: number - postcount: - type: number - viewcount: - type: number - teaserPid: - type: number - upvotes: - type: number - downvotes: - type: number - deleted: - type: number - locked: - type: number - pinned: - type: number - description: Whether or not this particular topic is pinned to the top of the category - titleRaw: - type: string - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - lastposttimeISO: - type: string - votes: - type: number - category: + description: A collection of category data objects + type: array + items: type: object properties: cid: @@ -4394,76 +2881,369 @@ paths: description: A category identifier name: type: string - slug: + description: type: string icon: type: string - image: - nullable: true - imageClass: - nullable: true + slug: type: string + topic_count: + type: number + description: The number of topics in the category + order: + type: number bgColor: type: string + link: + type: string + class: + type: string + numRecentReplies: + type: number color: type: string + post_count: + type: number + description: The number of posts in the category + descriptionParsed: + type: string + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category disabled: type: number - user: + isSection: + type: number + totalPostCount: + type: number + description: The number of posts in the category + totalTopicCount: + type: number + description: The number of topics in the category + tagWhitelist: + type: array + items: {} + unread-class: + type: string + children: + type: array + items: + type: object + properties: + cid: + type: number + description: A category identifier + name: + type: string + description: + type: string + icon: + type: string + slug: + type: string + topic_count: + type: number + description: The number of topics in the category + order: + type: number + bgColor: + type: string + link: + type: string + class: + type: string + numRecentReplies: + type: number + color: + type: string + post_count: + type: number + description: The number of posts in the category + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category + disabled: + type: number + isSection: + type: number + totalPostCount: + type: number + description: The number of posts in the category + totalTopicCount: + type: number + description: The number of topics in the category + 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 + description: The number of topics in the category + name: + type: string + cid: + type: number + description: A category identifier + post_count: + type: number + description: The number of posts in the category + numRecentReplies: + type: number + bgColor: + type: string + slug: + type: string + color: + type: string + disabled: + type: number + descriptionParsed: + type: string + isSection: + type: number + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category + totalPostCount: + type: number + description: The number of posts in the category + totalTopicCount: + type: number + description: The number of topics in the category + 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 + description: An ISO 8601 formatted date string (complementing `timestamp`) + user: + type: object + properties: + uid: + type: number + description: A user identifier + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + nullable: true + type: string + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + index: + type: number + cid: + type: number + description: A category identifier + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category + topic: + type: object + properties: + slug: + type: string + title: + type: string + imageClass: + type: string + timesClicked: + type: number + posts: + type: array + items: + type: object + properties: + pid: + type: number + timestamp: + type: number + content: + type: string + timestampISO: + type: string + description: An ISO 8601 formatted date string (complementing `timestamp`) + user: + type: object + properties: + uid: + type: number + description: A user identifier + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + nullable: true + type: string + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + index: + type: number + cid: + type: number + description: A category identifier + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category + topic: + type: object + properties: + slug: + type: string + title: + type: string + teaser: + type: object + properties: + url: + type: string + timestampISO: + type: string + description: An ISO 8601 formatted date string (complementing `timestamp`) + pid: + type: number + topic: + type: object + properties: + slug: + type: string + title: + type: string + imageClass: + type: string + breadcrumbs: + type: array + items: type: object properties: - uid: - type: number - description: A user identifier - username: + text: type: string - description: A friendly name for a given user account - fullname: + url: type: string - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - reputation: - type: number - postcount: - type: number - picture: - nullable: true - type: string - signature: - nullable: true - type: string - banned: - type: number - status: - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - banned_until_readable: - type: string - teaser: + topics: + type: array + items: type: object properties: - pid: - type: number - uid: - type: number - description: A user identifier - timestamp: - type: number tid: type: number description: A topic identifier - content: + uid: + type: number + description: A user identifier + cid: + type: number + description: A category identifier + mainPid: + type: number + description: The post id of the first post in this topic (also called the "original post") + title: + type: string + slug: + type: string + timestamp: + type: number + lastposttime: + type: number + postcount: + type: number + viewcount: + type: number + teaserPid: + type: number + upvotes: + type: number + downvotes: + type: number + deleted: + type: number + locked: + type: number + pinned: + type: number + description: Whether or not this particular topic is pinned to the top of the category + titleRaw: type: string timestampISO: type: string description: An ISO 8601 formatted date string (complementing `timestamp`) + lastposttimeISO: + type: string + votes: + type: number + category: + type: object + properties: + cid: + type: number + description: A category identifier + name: + type: string + slug: + type: string + icon: + type: string + image: + nullable: true + imageClass: + nullable: true + type: string + bgColor: + type: string + color: + type: string + disabled: + type: number user: type: object properties: @@ -4473,12 +3253,25 @@ paths: username: type: string description: A friendly name for a given user account + fullname: + type: string userslug: type: string description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + reputation: + type: number + postcount: + type: number picture: nullable: true type: string + signature: + nullable: true + type: string + banned: + type: number + status: + type: string icon:text: type: string description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar @@ -4486,122 +3279,85 @@ paths: type: string description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon example: "#f44336" - index: - type: number - tags: - type: array - items: - type: object - properties: - value: - type: string - valueEscaped: - type: string - color: - type: string - bgColor: - type: string - score: - type: number - isOwner: - type: boolean - ignored: - type: boolean - unread: - type: boolean - bookmark: - nullable: true - unreplied: - type: boolean - icons: - type: array - items: {} - index: - type: number - thumb: - type: string - isQuestion: - nullable: true - 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: + banned_until_readable: + type: string + teaser: type: object properties: - name: - type: string + pid: + type: number + uid: + type: number + description: A user identifier + timestamp: + type: number + tid: + type: number + description: A topic identifier content: type: string - noEscape: - type: boolean - property: + timestampISO: type: string - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - sidebar: - type: array - items: - type: object - properties: - html: + description: An ISO 8601 formatted date string (complementing `timestamp`) + user: + type: object + properties: + uid: + type: number + description: A user identifier + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + nullable: true + type: string + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + index: + type: number + tags: + type: array + items: + type: object + properties: + value: + type: string + valueEscaped: + type: string + color: + type: string + bgColor: + type: string + score: + type: number + isOwner: + type: boolean + ignored: + type: boolean + unread: + type: boolean + bookmark: + nullable: true + unreplied: + type: boolean + icons: + type: array + items: {} + index: + type: number + thumb: type: string - 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 - example: - + isQuestion: + nullable: true + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' "/api/categories/{cid}/moderators": get: tags: @@ -4969,117 +3725,51 @@ paths: 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 - allowRegistration: - type: boolean - allowLoginWith: - type: string - breadcrumbs: - type: array - items: - type: object - properties: - text: - type: string - url: - type: string - title: - type: string - allowPasswordReset: - type: boolean - allowLocalLogin: - type: boolean - loggedIn: - type: boolean - relative_path: - type: string - template: - type: object + allOf: + - type: object properties: - name: - type: string - login: + loginFormEntry: + type: array + items: {} + alternate_logins: 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + authentication: type: array items: type: object properties: - html: + name: type: string + url: + type: string + callbackURL: + type: string + icon: + type: string + scope: + type: string + prompt: + type: string + allowRegistration: + type: boolean + allowLoginWith: + type: string + breadcrumbs: + type: array + items: + type: object + properties: + text: + type: string + url: + type: string + title: + type: string + allowPasswordReset: + type: boolean + allowLocalLogin: + type: boolean + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/register: get: tags: @@ -5091,120 +3781,61 @@ paths: 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 - 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 - regFormEntry: - type: array - items: - type: object - properties: - label: - type: string - html: - type: string - styleName: - type: string - title: - type: string - loggedIn: - type: boolean - relative_path: - type: string - template: - type: object + allOf: + - type: object properties: - name: + register_window:spansize: type: string - register: + alternate_logins: 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + authentication: type: array items: type: object properties: + name: + type: string + url: + type: string + callbackURL: + type: string + icon: + type: string + scope: + type: string + prompt: + type: string + minimumUsernameLength: + type: number + maximumUsernameLength: + type: number + minimumPasswordLength: + type: number + minimumPasswordStrength: + type: number + breadcrumbs: + type: array + items: + type: object + properties: + text: + type: string + url: + type: string + regFormEntry: + type: array + items: + type: object + properties: + label: + type: string html: type: string - "304": - description: "" + styleName: + type: string + title: + type: string + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/register/complete: get: tags: @@ -5216,159 +3847,19 @@ paths: 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 + allOf: + - type: object properties: - name: + title: 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + errors: + type: array + items: {} + sections: 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - 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 + type: string + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/search: get: tags: @@ -5380,276 +3871,197 @@ paths: content: application/json: schema: - type: object - properties: - posts: - type: array - items: - type: object - properties: - pid: - type: number - tid: - type: number - description: A topic identifier - content: - type: string - uid: - type: number - description: A user identifier - timestamp: - type: number - deleted: - type: boolean - upvotes: - type: number - downvotes: - type: number - votes: - type: number - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - user: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - picture: - nullable: true - status: - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - topic: - type: object - properties: - uid: - type: number - description: A user identifier - tid: - type: number - description: A topic identifier - title: - type: string - cid: - type: number - description: A category identifier - slug: - type: string - deleted: - type: number - postcount: - type: number - mainPid: - type: number - description: The post id of the first post in this topic (also called the "original post") - titleRaw: - type: string - category: - type: object - properties: - cid: - type: number - description: A category identifier - name: - type: string - icon: - type: string - slug: - type: string - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - bgColor: - type: string - color: - type: string - image: - nullable: true - imageClass: - nullable: true - type: string - isMainPost: - type: boolean - matchCount: - type: number - pageCount: - type: number - time: - type: string - pagination: - type: object + allOf: + - 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 - categoriesCount: - type: number - breadcrumbs: - type: array - items: - type: object - properties: - text: - type: string - url: - type: string - 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + posts: type: array items: type: object properties: - html: + pid: + type: number + tid: + type: number + description: A topic identifier + content: 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 + uid: + type: number + description: A user identifier + timestamp: + type: number + deleted: + type: boolean + upvotes: + type: number + downvotes: + type: number + votes: + type: number + timestampISO: + type: string + description: An ISO 8601 formatted date string (complementing `timestamp`) + user: + type: object + properties: + uid: + type: number + description: A user identifier + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + nullable: true + status: + type: string + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + topic: + type: object + properties: + uid: + type: number + description: A user identifier + tid: + type: number + description: A topic identifier + title: + type: string + cid: + type: number + description: A category identifier + slug: + type: string + deleted: + type: number + postcount: + type: number + mainPid: + type: number + description: The post id of the first post in this topic (also called the "original post") + titleRaw: + type: string + category: + type: object + properties: + cid: + type: number + description: A category identifier + name: + type: string + icon: + type: string + slug: + type: string + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category + bgColor: + type: string + color: + type: string + image: + nullable: true + imageClass: + nullable: true + type: string + isMainPost: + type: boolean + matchCount: + type: number + pageCount: + type: number + time: + type: string + 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 + categoriesCount: + type: number + breadcrumbs: + type: array + items: + type: object + properties: + text: + type: string + url: + type: string + expandSearch: + type: boolean + showAsPosts: + type: boolean + showAsTopics: + type: boolean + title: + type: string + searchDefaultSortBy: + type: string + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' "/api/reset/{code?}": get: tags: @@ -5701,1046 +4113,439 @@ paths: content: application/json: schema: - type: object - properties: - tid: - type: number - description: A topic identifier - uid: - type: number - description: A user identifier - cid: - type: number - description: A category identifier - mainPid: - type: number - description: The post id of the first post in this topic (also called the "original post") - title: - type: string - slug: - type: string - timestamp: - type: number - lastposttime: - type: number - postcount: - type: number - viewcount: - type: number - teaserPid: - type: number - upvotes: - type: number - downvotes: - type: number - deleted: - type: number - locked: - type: number - pinned: - type: number - description: Whether or not this particular topic is pinned to the top of the category - titleRaw: - type: string - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - lastposttimeISO: - type: string - votes: - type: number - tags: - type: array - items: - type: object - properties: - value: - type: string - valueEscaped: - type: string - color: - type: string - bgColor: - type: string - score: - type: number - posts: - type: array - items: - type: object - properties: - pid: - type: number - uid: - type: number - description: A user identifier - tid: - type: number - description: A topic identifier - content: - type: string - timestamp: - type: number - votes: - type: number - deleted: - type: number - upvotes: - type: number - downvotes: - type: number - deleterUid: - type: number - edited: - type: number - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - editedISO: - type: string - index: - type: number - user: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - reputation: - type: number - postcount: - type: number - topiccount: - type: number - picture: - type: string - signature: - type: string - banned: - type: number - banned:expire: - type: number - status: - type: string - lastonline: - type: number - groupTitle: - nullable: true - type: string - groupTitleArray: - type: array - items: - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - lastonlineISO: - type: string - banned_until: - type: number - banned_until_readable: - type: string - selectedGroups: - type: array - items: - type: object - properties: - name: - type: string - slug: - type: string - labelColor: - type: string - textColor: - type: string - icon: - type: string - userTitle: - type: string - custom_profile_info: - type: array - items: {} - editor: - nullable: true - bookmarked: - type: boolean - upvoted: - type: boolean - downvoted: - type: boolean - replies: - type: object - properties: - hasMore: - type: boolean - users: - type: array - items: {} - text: - type: string - count: - type: number - selfPost: - type: boolean - display_edit_tools: - type: boolean - display_delete_tools: - type: boolean - display_moderator_tools: - type: boolean - display_move_tools: - type: boolean - display_post_menu: - type: boolean - category: - type: object + allOf: + - type: object properties: - link: - type: string - class: - type: string - icon: - type: string - description: - type: string - order: + tid: type: number - topic_count: + description: A topic identifier + uid: type: number - description: The number of topics in the category - name: - type: string + description: A user identifier cid: type: number description: A category identifier - post_count: + mainPid: type: number - description: The number of posts in the category - numRecentReplies: - type: number - bgColor: + description: The post id of the first post in this topic (also called the "original post") + title: type: string slug: type: string - color: + timestamp: + type: number + lastposttime: + type: number + postcount: + type: number + viewcount: + type: number + teaserPid: + type: number + upvotes: + type: number + downvotes: + type: number + deleted: + type: number + locked: + type: number + pinned: + type: number + description: Whether or not this particular topic is pinned to the top of the category + titleRaw: type: string - disabled: - type: number - descriptionParsed: + timestampISO: type: string - isSection: - type: number - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - totalPostCount: - type: number - description: The number of posts in the category - totalTopicCount: - type: number - description: The number of topics in the category - tagWhitelist: - type: array - items: {} - thread_tools: - type: array - items: - type: object - properties: - class: - type: string - title: - type: string - icon: - type: string - isFollowing: - type: boolean - isNotFollowing: - type: boolean - isIgnoring: - type: boolean - bookmark: - nullable: true - postSharing: - type: array - items: - type: object - properties: - id: - type: string - name: - type: string - class: - type: string - activated: - type: boolean - deleter: - nullable: true - merger: - nullable: true - related: - type: array - items: {} - unreplied: - type: boolean - icons: - type: array - items: {} - breadcrumbs: - type: array - items: - type: object - properties: - text: - type: string - url: - type: string - 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: + description: An ISO 8601 formatted date string (complementing `timestamp`) + lastposttimeISO: type: string - uid: + votes: type: number - description: A user identifier - topicStaleDays: - type: number - reputation:disabled: - type: number - downvote:disabled: - type: number - feeds:disableRSS: - type: number - bookmarkThreshold: - type: number - postEditDuration: - type: number - postDeleteDuration: - type: number - scrollToMyPost: - type: boolean - allowMultipleBadges: - type: boolean - privateUploads: - type: boolean - rssFeedUrl: - type: string - postIndex: - type: number - 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 - 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 - description: A user identifier - username: - type: string - description: A friendly name for a given user account - picture: - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - _header: - type: object - properties: tags: - type: object - properties: - meta: - type: array - items: + type: array + items: + type: object + properties: + value: + type: string + valueEscaped: + type: string + color: + type: string + bgColor: + type: string + score: + type: number + posts: + type: array + items: + type: object + properties: + pid: + type: number + uid: + type: number + description: A user identifier + tid: + type: number + description: A topic identifier + content: + type: string + timestamp: + type: number + votes: + type: number + deleted: + type: number + upvotes: + type: number + downvotes: + type: number + deleterUid: + type: number + edited: + type: number + timestampISO: + type: string + description: An ISO 8601 formatted date string (complementing `timestamp`) + editedISO: + type: string + index: + type: number + user: type: object properties: - name: + uid: + type: number + description: A user identifier + username: type: string - content: + description: A friendly name for a given user account + userslug: type: string - noEscape: + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + reputation: + type: number + postcount: + type: number + topiccount: + type: number + picture: + type: string + signature: + type: string + banned: + type: number + banned:expire: + type: number + status: + type: string + lastonline: + type: number + groupTitle: + nullable: true + type: string + groupTitleArray: + type: array + items: + type: string + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + lastonlineISO: + type: string + banned_until: + type: number + banned_until_readable: + type: string + selectedGroups: + type: array + items: + type: object + properties: + name: + type: string + slug: + type: string + labelColor: + type: string + textColor: + type: string + icon: + type: string + userTitle: + type: string + custom_profile_info: + type: array + items: {} + editor: + nullable: true + bookmarked: + type: boolean + upvoted: + type: boolean + downvoted: + type: boolean + replies: + type: object + properties: + hasMore: type: boolean - property: + 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 + category: + type: object + properties: link: + type: string + class: + type: string + icon: + type: string + description: + type: string + order: + type: number + topic_count: + type: number + description: The number of topics in the category + name: + type: string + cid: + type: number + description: A category identifier + post_count: + type: number + description: The number of posts in the category + numRecentReplies: + type: number + bgColor: + type: string + slug: + type: string + color: + type: string + disabled: + type: number + descriptionParsed: + type: string + isSection: + type: number + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category + totalPostCount: + type: number + description: The number of posts in the category + totalTopicCount: + type: number + description: The number of topics in the category + tagWhitelist: + type: array + items: {} + thread_tools: + type: array + items: + type: object + properties: + class: + type: string + title: + type: string + icon: + type: string + isFollowing: + type: boolean + isNotFollowing: + type: boolean + isIgnoring: + type: boolean + bookmark: + nullable: true + postSharing: + type: array + items: + type: object + properties: + id: + type: string + name: + type: string + class: + type: string + activated: + type: boolean + deleter: + nullable: true + merger: + nullable: true + related: + type: array + items: {} + unreplied: + type: boolean + icons: + type: array + items: {} + breadcrumbs: + type: array + items: + type: object + properties: + text: + type: string + url: + type: string + privileges: + type: object + properties: + topics:reply: + type: boolean + topics:read: + type: boolean + topics:tag: + type: boolean + topics:delete: + type: boolean + posts:edit: + type: boolean + posts:history: + type: boolean + posts:delete: + type: boolean + posts:view_deleted: + type: boolean + read: + type: boolean + purge: + type: boolean + view_thread_tools: + type: boolean + editable: + type: boolean + deletable: + type: boolean + view_deleted: + type: boolean + isAdminOrMod: + type: boolean + disabled: + type: number + tid: + type: string + uid: + type: number + description: A user identifier + topicStaleDays: + type: number + reputation:disabled: + type: number + downvote:disabled: + type: number + feeds:disableRSS: + type: number + bookmarkThreshold: + type: number + postEditDuration: + type: number + postDeleteDuration: + type: number + scrollToMyPost: + type: boolean + allowMultipleBadges: + type: boolean + privateUploads: + type: boolean + rssFeedUrl: + type: string + postIndex: + type: number + pagination: + type: object + properties: + rel: type: array items: type: object properties: rel: type: string - type: - type: string href: type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: - type: array - items: - type: object - properties: - html: - type: string - text/plain: - schema: - type: object - properties: - tid: - type: number - description: A topic identifier - uid: - type: number - description: A user identifier - cid: - type: number - description: A category identifier - mainPid: - type: number - description: The post id of the first post in this topic (also called the "original post") - title: - type: string - slug: - type: string - timestamp: - type: number - lastposttime: - type: number - postcount: - type: number - viewcount: - type: number - teaserPid: - type: number - upvotes: - type: number - downvotes: - type: number - deleted: - type: number - locked: - type: number - pinned: - type: number - description: Whether or not this particular topic is pinned to the top of the category - titleRaw: - type: string - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - lastposttimeISO: - type: string - votes: - type: number - tags: - type: array - items: - type: object - properties: - value: - type: string - valueEscaped: - type: string - color: - type: string - bgColor: - type: string - score: - type: number - posts: - type: array - items: - type: object - properties: - pid: - type: number - uid: - type: number - description: A user identifier - tid: - type: number - description: A topic identifier - content: - type: string - timestamp: - type: number - votes: - type: number - deleted: - type: number - upvotes: - type: number - downvotes: - type: number - deleterUid: - type: number - edited: - type: number - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - editedISO: - type: string - index: - type: number - user: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - reputation: - type: number - postcount: - type: number - topiccount: - type: number - picture: - type: string - signature: - type: string - banned: - type: number - banned:expire: - type: number - status: - type: string - lastonline: - type: number - groupTitle: - nullable: true - type: string - groupTitleArray: - type: array - items: - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - lastonlineISO: - type: string - banned_until: - type: number - banned_until_readable: - type: string - selectedGroups: - type: array - items: - type: object - properties: - name: - type: string - slug: - type: string - labelColor: - type: string - textColor: - type: string - icon: - type: string - userTitle: - type: string - custom_profile_info: - type: array - items: {} - editor: - nullable: true - bookmarked: - type: boolean - upvoted: - type: boolean - downvoted: - type: boolean - replies: - type: object - properties: - hasMore: - type: boolean - users: - type: array - items: {} - text: - type: string - count: - type: number - selfPost: - type: boolean - display_edit_tools: - type: boolean - display_delete_tools: - type: boolean - display_moderator_tools: - type: boolean - display_move_tools: - type: boolean - display_post_menu: - type: boolean - category: - type: object - properties: - link: - type: string - class: - type: string - icon: - type: string - description: - type: string - order: - type: number - topic_count: - type: number - description: The number of topics in the category - name: - type: string - cid: - type: number - description: A category identifier - post_count: - type: number - description: The number of posts in the category - numRecentReplies: - type: number - bgColor: - type: string - slug: - type: string - color: - type: string - disabled: - type: number - descriptionParsed: - type: string - isSection: - type: number - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - totalPostCount: - type: number - description: The number of posts in the category - totalTopicCount: - type: number - description: The number of topics in the category - tagWhitelist: - type: array - items: {} - thread_tools: - type: array - items: - type: object - properties: - class: - type: string - title: - type: string - icon: - type: string - isFollowing: - type: boolean - isNotFollowing: - type: boolean - isIgnoring: - type: boolean - bookmark: - nullable: true - postSharing: - type: array - items: - type: object - properties: - id: - type: string - name: - type: string - class: - type: string - activated: - type: boolean - deleter: - nullable: true - merger: - nullable: true - related: - type: array - items: {} - unreplied: - type: boolean - icons: - type: array - items: {} - breadcrumbs: - type: array - items: - type: object - properties: - text: - type: string - url: - type: string - privileges: - type: object - properties: - topics:reply: - type: boolean - topics:read: - type: boolean - topics:tag: - type: boolean - topics:delete: - type: boolean - posts:edit: - type: boolean - posts:history: - type: boolean - posts:delete: - type: boolean - posts:view_deleted: - type: boolean - read: - type: boolean - purge: - type: boolean - view_thread_tools: - type: boolean - editable: - type: boolean - deletable: - type: boolean - view_deleted: - type: boolean - isAdminOrMod: - type: boolean - disabled: - type: number - tid: - type: string - uid: - type: number - description: A user identifier - topicStaleDays: - type: number - reputation:disabled: - type: number - downvote:disabled: - type: number - feeds:disableRSS: - type: number - bookmarkThreshold: - type: number - postEditDuration: - type: number - postDeleteDuration: - type: number - scrollToMyPost: - type: boolean - allowMultipleBadges: - type: boolean - privateUploads: - type: boolean - rssFeedUrl: - type: string - postIndex: - type: number - 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 - 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 - description: A user identifier - username: - type: string - description: A friendly name for a given user account - picture: - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - _header: - type: object - properties: - tags: - type: object - properties: - meta: + pages: type: array items: type: object properties: - name: - type: string - content: - type: string - noEscape: + page: + type: number + active: type: boolean - property: + qs: type: string - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - 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 - 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 + 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 + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' "/api/topic/{topic_id}/{slug?}": get: tags: @@ -6763,1167 +4568,506 @@ paths: content: application/json: schema: - type: object - properties: - tid: - type: number - description: A topic identifier - uid: - type: number - description: A user identifier - cid: - type: number - description: A category identifier - mainPid: - type: number - description: The post id of the first post in this topic (also called the "original post") - title: - type: string - slug: - type: string - timestamp: - type: number - lastposttime: - type: number - postcount: - type: number - viewcount: - type: number - teaserPid: - type: number - upvotes: - type: number - downvotes: - type: number - deleted: - type: number - locked: - type: number - pinned: - type: number - description: Whether or not this particular topic is pinned to the top of the category - titleRaw: - type: string - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - lastposttimeISO: - type: string - votes: - type: number - tags: - type: array - items: - type: object - properties: - value: - type: string - valueEscaped: - type: string - color: - type: string - bgColor: - type: string - score: - type: number - posts: - type: array - items: - type: object - properties: - editor: + allOf: + - type: object + properties: + tid: + type: number + description: A topic identifier + uid: + type: number + description: A user identifier + cid: + type: number + description: A category identifier + mainPid: + type: number + description: The post id of the first post in this topic (also called the "original post") + title: + type: string + slug: + type: string + timestamp: + type: number + lastposttime: + type: number + postcount: + type: number + viewcount: + type: number + teaserPid: + type: number + upvotes: + type: number + downvotes: + type: number + deleted: + type: number + locked: + type: number + pinned: + type: number + description: Whether or not this particular topic is pinned to the top of the category + titleRaw: + type: string + timestampISO: + type: string + description: An ISO 8601 formatted date string (complementing `timestamp`) + lastposttimeISO: + type: string + votes: + type: number + tags: + type: array + items: + type: object properties: + value: + type: string + valueEscaped: + type: string + color: + type: string + bgColor: + type: string + score: + type: number + posts: + type: array + items: + type: object + properties: + editor: + properties: + uid: + type: number + description: A user identifier + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + nullable: true + type: object + votes: + type: number + timestamp: + type: number + tid: + type: number + description: A topic identifier + content: + type: string + pid: + type: number + edited: + type: number uid: type: number description: A user identifier - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - nullable: true - type: object - votes: - type: number - timestamp: - type: number - tid: - type: number - description: A topic identifier - content: - type: string - pid: - type: number - edited: - type: number - uid: - type: number - description: A user identifier - upvotes: - type: number - bookmarks: - type: number - replies: - type: object - properties: - hasMore: - type: boolean - users: - type: array - items: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - picture: - nullable: true - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - administrator: - type: boolean - text: - type: string - count: + upvotes: + type: number + bookmarks: + type: number + replies: + type: object + properties: + hasMore: + type: boolean + users: + type: array + items: + type: object + properties: + uid: + type: number + description: A user identifier + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + nullable: true + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + administrator: + type: boolean + text: + type: string + count: + type: number + timestampISO: + type: string + description: An ISO 8601 formatted date string (complementing `timestamp`) + deleted: + type: number + downvotes: + type: number + deleterUid: type: number timestampISO: type: string description: An ISO 8601 formatted date string (complementing `timestamp`) - deleted: - type: number - downvotes: - type: number - deleterUid: - type: number - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - editedISO: - type: string - index: - type: number - user: - type: object - properties: - uid: + editedISO: + type: string + index: type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - fullname: - type: string - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - reputation: - type: number - postcount: - type: number - topiccount: - type: number - picture: - nullable: true - type: string - signature: - type: string - banned: - type: number - banned:expire: - type: number - status: - type: string - lastonline: - type: number - groupTitle: - nullable: true - type: string - groupTitleArray: - type: array - items: - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - lastonlineISO: - type: string - banned_until: - type: number - banned_until_readable: - type: string - selectedGroups: - type: array - items: - type: object - properties: - name: - type: string - slug: - type: string - labelColor: - type: string - textColor: - type: string - icon: - type: string - userTitle: - type: string - custom_profile_info: - type: array - items: {} - bookmarked: - type: boolean - upvoted: - type: boolean - downvoted: - type: boolean - selfPost: - type: boolean - display_edit_tools: - type: boolean - display_delete_tools: - type: boolean - display_moderator_tools: - type: boolean - display_move_tools: - type: boolean - display_post_menu: - type: boolean - toPid: - type: number - parent: - type: object - properties: - username: - type: string - description: A friendly name for a given user account - category: - type: object - properties: - link: - type: string - class: - type: string - icon: - type: string - description: - type: string - order: - type: number - topic_count: - type: number - description: The number of topics in the category - name: - type: string - cid: - type: number - description: A category identifier - post_count: - type: number - description: The number of posts in the category - numRecentReplies: - type: number - bgColor: - type: string - slug: - type: string - color: - type: string - disabled: - type: number - descriptionParsed: - type: string - isSection: - type: number - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - totalPostCount: - type: number - description: The number of posts in the category - totalTopicCount: - type: number - description: The number of topics in the category - tagWhitelist: - type: array - items: {} - thread_tools: - type: array - items: - type: object - properties: - class: - type: string - title: - type: string - icon: - type: string - isFollowing: - type: boolean - isNotFollowing: - type: boolean - isIgnoring: - type: boolean - bookmark: - nullable: true - postSharing: - type: array - items: - type: object - properties: - id: - type: string - name: - type: string - class: - type: string - activated: - type: boolean - deleter: - nullable: true - merger: - nullable: true - related: - type: array - items: {} - unreplied: - type: boolean - icons: - type: array - items: {} - breadcrumbs: - type: array - items: - type: object - properties: - text: - type: string - url: - type: string - privileges: - type: object - properties: - topics:reply: - type: boolean - topics:read: - type: boolean - topics:tag: - type: boolean - topics:delete: - type: boolean - posts:edit: - type: boolean - posts:history: - type: boolean - posts:delete: - type: boolean - posts:view_deleted: - type: boolean - read: - type: boolean - purge: - type: boolean - view_thread_tools: - type: boolean - editable: - type: boolean - deletable: - type: boolean - view_deleted: - type: boolean - isAdminOrMod: - type: boolean - disabled: - type: number - tid: - type: string - uid: - type: number - description: A user identifier - topicStaleDays: - type: number - reputation:disabled: - type: number - downvote:disabled: - type: number - feeds:disableRSS: - type: number - bookmarkThreshold: - type: number - postEditDuration: - type: number - postDeleteDuration: - type: number - scrollToMyPost: - type: boolean - allowMultipleBadges: - type: boolean - privateUploads: - type: boolean - rssFeedUrl: - type: string - postIndex: - type: number - 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 - 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 - description: A user identifier - username: - type: string - description: A friendly name for a given user account - picture: - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - _header: - type: object - properties: - tags: - type: object - properties: - meta: - type: array - items: + user: type: object properties: - name: + uid: + type: number + description: A user identifier + username: type: string - content: + description: A friendly name for a given user account + fullname: type: string - noEscape: - type: boolean - property: + userslug: type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + reputation: + type: number + postcount: + type: number + topiccount: + type: number + picture: + nullable: true + type: string + signature: + type: string + banned: + type: number + banned:expire: + type: number + status: + type: string + lastonline: + type: number + groupTitle: + nullable: true + type: string + groupTitleArray: + type: array + items: + type: string + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + lastonlineISO: + type: string + banned_until: + type: number + banned_until_readable: + type: string + selectedGroups: + type: array + items: + type: object + properties: + name: + type: string + slug: + type: string + labelColor: + type: string + textColor: + type: string + icon: + type: string + userTitle: + type: string + custom_profile_info: + type: array + items: {} + bookmarked: + type: boolean + upvoted: + type: boolean + downvoted: + type: boolean + selfPost: + type: boolean + display_edit_tools: + type: boolean + display_delete_tools: + type: boolean + display_moderator_tools: + type: boolean + display_move_tools: + type: boolean + display_post_menu: + type: boolean + toPid: + type: number + parent: + type: object + properties: + username: + type: string + description: A friendly name for a given user account + category: + type: object + properties: link: + type: string + class: + type: string + icon: + type: string + description: + type: string + order: + type: number + topic_count: + type: number + description: The number of topics in the category + name: + type: string + cid: + type: number + description: A category identifier + post_count: + type: number + description: The number of posts in the category + numRecentReplies: + type: number + bgColor: + type: string + slug: + type: string + color: + type: string + disabled: + type: number + descriptionParsed: + type: string + isSection: + type: number + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category + totalPostCount: + type: number + description: The number of posts in the category + totalTopicCount: + type: number + description: The number of topics in the category + tagWhitelist: + type: array + items: {} + thread_tools: + type: array + items: + type: object + properties: + class: + type: string + title: + type: string + icon: + type: string + isFollowing: + type: boolean + isNotFollowing: + type: boolean + isIgnoring: + type: boolean + bookmark: + nullable: true + postSharing: + type: array + items: + type: object + properties: + id: + type: string + name: + type: string + class: + type: string + activated: + type: boolean + deleter: + nullable: true + merger: + nullable: true + related: + type: array + items: {} + unreplied: + type: boolean + icons: + type: array + items: {} + breadcrumbs: + type: array + items: + type: object + properties: + text: + type: string + url: + type: string + privileges: + type: object + properties: + topics:reply: + type: boolean + topics:read: + type: boolean + topics:tag: + type: boolean + topics:delete: + type: boolean + posts:edit: + type: boolean + posts:history: + type: boolean + posts:delete: + type: boolean + posts:view_deleted: + type: boolean + read: + type: boolean + purge: + type: boolean + view_thread_tools: + type: boolean + editable: + type: boolean + deletable: + type: boolean + view_deleted: + type: boolean + isAdminOrMod: + type: boolean + disabled: + type: number + tid: + type: string + uid: + type: number + description: A user identifier + topicStaleDays: + type: number + reputation:disabled: + type: number + downvote:disabled: + type: number + feeds:disableRSS: + type: number + bookmarkThreshold: + type: number + postEditDuration: + type: number + postDeleteDuration: + type: number + scrollToMyPost: + type: boolean + allowMultipleBadges: + type: boolean + privateUploads: + type: boolean + rssFeedUrl: + type: string + postIndex: + type: number + pagination: + type: object + properties: + rel: type: array items: type: object properties: rel: type: string - type: - type: string href: type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: - type: array - items: - type: object - properties: - html: - type: string - text/plain: - schema: - type: object - properties: - tid: - type: number - description: A topic identifier - uid: - type: number - description: A user identifier - cid: - type: number - description: A category identifier - mainPid: - type: number - description: The post id of the first post in this topic (also called the "original post") - title: - type: string - slug: - type: string - timestamp: - type: number - lastposttime: - type: number - postcount: - type: number - viewcount: - type: number - teaserPid: - type: number - upvotes: - type: number - downvotes: - type: number - deleted: - type: number - locked: - type: number - pinned: - type: number - description: Whether or not this particular topic is pinned to the top of the category - titleRaw: - type: string - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - lastposttimeISO: - type: string - votes: - type: number - tags: - type: array - items: - type: object - properties: - value: - type: string - valueEscaped: - type: string - color: - type: string - bgColor: - type: string - score: - type: number - posts: - type: array - items: - type: object - properties: - editor: - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - nullable: true - type: object - votes: - type: number - timestamp: - type: number - tid: - type: number - description: A topic identifier - content: - type: string - pid: - type: number - edited: - type: number - uid: - type: number - description: A user identifier - upvotes: - type: number - bookmarks: - type: number - replies: - type: object - properties: - hasMore: - type: boolean - users: - type: array - items: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - picture: - nullable: true - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - administrator: - type: boolean - text: - type: string - count: - type: number - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - deleted: - type: number - downvotes: - type: number - deleterUid: - type: number - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - editedISO: - type: string - index: - type: number - user: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - fullname: - type: string - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - reputation: - type: number - postcount: - type: number - topiccount: - type: number - picture: - nullable: true - type: string - signature: - type: string - banned: - type: number - banned:expire: - type: number - status: - type: string - lastonline: - type: number - groupTitle: - nullable: true - type: string - groupTitleArray: - type: array - items: - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - lastonlineISO: - type: string - banned_until: - type: number - banned_until_readable: - type: string - selectedGroups: - type: array - items: - type: object - properties: - name: - type: string - slug: - type: string - labelColor: - type: string - textColor: - type: string - icon: - type: string - userTitle: - type: string - custom_profile_info: - type: array - items: {} - bookmarked: - type: boolean - upvoted: - type: boolean - downvoted: - type: boolean - selfPost: - type: boolean - display_edit_tools: - type: boolean - display_delete_tools: - type: boolean - display_moderator_tools: - type: boolean - display_move_tools: - type: boolean - display_post_menu: - type: boolean - toPid: - type: number - parent: - type: object - properties: - username: - type: string - description: A friendly name for a given user account - category: - type: object - properties: - link: - type: string - class: - type: string - icon: - type: string - description: - type: string - order: - type: number - topic_count: - type: number - description: The number of topics in the category - name: - type: string - cid: - type: number - description: A category identifier - post_count: - type: number - description: The number of posts in the category - numRecentReplies: - type: number - bgColor: - type: string - slug: - type: string - color: - type: string - disabled: - type: number - descriptionParsed: - type: string - isSection: - type: number - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - totalPostCount: - type: number - description: The number of posts in the category - totalTopicCount: - type: number - description: The number of topics in the category - tagWhitelist: - type: array - items: {} - thread_tools: - type: array - items: - type: object - properties: - class: - type: string - title: - type: string - icon: - type: string - isFollowing: - type: boolean - isNotFollowing: - type: boolean - isIgnoring: - type: boolean - bookmark: - nullable: true - postSharing: - type: array - items: - type: object - properties: - id: - type: string - name: - type: string - class: - type: string - activated: - type: boolean - deleter: - nullable: true - merger: - nullable: true - related: - type: array - items: {} - unreplied: - type: boolean - icons: - type: array - items: {} - breadcrumbs: - type: array - items: - type: object - properties: - text: - type: string - url: - type: string - privileges: - type: object - properties: - topics:reply: - type: boolean - topics:read: - type: boolean - topics:tag: - type: boolean - topics:delete: - type: boolean - posts:edit: - type: boolean - posts:history: - type: boolean - posts:delete: - type: boolean - posts:view_deleted: - type: boolean - read: - type: boolean - purge: - type: boolean - view_thread_tools: - type: boolean - editable: - type: boolean - deletable: - type: boolean - view_deleted: - type: boolean - isAdminOrMod: - type: boolean - disabled: - type: number - tid: - type: string - uid: - type: number - description: A user identifier - topicStaleDays: - type: number - reputation:disabled: - type: number - downvote:disabled: - type: number - feeds:disableRSS: - type: number - bookmarkThreshold: - type: number - postEditDuration: - type: number - postDeleteDuration: - type: number - scrollToMyPost: - type: boolean - allowMultipleBadges: - type: boolean - privateUploads: - type: boolean - rssFeedUrl: - type: string - postIndex: - type: number - 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 - 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 - description: A user identifier - username: - type: string - description: A friendly name for a given user account - picture: - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - _header: - type: object - properties: - tags: - type: object - properties: - meta: + pages: type: array items: type: object properties: - name: - type: string - content: - type: string - noEscape: + page: + type: number + active: type: boolean - property: + qs: type: string - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - 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 - 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 + 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 + loggedInUser: + type: object + properties: + uid: + type: number + description: A user identifier + username: + type: string + description: A friendly name for a given user account + picture: + type: string + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' "/api/post/{pid}": get: tags: @@ -7969,232 +5113,175 @@ paths: 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 - description: A user identifier - datetime: - type: number - reporter: - type: object - properties: - username: - type: string - description: A friendly name for a given user account - picture: - nullable: true - type: string - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - labelClass: - type: string - target_readable: - type: string - datetimeISO: - type: string - assignee: - type: string - analytics: - type: array - items: - type: number - categories: - type: object + allOf: + - 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: + flags: type: array items: type: object properties: - rel: + state: type: string - href: - type: string - pages: - type: array - items: - type: object - properties: - page: + flagId: type: number - active: - type: boolean - qs: + type: type: string - separator: - type: boolean - 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: + targetId: + oneOf: + - type: string + - type: number + description: + type: string + uid: + type: number + description: A user identifier + datetime: + type: number + reporter: type: object properties: - name: + username: type: string - content: + description: A friendly name for a given user account + picture: + nullable: true type: string - noEscape: - type: boolean - property: + icon:bgColor: type: string - link: + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + labelClass: + type: string + target_readable: + type: string + datetimeISO: + type: string + assignee: + type: string + analytics: + type: array + items: + type: number + categories: + type: object + properties: + "1": + type: string + "2": + type: string + "3": + type: string + "4": + type: string + "5": + type: string + "6": + type: string + "7": + type: string + "10": + type: string + "13": + type: string + "14": + type: string + "15": + type: string + "16": + type: string + "17": + type: string + "18": + type: string + "19": + type: string + "21": + type: string + "22": + type: string + "26": + type: string + hasFilter: + type: boolean + filters: + type: object + properties: + page: + type: number + perPage: + type: number + title: + type: string + pagination: + type: object + properties: + rel: type: array items: type: object properties: rel: type: string - type: - type: string href: type: string - title: + pages: + type: array + items: + type: object + properties: + page: + type: number + active: + type: boolean + qs: type: string - sizes: - type: string - widgets: - type: object - properties: - footer: - type: array - items: - type: object - properties: - html: - type: string + separator: + type: boolean + 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 + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' "/api/flags/{flagId}": get: tags: @@ -8212,209 +5299,117 @@ paths: 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 - description: A user identifier - datetime: - type: number - datetimeISO: - type: string - target_readable: - type: string - target: - type: object - properties: {} - history: - type: array - items: - type: object - properties: - uid: - type: number - description: A user identifier - fields: - type: object - properties: - state: - type: string - datetime: - type: number - datetimeISO: - type: string - user: - type: object - properties: - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - picture: - nullable: true - uid: - type: number - description: A user identifier - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - notes: - type: array - items: {} - reporter: - type: object + allOf: + - type: object properties: - username: + state: type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - picture: - nullable: true - reputation: + flagId: type: number + type: + type: string + targetId: + type: string + description: + type: string uid: type: number description: A user identifier - icon:text: + datetime: + type: number + datetimeISO: 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: + target_readable: type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - type_path: - type: string - assignees: - type: array - items: - $ref: 'components/schemas/UserObject.yaml#/UserObject' - type_bool: - type: object - properties: - post: - type: boolean - user: - type: boolean - empty: - type: boolean - title: - type: string - categories: - type: object - 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: + target: type: object - properties: - meta: - type: array - items: - type: object - properties: - name: - type: string - content: - type: string - noEscape: - type: boolean - property: - type: string - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + properties: {} + history: type: array items: type: object properties: - html: + uid: + type: number + description: A user identifier + fields: + type: object + properties: + state: + type: string + datetime: + type: number + datetimeISO: type: string + user: + type: object + properties: + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + nullable: true + uid: + type: number + description: A user identifier + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + notes: + type: array + items: {} + reporter: + type: object + properties: + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + nullable: true + reputation: + type: number + uid: + type: number + description: A user identifier + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + type_path: + type: string + assignees: + type: array + items: + $ref: 'components/schemas/UserObject.yaml#/UserObject' + type_bool: + type: object + properties: + post: + type: boolean + user: + type: boolean + empty: + type: boolean + title: + type: string + categories: + type: object + additionalProperties: + type: string + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/post-queue: get: tags: @@ -8426,286 +5421,229 @@ paths: content: application/json: schema: - type: object - properties: - title: - type: string - posts: - type: array - items: - type: object - properties: - id: - type: string - uid: - type: number - description: A user identifier - type: - type: string - data: - type: object - properties: - title: - type: string - content: - type: string - thumb: - type: string - cid: - oneOf: - - type: number - - type: string - tags: - type: array - items: {} - uid: - type: number - description: A user identifier - req: - type: object - properties: - uid: - type: number - description: A user identifier - ip: - type: string - host: - type: string - protocol: - type: string - secure: - type: boolean - url: - type: string - path: - type: string - headers: - type: object - properties: - x-real-ip: - type: string - x-forwarded-for: - type: string - x-forwarded-proto: - type: string - host: - type: string - x-nginx-proxy: - type: string - connection: - type: string - accept: - type: string - user-agent: - type: string - sec-fetch-site: - type: string - sec-fetch-mode: - type: string - referer: - type: string - accept-encoding: - type: string - accept-language: - type: string - cookie: - type: string - timestamp: - type: number - fromQueue: - type: boolean - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - rawContent: - type: string - tid: - type: number - description: A topic identifier - toPid: - nullable: true - user: - type: object - properties: - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - picture: - nullable: true - type: string - uid: - type: number - description: A user identifier - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - topic: - type: object - properties: - cid: - oneOf: - - type: number - - type: string - title: - type: string - titleRaw: - type: string - category: - type: object - properties: - cid: - type: number - description: A category identifier - name: - type: string - description: - type: string - icon: - type: string - bgColor: - type: string - color: - type: string - slug: - type: string - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - topic_count: - type: number - description: The number of topics in the category - post_count: - type: number - description: The number of posts in the category - 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 - description: The number of posts in the category - totalTopicCount: - type: number - description: The number of topics in the category - pagination: - type: object + allOf: + - 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: + title: 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + posts: type: array items: type: object properties: - html: + id: type: string + uid: + type: number + description: A user identifier + type: + type: string + data: + type: object + properties: + title: + type: string + content: + type: string + thumb: + type: string + cid: + oneOf: + - type: number + - type: string + tags: + type: array + items: {} + uid: + type: number + description: A user identifier + req: + type: object + properties: + uid: + type: number + description: A user identifier + ip: + type: string + host: + type: string + protocol: + type: string + secure: + type: boolean + url: + type: string + path: + type: string + headers: + type: object + properties: + x-real-ip: + type: string + x-forwarded-for: + type: string + x-forwarded-proto: + type: string + host: + type: string + x-nginx-proxy: + type: string + connection: + type: string + accept: + type: string + user-agent: + type: string + sec-fetch-site: + type: string + sec-fetch-mode: + type: string + referer: + type: string + accept-encoding: + type: string + accept-language: + type: string + cookie: + type: string + timestamp: + type: number + fromQueue: + type: boolean + timestampISO: + type: string + description: An ISO 8601 formatted date string (complementing `timestamp`) + rawContent: + type: string + tid: + type: number + description: A topic identifier + toPid: + nullable: true + user: + type: object + properties: + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + nullable: true + type: string + uid: + type: number + description: A user identifier + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + topic: + type: object + properties: + cid: + oneOf: + - type: number + - type: string + title: + type: string + titleRaw: + type: string + category: + type: object + properties: + cid: + type: number + description: A category identifier + name: + type: string + description: + type: string + icon: + type: string + bgColor: + type: string + color: + type: string + slug: + type: string + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category + topic_count: + type: number + description: The number of topics in the category + post_count: + type: number + description: The number of posts in the category + 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 + description: The number of posts in the category + totalTopicCount: + type: number + description: The number of topics in the 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 + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/ip-blacklist: get: tags: @@ -8743,140 +5681,86 @@ paths: content: application/json: schema: - type: object - properties: - topics: - type: array - description: An array of topics that are all tagged with {tag} - items: - type: object - properties: - tid: - type: number - description: A topic identifier - uid: - type: number - description: A user identifier - cid: - type: number - description: A category identifier - mainPid: - type: number - description: The post id of the first post in this topic (also called the "original post") - title: - type: string - slug: - type: string - timestamp: - type: number - lastposttime: - type: number - postcount: - type: number - viewcount: - type: number - teaserPid: - oneOf: - - type: number - - type: string - deleted: - type: number - locked: - type: number - pinned: - type: number - description: Whether or not this particular topic is pinned to the top of the category - upvotes: - type: number - downvotes: - type: number - titleRaw: - type: string - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - lastposttimeISO: - type: string - votes: - type: number - category: + allOf: + - type: object + properties: + topics: + type: array + description: An array of topics that are all tagged with {tag} + items: type: object properties: - cid: - type: number - description: A category identifier - name: - type: string - slug: - type: string - icon: - type: string - image: - nullable: true - imageClass: - nullable: true - type: string - bgColor: - type: string - color: - type: string - disabled: - type: number - user: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - reputation: - type: number - postcount: - type: number - picture: - nullable: true - type: string - signature: - nullable: true - type: string - banned: - type: number - status: - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - banned_until_readable: - type: string - fullname: - type: string - teaser: - type: object - properties: - pid: - type: number - uid: - type: number - description: A user identifier - timestamp: - type: number tid: type: number description: A topic identifier - content: + uid: + type: number + description: A user identifier + cid: + type: number + description: A category identifier + mainPid: + type: number + description: The post id of the first post in this topic (also called the "original post") + title: + type: string + slug: + type: string + timestamp: + type: number + lastposttime: + type: number + postcount: + type: number + viewcount: + type: number + teaserPid: + oneOf: + - type: number + - type: string + deleted: + type: number + locked: + type: number + pinned: + type: number + description: Whether or not this particular topic is pinned to the top of the category + upvotes: + type: number + downvotes: + type: number + titleRaw: type: string timestampISO: type: string description: An ISO 8601 formatted date string (complementing `timestamp`) + lastposttimeISO: + type: string + votes: + type: number + category: + type: object + properties: + cid: + type: number + description: A category identifier + name: + type: string + slug: + type: string + icon: + type: string + image: + nullable: true + imageClass: + nullable: true + type: string + bgColor: + type: string + color: + type: string + disabled: + type: number user: type: object properties: @@ -8889,9 +5773,20 @@ paths: userslug: type: string description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + reputation: + type: number + postcount: + type: number picture: nullable: true type: string + signature: + nullable: true + type: string + banned: + type: number + status: + type: string icon:text: type: string description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar @@ -8899,209 +5794,195 @@ paths: type: string description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon example: "#f44336" - index: - type: number - tags: - type: array - items: - type: object - properties: - value: - type: string - valueEscaped: - type: string - color: - type: string - bgColor: - type: string - score: - type: number - isOwner: - type: boolean - ignored: - type: boolean - unread: - type: boolean - bookmark: - nullable: true - unreplied: - type: boolean - icons: - type: array - items: {} - index: - type: number - thumb: - type: string - isQuestion: - nullable: true - type: number - isSolved: - type: number - tag: - type: string - breadcrumbs: - type: array - items: - type: object - properties: - text: - type: string - url: - type: string - title: - type: string - categories: - type: array - items: - type: object - properties: - cid: - type: number - description: A category identifier - name: - type: string - level: - type: string - icon: - type: string - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - color: - type: string - bgColor: - type: string - selected: - type: boolean - imageClass: - type: string - 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 - 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: + banned_until_readable: + type: string + fullname: + type: string + teaser: type: object properties: - name: - type: string + pid: + type: number + uid: + type: number + description: A user identifier + timestamp: + type: number + tid: + type: number + description: A topic identifier content: type: string - noEscape: - type: boolean - property: + timestampISO: type: string - link: + description: An ISO 8601 formatted date string (complementing `timestamp`) + user: + type: object + properties: + uid: + type: number + description: A user identifier + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + nullable: true + type: string + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + index: + type: number + tags: + type: array + items: + type: object + properties: + value: + type: string + valueEscaped: + type: string + color: + type: string + bgColor: + type: string + score: + type: number + isOwner: + type: boolean + ignored: + type: boolean + unread: + type: boolean + bookmark: + nullable: true + unreplied: + type: boolean + icons: + type: array + items: {} + index: + type: number + thumb: + type: string + isQuestion: + nullable: true + type: number + isSolved: + type: number + tag: + type: string + breadcrumbs: + type: array + items: + type: object + properties: + text: + type: string + url: + type: string + title: + type: string + categories: + type: array + items: + type: object + properties: + cid: + type: number + description: A category identifier + name: + type: string + level: + type: string + icon: + type: string + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category + color: + type: string + bgColor: + type: string + selected: + type: boolean + imageClass: + type: string + pagination: + type: object + properties: + rel: type: array items: type: object properties: rel: type: string - type: - type: string href: type: string - title: + pages: + type: array + items: + type: object + properties: + page: + type: number + active: + type: boolean + qs: type: string - sizes: - type: string - widgets: - type: object - properties: - footer: - type: array - items: - type: object - properties: - html: - type: string + separator: + type: boolean + 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 + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/tags: get: tags: @@ -9114,101 +5995,44 @@ paths: content: application/json: schema: - type: object - properties: - tags: - type: array - description: An array of tags sorted by the most topics - items: - type: object - properties: - value: - type: string - description: The raw tag - score: - type: number - description: Number of topics tagged by this tag - valueEscaped: - type: string - description: This is the escaped tag value, equal to validator.escape(value) - color: - type: string - bgColor: - type: string - displayTagSearch: - type: boolean - nextStart: - type: number - breadcrumbs: - type: array - items: - type: object - properties: - text: - type: string - url: - type: string - title: - type: string - loggedIn: - type: boolean - relative_path: - type: string - template: - type: object + allOf: + - type: object properties: - name: - type: string tags: + type: array + description: An array of tags sorted by the most topics + items: + type: object + properties: + value: + type: string + description: The raw tag + score: + type: number + description: Number of topics tagged by this tag + valueEscaped: + type: string + description: This is the escaped tag value, equal to validator.escape(value) + color: + type: string + bgColor: + type: string + displayTagSearch: type: boolean - 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + nextStart: + type: number + breadcrumbs: type: array items: type: object properties: - html: + text: type: string + url: + type: string + title: + type: string + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/popular: get: tags: @@ -9221,144 +6045,90 @@ paths: content: application/json: schema: - type: object - properties: - nextStart: - type: number - topicCount: - type: number - topics: - type: array - items: - type: object - properties: - tid: - type: number - description: A topic identifier - uid: - type: number - description: A user identifier - cid: - type: number - description: A category identifier - title: - type: string - slug: - type: string - timestamp: - type: number - lastposttime: - type: number - postcount: - type: number - viewcount: - type: number - pinned: - type: number - description: Whether or not this particular topic is pinned to the top of the category - thumb: - type: string - mainPid: - type: number - description: The post id of the first post in this topic (also called the "original post") - teaserPid: - oneOf: - - type: number - - type: string - upvotes: - type: number - downvotes: - type: number - deleted: - type: number - locked: - type: number - titleRaw: - type: string - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - lastposttimeISO: - type: string - votes: - type: number - category: + allOf: + - type: object + properties: + nextStart: + type: number + topicCount: + type: number + topics: + type: array + items: type: object properties: - cid: - type: number - description: A category identifier - name: - type: string - slug: - type: string - icon: - type: string - image: - nullable: true - imageClass: - nullable: true - bgColor: - type: string - color: - type: string - disabled: - type: number - user: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - fullname: - type: string - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - reputation: - type: number - postcount: - type: number - picture: - nullable: true - type: string - signature: - nullable: true - type: string - banned: - type: number - status: - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - banned_until_readable: - type: string - teaser: - type: object - properties: - pid: - type: number - uid: - type: number - description: A user identifier - timestamp: - type: number tid: type: number description: A topic identifier - content: + uid: + type: number + description: A user identifier + cid: + type: number + description: A category identifier + title: + type: string + slug: + type: string + timestamp: + type: number + lastposttime: + type: number + postcount: + type: number + viewcount: + type: number + pinned: + type: number + description: Whether or not this particular topic is pinned to the top of the category + thumb: + type: string + mainPid: + type: number + description: The post id of the first post in this topic (also called the "original post") + teaserPid: + oneOf: + - type: number + - type: string + upvotes: + type: number + downvotes: + type: number + deleted: + type: number + locked: + type: number + titleRaw: type: string timestampISO: type: string description: An ISO 8601 formatted date string (complementing `timestamp`) + lastposttimeISO: + type: string + votes: + type: number + category: + type: object + properties: + cid: + type: number + description: A category identifier + name: + type: string + slug: + type: string + icon: + type: string + image: + nullable: true + imageClass: + nullable: true + bgColor: + type: string + color: + type: string + disabled: + type: number user: type: object properties: @@ -9368,12 +6138,25 @@ paths: username: type: string description: A friendly name for a given user account + fullname: + type: string userslug: type: string description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + reputation: + type: number + postcount: + type: number picture: nullable: true type: string + signature: + nullable: true + type: string + banned: + type: number + status: + type: string icon:text: type: string description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar @@ -9381,261 +6164,245 @@ paths: type: string description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon example: "#f44336" - index: - type: number - tags: - type: array - items: - type: object - properties: - value: - type: string - valueEscaped: - type: string - color: - type: string - bgColor: - type: string - score: - type: number - isOwner: - type: boolean - ignored: - type: boolean - unread: - type: boolean - bookmark: - nullable: true - unreplied: - type: boolean - icons: - type: array - items: {} - index: - type: number - tids: - type: array - items: - type: number - canPost: - type: boolean - categories: - type: array - items: - type: object - properties: - cid: - type: number - description: A category identifier - name: - type: string - level: - type: string - icon: - type: string - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - color: - type: string - bgColor: - type: string - selected: - type: boolean - imageClass: - type: string - allCategoriesUrl: - type: string - selectedCids: - type: array - items: {} - feeds:disableRSS: - type: number - rssFeedUrl: - type: string - title: - type: string - filters: - type: array - items: - type: object - properties: - name: - type: string - url: - type: string - selected: - type: boolean - filter: - type: string - selectedFilter: - type: object - properties: - name: - type: string - url: - type: string - selected: - type: boolean - filter: - type: string - terms: - type: array - items: - type: object - properties: - name: - type: string - url: - type: string - selected: - type: boolean - term: - type: string - selectedTerm: - type: object - properties: - name: - type: string - url: - type: string - selected: - type: boolean - term: - type: string - 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 - 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 - 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: + banned_until_readable: + type: string + teaser: type: object properties: - name: - type: string + pid: + type: number + uid: + type: number + description: A user identifier + timestamp: + type: number + tid: + type: number + description: A topic identifier content: type: string - noEscape: - type: boolean - property: + timestampISO: type: string - link: + description: An ISO 8601 formatted date string (complementing `timestamp`) + user: + type: object + properties: + uid: + type: number + description: A user identifier + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + nullable: true + type: string + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + index: + type: number + tags: + type: array + items: + type: object + properties: + value: + type: string + valueEscaped: + type: string + color: + type: string + bgColor: + type: string + score: + type: number + isOwner: + type: boolean + ignored: + type: boolean + unread: + type: boolean + bookmark: + nullable: true + unreplied: + type: boolean + icons: + type: array + items: {} + index: + type: number + tids: + type: array + items: + type: number + canPost: + type: boolean + categories: + type: array + items: + type: object + properties: + cid: + type: number + description: A category identifier + name: + type: string + level: + type: string + icon: + type: string + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category + color: + type: string + bgColor: + type: string + selected: + type: boolean + imageClass: + type: string + allCategoriesUrl: + type: string + selectedCids: + type: array + items: {} + feeds:disableRSS: + type: number + rssFeedUrl: + type: string + title: + type: string + filters: + type: array + items: + type: object + properties: + name: + type: string + url: + type: string + selected: + type: boolean + filter: + type: string + selectedFilter: + type: object + properties: + name: + type: string + url: + type: string + selected: + type: boolean + filter: + type: string + terms: + type: array + items: + type: object + properties: + name: + type: string + url: + type: string + selected: + type: boolean + term: + type: string + selectedTerm: + type: object + properties: + name: + type: string + url: + type: string + selected: + type: boolean + term: + type: string + pagination: + type: object + properties: + rel: type: array items: type: object properties: rel: type: string - type: - type: string href: type: string - title: + pages: + type: array + items: + type: object + properties: + page: + type: number + active: + type: boolean + qs: type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + separator: + type: boolean + 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: - html: + text: type: string + url: + type: string + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/recent: get: tags: @@ -9648,141 +6415,87 @@ paths: content: application/json: schema: - type: object - properties: - nextStart: - type: number - topicCount: - type: number - topics: - type: array - items: - type: object - properties: - tid: - type: number - description: A topic identifier - uid: - type: number - description: A user identifier - cid: - type: number - description: A category identifier - mainPid: - type: number - description: The post id of the first post in this topic (also called the "original post") - title: - type: string - slug: - type: string - timestamp: - type: number - lastposttime: - type: number - postcount: - type: number - viewcount: - type: number - teaserPid: - type: number - upvotes: - type: number - downvotes: - type: number - deleted: - type: number - locked: - type: number - pinned: - type: number - description: Whether or not this particular topic is pinned to the top of the category - titleRaw: - type: string - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - lastposttimeISO: - type: string - votes: - type: number - category: + allOf: + - type: object + properties: + nextStart: + type: number + topicCount: + type: number + topics: + type: array + items: type: object properties: - cid: - type: number - description: A category identifier - name: - type: string - slug: - type: string - icon: - type: string - image: - nullable: true - imageClass: - nullable: true - type: string - bgColor: - type: string - color: - type: string - disabled: - type: number - user: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - fullname: - type: string - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - reputation: - type: number - postcount: - type: number - picture: - nullable: true - type: string - signature: - nullable: true - type: string - banned: - type: number - status: - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - banned_until_readable: - type: string - teaser: - type: object - properties: - pid: - type: number - uid: - type: number - description: A user identifier - timestamp: - type: number tid: type: number description: A topic identifier - content: + uid: + type: number + description: A user identifier + cid: + type: number + description: A category identifier + mainPid: + type: number + description: The post id of the first post in this topic (also called the "original post") + title: + type: string + slug: + type: string + timestamp: + type: number + lastposttime: + type: number + postcount: + type: number + viewcount: + type: number + teaserPid: + type: number + upvotes: + type: number + downvotes: + type: number + deleted: + type: number + locked: + type: number + pinned: + type: number + description: Whether or not this particular topic is pinned to the top of the category + titleRaw: type: string timestampISO: type: string description: An ISO 8601 formatted date string (complementing `timestamp`) + lastposttimeISO: + type: string + votes: + type: number + category: + type: object + properties: + cid: + type: number + description: A category identifier + name: + type: string + slug: + type: string + icon: + type: string + image: + nullable: true + imageClass: + nullable: true + type: string + bgColor: + type: string + color: + type: string + disabled: + type: number user: type: object properties: @@ -9792,12 +6505,25 @@ paths: username: type: string description: A friendly name for a given user account + fullname: + type: string userslug: type: string description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + reputation: + type: number + postcount: + type: number picture: nullable: true type: string + signature: + nullable: true + type: string + banned: + type: number + status: + type: string icon:text: type: string description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar @@ -9805,265 +6531,249 @@ paths: type: string description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon example: "#f44336" - index: - type: number - tags: - type: array - items: - type: object - properties: - value: - type: string - valueEscaped: - type: string - color: - type: string - bgColor: - type: string - score: - type: number - isOwner: - type: boolean - ignored: - type: boolean - unread: - type: boolean - bookmark: - nullable: true - unreplied: - type: boolean - icons: - type: array - items: {} - index: - type: number - thumb: - type: string - isQuestion: - nullable: true - tids: - type: array - items: - type: number - canPost: - type: boolean - categories: - type: array - items: - type: object - properties: - cid: - type: number - description: A category identifier - name: - type: string - level: - type: string - icon: - type: string - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - color: - type: string - bgColor: - type: string - selected: - type: boolean - imageClass: - type: string - allCategoriesUrl: - type: string - selectedCids: - type: array - items: {} - feeds:disableRSS: - type: number - rssFeedUrl: - type: string - title: - type: string - filters: - type: array - items: - type: object - properties: - name: - type: string - url: - type: string - selected: - type: boolean - filter: - type: string - selectedFilter: - type: object - properties: - name: - type: string - url: - type: string - selected: - type: boolean - filter: - type: string - terms: - type: array - items: - type: object - properties: - name: - type: string - url: - type: string - selected: - type: boolean - term: - type: string - selectedTerm: - type: object - properties: - name: - type: string - url: - type: string - selected: - type: boolean - term: - type: string - 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 - 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 - 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: + banned_until_readable: + type: string + teaser: type: object properties: - name: - type: string + pid: + type: number + uid: + type: number + description: A user identifier + timestamp: + type: number + tid: + type: number + description: A topic identifier content: type: string - noEscape: - type: boolean - property: + timestampISO: type: string - link: + description: An ISO 8601 formatted date string (complementing `timestamp`) + user: + type: object + properties: + uid: + type: number + description: A user identifier + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + nullable: true + type: string + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + index: + type: number + tags: + type: array + items: + type: object + properties: + value: + type: string + valueEscaped: + type: string + color: + type: string + bgColor: + type: string + score: + type: number + isOwner: + type: boolean + ignored: + type: boolean + unread: + type: boolean + bookmark: + nullable: true + unreplied: + type: boolean + icons: + type: array + items: {} + index: + type: number + thumb: + type: string + isQuestion: + nullable: true + tids: + type: array + items: + type: number + canPost: + type: boolean + categories: + type: array + items: + type: object + properties: + cid: + type: number + description: A category identifier + name: + type: string + level: + type: string + icon: + type: string + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category + color: + type: string + bgColor: + type: string + selected: + type: boolean + imageClass: + type: string + allCategoriesUrl: + type: string + selectedCids: + type: array + items: {} + feeds:disableRSS: + type: number + rssFeedUrl: + type: string + title: + type: string + filters: + type: array + items: + type: object + properties: + name: + type: string + url: + type: string + selected: + type: boolean + filter: + type: string + selectedFilter: + type: object + properties: + name: + type: string + url: + type: string + selected: + type: boolean + filter: + type: string + terms: + type: array + items: + type: object + properties: + name: + type: string + url: + type: string + selected: + type: boolean + term: + type: string + selectedTerm: + type: object + properties: + name: + type: string + url: + type: string + selected: + type: boolean + term: + type: string + pagination: + type: object + properties: + rel: type: array items: type: object properties: rel: type: string - type: - type: string href: type: string - title: + pages: + type: array + items: + type: object + properties: + page: + type: number + active: + type: boolean + qs: type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + separator: + type: boolean + 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: - html: + text: type: string + url: + type: string + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/top: get: tags: @@ -10076,140 +6786,86 @@ paths: content: application/json: schema: - type: object - properties: - nextStart: - type: number - topicCount: - type: number - topics: - type: array - items: - type: object - properties: - tid: - type: number - description: A topic identifier - uid: - type: number - description: A user identifier - cid: - type: number - description: A category identifier - mainPid: - type: number - description: The post id of the first post in this topic (also called the "original post") - title: - type: string - slug: - type: string - timestamp: - type: number - lastposttime: - type: number - postcount: - type: number - viewcount: - type: number - teaserPid: - type: string - upvotes: - type: number - downvotes: - type: number - deleted: - type: number - locked: - type: number - pinned: - type: number - description: Whether or not this particular topic is pinned to the top of the category - titleRaw: - type: string - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - lastposttimeISO: - type: string - votes: - type: number - category: + allOf: + - type: object + properties: + nextStart: + type: number + topicCount: + type: number + topics: + type: array + items: type: object properties: - cid: - type: number - description: A category identifier - name: - type: string - slug: - type: string - icon: - type: string - image: - nullable: true - imageClass: - nullable: true - bgColor: - type: string - color: - type: string - disabled: - type: number - user: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - reputation: - type: number - postcount: - type: number - picture: - nullable: true - type: string - signature: - nullable: true - type: string - banned: - type: number - status: - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - banned_until_readable: - type: string - fullname: - type: string - teaser: - type: object - properties: - pid: - type: number - uid: - type: number - description: A user identifier - timestamp: - type: number tid: type: number description: A topic identifier - content: + uid: + type: number + description: A user identifier + cid: + type: number + description: A category identifier + mainPid: + type: number + description: The post id of the first post in this topic (also called the "original post") + title: + type: string + slug: + type: string + timestamp: + type: number + lastposttime: + type: number + postcount: + type: number + viewcount: + type: number + teaserPid: + type: string + upvotes: + type: number + downvotes: + type: number + deleted: + type: number + locked: + type: number + pinned: + type: number + description: Whether or not this particular topic is pinned to the top of the category + titleRaw: type: string timestampISO: type: string description: An ISO 8601 formatted date string (complementing `timestamp`) + lastposttimeISO: + type: string + votes: + type: number + category: + type: object + properties: + cid: + type: number + description: A category identifier + name: + type: string + slug: + type: string + icon: + type: string + image: + nullable: true + imageClass: + nullable: true + bgColor: + type: string + color: + type: string + disabled: + type: number user: type: object properties: @@ -10222,9 +6878,20 @@ paths: userslug: type: string description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + reputation: + type: number + postcount: + type: number picture: nullable: true type: string + signature: + nullable: true + type: string + banned: + type: number + status: + type: string icon:text: type: string description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar @@ -10232,432 +6899,365 @@ paths: type: string description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon example: "#f44336" - index: - type: number - tags: - type: array - items: - type: object - properties: - value: - type: string - valueEscaped: - type: string - color: - type: string - bgColor: - type: string - score: - type: number - isOwner: - type: boolean - ignored: - type: boolean - unread: - type: boolean - bookmark: - nullable: true - unreplied: - type: boolean - icons: - type: array - items: {} - index: - type: number - thumb: - type: string - tids: - type: array - items: - type: number - canPost: - type: boolean - categories: - type: array - items: - type: object - properties: - cid: - type: number - description: A category identifier - name: - type: string - level: - type: string - icon: - type: string - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - color: - type: string - bgColor: - type: string - selected: - type: boolean - imageClass: - type: string - allCategoriesUrl: - type: string - selectedCategory: - type: object - properties: - cid: - type: number - description: A category identifier - name: - type: string - level: - type: string - icon: - type: string - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - color: - type: string - bgColor: - type: string - selected: - type: boolean - selectedCids: - type: array - items: - type: number - feeds:disableRSS: - type: number - rssFeedUrl: - type: string - title: - type: string - filters: - type: array - items: - type: object - properties: - name: - type: string - url: - type: string - selected: - type: boolean - filter: - type: string - selectedFilter: - type: object - properties: - name: - type: string - url: - type: string - selected: - type: boolean - filter: - type: string - terms: - type: array - items: - type: object - properties: - name: - type: string - url: - type: string - selected: - type: boolean - term: - type: string - selectedTerm: - type: object - properties: - name: - type: string - url: - type: string - selected: - type: boolean - term: - type: string - 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 - 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 - 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: + banned_until_readable: + type: string + fullname: + type: string + teaser: type: object properties: - name: - type: string + pid: + type: number + uid: + type: number + description: A user identifier + timestamp: + type: number + tid: + type: number + description: A topic identifier content: type: string - noEscape: - type: boolean - property: + timestampISO: type: string - link: + description: An ISO 8601 formatted date string (complementing `timestamp`) + user: + type: object + properties: + uid: + type: number + description: A user identifier + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + nullable: true + type: string + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + index: + type: number + tags: + type: array + items: + type: object + properties: + value: + type: string + valueEscaped: + type: string + color: + type: string + bgColor: + type: string + score: + type: number + isOwner: + type: boolean + ignored: + type: boolean + unread: + type: boolean + bookmark: + nullable: true + unreplied: + type: boolean + icons: + type: array + items: {} + index: + type: number + thumb: + type: string + tids: + type: array + items: + type: number + canPost: + type: boolean + categories: + type: array + items: + type: object + properties: + cid: + type: number + description: A category identifier + name: + type: string + level: + type: string + icon: + type: string + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category + color: + type: string + bgColor: + type: string + selected: + type: boolean + imageClass: + type: string + allCategoriesUrl: + type: string + selectedCategory: + type: object + properties: + cid: + type: number + description: A category identifier + name: + type: string + level: + type: string + icon: + type: string + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category + color: + type: string + bgColor: + type: string + selected: + type: boolean + selectedCids: + type: array + items: + type: number + feeds:disableRSS: + type: number + rssFeedUrl: + type: string + title: + type: string + filters: + type: array + items: + type: object + properties: + name: + type: string + url: + type: string + selected: + type: boolean + filter: + type: string + selectedFilter: + type: object + properties: + name: + type: string + url: + type: string + selected: + type: boolean + filter: + type: string + terms: + type: array + items: + type: object + properties: + name: + type: string + url: + type: string + selected: + type: boolean + term: + type: string + selectedTerm: + type: object + properties: + name: + type: string + url: + type: string + selected: + type: boolean + term: + type: string + pagination: + type: object + properties: + rel: type: array items: type: object properties: rel: type: string - type: - type: string href: type: string - title: + pages: + type: array + items: + type: object + properties: + page: + type: number + active: + type: boolean + qs: type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + separator: + type: boolean + 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: - html: + text: type: string + url: + type: string + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/unread: get: tags: - topics summary: Unread Topics description: Returns a list of the current user's unread topics, sorted by the last post's timestamp. + # TODO: querystring params? responses: "200": description: An array of unread topic objects sorted by the last post's timestamp. content: application/json: schema: - type: object - properties: - showSelect: - type: boolean - nextStart: - type: number - topics: - type: array - items: - type: object - properties: - tid: - type: number - description: A topic identifier - uid: - type: number - description: A user identifier - cid: - type: number - description: A category identifier - mainPid: - type: number - description: The post id of the first post in this topic (also called the "original post") - title: - type: string - slug: - type: string - timestamp: - type: number - lastposttime: - type: number - postcount: - type: number - viewcount: - type: number - teaserPid: - type: number - upvotes: - type: number - downvotes: - type: number - deleted: - type: number - locked: - type: number - pinned: - type: number - description: Whether or not this particular topic is pinned to the top of the category - titleRaw: - type: string - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - lastposttimeISO: - type: string - votes: - type: number - category: + allOf: + - type: object + properties: + showSelect: + type: boolean + nextStart: + type: number + topics: + type: array + items: type: object properties: - cid: - type: number - description: A category identifier - name: - type: string - slug: - type: string - icon: - type: string - image: - nullable: true - imageClass: - nullable: true - type: string - bgColor: - type: string - color: - type: string - disabled: - type: number - user: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - fullname: - type: string - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - reputation: - type: number - postcount: - type: number - picture: - nullable: true - type: string - signature: - nullable: true - type: string - banned: - type: number - status: - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - banned_until_readable: - type: string - teaser: - type: object - properties: - pid: - type: number - uid: - type: number - description: A user identifier - timestamp: - type: number tid: type: number description: A topic identifier - content: + uid: + type: number + description: A user identifier + cid: + type: number + description: A category identifier + mainPid: + type: number + description: The post id of the first post in this topic (also called the "original post") + title: + type: string + slug: + type: string + timestamp: + type: number + lastposttime: + type: number + postcount: + type: number + viewcount: + type: number + teaserPid: + type: number + upvotes: + type: number + downvotes: + type: number + deleted: + type: number + locked: + type: number + pinned: + type: number + description: Whether or not this particular topic is pinned to the top of the category + titleRaw: type: string timestampISO: type: string description: An ISO 8601 formatted date string (complementing `timestamp`) + lastposttimeISO: + type: string + votes: + type: number + category: + type: object + properties: + cid: + type: number + description: A category identifier + name: + type: string + slug: + type: string + icon: + type: string + image: + nullable: true + imageClass: + nullable: true + type: string + bgColor: + type: string + color: + type: string + disabled: + type: number user: type: object properties: @@ -10667,12 +7267,25 @@ paths: username: type: string description: A friendly name for a given user account + fullname: + type: string userslug: type: string description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + reputation: + type: number + postcount: + type: number picture: nullable: true type: string + signature: + nullable: true + type: string + banned: + type: number + status: + type: string icon:text: type: string description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar @@ -10680,216 +7293,193 @@ paths: type: string description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon example: "#f44336" - index: - type: number - tags: - type: array - items: - type: object - properties: - value: - type: string - valueEscaped: - type: string - color: - type: string - bgColor: - type: string - score: - type: number - isOwner: - type: boolean - ignored: - type: boolean - unread: - type: boolean - bookmark: - nullable: true - unreplied: - type: boolean - icons: - type: array - items: {} - index: - type: number - isQuestion: - nullable: true - topicCount: - type: number - title: - type: string - pageCount: - type: number - 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 - description: A category identifier - name: - type: string - level: - type: string - icon: - type: string - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - color: - type: string - bgColor: - type: string - selected: - type: boolean - imageClass: - type: string - allCategoriesUrl: - type: string - selectedCids: - type: array - items: {} - breadcrumbs: - type: array - items: - type: object - properties: - text: - type: string - url: - type: string - filters: - type: array - items: - type: object - properties: - name: - type: string - url: - type: string - selected: - type: boolean - filter: - type: string - selectedFilter: - type: object - properties: - name: - type: string - url: - type: string - selected: - type: boolean - filter: - type: string - 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: + banned_until_readable: + type: string + teaser: type: object properties: - name: - type: string + pid: + type: number + uid: + type: number + description: A user identifier + timestamp: + type: number + tid: + type: number + description: A topic identifier content: type: string - noEscape: - type: boolean - property: + timestampISO: type: string - link: + description: An ISO 8601 formatted date string (complementing `timestamp`) + user: + type: object + properties: + uid: + type: number + description: A user identifier + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + nullable: true + type: string + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + index: + type: number + tags: + type: array + items: + type: object + properties: + value: + type: string + valueEscaped: + type: string + color: + type: string + bgColor: + type: string + score: + type: number + isOwner: + type: boolean + ignored: + type: boolean + unread: + type: boolean + bookmark: + nullable: true + unreplied: + type: boolean + icons: + type: array + items: {} + index: + type: number + isQuestion: + nullable: true + topicCount: + type: number + title: + type: string + pageCount: + type: number + 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: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + items: {} + pages: + type: array + items: {} + currentPage: + type: number + pageCount: + type: number + categories: type: array items: type: object properties: - html: + cid: + type: number + description: A category identifier + name: type: string - "401": - description: "" - content: - application/json: - schema: - title: not-authorized - type: undefined + level: + type: string + icon: + type: string + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category + color: + type: string + bgColor: + type: string + selected: + type: boolean + imageClass: + type: string + allCategoriesUrl: + type: string + selectedCids: + type: array + items: {} + breadcrumbs: + type: array + items: + type: object + properties: + text: + type: string + url: + type: string + filters: + type: array + items: + type: object + properties: + name: + type: string + url: + type: string + selected: + type: boolean + filter: + type: string + selectedFilter: + type: object + properties: + name: + type: string + url: + type: string + selected: + type: boolean + filter: + type: string + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' "/api/category/{category_id}/{slug}/{topic_index}": get: tags: @@ -10917,188 +7507,134 @@ paths: 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 - description: The number of topics in the category - name: - type: string - cid: - type: number - description: A category identifier - post_count: - type: number - description: The number of posts in the category - numRecentReplies: - type: number - bgColor: - type: string - slug: - type: string - color: - type: string - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - disabled: - type: number - isSection: - type: number - totalPostCount: - type: number - description: The number of posts in the category - totalTopicCount: - type: number - description: The number of topics in the category - 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 - description: A topic identifier - uid: - type: number - description: A user identifier - cid: - type: number - description: A category identifier - title: - type: string - slug: - type: string - timestamp: - type: number - lastposttime: - type: number - postcount: - type: number - viewcount: - type: number - thumb: - type: string - mainPid: - type: number - description: The post id of the first post in this topic (also called the "original post") - upvotes: - type: number - downvotes: - type: number - deleted: - type: number - locked: - type: number - pinned: - type: number - description: Whether or not this particular topic is pinned to the top of the category - titleRaw: - type: string - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - lastposttimeISO: - type: string - votes: - type: number - category: + allOf: + - type: object + properties: + link: + type: string + class: + type: string + icon: + type: string + description: + type: string + order: + type: number + topic_count: + type: number + description: The number of topics in the category + name: + type: string + cid: + type: number + description: A category identifier + post_count: + type: number + description: The number of posts in the category + numRecentReplies: + type: number + bgColor: + type: string + slug: + type: string + color: + type: string + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category + disabled: + type: number + isSection: + type: number + totalPostCount: + type: number + description: The number of posts in the category + totalTopicCount: + type: number + description: The number of topics in the category + descriptionParsed: + type: string + tagWhitelist: + type: array + items: {} + unread-class: + type: string + children: + type: array + items: {} + topics: + type: array + items: type: object properties: - cid: - type: number - description: A category identifier - name: - type: string - slug: - type: string - icon: - type: string - image: - nullable: true - imageClass: - nullable: true - bgColor: - type: string - color: - type: string - disabled: - type: number - user: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - reputation: - type: number - postcount: - type: number - picture: - nullable: true - type: string - signature: - nullable: true - type: string - banned: - type: number - status: - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - banned_until_readable: - type: string - fullname: - type: string - teaser: - type: object - properties: - pid: - type: number - uid: - type: number - description: A user identifier - timestamp: - type: number tid: type: number description: A topic identifier - content: + uid: + type: number + description: A user identifier + cid: + type: number + description: A category identifier + title: + type: string + slug: + type: string + timestamp: + type: number + lastposttime: + type: number + postcount: + type: number + viewcount: + type: number + thumb: + type: string + mainPid: + type: number + description: The post id of the first post in this topic (also called the "original post") + upvotes: + type: number + downvotes: + type: number + deleted: + type: number + locked: + type: number + pinned: + type: number + description: Whether or not this particular topic is pinned to the top of the category + titleRaw: type: string timestampISO: type: string description: An ISO 8601 formatted date string (complementing `timestamp`) + lastposttimeISO: + type: string + votes: + type: number + category: + type: object + properties: + cid: + type: number + description: A category identifier + name: + type: string + slug: + type: string + icon: + type: string + image: + nullable: true + imageClass: + nullable: true + bgColor: + type: string + color: + type: string + disabled: + type: number user: type: object properties: @@ -11111,9 +7647,20 @@ paths: userslug: type: string description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + reputation: + type: number + postcount: + type: number picture: nullable: true type: string + signature: + nullable: true + type: string + banned: + type: number + status: + type: string icon:text: type: string description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar @@ -11121,204 +7668,187 @@ paths: type: string description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon example: "#f44336" - index: - type: number - tags: - type: array - items: {} - isOwner: - type: boolean - ignored: - type: boolean - unread: - type: boolean - bookmark: - nullable: true - unreplied: - type: boolean - icons: - type: array - items: {} - index: - type: number - teaserPid: - type: number - nextStart: - type: number - isWatched: - type: boolean - isNotWatched: - type: boolean - isIgnored: - type: boolean - breadcrumbs: - type: array - items: - type: object - properties: - text: - type: string - url: - type: string - title: - type: string - privileges: - type: object - properties: - topics:create: - type: boolean - topics:read: - type: boolean - topics:tag: - type: boolean - read: - type: boolean - cid: - type: string - uid: - type: number - description: A user identifier - editable: - type: boolean - view_deleted: - type: boolean - isAdminOrMod: - type: boolean - showSelect: - type: boolean - rssFeedUrl: - type: string - feeds:disableRSS: - type: number - reputation:disabled: - type: number - 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 - 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: + banned_until_readable: + type: string + fullname: + type: string + teaser: type: object properties: - name: - type: string + pid: + type: number + uid: + type: number + description: A user identifier + timestamp: + type: number + tid: + type: number + description: A topic identifier content: type: string - noEscape: - type: boolean - property: + timestampISO: type: string - link: + description: An ISO 8601 formatted date string (complementing `timestamp`) + user: + type: object + properties: + uid: + type: number + description: A user identifier + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + nullable: true + type: string + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + index: + type: number + tags: + type: array + items: {} + isOwner: + type: boolean + ignored: + type: boolean + unread: + type: boolean + bookmark: + nullable: true + unreplied: + type: boolean + icons: + type: array + items: {} + index: + type: number + teaserPid: + type: number + nextStart: + type: number + isWatched: + type: boolean + isNotWatched: + type: boolean + isIgnored: + type: boolean + breadcrumbs: + type: array + items: + type: object + properties: + text: + type: string + url: + type: string + title: + type: string + privileges: + type: object + properties: + topics:create: + type: boolean + topics:read: + type: boolean + topics:tag: + type: boolean + read: + type: boolean + cid: + type: string + uid: + type: number + description: A user identifier + editable: + type: boolean + view_deleted: + type: boolean + isAdminOrMod: + type: boolean + showSelect: + type: boolean + rssFeedUrl: + type: string + feeds:disableRSS: + type: number + reputation:disabled: + type: number + pagination: + type: object + properties: + rel: type: array items: type: object properties: rel: type: string - type: - type: string href: type: string - title: + pages: + type: array + items: + type: object + properties: + page: + type: number + active: + type: boolean + qs: type: string - sizes: - type: string - widgets: - type: object - properties: - header: - type: array - items: {} - footer: - type: array - items: - type: object - properties: - html: - type: string + separator: + type: boolean + 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 + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' "/api/category/{category_id}/{slug?}": get: tags: @@ -11341,190 +7871,136 @@ paths: content: application/json: schema: - type: object - properties: - cid: - type: number - description: A category identifier - name: - type: string - description: - type: string - icon: - type: string - slug: - type: string - topic_count: - type: number - description: The number of topics in the category - order: - type: number - bgColor: - type: string - link: - type: string - class: - type: string - numRecentReplies: - type: number - color: - type: string - post_count: - type: number - description: The number of posts in the category - descriptionParsed: - type: string - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - disabled: - type: number - isSection: - type: number - totalPostCount: - type: number - description: The number of posts in the category - totalTopicCount: - type: number - description: The number of topics in the category - tagWhitelist: - type: array - items: {} - unread-class: - type: string - children: - type: array - items: {} - topics: - type: array - items: - type: object - properties: - tid: - type: number - description: A topic identifier - uid: - type: number - description: A user identifier - cid: - type: number - description: A category identifier - title: - type: string - slug: - type: string - timestamp: - type: number - lastposttime: - type: number - postcount: - type: number - viewcount: - type: number - pinned: - type: number - description: Whether or not this particular topic is pinned to the top of the category - thumb: - type: string - mainPid: - type: number - description: The post id of the first post in this topic (also called the "original post") - teaserPid: - type: number - upvotes: - type: number - downvotes: - type: number - deleted: - type: number - locked: - type: number - titleRaw: - type: string - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - lastposttimeISO: - type: string - votes: - type: number - category: + allOf: + - type: object + properties: + cid: + type: number + description: A category identifier + name: + type: string + description: + type: string + icon: + type: string + slug: + type: string + topic_count: + type: number + description: The number of topics in the category + order: + type: number + bgColor: + type: string + link: + type: string + class: + type: string + numRecentReplies: + type: number + color: + type: string + post_count: + type: number + description: The number of posts in the category + descriptionParsed: + type: string + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category + disabled: + type: number + isSection: + type: number + totalPostCount: + type: number + description: The number of posts in the category + totalTopicCount: + type: number + description: The number of topics in the category + tagWhitelist: + type: array + items: {} + unread-class: + type: string + children: + type: array + items: {} + topics: + type: array + items: type: object properties: - cid: - type: number - description: A category identifier - name: - type: string - slug: - type: string - icon: - type: string - image: - nullable: true - imageClass: - nullable: true - bgColor: - type: string - color: - type: string - disabled: - type: number - user: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - fullname: - type: string - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - reputation: - type: number - postcount: - type: number - picture: - nullable: true - type: string - signature: - nullable: true - type: string - banned: - type: number - status: - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - banned_until_readable: - type: string - teaser: - type: object - properties: - pid: - type: number - uid: - type: number - description: A user identifier - timestamp: - type: number tid: type: number description: A topic identifier - content: + uid: + type: number + description: A user identifier + cid: + type: number + description: A category identifier + title: + type: string + slug: + type: string + timestamp: + type: number + lastposttime: + type: number + postcount: + type: number + viewcount: + type: number + pinned: + type: number + description: Whether or not this particular topic is pinned to the top of the category + thumb: + type: string + mainPid: + type: number + description: The post id of the first post in this topic (also called the "original post") + teaserPid: + type: number + upvotes: + type: number + downvotes: + type: number + deleted: + type: number + locked: + type: number + titleRaw: type: string timestampISO: type: string description: An ISO 8601 formatted date string (complementing `timestamp`) + lastposttimeISO: + type: string + votes: + type: number + category: + type: object + properties: + cid: + type: number + description: A category identifier + name: + type: string + slug: + type: string + icon: + type: string + image: + nullable: true + imageClass: + nullable: true + bgColor: + type: string + color: + type: string + disabled: + type: number user: type: object properties: @@ -11534,12 +8010,25 @@ paths: username: type: string description: A friendly name for a given user account + fullname: + type: string userslug: type: string description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + reputation: + type: number + postcount: + type: number picture: nullable: true type: string + signature: + nullable: true + type: string + banned: + type: number + status: + type: string icon:text: type: string description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar @@ -11547,220 +8036,199 @@ paths: type: string description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon example: "#f44336" - index: - type: number - tags: - type: array - items: - type: object - properties: - value: - type: string - valueEscaped: - type: string - color: - type: string - bgColor: - type: string - score: - type: number - isOwner: - type: boolean - ignored: - type: boolean - unread: - type: boolean - bookmark: - nullable: true - unreplied: - type: boolean - icons: - type: array - items: {} - index: - type: number - isQuestion: - type: number - isSolved: - type: number - nextStart: - type: number - isWatched: - type: boolean - isNotWatched: - type: boolean - isIgnored: - type: boolean - breadcrumbs: - type: array - items: - type: object - properties: - text: - type: string - url: - type: string - title: - type: string - privileges: - type: object - properties: - topics:create: - type: boolean - topics:read: - type: boolean - topics:tag: - type: boolean - read: - type: boolean - cid: - type: string - uid: - type: number - description: A user identifier - editable: - type: boolean - view_deleted: - type: boolean - isAdminOrMod: - type: boolean - showSelect: - type: boolean - rssFeedUrl: - type: string - feeds:disableRSS: - type: number - reputation:disabled: - type: number - 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 - 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: + banned_until_readable: + type: string + teaser: type: object properties: - name: - type: string + pid: + type: number + uid: + type: number + description: A user identifier + timestamp: + type: number + tid: + type: number + description: A topic identifier content: type: string - noEscape: - type: boolean - property: + timestampISO: type: string - link: + description: An ISO 8601 formatted date string (complementing `timestamp`) + user: + type: object + properties: + uid: + type: number + description: A user identifier + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + nullable: true + type: string + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + index: + type: number + tags: + type: array + items: + type: object + properties: + value: + type: string + valueEscaped: + type: string + color: + type: string + bgColor: + type: string + score: + type: number + isOwner: + type: boolean + ignored: + type: boolean + unread: + type: boolean + bookmark: + nullable: true + unreplied: + type: boolean + icons: + type: array + items: {} + index: + type: number + isQuestion: + type: number + isSolved: + type: number + nextStart: + type: number + isWatched: + type: boolean + isNotWatched: + type: boolean + isIgnored: + type: boolean + breadcrumbs: + type: array + items: + type: object + properties: + text: + type: string + url: + type: string + title: + type: string + privileges: + type: object + properties: + topics:create: + type: boolean + topics:read: + type: boolean + topics:tag: + type: boolean + read: + type: boolean + cid: + type: string + uid: + type: number + description: A user identifier + editable: + type: boolean + view_deleted: + type: boolean + isAdminOrMod: + type: boolean + showSelect: + type: boolean + rssFeedUrl: + type: string + feeds:disableRSS: + type: number + reputation:disabled: + type: number + pagination: + type: object + properties: + rel: type: array items: type: object properties: rel: type: string - type: - type: string href: type: string - title: + pages: + type: array + items: + type: object + properties: + page: + type: number + active: + type: boolean + qs: type: string - sizes: - type: string - widgets: - type: object - properties: - header: - type: array - items: {} - footer: - type: array - items: - type: object - properties: - html: - type: string - "304": - description: "" + separator: + type: boolean + 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 + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' /api/me/*: get: tags: @@ -12404,13 +8872,7 @@ paths: type: string title: type: string - template: - type: object - properties: - name: - type: string - account/categories: - type: boolean + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' "/api/user/{userslug}/posts": get: tags: @@ -13160,65 +9622,7 @@ paths: type: string selected: type: boolean - 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: - type: array - items: - type: object - properties: - html: - type: string + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' "/api/user/{userslug}/watched": get: tags: @@ -14463,229 +10867,165 @@ paths: 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 - description: A topic identifier - path: - type: string - nid: - type: string - from: - type: number - mergeId: - type: string - topicTitle: - type: string - importance: - type: number - datetime: - type: number - datetimeISO: - type: string - user: - type: object - properties: - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - picture: - type: string - uid: - type: number - description: A user identifier - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - image: - type: string - read: - type: boolean - readClass: - type: string - subject: - type: string - pagination: - type: object + allOf: + - 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 - regularFilters: - type: array - items: - type: object - properties: - name: - type: string - filter: - type: string - selected: - type: boolean - moderatorFilters: - type: array - items: - type: object - properties: - name: - type: string - filter: - type: string - selectedFilter: - type: object - properties: - name: - type: string - filter: - type: string - selected: - type: boolean - title: - type: string - breadcrumbs: - type: array - items: - type: object - properties: - text: - type: string - url: - type: string - 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: type: array items: type: object properties: - html: + type: type: string - "401": - description: "" - content: - application/json: - schema: - title: not-authorized - type: undefined + bodyShort: + type: string + bodyLong: + type: string + pid: + oneOf: + - type: number + - type: string + tid: + type: number + description: A topic identifier + path: + type: string + nid: + type: string + from: + type: number + mergeId: + type: string + topicTitle: + type: string + importance: + type: number + datetime: + type: number + datetimeISO: + type: string + user: + type: object + properties: + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + type: string + uid: + type: number + description: A user identifier + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + image: + type: string + read: + type: boolean + readClass: + type: string + subject: + type: string + 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 + regularFilters: + type: array + items: + type: object + properties: + name: + type: string + filter: + type: string + selected: + type: boolean + moderatorFilters: + type: array + items: + type: object + properties: + name: + type: string + filter: + type: string + selectedFilter: + type: object + properties: + name: + type: string + filter: + type: string + selected: + type: boolean + title: + type: string + breadcrumbs: + type: array + items: + type: object + properties: + text: + type: string + url: + type: string + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' "/api/user/{userslug}/chats/{roomid?}": get: tags: @@ -14708,41 +11048,83 @@ paths: 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 - description: An ISO 8601 formatted date string (complementing `timestamp`) - editedISO: - type: string - messageId: - type: number - fromUser: + allOf: + - type: object + properties: + owner: + type: number + roomId: + type: number + roomName: + type: string + messages: + type: array + items: + type: object + properties: + content: + type: string + timestamp: + type: number + fromuid: + type: number + roomId: + type: string + deleted: + type: boolean + system: + type: boolean + edited: + type: number + timestampISO: + type: string + description: An ISO 8601 formatted date string (complementing `timestamp`) + editedISO: + type: string + messageId: + type: number + fromUser: + type: object + properties: + uid: + type: number + description: A user identifier + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + type: string + status: + type: string + banned: + type: boolean + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + banned_until_readable: + type: string + deleted: + type: boolean + self: + type: number + newSet: + type: boolean + index: + type: number + cleanedContent: + type: string + isOwner: + type: boolean + users: + type: array + items: type: object properties: uid: @@ -14751,15 +11133,10 @@ paths: username: type: string description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) picture: type: string status: type: string - banned: - type: boolean icon:text: type: string description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar @@ -14767,118 +11144,110 @@ paths: type: string description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon example: "#f44336" - banned_until_readable: - type: string - deleted: + isOwner: type: boolean - self: - type: number - newSet: - type: boolean - index: - type: number - cleanedContent: - type: string - isOwner: - type: boolean - users: - type: array - items: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - picture: - type: string - status: - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - isOwner: - type: boolean - canReply: - type: boolean - groupChat: - type: boolean - usernames: - type: string - maximumUsersInChatRoom: - type: number - maximumChatMessageLength: - type: number - showUserInput: - type: boolean - isAdminOrGlobalMod: - type: boolean - rooms: - type: array - items: - type: object - properties: - owner: - oneOf: - - type: number - - type: string - roomId: - type: number - roomName: - type: string - users: - type: array - items: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - picture: - nullable: true - type: string - status: - type: string - lastonline: - type: number - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - lastonlineISO: - type: string - groupChat: - type: boolean - unread: - type: boolean - teaser: + 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: - fromuid: + owner: + oneOf: + - type: number + - type: string + roomId: type: number - content: + roomName: type: string - timestamp: - type: number - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - user: + users: + type: array + items: + type: object + properties: + uid: + type: number + description: A user identifier + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + nullable: true + type: string + status: + type: string + lastonline: + type: number + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + lastonlineISO: + type: string + groupChat: + type: boolean + unread: + type: boolean + teaser: + type: object + properties: + fromuid: + type: number + content: + type: string + timestamp: + type: number + timestampISO: + type: string + description: An ISO 8601 formatted date string (complementing `timestamp`) + user: + type: object + properties: + uid: + type: number + description: A user identifier + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + nullable: true + type: string + status: + type: string + lastonline: + type: number + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + lastonlineISO: + type: string + lastUser: type: object properties: uid: @@ -14906,421 +11275,21 @@ paths: example: "#f44336" lastonlineISO: type: string - lastUser: - type: object - properties: - uid: - type: number - description: A user identifier - username: + usernames: type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - picture: - nullable: true - type: string - status: - type: string - lastonline: - type: number - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - lastonlineISO: - type: string - usernames: - type: string - nextStart: - type: number - title: - type: string - uid: - type: number - description: A user identifier - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - canViewInfo: - type: boolean - loggedIn: - type: boolean - relative_path: - type: string - template: - type: object - properties: - name: + nextStart: + type: number + title: 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - 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 - description: An ISO 8601 formatted date string (complementing `timestamp`) - editedISO: - type: string - messageId: - type: number - fromUser: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - picture: - type: string - status: - type: string - banned: - type: boolean - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - banned_until_readable: - type: string - deleted: - type: boolean - self: - type: number - newSet: - type: boolean - index: - type: number - cleanedContent: - type: string - isOwner: - type: boolean - users: - type: array - items: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - picture: - type: string - status: - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - isOwner: - type: boolean - canReply: - type: boolean - groupChat: - type: boolean - usernames: - type: string - maximumUsersInChatRoom: - type: number - maximumChatMessageLength: - type: number - showUserInput: - type: boolean - isAdminOrGlobalMod: - type: boolean - rooms: - type: array - items: - type: object - properties: - owner: - oneOf: - - type: number - - type: string - roomId: - type: number - roomName: - type: string - users: - type: array - items: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - picture: - nullable: true - type: string - status: - type: string - lastonline: - type: number - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - lastonlineISO: - type: string - groupChat: - type: boolean - unread: - type: boolean - teaser: - type: object - properties: - fromuid: - type: number - content: - type: string - timestamp: - type: number - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - user: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - picture: - nullable: true - type: string - status: - type: string - lastonline: - type: number - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - lastonlineISO: - type: string - lastUser: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - picture: - nullable: true - type: string - status: - type: string - lastonline: - type: number - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - lastonlineISO: - type: string - usernames: - type: string - nextStart: - type: number - title: - type: string - uid: - type: number - description: A user identifier - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - canViewInfo: - type: boolean - loggedIn: - type: boolean - relative_path: - type: string - template: - type: object - properties: - name: + uid: + type: number + description: A user identifier + userslug: type: string - chats: + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + canViewInfo: 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - 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 + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' "/api/chats/{roomid?}": get: tags: @@ -15351,462 +11320,10 @@ paths: content: application/json: schema: - type: object - properties: - users: - type: array - items: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - picture: - nullable: true - type: string - status: - type: string - postcount: - type: number - reputation: - type: number - email:confirmed: - type: number - description: Whether the user has confirmed their email address or not - lastonline: - type: number - flags: - nullable: true - banned: - type: number - banned:expire: - type: number - joindate: - type: number - description: A UNIX timestamp representing the moment the user's account was created - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - joindateISO: - type: string - lastonlineISO: - type: string - banned_until: - type: number - banned_until_readable: - type: string - administrator: - type: boolean - pagination: - type: object + allOf: + - 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 - 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 - 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - 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 - description: A user identifier - username: - type: string - description: A friendly name for a given user account - picture: - nullable: true - type: string - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - truncated: - type: boolean - ownerUid: - type: number - allowGroupCreation: - type: boolean - nextStart: - type: number - title: - type: string - breadcrumbs: - type: array - items: - type: object - properties: - text: - type: string - url: - type: string - 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - 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 @@ -15821,6 +11338,7 @@ paths: type: string description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) picture: + nullable: true type: string status: type: string @@ -15835,7 +11353,6 @@ paths: type: number flags: nullable: true - type: number banned: type: number banned:expire: @@ -15860,205 +11377,482 @@ paths: type: string administrator: type: boolean - isOwner: - type: boolean - membersNextStart: - type: number - pending: - type: array - items: {} - invited: - type: array - items: {} - isMember: - type: boolean - isPending: - type: boolean - isInvited: - type: boolean - isOwner: - type: boolean - posts: - type: array - items: - type: object - properties: - pid: - type: number - tid: - type: number - description: A topic identifier - content: - type: string - uid: - type: number - description: A user identifier - timestamp: - type: number - deleted: - type: boolean - upvotes: - type: number - downvotes: - type: number - votes: - type: number - timestampISO: - type: string - description: An ISO 8601 formatted date string (complementing `timestamp`) - user: - type: object - properties: - uid: - type: number - description: A user identifier - username: - type: string - description: A friendly name for a given user account - userslug: - type: string - description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) - picture: - type: string - status: - type: string - icon:text: - type: string - description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar - icon:bgColor: - type: string - description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon - example: "#f44336" - topic: - type: object - properties: - uid: - type: number - description: A user identifier - tid: - type: number - description: A topic identifier - title: - type: string - cid: - type: number - description: A category identifier - slug: - type: string - deleted: - type: number - postcount: - type: number - mainPid: - type: number - description: The post id of the first post in this topic (also called the "original post") - titleRaw: - type: string - category: - type: object - properties: - cid: - type: number - description: A category identifier - name: - type: string - icon: - type: string - slug: - type: string - parentCid: - type: number - description: The category identifier for the category that is the immediate ancestor of the current category - bgColor: - type: string - color: - type: string - image: - nullable: true - imageClass: - nullable: true - type: string - isMainPost: - type: boolean - isAdmin: - type: boolean - isGlobalMod: - type: boolean - allowPrivateGroups: - type: number - breadcrumbs: - type: array - items: - type: object - properties: - text: - type: string - url: - type: string - 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: + pagination: type: object properties: - meta: - type: array - items: - type: object - properties: - name: - type: string - content: - type: string - noEscape: - type: boolean - property: - type: string - link: + rel: type: array items: type: object properties: rel: type: string - type: - type: string href: type: string - title: + pages: + type: array + items: + type: object + properties: + page: + type: number + active: + type: boolean + qs: type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + separator: + type: boolean + 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: - html: + text: type: string + url: + type: string + isAdminOrGlobalMod: + type: boolean + isAdmin: + type: boolean + isGlobalMod: + type: boolean + displayUserSearch: + type: boolean + section_joindate: + type: boolean + maximumInvites: + type: number + inviteOnly: + type: boolean + adminInviteOnly: + type: boolean + invites: + type: number + showInviteButton: + type: boolean + reputation:disabled: + type: number + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' + /api/groups: + get: + tags: + - groups + summary: /api/groups + responses: + "200": + description: "" + content: + application/json: + schema: + allOf: + - type: object + properties: + groups: + type: array + items: + type: object + properties: + name: + type: string + description: + type: string + deleted: + oneOf: + - type: number + - type: string + hidden: + type: number + system: + type: number + userTitle: + type: string + icon: + type: string + labelColor: + type: string + createtime: + type: number + slug: + type: string + memberCount: + type: number + private: + type: number + userTitleEnabled: + type: number + disableJoinRequests: + type: number + disableLeave: + type: number + nameEncoded: + type: string + displayName: + type: string + textColor: + type: string + createtimeISO: + type: string + cover:thumb:url: + type: string + cover:url: + type: string + cover:position: + type: string + members: + type: array + items: + type: object + properties: + uid: + type: number + description: A user identifier + username: + type: string + description: A friendly name for a given user account + picture: + nullable: true + type: string + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + truncated: + type: boolean + ownerUid: + type: number + allowGroupCreation: + type: boolean + nextStart: + type: number + title: + type: string + breadcrumbs: + type: array + items: + type: object + properties: + text: + type: string + url: + type: string + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' + "/api/groups/{slug}": + get: + tags: + - groups + summary: /api/groups/{slug} + parameters: + - name: slug + in: path + required: true + schema: + type: string + responses: + "200": + description: "" + content: + application/json: + schema: + allOf: + - type: object + properties: + title: + type: string + group: + type: object + properties: + name: + type: string + description: + type: string + deleted: + type: number + hidden: + type: number + system: + type: number + userTitle: + type: string + icon: + type: string + labelColor: + type: string + slug: + type: string + createtime: + type: number + memberCount: + type: number + private: + type: number + cover:url: + type: string + cover:position: + type: string + userTitleEnabled: + type: number + disableJoinRequests: + type: number + disableLeave: + type: number + nameEncoded: + type: string + displayName: + type: string + textColor: + type: string + createtimeISO: + type: string + cover:thumb:url: + type: string + descriptionParsed: + type: string + members: + type: array + items: + type: object + properties: + uid: + type: number + description: A user identifier + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + type: string + status: + type: string + postcount: + type: number + reputation: + type: number + email:confirmed: + type: number + description: Whether the user has confirmed their email address or not + lastonline: + type: number + flags: + nullable: true + type: number + banned: + type: number + banned:expire: + type: number + joindate: + type: number + description: A UNIX timestamp representing the moment the user's account was created + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + joindateISO: + type: string + lastonlineISO: + type: string + banned_until: + type: number + banned_until_readable: + type: string + administrator: + type: boolean + isOwner: + type: boolean + membersNextStart: + type: number + pending: + type: array + items: {} + invited: + type: array + items: {} + isMember: + type: boolean + isPending: + type: boolean + isInvited: + type: boolean + isOwner: + type: boolean + posts: + type: array + items: + type: object + properties: + pid: + type: number + tid: + type: number + description: A topic identifier + content: + type: string + uid: + type: number + description: A user identifier + timestamp: + type: number + deleted: + type: boolean + upvotes: + type: number + downvotes: + type: number + votes: + type: number + timestampISO: + type: string + description: An ISO 8601 formatted date string (complementing `timestamp`) + user: + type: object + properties: + uid: + type: number + description: A user identifier + username: + type: string + description: A friendly name for a given user account + userslug: + type: string + description: An URL-safe variant of the username (i.e. lower-cased, spaces removed, etc.) + picture: + type: string + status: + type: string + icon:text: + type: string + description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar + icon:bgColor: + type: string + description: A six-character hexadecimal colour code assigned to the user. This value is used in conjunction with `icon:text` for the user's auto-generated icon + example: "#f44336" + topic: + type: object + properties: + uid: + type: number + description: A user identifier + tid: + type: number + description: A topic identifier + title: + type: string + cid: + type: number + description: A category identifier + slug: + type: string + deleted: + type: number + postcount: + type: number + mainPid: + type: number + description: The post id of the first post in this topic (also called the "original post") + titleRaw: + type: string + category: + type: object + properties: + cid: + type: number + description: A category identifier + name: + type: string + icon: + type: string + slug: + type: string + parentCid: + type: number + description: The category identifier for the category that is the immediate ancestor of the current category + bgColor: + type: string + color: + type: string + image: + nullable: true + imageClass: + nullable: true + type: string + isMainPost: + type: boolean + isAdmin: + type: boolean + isGlobalMod: + type: boolean + allowPrivateGroups: + type: number + breadcrumbs: + type: array + items: + type: object + properties: + text: + type: string + url: + type: string + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps' "/api/groups/{slug}/members": get: tags: - groups - summary: /api/user/{userslug}/push-notifications + summary: Get user group members parameters: - name: userslug in: path @@ -16071,64 +11865,12 @@ paths: content: application/json: schema: - type: object - properties: - loggedIn: - type: boolean - relative_path: - type: string - template: - type: object + allOf: + - 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 - link: - type: array - items: - type: object - properties: - rel: - type: string - type: - type: string - href: - type: string - title: - type: string - sizes: - type: string - widgets: - type: object - properties: - footer: + users: type: array - items: - type: object - properties: - html: - type: string + # TODO: Fix this, should have a user data object here.... + - $ref: 'components/schemas/Pagination.yaml#/Pagination' + - $ref: 'components/schemas/Breadcrumbs.yaml#/Breadcrumbs' + - $ref: 'components/schemas/CommonProps.yaml#/CommonProps'