@spree/docs 0.1.248 → 0.1.249

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/api-reference/admin-api/authentication.md +34 -14
  2. package/dist/api-reference/admin-api/endpoints.md +366 -14
  3. package/dist/api-reference/admin-api/errors.md +2 -2
  4. package/dist/api-reference/admin-api/introduction.md +3 -3
  5. package/dist/api-reference/admin-api/querying.md +6 -6
  6. package/dist/api-reference/store-api/monetary-amounts.md +5 -5
  7. package/dist/api-reference/webhooks-events.md +330 -335
  8. package/dist/developer/agentic/agent-skills.md +5 -2
  9. package/dist/developer/agentic/llm-docs.md +2 -1
  10. package/dist/developer/cli/admin-api.md +1 -1
  11. package/dist/developer/cli/quickstart.md +2 -2
  12. package/dist/developer/contributing/creating-an-extension.md +292 -146
  13. package/dist/developer/contributing/developing-spree.md +13 -17
  14. package/dist/developer/core-concepts/catalogs.md +2 -2
  15. package/dist/developer/core-concepts/channels.md +3 -3
  16. package/dist/developer/core-concepts/companies.md +2 -1
  17. package/dist/developer/core-concepts/delivery-setup.md +2 -2
  18. package/dist/developer/core-concepts/discounts.md +3 -3
  19. package/dist/developer/core-concepts/events.md +6 -5
  20. package/dist/developer/core-concepts/freight.md +3 -2
  21. package/dist/developer/core-concepts/fulfillments.md +10 -8
  22. package/dist/developer/core-concepts/imports-exports.md +11 -8
  23. package/dist/developer/core-concepts/inventory.md +2 -2
  24. package/dist/developer/core-concepts/media.md +14 -14
  25. package/dist/developer/core-concepts/orders.md +2 -2
  26. package/dist/developer/core-concepts/payments.md +1 -2
  27. package/dist/developer/core-concepts/products.md +6 -6
  28. package/dist/developer/core-concepts/reporting.md +4 -3
  29. package/dist/developer/core-concepts/returns-exchanges-claims.md +7 -7
  30. package/dist/developer/core-concepts/search-filtering.md +3 -3
  31. package/dist/developer/core-concepts/sellers.md +3 -3
  32. package/dist/developer/core-concepts/staff-roles.md +4 -2
  33. package/dist/developer/core-concepts/store-credits-gift-cards.md +1 -1
  34. package/dist/developer/core-concepts/stores.md +2 -2
  35. package/dist/developer/core-concepts/translations.md +12 -8
  36. package/dist/developer/core-concepts/webhooks.md +19 -18
  37. package/dist/developer/create-spree-app/quickstart.md +2 -7
  38. package/dist/developer/customization/api.md +1 -1
  39. package/dist/developer/customization/checkout.md +2 -2
  40. package/dist/developer/customization/dependencies.md +53 -37
  41. package/dist/developer/customization/permissions.md +2 -2
  42. package/dist/developer/dashboard/concepts.md +1 -1
  43. package/dist/developer/dashboard/customization/navigation.md +3 -2
  44. package/dist/developer/dashboard/customization/permissions.md +6 -6
  45. package/dist/developer/dashboard/plugins/publishing.md +4 -4
  46. package/dist/developer/dashboard/plugins/scaffolding.md +1 -1
  47. package/dist/developer/dashboard/public-api.md +1 -1
  48. package/dist/developer/dashboard/recipes/attribute-end-to-end.md +3 -18
  49. package/dist/developer/deployment/aws.md +1 -1
  50. package/dist/developer/deployment/aws_ecs.md +3 -3
  51. package/dist/developer/deployment/background_jobs.md +9 -3
  52. package/dist/developer/deployment/docker.md +1 -2
  53. package/dist/developer/deployment/emails.md +3 -1
  54. package/dist/developer/deployment/environment_variables.md +2 -2
  55. package/dist/developer/deployment/render.md +2 -2
  56. package/dist/developer/how-to/build-a-marketplace.md +2 -2
  57. package/dist/developer/how-to/custom-api-authentication.md +1 -1
  58. package/dist/developer/how-to/custom-delivery-rate-provider.md +11 -3
  59. package/dist/developer/how-to/custom-document-numbers.md +1 -1
  60. package/dist/developer/how-to/custom-order-routing.md +15 -14
  61. package/dist/developer/how-to/custom-payment-method.md +17 -19
  62. package/dist/developer/how-to/custom-promotion.md +4 -4
  63. package/dist/developer/how-to/custom-search-provider.md +12 -5
  64. package/dist/developer/how-to/custom-stock-splitter.md +25 -24
  65. package/dist/developer/how-to/sell-digital-products.md +1 -1
  66. package/dist/developer/multi-tenant/quickstart.md +2 -2
  67. package/dist/developer/providers/payouts.md +6 -2
  68. package/dist/developer/sdk/admin/querying-and-errors.md +1 -1
  69. package/dist/developer/sdk/admin/quickstart.md +4 -4
  70. package/dist/developer/sdk/authentication.md +5 -2
  71. package/dist/developer/sdk/store/cart-checkout.md +4 -4
  72. package/dist/developer/storefront/nextjs/emails.md +4 -2
  73. package/dist/developer/storefront/nextjs/testing.md +1 -1
  74. package/dist/developer/upgrades/5.6-to-6.0.md +51 -20
  75. package/dist/integrations/search/meilisearch.md +4 -4
  76. package/package.json +1 -1
@@ -6,7 +6,7 @@ description: "Every Spree Admin API v3 endpoint at a glance — method, path, re
6
6
 
7
7
  {/* Generated from docs/api-reference/admin.yaml by packages/cli/scripts/generate-endpoints-doc.mjs — do not edit by hand. */}
8
8
 
9
- All 209 Admin API operations, with the [scope](authentication.md) a secret API key needs for each. JWT-authenticated admin users are governed by their roles instead of scopes. The same index is available offline via the CLI: `spree api endpoints`.
9
+ All 404 Admin API operations, with the [scope](authentication.md) a secret API key needs for each. JWT-authenticated admin users are governed by their roles instead of scopes. The same index is available offline via the CLI: `spree api endpoints`.
10
10
 
11
11
  Endpoints marked — are exempt from scope checks (authentication and session endpoints) or resolve their scope at request time.
12
12
 
