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.
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
# 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'