Birdeye Business API

Create and maintain your business on Birdeye.

OpenAPI Specification

birdeye-business-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Birdeye Aggregation Business 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: Business
  description: Create and maintain your business on Birdeye.
paths:
  /v1/signup/reseller/subaccount:
    post:
      summary: Create a business
      operationId: create-a-business
      tags:
      - Business
      parameters:
      - name: rid
        in: query
        required: true
        description: Id of the Reseller.
        schema:
          type: number
        example: '12334667201'
      - name: email_id
        in: query
        required: true
        description: Business Email id.
        schema:
          type: string
        example: sample@birdeye.com
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 2166
                  message: Invalid Business Type
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                businessName:
                  type: string
                zip:
                  type: string
                type:
                  type: string
                phone:
                  type: number
                entityCategory:
                  type: string
                countryCode:
                  type: string
                aggrOptions:
                  type: number
              required:
              - businessName
              - zip
              - phone
  /v1/business/{businessNumber}/search:
    post:
      summary: Search Business
      operationId: search-business
      tags:
      - Business
      parameters:
      - name: businessNumber
        in: path
        required: true
        description: Long id of the business, under which user wants to search for.
        schema:
          type: number
        example: '169744180007807'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 400
                  message: Page size must not be less than one!
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                searchStr:
                  type: string
                sortBy:
                  type: string
                sortOrder:
                  type: string
                startIndex:
                  type: number
                pageSize:
                  type: number
  /v1/business/{business_id}:
    get:
      summary: Get Business
      operationId: get-business
      tags:
      - Business
      parameters:
      - name: business_id
        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
  /v1/business/{businessId}:
    put:
      summary: Update Business
      operationId: update-business
      tags:
      - Business
      parameters:
      - name: businessId
        in: path
        required: true
        description: The Business Number
        schema:
          type: string
        example: '12345678'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 6001
                  message: The 'sub_locality' field cannot exceed 80 characters.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                name:
                  type: string
                alias:
                  type: string
                isAddressHidden:
                  type: number
                location:
                  type: object
                  properties:
                    address1:
                      type: string
                    address2:
                      type: string
                    subLocality:
                      type: string
                    city:
                      type: string
                    state:
                      type: string
                    countryCode:
                      type: string
                    zip:
                      type: string
                  required:
                  - zip
                emailId:
                  type: string
                phone:
                  type: string
                fax:
                  type: string
                websiteUrl:
                  type: string
                establishedYear:
                  type: number
                timezone:
                  type: string
                languages:
                  type: array
                isServiceAreaProvider:
                  type: string
                serviceAreas:
                  type: array
                working24x7:
                  type: number
                hoursOfOperations:
                  type: array
                specialHours:
                  type: array
                businessStatus:
                  type: string
                reopenDate:
                  type: string
                services:
                  type: string
                keywords:
                  type: string
                products:
                  type: string
                appointmentLink:
                  type: string
                reservationLink:
                  type: string
                menuLink:
                  type: string
                orderAheadLink:
                  type: string
                impressum:
                  type: string
                payment:
                  type: string
                localPhoneNumber:
                  type: string
                tollFreePhoneNumber:
                  type: string
                androidAppURL:
                  type: string
                iosAppURL:
                  type: string
                logoUrl:
                  type: string
                gmbLogoOptOut:
                  type: number
                fbLogoOptOut:
                  type: number
                gmbCoverOptOut:
                  type: number
                fbCoverOptOut:
                  type: number
                coverImageUrl:
                  type: string
                gmbCover:
                  type: string
                facebookCover:
                  type: string
                coverBusinessInfoLayout:
                  type: string
                covidInfo:
                  type: object
                  properties:
                    postDescription:
                      type: string
                    covid19SupportLink:
                      type: string
                    virtualCareLink:
                      type: string
                bingListing:
                  type: object
                  properties:
                    primaryCategoryBing:
                      type: string
                    bingPhoneNumber:
                      type: string
                    categories:
                      type: string
                    bingDescription:
                      type: string
                internalListing:
                  type: object
                  properties:
                    description:
                      type: string
                    category:
                      type: string
                    subcategory:
                      type: string
                    displayCategory:
                      type: string
                  required:
                  - category
                  - subcategory
                facebookListing:
                  type: object
                  properties:
                    category:
                      type: string
                    facebookDescription:
                      type: string
                    facebookPhoneNumber:
                      type: string
                gmbListing:
                  type: object
                  properties:
                    googleWebsiteUrl:
                      type: string
                    googlePhoneNumber:
                      type: string
                    googleStoreId:
                      type: string
                    primaryCategoryGmb:
                      type: string
                    additionalCategory:
                      type: string
                    googleDescription:
                      type: string
                    attributes:
                      type: object
                    foodDelivery:
                      type: string
                    foodTakeout:
                      type: string
                socialProfileURLs:
                  type: object
                  properties:
                    facebookUrl:
                      type: string
                    twitterUrl:
                      type: string
                    linkedInUrl:
                      type: string
                    googleUrl:
                      type: string
                    youTubeUrl:
                      type: string
                isSEOEnabled:
                  type: boolean
                externalReferenceId:
                  type: string
                customFields:
                  type: object
                  properties:
                    type:
                      type: string
                    fieldValue:
                      type: string
                    fieldName:
                      type: string
                    id:
                      type: number
                  required:
                  - fieldName
                  - id
                entityCategory:
                  type: string
              required:
              - emailId
              - phone
              - services
  /v1/business/{business_Id}:
    delete:
      summary: Delete Business
      operationId: delete-business
      tags:
      - Business
      parameters:
      - name: business_Id
        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: 1175
                  message: No business found with the given id
  /v1/business/{business_id}/status:
    put:
      summary: Update the status
      operationId: update-the-status
      tags:
      - Business
      parameters:
      - name: business_id
        in: path
        required: true
        description: Business id whose status has to be changed. Returned by create business API
        schema:
          type: string
        example: '12345678'
      - name: astatus
        in: query
        required: true
        description: New status for the business. Valid values are "active/inactive".
        schema:
          type: string
        example: inactive
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 1191
                  message: Invalid status.
  /v1/business/child/all:
    get:
      summary: Get Child Businesses
      operationId: get-child-businesses
      tags:
      - Business
      parameters:
      - name: pid
        in: query
        required: true
        description: Reseller/Sub-reseller/Enterprise Id.
        schema:
          type: number
        example: '12345678'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                type: array
  /v1/business/tabs:
    post:
      summary: Update public profile of Businesses
      operationId: update-public-profile-of-businesses
      tags:
      - Business
      parameters:
      - name: businessId
        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: 1191
                  message: Invalid status.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                profileTabs:
                  type: array
  /v1/business/{businessId}/hierarchy:
    get:
      summary: Get hierarchy for an enterprise
      operationId: get-hierarchy-for-an-enterprise
      tags:
      - Business
      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
  /v1/business/business-hierarchy/location/update-mapping/{businessId}:
    post:
      summary: Update Hierarchy
      operationId: update-hierarchy
      tags:
      - Business
      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: 1011
                  message: Business id is invalid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                Level:
                  type: string
  /v1/business/{businessNumber}/profile/customcard:
    get:
      summary: Get Custom card details
      operationId: get-custom-card-details
      tags:
      - Business
      parameters:
      - name: businessNumber
        in: path
        required: true
        description: Id of a business (Long).
        schema:
          type: number
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 1011
                  message: Business id is invalid
  /v1/business/public/card/{cardId}:
    put:
      summary: Update Custom card
      operationId: update-custom-card
      tags:
      - Business
      parameters:
      - name: cardId
        in: path
        required: true
        description: Id of the custom card to update.
        schema:
          type: number
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 1011
                  message: Business id is invalid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                cardId:
                  type: number
                title:
                  type: string
                description:
                  type: string
                imageURL:
                  type: string
                imagePosition:
                  type: string
                isVisible:
                  type: number
                isPinOnTop:
                  type: number
                clickURL:
                  type: string
                linkText:
                  type: string
                type:
                  type: string
              required:
              - cardId
              - title
    delete:
      summary: Delete Custom card
      operationId: delete-custom-card
      tags:
      - Business
      parameters:
      - name: cardId
        in: path
        required: true
        description: Id of the custom card to delete.
        schema:
          type: number
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 1011
                  message: Business id is invalid
  /v1/business/{businessNumber}/timezones:
    get:
      summary: Get Timezone List
      operationId: get-timezone-list
      tags:
      - Business
      parameters:
      - name: businessNumber
        in: path
        required: true
        description: Id of a business (Long).
        schema:
          type: number
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 1011
                  message: Business id is invalid
  /v1/business/{businessNumber}/birdeye/impressions:
    post:
      summary: Get Birdeye Impressions
      operationId: get-birdeye-impressions
      tags:
      - Business
      parameters:
      - name: businessNumber
        in: path
        required: true
        description: Account Business Number.
        schema:
          type: string
        example: '169744180007807'
      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: string
                startDate:
                  type: string
                endDate:
                  type: string
                limit:
                  type: number
                startIndex:
                  type: number
                sortby:
                  type: string
                order:
                  type: string
              required:
              - businessNumbers
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: Partner specific API key provided by Birdeye for data exchange.