Square · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Square Loyalty API
19 actions
19 updates
phrasing
extends
openapi/square-loyalty-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Square's API. It is a proposal applied on top of the contract, not a document Square publishes.
What the actions change
x-apievangelist-phrasing
Targets 19 · first 16 shown; the file carries all of them
$.info
$.paths['/v2/loyalty/accounts'].post
$.paths['/v2/loyalty/accounts/search'].post
$.paths['/v2/loyalty/accounts/{account_id}'].get
$.paths['/v2/loyalty/accounts/{account_id}/accumulate'].post
$.paths['/v2/loyalty/accounts/{account_id}/adjust'].post
$.paths['/v2/loyalty/events/search'].post
$.paths['/v2/loyalty/programs'].get
$.paths['/v2/loyalty/programs/{program_id}'].get
$.paths['/v2/loyalty/programs/{program_id}/calculate'].post
$.paths['/v2/loyalty/programs/{program_id}/promotions'].get
$.paths['/v2/loyalty/programs/{program_id}/promotions'].post
$.paths['/v2/loyalty/programs/{program_id}/promotions/{promotion_id}'].get
$.paths['/v2/loyalty/programs/{program_id}/promotions/{promotion_id}/cancel'].post
$.paths['/v2/loyalty/rewards'].post
$.paths['/v2/loyalty/rewards/search'].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 Square Loyalty API
version: 1.0.0
extends: openapi/square-loyalty-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['/v2/loyalty/accounts'].post
update:
x-apievangelist-phrasing:
intent: Enroll a buyer in the loyalty program
effect: write
questions:
- How do I sign a customer up for my Square loyalty program using their phone number?
- What do I need to open a new loyalty account for a buyer?
instructions:
- text: Create a loyalty account from {loyalty_account}.
slots:
loyalty_account: requestBody.loyalty_account
- text: Enroll this buyer in my loyalty program using {loyalty_account}, with idempotency key {idempotency_key}.
slots:
loyalty_account: requestBody.loyalty_account
idempotency_key: requestBody.idempotency_key
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/loyalty/accounts/search'].post
update:
x-apievangelist-phrasing:
intent: Find loyalty accounts by phone or customer
effect: read
questions:
- Can I look up a loyalty member by their phone number?
- Which loyalty accounts are tied to a given customer ID?
- Is there a way to page through every loyalty account in my program?
instructions:
- text: Search loyalty accounts matching {query}.
slots:
query: requestBody.query
- text: Find up to {limit} loyalty accounts in my program.
slots:
limit: requestBody.limit
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/loyalty/accounts/{account_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a loyalty account
effect: read
questions:
- How can I see the point balance on one specific loyalty account?
- What details come back for a single loyalty account by its ID?
instructions:
- text: Show me loyalty account {account_id}.
slots:
account_id: path.account_id
- text: Pull up the balance and details of loyalty account {account_id}.
slots:
account_id: path.account_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/loyalty/accounts/{account_id}/accumulate'].post
update:
x-apievangelist-phrasing:
intent: Award points earned from a purchase
effect: write
questions:
- How do I give a loyalty member the points they earned on an order?
- Can points be credited from a purchase at a specific location?
instructions:
- text: Add the points earned from {accumulate_points} to loyalty account {account_id} at location {location_id}.
slots:
accumulate_points: requestBody.accumulate_points
account_id: path.account_id
location_id: requestBody.location_id
- text: Credit purchase points to loyalty account {account_id} for the sale at {location_id}.
slots:
account_id: path.account_id
location_id: requestBody.location_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/loyalty/accounts/{account_id}/adjust'].post
update:
x-apievangelist-phrasing:
intent: Manually add or subtract loyalty points
effect: write
questions:
- How do I manually correct a buyer's loyalty point balance?
- Can a manual points adjustment leave an account with a negative balance?
instructions:
- text: Adjust the points on loyalty account {account_id} by {adjust_points}.
slots:
account_id: path.account_id
adjust_points: requestBody.adjust_points
- text: 'Deduct points from loyalty account {account_id} with {adjust_points}, allowing a negative balance: {allow_negative_balance}.'
slots:
account_id: path.account_id
adjust_points: requestBody.adjust_points
allow_negative_balance: requestBody.allow_negative_balance
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/loyalty/events/search'].post
update:
x-apievangelist-phrasing:
intent: Search the loyalty points ledger
effect: read
questions:
- Where can I see the history of points earned and redeemed on loyalty accounts?
- Can I filter loyalty events by type or date range?
instructions:
- text: Search loyalty events matching {query}.
slots:
query: requestBody.query
- text: Show the last {limit} loyalty ledger events.
slots:
limit: requestBody.limit
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/loyalty/programs'].get
update:
x-apievangelist-phrasing:
intent: List the seller's loyalty programs
effect: read
questions:
- What loyalty program does my Square account have set up?
- Is there a call that returns my loyalty programs without knowing the program ID?
instructions:
- text: List my loyalty programs.
- text: Show every loyalty program on this seller account.
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/loyalty/programs/{program_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a loyalty program's rules
effect: read
questions:
- How do I read the earning rules and reward tiers of my loyalty program?
- Can I fetch the loyalty program using the keyword main instead of an ID?
instructions:
- text: Get loyalty program {program_id} with its reward tiers.
slots:
program_id: path.program_id
- text: Show the accrual rules for loyalty program {program_id}.
slots:
program_id: path.program_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/loyalty/programs/{program_id}/calculate'].post
update:
x-apievangelist-phrasing:
intent: Preview points a purchase would earn
effect: read
questions:
- How many loyalty points would a buyer earn on this purchase?
- Can I estimate points from a transaction amount without an order?
instructions:
- text: Calculate the points order {order_id} would earn in program {program_id}.
slots:
order_id: requestBody.order_id
program_id: path.program_id
- text: Estimate loyalty points for a {transaction_amount_money} purchase in program {program_id}.
slots:
transaction_amount_money: requestBody.transaction_amount_money
program_id: path.program_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/loyalty/programs/{program_id}/promotions'].get
update:
x-apievangelist-phrasing:
intent: List a loyalty program's promotions
effect: read
questions:
- Which bonus-point promotions are running on my loyalty program?
- Can I list only scheduled or canceled loyalty promotions?
instructions:
- text: List promotions for loyalty program {program_id}.
slots:
program_id: path.program_id
- text: Show {status} promotions in loyalty program {program_id}.
slots:
status: query.status
program_id: path.program_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/loyalty/programs/{program_id}/promotions'].post
update:
x-apievangelist-phrasing:
intent: Create a bonus-points promotion
effect: write
questions:
- How do I run a double-points promotion on my loyalty program?
- Can buyers earn extra points on top of the base program for a limited time?
instructions:
- text: Create loyalty promotion {loyalty_promotion} on program {program_id}.
slots:
loyalty_promotion: requestBody.loyalty_promotion
program_id: path.program_id
- text: Set up a bonus-points promotion in program {program_id} using {loyalty_promotion}.
slots:
program_id: path.program_id
loyalty_promotion: requestBody.loyalty_promotion
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/loyalty/programs/{program_id}/promotions/{promotion_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a loyalty promotion
effect: read
questions:
- What are the details and status of one loyalty promotion?
- Can I check when a specific points promotion ends?
instructions:
- text: Get promotion {promotion_id} from loyalty program {program_id}.
slots:
promotion_id: path.promotion_id
program_id: path.program_id
- text: Show me the settings of loyalty promotion {promotion_id} in program {program_id}.
slots:
promotion_id: path.promotion_id
program_id: path.program_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/loyalty/programs/{program_id}/promotions/{promotion_id}/cancel'].post
update:
x-apievangelist-phrasing:
intent: Cancel a loyalty promotion
effect: destructive
questions:
- How do I end an active points promotion before its end date?
- Can I cancel a loyalty promotion that is only scheduled?
instructions:
- text: Cancel loyalty promotion {promotion_id} in program {program_id}.
slots:
promotion_id: path.promotion_id
program_id: path.program_id
- text: Stop promotion {promotion_id} early on loyalty program {program_id}.
slots:
promotion_id: path.promotion_id
program_id: path.program_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/loyalty/rewards'].post
update:
x-apievangelist-phrasing:
intent: Create a loyalty reward and lock points
effect: write
questions:
- How do I turn a buyer's points into a reward they can use?
- Does creating a reward lock the points for the chosen reward tier?
instructions:
- text: Create loyalty reward {reward}.
slots:
reward: requestBody.reward
- text: Lock points for a reward tier by creating reward {reward}.
slots:
reward: requestBody.reward
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/loyalty/rewards/search'].post
update:
x-apievangelist-phrasing:
intent: Search loyalty rewards
effect: read
questions:
- Which rewards has a loyalty account issued or redeemed?
- Can I filter loyalty rewards by status for one account?
instructions:
- text: Search loyalty rewards matching {query}.
slots:
query: requestBody.query
- text: List up to {limit} loyalty rewards across all accounts.
slots:
limit: requestBody.limit
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/loyalty/rewards/{reward_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a loyalty reward
effect: read
questions:
- What state is a particular loyalty reward in?
- Can I look up one reward by its ID to see its points?
instructions:
- text: Get loyalty reward {reward_id}.
slots:
reward_id: path.reward_id
- text: Show me the details of reward {reward_id}.
slots:
reward_id: path.reward_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/loyalty/rewards/{reward_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a reward and return its points
effect: destructive
questions:
- How do I undo a loyalty reward and give the points back to the buyer?
- Does deleting a reward remove its discount from the order?
instructions:
- text: Delete loyalty reward {reward_id}.
slots:
reward_id: path.reward_id
- text: Remove reward {reward_id} and return its points to the account.
slots:
reward_id: path.reward_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/loyalty/rewards/{reward_id}/redeem'].post
update:
x-apievangelist-phrasing:
intent: Redeem a loyalty reward
effect: write
questions:
- How do I mark a loyalty reward as redeemed after the buyer uses it?
- Is redeeming a reward final once it is in the redeemed state?
instructions:
- text: Redeem loyalty reward {reward_id} at location {location_id}.
slots:
reward_id: path.reward_id
location_id: requestBody.location_id
- text: Mark reward {reward_id} as used at {location_id}.
slots:
reward_id: path.reward_id
location_id: requestBody.location_id
method: generated
generated: '2026-09-26'
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/square-loyalty-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.