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.
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['/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

Raw ↑
# 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.
All 92 tools →

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.