Stack Exchange API

The Stack Exchange API v2.3 provides programmatic access to the Stack Exchange network of Q&A sites. It supports reading and writing questions, answers, comments, tags, users, and badges across all network sites including Stack Overflow. Authentication is via OAuth 2.0 with support for both read and write access. All responses are JSON-encoded and support GZIP compression and field-level filtering.

OpenAPI Specification

stack-exchange-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Stack Exchange API
  description: >-
    The Stack Exchange API v2.3 provides programmatic access to the Stack
    Exchange network of Q&A sites, including Stack Overflow, Server Fault,
    Super User, and hundreds of other communities. The API supports reading
    and writing questions, answers, comments, tags, users, and other content.
    Authentication is via OAuth 2.0 with access tokens. All responses are
    JSON-encoded and support GZIP compression.
  version: '2.3'
  contact:
    name: Stack Exchange API Support
    url: http://stackapps.com/
    email: [email protected]
  termsOfService: https://stackexchange.com/legal/api-terms-of-use
externalDocs:
  description: Stack Exchange API Documentation
  url: https://api.stackexchange.com/docs
servers:
  - url: https://api.stackexchange.com/2.3
    description: Stack Exchange API v2.3
tags:
  - name: Questions
    description: >-
      Operations for retrieving, searching, and managing questions across the
      Stack Exchange network.
  - name: Answers
    description: >-
      Operations for retrieving and managing answers to questions on Stack
      Exchange sites.
  - name: Comments
    description: >-
      Operations for retrieving and managing comments on questions and answers.
  - name: Users
    description: >-
      Operations for retrieving user profiles, activity, and reputation on
      Stack Exchange sites.
  - name: Tags
    description: >-
      Operations for retrieving and managing tags used to categorize questions.
  - name: Badges
    description: >-
      Operations for retrieving badge definitions and badge awards on Stack
      Exchange sites.
  - name: Search
    description: >-
      Operations for searching questions and content across the Stack Exchange
      network.
  - name: Sites
    description: >-
      Operations for retrieving information about Stack Exchange network sites.
security:
  - oauth2: []
  - {}
