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.
              - 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