openapi: 3.1.0 info: title: Stack Exchange Answers 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: team+api@stackexchange.com termsOfService: https://stackexchange.com/legal/api-terms-of-use servers: - url: https://api.stackexchange.com/2.3 description: Stack Exchange API v2.3 security: - oauth2: [] - {} tags: - name: Answers description: Operations for retrieving and managing answers to questions on Stack Exchange sites. paths: /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: - 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' /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' /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: - 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' components: parameters: order: name: order in: query schema: type: string enum: - asc - desc default: desc description: Sort order for results 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 todate: name: todate in: query schema: type: integer description: Unix timestamp for the maximum creation date fromdate: name: fromdate in: query schema: type: integer description: Unix timestamp for the minimum creation date 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. 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) sort: name: sort in: query schema: type: string description: The field to sort results by (varies by endpoint) schemas: Answer: type: object description: An answer to a question on a Stack Exchange site properties: answer_id: type: integer description: Unique identifier of the answer question_id: type: integer description: ID of the question this answer belongs to body: type: string description: The HTML body of the answer body_markdown: type: string description: The Markdown body of the answer score: type: integer description: The net vote score of the answer is_accepted: type: boolean description: Whether this answer has been accepted by the question owner creation_date: type: integer description: Unix timestamp of when the answer was created last_activity_date: type: integer description: Unix timestamp of the last activity on the answer last_edit_date: type: integer description: Unix timestamp of the last edit owner: $ref: '#/components/schemas/ShallowUser' link: type: string format: uri description: Link to the answer on the question page ErrorResponse: type: object properties: error_id: type: integer description: Numeric error identifier error_message: type: string description: Human-readable error description error_name: type: string description: Machine-readable error name AnswersResponse: allOf: - $ref: '#/components/schemas/Wrapper' - type: object properties: items: type: array items: $ref: '#/components/schemas/Answer' 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 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 responses: BadRequest: description: Bad request due to missing or invalid parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 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 externalDocs: description: Stack Exchange API Documentation url: https://api.stackexchange.com/docs