{ "opencollection": "1.0.0", "info": { "name": "Admin Account / Address Product Catalog API", "version": "v3" }, "items": [ { "info": { "name": "Product Catalog", "type": "folder" }, "items": [ { "info": { "name": "List categories", "type": "http" }, "http": { "method": "GET", "url": "http://{defaultHost}/api/v3/store/categories", "headers": [ { "name": "x-spree-api-key", "value": "" } ], "params": [ { "name": "page", "value": "", "type": "query" }, { "name": "limit", "value": "", "type": "query" }, { "name": "q[name_cont]", "value": "", "type": "query", "description": "Filter by name" }, { "name": "fields", "value": "", "type": "query", "description": "Comma-separated list of fields to include (e.g., name,slug,price). id is always included." } ], "auth": { "type": "apikey", "key": "x-spree-api-key", "value": "{{x-spree-api-key}}", "placement": "header" } }, "docs": "Returns a paginated list of categories for the current store" }, { "info": { "name": "Get a category", "type": "http" }, "http": { "method": "GET", "url": "http://{defaultHost}/api/v3/store/categories/:id", "headers": [ { "name": "x-spree-api-key", "value": "" } ], "params": [ { "name": "id", "value": "", "type": "path", "description": "Category permalink (e.g., clothing/shirts) or prefix ID (e.g., ctg_abc123)" }, { "name": "expand", "value": "", "type": "query", "description": "Expand associations (children, parent, ancestors, custom_fields)" }, { "name": "fields", "value": "", "type": "query", "description": "Comma-separated list of fields to include (e.g., name,slug,price). id is always included." } ], "auth": { "type": "apikey", "key": "x-spree-api-key", "value": "{{x-spree-api-key}}", "placement": "header" } }, "docs": "Returns a single category by permalink or prefix ID" }, { "info": { "name": "List products", "type": "http" }, "http": { "method": "GET", "url": "http://{defaultHost}/api/v3/store/products", "headers": [ { "name": "x-spree-api-key", "value": "" } ], "params": [ { "name": "page", "value": "", "type": "query", "description": "Page number (default: 1)" }, { "name": "limit", "value": "", "type": "query", "description": "Number of items per page (default: 25, max: 100)" }, { "name": "sort", "value": "", "type": "query", "description": "Sort order. Prefix with - for descending. Values: price, -price, best_selling, name, -name, -available_on, available_on" }, { "name": "q[name_cont]", "value": "", "type": "query", "description": "Filter by name containing string" }, { "name": "q[in_category]", "value": "", "type": "query", "description": "Filter by category prefixed ID (includes descendants)" }, { "name": "q[in_categories][]", "value": "", "type": "query", "description": "Filter by multiple category prefixed IDs (OR logic, includes descendants)" }, { "name": "q[price_gte]", "value": "", "type": "query", "description": "Filter by minimum price" }, { "name": "q[price_lte]", "value": "", "type": "query", "description": "Filter by maximum price" }, { "name": "q[with_option_value_ids][]", "value": "", "type": "query", "description": "Filter by option value prefix IDs (e.g., optval_abc). Pass multiple values for OR logic." }, { "name": "q[in_stock]", "value": "", "type": "query", "description": "Filter to only in-stock products" }, { "name": "expand", "value": "", "type": "query", "description": "Comma-separated associations to expand (variants, media, categories, option_types)" }, { "name": "fields", "value": "", "type": "query", "description": "Comma-separated list of fields to include (e.g., name,slug,price). id is always included." } ], "auth": { "type": "apikey", "key": "x-spree-api-key", "value": "{{x-spree-api-key}}", "placement": "header" } }, "docs": "Returns a paginated list of active products for the current store" }, { "info": { "name": "Get a product", "type": "http" }, "http": { "method": "GET", "url": "http://{defaultHost}/api/v3/store/products/:id", "headers": [ { "name": "x-spree-api-key", "value": "" } ], "params": [ { "name": "id", "value": "", "type": "path", "description": "Product slug (e.g., spree-tote) or prefix ID (e.g., product_abc123)" }, { "name": "expand", "value": "", "type": "query", "description": "Comma-separated associations to expand" }, { "name": "fields", "value": "", "type": "query", "description": "Comma-separated list of fields to include (e.g., name,slug,price). id is always included." } ], "auth": { "type": "apikey", "key": "x-spree-api-key", "value": "{{x-spree-api-key}}", "placement": "header" } }, "docs": "Returns a single product by slug or prefix ID" }, { "info": { "name": "Get product filters", "type": "http" }, "http": { "method": "GET", "url": "http://{defaultHost}/api/v3/store/products/filters", "headers": [ { "name": "x-spree-api-key", "value": "" } ], "params": [ { "name": "category_id", "value": "", "type": "query", "description": "Scope filters to products in this category (prefix ID)" }, { "name": "q[name_cont]", "value": "", "type": "query", "description": "Filter by name containing string" } ], "auth": { "type": "apikey", "key": "x-spree-api-key", "value": "{{x-spree-api-key}}", "placement": "header" } }, "docs": "Returns available filters for products with their options and counts.\nUse this endpoint to build filter UIs for product listing pages.\n\nThe filters are context-aware - when a category_id is provided, only filters\nrelevant to products in that category are returned.\n" } ] } ], "bundled": true }