Square · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Square Customers API
15 actions
15 updates
phrasing
extends
openapi/square-customers-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 15
$.info
$.paths['/v2/customers'].get
$.paths['/v2/customers'].post
$.paths['/v2/customers/bulk-create'].post
$.paths['/v2/customers/bulk-delete'].post
$.paths['/v2/customers/bulk-retrieve'].post
$.paths['/v2/customers/bulk-update'].post
$.paths['/v2/customers/search'].post
$.paths['/v2/customers/{customer_id}'].get
$.paths['/v2/customers/{customer_id}'].put
$.paths['/v2/customers/{customer_id}'].delete
$.paths['/v2/customers/{customer_id}/cards'].post
$.paths['/v2/customers/{customer_id}/cards/{card_id}'].delete
$.paths['/v2/customers/{customer_id}/groups/{group_id}'].put
$.paths['/v2/customers/{customer_id}/groups/{group_id}'].delete
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 Customers API
version: 1.0.0
extends: openapi/square-customers-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: 14
- target: $.paths['/v2/customers'].get
update:
x-apievangelist-phrasing:
intent: List customer profiles
effect: read
questions:
- How do I page through every customer profile in my Square account?
- Can I sort my customer list by creation date or name?
- Can I get a total count of customers along with the list?
instructions:
- text: List all customers.
- text: List customers sorted by {sort_field} in {sort_order} order.
slots:
sort_field: query.sort_field
sort_order: query.sort_order
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/customers'].post
update:
x-apievangelist-phrasing:
intent: Create a customer profile
effect: write
questions:
- What is the minimum info needed to add a new customer?
- Can I store a birthday and note on a new customer profile?
instructions:
- text: Create a customer named {given_name} {family_name}.
slots:
given_name: requestBody.given_name
family_name: requestBody.family_name
- text: Add a new customer with email {email_address} and phone {phone_number}.
slots:
email_address: requestBody.email_address
phone_number: requestBody.phone_number
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/customers/bulk-create'].post
update:
x-apievangelist-phrasing:
intent: Create many customer profiles at once
effect: write
questions:
- Can I import a batch of new customers in one request?
- How do I bulk add customers from a spreadsheet?
instructions:
- text: 'Bulk create these customers: {customers}.'
slots:
customers: requestBody.customers
- text: Import the new customer profiles in {customers} in one call.
slots:
customers: requestBody.customers
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/customers/bulk-delete'].post
update:
x-apievangelist-phrasing:
intent: Delete many customer profiles at once
effect: destructive
questions:
- Can I delete a list of customers in a single call?
- How do I remove several duplicate customer profiles together?
instructions:
- text: Bulk delete customers {customer_ids}.
slots:
customer_ids: requestBody.customer_ids
- text: 'Remove all of these customer profiles: {customer_ids}.'
slots:
customer_ids: requestBody.customer_ids
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/customers/bulk-retrieve'].post
update:
x-apievangelist-phrasing:
intent: Fetch several customers by ID
effect: read
questions:
- Can I look up multiple customers at once when I already have their IDs?
- What comes back if one of the customer IDs in a batch lookup is invalid?
instructions:
- text: Retrieve customers {customer_ids} in one call.
slots:
customer_ids: requestBody.customer_ids
- text: Fetch the profiles for customer IDs {customer_ids}.
slots:
customer_ids: requestBody.customer_ids
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/customers/bulk-update'].post
update:
x-apievangelist-phrasing:
intent: Update many customer profiles at once
effect: write
questions:
- Is there a way to update many customer records in one request?
- Can I change emails for a batch of existing customers together?
instructions:
- text: Bulk update customers with {customers}.
slots:
customers: requestBody.customers
- text: Apply the profile changes in {customers} to those existing customers.
slots:
customers: requestBody.customers
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/customers/search'].post
update:
x-apievangelist-phrasing:
intent: Search customers by filters
effect: read
questions:
- How do I find customers by email, phone or creation date?
- Can I search for customers who belong to a particular group?
instructions:
- text: Search customers matching {query}.
slots:
query: requestBody.query
- text: Find customers that match the filters in {query}, up to {limit}.
slots:
query: requestBody.query
limit: requestBody.limit
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/customers/{customer_id}'].get
update:
x-apievangelist-phrasing:
intent: Get one customer profile
effect: read
questions:
- What contact details do we have for a specific customer?
- Can I pull up a single customer profile by ID?
instructions:
- text: Get customer {customer_id}.
slots:
customer_id: path.customer_id
- text: Show the profile for customer {customer_id}.
slots:
customer_id: path.customer_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/customers/{customer_id}'].put
update:
x-apievangelist-phrasing:
intent: Update one customer profile
effect: write
questions:
- How do I change one customer's email address or phone number?
- Can I remove a field from a customer profile with a sparse update?
instructions:
- text: Update customer {customer_id} email to {email_address}.
slots:
customer_id: path.customer_id
email_address: requestBody.email_address
- text: Change the phone number of customer {customer_id} to {phone_number}.
slots:
customer_id: path.customer_id
phone_number: requestBody.phone_number
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/customers/{customer_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete one customer profile
effect: destructive
questions:
- Can I delete a single customer profile permanently?
- Which ID do I use to delete a customer created by merging profiles?
instructions:
- text: Delete customer {customer_id}.
slots:
customer_id: path.customer_id
- text: Remove customer profile {customer_id} at version {version}.
slots:
customer_id: path.customer_id
version: query.version
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/customers/{customer_id}/cards'].post
update:
x-apievangelist-phrasing:
intent: Save a card on a customer profile
effect: write
questions:
- How do I save a card on file directly to a customer's profile from a card nonce?
- Is adding a card nonce to a customer idempotent?
instructions:
- text: Add card {card_nonce} on file for customer {customer_id}.
slots:
card_nonce: requestBody.card_nonce
customer_id: path.customer_id
- text: Save card {card_nonce} to customer {customer_id} with cardholder name {cardholder_name}.
slots:
card_nonce: requestBody.card_nonce
customer_id: path.customer_id
cardholder_name: requestBody.cardholder_name
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/customers/{customer_id}/cards/{card_id}'].delete
update:
x-apievangelist-phrasing:
intent: Remove a card from a customer profile
effect: destructive
questions:
- How do I remove a saved card from a customer's profile?
- Can I delete one card on file without deleting the customer?
instructions:
- text: Delete card {card_id} from customer {customer_id}.
slots:
card_id: path.card_id
customer_id: path.customer_id
- text: Remove saved card {card_id} on customer {customer_id}'s profile.
slots:
card_id: path.card_id
customer_id: path.customer_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/customers/{customer_id}/groups/{group_id}'].put
update:
x-apievangelist-phrasing:
intent: Add a customer to a group
effect: write
questions:
- Can I put a customer into an existing customer group?
- How do I tag a customer as a member of a group like VIPs?
instructions:
- text: Add customer {customer_id} to group {group_id}.
slots:
customer_id: path.customer_id
group_id: path.group_id
- text: Make customer {customer_id} a member of customer group {group_id}.
slots:
customer_id: path.customer_id
group_id: path.group_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/customers/{customer_id}/groups/{group_id}'].delete
update:
x-apievangelist-phrasing:
intent: Remove a customer from a group
effect: destructive
questions:
- How do I take a customer out of a customer group?
- Can I drop one customer's group membership without deleting the group?
instructions:
- text: Remove customer {customer_id} from group {group_id}.
slots:
customer_id: path.customer_id
group_id: path.group_id
- text: End customer {customer_id}'s membership in group {group_id}.
slots:
customer_id: path.customer_id
group_id: path.group_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-customers-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.