Brevo · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Loyalty Reward API

11 actions 11 updates phrasing extends openapi/brevo-reward-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 11

$.info
$.paths['/loyalty/offer/programs/{pid}/code-pools/{cpid}/codes-count'].get
$.paths['/loyalty/offer/programs/{pid}/vouchers'].get
$.paths['/loyalty/offer/programs/{pid}/offers'].get
$.paths['/loyalty/offer/programs/{pid}/offers'].post
$.paths['/loyalty/offer/programs/{pid}/rewards/{rid}'].get
$.paths['/loyalty/offer/programs/{pid}/rewards/attribute'].post
$.paths['/loyalty/offer/programs/{pid}/rewards/redeem'].post
$.paths['/loyalty/offer/programs/{pid}/rewards/redeem/{tid}/complete'].post
$.paths['/loyalty/offer/programs/{pid}/rewards/revoke'].delete
$.paths['/loyalty/offer/programs/{pid}/rewards/validate'].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 Loyalty Reward API
  version: 1.0.0
extends: openapi/brevo-reward-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: 10
- target: $.paths['/loyalty/offer/programs/{pid}/code-pools/{cpid}/codes-count'].get
  update:
    x-apievangelist-phrasing:
      intent: Count codes in a reward code pool
      effect: read
      questions:
      - How many voucher codes are left in a code pool?
      - Can I check the size of a loyalty code pool?
      instructions:
      - text: Count the codes in pool {cpid} of program {pid}.
        slots:
          cpid: path.cpid
          pid: path.pid
      - text: Report how many codes remain in code pool {cpid} for program {pid}.
        slots:
          cpid: path.cpid
          pid: path.pid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/offer/programs/{pid}/vouchers'].get
  update:
    x-apievangelist-phrasing:
      intent: List a contact's vouchers
      effect: read
      questions:
      - Which vouchers has a specific contact been given?
      - Can I filter a contact's vouchers by reward?
      instructions:
      - text: Show vouchers for contact {contactId} in program {pid}.
        slots:
          contactId: query.contactId
          pid: path.pid
      - text: List contact {contactId}'s vouchers for reward {rewardId} in program {pid}.
        slots:
          contactId: query.contactId
          rewardId: query.rewardId
          pid: path.pid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/offer/programs/{pid}/offers'].get
  update:
    x-apievangelist-phrasing:
      intent: List rewards in a loyalty program
      effect: read
      questions:
      - What rewards are offered in my loyalty program?
      - Can I list only rewards in a certain state?
      instructions:
      - text: List the rewards in program {pid}.
        slots:
          pid: path.pid
      - text: Show {state} rewards in program {pid}.
        slots:
          state: query.state
          pid: path.pid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/offer/programs/{pid}/offers'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a reward
      effect: write
      questions:
      - How do I add a new reward to my loyalty program?
      - Can a reward have a public name, description and image?
      instructions:
      - text: Create a reward named {name} in program {pid}.
        slots:
          name: requestBody.name
          pid: path.pid
      - text: Add reward {name} with public name {publicName} to program {pid}.
        slots:
          name: requestBody.name
          publicName: requestBody.publicName
          pid: path.pid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/offer/programs/{pid}/rewards/{rid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a reward
      effect: read
      questions:
      - What are the details of one specific reward?
      - Can I view a reward as of a specific program version?
      instructions:
      - text: Show reward {rid} in program {pid}.
        slots:
          rid: path.rid
          pid: path.pid
      - text: Get reward {rid} from program {pid} at version {version}.
        slots:
          rid: path.rid
          pid: path.pid
          version: query.version
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/offer/programs/{pid}/rewards/attribute'].post
  update:
    x-apievangelist-phrasing:
      intent: Issue a voucher to a member
      effect: write
      questions:
      - How do I give a loyalty member a voucher for a reward?
      - Can I set a validity window and expiration on a voucher I issue?
      instructions:
      - text: Issue reward {rewardId} as a voucher to contact {contactId} in program {pid}.
        slots:
          rewardId: requestBody.rewardId
          contactId: requestBody.contactId
          pid: path.pid
      - text: Create a voucher with code {code} for reward {rewardId} expiring {expirationDate} in program {pid}.
        slots:
          code: requestBody.code
          rewardId: requestBody.rewardId
          expirationDate: requestBody.expirationDate
          pid: path.pid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/offer/programs/{pid}/rewards/redeem'].post
  update:
    x-apievangelist-phrasing:
      intent: Request to redeem a voucher
      effect: write
      questions:
      - How do I start redeeming a member's voucher at checkout?
      - Can a voucher redemption auto-complete or expire after a TTL?
      instructions:
      - text: Redeem voucher code {code} for contact {contactId} in program {pid}.
        slots:
          code: requestBody.code
          contactId: requestBody.contactId
          pid: path.pid
      - text: Start redemption of attributed reward {attributedRewardId} in program {pid}.
        slots:
          attributedRewardId: requestBody.attributedRewardId
          pid: path.pid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/offer/programs/{pid}/rewards/redeem/{tid}/complete'].post
  update:
    x-apievangelist-phrasing:
      intent: Complete a voucher redemption
      effect: write
      questions:
      - How do I finalize a pending voucher redemption?
      - What confirms a redemption request so the voucher is used?
      instructions:
      - text: Complete redemption {tid} in program {pid}.
        slots:
          tid: path.tid
          pid: path.pid
      - text: Finalize the pending voucher redeem {tid} for program {pid}.
        slots:
          tid: path.tid
          pid: path.pid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/offer/programs/{pid}/rewards/revoke'].delete
  update:
    x-apievangelist-phrasing:
      intent: Revoke issued vouchers
      effect: destructive
      questions:
      - Can I take back vouchers already given to members?
      - How do I revoke several attributed vouchers at once?
      instructions:
      - text: Revoke vouchers {attributedRewardIds} in program {pid}.
        slots:
          attributedRewardIds: query.attributedRewardIds
          pid: path.pid
      - text: Cancel the attributed rewards {attributedRewardIds} from program {pid}.
        slots:
          attributedRewardIds: query.attributedRewardIds
          pid: path.pid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/loyalty/offer/programs/{pid}/rewards/validate'].post
  update:
    x-apievangelist-phrasing:
      intent: Check whether a reward is valid
      effect: read
      questions:
      - Can I verify a voucher code is valid before redeeming it?
      - Does a reward check take a point of sale into account?
      instructions:
      - text: Validate voucher code {code} for contact {contactId} in program {pid}.
        slots:
          code: requestBody.code
          contactId: requestBody.contactId
          pid: path.pid
      - text: Check reward {rewardId} at point of sale {pointOfSellId} in program {pid}.
        slots:
          rewardId: requestBody.rewardId
          pointOfSellId: requestBody.pointOfSellId
          pid: path.pid
      method: generated
      generated: '2026-09-26'