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