Skip to main content
GET
/
store
/
product-attributes
curl 'http://localhost:9000/store/product-attributes?is_filterable=true' \
  -H 'x-publishable-api-key: pk_01JB2K3XYZ'
{
  "product_attributes": [
    {
      "id": "attr_01JB2K7A1B",
      "name": "Material",
      "handle": "material",
      "description": null,
      "type": "single_select",
      "is_required": false,
      "is_filterable": true,
      "is_variant_axis": false,
      "product_id": null,
      "rank": 0,
      "values": [
        { "id": "attrval_01JB2K7C2D", "name": "Linen", "rank": 0 },
        { "id": "attrval_01JB2K7E3F", "name": "Cotton", "rank": 1 }
      ],
      "metadata": null,
      "created_at": "2026-05-01T10:00:00.000Z",
      "updated_at": "2026-05-01T10:00:00.000Z"
    }
  ],
  "count": 5,
  "offset": 0,
  "limit": 50
}
Returns a paginated list of active, global product attributes (attributes scoped to a single product are excluded).

Query parameters

limit
number
default:"50"
Maximum number of attributes to return.
offset
number
default:"0"
Number of attributes to skip before collecting results.
order
string
Field to sort by, prefixed with - for descending order.
fields
string
Comma-separated fields and relations to include; prefix with +/- to add to or remove from the defaults.
q
string
Free-text search term applied to attribute fields.
id
string | string[]
Filter by one or more attribute IDs.
handle
string | string[]
Filter by one or more attribute handles.
type
string | string[]
Filter by attribute type. Values: single_select, multi_select, unit, toggle, text.
is_variant_axis
boolean
Filter attributes that define variant axes.
is_filterable
boolean
Filter attributes usable as storefront filters.
created_at
object
Filter by creation date using operators like $gt, $gte, $lt, $lte.
updated_at
object
Filter by update date using operators like $gt, $gte, $lt, $lte.
$and
object[]
Join multiple filter objects with a logical AND.
$or
object[]
Join multiple filter objects with a logical OR.

Response

product_attributes
object[]
count
number
Total number of matching attributes.
offset
number
Number of skipped attributes.
limit
number
Maximum number of returned attributes.
curl 'http://localhost:9000/store/product-attributes?is_filterable=true' \
  -H 'x-publishable-api-key: pk_01JB2K3XYZ'
{
  "product_attributes": [
    {
      "id": "attr_01JB2K7A1B",
      "name": "Material",
      "handle": "material",
      "description": null,
      "type": "single_select",
      "is_required": false,
      "is_filterable": true,
      "is_variant_axis": false,
      "product_id": null,
      "rank": 0,
      "values": [
        { "id": "attrval_01JB2K7C2D", "name": "Linen", "rank": 0 },
        { "id": "attrval_01JB2K7E3F", "name": "Cotton", "rank": 1 }
      ],
      "metadata": null,
      "created_at": "2026-05-01T10:00:00.000Z",
      "updated_at": "2026-05-01T10:00:00.000Z"
    }
  ],
  "count": 5,
  "offset": 0,
  "limit": 50
}