Square · Schema

SearchCatalogItemsRequest

Defines the request body for the [SearchCatalogItems](api-endpoint:Catalog-SearchCatalogItems) endpoint.

BookingLocationSquareRestaurantCatalogCheckoutCustomersDisputesE-CommerceFinancial TechnologyGift CardsInventoryInvoicingLaborLoyaltyMerchantsOrderPaymentsPoint-of-SaleRefundsRetailSubscriptionTeamWebhookPayment ProcessingPayment Terminals

Properties

Name Type Description
text_filter string The text filter expression to return items or item variations containing specified text in the `name`, `description`, or `abbreviation` attribute value of an item, or in the `name`, `sku`, or `upc` at
category_ids array The category id query expression to return items containing the specified category IDs.
stock_levels array The stock-level query expression to return item variations with the specified stock levels. See [SearchCatalogItemsRequestStockLevel](#type-searchcatalogitemsrequeststocklevel) for possible values
enabled_location_ids array The enabled-location query expression to return items and item variations having specified enabled locations.
cursor string The pagination token, returned in the previous response, used to fetch the next batch of pending results.
limit integer The maximum number of results to return per page. The default value is 100.
sort_order object The order to sort the results by item names. The default sort order is ascending (`ASC`). See [SortOrder](#type-sortorder) for possible values
product_types array The product types query expression to return items or item variations having the specified product types.
custom_attribute_filters array The customer-attribute filter to return items or item variations matching the specified custom attribute expressions. A maximum number of 10 custom attribute expressions are supported in a single call
archived_state object The query filter to return not archived (`ARCHIVED_STATE_NOT_ARCHIVED`), archived (`ARCHIVED_STATE_ARCHIVED`), or either type (`ARCHIVED_STATE_ALL`) of items.
View JSON Schema on GitHub

JSON Schema

square-search-catalog-items-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/square/main/json-schema/square-search-catalog-items-request-schema.json",
  "title": "SearchCatalogItemsRequest",
  "description": "Defines the request body for the [SearchCatalogItems](api-endpoint:Catalog-SearchCatalogItems) endpoint.",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/square-catalog-api-openapi.yml#/components/schemas/SearchCatalogItemsRequest",
  "type": "object",
  "x-release-status": "PUBLIC",
  "properties": {
    "text_filter": {
      "type": "string",
      "description": "The text filter expression to return items or item variations containing specified text in\nthe `name`, `description`, or `abbreviation` attribute value of an item, or in\nthe `name`, `sku`, or `upc` attribute value of an item variation."
    },
    "category_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The category id query expression to return items containing the specified category IDs."
    },
    "stock_levels": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/SearchCatalogItemsRequestStockLevel"
      },
      "description": "The stock-level query expression to return item variations with the specified stock levels.\nSee [SearchCatalogItemsRequestStockLevel](#type-searchcatalogitemsrequeststocklevel) for possible values"
    },
    "enabled_location_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The enabled-location query expression to return items and item variations having specified enabled locations."
    },
    "cursor": {
      "type": "string",
      "description": "The pagination token, returned in the previous response, used to fetch the next batch of pending results."
    },
    "limit": {
      "type": "integer",
      "description": "The maximum number of results to return per page. The default value is 100.",
      "maximum": 100
    },
    "sort_order": {
      "$ref": "#/$defs/SortOrder",
      "description": "The order to sort the results by item names. The default sort order is ascending (`ASC`).\nSee [SortOrder](#type-sortorder) for possible values"
    },
    "product_types": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/CatalogItemProductType"
      },
      "description": "The product types query expression to return items or item variations having the specified product types."
    },
    "custom_attribute_filters": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/CustomAttributeFilter"
      },
      "description": "The customer-attribute filter to return items or item variations matching the specified\ncustom attribute expressions. A maximum number of 10 custom attribute expressions are supported in\na single call to the [SearchCatalogItems](api-endpoint:Catalog-SearchCatalogItems) endpoint."
    },
    "archived_state": {
      "$ref": "#/$defs/ArchivedState",
      "description": "The query filter to return not archived (`ARCHIVED_STATE_NOT_ARCHIVED`), archived (`ARCHIVED_STATE_ARCHIVED`), or either type (`ARCHIVED_STATE_ALL`) of items."
    }
  },
  "$defs": {
    "ArchivedState": {
      "type": "string",
      "enum": [
        "ARCHIVED_STATE_NOT_ARCHIVED",
        "ARCHIVED_STATE_ARCHIVED",
        "ARCHIVED_STATE_ALL"
      ],
      "x-enum-elements": [
        {
          "name": "ARCHIVED_STATE_NOT_ARCHIVED",
          "description": "Requested items are not archived with the `is_archived` attribute set to `false`."
        },
        {
          "name": "ARCHIVED_STATE_ARCHIVED",
          "description": "Requested items are archived with the `is_archived` attribute set to `true`."
        },
        {
          "name": "ARCHIVED_STATE_ALL",
          "description": "Requested items can be archived or not archived."
        }
      ],
      "description": "Defines the values for the `archived_state` query expression \nused in [SearchCatalogItems](api-endpoint:Catalog-SearchCatalogItems) \nto return the archived, not archived or either type of catalog items.",
      "x-release-status": "PUBLIC"
    },
    "CatalogItemProductType": {
      "type": "string",
      "enum": [
        "REGULAR",
        "GIFT_CARD",
        "APPOINTMENTS_SERVICE",
        "FOOD_AND_BEV",
        "EVENT",
        "DIGITAL",
        "DONATION",
        "LEGACY_SQUARE_ONLINE_SERVICE",
        "LEGACY_SQUARE_ONLINE_MEMBERSHIP"
      ],
      "x-enum-elements": [
        {
          "name": "REGULAR",
          "description": "An ordinary item."
        },
        {
          "name": "GIFT_CARD",
          "description": "A Square gift card."
        },
        {
          "name": "APPOINTMENTS_SERVICE",
          "description": "A service that can be booked using the Square Appointments app."
        },
        {
          "name": "FOOD_AND_BEV",
          "description": "A food or beverage item that can be sold by restaurants and other food venues."
        },
        {
          "name": "EVENT",
          "description": "An event which tickets can be sold for, including location, address, and times."
        },
        {
          "name": "DIGITAL",
          "description": "A digital item like an ebook or song."
        },
        {
          "name": "DONATION",
          "description": "A donation which site visitors can send for any cause."
        },
        {
          "name": "LEGACY_SQUARE_ONLINE_SERVICE",
          "description": "A legacy Square Online service that is manually fulfilled. This corresponds to the `Other` item type displayed in the Square Seller Dashboard and Square POS apps."
        },
        {
          "name": "LEGACY_SQUARE_ONLINE_MEMBERSHIP",
          "description": "A legacy Square Online membership that is manually fulfilled. This corresponds to the `Membership` item type displayed in the Square Seller Dashboard and Square POS apps."
        }
      ],
      "description": "The type of a CatalogItem. Connect V2 only allows the creation of `REGULAR` or `APPOINTMENTS_SERVICE` items.",
      "x-release-status": "PUBLIC"
    },
    "CustomAttributeFilter": {
      "type": "object",
      "description": "Supported custom attribute query expressions for calling the\n[SearchCatalogItems](api-endpoint:Catalog-SearchCatalogItems)\nendpoint to search for items or item variations.",
      "x-release-status": "PUBLIC",
      "properties": {
        "custom_attribute_definition_id": {
          "type": [
            "string",
            "null"
          ],
          "description": "A query expression to filter items or item variations by matching their custom attributes'\n`custom_attribute_definition_id` property value against the the specified id.\nExactly one of `custom_attribute_definition_id` or `key` must be specified."
        },
        "key": {
          "type": [
            "string",
            "null"
          ],
          "description": "A query expression to filter items or item variations by matching their custom attributes'\n`key` property value against the specified key.\nExactly one of `custom_attribute_definition_id` or `key` must be specified."
        },
        "string_filter": {
          "type": [
            "string",
            "null"
          ],
          "description": "A query expression to filter items or item variations by matching their custom attributes'\n`string_value`  property value against the specified text.\nExactly one of `string_filter`, `number_filter`, `selection_uids_filter`, or `bool_filter` must be specified."
        },
        "number_filter": {
          "$ref": "#/$defs/Range",
          "description": "A query expression to filter items or item variations with their custom attributes\ncontaining a number value within the specified range.\nExactly one of `string_filter`, `number_filter`, `selection_uids_filter`, or `bool_filter` must be specified."
        },
        "selection_uids_filter": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": "string"
          },
          "description": "A query expression to filter items or item variations by matching  their custom attributes'\n`selection_uid_values` values against the specified selection uids.\nExactly one of `string_filter`, `number_filter`, `selection_uids_filter`, or `bool_filter` must be specified."
        },
        "bool_filter": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "A query expression to filter items or item variations by matching their custom attributes'\n`boolean_value` property values against the specified Boolean expression.\nExactly one of `string_filter`, `number_filter`, `selection_uids_filter`, or `bool_filter` must be specified."
        }
      }
    },
    "Range": {
      "type": "object",
      "description": "The range of a number value between the specified lower and upper bounds.",
      "x-release-status": "PUBLIC",
      "properties": {
        "min": {
          "type": [
            "string",
            "null"
          ],
          "description": "The lower bound of the number range. At least one of `min` or `max` must be specified.\nIf unspecified, the results will have no minimum value."
        },
        "max": {
          "type": [
            "string",
            "null"
          ],
          "description": "The upper bound of the number range. At least one of `min` or `max` must be specified.\nIf unspecified, the results will have no maximum value."
        }
      }
    },
    "SearchCatalogItemsRequestStockLevel": {
      "type": "string",
      "enum": [
        "OUT",
        "LOW"
      ],
      "x-enum-elements": [
        {
          "name": "OUT",
          "description": "The item inventory is empty."
        },
        {
          "name": "LOW",
          "description": "The item inventory is low."
        }
      ],
      "description": "Defines supported stock levels of the item inventory.",
      "x-release-status": "PUBLIC"
    },
    "SortOrder": {
      "type": "string",
      "enum": [
        "DESC",
        "ASC"
      ],
      "x-enum-elements": [
        {
          "name": "DESC",
          "description": "The results are returned in descending (e.g., newest-first or Z-A) order."
        },
        {
          "name": "ASC",
          "description": "The results are returned in ascending (e.g., oldest-first or A-Z) order."
        }
      ],
      "description": "The order (e.g., chronological or alphabetical) in which results from a request are returned.",
      "x-release-status": "PUBLIC"
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/square-search-catalog-items-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.