openapi: 3.0.0
info:
title: Conversations Display API
x-audience: external-partner
description: Conversations API Display operations by Bazaarvoice
version: 1.0.0
servers:
- url: https://stg.api.bazaarvoice.com
description: Conversations Staging API Server
paths:
/data/reviews.json:
get:
tags:
- default
summary: Retrieve Reviews
description: Reviews Api is used to display reviews for products and products related to a product family.
parameters:
- name: apiversion
in: query
schema:
type: number
description: The API version
required: true
example: '5.4'
- name: passkey
in: query
schema:
type: string
description: API key is required to authenticate API user and check permission to access particular client's
data.
required: true
example: caB45h2jBqXFw1OE043qoMBD1gJC8EwFNCjktzgwncXY4
- name: Attributes
in: query
schema:
type: string
description: Attributes to be included when returning content. For example, if includes are requested along
with the &attributes=ModeratorCodes parameter, both the includes and the results will contain moderator
codes. In order to filter by ModeratorCode, you must request the ModeratorCodes attribute parameter.
example: ModeratorCodes
- name: Callback
in: query
schema:
type: string
description: 'Callback function name used with JSONP. Value is a string consisting of the following characters:
a-z,A-Z,0-9,_ (excluding comma)'
example: custom_Function01
- name: ExcludeFamily
in: query
schema:
type: boolean
description: Boolean flag indicating whether to exclude content from other products in the same family as
the requested product.
example: 'true'
- name: Filter
in: query
schema:
type: array
items:
type: string
style: form
explode: true
description: "Filter criteria for primary content of the query. Multiple filter\ncriteria are supported.\
\ Here you can find few of many options we can use the filter parameter \n- Each filter argument specifies\
\ the attribute to filter on followed by a comma-separated list of values. For instance, \"Filter=Rating:eq:3,4\"\
\ will match all reviews with rating values 3 OR 4.\n- Advanced operators can be used to define filters.\
\ For instance, \"Filter=Rating:lt:3\" will match all reviews with a rating value less than 3. All advanced\
\ operators are documented on the Conversations API page.\n- If a filter value contains a comma or a colon,\
\ that character needs to be escaped with a backslash (\\, or \\:). If a filter value contains an ampersand\
\ (&), the ampersand must be encoded in the filter value by replacing & with %26.\n- Multiple filters\
\ are allowed as URL parameters in which case filters are AND'ed. For instance, \"Filter=Rating:gte:4&Filter=IsFeatured:eq:true\"\
\ will match all featured reviews with a rating of 4-star or higher.\n- Time-based filters can be used\
\ for SubmissionTime, LastModificationTime and LastModeratedTime. Dates in time-based filters are calculated\
\ as the number of seconds since January 1, 1970, 00:00:00 UTC. In a future version, we will be adding\
\ support for comparing date/time string values. The following example returns content that was submitted\
\ on November 9, 2009: &filter=SubmissionTime:gt:1257746400&filter=SubmissionTime:lt:1257832800\n\nBelow\
\ we will be stating few examples of the filter parameter\n- Single Filter value: &filter=Id:47950830\n\
- Comma Seperated Multiple Filter values: &filter=Id:eq:47938933,47950830,47645686\n- Multiple Filter\
\ AND'ed value: &filter=ProductId:155590400&filter=HasPhotos:eq:false&SubmissionTime:gt:1694629800000&filter=.....\n"
- name: Filter_[TYPE]
in: query
schema:
type: string
description: Filtering option for included nested content. TYPE can be any included nested content. i.e.
Comments for Reviews.
example: Id:eq:sp-1
- name: FilteredStats
in: query
schema:
type: string
description: "Statistics based on the filters used to perform queries. The filtered statistics are returned\
\ in their own block and can be returned any place that a regular statistics block can be currently returned.\
\ Available content types are: Reviews, Questions, Answers. Note: FilteredStats must be used in conjunction\
\ with \"Include=Products\". The filtered stats block will be identical to a regular stats block if a\
\ filtered stat is requested but a filter has not been specified for the particular type of stat being\
\ requested.\t"
example: Reviews
- name: IncentivizedStats
in: query
schema:
type: boolean
description: If set to true, displays the number of incentivized reviews for each product or author returned
in the response within an IncentivizedReviewCount element. This parameter must be used in conjunction
with the Include parameter to include authors or products in the response, and also with the FilteredStats
or Stats parameters to include statistics for reviews in the response.
example: 'false'
- name: Include
in: query
schema:
type: string
description: Related subjects to be included (e.g. Products, Categories, Authors, or Comments).
example: Products
- name: Limit
in: query
schema:
type: integer
description: Max number of records returned. An error is returned if the value passed exceeds 100.
example: '10'
- name: Limit_[TYPE]
in: query
schema:
type: integer
description: Limit option for the nested content type returned. TYPE can be any nested content. i.e. Comments
for Reviews. An error is returned if the value passed exceeds 20.
example: '10'
- name: Locale
in: query
schema:
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.
example: en_US
- name: Offset
in: query
schema:
type: integer
description: Index at which to return results. By default, indexing begins at 0 when you issue a query.
Using Limit=100, Offset=0 returns results 0-99. When changing this to Offset=1, results 1-100 are returned.
The maximum supported value is 300000.
example: '20'
- name: Search
in: query
schema:
type: string
description: 'Full-text search string used to find UGC.
Results can not be sorted when using Search.
Search is only available to requests filtered by one product ID.'
example: keys
- name: Sort
in: query
schema:
type: array
items:
type: string
style: form
explode: true
description: "Ways to sort reviews\n- Sort criteria for primary content type of the query. Sort order is\
\ required (asc or desc). \n- Multi-attribute sorting for each content/subject type is supported (except\
\ for contentLocale). \n\nBelow we will be stating few examples of the sort parameter\n - Single Sort\
\ value: &sort=Rating:desc\n - Multiple Sort values AND'ed: &sort=Rating:desc&sort=TotalCommentCount:desc\n"
- name: Sort_[TYPE]
in: query
schema:
type: string
description: Sorting option for nested content. Sort order is required (asc or desc). TYPE can be any nested
content. i.e. Comments for Reviews.
example: Id:desc
- name: Stats
in: query
schema:
type: string
description: "The type of statistics that will be calculated on included subjects. Available content types\
\ are: Reviews, Questions, Answers. Note: Not all statistical content types apply to every possible include.\t"
example: Reviews
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Review'
'400':
$ref: '#/components/responses/BadRequestResponse'
'401':
$ref: '#/components/responses/UnauthorizedResponse'
'429':
$ref: '#/components/responses/TooManyRequestsResponse'
'500':
$ref: '#/components/responses/InternalServerErrorResponse'
/data/reviewcomments.json:
get:
tags:
- default
summary: Retrieve Comments
description: Comments Api is used to display comments posted on reviews. It can be used request all comments
for a particular review or particular comment on a review. It even allows advanced requests based on the
filters that are defined below.
parameters:
- name: apiversion
in: query
schema:
type: number
description: The API version
required: true
example: '5.4'
- name: passkey
in: query
schema:
type: string
description: API key is required to authenticate API user and check permission to access particular client's
data.
required: true
example: caB45h2jBqXFw1OE043qoMBD1gJC8EwFNCjktzgwncXY4
- name: Attributes
in: query
schema:
type: string
description: Attributes to be included when returning content. For example, if includes are requested along
with the &attributes=ModeratorCodes parameter, both the includes and the results will contain moderator
codes. In order to filter by ModeratorCode, you must request the ModeratorCodes attribute parameter.
example: ModeratorCodes
- name: Callback
in: query
schema:
type: string
description: 'Callback function name used with JSONP. Value is a string consisting of the following characters:
a-z,A-Z,0-9,_ (excluding comma)'
example: custom_Function01
- name: ExcludeFamily
in: query
schema:
type: boolean
description: Boolean flag indicating whether to exclude content from other products in the same family as
the requested product
example: 'true'
- name: Filter
in: query
schema:
type: array
items:
type: string
style: form
explode: true
description: "Filter criteria for primary content of the query. Multiple filter\ncriteria are supported.\
\ Here you can find few of many options we can use the filter parameter \n- Each filter argument specifies\
\ the attribute to filter on followed by a comma-separated list of values. For instance, \"Filter=TotalFeedbackCount:eq:3,4\"\
\ will match all content with TotalFeedbackCount values equal to 3 OR 4.\n- Advanced operators can be\
\ used to define filters. For instance, \"Filter=TotalFeedbackCount:lte:10\" will match all content with\
\ a rating value less than or equal to 10. All advanced operators are documented on the Conversations\
\ API page.\n- If a filter value contains a comma or a colon, that character needs to be escaped with\
\ a backslash (\\, or \\:). If a filter value contains an ampersand (&), the ampersand must be encoded\
\ in the filter value by replacing & with %26.If a filter value contains a comma or a colon, that character\
\ needs to be escaped with a backslash (\\, or \\:). If a filter value contains an ampersand (&), the\
\ ampersand must be encoded in the filter value by replacing & with %26.\n- Multiple filters are allowed\
\ as URL parameters in which case filters are AND'ed. For instance, \"Filter=Rating:gte:4&Filter=IsFeatured:eq:true\"\
\ will match all featured reviews with a rating of 4-star or higher.Multiple filters are allowed as URL\
\ parameters in which case filters are AND'ed. For instance, \"Filter=TotalFeedbackCount:gt:10&Filter=IsFeatured:true\"\
\ will match all featured content with a TotalFeedbackCount value of greater than 10.\n- Time-based filters\
\ can be used for SubmissionTime, LastModificationTime and LastModeratedTime. Dates in time-based filters\
\ are calculated as the number of seconds since January 1, 1970, 00:00:00 UTC. In a future version, we\
\ will be adding support for comparing date/time string values. The following example returns content\
\ that was submitted on November 9, 2009: &filter=SubmissionTime:gt:1257746400&filter=SubmissionTime:lt:1257832800\
\ .\n\nBelow we will be stating few examples of the filter parameter\n- Single Filter value: &filter=TotalFeedbackCount:lt:5\n\
- Comma Seperated Multiple Filter values: &filter=Id:eq:4723748,4723746\n- Multiple Filter AND'ed value:\
\ &filter=SubmissionTime:gt:1610649000000&filter=SubmissionTime:lt:1610908200000&filter=IsFeatured:eq:false&filter=.....\n"
- name: Include
in: query
schema:
type: string
description: Related subjects to be included in the response. Can be one or more (comma-separated) of Reviews,
Products, Categories, or Authors.
example: Products
- name: Limit
in: query
schema:
type: integer
description: "Max number of records returned. An error is returned if the value passed exceeds 100.\t"
example: '10'
- name: Locale
in: query
schema:
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.\t"
example: en_US
- name: Offset
in: query
schema:
type: integer
description: Index at which to return results. By default, indexing begins at 0 when you issue a query.
Using Limit=100, Offset=0 returns results 0-99. When changing this to Offset=1, results 1-100 are returned.
The maximum supported value is 300000.
example: '20'
- name: Sort
in: query
schema:
type: array
items:
type: string
style: form
explode: true
description: "Ways to sort comments\n- Sort criteria is specified as <sort option>:asc for ascending and\
\ <sort option>:desc for descending. \n- Sort order is required (asc or desc).Multi-attribute sorting\
\ is supported by using a comma separated list of sort criteria for a content/subject type. For instance\
\ Sort=TotalFeedbackCount:desc,TotalPositiveFeedbackCount:asc sorts by number of feedbacks received descending,\
\ then number of positive feedbacks received ascending.\n\nBelow we will be stating few examples of the\
\ sort parameter\n - Single Sort value: &sort=Rating:desc\n - Multiple Sort values AND'ed: &sort=Rating:desc&sort=TotalCommentCount:desc\n"
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Comment'
'400':
$ref: '#/components/responses/BadRequestResponse'
'401':
$ref: '#/components/responses/UnauthorizedResponse'
'429':
$ref: '#/components/responses/TooManyRequestsResponse'
'500':
$ref: '#/components/responses/InternalServerErrorResponse'
/data/questions.json:
get:
tags:
- default
summary: Retrieve Questions
description: Questions Api is used to display questions posted on Products. Questions Api can also be used
to pull question based on filters mentioned below.
parameters:
- name: apiversion
in: query
schema:
type: number
description: The API version
required: true
example: '5.4'
- name: passkey
in: query
schema:
type: string
description: API key is required to authenticate API user and check permission to access particular client's
data.
required: true
example: caB45h2jBqXFw1OE043qoMBD1gJC8EwFNCjktzgwncXY4
- name: Attributes
in: query
schema:
type: string
description: Attributes to be included when returning content. For example, if includes are requested along
with the &attributes=ModeratorCodes parameter, both the includes and the results will contain moderator
codes. In order to filter by ModeratorCode, you must request the ModeratorCodes attribute parameter.
example: ModeratorCodes
- name: Callback
in: query
schema:
type: string
description: 'Callback function name used with JSONP. Value is a string consisting of the following characters:
a-z,A-Z,0-9,_ (excluding comma)'
example: custom_Function01
- name: ExcludeFamily
in: query
schema:
type: boolean
description: Boolean flag indicating whether to exclude content from other products in the same family as
the requested product.
example: 'true'
- name: Filter
in: query
schema:
type: array
items:
type: string
style: form
explode: true
description: "Filter criteria for primary content of the query. Multiple filter\ncriteria are supported.\
\ Here you can find few of many options we can use the filter parameter \n- Each filter argument specifies\
\ the attribute to filter on followed by a comma-separated list of values. For instance, \"Filter=Id:eq:3,4\"\
\ will match Questions with Ids 3 OR 4.\n- Advanced operators can be used to define filters. For instance,\
\ \"Filter=Id:gt:50\" will match Questions with an Id value greater than 50. All advanced operators are\
\ documented on the Conversations API page.\n- If a filter value contains a comma or a colon, that character\
\ needs to be escaped with a backslash (\\, or \\:). If a filter value contains an ampersand (&), the\
\ ampersand must be encoded in the filter value by replacing & with %26.\n- Multiple filters are allowed\
\ as URL parameters in which case filters are AND'ed. For instance, \"Filter=ProductId:eq:75&Filter=isfeatured:eq:true\"\
\ will match all featured Questions for the Product with Id 75.\n- Time-based filters can be used for\
\ SubmissionTime, LastModificationTime and LastModeratedTime. Dates in time-based filters are calculated\
\ as the number of seconds since January 1, 1970, 00:00:00 UTC. In a future version, we will be adding\
\ support for comparing date/time string values. The following example returns content that was submitted\
\ on November 9, 2009: &filter=SubmissionTime:gt:1257746400&filter=SubmissionTime:lt:1257832800 .\n\n\
Below we will be stating few examples of the filter parameter\n- Single Filter value: &filter=Id:eq:1852069\n\
- Comma Seperated Multiple Filter values: &filter=Id:eq:1852069,1852039,1852069,...\n- Multiple Filter\
\ AND'ed value: &filter=Id:eq:1852069,1852039,1852069&filter=hasAnswers:eq:true&filter=.....\n"
- name: Filter_[TYPE]
in: query
schema:
type: string
description: Filtering option for included nested content. TYPE can be any included nested content. e.g.
Answers for Questions.
example: Id:eq:sp-1
- name: Include
in: query
schema:
type: string
description: Related subjects to be included (e.g. Products, Categories, Authors, or Answers).
example: Products
- name: Limit
in: query
schema:
type: integer
description: Max number of records returned. An error is returned if the value passed exceeds 100.
example: '10'
- name: Limit_[TYPE]
in: query
schema:
type: integer
description: "Limit option for the nested content type returned. TYPE can be any nested content. e.g. Answers\
\ for Questions. An error is returned if the value passed exceeds 20.\t"
example: '10'
- name: Locale
in: query
schema:
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.
example: en_US
- name: Offset
in: query
schema:
type: integer
description: Index at which to return results. By default, indexing begins at 0 when you issue a query.
Using Limit=100, Offset=0 returns results 0-99. When changing this to Offset=1, results 1-100 are returned.
The maximum supported value is 300000.
example: '20'
- name: Search
in: query
schema:
type: string
description: 'Full-text search string used to find UGC.
Results can not be sorted when using Search.
Search is only available to requests filtered by one product ID.'
example: keys
- name: Sort
in: query
schema:
type: array
items:
type: string
style: form
explode: true
description: "Ways to sort questions\n- Sort order is required (asc or desc). There is no default.\n- Multi-attribute\
\ sorting is supported by using a comma separated list of sort criteria for a content/subject type. e.g.\
\ Sort=rating:asc,submissiontime:desc\n\nBelow we will be stating few examples of the sort parameter\n\
\ - Single Sort value: &sort=Rating:desc\n - Multiple Sort values AND'ed: &sort=Rating:desc&sort=Submissiontime:desc\n"
- name: Sort_[TYPE]
in: query
schema:
type: string
description: Sorting option for nested content. TYPE can be any nested content. e.g. Answers for Questions.
example: Id:desc
- name: Stats
in: query
schema:
type: string
description: 'The type of statistics that will be calculated on included subjects. Available content types
are: Reviews, Questions, Answers. Note: Not all statistical content types apply to every possible include.'
example: Reviews
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Question'
'400':
$ref: '#/components/responses/BadRequestResponse'
'401':
$ref: '#/components/responses/UnauthorizedResponse'
'429':
$ref: '#/components/responses/TooManyRequestsResponse'
'500':
$ref: '#/components/responses/InternalServerErrorResponse'
/data/answers.json:
get:
tags:
- default
summary: Retrieve Answers
description: Answers Api is used to display answers posted on the questions posted for products.
parameters:
- name: apiversion
in: query
schema:
type: number
description: The API version
required: true
example: '5.4'
- name: passkey
in: query
schema:
type: string
description: API key is required to authenticate API user and check permission to access particular client's
data.
required: true
example: caB45h2jBqXFw1OE043qoMBD1gJC8EwFNCjktzgwncXY4
- name: Attributes
in: query
schema:
type: string
description: Attributes to be included when returning content. For example, if includes are requested along
with the &attributes=ModeratorCodes parameter, both the includes and the results will contain moderator
codes. In order to filter by ModeratorCode, you must request the ModeratorCodes attribute parameter.
example: ModeratorCodes
- name: Callback
in: query
schema:
type: string
description: 'Callback function name used with JSONP. Value is a string consisting of the following characters:
a-z,A-Z,0-9,_ (excluding comma)'
example: custom_Function01
- name: ExcludeFamily
in: query
schema:
type: boolean
description: Boolean flag indicating whether to exclude content from other products in the same family as
the requested product.
example: 'true'
- name: Filter
in: query
schema:
type: array
items:
type: string
style: form
explode: true
description: "Filter criteria for primary content of the query. Multiple filter\ncriteria are supported.\
\ Here you can find few of many options we can use the filter parameter \n- Each filter argument specifies\
\ the attribute to filter on followed by a comma-separated list of values. For instance, \"Filter=Id:eq:50,75\"\
\ will match all Answers with Id 50 OR 75.\n- Advanced operators can be used to define filters. For instance,\
\ \"Filter=Id:lt:100\" will match all Answers with an Id value of less than 100. All advanced operators\
\ are documented on the Conversations API page.\n- If a filter value contains a comma or a colon, that\
\ character needs to be escaped with a backslash (\\, or \\:). If a filter value contains an ampersand\
\ (&), the ampersand must be encoded in the filter value by replacing & with %26.\n- Multiple filters\
\ are allowed as URL parameters in which case filters are AND'ed. For instance, \"Filter=QuestionId:eq:50&filter=isfeatured:true\"\
\ will match all featured Answers with QuestionId 50.\n- Time-based filters can be used for SubmissionTime,\
\ LastModificationTime and LastModeratedTime. Dates in time-based filters are calculated as the number\
\ of seconds since January 1, 1970, 00:00:00 UTC. In a future version, we will be adding support for comparing\
\ date/time string values. The following example returns content that was submitted on November 9, 2009:\
\ &filter=SubmissionTime:gt:1257746400&filter=SubmissionTime:lt:1257832800 .\n\nBelow we will be stating\
\ few examples of the filter parameter\n- Single Filter value: &filter=Id:1865584\n- Comma Seperated Multiple\
\ Filter values: &filter=Id:eq:1675274,1675262,1675260\n- Multiple Filter AND'ed value: &filter=QuestionId:eq:1483881&filter=ProductId:eq:100986399&filter=.....\n"
- name: Include
in: query
schema:
type: string
description: Related subjects to be included (e.g. Products, Categories, Authors, or Answers).
example: Products
- name: Limit
in: query
schema:
type: integer
description: Max number of records returned. An error is returned if the value passed exceeds 100.
example: '10'
- name: Locale
in: query
schema:
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.
example: en_US
- name: Offset
in: query
schema:
type: integer
description: Index at which to return results. By default, indexing begins at 0 when you issue a query.
Using Limit=100, Offset=0 returns results 0-99. When changing this to Offset=1, results 1-100 are returned.
The maximum supported value is 300000.
example: '20'
- name: Sort
in: query
schema:
type: array
items:
type: string
style: form
explode: true
description: "Ways to sort answers\n- Sort order is required (asc or desc). There is no default.\n- Multi-attribute\
\ sorting is supported by using a comma separated list of sort criteria for a content/subject type. e.g.\
\ Sort=Id:asc,SubmissionTime:desc\n\nBelow we will be stating few examples of the sort parameter\n - Single\
\ Sort value: &sort=Id:desc\n - Multiple Sort values AND'ed: &sort=Id:desc&sort=SubmissionTime:desc\n"
- name: Stats
in: query
schema:
type: string
description: 'The type of statistics that will be calculated on included subjects. Available content types
are: Answers, Questions, Reviews. Note: Not all statistical content types apply to every possible include.'
example: Reviews
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Answer'
'400':
$ref: '#/components/responses/BadRequestResponse'
'401':
$ref: '#/components/responses/UnauthorizedResponse'
'429':
$ref: '#/components/responses/TooManyRequestsResponse'
'500':
$ref: '#/components/responses/InternalServerErrorResponse'
/data/authors.json:
get:
tags:
- default
summary: Retrieve Profiles
description: Profile/Authors Api is used to display about Author Information who have written reviews, questions
and answers.
parameters:
- name: apiversion
in: query
schema:
type: number
description: The API version
required: true
example: '5.4'
- name: passkey
in: query
schema:
type: string
description: API key is required to authenticate API user and check permission to access particular client's
data.
required: true
example: caB45h2jBqXFw1OE043qoMBD1gJC8EwFNCjktzgwncXY4
- name: Attributes
in: query
schema:
type: string
description: Attributes to be included when returning content. For example, if includes are requested along
with the &attributes=ModeratorCodes parameter, both the includes and the results will contain moderator
codes. In order to filter by ModeratorCode, you must request the ModeratorCodes attribute parameter.
example: ModeratorCodes
- name: Callback
in: query
schema:
type: string
description: 'Callback function name used with JSONP. Value is a string consisting of the following characters:
a-z,A-Z,0-9,_ (excluding comma)'
example: custom_Function01
- name: ExcludeFamily
in: query
schema:
type: boolean
description: Boolean flag indicating whether to exclude content from other products in the same family as
the requested product.
example: 'true'
- name: Filter
in: query
schema:
type: array
items:
type: string
style: form
explode: true
description: "Filter criteria for primary content of the query. Multiple filter\ncriteria are supported.\
\ Here you can find few of many options we can use the filter parameter \n- Each filter argument specifies\
\ the attribute to filter on followed by a comma-separated list of values. For instance, \"Filter=ModeratorCode:eq:LI,PD\"\
\ will match all content with moderation code values of LI (Liability Concern) or PD (Product Description\
\ Inaccurate).\n- Advanced operators can be used to define filters. For instance, \"Filter=TotalReviewCount:gte:10\"\
\ will match all content with a TotalReviewCount v
# --- truncated at 32 KB (81 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bazaarvoice/refs/heads/main/openapi/bazaarvoice-conversations-display-openapi.yml