Bazaarvoice Answers API

The Answers API from Bazaarvoice — 1 operation(s) for answers.

Operations 3

POST /questions/{legacyInternalId}/answers getAnswers #
GET /data/submitanswer.json Preview an answer submission #
POST /data/submitanswer.json Submit an answer #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bazaarvoice-answers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

bazaarvoice-answers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bazaarvoice Answers API
  x-refined-note:
  - x-api-id differs across the merged source definitions and was not carried
  - x-audience differs across the merged source definitions and was not carried
  version: '1.0'
  description: 'Operations tagged Answers across 2 of this provider''s published API definitions: bazaarvoice-answers-api-openapi.yml, bazaarvoice-conversations-submission-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://content-search.eu-west-1a.bosun.qa.bazaarvoice.com/
  description: QA | Content Search
- url: https://seo-stg.bazaarvoice.com/structured-data/v1
  description: Staging Server
- url: https://seo.bazaarvoice.com/structured-data/v1
  description: Production Server
- url: https://stg.api.bazaarvoice.com
  description: Conversation-Submission API STG
tags:
- name: Answers
paths:
  /questions/{legacyInternalId}/answers:
    post:
      tags:
      - Answers
      summary: getAnswers
      operationId: getQuestionsUsingPOSTAndQuestionId
      parameters:
      - name: legacyInternalId
        in: path
        description: Question's legacy internal ID
        required: true
        schema:
          type: string
      - name: X-Correlation-ID
        in: header
        description: Correlation ID
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AnswerFilters'
        description: Page, Filter & Sort
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AnswerQueryResponse'
        '400':
          description: Invalid request body
        '500':
          description: Unexpected internal error
    servers:
    - url: https://content-search.eu-west-1a.bosun.qa.bazaarvoice.com/
      description: QA | Content Search
    - url: https://seo-stg.bazaarvoice.com/structured-data/v1
      description: Staging Server
    - url: https://seo.bazaarvoice.com/structured-data/v1
      description: Production Server
  /data/submitanswer.json:
    get:
      tags:
      - Answers
      operationId: GetAnswer
      summary: Preview an answer submission
      parameters:
      - name: ApiVersion
        in: query
        required: true
        schema:
          type: string
        description: The API version, e.g. 5.4.
        example: '5.4'
      - name: QuestionId
        in: query
        required: true
        schema:
          type: string
        description: The id of the question that this answer is being submitted on.
        example: '1483881'
      - name: Action
        in: query
        required: false
        schema:
          type: string
        description: The submission action to take
        example: preview
      - name: AnswerText
        in: query
        required: true
        schema:
          type: string
        description: Contains the text of the answer.
        example: HeyLetsDothis API key config has been changed to encrypted USERIDs
      - name: agreedtotermsandconditions
        in: query
        required: false
        schema:
          type: boolean
        description: Boolean indicating whether or not the user agreed to the terms and conditions. Required depending on the client's settings.
        example: 'true'
      - name: UserId
        in: query
        required: false
        schema:
          type: string
        description: 'User''s external ID. This value should come from your authentication system. See Client-Mastered Authentication for more information.


          Alert Do not use an email address for this value.'
        example: testi2
      - name: PassKey
        in: query
        required: true
        schema:
          type: string
        description: API key is required to authenticate API user and check permission to access particular client's data.
        example: caB45h2jBqXFw1OE043qoMBD1gJC8EwFNCjktzgwncXY4
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAnswer'
        '400':
          description: Bad Request - Missing required parameter.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                type: /problems/bad-request
                title: Bad Request
                staus: 400
                ERROR_CODE: ERROR_BAD_REQUEST
                detail: Missing required parameter - apiversion.
        '401':
          description: Unauthorized - Authentication or authorization failed. The provided credentials or authentication tokens are invalid or insufficient.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                type: /problems/unauthorized
                title: Unauthorized
                staus: 401
                ERROR_CODE: ERROR_PARAM_MISSING_USER_ID
                detail: User authentication required, anonymous submission not allowed.
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                type: /problems/forbidden
                title: Forbidden
                staus: 403
                ERROR_CODE: ERROR_FORBIDDEN
                detail: Content may not be submitted using a GET operation.
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                type: /problems/not-found
                title: Not Found
                staus: 404
                ERROR_CODE: ERROR_NOT_FOUND
                detail: Answer submission endpoint not found
        '414':
          description: Request-URI too long
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                fault:
                  faultstring: request line size exceeding 7,168
                  detail:
                    errorcode: protocol.http.TooBigLine
        default:
          description: Unexpected Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                type: /problems/unexpected-error
                title: Unexpected Error
                staus: 500
                ERROR_CODE: ERROR_UNKNOWN
                detail: An unexpected error has occurred, please retry. Contact Bazaarvoice if the problem persists.
    post:
      tags:
      - Answers
      operationId: SubmitAnswer
      summary: Submit an answer
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                QuestionId:
                  type: string
                  description: The id of the question that this answer is being submitted on.
                  example: '1483881'
                Action:
                  type: string
                  description: The submission action to take -- either 'Action=', 'Action=Preview' or 'Action=Submit'. 'Action=' will show information that can be used to build a submission form, 'Action=Preview' will show a draft of the content to be submitted; 'Action=Submit' will submit the content. If 'Action=Submit', the request must be an HTTP POST.
                  example: submit
                AnswerText:
                  type: string
                  description: Contains the text of the answer.
                  example: Age is under 18
                UserId:
                  type: string
                  description: 'User''s external ID. This value should come from your authentication system. See Client-Mastered Authentication for more information.


                    Alert Do not use an email address for this value.'
                  example: testi2
                fp:
                  type: string
                  description: 'Fingerprint of content author''s device. See the Authenticity Tutorial for more information.


                    Per the Bazaarvoice Authenticity Policy, you must send a device fingerprint attached to each submission. If you fail to send a device fingerprint with your submission, Bazaarvoice may take any action deemed necessary in Bazaarvoice’s sole discretion to protect the integrity of the network. Such actions may include but are not limited to: rejection of your content, halting syndication of your content on the Bazaarvoice network, revocation of your API key, or revocation of your API license.


                    Alert Failure to submit this field will result in your content being ineligible for syndication, authenticity or other business processes.'
                  example: 0400Ia/vP4SUWbEXk1Rjuv1iJmSjiw6jjNGA14xr7X6xRXldg3Eo6XtD78oKt7mA8bo/mtBit
                AgreedToTermsAndConditions:
                  type: boolean
                  description: Boolean indicating whether or not the user agreed to the terms and conditions. Required depending on the client's settings.
                  example: 'true'
                CampaignId:
                  type: string
                  description: Arbitrary text that may be saved alongside content to indicate vehicle by which content was captured, e.g. “post-purchase email”.
                  example: Campaignid1
                HostedAuthentication_AuthenticationEmail:
                  type: string
                  description: Email address where the submitter will receive the confirmation email. If you are configured to use hosted email authentication, this parameter is required. See the Authenticate User method for more information on hosted authentication.
                  example: dummy@dummy.com
                HostedAuthentication_CallbackUrl:
                  type: string
                  description: URL of the link contained in the user authentication email. This should point to a landing page where a web application exists to complete the user authentication process. The host for the URL must be one of the domains configured for the client. The link in the email will contain a user authentication token (authtoken) that is used to verify the submitter. If you are configured to use hosted email authentication, this parameter is required. See the hosted authentication tutorial for more information
                  example: https://dummy.com
                Locale:
                  type: string
                  description: 'Locale to display Labels, Configuration, Product Attributes and Category Attributes in. The default value is the locale defined in the display associated with the API key.


                    Alert Failure to submit this field will result in your content being ineligible for syndication, authenticity or other business processes.'
                  example: en_US
                PhotoCaption_<n>:
                  type: string
                  description: Value is caption text for the photo URL with the same value of <n>.
                  example: Dummy caption for photo
                PhotoUrl_<n>:
                  type: string
                  description: Value is a Bazaarvoice URL of a photo uploaded using the Data API, where <n> is a non-negative integer.
                  example: https://dummy.com/abc.jpg
                SendEmailAlertWhenPublished:
                  type: boolean
                  description: Boolean indicating whether or not the user wants to be notified when his/her content is published.
                  example: 'false'
                User:
                  type: string
                  description: Value of the encrypted user. This parameter demonstrates that a user has been authenticated. Note that the UserId parameter does not contain authentication information and should not be used for hosted authentication. See the Authenticate User method for more information.
                  example: 4bd24fd580c77ab1d86b3ea3738603db646174653d3230323330393232267573657269643d74657374693226656d61696c616464726573733d746573747368726125343062762e636f6d26757365726e616d653d736b686172266d61786167653d3930267375626a6563746964733d70726f647563743031
                UserEmail:
                  type: string
                  description: User's email address.
                  example: dummy@dummy.com
                UserLocation:
                  type: string
                  description: User location text.
                  example: USA
                UserNickname:
                  type: string
                  minLength: 4
                  maxLength: 25
                  description: User nickname display text.
                  example: Tommy
      parameters:
      - name: X-Forwarded-For
        in: header
        schema:
          type: number
        description: 'IP address of content author. This header is only necessary when performing submissions from your server. See Authenticity Tutorial for more information.


          Per the Bazaarvoice Authenticity Policy, you must send author IP address attached to each submission. If you fail to send author IP address with your submission, Bazaarvoice may take any action deemed necessary in Bazaarvoice’s sole discretion to protect the integrity of the network. Such actions may include but are not limited to: rejection of your content, halting syndication of your content on the Bazaarvoice network, revocation of your API key, or revocation of your API license.


          Alert Failure to submit this field will result in your content being ineligible for syndication, authenticity or other business processes.'
      - name: Content-Type
        in: header
        required: true
        schema:
          type: string
        description: 'The media-type type of the request body. Value must be application/x-www-form-urlencoded.

          Required This field is required in all API requests.'
        example: application/x-www-form-urlencoded
      - name: ApiVersion
        in: query
        required: true
        schema:
          type: string
        description: The API version, e.g. 5.4.
        example: 5.4
      - name: PassKey
        in: query
        required: true
        schema:
          type: string
        description: API key is required to authenticate API user and check permission to access particular client's data.
        example: caB45h2jBqXFw1OE043qoMBD1gJC8EwFNCjktzgwncXY4
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitAnswer'
        '400':
          description: Bad Request - Missing required parameter.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                type: /problems/bad-request
                title: Bad Request
                staus: 400
                ERROR_CODE: ERROR_BAD_REQUEST
                detail: Missing required parameter - apiversion.
        '401':
          description: Unauthorized - Authentication or authorization failed. The provided credentials or authentication tokens are invalid or insufficient.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                type: /problems/unauthorized
                title: Unauthorized
                staus: 401
                ERROR_CODE: ERROR_PARAM_MISSING_USER_ID
                detail: User authentication required, anonymous submission not allowed.
        '403':
          description: Forbidden.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                type: /problems/forbidden
                title: Forbidden
                staus: 403
                ERROR_CODE: ERROR_FORBIDDEN
                detail: Content may not be submitted using a GET operation.
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                type: /problems/not-found
                title: Not Found
                staus: 404
                ERROR_CODE: ERROR_NOT_FOUND
                detail: Answer submission endpoint not found
        '414':
          description: Request-URI too long
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                fault:
                  faultstring: request line size exceeding 7,168
                  detail:
                    errorcode: protocol.http.TooBigLine
        default:
          description: Unexpected Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                type: /problems/unexpected-error
                title: Unexpected Error
                staus: 500
                ERROR_CODE: ERROR_UNKNOWN
                detail: An unexpected error has occurred, please retry. Contact Bazaarvoice if the problem persists.
    servers:
    - url: https://stg.api.bazaarvoice.com
      description: Conversation-Submission API STG
