openapi: 3.1.0 info: title: Birdeye Aggregation Google Services API description: RESTful API for managing online reviews, sending survey requests, responding to customer messages, automating review collection workflows, and tracking reputation metrics across multiple business locations. version: 1.0.0 termsOfService: https://birdeye.com/terms-of-service/ contact: url: https://developers.birdeye.com/ servers: - url: https://api.birdeye.com description: Production security: - apiKey: [] tags: - name: 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.' paths: /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 components: securitySchemes: apiKey: type: apiKey in: header name: x-api-key description: Partner specific API key provided by Birdeye for data exchange.