Documentation Index
Fetch the complete documentation index at: https://spreecommerce.org/docs/llms.txt
Use this file to discover all available pages before exploring further.
Spree APIs allow you to fetch multiple associated resources in one API call, both for singular resources and collections, eg. we can fetch a Product with all of its variants and images:
curl --request GET \
--url 'https://demo.spreecommerce.org/api/v2/storefront/products/classic-varsity-top?include=variants%252Cimages' \
--header 'Accept: application/vnd.api+json'
This will return a JSON response with data[relationships] node (links to what resources connects to which) and included node (images and variants JSON responses).
This way you can easily control what resources you want to include in the response and
avoid making multiple API calls.
Nested resources
You can also nest resources, eg. fetching Product Variants with their Option Values:
curl --request GET \
--url 'https://demo.spreecommerce.org/api/v2/storefront/products/classic-varsity-top?include=variants.option_values' \
--header 'Accept: application/vnd.api+json'
As you probably noticed the JSON response can sometimes be quite big and hard to follow. To ease working with included resources we recommend checking out one of the open-source libraries that can help deserialize responses.