Square · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Square Merchant Custom Attributes API
12 actions
12 updates
phrasing
extends
openapi/square-merchantcustomattributes-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 12
$.info
$.paths['/v2/merchants/custom-attribute-definitions'].get
$.paths['/v2/merchants/custom-attribute-definitions'].post
$.paths['/v2/merchants/custom-attribute-definitions/{key}'].get
$.paths['/v2/merchants/custom-attribute-definitions/{key}'].put
$.paths['/v2/merchants/custom-attribute-definitions/{key}'].delete
$.paths['/v2/merchants/custom-attributes/bulk-delete'].post
$.paths['/v2/merchants/custom-attributes/bulk-upsert'].post
$.paths['/v2/merchants/{merchant_id}/custom-attributes'].get
$.paths['/v2/merchants/{merchant_id}/custom-attributes/{key}'].get
$.paths['/v2/merchants/{merchant_id}/custom-attributes/{key}'].post
$.paths['/v2/merchants/{merchant_id}/custom-attributes/{key}'].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 Merchant Custom Attributes API
version: 1.0.0
extends: openapi/square-merchantcustomattributes-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: 11
- target: $.paths['/v2/merchants/custom-attribute-definitions'].get
update:
x-apievangelist-phrasing:
intent: List merchant custom attribute definitions
effect: read
questions:
- What custom fields have been defined for my seller account?
- Can I list only merchant attribute definitions that are read-write visible?
instructions:
- text: List merchant custom attribute definitions.
- text: List merchant attribute definitions with visibility {visibility_filter}.
slots:
visibility_filter: query.visibility_filter
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/merchants/custom-attribute-definitions'].post
update:
x-apievangelist-phrasing:
intent: Define a new merchant custom attribute
effect: write
questions:
- How do I define a new custom field that can be stored on the merchant?
- Can I control who can see a new merchant-level custom attribute?
instructions:
- text: Create merchant custom attribute definition {custom_attribute_definition}.
slots:
custom_attribute_definition: requestBody.custom_attribute_definition
- text: Define a new merchant-level attribute using {custom_attribute_definition}.
slots:
custom_attribute_definition: requestBody.custom_attribute_definition
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/merchants/custom-attribute-definitions/{key}'].get
update:
x-apievangelist-phrasing:
intent: Get a merchant custom attribute definition
effect: read
questions:
- What schema and visibility does a merchant custom attribute definition have?
- Can I fetch a specific version of a merchant attribute definition?
instructions:
- text: Get merchant custom attribute definition {key}.
slots:
key: path.key
- text: Show merchant attribute definition {key} at version {version}.
slots:
key: path.key
version: query.version
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/merchants/custom-attribute-definitions/{key}'].put
update:
x-apievangelist-phrasing:
intent: Update a merchant custom attribute definition
effect: write
questions:
- Can I rename or change the visibility of a merchant attribute definition?
- Which fields on a merchant custom attribute definition are editable?
instructions:
- text: Update merchant custom attribute definition {key} with {custom_attribute_definition}.
slots:
key: path.key
custom_attribute_definition: requestBody.custom_attribute_definition
- text: Change the description of merchant attribute definition {key} per {custom_attribute_definition}.
slots:
key: path.key
custom_attribute_definition: requestBody.custom_attribute_definition
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/merchants/custom-attribute-definitions/{key}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a merchant custom attribute definition
effect: destructive
questions:
- Does deleting a merchant attribute definition also remove its stored values?
- How do I retire a merchant-level custom field entirely?
instructions:
- text: Delete merchant custom attribute definition {key}.
slots:
key: path.key
- text: Remove merchant attribute definition {key} and all its values.
slots:
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/merchants/custom-attributes/bulk-delete'].post
update:
x-apievangelist-phrasing:
intent: Delete many merchant custom attributes
effect: destructive
questions:
- Can I clear several merchant custom attribute values in one call?
- What visibility is needed to delete a merchant attribute another app owns?
instructions:
- text: Bulk delete merchant custom attributes {values}.
slots:
values: requestBody.values
- text: Clear all the merchant attribute values listed in {values}.
slots:
values: requestBody.values
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/merchants/custom-attributes/bulk-upsert'].post
update:
x-apievangelist-phrasing:
intent: Set many merchant custom attributes
effect: write
questions:
- Can I set several custom attribute values on merchants at once?
- Is there a bulk way to write merchant-level custom fields?
instructions:
- text: Bulk upsert merchant custom attributes {values}.
slots:
values: requestBody.values
- text: Write all the merchant attribute values in {values} in one request.
slots:
values: requestBody.values
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/merchants/{merchant_id}/custom-attributes'].get
update:
x-apievangelist-phrasing:
intent: List a merchant's custom attributes
effect: read
questions:
- What custom attribute values are stored on a merchant?
- Can I get the definitions along with a merchant's attribute values?
instructions:
- text: List custom attributes for merchant {merchant_id}.
slots:
merchant_id: path.merchant_id
- text: List merchant {merchant_id}'s custom attributes with definitions {with_definitions}.
slots:
merchant_id: path.merchant_id
with_definitions: query.with_definitions
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/merchants/{merchant_id}/custom-attributes/{key}'].get
update:
x-apievangelist-phrasing:
intent: Get one merchant custom attribute
effect: read
questions:
- What value does a specific custom attribute hold for a merchant?
- Can I read one merchant attribute together with its definition?
instructions:
- text: Get custom attribute {key} for merchant {merchant_id}.
slots:
key: path.key
merchant_id: path.merchant_id
- text: Read merchant {merchant_id}'s value for attribute {key}.
slots:
merchant_id: path.merchant_id
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/merchants/{merchant_id}/custom-attributes/{key}'].post
update:
x-apievangelist-phrasing:
intent: Set one merchant custom attribute
effect: write
questions:
- How do I set a single custom attribute value on a merchant?
- Does writing a merchant attribute overwrite an existing value?
instructions:
- text: Set attribute {key} on merchant {merchant_id} to {custom_attribute}.
slots:
key: path.key
merchant_id: path.merchant_id
custom_attribute: requestBody.custom_attribute
- text: Upsert merchant {merchant_id}'s custom attribute {key} with {custom_attribute}.
slots:
merchant_id: path.merchant_id
key: path.key
custom_attribute: requestBody.custom_attribute
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/merchants/{merchant_id}/custom-attributes/{key}'].delete
update:
x-apievangelist-phrasing:
intent: Delete one merchant custom attribute
effect: destructive
questions:
- Can I remove a single custom attribute value from a merchant?
- Why would deleting a merchant attribute owned by another app fail?
instructions:
- text: Delete custom attribute {key} from merchant {merchant_id}.
slots:
key: path.key
merchant_id: path.merchant_id
- text: Clear merchant {merchant_id}'s value for attribute {key}.
slots:
merchant_id: path.merchant_id
key: path.key
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-merchantcustomattributes-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.