Square Catalog API

The Catalog API from Square — 13 operation(s) for catalog.

Documentation

📖
Documentation
https://developer.squareup.com/docs/payments-overview
📖
APIReference
https://developer.squareup.com/reference/square/payments-api
📖
Documentation
https://developer.squareup.com/docs/orders-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/orders-api
📖
Documentation
https://developer.squareup.com/docs/catalog-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/catalog-api
📖
Documentation
https://developer.squareup.com/docs/inventory-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/inventory-api
📖
Documentation
https://developer.squareup.com/docs/customers
📖
APIReference
https://developer.squareup.com/reference/square/customers-api
📖
Documentation
https://developer.squareup.com/docs/locations-api
📖
APIReference
https://developer.squareup.com/reference/square/locations-api
📖
Documentation
https://developer.squareup.com/docs/team/overview
📖
APIReference
https://developer.squareup.com/reference/square/team-api
📖
Documentation
https://developer.squareup.com/docs/labor-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/labor-api
📖
Documentation
https://developer.squareup.com/docs/bookings-api/what-it-is
📖
APIReference
https://developer.squareup.com/reference/square/bookings-api
📖
Documentation
https://developer.squareup.com/docs/loyalty-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/loyalty-api
📖
Documentation
https://developer.squareup.com/docs/gift-cards/using-gift-cards-api
📖
APIReference
https://developer.squareup.com/reference/square/gift-cards-api
📖
Documentation
https://developer.squareup.com/docs/invoices-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/invoices-api
📖
Documentation
https://developer.squareup.com/docs/subscriptions-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/subscriptions-api
📖
Documentation
https://developer.squareup.com/docs/checkout-api
📖
APIReference
https://developer.squareup.com/reference/square/checkout-api
📖
Documentation
https://developer.squareup.com/docs/terminal-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/terminal-api
📖
Documentation
https://developer.squareup.com/docs/payments-refunds
📖
APIReference
https://developer.squareup.com/reference/square/refunds-api
📖
Documentation
https://developer.squareup.com/docs/disputes-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/disputes-api
📖
Documentation
https://developer.squareup.com/docs/merchants-api
📖
APIReference
https://developer.squareup.com/reference/square/merchants-api
📖
Documentation
https://developer.squareup.com/docs/cards-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/cards-api
📖
Documentation
https://developer.squareup.com/docs/vendors-api/manage-vendors-in-apps
📖
APIReference
https://developer.squareup.com/reference/square/vendors-api
📖
Documentation
https://developer.squareup.com/docs/cashdrawershift-api/reporting
📖
APIReference
https://developer.squareup.com/reference/square/cash-drawers-api
📖
Documentation
https://developer.squareup.com/docs/bank-accounts-api
📖
APIReference
https://developer.squareup.com/reference/square/bank-accounts-api
📖
Documentation
https://developer.squareup.com/docs/payouts-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/payouts-api
📖
Documentation
https://developer.squareup.com/docs/web-payments/apple-pay
📖
APIReference
https://developer.squareup.com/reference/square/apple-pay-api
📖
Documentation
https://developer.squareup.com/docs/sites-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/sites-api
📖
Documentation
https://developer.squareup.com/docs/snippets-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/snippets-api
📖
Documentation
https://developer.squareup.com/docs/oauth-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/oauth-api
📖
Documentation
https://developer.squareup.com/docs/webhooks/overview
📖
APIReference
https://developer.squareup.com/reference/square/webhook-subscriptions-api
📖
Documentation
https://developer.squareup.com/docs/events-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/events-api
📖
Documentation
https://developer.squareup.com/docs/devices-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/devices-api
📖
Documentation
https://developer.squareup.com/docs/customer-groups-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/customer-groups-api
📖
Documentation
https://developer.squareup.com/docs/customer-segments-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/customer-segments-api
📖
Documentation
https://developer.squareup.com/docs/gift-cards/using-gift-card-activities-api
📖
APIReference
https://developer.squareup.com/reference/square/gift-card-activities-api
📖
Documentation
https://developer.squareup.com/docs/customer-custom-attributes-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/customer-custom-attributes-api

Specifications

Other Resources

OpenAPI Specification

square-catalog-api-openapi.yml Raw ↑
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