{
  "opencollection": "1.0.0",
  "info": {
    "name": "Store API",
    "version": "v3"
  },
  "items": [
    {
      "info": {
        "name": "Customers",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List customer addresses",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/customers/me/addresses",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "page",
                "value": "",
                "type": "query"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query"
              },
              {
                "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 all addresses in the customer address book"
        },
        {
          "info": {
            "name": "Create an address",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://{defaultHost}/api/v3/store/customers/me/addresses",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Adds a new address to the customer address book"
        },
        {
          "info": {
            "name": "Get an address",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/customers/me/addresses/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              },
              {
                "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": "Get an address"
        },
        {
          "info": {
            "name": "Update an address",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "http://{defaultHost}/api/v3/store/customers/me/addresses/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Update an address"
        },
        {
          "info": {
            "name": "Delete an address",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "http://{defaultHost}/api/v3/store/customers/me/addresses/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Delete an address"
        },
        {
          "info": {
            "name": "List saved credit cards",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/customers/me/credit_cards",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "page",
                "value": "",
                "type": "query"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query"
              },
              {
                "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 all saved credit cards for the authenticated customer"
        },
        {
          "info": {
            "name": "Get a credit card",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/customers/me/credit_cards/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              },
              {
                "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 saved credit card by its ID"
        },
        {
          "info": {
            "name": "Delete a credit card",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "http://{defaultHost}/api/v3/store/customers/me/credit_cards/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Removes a saved credit card from the customer account"
        },
        {
          "info": {
            "name": "List orders",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/customers/me/orders",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "Page number (default: 1)"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Number of results per page (default: 25, max: 100)"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort order. Prefix with - for descending. Values: completed_at, -completed_at, total, -total, number, -number"
              },
              {
                "name": "q[completed_at_gt]",
                "value": "",
                "type": "query",
                "description": "Filter by completed after date (ISO 8601)"
              },
              {
                "name": "q[completed_at_lt]",
                "value": "",
                "type": "query",
                "description": "Filter by completed before date (ISO 8601)"
              },
              {
                "name": "q[number_eq]",
                "value": "",
                "type": "query",
                "description": "Filter by exact order number (e.g., R123456)"
              },
              {
                "name": "q[state_eq]",
                "value": "",
                "type": "query",
                "description": "Filter by order state (complete, returned, canceled)"
              },
              {
                "name": "q[payment_state_eq]",
                "value": "",
                "type": "query",
                "description": "Filter by payment state (paid, balance_due, credit_owed, void, failed)"
              },
              {
                "name": "q[total_gteq]",
                "value": "",
                "type": "query",
                "description": "Filter by minimum total"
              },
              {
                "name": "q[total_lteq]",
                "value": "",
                "type": "query",
                "description": "Filter by maximum total"
              },
              {
                "name": "expand",
                "value": "",
                "type": "query",
                "description": "Comma-separated associations to expand (items, fulfillments, payments, discounts, billing_address, shipping_address, gift_card). Use \"none\" to skip associations."
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of fields to include (e.g., total,amount_due,item_count). 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 completed orders for the authenticated customer."
        },
        {
          "info": {
            "name": "Get an order",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/customers/me/orders/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Order prefixed ID"
              },
              {
                "name": "expand",
                "value": "",
                "type": "query",
                "description": "Comma-separated associations to expand (items, fulfillments, payments, discounts, billing_address, shipping_address, gift_card). Use \"none\" to skip associations."
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of fields to include (e.g., total,amount_due,item_count). id is always included."
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Returns a single completed order for the authenticated customer."
        },
        {
          "info": {
            "name": "Register a new customer",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://{defaultHost}/api/v3/store/customers",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Creates a new customer account and returns a JWT token"
        },
        {
          "info": {
            "name": "Get current customer profile",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/customers/me",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "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 the profile of the currently authenticated customer"
        },
        {
          "info": {
            "name": "Update current customer profile",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "http://{defaultHost}/api/v3/store/customers/me",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Updates the profile of the currently authenticated customer"
        },
        {
          "info": {
            "name": "List gift cards",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/customers/me/gift_cards",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "page",
                "value": "",
                "type": "query"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query"
              },
              {
                "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 all gift cards for the authenticated customer"
        },
        {
          "info": {
            "name": "Get a gift card",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/customers/me/gift_cards/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              },
              {
                "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 gift card by its ID"
        },
        {
          "info": {
            "name": "Create payment setup session",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://{defaultHost}/api/v3/store/customers/me/payment_setup_sessions",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Creates a new payment setup session for saving a payment method for future use. Delegates to the payment gateway to initialize a provider-specific setup flow (e.g. Stripe SetupIntent, Adyen zero-auth tokenization)."
        },
        {
          "info": {
            "name": "Get payment setup session",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/customers/me/payment_setup_sessions/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Payment setup session ID"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Returns a payment setup session with its current status and provider data."
        },
        {
          "info": {
            "name": "Complete payment setup session",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "http://{defaultHost}/api/v3/store/customers/me/payment_setup_sessions/:id/complete",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Payment setup session ID"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Completes a payment setup session by confirming the setup with the provider, resulting in a saved payment method."
        },
        {
          "info": {
            "name": "List store credits",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/customers/me/store_credits",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "page",
                "value": "",
                "type": "query"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query"
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of fields to include (e.g., amount,currency). id is always included."
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Returns store credits for the authenticated customer, filtered by current store and currency. Supports Ransack filtering."
        },
        {
          "info": {
            "name": "Get a store credit",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/customers/me/store_credits/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of fields to include (e.g., amount,currency). id is always included."
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Get a store credit"
        }
      ]
    },
    {
      "info": {
        "name": "Authentication",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Login",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://{defaultHost}/api/v3/store/auth/login",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Authenticates a customer with email/password and returns a JWT token"
        },
        {
          "info": {
            "name": "Refresh token",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://{defaultHost}/api/v3/store/auth/refresh",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Exchanges a refresh token for a new access JWT and rotated refresh token. No Authorization header needed."
        },
        {
          "info": {
            "name": "Logout",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://{defaultHost}/api/v3/store/auth/logout",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Revokes the refresh token, effectively logging the customer out."
        },
        {
          "info": {
            "name": "Request a password reset",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://{defaultHost}/api/v3/store/password_resets",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Sends a password reset email if an account exists for the given email address. Always returns 202 Accepted to prevent email enumeration."
        },
        {
          "info": {
            "name": "Reset password with token",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "http://{defaultHost}/api/v3/store/password_resets/:token",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "token",
                "value": "",
                "type": "path",
                "description": "Password reset token from the email"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Resets the password using a token received via email. Returns a JWT token on success (auto-login)."
        }
      ]
    },
    {
      "info": {
        "name": "Carts",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List active carts",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/carts",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "Page number (default: 1)"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Number of results per page (default: 25, max: 100)"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort order. Prefix with - for descending. Values: created_at, -created_at, updated_at, -updated_at"
              },
              {
                "name": "q[created_at_gt]",
                "value": "",
                "type": "query",
                "description": "Filter by created after date (ISO 8601)"
              },
              {
                "name": "q[updated_at_gt]",
                "value": "",
                "type": "query",
                "description": "Filter by updated after date (ISO 8601)"
              },
              {
                "name": "expand",
                "value": "",
                "type": "query",
                "description": "Comma-separated associations to expand (items, fulfillments, payments, discounts, billing_address, shipping_address, gift_card, payment_methods). Use \"none\" to skip associations."
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of fields to include (e.g., total,amount_due,item_count). id is always included."
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Returns all active (incomplete) carts for the authenticated user."
        },
        {
          "info": {
            "name": "Create a new cart",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://{defaultHost}/api/v3/store/carts",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "Idempotency-Key",
                "value": ""
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Creates a new shopping cart. Can be created by guests or authenticated customers.\nReturns a `token` that must be used for guest access to the cart.\n"
        },
        {
          "info": {
            "name": "Get a cart",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/carts/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "x-spree-token",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Cart prefixed ID (e.g., cart_abc123)"
              },
              {
                "name": "expand",
                "value": "",
                "type": "query",
                "description": "Comma-separated associations to expand (items, fulfillments, payments, discounts, billing_address, shipping_address, gift_card, payment_methods). Use \"none\" to skip associations."
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of fields to include (e.g., total,amount_due,item_count). id is always included."
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Returns a shopping cart by prefixed ID.\nAuthorize via x-spree-token header (guest) or JWT Bearer token (authenticated user).\n"
        },
        {
          "info": {
            "name": "Update a cart",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "http://{defaultHost}/api/v3/store/carts/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "x-spree-token",
                "value": ""
              },
              {
                "name": "Idempotency-Key",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Cart prefixed ID"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Updates cart info (email, addresses, customer note). When addresses change, the order state is reverted to address to ensure shipments are recalculated."
        },
        {
          "info": {
            "name": "Delete a cart",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "http://{defaultHost}/api/v3/store/carts/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "x-spree-token",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Cart prefixed ID"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Deletes/abandons the cart."
        },
        {
          "info": {
            "name": "Associate guest cart with authenticated user",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "http://{defaultHost}/api/v3/store/carts/:id/associate",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Cart prefixed ID"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Associates a guest cart with the currently authenticated user.\nRequires JWT authentication. The cart must not belong to another user.\n"
        },
        {
          "info": {
            "name": "Complete cart",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://{defaultHost}/api/v3/store/carts/:id/complete",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "x-spree-token",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Cart prefixed ID"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Completes the cart and finalizes the purchase. Returns an Order (not Cart)."
        },
        {
          "info": {
            "name": "Apply discount code",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://{defaultHost}/api/v3/store/carts/:cart_id/discount_codes",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "x-spree-token",
                "value": ""
              },
              {
                "name": "Idempotency-Key",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "cart_id",
                "value": "",
                "type": "path",
                "description": "Cart prefixed ID (e.g., cart_abc123)"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Applies a promotion discount code to the cart. The code is matched case-insensitively.\n\nFor gift cards, use the dedicated `POST /carts/{cart_id}/gift_cards` endpoint instead.\n"
        },
        {
          "info": {
            "name": "Remove discount code",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "http://{defaultHost}/api/v3/store/carts/:cart_id/discount_codes/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "x-spree-token",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "cart_id",
                "value": "",
                "type": "path",
                "description": "Cart prefixed ID"
              },
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "The discount code string to remove (e.g., SAVE10)"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Removes a previously applied discount code from the cart. The ID is the discount code string itself."
        },
        {
          "info": {
            "name": "Select delivery rate for fulfillment",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "http://{defaultHost}/api/v3/store/carts/:cart_id/fulfillments/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "x-spree-token",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "cart_id",
                "value": "",
                "type": "path",
                "description": "Cart prefixed ID"
              },
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Fulfillment ID"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Selects a delivery rate for a specific fulfillment and auto-advances checkout."
        },
        {
          "info": {
            "name": "Apply gift card",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://{defaultHost}/api/v3/store/carts/:cart_id/gift_cards",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "x-spree-token",
                "value": ""
              },
              {
                "name": "Idempotency-Key",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "cart_id",
                "value": "",
                "type": "path",
                "description": "Cart prefixed ID (e.g., cart_abc123)"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Applies a gift card to the cart. Gift cards are treated as a payment method, not a discount —\nthe cart `total` remains unchanged while `amount_due` is reduced.\n\nFor promotion discount codes, use the `POST /carts/{cart_id}/discount_codes` endpoint instead.\n"
        },
        {
          "info": {
            "name": "Remove gift card",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "http://{defaultHost}/api/v3/store/carts/:cart_id/gift_cards/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "x-spree-token",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "cart_id",
                "value": "",
                "type": "path",
                "description": "Cart prefixed ID"
              },
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Gift card prefixed ID (e.g., gc_abc123)"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Removes a previously applied gift card from the cart."
        },
        {
          "info": {
            "name": "Add item to cart",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://{defaultHost}/api/v3/store/carts/:cart_id/items",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "x-spree-token",
                "value": ""
              },
              {
                "name": "Idempotency-Key",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "cart_id",
                "value": "",
                "type": "path",
                "description": "Cart prefixed ID (e.g., cart_abc123)"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Adds a variant to the cart. Creates a new line item or increases quantity if variant already in cart."
        },
        {
          "info": {
            "name": "Update line item quantity",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "http://{defaultHost}/api/v3/store/carts/:cart_id/items/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "x-spree-token",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "cart_id",
                "value": "",
                "type": "path",
                "description": "Cart prefixed ID"
              },
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Line item ID"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Updates the quantity of a line item in the cart"
        },
        {
          "info": {
            "name": "Remove line item from cart",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "http://{defaultHost}/api/v3/store/carts/:cart_id/items/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "x-spree-token",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "cart_id",
                "value": "",
                "type": "path",
                "description": "Cart prefixed ID"
              },
              {
                "name": "id",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Removes a line item from the cart"
        },
        {
          "info": {
            "name": "Create payment session",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://{defaultHost}/api/v3/store/carts/:cart_id/payment_sessions",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "x-spree-token",
                "value": ""
              },
              {
                "name": "Idempotency-Key",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "cart_id",
                "value": "",
                "type": "path",
                "description": "Cart prefixed ID (e.g., cart_abc123)"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Creates a new payment session for the cart. Delegates to the payment gateway to initialize a provider-specific session (e.g. Stripe PaymentIntent, Adyen session, PayPal order)."
        },
        {
          "info": {
            "name": "Get payment session",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/carts/:cart_id/payment_sessions/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "x-spree-token",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "cart_id",
                "value": "",
                "type": "path",
                "description": "Cart prefixed ID"
              },
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Payment session ID"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Returns a single payment session with its current status and provider data."
        },
        {
          "info": {
            "name": "Update payment session",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "http://{defaultHost}/api/v3/store/carts/:cart_id/payment_sessions/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "x-spree-token",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "cart_id",
                "value": "",
                "type": "path",
                "description": "Cart prefixed ID"
              },
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Payment session ID"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Updates a payment session. Delegates to the payment gateway to sync changes with the provider."
        },
        {
          "info": {
            "name": "Complete payment session",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "http://{defaultHost}/api/v3/store/carts/:cart_id/payment_sessions/:id/complete",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "x-spree-token",
                "value": ""
              },
              {
                "name": "Idempotency-Key",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "cart_id",
                "value": "",
                "type": "path",
                "description": "Cart prefixed ID"
              },
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Payment session ID"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Completes a payment session by confirming the payment with the provider. This triggers payment capture/authorization and order completion."
        },
        {
          "info": {
            "name": "Create payment",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://{defaultHost}/api/v3/store/carts/:cart_id/payments",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "x-spree-token",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "cart_id",
                "value": "",
                "type": "path",
                "description": "Cart prefixed ID"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Creates a payment for a non-session payment method (e.g. Check, Cash on Delivery, Bank Transfer). For payment methods that require a session (e.g. Stripe, PayPal), use the payment sessions endpoint instead."
        },
        {
          "info": {
            "name": "Apply store credit",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://{defaultHost}/api/v3/store/carts/:cart_id/store_credits",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "x-spree-token",
                "value": ""
              },
              {
                "name": "Idempotency-Key",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "cart_id",
                "value": "",
                "type": "path",
                "description": "Cart prefixed ID (e.g., cart_abc123)"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Applies store credit to the cart during checkout."
        },
        {
          "info": {
            "name": "Remove store credit",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "http://{defaultHost}/api/v3/store/carts/:cart_id/store_credits",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "x-spree-token",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "cart_id",
                "value": "",
                "type": "path",
                "description": "Cart prefixed ID"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Removes store credit from the cart."
        }
      ]
    },
    {
      "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"
        }
      ]
    },
    {
      "info": {
        "name": "Markets",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List countries",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/countries",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              }
            ],
            "params": [
              {
                "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 countries available in the store. Use ?expand=market to include market details (currency, locale, tax_inclusive)."
        },
        {
          "info": {
            "name": "Get a country",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/countries/:iso",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "iso",
                "value": "",
                "type": "path",
                "description": "Country ISO 3166-1 alpha-2 code (e.g., \"US\", \"DE\")"
              },
              {
                "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 country by ISO code. Supports ?expand=states for address forms and ?expand=market for market details."
        },
        {
          "info": {
            "name": "List supported currencies",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/currencies",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              }
            ],
            "params": [
              {
                "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 currencies supported by the store (derived from markets)"
        },
        {
          "info": {
            "name": "List supported locales",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/locales",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              }
            ],
            "params": [
              {
                "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 locales supported by the store (derived from markets)"
        },
        {
          "info": {
            "name": "List markets",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/markets",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              }
            ],
            "params": [
              {
                "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 all markets for the current store with their countries, currency, locales, and tax configuration."
        },
        {
          "info": {
            "name": "Get a market",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/markets/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Market prefixed ID (e.g., \"mkt_k5nR8xLq\")"
              },
              {
                "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 market by prefixed ID with its countries, currency, locales, and tax configuration."
        },
        {
          "info": {
            "name": "Resolve market by country",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/markets/resolve",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "country",
                "value": "",
                "type": "query",
                "description": "Country ISO 3166-1 alpha-2 code (e.g., \"DE\", \"US\")"
              },
              {
                "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": "Determine which market applies for a given country ISO code. Useful for auto-selecting the correct currency and locale when a customer's location is known."
        },
        {
          "info": {
            "name": "List countries in a market",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/markets/:market_id/countries",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "market_id",
                "value": "",
                "type": "path",
                "description": "Market prefixed ID"
              },
              {
                "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 countries belonging to a specific market. Use this for address form country dropdowns during checkout."
        },
        {
          "info": {
            "name": "Get a country in a market",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/markets/:market_id/countries/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "market_id",
                "value": "",
                "type": "path",
                "description": "Market prefixed ID"
              },
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Country ISO 3166-1 alpha-2 code (e.g., \"DE\")"
              },
              {
                "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 country by ISO code within a market. Supports ?expand=states for address forms."
        }
      ]
    },
    {
      "info": {
        "name": "Digitals",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Download a digital product",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/digitals/:token",
            "params": [
              {
                "name": "token",
                "value": "",
                "type": "path",
                "description": "Digital link token"
              }
            ]
          },
          "docs": "Downloads a digital product file using the digital link token.\nThe token is provided via the `download_url` field on digital links\nreturned with order line items. No API key or authentication required —\nthe token itself grants access.\nEach download increments the access counter. Downloads may be limited by\nstore settings (number of downloads and/or time-based expiration).\n"
        }
      ]
    },
    {
      "info": {
        "name": "Newsletter Subscribers",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Subscribe to the newsletter",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://{defaultHost}/api/v3/store/newsletter_subscribers",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Subscribes an email address to the newsletter for the current store.\n\nBehavior:\n\n- If the email is already verified for this store, the existing subscription is returned unchanged.\n- If the request is unauthenticated (guest), the subscription is created in an unverified state\n  and two events are published: `newsletter_subscriber.subscription_requested` (carrying the\n  `verification_token` and the validated `redirect_url`, intended for headless storefronts that\n  want to send the confirmation em"
        },
        {
          "info": {
            "name": "Verify a newsletter subscription",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://{defaultHost}/api/v3/store/newsletter_subscribers/verify",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Confirms a pending newsletter subscription using the verification token sent by email.\n\nAfter successful verification:\n- The subscriber record is marked verified.\n- If the subscription is associated with a customer, that customer's `accepts_email_marketing`\n  flag is set to `true`.\n"
        }
      ]
    },
    {
      "info": {
        "name": "Orders",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get an order",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/orders/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "x-spree-token",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Order prefixed ID"
              },
              {
                "name": "expand",
                "value": "",
                "type": "query",
                "description": "Comma-separated associations to expand (items, fulfillments, payments, discounts, billing_address, shipping_address, gift_card). Use \"none\" to skip associations."
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of fields to include (e.g., total,amount_due,item_count). id is always included."
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Returns a single completed order by prefixed ID. Accessible via JWT (authenticated users) or order token header (guests)."
        }
      ]
    },
    {
      "info": {
        "name": "Policies",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List store policies",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/policies",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of fields to include (e.g., name,slug). id is always included."
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Returns all policies for the current store (e.g., return policy, privacy policy, terms of service).\nPolicies are managed in Spree Admin and contain rich text content.\n"
        },
        {
          "info": {
            "name": "Get a policy",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/policies/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Policy slug (e.g., return-policy) or prefixed ID (e.g., pol_abc123)"
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of fields to include. id is always included."
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Returns a single policy by slug or prefixed ID. Includes the full rich text body."
        }
      ]
    },
    {
      "info": {
        "name": "Wishlists",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List wishlists",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/wishlists",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "page",
                "value": "",
                "type": "query"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query"
              },
              {
                "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 all wishlists for the authenticated customer"
        },
        {
          "info": {
            "name": "Create a wishlist",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://{defaultHost}/api/v3/store/wishlists",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Creates a new wishlist for the customer"
        },
        {
          "info": {
            "name": "Get a wishlist",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://{defaultHost}/api/v3/store/wishlists/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              },
              {
                "name": "expand",
                "value": "",
                "type": "query",
                "description": "Expand wished_items"
              },
              {
                "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": "Get a wishlist"
        },
        {
          "info": {
            "name": "Update a wishlist",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "http://{defaultHost}/api/v3/store/wishlists/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Update a wishlist"
        },
        {
          "info": {
            "name": "Delete a wishlist",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "http://{defaultHost}/api/v3/store/wishlists/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Delete a wishlist"
        },
        {
          "info": {
            "name": "Add item to wishlist",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://{defaultHost}/api/v3/store/wishlists/:wishlist_id/items",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "wishlist_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Adds a variant to the wishlist"
        },
        {
          "info": {
            "name": "Remove item from wishlist",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "http://{defaultHost}/api/v3/store/wishlists/:wishlist_id/items/:id",
            "headers": [
              {
                "name": "x-spree-api-key",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "wishlist_id",
                "value": "",
                "type": "path"
              },
              {
                "name": "id",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "x-spree-api-key",
              "value": "{{x-spree-api-key}}",
              "placement": "header"
            }
          },
          "docs": "Remove item from wishlist"
        }
      ]
    }
  ],
  "bundled": true
}