@@ -14,10 +14,10 @@ Endpoints marked — are exempt from scope checks (authentication and session en
14
14
 
15
15
  | Method | Path | Required scope | Summary |
16
16
  |---|---|---|---|
17
- | `GET` | `/admin_users` | `read_settings` | List staff |
18
- | `GET` | `/admin_users/{id}` | `read_settings` | Show a staff member |
19
- | `PATCH` | `/admin_users/{id}` | `write_settings` | Update a staff member |
20
- | `DELETE` | `/admin_users/{id}` | `write_settings` | Remove a staff member from this store |
17
+ | `GET` | `/admin_users` | `read_staff` | List staff |
18
+ | `GET` | `/admin_users/{id}` | `read_staff` | Show a staff member |
19
+ | `PATCH` | `/admin_users/{id}` | `write_staff` | Update a staff member |
20
+ | `DELETE` | `/admin_users/{id}` | `write_staff` | Remove a staff member from this store |
21
21
 
22
22
  ## Allowed origins
23
23
 
@@ -48,6 +48,29 @@ Endpoints marked — are exempt from scope checks (authentication and session en
48
48
  | `POST` | `/auth/login` | — | Login |
49
49
  | `POST` | `/auth/refresh` | — | Refresh token |
50
50
  | `POST` | `/auth/logout` | — | Logout |
51
+ | `POST` | `/auth/password_resets` | — | Request password reset |
52
+ | `PATCH` | `/auth/password_resets/{id}` | — | Reset password |
53
+ | `GET` | `/auth/setup` | — | Check first-run setup availability |
54
+ | `POST` | `/auth/setup` | — | Complete first-run setup |
55
+ | `GET` | `/auth/setup/countries` | — | List countries for first-run setup |
56
+
57
+ ## Catalogs
58
+
59
+ | Method | Path | Required scope | Summary |
60
+ |---|---|---|---|
61
+ | `GET` | `/catalogs` | `read_products` | List catalogs |
62
+ | `POST` | `/catalogs` | `write_products` | Create a catalog |
63
+ | `POST` | `/catalogs/{id}/assign` | `write_products` | Assign a catalog to an audience |
64
+ | `GET` | `/catalogs/{catalog_id}/products` | `read_products` | List catalog products |
65
+ | `POST` | `/catalogs/{catalog_id}/products` | `write_products` | Add products to a catalog |
66
+ | `DELETE` | `/catalogs/{catalog_id}/products` | `write_products` | Remove products from a catalog |
67
+ | `GET` | `/catalogs/{catalog_id}/order_minimums` | `read_products` | List catalog order minimums |
68
+ | `POST` | `/catalogs/{catalog_id}/order_minimums` | `write_products` | Create a catalog order minimum |
69
+ | `PATCH` | `/catalogs/{catalog_id}/order_minimums/{id}` | `write_products` | Update a catalog order minimum |
70
+ | `DELETE` | `/catalogs/{catalog_id}/order_minimums/{id}` | `write_products` | Delete a catalog order minimum |
71
+ | `PUT` | `/catalogs/{catalog_id}/quantity_rules` | `write_products` | Set catalog quantity rules |
72
+ | `PATCH` | `/catalogs/{id}/activate` | `write_products` | Activate a catalog |
73
+ | `PATCH` | `/catalogs/{id}/deactivate` | `write_products` | Deactivate a catalog |
51
74
 
52
75
  ## Categories
53
76
 
@@ -60,7 +83,8 @@ Endpoints marked — are exempt from scope checks (authentication and session en
60
83
  | `DELETE` | `/categories/{id}` | `write_categories` | Delete a category |
61
84
  | `PATCH` | `/categories/{id}/reposition` | `write_categories` | Reposition a category |
62
85
  | `GET` | `/categories/{category_id}/products` | `read_categories` | List category products |
63
- | `POST` | `/categories/{category_id}/products` | `write_categories` | Add a product to a category |
86
+ | `POST` | `/categories/{category_id}/products` | `write_categories` | Add products to a category |
87
+ | `DELETE` | `/categories/{category_id}/products` | `write_categories` | Remove products from a category |
64
88
  | `PATCH` | `/categories/{category_id}/products/{id}/reposition` | `write_categories` | Reposition a category product |
65
89
 
66
90
  ## Channels
@@ -74,6 +98,75 @@ Endpoints marked — are exempt from scope checks (authentication and session en
74
98
  | `DELETE` | `/channels/{id}` | `write_settings` | Delete a channel |
75
99
  | `POST` | `/channels/{id}/add_products` | `write_products` | Publish products on a channel |
76
100
  | `POST` | `/channels/{id}/remove_products` | `write_products` | Unpublish products from a channel |
101
+ | `GET` | `/channels/{channel_id}/order_routing_rules` | `read_settings` | List order routing rules for a channel |
102
+ | `POST` | `/channels/{channel_id}/order_routing_rules` | `write_settings` | Create an order routing rule on a channel |
103
+ | `PATCH` | `/channels/{channel_id}/order_routing_rules/{id}` | `write_settings` | Update an order routing rule |
104
+ | `DELETE` | `/channels/{channel_id}/order_routing_rules/{id}` | `write_settings` | Delete an order routing rule |
105
+
106
+ ## Claim reasons
107
+
108
+ | Method | Path | Required scope | Summary |
109
+ |---|---|---|---|
110
+ | `GET` | `/claim_reasons` | `read_settings` | List claim reasons |
111
+ | `POST` | `/claim_reasons` | `write_settings` | Create a claim reason |
112
+ | `GET` | `/claim_reasons/{id}` | `read_settings` | Get a claim reason |
113
+ | `PATCH` | `/claim_reasons/{id}` | `write_settings` | Update a claim reason |
114
+ | `DELETE` | `/claim_reasons/{id}` | `write_settings` | Delete a claim reason |
115
+
116
+ ## Collection rules
117
+
118
+ | Method | Path | Required scope | Summary |
119
+ |---|---|---|---|
120
+ | `GET` | `/collection_rules/types` | `read_collections` | List available collection rule types |
121
+
122
+ ## Collections
123
+
124
+ | Method | Path | Required scope | Summary |
125
+ |---|---|---|---|
126
+ | `GET` | `/collections` | `read_collections` | List collections |
127
+ | `POST` | `/collections` | `write_collections` | Create a collection |
128
+ | `GET` | `/collections/{id}` | `read_collections` | Get a collection |
129
+ | `PATCH` | `/collections/{id}` | `write_collections` | Update a collection |
130
+ | `DELETE` | `/collections/{id}` | `write_collections` | Delete a collection |
131
+ | `GET` | `/collections/{collection_id}/products` | `read_collections` | List collection products |
132
+ | `POST` | `/collections/{collection_id}/products` | `write_collections` | Add products to a collection |
133
+ | `DELETE` | `/collections/{collection_id}/products` | `write_collections` | Remove products from a collection |
134
+ | `PATCH` | `/collections/{collection_id}/products/{id}/reposition` | `write_collections` | Reposition a collection product |
135
+
136
+ ## Commission lines
137
+
138
+ | Method | Path | Required scope | Summary |
139
+ |---|---|---|---|
140
+ | `GET` | `/commission_lines` | `read_commissions` | List commission lines |
141
+ | `GET` | `/commission_lines/{id}` | `read_commissions` | Get a commission line |
142
+
143
+ ## Commission rates
144
+
145
+ | Method | Path | Required scope | Summary |
146
+ |---|---|---|---|
147
+ | `GET` | `/commission_rates` | `read_commissions` | List commission rates |
148
+ | `POST` | `/commission_rates` | `write_commissions` | Create a commission rate |
149
+ | `GET` | `/commission_rates/rule_types` | `read_commissions` | List the commission rule kinds |
150
+ | `GET` | `/commission_rates/{id}` | `read_commissions` | Get a commission rate |
151
+ | `PATCH` | `/commission_rates/{id}` | `write_commissions` | Update a commission rate |
152
+ | `DELETE` | `/commission_rates/{id}` | `write_commissions` | Delete a commission rate |
153
+
154
+ ## Companies
155
+
156
+ | Method | Path | Required scope | Summary |
157
+ |---|---|---|---|
158
+ | `GET` | `/companies/{company_id}/memberships` | `read_customers` | List company members |
159
+ | `POST` | `/companies/{company_id}/memberships` | `write_customers` | Add a member by email |
160
+ | `GET` | `/companies/{company_id}/tax_exemption_certificates` | `read_customers` | List tax exemption certificates |
161
+ | `POST` | `/companies/{company_id}/tax_exemption_certificates` | `write_customers` | Create a tax exemption certificate |
162
+ | `PATCH` | `/companies/{company_id}/tax_exemption_certificates/{id}/verify` | `write_customers` | Verify a tax exemption certificate |
163
+ | `PATCH` | `/companies/{company_id}/tax_exemption_certificates/{id}/revoke` | `write_customers` | Revoke a tax exemption certificate |
164
+ | `GET` | `/companies/{company_id}/tax_exemption_certificates/{id}/download` | `read_customers` | Download a certificate document |
165
+ | `GET` | `/companies/{company_id}/tax_identifiers` | `read_customers` | List company tax registrations |
166
+ | `POST` | `/companies/{company_id}/tax_identifiers` | `write_customers` | Create a company tax registration |
167
+ | `POST` | `/companies/{company_id}/tax_identifiers/{id}/validate` | `write_customers` | Re-check a company tax registration |
168
+ | `GET` | `/companies` | `read_customers` | List companies |
169
+ | `POST` | `/companies` | `write_customers` | Create a company |
77
170
 
78
171
  ## Custom field definitions
79
172
 
@@ -84,6 +177,7 @@ Endpoints marked — are exempt from scope checks (authentication and session en
84
177
  | `GET` | `/custom_field_definitions/{id}` | `read_settings` | Show a custom field definition |
85
178
  | `PATCH` | `/custom_field_definitions/{id}` | `write_settings` | Update a custom field definition |
86
179
  | `DELETE` | `/custom_field_definitions/{id}` | `write_settings` | Delete a custom field definition |
180
+ | `GET` | `/custom_field_definitions/resource_types` | `read_settings` | List what custom fields can be attached to |
87
181
 
88
182
  ## Customer groups
89
183
 
@@ -99,6 +193,8 @@ Endpoints marked — are exempt from scope checks (authentication and session en
99
193
 
100
194
  | Method | Path | Required scope | Summary |
101
195
  |---|---|---|---|
196
+ | `GET` | `/customers/{id}/export` | `read_customers` | Export a customer's personal data |
197
+ | `POST` | `/customers/{id}/anonymize` | `write_customers` | Erase a customer's personal data |
102
198
  | `GET` | `/customers/{customer_id}/addresses` | `read_customers` | List customer addresses |
103
199
  | `POST` | `/customers/{customer_id}/addresses` | `write_customers` | Create a customer address |
104
200
  | `PATCH` | `/customers/{customer_id}/addresses/{id}` | `write_customers` | Update a customer address |
@@ -120,6 +216,30 @@ Endpoints marked — are exempt from scope checks (authentication and session en
120
216
  | `POST` | `/customers/bulk_add_tags` | `write_customers` | Bulk-add tags to customers |
121
217
  | `POST` | `/customers/bulk_remove_tags` | `write_customers` | Bulk-remove tags from customers |
122
218
 
219
+ ## Delivery methods
220
+
221
+ | Method | Path | Required scope | Summary |
222
+ |---|---|---|---|
223
+ | `GET` | `/delivery_methods` | `read_settings` | List delivery methods |
224
+ | `POST` | `/delivery_methods` | `write_settings` | Create delivery method |
225
+ | `GET` | `/delivery_methods/calculators` | `write_settings` | List delivery calculators |
226
+
227
+ ## Delivery profiles
228
+
229
+ | Method | Path | Required scope | Summary |
230
+ |---|---|---|---|
231
+ | `GET` | `/delivery_profiles` | `read_settings` | List delivery profiles |
232
+ | `POST` | `/delivery_profiles` | `write_settings` | Create a delivery profile |
233
+ | `POST` | `/delivery_profiles/{delivery_profile_id}/origin_groups` | `write_settings` | Create an origin group |
234
+ | `PATCH` | `/delivery_profiles/{id}` | `write_settings` | Update a delivery profile |
235
+ | `DELETE` | `/delivery_profiles/{id}` | `write_settings` | Delete a delivery profile |
236
+
237
+ ## Delivery zones
238
+
239
+ | Method | Path | Required scope | Summary |
240
+ |---|---|---|---|
241
+ | `POST` | `/delivery_zones` | `write_settings` | Create delivery zone |
242
+
123
243
  ## Exports
124
244
 
125
245
  | Method | Path | Required scope | Summary |
@@ -148,14 +268,38 @@ Endpoints marked — are exempt from scope checks (authentication and session en
148
268
  | `PATCH` | `/gift_cards/{id}` | `write_gift_cards` | Update a gift card |
149
269
  | `DELETE` | `/gift_cards/{id}` | `write_gift_cards` | Delete a gift card |
150
270
 
271
+ ## Imports
272
+
273
+ | Method | Path | Required scope | Summary |
274
+ |---|---|---|---|
275
+ | `GET` | `/imports` | *the write scope of the imported resource* | List imports |
276
+ | `POST` | `/imports` | *the write scope of the imported resource* | Create an import |
277
+ | `GET` | `/imports/template` | *the write scope of the imported resource* | Download an import template |
278
+ | `GET` | `/imports/example` | *the write scope of the imported resource* | Download an example import file |
279
+ | `GET` | `/imports/{id}` | *the write scope of the imported resource* | Show an import |
280
+ | `DELETE` | `/imports/{id}` | *the write scope of the imported resource* | Delete an import |
281
+ | `GET` | `/imports/{id}/download` | *the write scope of the imported resource* | Download the originally uploaded file |
282
+ | `PATCH` | `/imports/{id}/complete_mapping` | *the write scope of the imported resource* | Complete mapping and start processing |
283
+ | `PATCH` | `/imports/{id}/retry_failed_rows` | *the write scope of the imported resource* | Retry failed rows |
284
+ | `GET` | `/imports/{import_id}/rows` | *the write scope of the imported resource* | List import rows |
285
+
286
+ ## Integrations
287
+
288
+ | Method | Path | Required scope | Summary |
289
+ |---|---|---|---|
290
+ | `GET` | `/integrations` | `read_integrations` | List integrations |
291
+ | `POST` | `/integrations` | `write_integrations` | Connect integration |
292
+ | `GET` | `/integrations/types` | `read_integrations` | List integration types |
293
+ | `POST` | `/integrations/{id}/test` | `write_integrations` | Test integration connection |
294
+
151
295
  ## Invitations
152
296
 
153
297
  | Method | Path | Required scope | Summary |
154
298
  |---|---|---|---|
155
- | `GET` | `/invitations` | `read_settings` | List invitations |
156
- | `POST` | `/invitations` | `write_settings` | Create an invitation |
157
- | `DELETE` | `/invitations/{id}` | `write_settings` | Revoke an invitation |
158
- | `PATCH` | `/invitations/{id}/resend` | `write_settings` | Resend an invitation |
299
+ | `GET` | `/invitations` | `read_staff` | List invitations |
300
+ | `POST` | `/invitations` | `write_staff` | Create an invitation |
301
+ | `DELETE` | `/invitations/{id}` | `write_staff` | Revoke an invitation |
302
+ | `PATCH` | `/invitations/{id}/resend` | `write_staff` | Resend an invitation |
159
303
 
160
304
  ## Locales
161
305
 
@@ -180,6 +324,14 @@ Endpoints marked — are exempt from scope checks (authentication and session en
180
324
  | `GET` | `/me` | — | Get current admin user and permissions |
181
325
  | `PATCH` | `/me` | — | Update the current admin profile |
182
326
 
327
+ ## Media
328
+
329
+ | Method | Path | Required scope | Summary |
330
+ |---|---|---|---|
331
+ | `GET` | `/media` | `read_media` | List media |
332
+ | `POST` | `/media` | `write_media` | Upload a file to the library |
333
+ | `GET` | `/media/{id}/usage` | `read_media` | Where a file is used |
334
+
183
335
  ## Option types
184
336
 
185
337
  | Method | Path | Required scope | Summary |
@@ -190,6 +342,22 @@ Endpoints marked — are exempt from scope checks (authentication and session en
190
342
  | `PATCH` | `/option_types/{id}` | `write_products` | Update an option type |
191
343
  | `DELETE` | `/option_types/{id}` | `write_products` | Delete an option type |
192
344
 
345
+ ## Order cancellation reasons
346
+
347
+ | Method | Path | Required scope | Summary |
348
+ |---|---|---|---|
349
+ | `GET` | `/order_cancellation_reasons` | `read_settings` | List order cancellation reasons |
350
+ | `POST` | `/order_cancellation_reasons` | `write_settings` | Create a order cancellation reason |
351
+ | `GET` | `/order_cancellation_reasons/{id}` | `read_settings` | Get a order cancellation reason |
352
+ | `PATCH` | `/order_cancellation_reasons/{id}` | `write_settings` | Update a order cancellation reason |
353
+ | `DELETE` | `/order_cancellation_reasons/{id}` | `write_settings` | Delete a order cancellation reason |
354
+
355
+ ## Order routing rules
356
+
357
+ | Method | Path | Required scope | Summary |
358
+ |---|---|---|---|
359
+ | `GET` | `/order_routing_rules/types` | `read_settings` | List available order routing rule types |
360
+
193
361
  ## Orders
194
362
 
195
363
  | Method | Path | Required scope | Summary |
@@ -199,9 +367,13 @@ Endpoints marked — are exempt from scope checks (authentication and session en
199
367
  | `GET` | `/orders/{order_id}/fulfillments/{id}` | `read_fulfillments` | Show a shipment |
200
368
  | `PATCH` | `/orders/{order_id}/fulfillments/{id}` | `write_fulfillments` | Update a shipment |
201
369
  | `PATCH` | `/orders/{order_id}/fulfillments/{id}/fulfill` | `write_fulfillments` | Fulfill a fulfillment |
370
+ | `PATCH` | `/orders/{order_id}/fulfillments/{id}/mark_delivered` | `write_fulfillments` | Mark a fulfillment delivered |
202
371
  | `PATCH` | `/orders/{order_id}/fulfillments/{id}/cancel` | `write_fulfillments` | Cancel a fulfillment |
203
- | `PATCH` | `/orders/{order_id}/fulfillments/{id}/resume` | `write_fulfillments` | Resume a fulfillment |
204
372
  | `PATCH` | `/orders/{order_id}/fulfillments/{id}/split` | `write_fulfillments` | Split a fulfillment |
373
+ | `GET` | `/orders/{order_id}/tax_lines` | `read_orders` | List tax lines |
374
+ | `GET` | `/orders/{order_id}/discounts` | `read_orders` | List discounts |
375
+ | `POST` | `/orders/{order_id}/discounts` | `write_orders` | Create manual discount |
376
+ | `POST` | `/orders/{order_id}/fees` | `write_orders` | Create fee |
205
377
  | `POST` | `/orders/{order_id}/gift_cards` | `write_gift_cards` | Apply a gift card to an order |
206
378
  | `DELETE` | `/orders/{order_id}/gift_cards/{id}` | `write_gift_cards` | Remove a gift card from an order |
207
379
  | `GET` | `/orders/{order_id}/items` | `read_orders` | List order items |
@@ -219,7 +391,6 @@ Endpoints marked — are exempt from scope checks (authentication and session en
219
391
  | `PATCH` | `/orders/{id}/complete` | `write_orders` | Complete an order |
220
392
  | `PATCH` | `/orders/{id}/cancel` | `write_orders` | Cancel an order |
221
393
  | `PATCH` | `/orders/{id}/approve` | `write_orders` | Approve an order |
222
- | `PATCH` | `/orders/{id}/resume` | `write_orders` | Resume a canceled order |
223
394
  | `POST` | `/orders/{id}/resend_confirmation` | `write_orders` | Resend confirmation email |
224
395
  | `GET` | `/orders/{order_id}/payments` | `read_payments` | List payments |
225
396
  | `POST` | `/orders/{order_id}/payments` | `write_payments` | Create a payment |
@@ -228,6 +399,26 @@ Endpoints marked — are exempt from scope checks (authentication and session en
228
399
  | `PATCH` | `/orders/{order_id}/payments/{id}/void` | `write_payments` | Void a payment |
229
400
  | `GET` | `/orders/{order_id}/refunds` | `read_refunds` | List refunds |
230
401
  | `POST` | `/orders/{order_id}/refunds` | `write_refunds` | Create a refund |
402
+ | `GET` | `/orders/{order_id}/fulfillments/{fulfillment_id}/deliveries` | `read_fulfillments` | List deliveries |
403
+ | `POST` | `/orders/{order_id}/fulfillments/{fulfillment_id}/deliveries` | `write_fulfillments` | Record a delivery |
404
+ | `PATCH` | `/orders/{order_id}/fulfillments/{fulfillment_id}/deliveries/{id}` | `write_fulfillments` | Correct a delivery |
405
+ | `DELETE` | `/orders/{order_id}/fulfillments/{fulfillment_id}/deliveries/{id}` | `write_fulfillments` | Delete a delivery |
406
+ | `PATCH` | `/orders/{order_id}/fulfillments/{fulfillment_id}/deliveries/{id}/mark_delivered` | `write_fulfillments` | Mark a delivery delivered |
407
+ | `GET` | `/orders/{order_id}/fulfillments/{fulfillment_id}/labels` | `read_fulfillments` | List shipping labels |
408
+ | `POST` | `/orders/{order_id}/fulfillments/{fulfillment_id}/labels` | `write_fulfillments` | Buy or record a shipping label |
409
+ | `GET` | `/orders/{order_id}/fulfillments/{fulfillment_id}/labels/{id}` | `read_fulfillments` | Get a shipping label |
410
+ | `DELETE` | `/orders/{order_id}/fulfillments/{fulfillment_id}/labels/{id}` | `write_fulfillments` | Delete an uploaded label |
411
+ | `PATCH` | `/orders/{order_id}/fulfillments/{fulfillment_id}/labels/{id}/refund` | `write_fulfillments` | Refund a shipping label |
412
+
413
+ ## Package types
414
+
415
+ | Method | Path | Required scope | Summary |
416
+ |---|---|---|---|
417
+ | `GET` | `/package_types` | `read_package_types` | List package types |
418
+ | `POST` | `/package_types` | `write_package_types` | Create a package type |
419
+ | `GET` | `/package_types/{id}` | `read_package_types` | Get a package type |
420
+ | `PATCH` | `/package_types/{id}` | `write_package_types` | Update a package type |
421
+ | `DELETE` | `/package_types/{id}` | `write_package_types` | Delete a package type |
231
422
 
232
423
  ## Payment methods
233
424
 
@@ -237,6 +428,22 @@ Endpoints marked — are exempt from scope checks (authentication and session en
237
428
  | `GET` | `/payment_methods/types` | `read_settings` | List available payment provider types |
238
429
  | `GET` | `/payment_methods/{id}` | `read_settings` | Show a payment method |
239
430
 
431
+ ## Permissions
432
+
433
+ | Method | Path | Required scope | Summary |
434
+ |---|---|---|---|
435
+ | `GET` | `/permissions` | — | List the permission catalog |
436
+
437
+ ## Policies
438
+
439
+ | Method | Path | Required scope | Summary |
440
+ |---|---|---|---|
441
+ | `GET` | `/policies` | `read_settings` | List policies |
442
+ | `POST` | `/policies` | `write_settings` | Create a policy |
443
+ | `GET` | `/policies/{id}` | `read_settings` | Get a policy |
444
+ | `PATCH` | `/policies/{id}` | `write_settings` | Update a policy |
445
+ | `DELETE` | `/policies/{id}` | `write_settings` | Delete a policy |
446
+
240
447
  ## Price lists
241
448
 
242
449
  | Method | Path | Required scope | Summary |
@@ -248,6 +455,9 @@ Endpoints marked — are exempt from scope checks (authentication and session en
248
455
  | `DELETE` | `/price_lists/{id}` | `write_products` | Delete a price list |
249
456
  | `PATCH` | `/price_lists/{id}/activate` | `write_products` | Activate a price list |
250
457
  | `PATCH` | `/price_lists/{id}/deactivate` | `write_products` | Deactivate a price list |
458
+ | `GET` | `/price_lists/{price_list_id}/products` | `read_products` | List price list products |
459
+ | `POST` | `/price_lists/{price_list_id}/products` | `write_products` | Add products to a price list |
460
+ | `DELETE` | `/price_lists/{price_list_id}/products` | `write_products` | Remove products from a price list |
251
461
 
252
462
  ## Prices
253
463
 
@@ -261,6 +471,17 @@ Endpoints marked — are exempt from scope checks (authentication and session en
261
471
  | `POST` | `/prices/bulk_upsert` | `write_products` | Bulk-upsert prices |
262
472
  | `DELETE` | `/prices/bulk_destroy` | `write_products` | Bulk-delete prices |
263
473
 
474
+ ## Product types
475
+
476
+ | Method | Path | Required scope | Summary |
477
+ |---|---|---|---|
478
+ | `GET` | `/product_types` | `read_products` | List product types |
479
+ | `POST` | `/product_types` | `write_products` | Create a product type |
480
+ | `GET` | `/product_types/{id}` | `read_products` | Retrieve a product type |
481
+ | `PATCH` | `/product_types/{id}` | `write_products` | Update a product type |
482
+ | `DELETE` | `/product_types/{id}` | `write_products` | Delete a product type |
483
+ | `POST` | `/product_types/{id}/apply_to_products` | `write_products` | Apply a product type to its existing products |
484
+
264
485
  ## Products
265
486
 
266
487
  | Method | Path | Required scope | Summary |
@@ -279,6 +500,8 @@ Endpoints marked — are exempt from scope checks (authentication and session en
279
500
  | `POST` | `/products/bulk_status_update` | `write_products` | Bulk-update product status |
280
501
  | `POST` | `/products/bulk_add_to_categories` | `write_products` | Bulk-add products to categories |
281
502
  | `POST` | `/products/bulk_remove_from_categories` | `write_products` | Bulk-remove products from categories |
503
+ | `POST` | `/products/bulk_add_to_collections` | `write_products` | Bulk-add products to collections |
504
+ | `POST` | `/products/bulk_remove_from_collections` | `write_products` | Bulk-remove products from collections |
282
505
  | `POST` | `/products/bulk_add_to_channels` | `write_products` | Bulk-add products to channels |
283
506
  | `POST` | `/products/bulk_remove_from_channels` | `write_products` | Bulk-remove products from channels |
284
507
  | `POST` | `/products/bulk_add_tags` | `write_products` | Bulk-add tags to products |
@@ -289,6 +512,7 @@ Endpoints marked — are exempt from scope checks (authentication and session en
289
512
  | `GET` | `/products/{product_id}/variants/{id}` | `read_products` | Get a variant |
290
513
  | `PATCH` | `/products/{product_id}/variants/{id}` | `write_products` | Update a variant |
291
514
  | `DELETE` | `/products/{product_id}/variants/{id}` | `write_products` | Delete a variant |
515
+ | `POST` | `/products/{product_id}/media` | `write_products` | Place a library file on a product |
292
516
 
293
517
  ## Promotion actions
294
518
 
@@ -320,11 +544,87 @@ Endpoints marked — are exempt from scope checks (authentication and session en
320
544
  | `PATCH` | `/promotions/{id}` | `write_promotions` | Update a promotion |
321
545
  | `DELETE` | `/promotions/{id}` | `write_promotions` | Delete a promotion |
322
546
 
547
+ ## Purchase orders
548
+
549
+ | Method | Path | Required scope | Summary |
550
+ |---|---|---|---|
551
+ | `GET` | `/purchase_orders` | `read_purchasing` | List purchase orders |
552
+ | `POST` | `/purchase_orders` | `write_purchasing` | Create a purchase order |
553
+ | `GET` | `/purchase_orders/{id}` | `read_purchasing` | Get a purchase order |
554
+ | `PATCH` | `/purchase_orders/{id}/mark_ordered` | `write_purchasing` | Place the order with the supplier |
555
+ | `GET` | `/purchase_orders/{purchase_order_id}/stock_receipts` | `read_purchasing` | List the deliveries booked against an order |
556
+ | `POST` | `/purchase_orders/{purchase_order_id}/stock_receipts` | `write_purchasing` | Book in a delivery |
557
+ | `PATCH` | `/purchase_orders/{id}/mark_draft` | `write_purchasing` | Take an order back to draft |
558
+ | `PATCH` | `/purchase_orders/{id}/close` | `write_purchasing` | Close an order short |
559
+ | `PATCH` | `/purchase_orders/{id}/cancel` | `write_purchasing` | Cancel a purchase order |
560
+
561
+ ## Refund reasons
562
+
563
+ | Method | Path | Required scope | Summary |
564
+ |---|---|---|---|
565
+ | `GET` | `/refund_reasons` | `read_settings` | List refund reasons |
566
+ | `POST` | `/refund_reasons` | `write_settings` | Create a refund reason |
567
+ | `GET` | `/refund_reasons/{id}` | `read_settings` | Get a refund reason |
568
+ | `PATCH` | `/refund_reasons/{id}` | `write_settings` | Update a refund reason |
569
+ | `DELETE` | `/refund_reasons/{id}` | `write_settings` | Delete a refund reason |
570
+
571
+ ## Return reasons
572
+
573
+ | Method | Path | Required scope | Summary |
574
+ |---|---|---|---|
575
+ | `GET` | `/return_reasons` | `read_settings` | List return reasons |
576
+ | `POST` | `/return_reasons` | `write_settings` | Create a return reason |
577
+ | `GET` | `/return_reasons/{id}` | `read_settings` | Get a return reason |
578
+ | `PATCH` | `/return_reasons/{id}` | `write_settings` | Update a return reason |
579
+ | `DELETE` | `/return_reasons/{id}` | `write_settings` | Delete a return reason |
580
+
323
581
  ## Roles
324
582
 
325
583
  | Method | Path | Required scope | Summary |
326
584
  |---|---|---|---|
327
- | `GET` | `/roles` | `read_settings` | List roles |
585
+ | `GET` | `/roles` | `read_staff` | List roles |
586
+ | `POST` | `/roles` | `write_staff` | Create a role |
587
+ | `PATCH` | `/roles/{id}` | `write_staff` | Update a role |
588
+ | `DELETE` | `/roles/{id}` | `write_staff` | Delete a role |
589
+
590
+ ## Seller payouts
591
+
592
+ | Method | Path | Required scope | Summary |
593
+ |---|---|---|---|
594
+ | `PATCH` | `/seller_payouts/{id}/complete` | `write_payouts` | Mark a payout paid |
595
+
596
+ ## Seller requirements
597
+
598
+ | Method | Path | Required scope | Summary |
599
+ |---|---|---|---|
600
+ | `GET` | `/seller_requirements` | `read_sellers` | List seller requirements |
601
+ | `POST` | `/seller_requirements` | `write_sellers` | Add a seller requirement |
602
+ | `GET` | `/seller_requirements/types` | `read_sellers` | List seller requirement kinds |
603
+ | `PATCH` | `/seller_requirements/{id}` | `write_sellers` | Update a seller requirement |
604
+ | `DELETE` | `/seller_requirements/{id}` | `write_sellers` | Delete a seller requirement |
605
+
606
+ ## Sellers
607
+
608
+ | Method | Path | Required scope | Summary |
609
+ |---|---|---|---|
610
+ | `GET` | `/sellers` | `read_sellers` | List sellers |
611
+ | `POST` | `/sellers` | `write_sellers` | Create a seller |
612
+ | `GET` | `/sellers/{id}` | `read_sellers` | Get a seller |
613
+ | `PATCH` | `/sellers/{id}` | `write_sellers` | Update a seller |
614
+ | `DELETE` | `/sellers/{id}` | `write_sellers` | Delete a seller |
615
+ | `POST` | `/sellers/{id}/invite` | `write_sellers` | Invite someone to run a seller |
616
+ | `PATCH` | `/sellers/{id}/approve` | `write_sellers` | Approve a seller |
617
+ | `PATCH` | `/sellers/{id}/suspend` | `write_sellers` | Suspend a seller |
618
+ | `PATCH` | `/sellers/{id}/reject` | `write_sellers` | Reject a seller |
619
+ | `GET` | `/sellers/{seller_id}/balances` | `read_payouts` | List a seller's balances |
620
+ | `POST` | `/sellers/{seller_id}/payouts` | `write_payouts` | Settle a seller |
621
+
622
+ ## Stock levels
623
+
624
+ | Method | Path | Required scope | Summary |
625
+ |---|---|---|---|
626
+ | `GET` | `/stock_levels` | `read_stock` | List stock levels |
627
+ | `POST` | `/stock_levels/bulk_upsert` | `write_stock` | Bulk-upsert stock levels |
328
628
 
329
629
  ## Stock locations
330
630
 
@@ -336,6 +636,29 @@ Endpoints marked — are exempt from scope checks (authentication and session en
336
636
  | `PATCH` | `/stock_locations/{id}` | `write_stock` | Update a stock location |
337
637
  | `DELETE` | `/stock_locations/{id}` | `write_stock` | Delete a stock location |
338
638
 
639
+ ## Stock movements
640
+
641
+ | Method | Path | Required scope | Summary |
642
+ |---|---|---|---|
643
+ | `GET` | `/stock_movements` | `read_stock` | List stock movements |
644
+ | `GET` | `/stock_movements/{id}` | `read_stock` | Get a stock movement |
645
+
646
+ ## Stock transfers
647
+
648
+ | Method | Path | Required scope | Summary |
649
+ |---|---|---|---|
650
+ | `GET` | `/stock_transfers` | `read_stock` | List stock transfers |
651
+ | `POST` | `/stock_transfers` | `write_stock` | Create a stock transfer |
652
+ | `GET` | `/stock_transfers/{id}` | `read_stock` | Get a stock transfer |
653
+ | `DELETE` | `/stock_transfers/{id}` | `write_stock` | Delete a stock transfer |
654
+ | `PATCH` | `/stock_transfers/{id}/mark_ready` | `write_stock` | Mark a transfer ready to ship |
655
+ | `PATCH` | `/stock_transfers/{id}/mark_in_transit` | `write_stock` | Send a transfer |
656
+ | `GET` | `/stock_transfers/{stock_transfer_id}/stock_receipts` | `read_stock` | List the deliveries counted in against a transfer |
657
+ | `POST` | `/stock_transfers/{stock_transfer_id}/stock_receipts` | `write_stock` | Count a delivery in |
658
+ | `PATCH` | `/stock_transfers/{id}/mark_draft` | `write_stock` | Take a transfer back to draft |
659
+ | `PATCH` | `/stock_transfers/{id}/close` | `write_stock` | Close a transfer short |
660
+ | `PATCH` | `/stock_transfers/{id}/cancel` | `write_stock` | Cancel a stock transfer |
661
+
339
662
  ## Store
340
663
 
341
664
  | Method | Path | Required scope | Summary |
@@ -343,12 +666,40 @@ Endpoints marked — are exempt from scope checks (authentication and session en
343
666
  | `GET` | `/store` | `read_settings` | Get the current store |
344
667
  | `PATCH` | `/store` | `write_settings` | Update the current store |
345
668
 
669
+ ## Store credits
670
+
671
+ | Method | Path | Required scope | Summary |
672
+ |---|---|---|---|
673
+ | `GET` | `/store_credits` | `read_store_credits` | List store credits |
674
+ | `GET` | `/store_credits/{id}` | `read_store_credits` | Retrieve a store credit |
675
+ | `GET` | `/store_credits/{store_credit_id}/events` | `read_store_credits` | List a store credit's ledger |
676
+
677
+ ## Suppliers
678
+
679
+ | Method | Path | Required scope | Summary |
680
+ |---|---|---|---|
681
+ | `GET` | `/suppliers` | `read_purchasing` | List suppliers |
682
+ | `POST` | `/suppliers` | `write_purchasing` | Create a supplier |
683
+ | `GET` | `/suppliers/{id}` | `read_purchasing` | Get a supplier |
684
+ | `PATCH` | `/suppliers/{id}` | `write_purchasing` | Update a supplier |
685
+ | `DELETE` | `/suppliers/{id}` | `write_purchasing` | Delete a supplier |
686
+
346
687
  ## Tags
347
688
 
348
689
  | Method | Path | Required scope | Summary |
349
690
  |---|---|---|---|
350
691
  | `GET` | `/tags` | — | List tags |
351
692
 
693
+ ## Tax rates
694
+
695
+ | Method | Path | Required scope | Summary |
696
+ |---|---|---|---|
697
+ | `GET` | `/tax_rates` | `read_settings` | List tax rates |
698
+ | `POST` | `/tax_rates` | `write_settings` | Create a tax rate |
699
+ | `GET` | `/tax_rates/{id}` | `read_settings` | Get a tax rate |
700
+ | `PATCH` | `/tax_rates/{id}` | `write_settings` | Update a tax rate |
701
+ | `DELETE` | `/tax_rates/{id}` | `write_settings` | Delete a tax rate |
702
+
352
703
  ## Translatable resources
353
704
 
354
705
  | Method | Path | Required scope | Summary |
@@ -359,7 +710,8 @@ Endpoints marked — are exempt from scope checks (authentication and session en
359
710
 
360
711
  | Method | Path | Required scope | Summary |
361
712
  |---|---|---|---|
362
- | `POST` | `/translations/batch` | `write_*` (eg. `write_products`) for every resource type in the batch (for API-key authentication) | Batch upsert translations |
713
+ | `GET` | `/translations` | `read_products` | Translation coverage for a resource type |
714
+ | `POST` | `/translations/batch` | *write_<resource> for every resource type in the batch (for API-key authentication)* | Batch upsert translations |
363
715
 
364
716
  ## Webhook endpoints
365
717
 
@@ -61,7 +61,7 @@ Some specialized errors carry structured `details` (for example, scope errors in
61
61
  |---|---|---|
62
62
  | `400` | Bad Request | Missing required parameters, malformed JSON |
63
63
  | `401` | Unauthorized | Missing or invalid API key, expired or invalid JWT token |
64
- | `403` | Forbidden | Authenticated but lacks permission (CanCanCan ability) or scope |
64
+ | `403` | Forbidden | Authenticated but lacks a scope (API key) or role permission (JWT) |
65
65
  | `404` | Not Found | Resource doesn't exist, isn't accessible to the calling key, or belongs to a different store |
66
66
  | `409` | Conflict | Resource was modified by a concurrent request (optimistic locking) |
67
67
  | `422` | Unprocessable Content | Validation failed, invalid state transition, business rule violation |
@@ -75,7 +75,7 @@ Some specialized errors carry structured `details` (for example, scope errors in
75
75
  | `authentication_failed` | 401 | Login email/password was wrong |
76
76
  | `invalid_token` | 401 | API key or JWT token is invalid or expired |
77
77
  | `invalid_refresh_token` | 401 | Refresh token is invalid or expired |
78
- | `access_denied` | 403 | Caller lacks permission. For API-key callers, `details.required_scope` indicates the missing scope (see [Authentication](authentication.md#permissions)). For JWT callers, the user's role lacks the CanCanCan ability for this action. |
78
+ | `access_denied` | 403 | Caller lacks permission. For API-key callers, `details.required_scope` indicates the missing scope (see [Authentication](authentication.md#permissions)). For JWT callers, `details.required_permission` names the permission key the user's role is missing; a denial without it is a record-level rule. |
79
79
  | `current_password_invalid` | 422 | Current password is wrong (when changing password) |
80
80
 
81
81
  ## Resources
@@ -18,7 +18,7 @@ All routes are prefixed with `/api/v3/admin`. During development the API is avai
18
18
  | **Purpose** | Manage store data | Power storefronts |
19
19
  | **Audience** | Staff users, backend integrations | Customers, storefronts |
20
20
  | **Authentication** | Secret API key (`sk_…`) or admin JWT | Publishable API key (`pk_…`), customer JWT, order token |
21
- | **Permissions** | API key scopes (API key authentication) or Admin Staff permission sets | Customer can only read/modify their own data |
21
+ | **Permissions** | API key scopes (API key authentication) or the staff member's role permissions — the same `read_*`/`write_*` keys | Customer can only read/modify their own data |
22
22
  | **Write operations** | Full CRUD on most resources | Limited to the current customer's cart, addresses, profile |
23
23
 
24
24
  If you're building a storefront, use the [Store API](../store-api/introduction.md). The Admin API exposes administrative operations that should never be invoked from a browser.
@@ -48,7 +48,7 @@ const client = createAdminClient({
48
48
  })
49
49
 
50
50
  const { data: orders } = await client.orders.list({
51
- status_eq: 'complete',
51
+ status_eq: 'placed',
52
52
  limit: 25,
53
53
  })
54
54
  ```
@@ -58,7 +58,7 @@ const { data: orders } = await client.orders.list({
58
58
  Every endpoint can also be called with the [Spree CLI](../../developer/cli/admin-api.md) — a generic HTTP client (`get`/`post`/`patch`/`delete`) built into `@spree/cli`. It's the fastest way to explore the API from a terminal or drive it from scripts and AI agents, with zero-config credentials in local development:
59
59
 
60
60
  ```bash
61
- spree api get /orders -q status_eq=complete --limit 25
61
+ spree api get /orders -q status_eq=placed --limit 25
62
62
  ```
63
63
 
64
64
  Each endpoint page below shows the matching **Spree CLI** command alongside the SDK example. To browse the whole surface offline, use `spree api endpoints` and `spree api schema "<METHOD> <path>"`.
@@ -13,7 +13,7 @@ Pass filter conditions via `q`:
13
13
 
14
14
  ```typescript SDK
15
15
  const orders = await client.orders.list({
16
- status_eq: 'complete',
16
+ status_eq: 'placed',
17
17
  total_gteq: 100,
18
18
  email_cont: '@example.com',
19
19
  })
@@ -22,7 +22,7 @@ const orders = await client.orders.list({
22
22
  ```bash cURL
23
23
  curl -G 'https://store.example.com/api/v3/admin/orders' \
24
24
  -H 'X-Spree-Api-Key: sk_xxx' \
25
- --data-urlencode 'q[status_eq]=complete' \
25
+ --data-urlencode 'q[status_eq]=placed' \
26
26
  --data-urlencode 'q[total_gteq]=100' \
27
27
  --data-urlencode 'q[email_cont]=@example.com'
28
28
  ```
@@ -34,7 +34,7 @@ curl -G 'https://store.example.com/api/v3/admin/orders' \
34
34
 
35
35
  | Predicate | Description | SDK | cURL |
36
36
  |---|---|---|---|
37
- | `eq` | Equals | `status_eq: 'complete'` | `q[status_eq]=complete` |
37
+ | `eq` | Equals | `status_eq: 'placed'` | `q[status_eq]=placed` |
38
38
  | `not_eq` | Not equals | `status_not_eq: 'canceled'` | `q[status_not_eq]=canceled` |
39
39
  | `cont` | Contains (case-insensitive) | `email_cont: '@acme'` | `q[email_cont]=@acme` |
40
40
  | `start` | Starts with | `number_start: 'R10'` | `q[number_start]=R10` |
@@ -72,9 +72,9 @@ Multiple filters combine with AND:
72
72
 
73
73
 
74
74
  ```typescript SDK
75
- // Completed orders over $100 from the last 7 days
75
+ // Placed orders over $100 from the last 7 days
76
76
  const orders = await client.orders.list({
77
- status_eq: 'complete',
77
+ status_eq: 'placed',
78
78
  total_gteq: 100,
79
79
  completed_at_gteq: new Date(Date.now() - 7 * 86_400_000).toISOString(),
80
80
  })
@@ -83,7 +83,7 @@ const orders = await client.orders.list({
83
83
  ```bash cURL
84
84
  curl -G 'https://store.example.com/api/v3/admin/orders' \
85
85
  -H 'X-Spree-Api-Key: sk_xxx' \
86
- --data-urlencode 'q[status_eq]=complete' \
86
+ --data-urlencode 'q[status_eq]=placed' \
87
87
  --data-urlencode 'q[total_gteq]=100' \
88
88
  --data-urlencode 'q[completed_at_gteq]=2026-04-22T00:00:00Z'
89
89
  ```