Antavo · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Antavo Customers API
12 actions
12 updates
phrasing
extends
openapi/antavo-customers-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Antavo's API. It is a proposal applied on top of the contract, not a document Antavo publishes.
What the actions change
x-apievangelist-phrasing
Targets 12
$.info
$.paths['/customers/-/count'].get
$.paths['/customers/{customer_id}'].get
$.paths['/customers'].get
$.paths['/customers/{customer_id}/merge'].post
$.paths['/customers/-/verify/'].get
$.paths['/customers/{customer_id}/opt-in'].post
$.paths['/customers/-/login'].post
$.paths['/customers/-/password/request'].post
$.paths['/customers/-/password/reset'].post
$.paths['/v1/customers/{customer_id}'].get
$.paths['/v1/customers'].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 Antavo Customers API
version: 1.0.0
extends: openapi/antavo-customers-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 11
- target: $.paths['/customers/-/count'].get
update:
x-apievangelist-phrasing:
intent: Count active customers
effect: read
questions:
- How many active members are in my loyalty program?
- Is there a quick way to get the total active customer count?
instructions:
- text: Count the active customers in the program.
- text: Tell me how many loyalty members currently have active status.
method: generated
generated: '2026-10-01'
- target: $.paths['/customers/{customer_id}'].get
update:
x-apievangelist-phrasing:
intent: Fetch a customer with selected fields
effect: read
questions:
- Can I limit which profile fields come back when fetching one customer?
- Which endpoint returns a member's data trimmed to the attributes I pick?
instructions:
- text: Fetch customer {customer_id} returning only the fields {fields}.
slots:
customer_id: path.customer_id
fields: query.fields
- text: Pull member {customer_id} from the original customers endpoint.
slots:
customer_id: path.customer_id
method: generated
generated: '2026-10-01'
- target: $.paths['/customers'].get
update:
x-apievangelist-phrasing:
intent: Search customers to find their Antavo ID
effect: read
questions:
- Can I find a customer's Antavo ID by searching on their email?
- Is the customer search case-sensitive, and does it allow partial matches?
instructions:
- text: Search customers for {search} and return their Antavo IDs.
slots:
search: query.search
- text: Find customers matching {search} with match mode {match}, up to {limit} results.
slots:
search: query.search
match: query.match
limit: query.limit
method: generated
generated: '2026-10-01'
- target: $.paths['/customers/{customer_id}/merge'].post
update:
x-apievangelist-phrasing:
intent: Merge a customer into another account
effect: destructive
questions:
- Can I merge a duplicate loyalty account into another one?
- Is merging two customer accounts reversible?
instructions:
- text: Merge customer {customer_id} into target account {target}.
slots:
customer_id: path.customer_id
target: requestBody.target
- text: Permanently fold duplicate member {customer_id} into account {target}.
slots:
customer_id: path.customer_id
target: requestBody.target
method: generated
generated: '2026-10-01'
- target: $.paths['/customers/-/verify/'].get
update:
x-apievangelist-phrasing:
intent: Verify a customer's registration
effect: write
questions:
- What activates a new member's account after they register?
- What happens to a customer's status once verification succeeds?
instructions:
- text: Verify registration token {token}.
slots:
token: query.token
- text: Confirm the sign-up with token {token} and send the member to {redirect_url}.
slots:
token: query.token
redirect_url: query.redirect_url
method: generated
generated: '2026-10-01'
- target: $.paths['/customers/{customer_id}/opt-in'].post
update:
x-apievangelist-phrasing:
intent: Register a customer with login credentials
effect: write
questions:
- Can a customer self-register with a password for the loyalty program?
- Which profile fields can be set when a member opts in?
instructions:
- text: Opt in customer {customer_id} with password {password}, confirmed as {confirm_password}.
slots:
customer_id: path.customer_id
password: requestBody.password
confirm_password: requestBody.confirm_password
- text: Register member {customer_id} with email {email}, password {password} and confirmation {confirm_password}.
slots:
customer_id: path.customer_id
email: requestBody.email
password: requestBody.password
confirm_password: requestBody.confirm_password
method: generated
generated: '2026-10-01'
- target: $.paths['/customers/-/login'].post
update:
x-apievangelist-phrasing:
intent: Log a customer in
effect: write
questions:
- Can I authenticate a loyalty member with a username and password?
- What does a successful member login return?
instructions:
- text: Log in member {username} with password {password}.
slots:
username: requestBody.username
password: requestBody.password
- text: Sign customer {username} into the loyalty program using {password}.
slots:
username: requestBody.username
password: requestBody.password
method: generated
generated: '2026-10-01'
- target: $.paths['/customers/-/password/request'].post
update:
x-apievangelist-phrasing:
intent: Send a password reset request
effect: write
questions:
- What lets a member who forgot their password get a reset link?
- Can I control the URL in the password reset email?
instructions:
- text: Send a password reset email to {username}.
slots:
username: requestBody.username
- text: Request a new password for {username} with the reset link pointing to {url}.
slots:
username: requestBody.username
url: requestBody.url
method: generated
generated: '2026-10-01'
- target: $.paths['/customers/-/password/reset'].post
update:
x-apievangelist-phrasing:
intent: Reset a customer's password with a token
effect: write
questions:
- Can a customer set a new password using the token from the reset email?
- Does the password reset check that both passwords match?
instructions:
- text: Reset the password with token {token} to {password}, confirmed as {confirm_password}.
slots:
token: requestBody.token
password: requestBody.password
confirm_password: requestBody.confirm_password
- text: Set new member password {password} using reset token {token} and confirmation {confirm_password}.
slots:
password: requestBody.password
token: requestBody.token
confirm_password: requestBody.confirm_password
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/customers/{customer_id}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve one customer's profile
effect: read
questions:
- How do I get the full profile of one loyalty member by their customer ID?
- Can I look up a customer using an external ID instead of the Antavo ID?
instructions:
- text: Get the details of customer {customer_id}.
slots:
customer_id: path.customer_id
- text: Show me the profile data for loyalty member {customer_id}.
slots:
customer_id: path.customer_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/customers'].get
update:
x-apievangelist-phrasing:
intent: List loyalty program customers
effect: read
questions:
- Which customers have joined the loyalty program, including custom attributes?
- Can I filter the customer list by status or creation date?
instructions:
- text: List all customers in the workspace.
- text: List {limit} customers matching {filter}, sorted by {sort}.
slots:
limit: query.limit
filter: query.filter
sort: query.sort
method: generated
generated: '2026-10-01'