openapi: 3.0.0
info:
version: '2.0'
title: Square ApplePay Catalog 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: Catalog
paths:
/v2/catalog/batch-delete:
post:
tags:
- Catalog
summary: Square Batch Delete Catalog Objects
operationId: BatchDeleteCatalogObjects
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Deletes a set of [CatalogItem](entity:CatalogItem)s based on the
provided list of target IDs and returns a set of successfully deleted IDs in
the response. Deletion is a cascading event such that all children of the
targeted object are also deleted. For example, deleting a CatalogItem will
also delete all of its [CatalogItemVariation](entity:CatalogItemVariation)
children.
`BatchDeleteCatalogObjects` succeeds even if only a portion of the targeted
IDs can be deleted. The response will only include IDs that were
actually deleted.
To ensure consistency, only one delete request is processed at a time per seller account.
While one (batch or non-batch) delete request is being processed, other (batched and non-batched)
delete requests are rejected with the `429` error code.'
x-release-status: PUBLIC
security:
- oauth2:
- ITEMS_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/BatchDeleteCatalogObjectsRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/BatchDeleteCatalogObjectsResponse'
/v2/catalog/batch-retrieve:
post:
tags:
- Catalog
summary: Square Batch Retrieve Catalog Objects
operationId: BatchRetrieveCatalogObjects
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Returns a set of objects based on the provided ID.
Each [CatalogItem](entity:CatalogItem) returned in the set includes all of its
child information including: all of its
[CatalogItemVariation](entity:CatalogItemVariation) objects, references to
its [CatalogModifierList](entity:CatalogModifierList) objects, and the ids of
any [CatalogTax](entity:CatalogTax) objects that apply to it.'
x-release-status: PUBLIC
security:
- oauth2:
- ITEMS_READ
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/BatchRetrieveCatalogObjectsRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/BatchRetrieveCatalogObjectsResponse'
/v2/catalog/batch-upsert:
post:
tags:
- Catalog
summary: Square Batch Upsert Catalog Objects
operationId: BatchUpsertCatalogObjects
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Creates or updates up to 10,000 target objects based on the provided
list of objects. The target objects are grouped into batches and each batch is
inserted/updated in an all-or-nothing manner. If an object within a batch is
malformed in some way, or violates a database constraint, the entire batch
containing that item will be disregarded. However, other batches in the same
request may still succeed. Each batch may contain up to 1,000 objects, and
batches will be processed in order as long as the total object count for the
request (items, variations, modifier lists, discounts, and taxes) is no more
than 10,000.
To ensure consistency, only one update request is processed at a time per seller account.
While one (batch or non-batch) update request is being processed, other (batched and non-batched)
update requests are rejected with the `429` error code.'
x-release-status: PUBLIC
security:
- oauth2:
- ITEMS_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/BatchUpsertCatalogObjectsRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/BatchUpsertCatalogObjectsResponse'
x-endpoint-errors:
- error-code: GENERIC_DECLINE
/v2/catalog/images:
post:
tags:
- Catalog
summary: Square Create Catalog Image
operationId: CreateCatalogImage
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Uploads an image file to be represented by a [CatalogImage](entity:CatalogImage) object that can be linked to an existing
[CatalogObject](entity:CatalogObject) instance. The resulting `CatalogImage` is unattached to any `CatalogObject` if the `object_id`
is not specified.
This `CreateCatalogImage` endpoint accepts HTTP multipart/form-data requests with a JSON part and an image file part in
JPEG, PJPEG, PNG, or GIF format. The maximum file size is 15MB.'
x-release-status: PUBLIC
security:
- oauth2:
- ITEMS_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:
multipart/form-data:
schema:
type: object
properties:
request:
$ref: '#/components/schemas/CreateCatalogImageRequest'
image_file:
type: string
format: binary
encoding:
image_file:
contentType: image/jpeg
request:
contentType: application/json; charset=utf-8
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCatalogImageResponse'
x-endpoint-errors:
- error-code: GENERIC_DECLINE
/v2/catalog/images/{image_id}:
put:
tags:
- Catalog
summary: Square Update Catalog Image
operationId: UpdateCatalogImage
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Uploads a new image file to replace the existing one in the specified [CatalogImage](entity:CatalogImage) object.
This `UpdateCatalogImage` endpoint accepts HTTP multipart/form-data requests with a JSON part and an image file part in
JPEG, PJPEG, PNG, or GIF format. The maximum file size is 15MB.'
x-release-status: BETA
security:
- oauth2:
- ITEMS_WRITE
parameters:
- name: image_id
description: The ID of the `CatalogImage` object to update the encapsulated image file.
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:
multipart/form-data:
schema:
type: object
properties:
request:
$ref: '#/components/schemas/UpdateCatalogImageRequest'
image_file:
type: string
format: binary
encoding:
image_file:
contentType: image/jpeg
request:
contentType: application/json; charset=utf-8
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCatalogImageResponse'
/v2/catalog/info:
get:
tags:
- Catalog
summary: Square Catalog Info
operationId: CatalogInfo
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Retrieves information about the Square Catalog API, such as batch size
limits that can be used by the `BatchUpsertCatalogObjects` endpoint.'
x-release-status: PUBLIC
security:
- oauth2:
- ITEMS_READ
parameters: []
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CatalogInfoResponse'
/v2/catalog/list:
get:
tags:
- Catalog
summary: Square List Catalog
operationId: ListCatalog
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Returns a list of all [CatalogObject](entity:CatalogObject)s of the specified types in the catalog.
The `types` parameter is specified as a comma-separated list of the [CatalogObjectType](entity:CatalogObjectType) values,
for example, "`ITEM`, `ITEM_VARIATION`, `MODIFIER`, `MODIFIER_LIST`, `CATEGORY`, `DISCOUNT`, `TAX`, `IMAGE`".
__Important:__ ListCatalog does not return deleted catalog items. To retrieve
deleted catalog items, use [SearchCatalogObjects](api-endpoint:Catalog-SearchCatalogObjects)
and set the `include_deleted_objects` attribute value to `true`.'
x-release-status: PUBLIC
security:
- oauth2:
- ITEMS_READ
parameters:
- name: cursor
description: 'The pagination cursor returned in the previous response. Leave unset for an initial request.
The page size is currently set to be 100.
See [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination) for more information.'
schema:
type: string
in: query
required: false
- name: types
description: "An optional case-insensitive, comma-separated list of object types to retrieve.\n\nThe valid values are defined in the [CatalogObjectType](entity:CatalogObjectType) enum, for example,\n`ITEM`, `ITEM_VARIATION`, `CATEGORY`, `DISCOUNT`, `TAX`,\n`MODIFIER`, `MODIFIER_LIST`, `IMAGE`, etc.\n\nIf this is unspecified, the operation returns objects of all the top level types at the version\nof the Square API used to make the request. Object types that are nested onto other object types\nare not included in the defaults.\n\nAt the current API version the default object types are:\nITEM, CATEGORY, TAX, DISCOUNT, MODIFIER_LIST, \nPRICING_RULE, PRODUCT_SET, TIME_PERIOD, MEASUREMENT_UNIT,\nSUBSCRIPTION_PLAN, ITEM_OPTION, CUSTOM_ATTRIBUTE_DEFINITION, QUICK_AMOUNT_SETTINGS."
schema:
type: string
in: query
required: false
- name: catalog_version
description: 'The specific version of the catalog objects to be included in the response.
This allows you to retrieve historical versions of objects. The specified version value is matched against
the [CatalogObject](entity:CatalogObject)s'' `version` attribute. If not included, results will be from the
current version of the catalog.'
schema:
type: integer
format: int64
in: query
required: false
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ListCatalogResponse'
/v2/catalog/object:
post:
tags:
- Catalog
summary: Square Upsert Catalog Object
operationId: UpsertCatalogObject
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Creates a new or updates the specified [CatalogObject](entity:CatalogObject).
To ensure consistency, only one update request is processed at a time per seller account.
While one (batch or non-batch) update request is being processed, other (batched and non-batched)
update requests are rejected with the `429` error code.'
x-release-status: PUBLIC
security:
- oauth2:
- ITEMS_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/UpsertCatalogObjectRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UpsertCatalogObjectResponse'
x-endpoint-errors:
- error-code: GENERIC_DECLINE
- error-code: INVALID_LOCATION
/v2/catalog/object/{object_id}:
delete:
tags:
- Catalog
summary: Square Delete Catalog Object
operationId: DeleteCatalogObject
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Deletes a single [CatalogObject](entity:CatalogObject) based on the
provided ID and returns the set of successfully deleted IDs in the response.
Deletion is a cascading event such that all children of the targeted object
are also deleted. For example, deleting a [CatalogItem](entity:CatalogItem)
will also delete all of its
[CatalogItemVariation](entity:CatalogItemVariation) children.
To ensure consistency, only one delete request is processed at a time per seller account.
While one (batch or non-batch) delete request is being processed, other (batched and non-batched)
delete requests are rejected with the `429` error code.'
x-release-status: PUBLIC
security:
- oauth2:
- ITEMS_WRITE
parameters:
- name: object_id
description: 'The ID of the catalog object to be deleted. When an object is deleted, other
objects in the graph that depend on that object will be deleted as well (for example, deleting a
catalog item will delete its catalog item variations).'
schema:
type: string
in: path
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteCatalogObjectResponse'
get:
tags:
- Catalog
summary: Square Retrieve Catalog Object
operationId: RetrieveCatalogObject
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Returns a single [CatalogItem](entity:CatalogItem) as a
[CatalogObject](entity:CatalogObject) based on the provided ID. The returned
object includes all of the relevant [CatalogItem](entity:CatalogItem)
information including: [CatalogItemVariation](entity:CatalogItemVariation)
children, references to its
[CatalogModifierList](entity:CatalogModifierList) objects, and the ids of
any [CatalogTax](entity:CatalogTax) objects that apply to it.'
x-release-status: PUBLIC
security:
- oauth2:
- ITEMS_READ
parameters:
- name: object_id
description: The object ID of any type of catalog objects to be retrieved.
schema:
type: string
in: path
required: true
- name: include_related_objects
description: 'If `true`, the response will include additional objects that are related to the
requested objects. Related objects are defined as any objects referenced by ID by the results in the `objects` field
of the response. These objects are put in the `related_objects` field. Setting this to `true` is
helpful when the objects are needed for immediate display to a user.
This process only goes one level deep. Objects referenced by the related objects will not be included. For example,
if the `objects` field of the response contains a CatalogItem, its associated
CatalogCategory objects, CatalogTax objects, CatalogImage objects and
CatalogModifierLists will be returned in the `related_objects` field of the
response. If the `objects` field of the response contains a CatalogItemVariation,
its parent CatalogItem will be returned in the `related_objects` field of
the response.
Default value: `false`'
schema:
type: boolean
default: false
in: query
required: false
- name: catalog_version
description: 'Requests objects as of a specific version of the catalog. This allows you to retrieve historical
versions of objects. The value to retrieve a specific version of an object can be found
in the version field of [CatalogObject](entity:CatalogObject)s. If not included, results will
be from the current version of the catalog.'
schema:
type: integer
format: int64
in: query
required: false
- name: include_category_path_to_root
description: 'Specifies whether or not to include the `path_to_root` list for each returned category instance. The `path_to_root` list consists
of `CategoryPathToRootNode` objects and specifies the path that starts with the immediate parent category of the returned category
and ends with its root category. If the returned category is a top-level category, the `path_to_root` list is empty and is not returned
in the response payload.'
schema:
type: boolean
default: false
in: query
required: false
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/RetrieveCatalogObjectResponse'
/v2/catalog/search:
post:
tags:
- Catalog
summary: Square Search Catalog Objects
operationId: SearchCatalogObjects
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Searches for [CatalogObject](entity:CatalogObject) of any type by matching supported search attribute values,
excluding custom attribute values on items or item variations, against one or more of the specified query filters.
This (`SearchCatalogObjects`) endpoint differs from the [SearchCatalogItems](api-endpoint:Catalog-SearchCatalogItems)
endpoint in the following aspects:
- `SearchCatalogItems` can only search for items or item variations, whereas `SearchCatalogObjects` can search for any type of catalog objects.
- `SearchCatalogItems` supports the custom attribute query filters to return items or item variations that contain custom attribute values, where `SearchCatalogObjects` does not.
- `SearchCatalogItems` does not support the `include_deleted_objects` filter to search for deleted items or item variations, whereas `SearchCatalogObjects` does.
- The both endpoints have different call conventions, including the query filter formats.'
x-release-status: PUBLIC
security:
- oauth2:
- ITEMS_READ
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/SearchCatalogObjectsRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SearchCatalogObjectsResponse'
/v2/catalog/search-catalog-items:
post:
tags:
- Catalog
summary: Square Search Catalog Items
operationId: SearchCatalogItems
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Searches for catalog items or item variations by matching supported search attribute values, including
custom attribute values, against one or more of the specified query filters.
This (`SearchCatalogItems`) endpoint differs from the [SearchCatalogObjects](api-endpoint:Catalog-SearchCatalogObjects)
endpoint in the following aspects:
- `SearchCatalogItems` can only search for items or item variations, whereas `SearchCatalogObjects` can search for any type of catalog objects.
- `SearchCatalogItems` supports the custom attribute query filters to return items or item variations that contain custom attribute values, where `SearchCatalogObjects` does not.
- `SearchCatalogItems` does not support the `include_deleted_objects` filter to search for deleted items or item variations, whereas `SearchCatalogObjects` does.
- The both endpoints use different call conventions, including the query filter formats.'
x-release-status: PUBLIC
security:
- oauth2:
- ITEMS_READ
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/SearchCatalogItemsRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SearchCatalogItemsResponse'
/v2/catalog/update-item-modifier-lists:
post:
tags:
- Catalog
summary: Square Update Item Modifier Lists
operationId: UpdateItemModifierLists
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Updates the [CatalogModifierList](entity:CatalogModifierList) objects
that apply to the targeted [CatalogItem](entity:CatalogItem) without having
to perform an upsert on the entire item.'
x-release-status: PUBLIC
security:
- oauth2:
- ITEMS_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/UpdateItemModifierListsRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateItemModifierListsResponse'
/v2/catalog/update-item-taxes:
post:
tags:
- Catalog
summary: Square Update Item Taxes
operationId: UpdateItemTaxes
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
description: 'Updates the [CatalogTax](entity:CatalogTax) objects that apply to the
targeted [CatalogItem](entity:CatalogItem) without having to perform an
upsert on the entire item.'
x-release-status: PUBLIC
security:
- oauth2:
- ITEMS_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/UpdateItemTaxesRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateItemTaxesResponse'
components:
schemas:
CatalogQuickAmountsSettingsOption:
type: string
enum:
- DISABLED
- MANUAL
- AUTO
x-enum-elements:
- name: DISABLED
description: Option for seller to disable Quick Amounts.
- name: MANUAL
description: Option for seller to choose manually created Quick Amounts.
- name: AUTO
description: Option for seller to choose automatically created Quick Amounts.
description: Determines a seller's option on Quick Amounts feature.
x-release-status: BETA
CatalogItemOptionForItem:
type: object
description: ' An option that can be assigned to an item.
For example, a t-shirt item may offer a color option or a size option.'
x-release-status: BETA
properties:
item_option_id:
type: string
description: The unique id of the item option, used to form the dimensions of the item option matrix in a specified order.
nullable: true
ItemVariationLocationOverrides:
type: object
description: Price and inventory alerting overrides for a `CatalogItemVariation` at a specific `Location`.
x-release-status: PUBLIC
properties:
location_id:
type: string
description: The ID of the `Location`. This can include locations that are deactivated.
nullable: true
price_money:
$ref: '#/components/schemas/Money'
description: The price of the `CatalogItemVariation` at the given `Location`, or blank for variable pricing.
nullable: true
pricing_type:
$ref: '#/components/schemas/CatalogPricingType'
description: 'The pricing type (fixed or variable) for the `CatalogItemVariation` at the given `Location`.
See [CatalogPricingType](#type-catalogpricingtype) for possible values'
nullable: true
track_inventory:
type: boolean
description: If `true`, inventory tracking is active for the `CatalogItemVariation` at this `Location`.
nullable: true
inventory_alert_type:
$ref: '#/components/schemas/InventoryAlertType'
description: 'Indicates whether the `CatalogItemVariation` displays an alert when its inventory
quantity is less than or equal to its `inventory_alert_threshold`.
See [InventoryAlertType](#type-inventoryalerttype) for possible values'
nullable: true
inventory_alert_threshold:
type: integer
description: 'If the inventory quantity for the variation is less than or equal to this value and `inventory_alert_type`
is `LOW_QUANTITY`, the variation displays an alert in the merchant dashboard.
This value is always an integer.'
format: int64
nullable: true
sold_out:
type: boolean
description: 'Indicates whether the overridden item variation is sold out at the specified location.
When inventory tracking is enabled on the item variation either globally or at the specified location,
the item variation is automatically marked as sold out when its inventory count reaches zero. The seller
can manually set the item variation as sold out even when the inventory count is greater than zero.
Attempts by an application to set this attribute are ignored. Regardless how the sold-out status is set,
applications should treat its inventory count as zero when this attribute value is `true`.'
readOnly: true
sold_out_valid_until:
type: string
description: 'The seller-assigned timestamp, of the RFC 3339 format, to indicate when this sold-out variation
becomes available again at the specified location. Attempts by an application to set this attribute are ignored.
When the current time is later than this attribute value, the affected item variation is no longer sold out.'
readOnly: true
ModifierLocationOverrides:
type: object
description: Location-specific overrides for specified properties of a `CatalogModifier` object.
x-release-status: PUBLIC
properties:
location_id:
type: string
description: The ID of the `Location` object representing the location. This can include a deactivated location.
nullable: true
price_money:
$ref: '#/components/schemas/Money'
description: 'The overridden price at the specified location. If this is unspecified, the modifier price is not overridden.
The modifier becomes free of charge at the specified location, when this `price_money` field is set to 0.'
nullable: true
sold_out:
type: boolean
description: 'Indicates whether the modifier is sold out at the specified location or not. As an example, for cheese (modifier) burger (item), when the modifier is sold out, it is the cheese, but not the burger, that is sold out.
The seller
# --- truncated at 32 KB (294 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/square/refs/heads/main/openapi/square-catalog-api-openapi.yml