get: tags: - topics summary: Get topic data parameters: - name: topic_id in: path required: true schema: type: string example: 1 - name: slug description: This parameter is not required. If omitted, the request will be automatically redirected with the proper topic slug. in: path required: true schema: type: string example: test-topic - name: post_index description: This parameter is not required. If omitted, the request will presume that you want the first post. The API response is largely unaffected by this parameter, it is used client-side (to send the user to the requested post), and changes the meta/link tags in the server-side generated HTML. in: path required: true schema: type: string example: 1 responses: "200": description: "" content: application/json: schema: allOf: - $ref: ../../components/schemas/TopicObject.yaml#/TopicObjectSlim - type: object properties: title: type: string slug: type: string teaserPid: type: number nullable: true titleRaw: type: string tags: type: array items: $ref: ../../components/schemas/TagObject.yaml#/TagObject posts: type: array items: $ref: ../../components/schemas/PostObject.yaml#/PostDataObject category: $ref: ../../components/schemas/CategoryObject.yaml#/CategoryObject tagWhitelist: type: array items: type: string minTags: type: number maxTags: type: number thread_tools: type: array items: type: object properties: class: type: string title: type: string icon: type: string isFollowing: type: boolean isNotFollowing: type: boolean isIgnoring: type: boolean bookmark: nullable: true postSharing: type: array items: type: object properties: id: type: string name: type: string class: type: string activated: type: boolean deleter: nullable: true merger: nullable: true forker: nullable: true related: type: array items: $ref: ../../components/schemas/TopicObject.yaml#/TopicObject unreplied: type: boolean icons: type: array items: type: string description: HTML that is rendered by the theme privileges: type: object properties: topics:reply: type: boolean topics:read: type: boolean topics:schedule: type: boolean topics:tag: type: boolean topics:delete: type: boolean posts:edit: type: boolean posts:history: type: boolean posts:upvote: type: boolean posts:downvote: type: boolean posts:delete: type: boolean posts:view_deleted: type: boolean read: type: boolean purge: type: boolean view_thread_tools: type: boolean editable: type: boolean deletable: type: boolean view_deleted: type: boolean view_scheduled: type: boolean isAdminOrMod: type: boolean disabled: type: number tid: type: string uid: type: number description: A user identifier topicStaleDays: type: number reputation:disabled: type: number downvote:disabled: type: number upvoteVisibility: type: string downvoteVisibility: type: string feeds:disableRSS: type: number signatures:hideDuplicates: type: number bookmarkThreshold: type: number necroThreshold: type: number postEditDuration: type: number postDeleteDuration: type: number scrollToMyPost: type: boolean updateUrlWithPostIndex: type: boolean allowMultipleBadges: type: boolean privateUploads: type: boolean showPostPreviewsOnHover: type: boolean sortOptionLabel: type: string rssFeedUrl: type: string postIndex: type: number author: type: object required: [username, uid] properties: username: type: string userslug: type: string uid: type: number fullname: type: string displayname: type: string isLocal: type: boolean description: Whether the user belongs to the local installation or not. crossposts: type: array items: $ref: ../../components/schemas/CrosspostObject.yaml#/CrosspostObject - type: object description: Optional properties that may or may not be present (except for `tid`, which is always present, and is only here as a hack to pass validation) properties: tid: type: number description: A topic identifier thumb: type: string description: An uploaded topic thumbnail loggedInUser: $ref: ../../components/schemas/UserObject.yaml#/UserObject required: - tid - $ref: ../../components/schemas/Pagination.yaml#/Pagination - $ref: ../../components/schemas/Breadcrumbs.yaml#/Breadcrumbs - $ref: ../../components/schemas/CommonProps.yaml#/CommonProps