paths:
  /questions:
    get:
      operationId: getQuestions
      summary: Get All Questions
      description: >-
        Returns the questions on a Stack Exchange site. Results are sorted by
        activity by default. Requires the site parameter to specify which Stack
        Exchange site to query.
      tags:
        - Questions
      parameters:
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pagesize'
        - $ref: '#/components/parameters/fromdate'
        - $ref: '#/components/parameters/todate'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/sort'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: A list of questions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '502':
          $ref: '#/components/responses/Throttled'
  /questions/{ids}:
    get:
      operationId: getQuestionsByIds
      summary: Get Questions by IDs
      description: >-
        Returns the questions identified by a semicolon-delimited list of IDs.
        Maximum 100 IDs per request.
      tags:
        - Questions
      parameters:
        - name: ids
          in: path
          required: true
          schema:
            type: string
          description: Semicolon-delimited list of question IDs (max 100)
          example: '1;2;3'
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: Questions matching the provided IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '502':
          $ref: '#/components/responses/Throttled'
  /questions/{ids}/answers:
    get:
      operationId: getAnswersForQuestion
      summary: Get Answers for Questions
      description: >-
        Returns the answers for a set of questions identified by a
        semicolon-delimited list of IDs.
      tags:
        - Questions
        - Answers
      parameters:
        - name: ids
          in: path
          required: true
          schema:
            type: string
          description: Semicolon-delimited list of question IDs
          example: '12345'
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pagesize'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/sort'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: Answers for the specified questions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnswersResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
  /questions/{ids}/comments:
    get:
      operationId: getCommentsOnQuestions
      summary: Get Comments on Questions
      description: >-
        Returns the comments on a set of questions identified by a
        semicolon-delimited list of IDs.
      tags:
        - Questions
        - Comments
      parameters:
        - name: ids
          in: path
          required: true
          schema:
            type: string
          description: Semicolon-delimited list of question IDs
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pagesize'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: Comments on the specified questions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommentsResponse'
  /questions/unanswered:
    get:
      operationId: getUnansweredQuestions
      summary: Get Unanswered Questions
      description: >-
        Returns questions that have no answers. Questions returned by this
        method technically have at least one answer but none of those answers
        have been accepted.
      tags:
        - Questions
      parameters:
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pagesize'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/sort'
        - $ref: '#/components/parameters/tagged'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: List of unanswered questions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionsResponse'
  /questions/featured:
    get:
      operationId: getFeaturedQuestions
      summary: Get Featured Questions
      description: >-
        Returns questions that have active bounties. Questions with bounties are
        featured to attract attention and answers.
      tags:
        - Questions
      parameters:
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pagesize'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/sort'
        - $ref: '#/components/parameters/tagged'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: List of featured questions with active bounties
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionsResponse'
  /answers:
    get:
      operationId: getAnswers
      summary: Get All Answers
      description: >-
        Returns all answers on a Stack Exchange site. Results can be filtered
        and sorted by creation date, activity, and vote score.
      tags:
        - Answers
      parameters:
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pagesize'
        - $ref: '#/components/parameters/fromdate'
        - $ref: '#/components/parameters/todate'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/sort'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: A list of answers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnswersResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
  /answers/{ids}:
    get:
      operationId: getAnswersByIds
      summary: Get Answers by IDs
      description: >-
        Returns the answers identified by a semicolon-delimited list of IDs.
      tags:
        - Answers
      parameters:
        - name: ids
          in: path
          required: true
          schema:
            type: string
          description: Semicolon-delimited list of answer IDs
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: Answers matching the provided IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnswersResponse'
  /comments:
    get:
      operationId: getComments
      summary: Get All Comments
      description: >-
        Returns all comments on a Stack Exchange site.
      tags:
        - Comments
      parameters:
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pagesize'
        - $ref: '#/components/parameters/fromdate'
        - $ref: '#/components/parameters/todate'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/sort'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: A list of comments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommentsResponse'
  /comments/{ids}:
    get:
      operationId: getCommentsByIds
      summary: Get Comments by IDs
      description: >-
        Returns the comments identified by a semicolon-delimited list of IDs.
      tags:
        - Comments
      parameters:
        - name: ids
          in: path
          required: true
          schema:
            type: string
          description: Semicolon-delimited list of comment IDs
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: Comments matching the provided IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommentsResponse'
  /users:
    get:
      operationId: getUsers
      summary: Get All Users
      description: >-
        Returns all users on a Stack Exchange site. Results can be filtered by
        inname to match users whose display name contains the given string.
      tags:
        - Users
      parameters:
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pagesize'
        - $ref: '#/components/parameters/fromdate'
        - $ref: '#/components/parameters/todate'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/sort'
        - name: inname
          in: query
          schema:
            type: string
          description: Filter users whose display name contains this string
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: A list of users
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsersResponse'
  /users/{ids}:
    get:
      operationId: getUsersByIds
      summary: Get Users by IDs
      description: >-
        Returns the users identified by a semicolon-delimited list of user IDs.
      tags:
        - Users
      parameters:
        - name: ids
          in: path
          required: true
          schema:
            type: string
          description: Semicolon-delimited list of user IDs
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: Users matching the provided IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsersResponse'
  /users/{ids}/questions:
    get:
      operationId: getQuestionsByUser
      summary: Get Questions by User
      description: >-
        Returns the questions asked by the users identified in the IDs parameter.
      tags:
        - Users
        - Questions
      parameters:
        - name: ids
          in: path
          required: true
          schema:
            type: string
          description: Semicolon-delimited list of user IDs
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pagesize'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/sort'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: Questions asked by the specified users
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionsResponse'
  /users/{ids}/answers:
    get:
      operationId: getAnswersByUser
      summary: Get Answers by User
      description: >-
        Returns the answers posted by the users identified in the IDs parameter.
      tags:
        - Users
        - Answers
      parameters:
        - name: ids
          in: path
          required: true
          schema:
            type: string
          description: Semicolon-delimited list of user IDs
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pagesize'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/sort'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: Answers posted by the specified users
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnswersResponse'
  /users/me:
    get:
      operationId: getAuthenticatedUser
      summary: Get Authenticated User
      description: >-
        Returns the authenticated user associated with the provided access token.
        Requires authentication.
      tags:
        - Users
      security:
        - oauth2: []
      parameters:
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: The authenticated user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsersResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /tags:
    get:
      operationId: getTags
      summary: Get All Tags
      description: >-
        Returns the tags on a Stack Exchange site. Tags are used to categorize
        questions and help users find relevant content.
      tags:
        - Tags
      parameters:
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pagesize'
        - $ref: '#/components/parameters/fromdate'
        - $ref: '#/components/parameters/todate'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/sort'
        - name: inname
          in: query
          schema:
            type: string
          description: Filter tags whose name contains this string
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: A list of tags
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagsResponse'
  /tags/{tags}/info:
    get:
      operationId: getTagInfo
      summary: Get Tag Info
      description: >-
        Returns detailed information about the tags specified in the tags
        parameter. Tags are semicolon-delimited.
      tags:
        - Tags
      parameters:
        - name: tags
          in: path
          required: true
          schema:
            type: string
          description: Semicolon-delimited list of tag names
          example: javascript;python
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: Tag information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagsResponse'
  /tags/{tags}/related:
    get:
      operationId: getRelatedTags
      summary: Get Related Tags
      description: >-
        Returns the tags that are most related to the provided semicolon-
        delimited list of tags.
      tags:
        - Tags
      parameters:
        - name: tags
          in: path
          required: true
          schema:
            type: string
          description: Semicolon-delimited list of tag names
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: Tags related to the provided tags
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagsResponse'
  /badges:
    get:
      operationId: getBadges
      summary: Get All Badges
      description: >-
        Returns all badges in the system. Badges are awarded to users for
        performing actions or achieving goals on a Stack Exchange site.
      tags:
        - Badges
      parameters:
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pagesize'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/sort'
        - name: inname
          in: query
          schema:
            type: string
          description: Filter badges whose name contains this string
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: A list of badges
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadgesResponse'
  /badges/{ids}:
    get:
      operationId: getBadgesByIds
      summary: Get Badges by IDs
      description: >-
        Returns badges identified by the provided semicolon-delimited list of
        badge IDs.
      tags:
        - Badges
      parameters:
        - name: ids
          in: path
          required: true
          schema:
            type: string
          description: Semicolon-delimited list of badge IDs
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: Badges matching the provided IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadgesResponse'
  /search:
    get:
      operationId: searchQuestions
      summary: Search Questions
      description: >-
        Searches for questions based on a query string. Returns questions that
        match the search terms in the title, body, or tags. At least one of
        tagged, nottagged, or intitle must be specified.
      tags:
        - Search
      parameters:
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pagesize'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/sort'
        - name: intitle
          in: query
          schema:
            type: string
          description: Search within question titles
        - $ref: '#/components/parameters/tagged'
        - name: nottagged
          in: query
          schema:
            type: string
          description: Exclude questions with these semicolon-delimited tags
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: Questions matching the search query
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
  /search/advanced:
    get:
      operationId: searchAdvanced
      summary: Advanced Question Search
      description: >-
        Searches for questions using advanced filtering options including
        accepted answers, minimum score, body text, and view count filters.
      tags:
        - Search
      parameters:
        - $ref: '#/components/parameters/site'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pagesize'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/sort'
        - name: q
          in: query
          schema:
            type: string
          description: Full-text search query
        - name: accepted
          in: query
          schema:
            type: boolean
          description: Filter for questions that have accepted answers
        - name: answers
          in: query
          schema:
            type: integer
          description: Minimum number of answers
        - name: body
          in: query
          schema:
            type: string
          description: Text that must appear in the question body
        - name: closed
          in: query
          schema:
            type: boolean
          description: Filter for closed or open questions
        - name: migrated
          in: query
          schema:
            type: boolean
          description: Filter for migrated questions
        - name: notice
          in: query
          schema:
            type: boolean
          description: Filter for questions with a post notice
        - name: nottagged
          in: query
          schema:
            type: string
          description: Exclude questions with these tags (semicolon-delimited)
        - $ref: '#/components/parameters/tagged'
        - name: title
          in: query
          schema:
            type: string
          description: Text that must appear in the question title
        - name: user
          in: query
          schema:
            type: integer
          description: Filter by user ID of the question owner
        - name: views
          in: query
          schema:
            type: integer
          description: Minimum number of question views
        - name: wiki
          in: query
          schema:
            type: boolean
          description: Filter for community wiki questions
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: Questions matching the advanced search criteria
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionsResponse'
  /similar:
    get:
      operationId: findSimilarQuestions
      summary: Find Similar Questions
      description: >-
        Returns questions that are similar to the question with the given title.
        Useful for finding existing related questions before asking a new one.
      tags:
        - Search
      parameters:
        - $ref: '#/components/parameters/site'
        - name: title
          in: query
          required: true
          schema:
            type: string
          description: The title of the question to find similar questions for
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pagesize'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/sort'
        - $ref: '#/components/parameters/tagged'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: Questions similar to the provided title
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionsResponse'
  /sites:
    get:
      operationId: getSites
      summary: Get All Sites
      description: >-
        Returns all Stack Exchange network sites. This includes main sites,
        meta sites, and sites in various stages of development.
      tags:
        - Sites
      parameters:
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pagesize'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: A list of Stack Exchange network sites
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SitesResponse'
components:
  securitySchemes:
    oauth2:
      type: oauth2
      description: >-
        OAuth 2.0 authentication for Stack Exchange API. Register an application
        at http://stackapps.com/apps/oauth to obtain client credentials.
      flows:
        authorizationCode:
          authorizationUrl: https://stackoverflow.com/oauth
          tokenUrl: https://stackoverflow.com/oauth/access_token/json
          scopes:
            no_expiry: Issues an access token that does not expire
            write_access: Allows write access to a user's data
            private_info: Access a user's private information
  parameters:
    site:
      name: site
      in: query
      required: true
      schema:
        type: string
        default: stackoverflow
      description: >-
        The Stack Exchange site to query. Use the API name of the site, e.g.,
        stackoverflow, serverfault, superuser.
      example: stackoverflow
    page:
      name: page
      in: query
      schema:
        type: integer
        minimum: 1
        default: 1
      description: The page number to return (1-indexed)
    pagesize:
      name: pagesize
      in: query
      schema:
        type: integer
        minimum: 0
        maximum: 100
        default: 30
      description: Number of results to return per page (max 100)
    fromdate:
      name: fromdate
      in: query
      schema:
        type: integer
      description: Unix timestamp for the minimum creation date
    todate:
      name: todate
      in: query
      schema:
        type: integer
      description: Unix timestamp for the maximum creation date
    order:
      name: order
      in: query
      schema:
        type: string
        enum:
          - asc
          - desc
        default: desc
      description: Sort order for results
    sort:
      name: sort
      in: query
      schema:
        type: string
      description: The field to sort results by (varies by endpoint)
    filter:
      name: filter
      in: query
      schema:
        type: string
      description: >-
        A filter to control which fields are returned in the response. Use
        the /filter endpoint to create custom filters.
    tagged:
      name: tagged
      in: query
      schema:
        type: string
      description: Semicolon-delimited list of tags to filter by
  responses:
    BadRequest:
      description: Bad request due to missing or invalid parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Authentication required or token is invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Throttled:
      description: Request throttled due to rate limit
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    Wrapper:
      type: object
      description: >-
        Standard Stack Exchange API response wrapper containing items, pagination
        info, and backoff/quota information.
      properties:
        items:
          type: array
          description: The list of items returned
          items:
            type: object
        has_more:
          type: boolean
          description: Whether there are more results available
        quota_max:
          type: integer
          description: Maximum number of requests allowed per day
        quota_remaining:
          type: integer
          description: Number of requests remaining for today
        backoff:
          type: integer
          description: >-
            Number of seconds to wait before making additional requests if
            the API has asked for backoff
        total:
          type: integer
          description: Total number of items available
        page:
          type: integer
          description: Current page number
        page_size:
          type: integer
          description: Number of items per page
        type:
          type: string
          description: The type of items in the response
        error_id:
          type: integer
          description: Error identifier if an error occurred
        error_message:
          type: string
          description: Human-readable error description
        error_name:
          type: string
          description: Machine-readable error name
    ShallowUser:
      type: object
      description: A shallow representation of a Stack Exchange user
      properties:
        user_id:
          type: integer
          description: Unique identifier of the user
        display_name:
          type: string
          description: The user's display name
        reputation:
          type: integer
          description: The user's reputation score
        user_type:
          type: string
          enum:
            - unregistered
            - registered
            - moderator
            - named_moderator
            - team_admin
          description: The type of user account
        profile_image:
          type: string
          format: uri
          description: URL of the user's profile image
        link:
          type: string
          format: uri
          description: Link to the user's profile page
        accept_rate:
          type: integer
          description: Percentage of questions the user has accepted answers for
    Question:
      type: object
      description: A question on a Stack Exchange site
      properties:
        question_id:
          type: integer
          description: Unique identifier of the question
        title:
          type: string
          description: The title of the question
        body:
          type: string
          description: The HTML body of the question
        body_markdown:
          type: string
          description: The Markdown body of the question
        score:
          type: integer
          description: The net vote score of the question
        view_count:
          type: integer
          description: Number of times the question has been viewed
        answer_count:
          type: integer
          description: Number of answers the question has received
        accepted_answer_id:
          type: integer
          description: ID of the accepted answer if one exists
        is_answered:
          type: boolean
          description: Whether the question has an accepted answer
        creation_date:
          type: integer
          description: Unix timestamp of when the question was created
        last_activity_date:
          type: integer
          description: Unix timestamp of the last activity on the question
        last_edit_date:
          type: integer
          description: Unix timestamp of the last edit
        owner:
          $ref: '#/components/schemas/ShallowUser'
        tags:
          type: array
          items:
            type: string
          description: Tags associated with the question
        link:
          type: string
          format: uri
          description: Link to the question page
        closed_reason:
          type: string
          description: Reason the question was closed if applicable
        closed_date:
          t

# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/stack-exchange/refs/heads/main/openapi/stack-exchange-openapi.yml