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'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/birdeye-contact-v2-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.