Brevo · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Loyalty Program API

13 actions 13 updates phrasing extends openapi/brevo-program-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Brevo's API. It is a proposal applied on top of the contract, not a document Brevo publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 13

$.info
$.paths['/loyalty/config/programs'].get
$.paths['/loyalty/config/programs'].post
$.paths['/loyalty/config/programs/{pid}'].get
$.paths['/loyalty/config/programs/{pid}'].put
$.paths['/loyalty/config/programs/{pid}'].delete
$.paths['/loyalty/config/programs/{pid}'].patch
$.paths['/loyalty/config/programs/{pid}/publish'].post
$.paths['/loyalty/config/programs/{pid}/subscriptions'].post
$.paths['/loyalty/config/programs/{pid}/subscription-members'].post
$.paths['/loyalty/config/programs/{pid}/subscription-members'].delete
$.paths['/loyalty/config/programs/{pid}/contact/{cid}'].delete
$.paths['/loyalty/config/programs/{pid}/account-info'].get

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 Loyalty Program API
  version: 1.0.0
extends: openapi/brevo-program-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: 12
- target: $.paths['/loyalty/config/programs'].get
  update:
    x-apievangelist-phrasing:
      intent: List loyalty programs
      effect: read
      questions:
      - Which loyalty programs have I set up in Brevo?
      - Can I sort my loyalty programs by a particular field?
      instructions:
      - text: List my loyalty programs.
      - text: List {limit} loyalty programs sorted by {sort_field}.
        slots:
          limit: query.limit
          sort_field: query.sort_field
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a loyalty program
      effect: write
      questions:
      - How do I start a new customer loyalty program?
      - Can I add a description when creating a loyalty program?
      instructions:
      - text: Create a loyalty program named {name}.
        slots:
          name: requestBody.name
      - text: Create loyalty program {name} described as {description}.
        slots:
          name: requestBody.name
          description: requestBody.description
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs/{pid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a loyalty program
      effect: read
      questions:
      - What are the settings of one of my loyalty programs?
      - Is a given loyalty program published yet?
      instructions:
      - text: Get loyalty program {pid}.
        slots:
          pid: path.pid
      - text: Show the details of loyalty program {pid}.
        slots:
          pid: path.pid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs/{pid}'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a loyalty program's details
      effect: write
      questions:
      - How do I overwrite a loyalty program's name and description together?
      - Can I fully replace the metadata on a loyalty program?
      instructions:
      - text: Update loyalty program {pid} with name {name} and description {description}.
        slots:
          pid: path.pid
          name: requestBody.name
          description: requestBody.description
      - text: Replace loyalty program {pid} so it is named {name} with meta {meta}.
        slots:
          pid: path.pid
          name: requestBody.name
          meta: requestBody.meta
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs/{pid}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a loyalty program
      effect: destructive
      questions:
      - Can I delete a loyalty program I no longer run?
      - How do I remove a test loyalty program?
      instructions:
      - text: Delete loyalty program {pid}.
        slots:
          pid: path.pid
      - text: Remove the loyalty program {pid} permanently.
        slots:
          pid: path.pid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs/{pid}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Partially update a loyalty program
      effect: write
      questions:
      - Can I change just the description of a loyalty program without resending its name?
      - Is there a way to patch a single field on a loyalty program?
      instructions:
      - text: Patch only the description of loyalty program {pid} to {description}.
        slots:
          pid: path.pid
          description: requestBody.description
      - text: Rename loyalty program {pid} to {name}, leaving other fields as they are.
        slots:
          pid: path.pid
          name: requestBody.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs/{pid}/publish'].post
  update:
    x-apievangelist-phrasing:
      intent: Publish a loyalty program
      effect: write
      questions:
      - How do I make a draft loyalty program live?
      - Does a loyalty program need publishing before members can join?
      instructions:
      - text: Publish loyalty program {pid}.
        slots:
          pid: path.pid
      - text: Take loyalty program {pid} live.
        slots:
          pid: path.pid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs/{pid}/subscriptions'].post
  update:
    x-apievangelist-phrasing:
      intent: Enroll a contact in a loyalty program
      effect: write
      questions:
      - How do I sign a customer up for my loyalty program?
      - Can I set my own subscription ID when enrolling a contact?
      instructions:
      - text: Subscribe contact {contactId} to loyalty program {pid}.
        slots:
          contactId: requestBody.contactId
          pid: path.pid
      - text: Enroll contact {contactId} in program {pid} with subscription ID {loyaltySubscriptionId}.
        slots:
          contactId: requestBody.contactId
          pid: path.pid
          loyaltySubscriptionId: requestBody.loyaltySubscriptionId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs/{pid}/subscription-members'].post
  update:
    x-apievangelist-phrasing:
      intent: Add members to a loyalty subscription
      effect: write
      questions:
      - Can several contacts share one loyalty subscription, like a household?
      - How do I add family members to an existing loyalty subscription?
      instructions:
      - text: Add contacts {memberContactIds} as members of contact {contactId}'s subscription in program {pid}.
        slots:
          memberContactIds: requestBody.memberContactIds
          contactId: requestBody.contactId
          pid: path.pid
      - text: Add members {memberContactIds} to loyalty subscription {loyaltySubscriptionId} in program {pid}.
        slots:
          memberContactIds: requestBody.memberContactIds
          loyaltySubscriptionId: requestBody.loyaltySubscriptionId
          pid: path.pid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs/{pid}/subscription-members'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove members from a loyalty subscription
      effect: destructive
      questions:
      - How do I take a member off a shared loyalty subscription?
      - Can I remove several members from a subscription at once?
      instructions:
      - text: Remove members {memberContactIds} from their subscription in loyalty program {pid}.
        slots:
          memberContactIds: query.memberContactIds
          pid: path.pid
      - text: Delete subscription member {memberContactIds} in program {pid}.
        slots:
          memberContactIds: query.memberContactIds
          pid: path.pid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs/{pid}/contact/{cid}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Cancel a contact's loyalty subscription
      effect: destructive
      questions:
      - How do I unenroll a customer from my loyalty program?
      - Can I delete one contact's loyalty subscription entirely?
      instructions:
      - text: Delete contact {cid}'s subscription to loyalty program {pid}.
        slots:
          cid: path.cid
          pid: path.pid
      - text: Unenroll contact {cid} from program {pid}.
        slots:
          cid: path.cid
          pid: path.pid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs/{pid}/account-info'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a loyalty subscription's balances and tier
      effect: read
      questions:
      - What points balance and tier does a customer have in my loyalty program?
      - Can I see the rewards and members attached to a loyalty subscription?
      instructions:
      - text: Get the balances, tier and rewards for contact {contactId} in program {pid}.
        slots:
          contactId: query.contactId
          pid: path.pid
      - text: Show subscription data for loyalty subscription {loyaltySubscriptionId} in program {pid}.
        slots:
          loyaltySubscriptionId: query.loyaltySubscriptionId
          pid: path.pid
      method: generated
      generated: '2026-09-26'