Brevo · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Loyalty Balance API
19 actions
19 updates
phrasing
extends
openapi/brevo-balance-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 19 · first 16 shown; the file carries all of them
$.info
$.paths['/loyalty/balance/programs/{pid}/balance-definitions'].get
$.paths['/loyalty/balance/programs/{pid}/balance-definitions'].post
$.paths['/loyalty/balance/programs/{pid}/balance-definitions/{bdid}'].get
$.paths['/loyalty/balance/programs/{pid}/balance-definitions/{bdid}'].put
$.paths['/loyalty/balance/programs/{pid}/balance-definitions/{bdid}'].delete
$.paths['/loyalty/balance/programs/{pid}/balance-definitions/{bdid}/limits'].post
$.paths['/loyalty/balance/programs/{pid}/balance-definitions/{bdid}/limits/{blid}'].get
$.paths['/loyalty/balance/programs/{pid}/balance-definitions/{bdid}/limits/{blid}'].put
$.paths['/loyalty/balance/programs/{pid}/balance-definitions/{bdid}/limits/{blid}'].delete
$.paths['/loyalty/balance/programs/{pid}/subscriptions/{cid}/balances'].get
$.paths['/loyalty/balance/programs/{pid}/subscriptions/{cid}/balances'].post
$.paths['/loyalty/balance/programs/{pid}/contact-balances'].get
$.paths['/loyalty/balance/programs/{pid}/transactions'].post
$.paths['/loyalty/balance/programs/{pid}/transactions/{tid}/complete'].post
$.paths['/loyalty/balance/programs/{pid}/transactions/{tid}/cancel'].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 Balance API
version: 1.0.0
extends: openapi/brevo-balance-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: 18
- target: $.paths['/loyalty/balance/programs/{pid}/balance-definitions'].get
update:
x-apievangelist-phrasing:
intent: List balance definitions in a loyalty program
effect: read
questions:
- Which point or credit balances are defined in my loyalty program?
- Can I page through the balance definitions of a program sorted by a field?
instructions:
- text: List the balance definitions in loyalty program {pid}.
slots:
pid: path.pid
- text: Show {limit} balance definitions for program {pid}.
slots:
limit: query.limit
pid: path.pid
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/balance/programs/{pid}/balance-definitions'].post
update:
x-apievangelist-phrasing:
intent: Create a balance definition
effect: write
questions:
- How do I set up a new points balance with its own unit in a loyalty program?
- Can I cap the maximum amount or set an expiration when defining a balance?
instructions:
- text: Create a balance definition named {name} measured in {unit} in program {pid}.
slots:
name: requestBody.name
unit: requestBody.unit
pid: path.pid
- text: Define a new {unit} balance {name} in program {pid} with a max amount of {maxAmount}.
slots:
unit: requestBody.unit
name: requestBody.name
pid: path.pid
maxAmount: requestBody.maxAmount
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/balance/programs/{pid}/balance-definitions/{bdid}'].get
update:
x-apievangelist-phrasing:
intent: Get a balance definition
effect: read
questions:
- What are the settings of one specific balance definition, like its unit and limits?
- Can I read a balance definition as it stood in a particular program version?
instructions:
- text: Show balance definition {bdid} in program {pid}.
slots:
bdid: path.bdid
pid: path.pid
- text: Get balance definition {bdid} from program {pid} at version {version}.
slots:
bdid: path.bdid
pid: path.pid
version: query.version
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/balance/programs/{pid}/balance-definitions/{bdid}'].put
update:
x-apievangelist-phrasing:
intent: Update a balance definition
effect: write
questions:
- Can I change the name, unit or rounding rules of an existing balance definition?
- Is it possible to raise the credit limit on a balance I already defined?
instructions:
- text: Update balance definition {bdid} in program {pid} to name {name} and unit {unit}.
slots:
bdid: path.bdid
pid: path.pid
name: requestBody.name
unit: requestBody.unit
- text: Change the max credit limit of balance definition {bdid} in program {pid} to {maxCreditAmountLimit}, keeping name {name} and unit {unit}.
slots:
bdid: path.bdid
pid: path.pid
maxCreditAmountLimit: requestBody.maxCreditAmountLimit
name: requestBody.name
unit: requestBody.unit
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/balance/programs/{pid}/balance-definitions/{bdid}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a balance definition
effect: destructive
questions:
- Can I remove a balance definition from my loyalty program?
- What do I need to delete a points balance type I no longer use?
instructions:
- text: Delete balance definition {bdid} from program {pid}.
slots:
bdid: path.bdid
pid: path.pid
- text: Remove the balance type {bdid} in loyalty program {pid}.
slots:
bdid: path.bdid
pid: path.pid
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/balance/programs/{pid}/balance-definitions/{bdid}/limits'].post
update:
x-apievangelist-phrasing:
intent: Add a limit to a balance definition
effect: write
questions:
- How do I cap how many points a member can earn per week?
- Can a balance limit apply to credits, debits or use a sliding schedule?
instructions:
- text: Add a {transactionType} limit of {value} per {durationValue} {durationUnit} with constraint {constraintType} to balance {bdid} in program {pid}.
slots:
transactionType: requestBody.transactionType
value: requestBody.value
durationValue: requestBody.durationValue
durationUnit: requestBody.durationUnit
constraintType: requestBody.constraintType
bdid: path.bdid
pid: path.pid
- text: Create a balance limit on definition {bdid} in program {pid}.
slots:
bdid: path.bdid
pid: path.pid
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/balance/programs/{pid}/balance-definitions/{bdid}/limits/{blid}'].get
update:
x-apievangelist-phrasing:
intent: Get a balance limit
effect: read
questions:
- What are the constraints of a specific limit on a balance definition?
- Can I read a balance limit as of a given program version?
instructions:
- text: Show balance limit {blid} on definition {bdid} in program {pid}.
slots:
blid: path.blid
bdid: path.bdid
pid: path.pid
- text: Get limit {blid} of balance {bdid} in program {pid} at version {version}.
slots:
blid: path.blid
bdid: path.bdid
pid: path.pid
version: query.version
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/balance/programs/{pid}/balance-definitions/{bdid}/limits/{blid}'].put
update:
x-apievangelist-phrasing:
intent: Update a balance limit
effect: write
questions:
- Can I change the value or duration of an existing balance limit?
- Is it possible to switch a limit I already created to a sliding schedule?
instructions:
- text: Change balance limit {blid} on definition {bdid} in program {pid} to {value} per {durationValue} {durationUnit}.
slots:
blid: path.blid
bdid: path.bdid
pid: path.pid
value: requestBody.value
durationValue: requestBody.durationValue
durationUnit: requestBody.durationUnit
- text: Edit limit {blid} of balance {bdid} in program {pid}.
slots:
blid: path.blid
bdid: path.bdid
pid: path.pid
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/balance/programs/{pid}/balance-definitions/{bdid}/limits/{blid}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a balance limit
effect: destructive
questions:
- Can I remove an earning or spending cap from a balance?
- What identifies the balance limit I want to delete?
instructions:
- text: Delete balance limit {blid} from definition {bdid} in program {pid}.
slots:
blid: path.blid
bdid: path.bdid
pid: path.pid
- text: Remove limit {blid} on balance {bdid} of program {pid}.
slots:
blid: path.blid
bdid: path.bdid
pid: path.pid
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/balance/programs/{pid}/subscriptions/{cid}/balances'].get
update:
x-apievangelist-phrasing:
intent: Get a member's balances by subscription
effect: read
questions:
- How many points does a specific loyalty member currently have?
- Can I include internal balances when checking a member's subscription?
instructions:
- text: Show the balances for subscription {cid} in program {pid}.
slots:
cid: path.cid
pid: path.pid
- text: Get all balances, including internal ones, for member {cid} in program {pid}.
slots:
cid: path.cid
pid: path.pid
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/balance/programs/{pid}/subscriptions/{cid}/balances'].post
update:
x-apievangelist-phrasing:
intent: Open a balance for a member
effect: write
questions:
- How do I give a loyalty member a new balance of a given type?
- Can I create a balance for a contact that doesn't have one yet?
instructions:
- text: Create a balance of definition {balanceDefinitionId} for member {cid} in program {pid}.
slots:
balanceDefinitionId: requestBody.balanceDefinitionId
cid: path.cid
pid: path.pid
- text: Open a {balanceDefinitionId} balance for subscription {cid} in program {pid}.
slots:
balanceDefinitionId: requestBody.balanceDefinitionId
cid: path.cid
pid: path.pid
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/balance/programs/{pid}/contact-balances'].get
update:
x-apievangelist-phrasing:
intent: List all members' balances for one balance type
effect: read
questions:
- Which members hold a given balance type, and how much does each one have?
- Can I list contact balances for one balance definition across every subscription?
instructions:
- text: List contact balances for definition {balanceDefinitionId} in program {pid}.
slots:
balanceDefinitionId: query.balanceDefinitionId
pid: path.pid
- text: Show {limit} member balances of type {balanceDefinitionId} in program {pid}.
slots:
limit: query.limit
balanceDefinitionId: query.balanceDefinitionId
pid: path.pid
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/balance/programs/{pid}/transactions'].post
update:
x-apievangelist-phrasing:
intent: Credit or debit a member's balance
effect: write
questions:
- How do I award or deduct loyalty points for a contact?
- Can a balance transaction complete automatically or expire after a TTL?
instructions:
- text: Create a transaction of {amount} on balance {balanceDefinitionId} for contact {contactId} in program {pid}.
slots:
amount: requestBody.amount
balanceDefinitionId: requestBody.balanceDefinitionId
contactId: requestBody.contactId
pid: path.pid
- text: Start an auto-completing {transactionType} of {amount} on balance {balanceDefinitionId} in program {pid}.
slots:
transactionType: requestBody.transactionType
amount: requestBody.amount
balanceDefinitionId: requestBody.balanceDefinitionId
pid: path.pid
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/balance/programs/{pid}/transactions/{tid}/complete'].post
update:
x-apievangelist-phrasing:
intent: Complete a pending balance transaction
effect: write
questions:
- How do I finalize a balance transaction I started earlier?
- What confirms a pending points credit so it hits the member's balance?
instructions:
- text: Complete balance transaction {tid} in program {pid}.
slots:
tid: path.tid
pid: path.pid
- text: Finalize the pending transaction {tid} for program {pid}.
slots:
tid: path.tid
pid: path.pid
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/balance/programs/{pid}/transactions/{tid}/cancel'].post
update:
x-apievangelist-phrasing:
intent: Cancel a pending balance transaction
effect: destructive
questions:
- Can I cancel a balance transaction before it's completed?
- What undoes a points credit that is still pending?
instructions:
- text: Cancel balance transaction {tid} in program {pid}.
slots:
tid: path.tid
pid: path.pid
- text: Void the pending transaction {tid} in loyalty program {pid}.
slots:
tid: path.tid
pid: path.pid
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/balance/programs/{pid}/create-order'].post
update:
x-apievangelist-phrasing:
intent: Create a balance order for a contact
effect: write
questions:
- How do I schedule a balance credit for a contact that is due on a future date?
- Can a balance order carry a source and expiration date?
instructions:
- text: Create a balance order of {amount} on {balanceDefinitionId} for contact {contactId}, due {dueAt}, source {source}, in program {pid}.
slots:
amount: requestBody.amount
balanceDefinitionId: requestBody.balanceDefinitionId
contactId: requestBody.contactId
dueAt: requestBody.dueAt
source: requestBody.source
pid: path.pid
- text: Place a balance order in program {pid} that expires at {expiresAt}.
slots:
pid: path.pid
expiresAt: requestBody.expiresAt
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/balance/programs/{pid}/active-balance'].get
update:
x-apievangelist-phrasing:
intent: List a contact's active balances
effect: read
questions:
- Which unexpired balance lots does a contact currently hold for one balance type?
- Can I see a contact's active balances sorted by a field?
instructions:
- text: Show active balances of type {balanceDefinitionId} for contact {contactId} in program {pid}.
slots:
balanceDefinitionId: query.balanceDefinitionId
contactId: query.contactId
pid: path.pid
- text: List {limit} currently active balances for contact {contactId} on definition {balanceDefinitionId} in program {pid}.
slots:
limit: query.limit
contactId: query.contactId
balanceDefinitionId: query.balanceDefinitionId
pid: path.pid
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/balance/programs/{pid}/transaction-history'].get
update:
x-apievangelist-phrasing:
intent: Get a contact's balance transaction history
effect: read
questions:
- What credits and debits have been made to a contact's balance over time?
- Can I filter a member's transaction history by status or transaction type?
instructions:
- text: Show the transaction history for contact {contactId} on balance {balanceDefinitionId} in program {pid}.
slots:
contactId: query.contactId
balanceDefinitionId: query.balanceDefinitionId
pid: path.pid
- text: List {status} transactions for contact {contactId} on balance {balanceDefinitionId} in program {pid}.
slots:
status: query.status
contactId: query.contactId
balanceDefinitionId: query.balanceDefinitionId
pid: path.pid
method: generated
generated: '2026-09-26'