Square Catalog API

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

Operations 14

POST /v2/catalog/batch-delete Square Batch Delete Catalog Objects #
POST /v2/catalog/batch-retrieve Square Batch Retrieve Catalog Objects #
POST /v2/catalog/batch-upsert Square Batch Upsert Catalog Objects #
POST /v2/catalog/images Square Create Catalog Image #
PUT /v2/catalog/images/{image_id} Square Update Catalog Image #
GET /v2/catalog/info Square Catalog Info #
GET /v2/catalog/list Square List Catalog #
POST /v2/catalog/object Square Upsert Catalog Object #
DELETE /v2/catalog/object/{object_id} Square Delete Catalog Object #
GET /v2/catalog/object/{object_id} Square Retrieve Catalog Object #
POST /v2/catalog/search Square Search Catalog Objects #
POST /v2/catalog/search-catalog-items Square Search Catalog Items #
POST /v2/catalog/update-item-modifier-lists Square Update Item Modifier Lists #
POST /v2/catalog/update-item-taxes Square Update Item Taxes #

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

Work with this as data

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-catalog-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 Specification

square-catalog-api-openapi.yml Raw ↑
openapi: 3.2.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:
    Currency:
      type: string
      enum:
      - UNKNOWN_CURRENCY
      - AED
      - AFN
      - ALL
      - AMD
      - ANG
      - AOA
      - ARS
      - AUD
      - AWG
      - AZN
      - BAM
      - BBD
      - BDT
      - BGN
      - BHD
      - BIF
      - BMD
      - BND
      - BOB
      - BOV
      - BRL
      - BSD
      - BTN
      - BWP
      - BYR
      - BZD
      - CAD
      - CDF
      - CHE
      - CHF
      - CHW
      - CLF
      - CLP
      - CNY
      - COP
      - COU
      - CRC
      - CUC
      - CUP
      - CVE
      - CZK
      - DJF
      - DKK
      - DOP
      - DZD
      - EGP
      - ERN
      - ETB
      - EUR
      - FJD
      - FKP
      - GBP
      - GEL
      - GHS
      - GIP
      - GMD
      - GNF
      - GTQ
      - GYD
      - HKD
      - HNL
      - HRK
      - HTG
      - HUF
      - IDR
      - ILS
      - INR
      - IQD
      - IRR
      - ISK
      - JMD
      - JOD
      - JPY
      - KES
      - KGS
      - KHR
      - KMF
      - KPW
      - KRW
      - KWD
      - KYD
      - KZT
      - LAK
      - LBP
      - LKR
      - LRD
      - LSL
      - LTL
      - LVL
      - LYD
      - MAD
      - MDL
      - MGA
      - MKD
      - MMK
      - MNT
      - MOP
      - MRO
      - MUR
      - MVR
      - MWK
      - MXN
      - MXV
      - MYR
      - MZN
      - NAD
      - NGN
      - NIO
      - NOK
      - NPR
      - NZD
      - OMR
      - PAB
      - PEN
      - PGK
      - PHP
      - PKR
      - PLN
      - PYG
      - QAR
      - RON
      - RSD
      - RUB
      - RWF
      - SAR
      - SBD
      - SCR
      - SDG
      - SEK
      - SGD
      - SHP
      - SLL
      - SLE
      - SOS
      - SRD
      - SSP
      - STD
      - SVC
      - SYP
      - SZL
      - THB
      - TJS
      - TMT
      - TND
      - TOP
      - TRY
      - TTD
      - TWD
      - TZS
      - UAH
      - UGX
      - USD
      - USN
      - USS
      - UYI
      - UYU
      - UZS
      - VEF
      - VND
      - VUV
      - WST
      - XAF
      - XAG
      - XAU
      - XBA
      - XBB
      - XBC
      - XBD
      - XCD
      - XDR
      - XOF
      - XPD
      - XPF
      - XPT
      - XTS
      - XXX
      - YER
      - ZAR
      - ZMK
      - ZMW
      - BTC
      - XUS
      x-enum-elements:
      - name: UNKNOWN_CURRENCY
        description: Unknown currency
      - name: AED
        description: United Arab Emirates dirham
      - name: AFN
        description: Afghan afghani
      - name: ALL
        description: Albanian lek
      - name: AMD
        description: Armenian dram
      - name: ANG
        description: Netherlands Antillean guilder
      - name: AOA
        description: Angolan kwanza
      - name: ARS
        description: Argentine peso
      - name: AUD
        description: Australian dollar
      - name: AWG
        description: Aruban florin
      - name: AZN
        description: Azerbaijani manat
      - name: BAM
        description: Bosnia and Herzegovina convertible mark
      - name: BBD
        description: Barbados dollar
      - name: BDT
        description: Bangladeshi taka
      - name: BGN
        description: Bulgarian lev
      - name: BHD
        description: Bahraini dinar
      - name: BIF
        description: Burundian franc
      - name: BMD
        description: Bermudian dollar
      - name: BND
        description: Brunei dollar
      - name: BOB
        description: Boliviano
      - name: BOV
        description: Bolivian Mvdol
      - name: BRL
        description: Brazilian real
      - name: BSD
        description: Bahamian dollar
      - name: BTN
        description: Bhutanese ngultrum
      - name: BWP
        description: Botswana pula
      - name: BYR
        description: Belarusian ruble
      - name: BZD
        description: Belize dollar
      - name: CAD
        description: Canadian dollar
      - name: CDF
        description: Congolese franc
      - name: CHE
        description: WIR Euro
      - name: CHF
        description: Swiss franc
      - name: CHW
        description: WIR Franc
      - name: CLF
        description: Unidad de Fomento
      - name: CLP
        description: Chilean peso
      - name: CNY
        description: Chinese yuan
      - name: COP
        description: Colombian peso
      - name: COU
        description: Unidad de Valor Real
      - name: CRC
        description: Costa Rican colon
      - name: CUC
        description: Cuban convertible peso
      - name: CUP
        description: Cuban peso
      - name: CVE
        description: Cape Verdean escudo
      - name: CZK
        description: Czech koruna
      - name: DJF
        description: Djiboutian franc
      - name: DKK
        description: Danish krone
      - name: DOP
        description: Dominican peso
      - name: DZD
        description: Algerian dinar
      - name: EGP
        description: Egyptian pound
      - name: ERN
        description: Eritrean nakfa
      - name: ETB
        description: Ethiopian birr
      - name: EUR
        description: Euro
      - name: FJD
        desc

# --- truncated at 32 KB (293 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/square/refs/heads/main/openapi/square-catalog-api-openapi.yml