Birdeye Report API

Various reporting data points across Birdeye modules like reviews, insights and competitors etc for all your data visualisation

OpenAPI Specification

birdeye-report-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Birdeye Aggregation Report API
  description: RESTful API for managing online reviews, sending survey requests, responding to customer messages, automating review collection workflows, and tracking reputation metrics across multiple business locations.
  version: 1.0.0
  termsOfService: https://birdeye.com/terms-of-service/
  contact:
    url: https://developers.birdeye.com/
servers:
- url: https://api.birdeye.com
  description: Production
security:
- apiKey: []
tags:
- name: Report
  description: Various reporting data points across Birdeye modules like reviews, insights and competitors etc for all your data visualisation
paths:
  /v1/reports/smb:
    get:
      summary: Get Dashboard data
      operationId: get-dashboard-data
      tags:
      - Report
      parameters:
      - name: bid
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: string
        example: '12345678'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 89
                  message: Rate limit exceeded
  /v1/reports/business/analytics/email:
    get:
      summary: Get Review conversion report
      operationId: get-review-conversion-report
      tags:
      - Report
      parameters:
      - name: businessId
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: number
        example: '12345678'
      - name: fromDate
        in: query
        required: false
        description: Date from result is expected. Format MM/DD/YYYY.
        schema:
          type: string
        example: 01/13/2021
      - name: toDate
        in: query
        required: false
        description: Date up to result is expected. Format MM/DD/YYYY.
        schema:
          type: string
        example: 01/21/2021
      - name: days
        in: query
        required: false
        description: Use to get results for last some days.
        schema:
          type: number
        example: '120'
      - name: months
        in: query
        required: false
        description: Use to get results for last some months.
        schema:
          type: number
        example: '2'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 1039
                  message: Invalid business aggregation id
  /v1/reports/review/analytic/time:
    post:
      summary: Review and rating over time Report
      operationId: review-and-rating-over-time-report
      tags:
      - Report
      parameters:
      - name: businessId
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: number
        example: '12345678'
      - name: sortby
        in: query
        required: false
        description: Values can be 'count' or 'rating'.
        schema:
          type: string
        example: rating
      - name: sorder
        in: query
        required: false
        description: '''0'' for ascending and ''1'' for descending order.'
        schema:
          type: number
        example: '0'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 89
                  message: Rate limit exceeded
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                sourceAliases:
                  type: array
                businessNumbers:
                  type: array
                days:
                  type: number
  /v1/reports/rating/location:
    post:
      summary: Reviews & Rating By Location Report
      operationId: reviews-rating-by-location-report
      tags:
      - Report
      parameters:
      - name: businessId
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: number
        example: '12345678'
      - name: sortby
        in: query
        required: false
        description: Values can be 'count' or 'rating'.
        schema:
          type: string
        example: rating
      - name: sorder
        in: query
        required: false
        description: '''0'' for ascending and ''1'' for descending order.'
        schema:
          type: number
        example: '0'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 89
                  message: Rate limit exceeded
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                sourceAliases:
                  type: array
                businessNumbers:
                  type: array
                months:
                  type: number
  /v1/review/report/count-by-rating/{BusinessId}:
    post:
      summary: Review Count & Rating
      operationId: review-count-rating
      tags:
      - Report
      parameters:
      - name: BusinessId
        in: path
        required: true
        description: Id of the business.
        schema:
          type: string
        example: '12345678'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 1167
                  message: API key is missing
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                businessNumbers:
                  type: array
                sourceAlias:
                  type: string
                fromDate:
                  type: string
                toDate:
                  type: string
  /v1/review/report/count-by-rating/employee/{BusinessId}:
    post:
      summary: Review Count & Rating By Employee
      operationId: review-count-rating-by-employee
      tags:
      - Report
      parameters:
      - name: BusinessId
        in: path
        required: true
        description: Id of the business.
        schema:
          type: string
        example: '12345678'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 1167
                  message: API key is missing
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                businessNumbers:
                  type: array
                sourceAlias:
                  type: string
                fromDate:
                  type: string
                toDate:
                  type: string
                employees:
                  type: array
  /v1/keywords/opmetric/location:
    post:
      summary: Insights Category Report by location report
      operationId: insights-category-report-by-location-report
      tags:
      - Report
      parameters:
      - name: businessId
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: number
        example: '12345678'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 89
                  message: Rate limit exceeded
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                startDate:
                  type: string
                endDate:
                  type: string
                reviewSites:
                  type: array
                businessNumbers:
                  type: array
  /v2/competitive/ranking:
    post:
      summary: Competitive Ranking Report
      operationId: competitive-ranking-report
      tags:
      - Report
      parameters:
      - name: businessId
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: number
        example: '12345678'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 89
                  message: Rate limit exceeded
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                startDate:
                  type: string
                endDate:
                  type: string
                reviewSites:
                  type: array
  /v1/reports/nps/time/elst:
    post:
      summary: NPS Over time Report
      operationId: nps-over-time-report
      tags:
      - Report
      parameters:
      - name: businessId
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: number
        example: '12345678'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 89
                  message: Rate limit exceeded
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                startDate:
                  type: string
                endDate:
                  type: string
                reviewSites:
                  type: array
  /v1/reports/nps/location/elst:
    post:
      summary: NPS By Location Report
      operationId: nps-by-location-report
      tags:
      - Report
      parameters:
      - name: businessId
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: number
        example: '12345678'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 89
                  message: Rate limit exceeded
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                startDate:
                  type: string
                endDate:
                  type: string
                reviewSites:
                  type: array
                businessNumbers:
                  type: array
  /v1/reports/count/reviewsite:
    post:
      summary: Review By Source Report
      operationId: review-by-source-report
      tags:
      - Report
      parameters:
      - name: businessId
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: number
        example: '12345678'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 89
                  message: Rate limit exceeded
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                sourceAliases:
                  type: array
                businessNumbers:
                  type: array
                months:
                  type: number
  /v1/reports/count/visitors:
    post:
      summary: Visitor report
      operationId: visitor-report
      tags:
      - Report
      parameters:
      - name: businessId
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: number
        example: '12345678'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 89
                  message: Rate limit exceeded
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                sourceAliases:
                  type: array
                businessNumbers:
                  type: array
                months:
                  type: number
  /v1/reports/usage:
    post:
      summary: Usage report
      operationId: usage-report
      tags:
      - Report
      parameters:
      - name: business_id
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: number
        example: '12345678'
      - name: reportType
        in: query
        required: true
        description: The type of Report - Summary or Tabular.
        schema:
          type: string
        example: rating
      - name: sindex
        in: query
        required: true
        description: The starting index of the reviews
        schema:
          type: number
        example: '0'
      - name: count
        in: query
        required: true
        description: The number of reviews to query
        schema:
          type: string
        example: '100'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 89
                  message: Rate limit exceeded
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                startDate:
                  type: string
                endDate:
                  type: string
                reviewSites:
                  type: array
                ratings:
                  type: array
                days:
                  type: number
                groupByDays:
                  type: number
                reviewSiteAllFlag:
                  type: boolean
  /v1/review/report/response-rate/time/rate-over-time:
    post:
      summary: Review Response Rate Over Time
      operationId: review-response-rate-over-time
      tags:
      - Report
      parameters: []
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 1167
                  message: API key is missing
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                reviewSites:
                  type: array
                ratings:
                  type: array
                businessNumbers:
                  type: array
                startDate:
                  type: string
                endDate:
                  type: string
                comparisonFilter:
                  type: object
                  properties:
                    startDate:
                      type: string
                    endDate:
                      type: string
  /v1/review/report/response-rate/by-location/overview:
    post:
      summary: Review Response Rate By Location Overview
      operationId: review-response-rate-by-location-overview
      tags:
      - Report
      parameters:
      - name: order
        in: query
        required: false
        description: Sort order. 1 for descending, 0 for ascending.
        schema:
          type: number
        example: '1'
      - name: sortBy
        in: query
        required: false
        description: Field used for sorting, for example rate.
        schema:
          type: string
        example: rate
      - name: startIndex
        in: query
        required: false
        description: Starting index for pagination.
        schema:
          type: number
        example: '0'
      - name: size
        in: query
        required: false
        description: Number of records to return.
        schema:
          type: number
        example: '100'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 1167
                  message: API key is missing
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                reviewSites:
                  type: array
                ratings:
                  type: array
                businessNumbers:
                  type: array
                startDate:
                  type: string
                endDate:
                  type: string
                comparisonFilter:
                  type: object
                  properties:
                    startDate:
                      type: string
                    endDate:
                      type: string
  /v1/review/report/avg-response-time/by-location:
    post:
      summary: Average Response Time By Location
      operationId: average-response-time-by-location
      tags:
      - Report
      parameters:
      - name: order
        in: query
        required: false
        description: Sort order. 1 for descending, 0 for ascending.
        schema:
          type: number
        example: '1'
      - name: sortBy
        in: query
        required: true
        description: resp-time (string, optional) - Field used for sorting.
        schema:
          type: string
        example: avg
      - name: startIndex
        in: query
        required: false
        description: Starting index for pagination.
        schema:
          type: number
        example: '0'
      - name: size
        in: query
        required: false
        description: Number of records to return.
        schema:
          type: number
        example: '100'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 1167
                  message: API key is missing
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                reviewSites:
                  type: array
                ratings:
                  type: array
                businessNumbers:
                  type: array
                startDate:
                  type: string
                endDate:
                  type: string
                comparisonFilter:
                  type: object
                  properties:
                    startDate:
                      type: string
                    endDate:
                      type: string
  /v1/review/report/avg-response-time/time:
    post:
      summary: Average Response Time Over Time
      operationId: average-response-time-over-time
      tags:
      - Report
      parameters: []
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 1167
                  message: API key is missing
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                reviewSites:
                  type: array
                ratings:
                  type: array
                businessNumbers:
                  type: array
                startDate:
                  type: string
                endDate:
                  type: string
                comparisonFilter:
                  type: object
                  properties:
                    startDate:
                      type: string
                    endDate:
                      type: string
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: Partner specific API key provided by Birdeye for data exchange.