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. |
JSON Schema
{
"$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.
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.