Brevo · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Loyalty Program API
13 actions
13 updates
phrasing
extends
openapi/brevo-program-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 13
$.info
$.paths['/loyalty/config/programs'].get
$.paths['/loyalty/config/programs'].post
$.paths['/loyalty/config/programs/{pid}'].get
$.paths['/loyalty/config/programs/{pid}'].put
$.paths['/loyalty/config/programs/{pid}'].delete
$.paths['/loyalty/config/programs/{pid}'].patch
$.paths['/loyalty/config/programs/{pid}/publish'].post
$.paths['/loyalty/config/programs/{pid}/subscriptions'].post
$.paths['/loyalty/config/programs/{pid}/subscription-members'].post
$.paths['/loyalty/config/programs/{pid}/subscription-members'].delete
$.paths['/loyalty/config/programs/{pid}/contact/{cid}'].delete
$.paths['/loyalty/config/programs/{pid}/account-info'].get
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 Program API
version: 1.0.0
extends: openapi/brevo-program-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: 12
- target: $.paths['/loyalty/config/programs'].get
update:
x-apievangelist-phrasing:
intent: List loyalty programs
effect: read
questions:
- Which loyalty programs have I set up in Brevo?
- Can I sort my loyalty programs by a particular field?
instructions:
- text: List my loyalty programs.
- text: List {limit} loyalty programs sorted by {sort_field}.
slots:
limit: query.limit
sort_field: query.sort_field
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs'].post
update:
x-apievangelist-phrasing:
intent: Create a loyalty program
effect: write
questions:
- How do I start a new customer loyalty program?
- Can I add a description when creating a loyalty program?
instructions:
- text: Create a loyalty program named {name}.
slots:
name: requestBody.name
- text: Create loyalty program {name} described as {description}.
slots:
name: requestBody.name
description: requestBody.description
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs/{pid}'].get
update:
x-apievangelist-phrasing:
intent: Get a loyalty program
effect: read
questions:
- What are the settings of one of my loyalty programs?
- Is a given loyalty program published yet?
instructions:
- text: Get loyalty program {pid}.
slots:
pid: path.pid
- text: Show the details of loyalty program {pid}.
slots:
pid: path.pid
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs/{pid}'].put
update:
x-apievangelist-phrasing:
intent: Replace a loyalty program's details
effect: write
questions:
- How do I overwrite a loyalty program's name and description together?
- Can I fully replace the metadata on a loyalty program?
instructions:
- text: Update loyalty program {pid} with name {name} and description {description}.
slots:
pid: path.pid
name: requestBody.name
description: requestBody.description
- text: Replace loyalty program {pid} so it is named {name} with meta {meta}.
slots:
pid: path.pid
name: requestBody.name
meta: requestBody.meta
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs/{pid}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a loyalty program
effect: destructive
questions:
- Can I delete a loyalty program I no longer run?
- How do I remove a test loyalty program?
instructions:
- text: Delete loyalty program {pid}.
slots:
pid: path.pid
- text: Remove the loyalty program {pid} permanently.
slots:
pid: path.pid
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs/{pid}'].patch
update:
x-apievangelist-phrasing:
intent: Partially update a loyalty program
effect: write
questions:
- Can I change just the description of a loyalty program without resending its name?
- Is there a way to patch a single field on a loyalty program?
instructions:
- text: Patch only the description of loyalty program {pid} to {description}.
slots:
pid: path.pid
description: requestBody.description
- text: Rename loyalty program {pid} to {name}, leaving other fields as they are.
slots:
pid: path.pid
name: requestBody.name
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs/{pid}/publish'].post
update:
x-apievangelist-phrasing:
intent: Publish a loyalty program
effect: write
questions:
- How do I make a draft loyalty program live?
- Does a loyalty program need publishing before members can join?
instructions:
- text: Publish loyalty program {pid}.
slots:
pid: path.pid
- text: Take loyalty program {pid} live.
slots:
pid: path.pid
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs/{pid}/subscriptions'].post
update:
x-apievangelist-phrasing:
intent: Enroll a contact in a loyalty program
effect: write
questions:
- How do I sign a customer up for my loyalty program?
- Can I set my own subscription ID when enrolling a contact?
instructions:
- text: Subscribe contact {contactId} to loyalty program {pid}.
slots:
contactId: requestBody.contactId
pid: path.pid
- text: Enroll contact {contactId} in program {pid} with subscription ID {loyaltySubscriptionId}.
slots:
contactId: requestBody.contactId
pid: path.pid
loyaltySubscriptionId: requestBody.loyaltySubscriptionId
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs/{pid}/subscription-members'].post
update:
x-apievangelist-phrasing:
intent: Add members to a loyalty subscription
effect: write
questions:
- Can several contacts share one loyalty subscription, like a household?
- How do I add family members to an existing loyalty subscription?
instructions:
- text: Add contacts {memberContactIds} as members of contact {contactId}'s subscription in program {pid}.
slots:
memberContactIds: requestBody.memberContactIds
contactId: requestBody.contactId
pid: path.pid
- text: Add members {memberContactIds} to loyalty subscription {loyaltySubscriptionId} in program {pid}.
slots:
memberContactIds: requestBody.memberContactIds
loyaltySubscriptionId: requestBody.loyaltySubscriptionId
pid: path.pid
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs/{pid}/subscription-members'].delete
update:
x-apievangelist-phrasing:
intent: Remove members from a loyalty subscription
effect: destructive
questions:
- How do I take a member off a shared loyalty subscription?
- Can I remove several members from a subscription at once?
instructions:
- text: Remove members {memberContactIds} from their subscription in loyalty program {pid}.
slots:
memberContactIds: query.memberContactIds
pid: path.pid
- text: Delete subscription member {memberContactIds} in program {pid}.
slots:
memberContactIds: query.memberContactIds
pid: path.pid
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs/{pid}/contact/{cid}'].delete
update:
x-apievangelist-phrasing:
intent: Cancel a contact's loyalty subscription
effect: destructive
questions:
- How do I unenroll a customer from my loyalty program?
- Can I delete one contact's loyalty subscription entirely?
instructions:
- text: Delete contact {cid}'s subscription to loyalty program {pid}.
slots:
cid: path.cid
pid: path.pid
- text: Unenroll contact {cid} from program {pid}.
slots:
cid: path.cid
pid: path.pid
method: generated
generated: '2026-09-26'
- target: $.paths['/loyalty/config/programs/{pid}/account-info'].get
update:
x-apievangelist-phrasing:
intent: Get a loyalty subscription's balances and tier
effect: read
questions:
- What points balance and tier does a customer have in my loyalty program?
- Can I see the rewards and members attached to a loyalty subscription?
instructions:
- text: Get the balances, tier and rewards for contact {contactId} in program {pid}.
slots:
contactId: query.contactId
pid: path.pid
- text: Show subscription data for loyalty subscription {loyaltySubscriptionId} in program {pid}.
slots:
loyaltySubscriptionId: query.loyaltySubscriptionId
pid: path.pid
method: generated
generated: '2026-09-26'