Birdeye · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Birdeye Contact V2 API

6 actions 6 updates phrasing extends openapi/birdeye-contact-v2-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.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 6

$.info
$.paths['/v1/contact/external/preferences/saveCustomer'].post
$.paths['/v1/contact/external/preferences/getCustomer'].post
$.paths['/v1/contact/external/preferences/checkin'].post
$.paths['/v1/contact/external/preferences/change-permission'].post
$.paths['/v1/contact/external/preferences/update-feed'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Birdeye Contact V2 API
  version: 1.0.0
extends: openapi/birdeye-contact-v2-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: 5
- target: $.paths['/v1/contact/external/preferences/saveCustomer'].post
  update:
    x-apievangelist-phrasing:
      intent: Upsert a contact with preferences
      effect: write
      questions:
      - Can I save a contact along with their per-channel email and SMS preferences?
      - Is there an upsert that creates or updates a contact with communication preferences?
      instructions:
      - text: Upsert contact {email} with email preferences {emailPreferences}.
        slots:
          email: requestBody.email
          emailPreferences: requestBody.emailPreferences
      - text: Save contact {firstName} {lastName} with SMS preferences {smsPreferences}.
        slots:
          firstName: requestBody.firstName
          lastName: requestBody.lastName
          smsPreferences: requestBody.smsPreferences
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/contact/external/preferences/getCustomer'].post
  update:
    x-apievangelist-phrasing:
      intent: Retrieve a contact with preferences
      effect: read
      questions:
      - Can I fetch a contact and their communication preferences by phone?
      - Can I look up a contact's preference record by email or ID?
      instructions:
      - text: Retrieve the contact with phone {phone} and their preferences.
        slots:
          phone: requestBody.phone
      - text: Get the preference-aware contact record {id}.
        slots:
          id: requestBody.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/contact/external/preferences/checkin'].post
  update:
    x-apievangelist-phrasing:
      intent: Check in a customer with preferences
      effect: write
      questions:
      - Can I check in a visitor and set their email and SMS preferences at the same time?
      - Does a check-in let me record preferences along with the employee who helped?
      instructions:
      - text: Check in {name} at {phone} with SMS preferences {smsPreferences}.
        slots:
          name: requestBody.name
          phone: requestBody.phone
          smsPreferences: requestBody.smsPreferences
      - text: Record a preference check-in for {emailId} with employees {employees}.
        slots:
          emailId: requestBody.emailId
          employees: requestBody.employees
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/contact/external/preferences/change-permission'].post
  update:
    x-apievangelist-phrasing:
      intent: Update a contact's messaging preferences
      effect: write
      questions:
      - Can I change which email and SMS messages a contact receives?
      - How do I update a contact's communication preferences by phone number?
      instructions:
      - text: Update communication preferences for {email} on account {accountNumber} to {emailPreferences}.
        slots:
          email: requestBody.email
          accountNumber: requestBody.accountNumber
          emailPreferences: requestBody.emailPreferences
      - text: Set SMS preferences {smsPreferences} for phone {phone} on account {accountNumber}.
        slots:
          smsPreferences: requestBody.smsPreferences
          phone: requestBody.phone
          accountNumber: requestBody.accountNumber
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/contact/external/preferences/update-feed'].post
  update:
    x-apievangelist-phrasing:
      intent: List contacts who opted out
      effect: read
      questions:
      - Which contacts opted out of messages between two dates?
      - Can I filter the opted-out feed by subscription status?
      instructions:
      - text: Retrieve opted-out contacts from {start} to {end} with status {subscriptionStatus}.
        slots:
          start: requestBody.start
          end: requestBody.end
          subscriptionStatus: requestBody.subscriptionStatus
      - text: List contacts whose subscription status became {subscriptionStatus} between {start} and {end}.
        slots:
          subscriptionStatus: requestBody.subscriptionStatus
          start: requestBody.start
          end: requestBody.end
      method: generated
      generated: '2026-09-26'