Birdeye · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Birdeye Business API
16 actions
16 updates
phrasing
extends
openapi/birdeye-business-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Birdeye's API. It is a proposal applied on top of the contract, not a document Birdeye publishes.
What the actions change
x-apievangelist-phrasing
Targets 16
$.info
$.paths['/v1/signup/reseller/subaccount'].post
$.paths['/v1/business/{businessNumber}/search'].post
$.paths['/v1/business/{business_id}'].get
$.paths['/v1/business/{businessId}'].put
$.paths['/v1/business/{business_Id}'].delete
$.paths['/v1/business/{business_id}/status'].put
$.paths['/v1/business/child/all'].get
$.paths['/v1/business/tabs'].post
$.paths['/v1/business/{businessId}/hierarchy'].get
$.paths['/v1/business/business-hierarchy/location/update-mapping/{businessId}'].post
$.paths['/v1/business/{businessNumber}/profile/customcard'].get
$.paths['/v1/business/public/card/{cardId}'].put
$.paths['/v1/business/public/card/{cardId}'].delete
$.paths['/v1/business/{businessNumber}/timezones'].get
$.paths['/v1/business/{businessNumber}/birdeye/impressions'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Birdeye Business API
version: 1.0.0
extends: openapi/birdeye-business-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 15
- target: $.paths['/v1/signup/reseller/subaccount'].post
update:
x-apievangelist-phrasing:
intent: Create a business under a reseller
effect: write
questions:
- Can a reseller create a new sub-account business through the API?
- What details are required to sign up a new business location under my reseller account?
instructions:
- text: Create business {businessName} with zip {zip} and phone {phone} under reseller {rid}, email {email_id}.
slots:
businessName: requestBody.businessName
zip: requestBody.zip
phone: requestBody.phone
rid: query.rid
email_id: query.email_id
- text: Sign up a new sub-account named {businessName} for reseller {rid}.
slots:
businessName: requestBody.businessName
rid: query.rid
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/business/{businessNumber}/search'].post
update:
x-apievangelist-phrasing:
intent: Search businesses under an account
effect: read
questions:
- How do I search the businesses under my account by name?
- Can I sort and page through business search results?
instructions:
- text: Search businesses under {businessNumber} for {searchStr}.
slots:
businessNumber: path.businessNumber
searchStr: requestBody.searchStr
- text: Find locations under account {businessNumber} matching {searchStr}, sorted by {sortBy}.
slots:
businessNumber: path.businessNumber
searchStr: requestBody.searchStr
sortBy: requestBody.sortBy
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/business/{business_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a business profile
effect: read
questions:
- What profile details does Birdeye hold for one of my businesses?
- Can I pull a single business's full profile by its ID?
instructions:
- text: Get the business profile for {business_id}.
slots:
business_id: path.business_id
- text: Show me the details of business {business_id}.
slots:
business_id: path.business_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/business/{businessId}'].put
update:
x-apievangelist-phrasing:
intent: Update a business profile
effect: write
questions:
- Can I change a location's hours of operation and website through the API?
- Which business profile fields like services, keywords and social links can I update?
instructions:
- text: Update business {businessId} with email {emailId}, phone {phone} and services {services}.
slots:
businessId: path.businessId
emailId: requestBody.emailId
phone: requestBody.phone
services: requestBody.services
- text: Change the website of business {businessId} to {websiteUrl}.
slots:
businessId: path.businessId
websiteUrl: requestBody.websiteUrl
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/business/{business_Id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a business
effect: destructive
questions:
- Can I permanently delete a business from my account?
- Is there a way to remove a location record entirely rather than just making it inactive?
instructions:
- text: Delete business {business_Id}.
slots:
business_Id: path.business_Id
- text: Remove business {business_Id} from Birdeye.
slots:
business_Id: path.business_Id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/business/{business_id}/status'].put
update:
x-apievangelist-phrasing:
intent: Set a business active or inactive
effect: write
questions:
- Can I mark a business inactive without deleting it?
- What status values can I set on a business, active or inactive?
instructions:
- text: Set the status of business {business_id} to {astatus}.
slots:
business_id: path.business_id
astatus: query.astatus
- text: Switch business {business_id} to {astatus} status.
slots:
business_id: path.business_id
astatus: query.astatus
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/business/child/all'].get
update:
x-apievangelist-phrasing:
intent: List child businesses of a parent account
effect: read
questions:
- Which child businesses sit under my reseller or enterprise account?
- Can I list every location belonging to an enterprise parent?
instructions:
- text: List the child businesses of parent {pid}.
slots:
pid: query.pid
- text: Show all locations under enterprise {pid}.
slots:
pid: query.pid
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/business/tabs'].post
update:
x-apievangelist-phrasing:
intent: Choose the tabs on a public profile
effect: write
questions:
- Can I choose which tabs appear on a business's public profile page?
- What controls the tabs shown on my Birdeye public profile?
instructions:
- text: Update the public profile tabs of business {businessId} to {profileTabs}.
slots:
businessId: query.businessId
profileTabs: requestBody.profileTabs
- text: Show only profile tabs {profileTabs} for business {businessId}.
slots:
businessId: query.businessId
profileTabs: requestBody.profileTabs
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/business/{businessId}/hierarchy'].get
update:
x-apievangelist-phrasing:
intent: Get an enterprise's location hierarchy
effect: read
questions:
- What does the location hierarchy look like for my enterprise?
- Can I see the regions and levels my locations are grouped into?
instructions:
- text: Get the enterprise hierarchy for business {businessId}.
slots:
businessId: path.businessId
- text: Show the location hierarchy levels of {businessId}.
slots:
businessId: path.businessId
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/business/business-hierarchy/location/update-mapping/{businessId}'].post
update:
x-apievangelist-phrasing:
intent: Remap a location in the hierarchy
effect: write
questions:
- Can I move a location to a different level in the enterprise hierarchy?
- Is it possible to remap which hierarchy level a location belongs to?
instructions:
- text: Update the hierarchy mapping for location {businessId} to level {Level}.
slots:
businessId: path.businessId
Level: requestBody.Level
- text: Remap location {businessId} in the enterprise hierarchy.
slots:
businessId: path.businessId
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/business/{businessNumber}/profile/customcard'].get
update:
x-apievangelist-phrasing:
intent: Get a profile's custom cards
effect: read
questions:
- Which custom cards are shown on a business's public profile?
- Can I read the custom card content for one location?
instructions:
- text: Get the custom card details for business {businessNumber}.
slots:
businessNumber: path.businessNumber
- text: List the profile custom cards on {businessNumber}.
slots:
businessNumber: path.businessNumber
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/business/public/card/{cardId}'].put
update:
x-apievangelist-phrasing:
intent: Edit an existing custom card
effect: write
questions:
- Can I change the title or image of a custom card already on my profile?
- Can I pin an existing custom card to the top of the profile?
instructions:
- text: Update custom card {cardId} with title {title}.
slots:
cardId: path.cardId
title: requestBody.title
- text: Pin custom card {cardId} to the top and set its link to {clickURL}.
slots:
cardId: path.cardId
clickURL: requestBody.clickURL
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/business/public/card/{cardId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a custom card
effect: destructive
questions:
- Can I take a custom card off a business profile for good?
- Is there a call to delete one custom card by its ID?
instructions:
- text: Delete custom card {cardId}.
slots:
cardId: path.cardId
- text: Remove the profile custom card {cardId}.
slots:
cardId: path.cardId
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/business/{businessNumber}/timezones'].get
update:
x-apievangelist-phrasing:
intent: List timezones available to a business
effect: read
questions:
- Which timezone values can I assign to a business?
- Where do I get the list of valid timezones for a location's profile?
instructions:
- text: List the available timezones for business {businessNumber}.
slots:
businessNumber: path.businessNumber
- text: Get timezone options for {businessNumber}.
slots:
businessNumber: path.businessNumber
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/business/{businessNumber}/birdeye/impressions'].post
update:
x-apievangelist-phrasing:
intent: Get Birdeye profile impressions
effect: read
questions:
- How many impressions did my locations get on Birdeye over a date range?
- Can I compare Birdeye profile impressions across several locations?
instructions:
- text: Get Birdeye impressions for locations {businessNumbers} under account {businessNumber}.
slots:
businessNumbers: requestBody.businessNumbers
businessNumber: path.businessNumber
- text: Show Birdeye impressions for {businessNumbers} from {startDate} to {endDate} under {businessNumber}.
slots:
businessNumbers: requestBody.businessNumbers
startDate: requestBody.startDate
endDate: requestBody.endDate
businessNumber: path.businessNumber
method: generated
generated: '2026-09-26'