Shopify Developer Reference
Comprehensive reference for professional Shopify development - API version 2026-01.
Quick Reference
| Item |
Value |
| API version |
2026-01 (stable) |
| GraphQL Admin |
POST https://{store}.myshopify.com/admin/api/2026-01/graphql.json |
| Storefront API |
POST https://{store}.myshopify.com/api/2026-01/graphql.json |
| Ajax API (theme) |
/cart.js, /cart/add.js, /cart/change.js |
| CLI install |
npm install -g @shopify/cli |
| Theme dev |
shopify theme dev --store {store}.myshopify.com |
| App dev |
shopify app dev |
| Deploy |
shopify app deploy |
| Docs |
shopify.dev |
Choose Your Path
Read the reference file(s) that match your task:
Liquid templating - writing or debugging .liquid files:
- references/liquid-syntax.md - Tags, control flow, iteration, whitespace, LiquidDoc
- references/liquid-filters.md - All filter categories with examples
- references/liquid-objects.md - Product, collection, cart, customer, and global objects
Theme development - building or customising themes:
- references/theme-development.md - OS 2.0 architecture, sections, blocks, JSON templates, settings schema
API integration - fetching or modifying data programmatically:
- references/api-admin.md - GraphQL Admin API (primary), REST (legacy), OAuth, webhooks, rate limiting
- references/api-storefront.md - Storefront API, Ajax API, cart operations
App development - building Shopify apps:
- references/app-development.md - Shopify CLI, extensions, Polaris Web Components, App Bridge
Serverless logic - custom business rules:
- references/functions.md - Shopify Functions (replacing Scripts), Rust/JS targets, deployment
Headless commerce - custom storefronts:
- references/hydrogen.md - Hydrogen framework, React Router 7, Storefront API integration
Optimisation and troubleshooting:
- references/performance.md - Images, JS, CSS, fonts, Liquid, Core Web Vitals
- references/debugging.md - Liquid errors, API errors, cart issues, webhook failures
Deprecation Notices
| Deprecated |
Replacement |
Deadline |
| Shopify Scripts |
Shopify Functions |
August 2025 (migration), sundown TBD |
| checkout.liquid |
Checkout Extensibility |
August 2024 (Plus), done |
| REST Admin API |
GraphQL Admin API |
Active deprecation (no removal date yet) |
| Legacy custom apps |
New auth model |
January 2025 (done) |
| Polaris React |
Polaris Web Components |
Active migration |
| Remix (app framework) |
React Router 7 |
Hydrogen 2025.5.0+ |
Liquid Essentials
Three syntax types:
{{ product.title | upcase }} {# Output with filter #}
{% if product.available %}In stock{% endif %} {# Logic tag #}
{% assign sale = product.price | times: 0.8 %} {# Assignment #}
{%- if condition -%}Stripped whitespace{%- endif -%}
Key patterns:
{% for product in collection.products limit: 5 %}
{% render 'product-card', product: product %}
{% endfor %}
{% paginate collection.products by 12 %}
{% for product in paginate.collection.products %}...{% endfor %}
{{ paginate | default_pagination }}
{% endpaginate %}
API Essentials
// GraphQL Admin - always use GraphQL over REST
const response = await fetch(`https://${store}.myshopify.com/admin/api/2026-01/graphql.json`, {
method: 'POST',
headers: {
'X-Shopify-Access-Token': accessToken,
'Content-Type': 'application/json',
},
body: JSON.stringify({ query, variables }),
})
const { data, errors } = await response.json()
if (errors) throw new Error(errors[0].message)
// Ajax API (theme-only cart operations)
fetch('/cart/add.js', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ id: variantId, quantity: 1 }),
})
Reference Files
| File |
Lines |
Coverage |
| liquid-syntax.md |
~600 |
Tags, control flow, iteration, variables, whitespace, LiquidDoc |
| liquid-filters.md |
~870 |
String, numeric, array, Shopify-specific, date, URL, colour filters |
| liquid-objects.md |
~695 |
All Shopify objects: product, variant, collection, cart, customer, order, etc. |
| theme-development.md |
~1200 |
File structure, JSON templates, sections, blocks, settings schema, layout |
| api-admin.md |
~595 |
GraphQL queries/mutations, REST (legacy), OAuth, webhooks, rate limiting |
| api-storefront.md |
~235 |
Storefront API, Ajax API, cart operations, Customer Account API |
| app-development.md |
~760 |
CLI, app architecture, extensions, Polaris Web Components, deployment |
| functions.md |
~300 |
Function types, Rust/JS targets, CLI workflow, Scripts migration |
| hydrogen.md |
~375 |
Setup, routing, data loading, Storefront API, deployment |
| performance.md |
~605 |
Images, JS, CSS, fonts, Liquid, third-party scripts, Core Web Vitals |
| debugging.md |
~650 |
Liquid, JavaScript, API, cart, webhook, theme editor troubleshooting |
1---2name: shopify-developer3description: Shopify Developer Reference4---5# Shopify Developer Reference67Comprehensive reference for professional Shopify development - API version **2026-01**.89## Quick Reference1011| Item | Value |12| ---------------- | ------------------------------------------------------------------- |13| API version | `2026-01` (stable) |14| GraphQL Admin | `POST https://{store}.myshopify.com/admin/api/2026-01/graphql.json` |15| Storefront API | `POST https://{store}.myshopify.com/api/2026-01/graphql.json` |16| Ajax API (theme) | `/cart.js`, `/cart/add.js`, `/cart/change.js` |17| CLI install | `npm install -g @shopify/cli` |18| Theme dev | `shopify theme dev --store {store}.myshopify.com` |19| App dev | `shopify app dev` |20| Deploy | `shopify app deploy` |21| Docs | [shopify.dev](https://shopify.dev) |2223## Choose Your Path2425Read the reference file(s) that match your task:2627**Liquid templating** - writing or debugging `.liquid` files:2829- [references/liquid-syntax.md](references/liquid-syntax.md) - Tags, control flow, iteration, whitespace, LiquidDoc30- [references/liquid-filters.md](references/liquid-filters.md) - All filter categories with examples31- [references/liquid-objects.md](references/liquid-objects.md) - Product, collection, cart, customer, and global objects3233**Theme development** - building or customising themes:3435- [references/theme-development.md](references/theme-development.md) - OS 2.0 architecture, sections, blocks, JSON templates, settings schema3637**API integration** - fetching or modifying data programmatically:3839- [references/api-admin.md](references/api-admin.md) - GraphQL Admin API (primary), REST (legacy), OAuth, webhooks, rate limiting40- [references/api-storefront.md](references/api-storefront.md) - Storefront API, Ajax API, cart operations4142**App development** - building Shopify apps:4344- [references/app-development.md](references/app-development.md) - Shopify CLI, extensions, Polaris Web Components, App Bridge4546**Serverless logic** - custom business rules:4748- [references/functions.md](references/functions.md) - Shopify Functions (replacing Scripts), Rust/JS targets, deployment4950**Headless commerce** - custom storefronts:5152- [references/hydrogen.md](references/hydrogen.md) - Hydrogen framework, React Router 7, Storefront API integration5354**Optimisation and troubleshooting**:5556- [references/performance.md](references/performance.md) - Images, JS, CSS, fonts, Liquid, Core Web Vitals57- [references/debugging.md](references/debugging.md) - Liquid errors, API errors, cart issues, webhook failures5859## Deprecation Notices6061| Deprecated | Replacement | Deadline |62| --------------------- | ---------------------- | ---------------------------------------- |63| Shopify Scripts | Shopify Functions | August 2025 (migration), sundown TBD |64| checkout.liquid | Checkout Extensibility | August 2024 (Plus), done |65| REST Admin API | GraphQL Admin API | Active deprecation (no removal date yet) |66| Legacy custom apps | New auth model | January 2025 (done) |67| Polaris React | Polaris Web Components | Active migration |68| Remix (app framework) | React Router 7 | Hydrogen 2025.5.0+ |6970## Liquid Essentials7172Three syntax types:7374```liquid75{{ product.title | upcase }} {# Output with filter #}76{% if product.available %}In stock{% endif %} {# Logic tag #}77{% assign sale = product.price | times: 0.8 %} {# Assignment #}78{%- if condition -%}Stripped whitespace{%- endif -%}79```8081Key patterns:8283```liquid84{% for product in collection.products limit: 5 %}85 {% render 'product-card', product: product %}86{% endfor %}8788{% paginate collection.products by 12 %}89 {% for product in paginate.collection.products %}...{% endfor %}90 {{ paginate | default_pagination }}91{% endpaginate %}92```9394## API Essentials9596```javascript97// GraphQL Admin - always use GraphQL over REST98const response = await fetch(`https://${store}.myshopify.com/admin/api/2026-01/graphql.json`, {99 method: 'POST',100 headers: {101 'X-Shopify-Access-Token': accessToken,102 'Content-Type': 'application/json',103 },104 body: JSON.stringify({ query, variables }),105})106const { data, errors } = await response.json()107if (errors) throw new Error(errors[0].message)108109// Ajax API (theme-only cart operations)110fetch('/cart/add.js', {111 method: 'POST',112 headers: { 'Content-Type': 'application/json' },113 body: JSON.stringify({ id: variantId, quantity: 1 }),114})115```116117## Reference Files118119| File | Lines | Coverage |120| ------------------------------------------------------- | ----- | ------------------------------------------------------------------------------ |121| [liquid-syntax.md](references/liquid-syntax.md) | ~600 | Tags, control flow, iteration, variables, whitespace, LiquidDoc |122| [liquid-filters.md](references/liquid-filters.md) | ~870 | String, numeric, array, Shopify-specific, date, URL, colour filters |123| [liquid-objects.md](references/liquid-objects.md) | ~695 | All Shopify objects: product, variant, collection, cart, customer, order, etc. |124| [theme-development.md](references/theme-development.md) | ~1200 | File structure, JSON templates, sections, blocks, settings schema, layout |125| [api-admin.md](references/api-admin.md) | ~595 | GraphQL queries/mutations, REST (legacy), OAuth, webhooks, rate limiting |126| [api-storefront.md](references/api-storefront.md) | ~235 | Storefront API, Ajax API, cart operations, Customer Account API |127| [app-development.md](references/app-development.md) | ~760 | CLI, app architecture, extensions, Polaris Web Components, deployment |128| [functions.md](references/functions.md) | ~300 | Function types, Rust/JS targets, CLI workflow, Scripts migration |129| [hydrogen.md](references/hydrogen.md) | ~375 | Setup, routing, data loading, Storefront API, deployment |130| [performance.md](references/performance.md) | ~605 | Images, JS, CSS, fonts, Liquid, third-party scripts, Core Web Vitals |131| [debugging.md](references/debugging.md) | ~650 | Liquid, JavaScript, API, cart, webhook, theme editor troubleshooting |