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.
View Overlay File View on GitHub Overlay Specification

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

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