openapi: 3.1.0 info: title: Birdeye 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: [] components: securitySchemes: apiKey: type: apiKey in: header name: x-api-key description: Partner specific API key provided by Birdeye for data exchange. 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 /v1/business/public/custom-fields/create: post: summary: Create operationId: create tags: - Custom Fields parameters: [] responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 5040 message: Max limit reached for custom fields. requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: defaultValue: type: string dropDownOptions: type: array fieldDescription: type: string fieldName: type: string filterable: type: boolean type: type: string required: - fieldName - type /v1/business/public/custom-fields/update/{fieldId}: put: summary: Update operationId: update tags: - Custom Fields parameters: - name: fieldId in: path required: true description: fieldId of the custom field created earlier. schema: type: number example: '376' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 5026 message: Custom field updation failed. requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: defaultValue: type: string dropDownOptions: type: array fieldDescription: type: string filterable: type: boolean isHidden: type: boolean /v1/business/public/custom-fields/get/{fieldId}?locationBizNumber={locationBizNumber}: get: summary: Get operationId: get tags: - Custom Fields parameters: - name: fieldId in: path required: true description: fieldId of the custom field created earlier. schema: type: number example: '376' - name: locationBizNumber in: path required: true description: Long Location number of the Location schema: type: number example: '123456789' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 5025 message: Custom field not found. /v1/business/public/custom-fields/getList?locationBizNumber={locationBizNumber}: post: summary: POST operationId: post tags: - Custom Fields parameters: - name: locationBizNumber in: path required: true description: Long Location number of the Location. schema: type: number example: '123456789' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1027 message: Invalid business number. requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: page: type: number size: type: number searchStr: type: string sortBy: type: string orderBy: type: string required: - page - size /v1/business/public/custom-fields/delete/{fieldId}: delete: summary: Delete operationId: delete tags: - Custom Fields parameters: - name: fieldId in: path required: true description: fieldId of the custom field created earlier. schema: type: number example: '376' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 5028 message: Custom field delete failed. /v1/business/public/custom-fields/associate: put: summary: Associate operationId: associate tags: - Custom Fields parameters: [] responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 5028 message: Custom field delete failed. requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: fieldId: type: number fieldValue: type: string businessNumber: type: number required: - fieldId - fieldValue - businessNumber /v1/business/public/card: post: summary: Create Custom card operationId: create-custom-card tags: - Custom Fields parameters: [] 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: title: type: string description: type: string imageURL: type: string imagePosition: type: number isVisible: type: number isPinOnTop: type: number clickURL: type: string required: - title /v1/user/signup/v2: post: summary: Create User operationId: create-user tags: - User parameters: [] responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1059 message: Last name cannot be more than 50 characters requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: firstName: type: string lastName: type: string userEmailId: type: string phone: type: string userRole: type: string sendInvite: type: boolean required: - userEmailId - userRole /v1/user/updateUser: put: summary: Update User operationId: update-user tags: - User parameters: - name: userEmailId in: query required: true description: Email id of the user to be updated schema: type: string example: abc@test.com - name: entUser in: query required: true description: 'true if the user needs to provide enterprise level access in case of all locations. entUser needs to be passed as true if user needs to be provided access to all locations otherwise by default its false.' schema: type: boolean example: 'false' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1189 message: User with given email id not found. requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: locationsNumberAccess: type: array user: type: object properties: firstName: type: string lastName: type: string userRole: type: string notification: type: object properties: sendReviewEmailAlert: type: number sendDailyReviewDigest: type: number dailyDigestAbsoluteTime: type: string dailyDigestRunHour: type: number dailyDigestRunMinute: type: number sendWeeklyReviewDigest: type: number weeklyDigestAbsoluteTime: type: string weeklyDigestRunDay: type: number weeklyDigestRunHour: type: number weeklyDigestRunMinute: type: number sendReviewSmsAlert: type: number sendDailySocialDigest: type: number sendTicketAlert: type: number sendTicketStatusAlert: type: number sendTicketAssigneeChangeAlert: type: number sendTicketCommentAlert: type: number sendTicketStartOrStoppedWatchingAlert: type: number sendSurveyAlert: type: number sendReferralAlert: type: number sendScanToolSignUpAlert: type: number webChatEmailInterval: type: string webChatEmailAbsoluteTime: type: string enableWebchat: type: number enableTeamAlert: type: number reviewAlertRatings: type: array messengerEmailConversationType: type: string assignedToMeAlert: type: number enableBrowserNotification: type: number messengerReportEnable: type: number appointmentBooking: type: number appointmentFormsEnabled: type: number enableAIPostSuggestions: type: number enablePostFailureEmail: type: number enableDirectMessageEmail: type: number enablePostCommentsEmail: type: number enableMentionsEmail: type: number enableStoryMentionsEmail: type: number enableNewFollowersEmail: type: number enableRetweetEmail: type: number enableQuoteTweetEmail: type: number enablePostFailureBrowserNotification: type: number paymentAlert: type: number sendBrokenIntegrationAlert: type: number sendBrokenIntegrationEmail: type: number /v1/user/remove: delete: summary: Delete a user operationId: delete-a-user tags: - User parameters: - name: bid in: query required: true description: Business Id from which user access has to be revoked schema: type: string example: '123' - name: email in: query required: true description: Email id of the user whose access has to be revoked schema: type: string example: abc@test.com responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1175 message: No business found with the given id /v1/user/forgotpassword: post: summary: Forgot Password operationId: forgot-password tags: - User parameters: - name: email in: query required: true description: Email Id of the user whose access has to be revoked schema: type: string example: abc@test.com responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1189 message: User with given email id not found. /v1/user/details: get: summary: Get details of a user operationId: get-details-of-a-user tags: - User parameters: - name: email in: query required: true description: Email Id of the user whose details to be retrieved schema: type: string example: abc@test.com responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1010 message: No user found with the given id /v1/review/businessId/{businessId}: post: summary: Get Reviews operationId: get-reviews tags: - Reviews parameters: - name: businessId in: path required: true description: Id of the Business. schema: type: number example: '12345678' - name: sindex in: query required: true description: Start index of the reviews. Refer API note for max permissible value. schema: type: integer example: '10' - name: count in: query required: true description: Number of reviews to query. Refer API note for max permissible value. schema: type: integer example: '30' - name: includeNonAggregatedReviews in: query required: false description: Include Reviews whose auto-crawling is blocked e.g. PressGaney schema: type: boolean example: 'false' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1244 message: Maximum 5 keywords can be selected for filter. requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: fromDate: type: string toDate: type: string fromTimestamp: type: number toTimestamp: type: number updateFromDate: type: string updateToDate: type: string sources: type: string ratings: type: array searchStr: type: string subBusinessIds: type: array statuses: type: array allChild: type: boolean tags: type: array fetchExtraParams: type: boolean needCustomerInfo: type: boolean fetchAssitedByDetails: type: boolean /v1/review/archive/public: post: summary: Archived Get Reviews operationId: archived-get-reviews tags: - Reviews parameters: - name: includeNonAggregatedReviews in: query required: false description: Include reviews whose auto-crawling is blocked. Default is false. schema: type: boolean example: 'false' - name: sindex in: query required: false description: Start index of the reviews. Default is 0. schema: type: integer example: '0' - name: count in: query required: false description: Number of reviews to fetch. Default is 10000. schema: type: integer example: '10000' - name: sortby in: query required: false description: Sort field identifier. Default is 7. schema: type: integer example: '7' - name: sortorder in: query required: false description: Sort order identifier. Default is 1. schema: type: integer example: '1' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 400 message: Invalid media id requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: businessNumbers: type: array startDate: type: number endDate: type: number sourceAlias: type: array deleteStartDate: type: number deleteEndDate: type: number ratings: type: array statuses: type: array searchStr: type: string /v1/review/businessid/{businessId}/summary: get: summary: Get reviews summary operationId: get-reviews-summary tags: - Reviews parameters: - name: businessId in: path required: true description: Id of the business. schema: type: string example: '12345678' - name: statuses in: query required: false description: List of review status. Status “published” refers to featured reviews, while “parked” refers to non-featured reviews. schema: type: string[] example: published,parked responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1167 message: API key is missing /v1/review/reply/business/{businessNumber}/review/{reviewId}: put: summary: Post Review Reply operationId: post-review-reply tags: - Reviews parameters: - name: businessNumber in: path required: true description: Id of the business. schema: type: string example: '169744180007807' - name: reviewId in: path required: true description: Review Id. schema: type: string example: '88778877' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 2078 message: Error while posting a reply to Rent requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: response: type: string isPrivateResponse: type: string /v1/tag: post: summary: Create tags operationId: create-tags tags: - Reviews 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: 1011 message: Business id is invalid requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: tags: type: array /v1/tag/{tagname}: delete: summary: Delete a tag operationId: delete-a-tag tags: - Reviews parameters: - name: businessId in: query required: true description: Business Number. schema: type: string example: '12345678' - name: tagname in: path required: true description: Tag name to be deleted. schema: type: string example: positive2022 responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1011 message: Business id is invalid /v1/tag/all: get: summary: Get all tags operationId: get-all-tags tags: - Reviews parameters: - name: businessId in: query required: true description: Business Number. 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 /v1/tag/add/review: post: summary: Assign tags to filtered reviews operationId: assign-tags-to-filtered-reviews tags: - Reviews parameters: - name: bid in: query required: true description: Id of the Business. schema: type: string example: '12345678' - name: tag in: query required: true description: List of tags. schema: type: string example: positive2022&negative2022 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 /v1/tag/remove/review: post: summary: Remove tags from filtered reviews operationId: remove-tags-from-filtered-reviews tags: - Reviews parameters: - name: bid in: query required: true description: Id of the Business. schema: type: string example: '12345678' - name: tag in: query required: true description: List of tags to be removed from reviews. schema: type: string example: positive2022&negative2022 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 /v1/tag/remove/all/review: post: summary: Remove particular tags from all reviews operationId: remove-particular-tags-from-all-reviews tags: - Reviews 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: 1011 message: Business id is invalid requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: tags: type: array /v1/customer-v2/external/saveCustomer: post: summary: Create or Update Contact operationId: create-or-update-contact tags: - Contact 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: 5043 message: Contact not found for the given request requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: id: type: string firstName: type: string lastName: type: string email: type: string phone: type: string countryCode: type: string smsOptin: type: boolean emailOptin: type: boolean blocked: type: boolean businessIds: type: array tags: type: string customFields: type: array externalId: type: string /v1/customer-v2/external/getCustomer: post: summary: Get Contact operationId: get-contact tags: - Contact 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: 5043 message: Contact not found for the given request requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: id: type: string cid: type: string email: type: string phone: type: string experienceScore: type: boolean /v1/customer-v2/external/deleteCustomer: post: summary: Delete Contact operationId: delete-contact tags: - Contact 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: 5043 message: Contact not found for the given request requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: id: type: string businessIds: type: array required: - id /v1/customer/checkin: post: summary: Customer Checkin operationId: customer-checkin tags: - Contact 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: 1175 message: No business found with the given id requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: name: type: string emailId: type: string phone: type: string smsEnabled: type: number additionalParams: type: object employees: type: array externalId: type: string /v1/customer/history/{customerId}: get: summary: Customer activity log operationId: customer-activity-log tags: - Contact parameters: - name: businessId in: query required: true description: Id of the business. schema: type: string example: '12345678' - name: startDate in: query required: false description: The start date format should be MM/dd/yyyy. if start date is not set, then we will use the date customer was created. schema: type: string example: 12/30/2021 - name: endDate in: query required: false description: The end date format should be MM/dd/yyyy. if end date is not set, then we will use the current date. schema: type: string example: 12/30/2022 - name: customerId in: path required: true description: Id of the customer. schema: type: string example: '12344' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1524 message: Date entered is invalid. /v1/customer/id/{customerId}: delete: summary: Customer Delete operationId: customer-delete tags: - Contact parameters: - name: customerId in: path required: true description: Id of enterprise customer. schema: type: string example: '12345678' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1089 message: Customer id is invalid. /v1/customer-v2/change-permission: post: summary: Subscribe/Unsubscribe Customer operationId: subscribe-unsubscribe-customer tags: - Contact parameters: [] responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1089 message: Customer id is invalid. requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: permission: type: string email: type: array phone: type: array accountNumber: type: number required: - accountNumber /v2/customer/list: post: summary: Contact operationId: contact tags: - Contact parameters: - name: businessId in: query required: true description: Id of the Business. schema: type: string example: '12345678' - name: page in: query required: true description: The page number. schema: type: number example: '0' - name: size in: query required: true description: Maximum number of contacts return in response. schema: type: number example: '30' - name: sortby in: query required: true description: The sorting order of the list. schema: type: string example: lastActivityOn 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: startDate: type: string endDate: type: string /v1/contact/details: post: summary: Customer or Lead list operationId: customer-or-lead-list tags: - Contact parameters: - name: tags in: query required: false description: If tag data is required send true, default value is false. schema: type: boolean example: 'true' - name: customfields in: query required: false description: If custom fields data is required send true, default is false. schema: type: boolean example: 'true' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 2348 message: Max window size allowed is 60000 for a filter selection requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: sources: type: array startDateUtc: type: string endDateUtc: type: string contactType: type: string businessId: type: number page: type: string size: type: string required: - startDateUtc - endDateUtc - businessId - page - size /v1/contactUs/{businessId}: post: summary: Contact Us Request operationId: contact-us-request tags: - Contact 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: 5046 message: The customer is blocked requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: customerComment: type: string customer: type: object properties: name: type: string emailId: type: string phone: type: string required: - name additionalParams: type: object required: - customer /v1/contact/{businessId}/update-feed: post: summary: Get opt-out contact data operationId: get-opt-out-contact-data tags: - Contact parameters: - name: businessId in: path required: true description: Id of a business (Long). schema: type: number example: '123456' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 20083 message: End date can't be before start date requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: start: type: number end: type: number subscriptionStatus: type: array required: - start - end - subscriptionStatus /v1/contact/external/preferences/saveCustomer: post: summary: Upsert Contact operationId: upsert-contact tags: - Contact V2 parameters: [] responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 5043 message: Contact not found for the given request requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: id: type: string firstName: type: string lastName: type: string email: type: string phone: type: string countryCode: type: string smsOptin: type: boolean blocked: type: boolean businessIds: type: array tags: type: array customFields: type: array externalId: type: string emailPreferences: type: object properties: marketingOptin: type: boolean feedbackOptin: type: boolean serviceOptin: type: boolean smsPreferences: type: object properties: marketingOptin: type: boolean feedbackOptin: type: boolean serviceOptin: type: boolean /v1/contact/external/preferences/getCustomer: post: summary: Retrieve Contact operationId: retrieve-contact tags: - Contact V2 parameters: [] responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 5043 message: Contact not found for the given request requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: id: type: string cid: type: string email: type: string phone: type: string /v1/contact/external/preferences/checkin: post: summary: Customer Checkin operationId: customer-checkin tags: - Contact V2 parameters: [] responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1175 message: No business found with the given id requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: name: type: string emailId: type: string phone: type: string smsEnabled: type: number additionalParams: type: object employees: type: array externalId: type: string emailPreferences: type: object properties: marketingOptin: type: boolean feedbackOptin: type: boolean serviceOptin: type: boolean smsPreferences: type: object properties: marketingOptin: type: boolean feedbackOptin: type: boolean serviceOptin: type: boolean /v1/contact/external/preferences/change-permission: post: summary: Update Communication Preferences operationId: update-communication-preferences tags: - Contact V2 parameters: [] responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1089 message: Customer id is invalid. requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: emailPreferences: type: object properties: marketingOptin: type: boolean feedbackOptin: type: boolean serviceOptin: type: boolean smsPreferences: type: object properties: marketingOptin: type: boolean feedbackOptin: type: boolean serviceOptin: type: boolean smsOptin: type: boolean email: type: array phone: type: array accountNumber: type: number required: - accountNumber /v1/contact/external/preferences/update-feed: post: summary: Retrieve Opted-Out Contacts operationId: retrieve-opted-out-contacts tags: - Contact V2 parameters: [] responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 20083 message: End date can't be before start date requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: start: type: number end: type: number subscriptionStatus: type: array required: - start - end - subscriptionStatus /v1/campaign/external/campaign-request-url: post: summary: Fetch Request URL operationId: fetch-request-url tags: - Campaign parameters: [] 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: businessId: type: number customerId: type: number surveyId: type: number templateId: type: number checkinId: type: number required: - businessId - customerId /v1/campaign/external/default-review-sources: post: summary: Set Defaullt Review Sources operationId: set-defaullt-review-sources tags: - Campaign parameters: [] 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: businessId: type: number customerId: type: array required: - businessId - customerId /v1/aggregation/business/{businessId}: get: summary: Get all aggregation source operationId: get-all-aggregation-source tags: - Aggregation 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: 1175 message: No business found with the given id /v1/survey/reviewsites-alias: get: summary: Get all aggregation source operationId: get-all-aggregation-source tags: - Aggregation 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: 1175 message: No business found with the given id /v1/aggregation/business/{business_id}: post: summary: Add aggregation URL operationId: add-aggregation-url tags: - Aggregation 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: 1032 message: Invalid source id requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: sourceAlias: type: string url: type: string required: - sourceAlias /v1/aggregation/business/{businessID}/aggregation/{aggregationID}: delete: summary: Delete aggregation URL operationId: delete-aggregation-url tags: - Aggregation parameters: - name: businessID in: path required: true description: Id of the business. schema: type: string example: '12345678' - name: aggregationID in: path required: true description: Id of the aggregation to be deleted. schema: type: number example: abcdefgh responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1039 message: Invalid business aggregation id /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 /v1/survey/{survey_id}: get: summary: Get Survey operationId: get-survey tags: - Survey parameters: - name: survey_id in: path required: true description: Id of the Survey. schema: type: integer example: '123' - name: businessId in: query required: true description: Id of the Business. schema: type: number example: '12345678' - name: lang in: query required: false description: The survey locale, default is english schema: type: string example: english responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 89 message: Rate limit exceeded /v1/survey/{survey_id}/submit: post: summary: Post a survey response operationId: post-a-survey-response tags: - Survey parameters: - name: survey_id in: path required: true description: Id of the Survey. schema: type: integer example: '123' - 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: 1011 message: Business id is invalid requestBody: required: true content: application/json: schema: type: object /v1/survey/ext/list/responses/{survey_id}: post: summary: List Responses for a Survey operationId: list-responses-for-a-survey tags: - Survey parameters: - name: survey_id in: path required: true description: Id of the Survey. schema: type: integer example: '123' - name: businessNumber in: query required: true description: The Business Number of Enterprise schema: type: string example: '169744180007807' - name: page in: query required: false description: The page number, starts with 0. schema: type: integer example: '0' - name: size in: query required: false description: The size of the page. schema: type: integer example: '30' - name: sortby in: query required: false description: The sort by parameter. schema: type: string example: date - name: sorder in: query required: false description: The sort order parameter. schema: type: string example: asc - name: includeTicketId in: query required: false description: The field to fetch ticketIds associated with the response. schema: type: boolean example: 'false' 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: startDate: type: string endDate: type: string /v1/survey/business/{business_id}/all: get: summary: Get All Surveys operationId: get-all-surveys tags: - Survey parameters: - name: sortby in: query required: false description: Sort results by lastModified[modified], Created[created], Response Count[response]. schema: type: string example: modified - name: sorder in: query required: false description: Sort order ascending (0) and descending (1). schema: type: string example: '0' - name: searchStr in: query required: false description: Search survey by name or business location. schema: type: string example: abc - name: business_id in: path required: true description: Business ID. 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/survey/external/create/{businessId}: post: summary: Create Survey operationId: create-survey tags: - Survey 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: 2095 message: ownerEmailId cannot be null requestBody: required: true content: application/json: schema: type: object example: surveyName: Experience Survey thankYouMessage: Thank you for taking the survey! surveyType: traditional ownerEmailId: testmail@gmail.com pages: - questions: - title: Text1 type: text - title: Paragraph type: textarea - title: Page 2-optional questions: - title: Questionnumber1 type: checkbox required: true choices: - Choice 1 - Choice 2 - Choice 3 - title: Q2 type: dropdown choices: - Dropdown 1 - Dropdown 2 - Dropdown 3 - title: ratingQn type: rating minLabel: Strongly Disagree maxLabel: Strongly Agree maxValue: 10 - questions: - title: P3-Q1-Radio type: radio choices: - radio 1 - radio 2 - radio 3 - title: npsQn type: nps minLabel: Strongly Disagree - questions: - title: Datetime question type: datetime required: true showTime: true showDate: true interval: 60 minValue: '12' maxValue: '36' - title: Please enter your contact information type: contact required: true contactRows: - required: true title: First name type: text - required: true title: Email type: email - required: true title: Phone type: phone - title: Page 4 questions: - title: P4-Q1 type: matrixrating minLabel: Strongly Disagree maxLabel: Strongly Agree maxValue: 5 rows: - Row label 1 - Row label 2 - title: P4-Q2 type: matrixradio required: true choices: - c1 - c2 - c3 rows: - Row 1 - Row2 - title: p4-Q3 type: matrixdropdown required: true choices: - c1 - c2 - c3 rows: - Row label 1 - Row label 2 - title: Label type ques type: label - questions: - title: please review us on one of these sites type: review required: true contactUsMessage: ContactUs test message reviewSources: - Google - Facebook - CitySearch /v1/survey/{surveyId}/settings/update: post: summary: Update Survey Settings operationId: update-survey-settings tags: - Survey parameters: - name: surveyId in: path required: true description: Survey ID schema: type: integer example: '123' - 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: 2096 message: Detected conflicting user-access request! requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: surveySettings: type: object properties: showSurveyTitle: type: boolean showQuestionNumber: type: boolean showProgressBar: type: boolean progressbarPosition: type: string showLogo: type: string showTitle: type: string customTitle: type: string themeColor: type: string themeTextColor: type: string subject: type: string message: type: string signature: type: string enableThankyouEmail: type: boolean accessControl: type: object properties: userAccessList: type: array surveyAccess: type: object properties: role: type: string /v1/business/{businessNumber}/upload/media: post: summary: Add Media operationId: add-media tags: - Business Media parameters: - name: businessNumber in: path required: true description: Location Number, in case of SMB it will be Business Number. schema: type: string example: '169744180007807' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 2175 message: Provided media category is not supported requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: media: type: array required: - media /v1/business/{businessNumber}/media/get: get: summary: Get Media operationId: get-media tags: - Business Media parameters: - name: businessNumber in: path required: true description: Location Number, in case of SMB it will be Business Number. schema: type: string example: '169744180007807' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 89 message: Rate limit exceeded /v1/business/{businessNumber}/update/media/{mediaId}: put: summary: Update Media operationId: update-media tags: - Business Media parameters: - name: businessNumber in: path required: true description: Location Number, in case of SMB it will be Business Number. schema: type: string example: '169744180007807' - name: mediaId in: path required: true description: Id of the media item. schema: type: string example: '62185029212' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 400 message: Invalid media id requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: mediaCategory: type: string required: - mediaCategory /v1/business/{businessNumber}/media/delete: delete: summary: Delete Media operationId: delete-media tags: - Business Media parameters: - name: businessNumber in: path required: true description: Location Number, in case of SMB it will be Business Number. schema: type: string example: '169744180007807' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 400 message: Invalid media id /v1/social/{accountNumber}/schedule: post: summary: Schedule Social Post operationId: schedule-social-post tags: - Social parameters: - name: accountNumber in: path required: true description: Id of the Account. schema: type: number example: '12345678' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 5557 message: Requested Business Ids are empty. requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: text: type: string socialSite: type: string subBusinessNumbers: type: array scheduleTimestamp: type: number media: type: object properties: type: type: string mediaUrl: type: string Error message: type: string additionalMetaData: type: object properties: callToActionType: type: string callToActionUrl: type: string required: - text - socialSite /v1/social/post/public/scheduled/edit/{accountNumber}: post: summary: Edit Scheduled Social Post operationId: edit-scheduled-social-post tags: - Social parameters: - name: accountNumber in: path required: true description: Id of the Account. schema: type: number example: '12345678' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 5557 message: Requested Business Ids are empty. requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: trackingId: type: string text: type: string socialSite: type: string subBusinessNumbers: type: array scheduleTimestamp: type: number media: type: object properties: type: type: string mediaUrl: type: string Error message: type: string additionalMetaData: type: object properties: callToActionType: type: string callToActionUrl: type: string required: - trackingId - text - socialSite - subBusinessNumbers /v1/social/post/public/published/edit/{accountNumber}: post: summary: Edit Published social Post operationId: edit-published-social-post tags: - Social parameters: - name: accountNumber in: path required: true description: Id of the Account. schema: type: number example: '12345678' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 5557 message: Requested Business Ids are empty. requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: trackingId: type: string text: type: string socialSite: type: string subBusinessNumbers: type: array required: - trackingId - text - socialSite - subBusinessNumbers /v1/social/post/public/delete/{accountNumber}: post: summary: Delete public social Post operationId: delete-public-social-post tags: - Social parameters: - name: accountNumber in: path required: true description: Id of the Account. schema: type: number example: '12345678' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 5557 message: Requested Business Ids are empty. requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: trackingId: type: string subBusinessNumbers: type: array required: - trackingId - subBusinessNumbers /v1/social/{accountNumber}/post/track/{trackingId}: get: summary: Track Social Post operationId: track-social-post tags: - Social parameters: - name: accountNumber in: path required: true description: Id of the Account. schema: type: number example: '12345678' - name: trackingId in: path required: true description: 'The tracking ID to track the status of the post. Error message: Tracking Id not present in System' schema: type: string example: abcdefdhs responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1011 message: Business id is invalid /v1/social/open-url/performance/report: post: summary: Social Open URL Performance Report operationId: social-open-url-performance-report tags: - Social parameters: [] responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 400 message: Invalid media id requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: startDate: type: string endDate: type: string sourceNames: type: array businessNumbers: type: array comparisonFilter: type: object properties: startDate: type: string endDate: type: string page: type: number size: type: number required: - startDate - endDate /v1/employee/{businessId}: get: summary: Get details of Employees operationId: get-details-of-employees tags: - Employee 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 /v1/messenger/export: post: summary: List Conversations operationId: list-conversations tags: - Conversation parameters: [] responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1246 message: Customer email or phone number is required. requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: businessNumber: type: number apiKey: type: string startDate: type: string endDate: type: string offset: type: number size: type: number contact: type: object properties: phone: type: string email: type: string excludeCampaignMessages: type: number required: - businessNumber - apiKey /v1/subscriptions/subscribe: post: summary: Create subscription operationId: create-subscription tags: - Subscription parameters: - name: businessId in: query required: true description: Account business number. schema: type: number example: '1234567890' 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: webhookUrl: type: string emails: type: array eventName: type: string auth: type: object /v1/subscriptions/unsubscribe/{subscriptionId}: get: summary: Unsubscribe subscription operationId: unsubscribe-subscription tags: - Subscription parameters: - name: subscriptionId in: path required: true description: '' schema: type: string example: tyhjwvbtys56782hbjsAGH - name: businessId in: query required: true description: Account business number. schema: type: number example: '1234567890' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1005 message: Subscription Not found for Particular Id /v1/messenger/webhook/event: get: summary: Get events operationId: get-events tags: - Webhook parameters: [] responses: '200': description: HTTP 200 response content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: array /v1/messenger/subscribe/webhook/event: post: summary: Create webhook subscription operationId: create-webhook-subscription tags: - Webhook parameters: [] 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: businessNumber: type: number apiKey: type: string events: type: array endpoint: type: string required: - businessNumber - apiKey - events /v1/business/{EnterpriseBusinessNumber}/child: get: summary: Get Competitor Business operationId: get-competitor-business tags: - Competitor parameters: - name: EnterpriseBusinessNumber in: path required: true description: Enterprise Business id. schema: type: string example: '231123123' - name: isCompetitor in: query required: true description: True for get competitor business of Enterprise Business and False for get Child Business of Enterprise Business. schema: type: boolean example: 'true' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1167 message: API key is missing /v1/business/{EnterpriseCompetitorBusinessId}/child: get: summary: Get Competitor Child Business operationId: get-competitor-child-business tags: - Competitor parameters: - name: isCompetitor in: query required: true description: True for get competitor business of Enterprise Business and False for get Child Business of Enterprise Business. schema: type: boolean example: 'true' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1167 message: API key is missing /v1/business/{businessId}/competitors: get: summary: Get Business Competitors operationId: get-business-competitors tags: - Competitor parameters: - name: businessId in: path required: true description: Account Business Number. schema: type: string example: '986031488' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1167 message: API key is missing /v1/signup/competitor/{businessNumber}: post: summary: Create New Competitor Enterprise operationId: create-new-competitor-enterprise tags: - Competitor 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: businessName: type: string userEmailId: type: string countryCode: type: string phone: type: string zip: type: string competitorId: type: string type: type: string /v1/signup/competitor/{businessId}: post: summary: Create New Child Business in Competitor Enterprise operationId: create-new-child-business-in-competitor-enterprise tags: - Competitor parameters: - name: businessId in: path required: true description: Account Business Number. schema: type: string example: '986031488' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1167 message: API key is missing /v1/aggregation/competitor/{compAccountId}/{businessNumber}: post: summary: Add new Competitor Aggregation URL operationId: add-new-competitor-aggregation-url tags: - Competitor parameters: - name: businessNumber in: path required: true description: Id of the business. schema: type: number example: '169744180007807' - name: compAccountId in: path required: true description: Competitor Account Id. schema: type: number example: '234567' 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: sourceAlias: type: string url: type: string required: - sourceAlias /v1/review/businessId/{CompetitorEnterpriseBusinessId}: post: summary: Get Competitor Reviews operationId: get-competitor-reviews tags: - Competitor parameters: - name: sindex in: query required: true description: Start index of the reviews. schema: type: integer example: '10' - name: count in: query required: true description: Number of reviews to query. schema: type: integer example: '30' - name: isCompetitor in: query required: true description: True for Competitor Review. schema: type: boolean example: 'false' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1228 message: Invalid updated to date. Allowed format is MM/dd/yyyy requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: fromDate: type: string toDate: type: string updateFromDate: type: string updateToDate: type: string sources: type: string ratings: type: array searchStr: type: string subBusinessIds: type: array statuses: type: array /v1/competitors/competitive-insight/categories/{businessNumber}: post: summary: Get Score operationId: get-score tags: - Competitor 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: sourceType: type: string sources: type: array timePeriodSelected: type: string startDate: type: string endDate: type: string competitors: type: array /v1/competitors/competitive-insight/themes/{businessNumber}: post: summary: Get Theme Statistics operationId: get-theme-statistics tags: - Competitor 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: sourceType: type: string sources: type: array timePeriodSelected: type: string startDate: type: string endDate: type: string competitors: type: array topThm: type: number orderBy: type: string sentiment: type: number /v1/competitors/competitive-insight/keywords/{businessNumber}: post: summary: Get Keyword Statistics operationId: get-keyword-statistics tags: - Competitor 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: sourceType: type: string sources: type: array timePeriodSelected: type: string startDate: type: string endDate: type: string competitors: type: array topKW: type: number topAd: type: number orderBy: type: string sentiment: type: number /v1/competitors/review: post: summary: Retrieve Competitor Reviews operationId: retrieve-competitor-reviews tags: - Competitor AI parameters: - name: startIndex in: query required: false description: The starting index for pagination (0-based). Default is 0. schema: type: number example: '0' - name: pageSize in: query required: false description: 'Number of records to return per page (max recommended: 100). Default is 25.' schema: type: number example: '25' - name: sortOrder in: query required: false description: 'Sort order: 0 = Ascending, 1 = Descending order of review date. Default is 1.' schema: type: number example: '1' 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 fromDate: type: string toDate: type: string sources: type: array brandIds: type: array competitorLocationIds: type: array /v1/competitors/review/metrics: post: summary: Retrieve Competitor Review metrics operationId: retrieve-competitor-review-metrics tags: - Competitor AI parameters: - name: startIndex in: query required: false description: The starting index for pagination (0-based). Default is 0. schema: type: number example: '0' - name: pageSize in: query required: false description: 'Number of records to return per page (max recommended: 100). Default is 25.' schema: type: number example: '25' - name: sortOrder in: query required: false description: 'Sort order: 0 = Ascending, 1 = Descending order of review date. Default is 0.' schema: type: number example: '0' 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 fromDate: type: string toDate: type: string sources: type: array brandIds: type: array competitorLocationIds: type: array /v1/insight/experience/scoreBenchmark: post: summary: Get Insight Experience Score Benchmark operationId: get-insight-experience-score-benchmark tags: - Insight AI parameters: [] responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 2003 message: businessNumbers are mandatory requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: reviewSources: type: array ratings: type: array businessNumbers: type: array startDate: type: string endDate: type: string required: - businessNumbers - startDate - endDate /v1/insight/experience/locationInfo: post: summary: Get Insight Experience Location Info operationId: get-insight-experience-location-info tags: - Insight AI parameters: [] responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 2003 message: businessNumbers are mandatory requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: reviewSources: type: array ratings: type: array businessNumbers: type: array startDate: type: string endDate: type: string required: - businessNumbers - startDate - endDate /v1/qna/question/create: post: summary: Create Question operationId: create-question tags: - Google Q&A 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: 2483 message: Question should have minimum 3 words requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: question: type: string answer: type: string required: - question - answer /v1/qna/answer/create: post: summary: Create Answer operationId: create-answer tags: - Google Q&A 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: 2462 message: Owner answer already added please edit answer requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: questionId: type: number answer: type: string required: - questionId - answer /v1/qna/question/update: put: summary: Update Question operationId: update-question tags: - Google Q&A 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: 2482 message: Question Id is Invalid requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: questionId: type: number question: type: string required: - questionId - question /v1/qna/answer/update: put: summary: Update Answer operationId: update-answer tags: - Google Q&A 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: 2482 message: Question Id is Invalid requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: questionId: type: number answerId: type: number answer: type: string required: - questionId - answerId - answer /v1/qna/question/delete: post: summary: Delete Question operationId: delete-question tags: - Google Q&A 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: 2482 message: Question Id is Invalid requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: questionId: type: number required: - questionId /v1/qna/answer/delete: post: summary: Delete Answer operationId: delete-answer tags: - Google Q&A 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: 2482 message: Question Id is Invalid requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: questionId: type: number answerId: type: number required: - questionId - answerId /v1/qna/question/deleteAll: delete: summary: Delete All Questions and Answers operationId: delete-all-questions-and-answers tags: - Google Q&A 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: 2482 message: Question Id is Invalid /v1/qna/get: post: summary: Get All Questions and Answers operationId: get-all-questions-and-answers tags: - Google Q&A 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: 2466 message: Invalid input request requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: startIndex: type: number pageSize: type: number required: - startIndex - pageSize /v1/qna/unanswered/get: post: summary: Get All Unanswered Questions and Answers operationId: get-all-unanswered-questions-and-answers tags: - Google Q&A 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: 2466 message: Invalid input request requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: startIndex: type: number pageSize: type: number required: - startIndex - pageSize /v1/google-services/service/create: post: summary: Create Service operationId: create-service tags: - Google Services parameters: - name: businessId in: query required: true description: Id of the account schema: type: number example: '169744180007807' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 2493 message: Duplicate Google Service is not allowed requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: name: type: string currencyCode: type: string price: type: number description: type: string group: type: string duration: type: number required: - name /v1/google-services/services: post: summary: Get All Services operationId: get-all-services tags: - Google Services parameters: - name: businessId in: query required: true description: Id of the account schema: type: number example: '169744180007807' - name: startIndex in: query required: true description: start index; default 0 schema: type: number example: '0' - name: pageSize in: query required: true description: page size; default 25 schema: type: number example: '25' - name: sortBy in: query required: true description: '"updated", "name" or "price"; default : updated' schema: type: string example: updated - name: sortOrder in: query required: true description: '"asc" or "desc"; default: desc' schema: type: string example: desc responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 2486 message: Business Id missing or invalid requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: search: type: string /v1/google-services/service/update: post: summary: Update Service operationId: update-service tags: - Google Services parameters: - name: businessId in: query required: true description: Id of the account schema: type: number example: '169744180007807' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 2494 message: Invalid GBP Service Id requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: serviceId: type: string name: type: string currencyCode: type: string price: type: number description: type: string group: type: string duration: type: number required: - serviceId - name /v1/google-services/service/delete: post: summary: Delete Services operationId: delete-services tags: - Google Services parameters: - name: businessId in: query required: true description: Id of the account schema: type: number example: '169744180007807' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 2495 message: Invalid GBP Service Id requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: serviceIds: type: array required: - serviceIds /v1/google-services/service/location-mapping: get: summary: Get Location Mapping operationId: get-location-mapping tags: - Google Services parameters: - name: businessId in: query required: true description: Id of the business schema: type: number example: '169744180007807' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 2486 message: Business Id missing or invalid /v1/google-services/services/location-mapping: post: summary: Update Location Mapping operationId: update-location-mapping tags: - Google Services parameters: - name: businessId in: query required: true description: Id of the business schema: type: number example: '169744180007807' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 2494 message: Invalid GBP Service Id description: 'Note Any change will impact the service mapped to all the locations.' requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: category_name: type: string service_id: type: array required: - category_name - service_id /v1/quero/external/get-all-qna: post: summary: Get All QnA operationId: get-all-qna tags: - FAQ parameters: - name: sIndex in: query required: false description: The starting index for the records to fetch. Default is 0 if not specified. schema: type: number example: '0' - name: count in: query required: false description: The number of QnA records to return.Default is 25 if not specified. schema: type: number example: '25' - name: order in: query required: false description: The ordering in which records should be returned by last updated date (0 for ascending, 1 for descending).Default is 1 if not specified. schema: type: number example: '1' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1532 message: Business id is missing or invalid. requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: businessNumbers: type: array /v1/listing/fix: post: summary: Fix Listing operationId: fix-listing tags: - Listing parameters: - name: b_id 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: 1175 message: No business found with the given id requestBody: required: true content: application/json: schema: type: object example: {} /v1/listing/status/location: get: summary: Get Location Status Report operationId: get-location-status-report tags: - Listing parameters: - name: businessNumber in: query required: true description: Id of the business. schema: type: number example: '169744180007807' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1043 message: Business should be either SMB or Enterprise sub account /v1/listing/insights: post: summary: Listings Insights operationId: listings-insights tags: - Listing parameters: - name: businessId in: query required: true description: Id of the account. schema: type: number 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 requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: businessNumbers: type: array startDate: type: string endDate: type: string viewMode: type: array required: - viewMode /v1/listing/report/{reportType}/datapoints: post: summary: Listings Insights Datapoints operationId: listings-insights-datapoints tags: - Listing parameters: - name: reportType in: path required: true description: Report type, Possible values [google_view_search_map, gmb_customer_actions_map, fb_users_reached,fb_users_engaged, bing_impression_count,bing_customer_actions] schema: type: string example: google_view_search_map - name: businessId in: query required: true description: Id of the account. schema: type: number 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 requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: businessNumbers: type: array startDate: type: string endDate: type: string viewMode: type: array groupByType: type: string /v1/listing/{businessNumber}/gmb-attributes-list: get: summary: Get GMB Attributes operationId: get-gmb-attributes tags: - Listing parameters: - name: businessNumber in: path required: true description: Business Number. schema: type: number example: '169744180007807' - name: categoryId in: query required: true description: Category id. schema: type: string example: gcid:electrical_installation_service - name: countryCode in: query required: true description: Code of the country, Possible values are US,CA,AU,PR,NZ,MX,IN,UK,FR,IT. schema: type: string example: US responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 2286 message: Invalid whatsapp business link /v1/listing/{businessNumber}/apple-location-attributes-list: get: summary: Get Apple Attributes operationId: get-apple-attributes tags: - Listing parameters: - name: businessNumber in: path required: true description: Business Number. schema: type: number example: '169744180007807' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 400 message: Invalid country code /v1/listing/{businessNumber}/apple-action-links: get: summary: Get Apple Action Links operationId: get-apple-action-links tags: - Listing parameters: - name: businessNumber in: path required: true description: Business Number. schema: type: number example: '169744180007807' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 400 message: Invalid country code /v1/listing/{businessNumber}/category-list: get: summary: Get Category List operationId: get-category-list tags: - Listing parameters: - name: businessNumber in: path required: true description: Business Number. schema: type: number example: '169744180007807' - name: sourceName in: query required: true description: Source name for which category data needs to be fetched. Possible values are BING, HEALTHCARE, GMB, VENDOR, FACEBOOK, APPLE. schema: type: string example: BING - name: countryCode in: query required: true description: Code of the country, Possible values are US,CA,AU,PR,NZ,MX,IN,UK,FR,IT. schema: type: string example: US responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 400 message: Invalid Source Name /v1/listing/{businessNumber}/create: post: summary: Create Listing operationId: create-listing tags: - Listing parameters: - name: businessNumber in: path required: true description: Business Number. schema: type: number example: '169744180007807' 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: businessInfo: type: object properties: name: type: string phone: type: string websiteUrl: type: string emailId: type: string isAddressHidden: type: string isServiceAreaProvider: type: string mainBusinessDescription: type: string serviceAreas: type: array location: type: object properties: address1: type: string address2: type: string city: type: string state: type: string countryCode: type: string zip: type: string subLocality: type: string required: - zip required: - name - phone additionalInfo: type: object properties: establishedYear: type: number timezone: type: string languages: type: array moreHours: type: array appleMoreHours: type: array wholeWeekOperating: 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 paymentTypes: type: array additionalPaymentTypes: type: string localPhoneNumber: type: string tollFreePhoneNumber: type: string androidAppURL: type: string iosAppURL: type: string required: - hoursOfOperations - services media: type: object properties: logoUrl: type: string coverImageUrl: type: string gmbCover: type: string facebookCover: type: string optOut: type: object properties: gmbLogoOptOut: type: boolean fbLogoOptOut: type: boolean gmbCoverOptOut: type: boolean fbCoverOptOut: type: boolean gmbProfileOptOut: type: boolean businessProfileOptOut: type: boolean covidInfo: type: object properties: postDescription: type: string covid19SupportLink: type: string virtualCareLink: type: string bingListing: type: object properties: primaryCategoryBing: type: string bingCategories: type: array bingPhoneNumber: type: string bingDescription: type: string internalListing: type: object properties: description: type: string category: type: string subCategories: type: array displayCategory: type: string required: - description - category - subCategories facebookListing: type: object properties: facebookPhoneNumber: type: string categories: type: array facebookDescription: type: string gmbListing: type: object properties: googleWebsiteUrl: type: string googlePhoneNumber: type: string googleStoreId: type: string primaryCategoryGmb: type: string additionalCategories: type: array googleDescription: type: string attributes: type: object foodDelivery: type: string foodTakeout: type: string whatsappBusinessLink: type: string textMessageNumber: type: string appleListing: type: object properties: phoneNumber: type: string appleWebsiteUrl: type: string primaryCategory: type: string additionalCategories: type: array appleLocationAttributes: type: object appleActionLinks: type: object appleBusinessName: type: string appleBusinessDescription: type: string thirdPartyListing: type: object properties: thirdPartyCategory: type: string thirdPartySubCategories: type: string socialProfileURLs: type: object properties: facebookUrl: type: string twitterUrl: type: string linkedInUrl: type: string googleUrl: type: string youTubeUrl: type: string instagramUrl: type: string pintrestUrl: type: string bbbUrl: type: string lendingtreeUrl: type: string healthcare: type: object properties: doctorCategories: type: string isProvider: type: boolean practiceName: type: string firstName: type: string middleName: type: string surName: type: string npi: type: number credentials: type: string university: type: string hospitalAffiliations: type: string insurancesAccepted: type: string /v1/listing/{businessNumber}/update: put: summary: Update Listing operationId: update-listing tags: - Listing parameters: - name: businessNumber in: path required: true description: Business Number. schema: type: number example: '169744180007807' 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: businessInfo: type: object properties: name: type: string phone: type: string websiteUrl: type: string emailId: type: string isAddressHidden: type: string isServiceAreaProvider: type: string mainBusinessDescription: type: string serviceAreas: type: array location: type: object properties: address1: type: string address2: type: string city: type: string state: type: string countryCode: type: string zip: type: string subLocality: type: string required: - zip required: - name - phone additionalInfo: type: object properties: establishedYear: type: number timezone: type: string languages: type: array moreHours: type: array appleMoreHours: type: array wholeWeekOperating: 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 paymentTypes: type: array additionalPaymentTypes: type: string localPhoneNumber: type: string tollFreePhoneNumber: type: string androidAppURL: type: string iosAppURL: type: string required: - hoursOfOperations - services media: type: object properties: logoUrl: type: string coverImageUrl: type: string gmbCover: type: string facebookCover: type: string optOut: type: object properties: gmbLogoOptOut: type: boolean fbLogoOptOut: type: boolean gmbCoverOptOut: type: boolean fbCoverOptOut: type: boolean gmbProfileOptOut: type: boolean businessProfileOptOut: type: boolean covidInfo: type: object properties: postDescription: type: string covid19SupportLink: type: string virtualCareLink: type: string bingListing: type: object properties: primaryCategoryBing: type: string bingCategories: type: array bingPhoneNumber: type: string bingDescription: type: string internalListing: type: object properties: description: type: string category: type: string subCategories: type: array displayCategory: type: string required: - description - category - subCategories facebookListing: type: object properties: facebookPhoneNumber: type: string categories: type: array facebookDescription: type: string gmbListing: type: object properties: googleWebsiteUrl: type: string googlePhoneNumber: type: string googleStoreId: type: string primaryCategoryGmb: type: string additionalCategories: type: array googleDescription: type: string attributes: type: object foodDelivery: type: string foodTakeout: type: string whatsappBusinessLink: type: string textMessageNumber: type: string appleListing: type: object properties: phoneNumber: type: string appleWebsiteUrl: type: string primaryCategory: type: string additionalCategories: type: array appleLocationAttributes: type: object appleActionLinks: type: object appleBusinessName: type: string appleBusinessDescription: type: string thirdPartyListing: type: object properties: thirdPartyCategory: type: string thirdPartySubCategories: type: string socialProfileURLs: type: object properties: facebookUrl: type: string twitterUrl: type: string linkedInUrl: type: string googleUrl: type: string youTubeUrl: type: string instagramUrl: type: string pintrestUrl: type: string bbbUrl: type: string lendingtreeUrl: type: string healthcare: type: object properties: doctorCategories: type: string isProvider: type: boolean practiceName: type: string firstName: type: string middleName: type: string surName: type: string npi: type: number credentials: type: string university: type: string hospitalAffiliations: type: string insurancesAccepted: type: string /v1/listing/{businessNumber}/get: get: summary: Get Listing operationId: get-listing tags: - Listing parameters: - name: businessNumber in: path required: true description: Business Number. schema: type: number example: '169744180007807' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 89 message: Rate limit exceeded /v1/listing/{businessNumber}/more-hours-type: get: summary: Get More Hours Type operationId: get-more-hours-type tags: - Listing parameters: - name: businessNumber in: path required: true description: Business Number. schema: type: number example: '169744180007807' - name: channel in: query required: true description: Source name for which more hours type needs to be fetched. Possible values are gmb, apple. Default value will be gmb if not passed schema: type: string example: gmb responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 400 message: Invalid Source Name /v1/listing/{businessNumber}/gmb/keywords: post: summary: Get Google Keywords Count operationId: get-google-keywords-count tags: - Listing 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: 2458 message: Invalid order value. Allowed values are 'asc' or 'desc'. requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: selectedMonth: type: array selectedkeywords: type: array keywordsSearch: type: string limit: type: number startIndex: type: number sortby: type: string order: type: string businessNumbers: type: array required: - selectedMonth /v1/listing/{businessNumber}/deactivate: post: summary: Deactivate Listing operationId: deactivate-listing tags: - Listing parameters: - name: businessNumber in: path required: true description: Business Number. schema: type: number example: '169744180007807' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 89 message: Rate limit exceeded /v1/listing/menu-details: post: summary: Retrieve Menu Details operationId: retrieve-menu-details tags: - Listing parameters: [] responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 2458 message: Invalid order value. Allowed values are 'asc' or 'desc'. requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: businessNumbers: type: array /v1/listing/public/product/setup/googleMerchant: post: summary: Onboard Google Merchant Account operationId: onboard-google-merchant-account tags: - GMB Products parameters: - name: merchantId in: query required: true description: Google Merchant Center account ID. schema: type: string example: '1234567' 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: type: object example: {} /v1/listing/public/product: post: summary: Create Product Listing operationId: create-product-listing tags: - GMB Products 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: businessNumbers: type: array title: type: string description: type: string imageLink: type: string additionalImageLinks: type: array brandName: type: string googleProductCategoryId: type: string price: type: object properties: amount: type: string currencyCode: type: string required: - amount - currencyCode salePrice: type: object properties: amount: type: string currencyCode: type: string required: - amount - currencyCode productSku: type: string productTypes: type: array productUrl: type: string status: type: string required: - title - imageLink - googleProductCategoryId - price - status /v1/listing/public/product/{productId}: put: summary: Update Product Listing operationId: update-product-listing tags: - GMB Products parameters: - name: productId in: path required: true description: Unique identifier of the product to update. schema: type: string example: 68767cb39ebf51000815ab39 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 title: type: string description: type: string imageLink: type: string additionalImageLinks: type: array brandName: type: string googleProductCategoryId: type: string price: type: object properties: amount: type: string currencyCode: type: string required: - amount - currencyCode salePrice: type: object properties: amount: type: string currencyCode: type: string required: - amount - currencyCode productTypes: type: array productUrl: type: string status: type: string required: - title - imageLink - googleProductCategoryId - price - status /v1/listing/public/product/{productIdentifier}: get: summary: Get Product Listing operationId: get-product-listing tags: - GMB Products parameters: - name: productIdentifier in: path required: true description: Product identifier. schema: type: string example: 68767cb39ebf51000815ab39 responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1167 message: API key is missing /v1/listing/public/product/deleteProduct: post: summary: Delete Product Listings operationId: delete-product-listings tags: - GMB Products 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: productIds: type: array required: - productIds /v1/listing/public/product/getList: post: summary: Get List Product Listing operationId: get-list-product-listing tags: - GMB Products parameters: - name: pageSize in: query required: false description: Number of records per page. Default 50. schema: type: number example: '50' - name: pageNumber in: query required: false description: 0-based page index. Default 0. schema: type: number example: '0' 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: search: type: string status: type: array businessNumbers: type: array /v1/listing/public/product/addProduct: post: summary: Add Products On a Location operationId: add-products-on-a-location tags: - GMB Products 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: productIds: type: array required: - productIds /v1/listing/public/product/removeProduct: post: summary: Remove Products On a Location operationId: remove-products-on-a-location tags: - GMB Products 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: productIds: type: array required: - productIds /v1/listing/searchAi/account-setup: get: summary: Get Search AI Configuration operationId: get-search-ai-configuration tags: - Search AI parameters: [] responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 89 message: Rate limit exceeded /v1/listing/searchAi/available-runs: get: summary: Get Search AI Available Runs operationId: get-search-ai-available-runs tags: - Search AI parameters: [] responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 89 message: Rate limit exceeded /v1/listing/searchAi/public/citations: post: summary: Get Search AI Citations operationId: get-search-ai-citations tags: - Search AI parameters: [] 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: businessNumbers: type: string aiModel: type: string theme: type: string pageNo: type: string pageSize: type: string startDate: type: string endDate: type: string viewReportType: type: string /v1/listing/searchAi/public/business: post: summary: Get Search AI Businesses operationId: get-search-ai-businesses tags: - Search AI parameters: [] 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: businessNumbers: type: string aiModel: type: string theme: type: string pageNo: type: string pageSize: type: string startDate: type: string endDate: type: string viewReportType: type: string /v1/listing/searchAi/public/aio-details?page-size=100&start-index=0: post: summary: Get Accuracy Report operationId: get-accuracy-report tags: - Search AI parameters: [] 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: businessNumbers: type: string aiModels: type: string startDate: type: string endDate: type: string /v1/listing/searchAi/public/swot-details?page-size=100&start-index=0: post: summary: Get Sentiment Report operationId: get-sentiment-report tags: - Search AI parameters: [] 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: businessNumbers: type: string aiModels: type: string startDate: type: string endDate: type: string viewReportType: type: string /v1/ticket/{businessNumber}/create-ticket: put: summary: Create ticket operationId: create-ticket tags: - Ticketing parameters: - name: businessNumber in: path required: true description: Business number of the location on which we want to create a ticket. schema: type: number example: '169744180007807' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1175 message: No business found with the given id requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: externalId: type: number assignedTo: type: string ticketType: type: string customer: type: object properties: emailId: type: string firstName: type: string lastName: type: string location: type: object properties: city: type: string state: type: string phone: type: number description: type: string sourceType: type: string surveyId: type: number surveyResponseId: type: number additionalParams: type: array required: - assignedTo - ticketType /v1/ticket/{businessNumber}/comment-activity: post: summary: Add Ticket Comments operationId: add-ticket-comments tags: - Ticketing parameters: - name: businessNumber in: path required: true description: Business number of the location. schema: type: number example: '169744180007807' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1175 message: No business found with the given id requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: comment: type: string ticketId: type: number userEmail: type: string required: - comment - ticketId - userEmail /v1/ticket/{businessNumber}/update: put: summary: Update ticket operationId: update-ticket tags: - Ticketing parameters: - name: businessNumber in: path required: true description: Business number of the location. schema: type: number example: '169744180007807' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1175 message: No business found with the given id requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: ticketUpdateMessages: type: array /v1/ticket/{businessNumber}/get/all?: post: summary: Get All Ticket Data operationId: get-all-ticket-data tags: - Ticketing parameters: - name: businessNumber in: path required: true description: Business number of the account. schema: type: number example: '169744180007807' - name: op in: query required: true description: 'Possible values are: [1] will display ticket count only, [3] will display all the data of the ticket. Default value - 3.' schema: type: number example: '3' - name: sIndex in: query required: true description: Start index of the response. Default value - 0 schema: type: number example: '0' - name: count in: query required: true description: Number of tickets want to get in the response. Default value - 25 schema: type: number example: '25' - name: sortBy in: query required: true description: Sort options, Possible values [2] will sort on the basis of ticket creation date. [3] will sort on the basis of characters of business aliases. Default value 2. schema: type: number example: '2' - name: sortOrder in: query required: true description: Sort Order [0] will sort the data in ascending order. [1] this will sort the data in descending order. Default value - 1 schema: type: number example: '1' - name: totalCount in: query required: true description: '' schema: type: Boolean example: 'true' responses: '200': description: HTTP 200 response content: application/json: schema: type: object example: code: 1175 message: No business found with the given id requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: assignees: type: array businessNumbers: type: array fromDate: type: number toDate: type: number sourceAliases: type: array sourceTypes: type: array tagNames: type: array ticketStatuses: type: array ticketTypes: type: array /v1/integrations/add/businessintegrationmapping: put: summary: Add locations operationId: add-locations tags: - Integration parameters: [] responses: '200': description: HTTP 200 response content: application/json: schema: type: object requestBody: required: true content: application/json: schema: $schema: http://json-schema.org/draft-07/schema# type: object properties: businessNumber: type: number integrationGroupId: type: number active: type: boolean integrationProperties: type: object required: - businessNumber - integrationGroupId - active tags: - name: Business description: Create and maintain your business on Birdeye. - name: Custom Fields description: Create, delete , update , associate and get custom fields easily. - name: User description: Delete and manage user profiles and permissions easily. - name: Reviews description: Consistently generate more reviews and higher ratings. - name: Contact description: Manage contacts across locations effortlessly with a robust Contact Management System. - name: Contact V2 description: Easily manage contacts across multiple locations using enhanced Contact APIs, featuring built-in support for communication preference flags. - name: Campaign description: Create a short link for review requests and set review sources in the template. - name: Aggregation description: Access your public data from 150+ review sites. - name: Report description: Various reporting data points across Birdeye modules like reviews, insights and competitors etc for all your data visualisation - name: Survey description: Engage each customer at the right time with NPS or CSAT surveys to improve your service. - name: Business Media description: 'Add, delete and manage business media. Supported Media Size Photo: JPG or PNG. 720 x 720px. 10KB min. Video: 30 sec long. 720p or more upto 75MB. Note Uploaded media will be pushed to your google business profile (if connected) and other long tail directories only.' - name: Social description: Create and track Social posting for all channels. - name: Employee description: '' - name: Conversation description: Connect with customers across a range of digital channels from one unified inbox. - name: Subscription description: Subscribe or Unsubscribe multiple webhooks with different URLs or Events for a subscription and deliver real-time notifications. - name: Webhook description: Configure multiple webhooks with different URLs for a subscription and deliver real-time notifications. - name: Competitor description: Make competitive insights your unfair advantage. - name: Competitor AI description: Competitive intelligence, simplified by AI. - name: Insight AI description: Insight intelligence, simplified by AI. - name: Google Q&A description: 'Note Applicable to be used only by paid listings clients, for their active locations, for the Google Q&A section, in the Google listing' - name: Google Services description: 'Note Applicable to be used only by paid listings clients, for their active locations, for the Google Services section, in the Google listing. No two services should have the same service name. It is recommended that all services created should HAVE UNIQUE service names. You CAN have the same service across two diff categories e.g.: Emergency counselling as a $100 paid service can be a service created & mapped to category A - Mental health and category B - Psychotherapy - both categories being present for the same location.' - name: FAQ description: To retrieve all Question and Answer (QnA) entries across locations using FAQ APIs, enabling smart support and knowledge features for businesses. - name: Listing description: Keep your business information accurate and consistent across 50+ websites. - name: GMB Products description: To manage products, locations, and business details through Listing GMB platform - name: Search AI description: Search AI provides a comprehensive view of your business performance across AI-powered search platforms, including data accuracy, sentiment analysis, citations, brand ranking, and overall visibility. - name: Ticketing description: Create standout customer support with ticketing across reviews, untagged, and survey responses. - name: Integration description: Birdeye integrates with various software or tools you use. - name: Change Logs description: '06/10/2026 - Updated Get Contact API to support an optional experienceScore boolean field in the request body (default: false). When set to true, the response includes the customer''s experience score and source. 05/25/2026 - Added Update Custom card (PUT) and Delete Custom card (DELETE) API documentation under the Business profile custom card section. 05/11/2026 - Added support for backdated survey responses in the POST Survey Response API. The created field (UTC Epoch milliseconds) is optional; if omitted, the server defaults to the current UTC timestamp. 04/22/2026 - Provide subLocality field support in Get, Create and Update Listings APIs for NZ Locations. 04/16/2026 - Added Archived Get Reviews API under Reviews group. 04/06/2026 - Updated Get Reviews API documentation to improve clarity on review statuses and how to retrieve all review types. 03/24/2026 - Added Social Open URL Performance Report API and Insight AI APIs to retrieve location-wise metrics and benchmark score. 03/18/2026 - Added Create Custom Card Time API under custom fields section. 03/03/2026 - Added Response Time (overtime & by-location) and Response Rate(overtime & by-location) APIs under reports section and created group for Competitor AI. 03/02/2026 - Added sendInvite (boolean, default - true) field in Create User Signup v2 API request body and attributes. 02/11/2026 - Updated the API key identifier for applicable APIs by moving it from a query parameter to the x-api-key request header. 02/03/2026 - Added the "Get All QnA" API under FAQ group to enable retrieval of QnA entries across business locations, with full request and response documentation 01/19/2026 - Added a note under the Authentication and Rate limiting section specifying that the x-api-key header is mandatory for all API requests targeting EU region business accounts. 01/13/2026 - Added Create User (Signup) API under User module to create and invite users for a business. 09/22/2025 - Added GMB Products APIs to onboard/connect Google Merchant accounts and manage product listing actions. 08/21/2025 - Added Single main business description Support. 08/19/2025 - Added competitor /raptor public APIs for reviews aggregates. 06/26/2025 - Added Contact V2 APIs with communication preference flag support. 12/13/2024 - Added inline reply support for GetReviews APIs. 09/27/2024 - Added update for Google Opening Soon (BIRD-56987) 06/25/2024 - Updated Listings Insights API (BIRDEYE-137367) 05/29/2024 - Added Google Q&A Developers API Section 05/13/2024 - Added epoc date support for GetReviews APIs. 03/22/2024 - Add Update Hierarchy API (BIRD-32609) 03/19/2024 - Added Ticket APIs Create, Get, Update APIs under Ticket module 02/26/2024 - Updated logoUrl description in Get, Update APIs under Business module and Create, Get, Update APIs under Listing module (BIRD-29386) 12/21/2023 - Add listing phase 2 api changes (BIRD-16589) 11/08/2023 - Add survey changes (BIRD-11944) and listing changes (BIRD-14345) 11/08/2023 - Added CRUD APIs for Apple chat 10/15/2023 - Added CRUD APIs for Business Media. 10/11/2023 - Added new APIs under Listing module, Create, Update, Get, Deactive Listings 09/18/2023 - Added new API under Contact module i.e, Get opt-out contact data 08/25/2023 - Added new APIs under Business and Listing modules, Get Category List API, Get GMB Attributes API & Get Timezone List 07/21/2023 - Added new API under Business module i.e, Business Search API. 06/30/2023 - Added support for service area based information in Get Business API and Update Business API. 10/04/2024 - Added support to fetch ticketId associated with the survey responses in List Response API.'