Every API 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 apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
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 API
curl "https://apis.io/api/v1/apis/square-merchantcustomattributes-api"
All apis
curl "https://apis.io/api/v1/apis?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.
openapi: 3.2.0
info:
version: '2.0'
title: Square ApplePay Merchant Custom Attributes API
description: 'Supercharge Square for sellers of every size. Our entire connected commerce platform from elegant hardware to a rich suite of Square APIs is yours to build with. Whether youre developing an app or composing a bespoke solution, this is the place to make it happen. '
termsOfService: https://connect.squareup.com/tos
contact:
name: Square Developer Platform
email: developers@squareup.com
url: https://squareup.com/developers
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
externalDocs:
description: 'Read the official documentation here:'
url: https://docs.connect.squareup.com/
x-server-configuration:
default-environment: production
default-server: default
environments:
- name: production
servers:
- name: default
url: https://connect.squareup.com
- name: sandbox
servers:
- name: default
url: https://connect.squareupsandbox.com
- name: custom
servers:
- name: default
url: '{custom_url}'
parameters:
- name: custom_url
description: Sets the base URL requests are made to. Defaults to `https://connect.squareup.com`
type: string
example: https://connect.squareup.com
x-square-generic-error-codes:
- ACCESS_TOKEN_EXPIRED
- ACCESS_TOKEN_REVOKED
- API_VERSION_INCOMPATIBLE
- APPLICATION_DISABLED
- ARRAY_EMPTY
- ARRAY_LENGTH_TOO_LONG
- ARRAY_LENGTH_TOO_SHORT
- BAD_CERTIFICATE
- BAD_GATEWAY
- BAD_REQUEST
- CONFLICT
- CONFLICTING_PARAMETERS
- CURRENCY_MISMATCH
- EXPECTED_ARRAY
- EXPECTED_BASE64_ENCODED_BYTE_ARRAY
- EXPECTED_BOOLEAN
- EXPECTED_FLOAT
- EXPECTED_INTEGER
- EXPECTED_JSON_BODY
- EXPECTED_MAP
- EXPECTED_OBJECT
- EXPECTED_STRING
- FORBIDDEN
- GATEWAY_TIMEOUT
- GONE
- IDEMPOTENCY_KEY_REUSED
- INCORRECT_TYPE
- INSUFFICIENT_SCOPES
- INTERNAL_SERVER_ERROR
- INVALID_ARRAY_VALUE
- INVALID_CONTENT_TYPE
- INVALID_CURSOR
- INVALID_ENUM_VALUE
- INVALID_FORM_VALUE
- INVALID_SORT_ORDER
- INVALID_SQUARE_VERSION_FORMAT
- INVALID_TIME
- INVALID_TIME_RANGE
- INVALID_VALUE
- LOCATION_MISMATCH
- MAP_KEY_LENGTH_TOO_LONG
- MAP_KEY_LENGTH_TOO_SHORT
- MERCHANT_SUBSCRIPTION_NOT_FOUND
- METHOD_NOT_ALLOWED
- MISSING_REQUIRED_PARAMETER
- NOT_ACCEPTABLE
- NOT_FOUND
- NOT_IMPLEMENTED
- NO_FIELDS_SET
- RATE_LIMITED
- REQUEST_ENTITY_TOO_LARGE
- REQUEST_TIMEOUT
- SANDBOX_NOT_SUPPORTED
- SERVICE_UNAVAILABLE
- TOO_MANY_MAP_ENTRIES
- UNAUTHORIZED
- UNEXPECTED_VALUE
- UNKNOWN_BODY_PARAMETER
- UNKNOWN_QUERY_PARAMETER
- UNPROCESSABLE_ENTITY
- UNSUPPORTED_MEDIA_TYPE
- V1_ACCESS_TOKEN
- V1_APPLICATION
- VALUE_EMPTY
- VALUE_REGEX_MISMATCH
- VALUE_TOO_HIGH
- VALUE_TOO_LONG
- VALUE_TOO_LOW
- VALUE_TOO_SHORT
servers:
- url: https://connect.squareup.com
variables: {}
tags:
- name: MerchantCustomAttributes
paths:
/v2/merchants/custom-attribute-definitions:
get:
tags:
- MerchantCustomAttributes
summary: Square List Merchant Custom Attribute Definitions
operationId: ListMerchantCustomAttributeDefinitions
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Lists the merchant-related [custom attribute definitions](entity:CustomAttributeDefinition) that belong to a Square seller account.
When all response pages are retrieved, the results include all custom attribute definitions
that are visible to the requesting application, including those that are created by other
applications and set to `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.'
x-release-status: BETA
security:
- oauth2:
- MERCHANT_PROFILE_READ
parameters:
- name: visibility_filter
description: Filters the `CustomAttributeDefinition` results by their `visibility` values.
schema:
$ref: '#/components/schemas/VisibilityFilter'
in: query
required: false
- name: limit
description: 'The maximum number of results to return in a single paged response. This limit is advisory.
The response might contain more or fewer results. The minimum value is 1 and the maximum value is 100.
The default value is 20. For more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).'
schema:
type: integer
in: query
required: false
- name: cursor
description: 'The cursor returned in the paged response from the previous call to this endpoint.
Provide this cursor to retrieve the next page of results for your original request.
For more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).'
schema:
type: string
in: query
required: false
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ListMerchantCustomAttributeDefinitionsResponse'
post:
tags:
- MerchantCustomAttributes
summary: Square Create Merchant Custom Attribute Definition
operationId: CreateMerchantCustomAttributeDefinition
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Creates a merchant-related [custom attribute definition](entity:CustomAttributeDefinition) for a Square seller account.
Use this endpoint to define a custom attribute that can be associated with a merchant connecting to your application.
A custom attribute definition specifies the `key`, `visibility`, `schema`, and other properties
for a custom attribute. After the definition is created, you can call
[UpsertMerchantCustomAttribute](api-endpoint:MerchantCustomAttributes-UpsertMerchantCustomAttribute) or
[BulkUpsertMerchantCustomAttributes](api-endpoint:MerchantCustomAttributes-BulkUpsertMerchantCustomAttributes)
to set the custom attribute for a merchant.'
x-release-status: BETA
security:
- oauth2:
- MERCHANT_PROFILE_WRITE
parameters: []
requestBody:
required: true
description: 'An object containing the fields to POST for the request.
See the corresponding object definition for field details.'
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMerchantCustomAttributeDefinitionRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMerchantCustomAttributeDefinitionResponse'
/v2/merchants/custom-attribute-definitions/{key}:
delete:
tags:
- MerchantCustomAttributes
summary: Square Delete Merchant Custom Attribute Definition
operationId: DeleteMerchantCustomAttributeDefinition
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Deletes a merchant-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.
Deleting a custom attribute definition also deletes the corresponding custom attribute from
the merchant.
Only the definition owner can delete a custom attribute definition.'
x-release-status: BETA
security:
- oauth2:
- MERCHANT_PROFILE_WRITE
parameters:
- name: key
description: The key of the custom attribute definition to delete.
schema:
type: string
in: path
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteMerchantCustomAttributeDefinitionResponse'
get:
tags:
- MerchantCustomAttributes
summary: Square Retrieve Merchant Custom Attribute Definition
operationId: RetrieveMerchantCustomAttributeDefinition
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Retrieves a merchant-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.
To retrieve a custom attribute definition created by another application, the `visibility`
setting must be `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.'
x-release-status: BETA
security:
- oauth2:
- MERCHANT_PROFILE_READ
parameters:
- name: key
description: 'The key of the custom attribute definition to retrieve. If the requesting application
is not the definition owner, you must use the qualified key.'
schema:
type: string
in: path
required: true
- name: version
description: 'The current version of the custom attribute definition, which is used for strongly consistent
reads to guarantee that you receive the most up-to-date data. When included in the request,
Square returns the specified version or a higher version if one exists. If the specified version
is higher than the current version, Square returns a `BAD_REQUEST` error.'
schema:
type: integer
in: query
required: false
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/RetrieveMerchantCustomAttributeDefinitionResponse'
put:
tags:
- MerchantCustomAttributes
summary: Square Update Merchant Custom Attribute Definition
operationId: UpdateMerchantCustomAttributeDefinition
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Updates a merchant-related [custom attribute definition](entity:CustomAttributeDefinition) for a Square seller account.
Use this endpoint to update the following fields: `name`, `description`, `visibility`, or the
`schema` for a `Selection` data type.
Only the definition owner can update a custom attribute definition.'
x-release-status: BETA
security:
- oauth2:
- MERCHANT_PROFILE_WRITE
parameters:
- name: key
description: The key of the custom attribute definition to update.
schema:
type: string
in: path
required: true
requestBody:
required: true
description: 'An object containing the fields to POST for the request.
See the corresponding object definition for field details.'
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateMerchantCustomAttributeDefinitionRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateMerchantCustomAttributeDefinitionResponse'
/v2/merchants/custom-attributes/bulk-delete:
post:
tags:
- MerchantCustomAttributes
summary: Square Bulk Delete Merchant Custom Attributes
operationId: BulkDeleteMerchantCustomAttributes
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Deletes [custom attributes](entity:CustomAttribute) for a merchant as a bulk operation.
To delete a custom attribute owned by another application, the `visibility` setting must be
`VISIBILITY_READ_WRITE_VALUES`.'
x-release-status: BETA
security:
- oauth2:
- MERCHANT_PROFILE_WRITE
parameters: []
requestBody:
required: true
description: 'An object containing the fields to POST for the request.
See the corresponding object definition for field details.'
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDeleteMerchantCustomAttributesRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDeleteMerchantCustomAttributesResponse'
/v2/merchants/custom-attributes/bulk-upsert:
post:
tags:
- MerchantCustomAttributes
summary: Square Bulk Upsert Merchant Custom Attributes
operationId: BulkUpsertMerchantCustomAttributes
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Creates or updates [custom attributes](entity:CustomAttribute) for a merchant as a bulk operation.
Use this endpoint to set the value of one or more custom attributes for a merchant.
A custom attribute is based on a custom attribute definition in a Square seller account, which is
created using the [CreateMerchantCustomAttributeDefinition](api-endpoint:MerchantCustomAttributes-CreateMerchantCustomAttributeDefinition) endpoint.
This `BulkUpsertMerchantCustomAttributes` endpoint accepts a map of 1 to 25 individual upsert
requests and returns a map of individual upsert responses. Each upsert request has a unique ID
and provides a merchant ID and custom attribute. Each upsert response is returned with the ID
of the corresponding request.
To create or update a custom attribute owned by another application, the `visibility` setting
must be `VISIBILITY_READ_WRITE_VALUES`.'
x-release-status: BETA
security:
- oauth2:
- MERCHANT_PROFILE_WRITE
parameters: []
requestBody:
required: true
description: 'An object containing the fields to POST for the request.
See the corresponding object definition for field details.'
content:
application/json:
schema:
$ref: '#/components/schemas/BulkUpsertMerchantCustomAttributesRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/BulkUpsertMerchantCustomAttributesResponse'
/v2/merchants/{merchant_id}/custom-attributes:
get:
tags:
- MerchantCustomAttributes
summary: Square List Merchant Custom Attributes
operationId: ListMerchantCustomAttributes
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Lists the [custom attributes](entity:CustomAttribute) associated with a merchant.
You can use the `with_definitions` query parameter to also retrieve custom attribute definitions
in the same call.
When all response pages are retrieved, the results include all custom attributes that are
visible to the requesting application, including those that are owned by other applications
and set to `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.'
x-release-status: BETA
security:
- oauth2:
- MERCHANT_PROFILE_READ
parameters:
- name: merchant_id
description: The ID of the target [merchant](entity:Merchant).
schema:
type: string
in: path
required: true
- name: visibility_filter
description: Filters the `CustomAttributeDefinition` results by their `visibility` values.
schema:
$ref: '#/components/schemas/VisibilityFilter'
in: query
required: false
- name: limit
description: 'The maximum number of results to return in a single paged response. This limit is advisory.
The response might contain more or fewer results. The minimum value is 1 and the maximum value is 100.
The default value is 20. For more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).'
schema:
type: integer
in: query
required: false
- name: cursor
description: 'The cursor returned in the paged response from the previous call to this endpoint.
Provide this cursor to retrieve the next page of results for your original request. For more
information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).'
schema:
type: string
in: query
required: false
- name: with_definitions
description: 'Indicates whether to return the [custom attribute definition](entity:CustomAttributeDefinition) in the `definition` field of each
custom attribute. Set this parameter to `true` to get the name and description of each custom
attribute, information about the data type, or other definition details. The default value is `false`.'
schema:
type: boolean
default: false
in: query
required: false
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ListMerchantCustomAttributesResponse'
/v2/merchants/{merchant_id}/custom-attributes/{key}:
delete:
tags:
- MerchantCustomAttributes
summary: Square Delete Merchant Custom Attribute
operationId: DeleteMerchantCustomAttribute
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Deletes a [custom attribute](entity:CustomAttribute) associated with a merchant.
To delete a custom attribute owned by another application, the `visibility` setting must be
`VISIBILITY_READ_WRITE_VALUES`.'
x-release-status: BETA
security:
- oauth2:
- MERCHANT_PROFILE_WRITE
parameters:
- name: merchant_id
description: The ID of the target [merchant](entity:Merchant).
schema:
type: string
in: path
required: true
- name: key
description: 'The key of the custom attribute to delete. This key must match the `key` of a custom
attribute definition in the Square seller account. If the requesting application is not the
definition owner, you must use the qualified key.'
schema:
type: string
in: path
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteMerchantCustomAttributeResponse'
get:
tags:
- MerchantCustomAttributes
summary: Square Retrieve Merchant Custom Attribute
operationId: RetrieveMerchantCustomAttribute
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Retrieves a [custom attribute](entity:CustomAttribute) associated with a merchant.
You can use the `with_definition` query parameter to also retrieve the custom attribute definition
in the same call.
To retrieve a custom attribute owned by another application, the `visibility` setting must be
`VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.'
x-release-status: BETA
security:
- oauth2:
- MERCHANT_PROFILE_READ
parameters:
- name: merchant_id
description: The ID of the target [merchant](entity:Merchant).
schema:
type: string
in: path
required: true
- name: key
description: 'The key of the custom attribute to retrieve. This key must match the `key` of a custom
attribute definition in the Square seller account. If the requesting application is not the
definition owner, you must use the qualified key.'
schema:
type: string
in: path
required: true
- name: with_definition
description: 'Indicates whether to return the [custom attribute definition](entity:CustomAttributeDefinition) in the `definition` field of
the custom attribute. Set this parameter to `true` to get the name and description of the custom
attribute, information about the data type, or other definition details. The default value is `false`.'
schema:
type: boolean
default: false
in: query
required: false
- name: version
description: 'The current version of the custom attribute, which is used for strongly consistent reads to
guarantee that you receive the most up-to-date data. When included in the request, Square
returns the specified version or a higher version if one exists. If the specified version is
higher than the current version, Square returns a `BAD_REQUEST` error.'
schema:
type: integer
in: query
required: false
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/RetrieveMerchantCustomAttributeResponse'
post:
tags:
- MerchantCustomAttributes
summary: Square Upsert Merchant Custom Attribute
operationId: UpsertMerchantCustomAttribute
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Creates or updates a [custom attribute](entity:CustomAttribute) for a merchant.
Use this endpoint to set the value of a custom attribute for a specified merchant.
A custom attribute is based on a custom attribute definition in a Square seller account, which
is created using the [CreateMerchantCustomAttributeDefinition](api-endpoint:MerchantCustomAttributes-CreateMerchantCustomAttributeDefinition) endpoint.
To create or update a custom attribute owned by another application, the `visibility` setting
must be `VISIBILITY_READ_WRITE_VALUES`.'
x-release-status: BETA
security:
- oauth2:
- MERCHANT_PROFILE_WRITE
parameters:
- name: merchant_id
description: The ID of the target [merchant](entity:Merchant).
schema:
type: string
in: path
required: true
- name: key
description: 'The key of the custom attribute to create or update. This key must match the `key` of a
custom attribute definition in the Square seller account. If the requesting application is not
the definition owner, you must use the qualified key.'
schema:
type: string
in: path
required: true
requestBody:
required: true
description: 'An object containing the fields to POST for the request.
See the corresponding object definition for field details.'
content:
application/json:
schema:
$ref: '#/components/schemas/UpsertMerchantCustomAttributeRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UpsertMerchantCustomAttributeResponse'
components:
schemas:
RetrieveMerchantCustomAttributeResponse:
type: object
description: 'Represents a [RetrieveMerchantCustomAttribute](api-endpoint:MerchantCustomAttributes-RetrieveMerchantCustomAttribute) response.
Either `custom_attribute_definition` or `errors` is present in the response.'
x-release-status: BETA
properties:
custom_attribute:
$ref: '#/components/schemas/CustomAttribute'
description: 'The retrieved custom attribute. If `with_definition` was set to `true` in the request,
the custom attribute definition is returned in the `definition` field.'
errors:
type: array
items:
$ref: '#/components/schemas/Error'
description: Any errors that occurred during the request.
example:
custom_attribute:
created_at: '2023-05-06T19:02:58.647Z'
key: alternative_seller_name
updated_at: '2023-05-06T19:21:04.551Z'
value: Ultimate Sneaker Store
version: 2
visibility: VISIBILITY_READ_ONLY
CustomAttributeDefinition:
type: object
description: 'Represents a definition for custom attribute values. A custom attribute definition
specifies the key, visibility, schema, and other properties for a custom attribute.'
x-release-status: PUBLIC
properties:
key:
type:
- string
- 'null'
description: 'The identifier
of the custom attribute definition and its corresponding custom attributes. This value
can be a simple key, which is the key that is provided when the custom attribute definition
is created, or a qualified key, if the requesting
application is not the definition owner. The qualified key consists of the application ID
of the custom attribute definition owner
followed by the simple key that was provided when the definition was created. It has the
format application_id:simple key.
The value for a simple key can contain up to 60 alphanumeric characters, periods (.),
underscores (_), and hyphens (-).
This field can not be changed
after the custom attribute definition is created. This field is required when creating
a definition and must be unique per application, seller, and resource type.'
minLength: 1
pattern: ^([a-zA-Z0-9\._-]+:)?[a-zA-Z0-9\._-]{1,60}$
schema:
type:
- object
- 'null'
description: 'The JSON schema for the custom attribute definition, which determines the data type of the corresponding custom attributes. For more information,
see [Custom Attributes Overview](https://developer.squareup.com/docs/devtools/customattributes/overview). This field is required when creating a definition.'
name:
type:
- string
- 'null'
description: 'The name of the custom attribute definition for API and seller-facing UI purposes. The name must
be unique within the seller and application pair. This field is required if the
`visibility` field is `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.'
maxLength: 255
description:
type:
- string
- 'null'
description: 'Seller-oriented description of the custom attribute definition, including any constraints
that the seller should observe. May be displayed as a tooltip in Square UIs. This field is
required if the `visibility` field is `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.'
maxLength: 255
visibility:
$ref: '#/components/schemas/CustomAttributeDefinitionVisibility'
description: 'Specifies how the custom attribute definition and its values should be shared with
the seller and other applications. If no value is specified, the value defaults to `VISIBILITY_HIDDEN`.
See [Visibility](#type-visibility) for possible values'
version:
type: integer
description: 'Read only. The current version of the custom attribute definition.
The value is incremented each time the custom attribute definition is updated.
When updating a custom attribute definition, you can provide this field
and specify the current version of the custom attribute definition to enable
[optimistic concurrency](https://developer.squareup.com/docs/build-basics/common-api-patterns/optimistic-concurrency).
On writes, this field must be set to the latest version. Stale writes are rejected.
This field can also be used to enforce strong consistency for reads. For more information about strong consistency for reads,
see [Custom Attributes Overview](https://developer.squareup.com/docs/devtools/customattributes/overview).'
updated_at:
type: string
description: 'The timestamp that indicates when the custom attribute definition was created or most recently updated,
in RFC 3339 format.'
readOnly: true
created_at:
type: string
description: The timestamp that indicates when the custom attribute definition was created, in RFC 3339 format.
readOnly: true
UpdateMerchantCustomAttributeDefinitionRequest:
type: object
description: Represents an [UpdateMerchantCustomAttributeDefinition](api-endpoint:MerchantCustomAttributes-UpdateMerchantCustomAttributeDefinition) request.
x-release-status: BETA
x-params-example: ?key=alternative_seller_name
required:
- custom_attribute_definition
properties:
custom_attribute_definition:
$ref: '#/components/schemas/CustomAttributeDefinition'
description: 'The custom attribute definition that contains the fields to update. This endpoint
supports sparse updates, so only new or changed fields need to be included in the request.
Only the following fields can be updated:
- `name`
- `description`
- `visibility`
- `schema` for a `Selection` data type. Only changes to the named options or the maximum number of allowed
selections are supported.
For more information, see
[Update a merchant custom attribute definition](https://developer.squareup.com/docs/merchant-custom-attributes-api/custom-attribute-definitions#update-custom-attribute-definition).
The version field must match the current version of the custom attribute definition to enable
[optimistic concurrency](https://developer.squareup.com/docs/build-basics/common-api-patterns/optimistic-concurrency)
If this is not important for your application, version can be set to -1. For any other values, the request fails with a BAD_REQUEST error.'
idempotency_key:
type:
- string
- 'null'
description: 'A unique identifier for this request, used to ensure idempotency. For more information,
see [Idempotency](https://developer.squareup.com/docs/build-basics/common-api-patterns/idempotency).'
maxLength: 45
example:
custom_attribute_definition:
description: Update the description as desired.
visibility: VISIBILITY_READ_ONLY
CustomAttribute:
type: object
description: 'A custom attribute value. Each custom attribute value has a corresponding
`CustomAttributeDefinition` object.'
x-release-status: PUBLIC
properties:
key:
type:
- string
- 'null'
description: 'The identifier
of the custom attribute definition and its corresponding custom attributes. This value
can be a simple key, which is the key that is provided when the custom attribute definition
is created, or a qualified key, if the requesting
application is not the definition owner. The qualified key consists of the application ID
of the custom attribute definition owner
followed by the simple key that was provided when the definition was created. It has the
format application_id:simple key.
The value for a simple key can contain up to 60 alphanumeric characters, periods (.),
underscores (_), and hyphens (-).'
minLength: 1
pattern: ^([a-zA-Z0-9\._-]+:)?[a-zA-Z0-9\._-]{1,60}$
value:
description: 'The value assigned to the custom attribute. It is validated against the custom
attribute definition''s schema on write operations. For more information about custom
attribute values,
see [Custom Attributes Overview](https://developer.squareup.com/docs/devtools/customattributes/overview).'
version:
type: integer
description: 'Read only. The current version of the custom attribute. This field is incremented when the custom attribute is changed.
Whe
# --- truncated at 32 KB (102 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/square/refs/heads/main/openapi/square-merchantcustomattributes-api-openapi.yml