components:
  schemas:
    Video:
      type: object
      properties:
        legacyInternalId:
          type: string
        rawUrlInput:
          type: string
        caption:
          type: string
        videoHost:
          type: string
        videoId:
          type: string
        uploadStatus:
          type: string
        thumbnailUrl:
          type: string
    Statistics:
      type: object
      properties:
        positiveFeedbackCount:
          type: integer
          format: int32
        negativeFeedbackCount:
          type: integer
          format: int32
        helpfulnessScore:
          type: integer
          format: int32
        characterCount:
          type: integer
          format: int32
        productReferenceCount:
          type: integer
          format: int32
        inappropriateFeedbackCount:
          type: integer
          format: int32
        numPhotos:
          type: integer
          format: int32
        numVideos:
          type: integer
          format: int32
        hasPhotos:
          type: boolean
        hasVideos:
          type: boolean
    AllAnswers:
      type: object
      properties:
        answer:
          $ref: '#/components/schemas/Answer'
        contributor:
          $ref: '#/components/schemas/QuestionContributor'
        statistics:
          $ref: '#/components/schemas/Statistics'
    QuestionContributor:
      type: object
      properties:
        id:
          type: string
        table:
          type: string
        version:
          type: integer
          format: int32
        sourceVersion:
          type: integer
          format: int32
        deleted:
          type: boolean
        signature:
          type: string
        firstUpdateAt:
          type: string
        lastUpdateAt:
          type: string
        lastMutateAt:
          type: string
        type:
          type: string
        legacyInternalId:
          type: integer
          format: int32
        clearTextExternalId:
          type: string
        anonymous:
          type: boolean
        rank:
          type: string
        merit:
          type: string
        affiliation:
          type: string
        contributorBadgeEnabled:
          type: boolean
        contributorLocation:
          type: string
        campaignId:
          type: string
        contentOriginId:
          type: string
        submissionTime:
          type: string
        firstPublishTime:
          type: string
        lastPublishTime:
          type: string
        displayCode:
          type: string
        displayLocale:
          type: string
        status:
          type: string
        contentCodes:
          type: array
          items:
            type: string
        submissionId:
          type: string
        displayName:
          type: string
        sourceName:
          type: string
        agreedToTermsAndConditions:
          type: boolean
        cdvOrder:
          type: array
          items:
            type: string
        ratingOrder:
          type: array
          items:
            type: string
        photos:
          type: array
          items:
            $ref: '#/components/schemas/Photo'
        avatarPhoto:
          $ref: '#/components/schemas/Photo'
        productReferences:
          type: array
          items:
            $ref: '#/components/schemas/Coordinate'
        videos:
          type: array
          items:
            $ref: '#/components/schemas/Video'
        displayLastUpdate:
          $ref: '#/components/schemas/PrrUpdate'
        customProperties:
          type: object
          additionalProperties:
            type: string
        cdvProperties:
          type: object
          additionalProperties:
            type: string
        ratingProperties:
          type: object
          additionalProperties:
            type: string
        externalId:
          type: string
    PrrUpdate:
      type: object
      properties:
        hash:
          type: string
        timestamp:
          type: string
    AnswerFilters:
      type: object
      properties:
        questionId:
          type: string
    AnswerQueryResponse:
      type: object
      properties:
        limit:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        totalQueriedAnswers:
          type: integer
          format: int32
        results:
          type: array
          items:
            $ref: '#/components/schemas/AllAnswers'
    Photo:
      type: object
      properties:
        caption:
          type: string
        mediumImageId:
          type: string
        thumbnailImageId:
          type: string
        url:
          type: string
        thumbnailUrl:
          type: string
    Coordinate:
      type: object
      properties:
        table:
          type: string
        id:
          type: string
    Answer:
      type: object
      properties:
        id:
          type: string
        version:
          type: integer
          format: int32
        firstUpdateAt:
          type: string
        lastUpdateAt:
          type: string
        lastMutateAt:
          type: string
        client:
          type: string
        legacyInternalId:
          type: integer
          format: int32
        moderationContentID:
          type: string
        moderationVersionID:
          type: string
        featured:
          type: boolean
        contributorNickname:
          type: string
        sendEmailAlertWhenPublished:
          type: boolean
        displayAsAnonymous:
          type: boolean
        text:
          type: string
        campaignId:
          type: string
        contentOriginId:
          type: string
        submissionTime:
          type: string
        firstPublishTime:
          type: string
        lastPublishTime:
          type: string
        displayLocale:
          type: string
        status:
          type: string
        contentCodes:
          type: array
          items:
            type: string
        submissionId:
          type: string
        externalAnswerId:
          type: string
        externalProductId:
          type: string
        cdvOrder:
          type: array
          items:
            type: string
        tagOrder:
          type: array
          items:
            type: string
        photos:
          type: array
          items:
            $ref: '#/components/schemas/Photo'
        videos:
          type: array
          items:
            $ref: '#/components/schemas/Video'
        cdvProperties:
          type: object
          additionalProperties:
            type: string
        productReferences:
          type: array
          items:
            $ref: '#/components/schemas/Coordinate'
        tagProperties:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
        customProperties:
          type: object
          additionalProperties:
            type: string
        contributor:
          $ref: '#/components/schemas/Coordinate'
        question:
          $ref: '#/components/schemas/Coordinate'
        submissionInstant:
          type: integer
          format: int32
        statusGroup:
          type: string
    SubmitAnswer:
      type: object
      properties:
        Data:
          type: object
        HasErrors:
          type: boolean
          example: false
        Form:
          type: array
          items:
            type: object
        FormErrors:
          type: object
        Answer:
          type: object
          properties:
            SendEmailAlertWhenPublished:
              type: boolean
              description: Flag indicating whether to send an email alert when the answer is published.
            SubmissionTime:
              type: string
              description: The submission time of the answer.
              pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
            TypicalHoursToPost:
              type: number
              description: The typical number of hours it takes for the answer to be posted.
            Id:
              type: string
              description: The ID of the answer.
            SubmissionId:
              type: string
              description: The submission ID of the answer.
            AnswerText:
              type: string
              description: The text content of the answer.
        TypicalHoursToPost:
          type: number
          description: The typical number of hours it takes for a submission to be posted.
        SubmissionId:
          type: string
          description: The submission ID.
        Locale:
          type: string
          description: The locale of the answer.
          pattern: ^[a-z]{2}_[A-Z]{2}$
        Errors:
          type: array
          items:
            type: object
    GetAnswer:
      type: object
      properties:
        Locale:
          type: string
        Answer:
          type: object
          properties:
            SubmissionTime:
              type: string
            SubmissionId:
              type: string
            AnswerText:
              type: string
            TypicalHoursToPost:
              type: string
            Id:
              type: string
            SendEmailAlertWhenPublished:
              type: boolean
        Errors:
          type: array
          items:
            type: string
        Form:
          type: array
          items:
            type: object
            properties:
              Type:
                type: string
              Id:
                type: string
        FormErrors:
          type: object
        SubmissionId:
          type: string
        Data:
          type: object
          properties:
            Fields:
              type: object
              additionalProperties:
                type: object
                properties:
                  Options:
                    type: array
                    items:
                      type: string
                  Type:
                    type: string
                  Required:
                    type: boolean
                  Label:
                    type: string
                  Value:
                    type: string
                  MinLength:
                    type: number
                  Id:
                    type: string
                  MaxLength:
                    type: number
                  Default:
                    type: string
        Groups:
          type: object
          additionalProperties:
            type: object
            properties:
              Type:
                type: string
              SubElements:
                type: array
                items:
                  type: object
                  properties:
                    Type:
                      type: string
                    Id:
                      type: string
              Required:
                type: boolean
              Label:
                type: string
              Id:
                type: string
        FieldsOrder:
          type: array
          items:
            type: string
        GroupsOrder:
          type: array
          items:
            type: string
        TypicalHoursToPost:
          type: integer
        AuthorSubmissionToken:
          type: string
        HasErrors:
          type: boolean
          example: false
    ErrorResponse:
      type: object
      required:
      - code
      - occurredAt
      properties:
        type:
          type: string
          format: uri
          default: about:blank
        title:
          type: string
        status:
          type: integer
          format: int32
          description: The HTTP status code generated by the origin server for this occurrence of the problem.
          minimum: 100
          maximum: 599
          example: 400
        detail:
          type: string
          description: A human readable explanation specific to this occurrence of the problem.
          example: Connection to database timed out
        instance:
          type: string
          format: uri
          description: An absolute URI that identifies the specific occurrence of the problem.
        code:
          type: string
          example: ERROR_PARAM_MISSING_PARAMETERS
          x-extensible-enum:
          - ERROR_ACCESS_DENIED
          - ERROR_FORM_DUPLICATE
          - ERROR_FORM_EMOJI
          - ERROR_FORM_REQUIRED
          - ERROR_FORM_REQUIRED_NICKNAME
          - ERROR_FORM_TOO_SHORT
          - ERROR_DUPLICATE_SUBMISSION
          - ERROR_PARAM_INVALID_API_KEY
          - ERROR_PARAM_INVALID_LOCALE
          - ERROR_PARAM_INVALID_PARAMETERS
          - ERROR_PARAM_MISSING_SUBJECT_ID
          - ERROR_PARAM_MISSING_USER_ID
          - ERROR_REQUEST_LIMIT_REACHED
          - ERROR_UNKNOWN
          - ERROR_UNSUPPORTED
          - ERROR_NOT_FOUND
          - ERROR_FORBIDDEN
          - ERROR_REQUEST_LINE_TOO_LARGE
        occurredAt:
          type: string
          format: date-time
          example: '2023-07-19T09:10:04.446Z'
  securitySchemes:
    Bv-Passkey:
      type: apiKey
      in: header
      name: Bv-Passkey
      description: GEO API key for authentication
x-refined-from:
- bazaarvoice-answers-api-openapi.yml
- bazaarvoice-conversations-submission-openapi.yml