spree_api 6.0.2 → 6.0.4
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.
- checksums.yaml +4 -4
- data/app/controllers/concerns/spree/api/v3/admin/embed_permissions.rb +5 -2
- data/app/controllers/concerns/spree/api/v3/idempotent.rb +10 -1
- data/app/controllers/concerns/spree/api/v3/security_headers.rb +3 -0
- data/app/controllers/spree/api/v3/admin/base_controller.rb +31 -0
- data/app/controllers/spree/api/v3/admin/companies/memberships_controller.rb +21 -4
- data/app/controllers/spree/api/v3/admin/diagnostics_controller.rb +46 -0
- data/app/controllers/spree/api/v3/admin/me_controller.rb +0 -13
- data/app/controllers/spree/api/v3/admin/media_controller.rb +10 -0
- data/app/controllers/spree/api/v3/admin/orders/items_controller.rb +6 -2
- data/app/controllers/spree/api/v3/admin/products_controller.rb +56 -0
- data/app/controllers/spree/api/v3/admin/sellers/invitations_controller.rb +39 -3
- data/app/controllers/spree/api/v3/admin/sellers/team_controller.rb +1 -3
- data/app/controllers/spree/api/v3/admin/sellers_controller.rb +24 -1
- data/app/controllers/spree/api/v3/admin/stock_levels_controller.rb +15 -1
- data/app/controllers/spree/api/v3/admin/updates_controller.rb +4 -15
- data/app/controllers/spree/api/v3/seller/products/media_controller.rb +46 -0
- data/app/controllers/spree/api/v3/seller/products_controller.rb +4 -2
- data/app/controllers/spree/api/v3/seller/profile_controller.rb +13 -5
- data/app/controllers/spree/api/v3/store/carts_controller.rb +10 -7
- data/app/serializers/spree/api/v3/admin/admin_user_serializer.rb +2 -2
- data/app/serializers/spree/api/v3/admin/company_membership_serializer.rb +4 -0
- data/app/serializers/spree/api/v3/admin/delivery_profile_serializer.rb +2 -1
- data/app/serializers/spree/api/v3/admin/diagnostics_serializer.rb +30 -0
- data/app/serializers/spree/api/v3/admin/fulfillment_serializer.rb +1 -1
- data/app/serializers/spree/api/v3/admin/import_serializer.rb +1 -1
- data/app/serializers/spree/api/v3/admin/invitation_serializer.rb +2 -2
- data/app/serializers/spree/api/v3/admin/line_item_serializer.rb +6 -1
- data/app/serializers/spree/api/v3/admin/price_rule_serializer.rb +3 -1
- data/app/serializers/spree/api/v3/admin/product_serializer.rb +8 -0
- data/app/serializers/spree/api/v3/admin/promotion_action_serializer.rb +2 -2
- data/app/serializers/spree/api/v3/admin/promotion_rule_serializer.rb +4 -1
- data/app/serializers/spree/api/v3/admin/promotion_serializer.rb +13 -0
- data/app/serializers/spree/api/v3/admin/return_serializer.rb +1 -1
- data/app/serializers/spree/api/v3/admin/seller_requirement_status_serializer.rb +3 -2
- data/app/serializers/spree/api/v3/admin/seller_serializer.rb +12 -2
- data/app/serializers/spree/api/v3/fulfillment_serializer.rb +1 -1
- data/app/serializers/spree/api/v3/product_category_serializer.rb +26 -0
- data/app/serializers/spree/api/v3/product_collection_serializer.rb +26 -0
- data/app/serializers/spree/api/v3/seller/import_serializer.rb +1 -1
- data/app/serializers/spree/api/v3/seller/invitation_serializer.rb +2 -2
- data/app/serializers/spree/api/v3/seller/order_line_item_serializer.rb +2 -2
- data/app/serializers/spree/api/v3/seller/product_serializer.rb +8 -0
- data/app/serializers/spree/api/v3/seller/requirement_status_serializer.rb +3 -2
- data/config/initializers/typelizer.rb +8 -19
- data/config/routes.rb +8 -1
- data/lib/spree/api/admin_document.rb +284 -0
- data/lib/spree/api/agent_operations.rb +300 -0
- data/lib/spree/api/agent_resource_map.rb +74 -14
- data/lib/spree/api/agent_write_schemas.rb +15 -51
- data/lib/spree/api/dependencies.rb +1 -1
- data/lib/spree/api/engine.rb +14 -1
- data/lib/spree/api/enum_types.rb +4 -1
- data/lib/spree/api/openapi/schema_helper.rb +3 -3
- data/lib/spree/api/sdk_types.rb +190 -0
- data/lib/spree/api/sdk_types_task.rb +68 -0
- data/lib/spree/api/testing_support/agent_tools.rb +35 -0
- data/lib/spree/api/testing_support/agent_tools_contract.rb +110 -0
- data/lib/spree/api/testing_support/deterministic_openapi.rb +147 -0
- data/lib/spree/api/testing_support/filter_parameters.rb +99 -0
- data/lib/spree/api/testing_support/openapi.rb +233 -0
- data/lib/spree/api/testing_support/openapi_tasks.rb +21 -0
- data/lib/spree/api/testing_support/sdk_method.rb +34 -0
- data/lib/spree/api/typelizer_generation.rb +39 -11
- data/lib/tasks/openapi.rake +5 -0
- data/lib/tasks/sdk_types.rake +6 -0
- data/lib/typelizer/open_enums.rb +13 -1
- data/openapi/admin.yaml +2241 -318
- data/openapi/store.yaml +125 -125
- metadata +26 -9
- data/lib/spree/api/agent_workflow_endpoints.rb +0 -113
data/openapi/admin.yaml
CHANGED
|
@@ -103,7 +103,7 @@ paths:
|
|
|
103
103
|
status: active
|
|
104
104
|
created_at: '2026-01-15T12:00:00.000Z'
|
|
105
105
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
106
|
-
last_active_at:
|
|
106
|
+
last_active_at:
|
|
107
107
|
avatar_url:
|
|
108
108
|
roles:
|
|
109
109
|
- id: role_UkLWZg9DAJ
|
|
@@ -343,7 +343,7 @@ paths:
|
|
|
343
343
|
status: active
|
|
344
344
|
created_at: '2026-01-15T12:00:00.000Z'
|
|
345
345
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
346
|
-
last_active_at:
|
|
346
|
+
last_active_at:
|
|
347
347
|
avatar_url:
|
|
348
348
|
roles:
|
|
349
349
|
- id: role_UkLWZg9DAJ
|
|
@@ -781,7 +781,7 @@ paths:
|
|
|
781
781
|
status: active
|
|
782
782
|
created_at: '2026-01-15T12:00:00.000Z'
|
|
783
783
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
784
|
-
last_active_at:
|
|
784
|
+
last_active_at:
|
|
785
785
|
avatar_url:
|
|
786
786
|
roles:
|
|
787
787
|
- id: role_UkLWZg9DAJ
|
|
@@ -895,7 +895,7 @@ paths:
|
|
|
895
895
|
status: active
|
|
896
896
|
created_at: '2026-01-15T12:00:00.000Z'
|
|
897
897
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
898
|
-
last_active_at:
|
|
898
|
+
last_active_at:
|
|
899
899
|
avatar_url:
|
|
900
900
|
roles:
|
|
901
901
|
- id: role_UkLWZg9DAJ
|
|
@@ -2546,7 +2546,7 @@ paths:
|
|
|
2546
2546
|
created_by_type:
|
|
2547
2547
|
created_by_label:
|
|
2548
2548
|
- id: key_EfhxLZ9ck8
|
|
2549
|
-
name: API key
|
|
2549
|
+
name: API key 14
|
|
2550
2550
|
key_type: secret
|
|
2551
2551
|
token_prefix: sk_vihKVmP6r
|
|
2552
2552
|
scopes:
|
|
@@ -2869,7 +2869,7 @@ paths:
|
|
|
2869
2869
|
application/json:
|
|
2870
2870
|
example:
|
|
2871
2871
|
id: key_EfhxLZ9ck8
|
|
2872
|
-
name: API key
|
|
2872
|
+
name: API key 20
|
|
2873
2873
|
key_type: secret
|
|
2874
2874
|
token_prefix: sk_L5LVfygvH
|
|
2875
2875
|
scopes:
|
|
@@ -3916,6 +3916,7 @@ paths:
|
|
|
3916
3916
|
summary: Reposition a category product
|
|
3917
3917
|
tags:
|
|
3918
3918
|
- Categories
|
|
3919
|
+
operationId: categories_reposition_product
|
|
3919
3920
|
security:
|
|
3920
3921
|
- api_key: []
|
|
3921
3922
|
bearer_auth: []
|
|
@@ -4206,8 +4207,8 @@ paths:
|
|
|
4206
4207
|
default: true
|
|
4207
4208
|
storefront_access:
|
|
4208
4209
|
guest_checkout:
|
|
4209
|
-
created_at: '2026-
|
|
4210
|
-
updated_at: '2026-
|
|
4210
|
+
created_at: '2026-11-11T12:45:25.454Z'
|
|
4211
|
+
updated_at: '2026-11-11T12:45:25.454Z'
|
|
4211
4212
|
order_routing_strategy:
|
|
4212
4213
|
stock_location_ids: []
|
|
4213
4214
|
default_catalog_id:
|
|
@@ -4700,24 +4701,24 @@ paths:
|
|
|
4700
4701
|
- id: orule_UkLWZg9DAJ
|
|
4701
4702
|
position: 1
|
|
4702
4703
|
active: true
|
|
4703
|
-
created_at: '2026-
|
|
4704
|
-
updated_at: '2026-
|
|
4704
|
+
created_at: '2026-11-11T12:45:25.458Z'
|
|
4705
|
+
updated_at: '2026-11-11T12:45:25.458Z'
|
|
4705
4706
|
type: preferred_location
|
|
4706
4707
|
channel_id: ch_UkLWZg9DAJ
|
|
4707
4708
|
preferences: {}
|
|
4708
4709
|
- id: orule_gbHJdmfrXB
|
|
4709
4710
|
position: 2
|
|
4710
4711
|
active: true
|
|
4711
|
-
created_at: '2026-
|
|
4712
|
-
updated_at: '2026-
|
|
4712
|
+
created_at: '2026-11-11T12:45:25.461Z'
|
|
4713
|
+
updated_at: '2026-11-11T12:45:25.461Z'
|
|
4713
4714
|
type: minimize_splits
|
|
4714
4715
|
channel_id: ch_UkLWZg9DAJ
|
|
4715
4716
|
preferences: {}
|
|
4716
4717
|
- id: orule_EfhxLZ9ck8
|
|
4717
4718
|
position: 3
|
|
4718
4719
|
active: true
|
|
4719
|
-
created_at: '2026-
|
|
4720
|
-
updated_at: '2026-
|
|
4720
|
+
created_at: '2026-11-11T12:45:25.464Z'
|
|
4721
|
+
updated_at: '2026-11-11T12:45:25.464Z'
|
|
4721
4722
|
type: default_location
|
|
4722
4723
|
channel_id: ch_UkLWZg9DAJ
|
|
4723
4724
|
preferences: {}
|
|
@@ -4860,7 +4861,7 @@ paths:
|
|
|
4860
4861
|
id: orule_UkLWZg9DAJ
|
|
4861
4862
|
position: 2
|
|
4862
4863
|
active: false
|
|
4863
|
-
created_at: '2026-
|
|
4864
|
+
created_at: '2026-11-11T12:45:25.458Z'
|
|
4864
4865
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
4865
4866
|
type: preferred_location
|
|
4866
4867
|
channel_id: ch_UkLWZg9DAJ
|
|
@@ -6084,6 +6085,9 @@ paths:
|
|
|
6084
6085
|
summary: Erase a customer's personal data
|
|
6085
6086
|
tags:
|
|
6086
6087
|
- Customers
|
|
6088
|
+
x-spree-agent: false
|
|
6089
|
+
x-spree-agent-reason: Irreversible erasure of a person's data under GDPR Art.
|
|
6090
|
+
17, which is not something to offer a model behind one confirmation prompt.
|
|
6087
6091
|
security:
|
|
6088
6092
|
- api_key: []
|
|
6089
6093
|
bearer_auth: []
|
|
@@ -6620,7 +6624,7 @@ paths:
|
|
|
6620
6624
|
first_name: John
|
|
6621
6625
|
last_name: Doe
|
|
6622
6626
|
full_name: John Doe
|
|
6623
|
-
address1:
|
|
6627
|
+
address1: 29 Lovely Street
|
|
6624
6628
|
address2: Northwest
|
|
6625
6629
|
postal_code: '10118'
|
|
6626
6630
|
city: New York
|
|
@@ -6811,7 +6815,7 @@ paths:
|
|
|
6811
6815
|
first_name: John
|
|
6812
6816
|
last_name: Doe
|
|
6813
6817
|
full_name: John Doe
|
|
6814
|
-
address1:
|
|
6818
|
+
address1: 31 Lovely Street
|
|
6815
6819
|
address2: Northwest
|
|
6816
6820
|
postal_code: '10118'
|
|
6817
6821
|
city: Manhattan
|
|
@@ -7701,6 +7705,94 @@ paths:
|
|
|
7701
7705
|
schema:
|
|
7702
7706
|
"$ref": "#/components/schemas/TaxIdentifierUpdateParams"
|
|
7703
7707
|
required: true
|
|
7708
|
+
"/api/v3/admin/customers/{customer_id}/tax_identifiers/{id}/validate":
|
|
7709
|
+
parameters:
|
|
7710
|
+
- name: x-spree-api-key
|
|
7711
|
+
in: header
|
|
7712
|
+
required: true
|
|
7713
|
+
schema:
|
|
7714
|
+
type: string
|
|
7715
|
+
- name: Authorization
|
|
7716
|
+
in: header
|
|
7717
|
+
required: true
|
|
7718
|
+
schema:
|
|
7719
|
+
type: string
|
|
7720
|
+
- name: customer_id
|
|
7721
|
+
in: path
|
|
7722
|
+
required: true
|
|
7723
|
+
schema:
|
|
7724
|
+
type: string
|
|
7725
|
+
- name: id
|
|
7726
|
+
in: path
|
|
7727
|
+
required: true
|
|
7728
|
+
schema:
|
|
7729
|
+
type: string
|
|
7730
|
+
post:
|
|
7731
|
+
summary: Re-check a customer tax registration
|
|
7732
|
+
tags:
|
|
7733
|
+
- Customers
|
|
7734
|
+
x-codeSamples:
|
|
7735
|
+
- lang: javascript
|
|
7736
|
+
label: Spree Admin SDK
|
|
7737
|
+
source: |-
|
|
7738
|
+
import { createAdminClient } from '@spree/admin-sdk'
|
|
7739
|
+
|
|
7740
|
+
const client = createAdminClient({
|
|
7741
|
+
baseUrl: 'https://your-store.com',
|
|
7742
|
+
secretKey: 'sk_xxx',
|
|
7743
|
+
})
|
|
7744
|
+
|
|
7745
|
+
const registration = await client.customers.taxIdentifiers.validate(
|
|
7746
|
+
'cust_UkLWZg9DAJ',
|
|
7747
|
+
'txi_UkLWZg9DAJ',
|
|
7748
|
+
)
|
|
7749
|
+
- lang: bash
|
|
7750
|
+
label: Spree CLI
|
|
7751
|
+
source: spree api post /customers/{customer_id}/tax_identifiers/{id}/validate
|
|
7752
|
+
-d '{ ... }'
|
|
7753
|
+
operationId: customer_tax_identifiers_validate
|
|
7754
|
+
security:
|
|
7755
|
+
- api_key: []
|
|
7756
|
+
bearer_auth: []
|
|
7757
|
+
description: |-
|
|
7758
|
+
Asks the registry again. Manual because a registry answers only "valid now" — a number verified
|
|
7759
|
+
last year may have been deregistered since — and because a check that came back unavailable
|
|
7760
|
+
cannot otherwise be retried without editing the number.
|
|
7761
|
+
|
|
7762
|
+
|
|
7763
|
+
**Required scope:** `write_customers` (for API-key authentication).
|
|
7764
|
+
responses:
|
|
7765
|
+
'202':
|
|
7766
|
+
description: registry check queued
|
|
7767
|
+
content:
|
|
7768
|
+
application/json:
|
|
7769
|
+
example:
|
|
7770
|
+
id: txi_UkLWZg9DAJ
|
|
7771
|
+
kind: eu_vat
|
|
7772
|
+
value: DE100000032
|
|
7773
|
+
validation_status: pending
|
|
7774
|
+
validation_evidence:
|
|
7775
|
+
source:
|
|
7776
|
+
validated_at:
|
|
7777
|
+
created_at: '2026-01-15T12:00:00.000Z'
|
|
7778
|
+
updated_at: '2026-01-15T12:00:00.000Z'
|
|
7779
|
+
validatable: true
|
|
7780
|
+
customer_id: cust_UkLWZg9DAJ
|
|
7781
|
+
cart_id:
|
|
7782
|
+
order_id:
|
|
7783
|
+
schema:
|
|
7784
|
+
"$ref": "#/components/schemas/TaxIdentifier"
|
|
7785
|
+
'422':
|
|
7786
|
+
description: no validator installed for this kind
|
|
7787
|
+
content:
|
|
7788
|
+
application/json:
|
|
7789
|
+
example:
|
|
7790
|
+
error:
|
|
7791
|
+
code: tax_id_not_validatable
|
|
7792
|
+
message: No registry validator is installed for tax identifier kind
|
|
7793
|
+
'eu_vat'
|
|
7794
|
+
schema:
|
|
7795
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
7704
7796
|
"/api/v3/admin/customers":
|
|
7705
7797
|
get:
|
|
7706
7798
|
summary: List customers
|
|
@@ -9467,11 +9559,6 @@ paths:
|
|
|
9467
9559
|
const { sent_to } = await client.emailTemplates.sendTest('spree.order_mailer.confirm_email', {
|
|
9468
9560
|
body: '<mj-section><mj-column><mj-text>Thanks, {{ order.customer_name }}!</mj-text></mj-column></mj-section>',
|
|
9469
9561
|
})
|
|
9470
|
-
- lang: bash
|
|
9471
|
-
label: Spree CLI
|
|
9472
|
-
source: spree api post /email_templates/{email_template_id}/test_email -d
|
|
9473
|
-
'{"body":"<mj-section><mj-column><mj-text>Thanks, {{ order.customer_name
|
|
9474
|
-
}}!</mj-text></mj-column></mj-section>"}'
|
|
9475
9562
|
parameters:
|
|
9476
9563
|
- name: x-spree-api-key
|
|
9477
9564
|
in: header
|
|
@@ -10229,7 +10316,7 @@ paths:
|
|
|
10229
10316
|
content:
|
|
10230
10317
|
application/json:
|
|
10231
10318
|
example:
|
|
10232
|
-
signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
10319
|
+
signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--5cf7f6bc12adaf5ef31072ed4b5eb4c1732ca992
|
|
10233
10320
|
filename: products.csv
|
|
10234
10321
|
content_type: text/csv
|
|
10235
10322
|
byte_size: 48213
|
|
@@ -10237,7 +10324,7 @@ paths:
|
|
|
10237
10324
|
expires_at: '2026-01-16T12:00:00.000Z'
|
|
10238
10325
|
upload:
|
|
10239
10326
|
method: PUT
|
|
10240
|
-
url: http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJxcmZsMnNod3YwYmR4cWF3ZWFocDZvYjhlYzh5IiwiY29udGVudF90eXBlIjoidGV4dC9jc3YiLCJjb250ZW50X2xlbmd0aCI6NDgyMTMsImNoZWNrc3VtIjoiaGdKTXJSNkRFQjJYTloxelVRVVJWZz09Iiwic2VydmljZV9uYW1lIjoidGVzdCJ9LCJleHAiOiIyMDI2LTAxLTE1VDEyOjA1OjAwLjAwMFoiLCJwdXIiOiJibG9iX3Rva2VuIn19--
|
|
10327
|
+
url: http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJxcmZsMnNod3YwYmR4cWF3ZWFocDZvYjhlYzh5IiwiY29udGVudF90eXBlIjoidGV4dC9jc3YiLCJjb250ZW50X2xlbmd0aCI6NDgyMTMsImNoZWNrc3VtIjoiaGdKTXJSNkRFQjJYTloxelVRVVJWZz09Iiwic2VydmljZV9uYW1lIjoidGVzdCJ9LCJleHAiOiIyMDI2LTAxLTE1VDEyOjA1OjAwLjAwMFoiLCJwdXIiOiJibG9iX3Rva2VuIn19--58771025051fac3b85fe97de3d0af5379be8ff83
|
|
10241
10328
|
headers:
|
|
10242
10329
|
Content-Type: text/csv
|
|
10243
10330
|
schema:
|
|
@@ -14539,8 +14626,8 @@ paths:
|
|
|
14539
14626
|
- US
|
|
14540
14627
|
supported_locales:
|
|
14541
14628
|
- en
|
|
14542
|
-
created_at: '2026-
|
|
14543
|
-
updated_at: '2026-
|
|
14629
|
+
created_at: '2026-11-11T12:45:25.448Z'
|
|
14630
|
+
updated_at: '2026-11-11T12:45:25.448Z'
|
|
14544
14631
|
tax_provider:
|
|
14545
14632
|
- id: mkt_gbHJdmfrXB
|
|
14546
14633
|
name: EU
|
|
@@ -15154,7 +15241,7 @@ paths:
|
|
|
15154
15241
|
example:
|
|
15155
15242
|
data:
|
|
15156
15243
|
- id: opt_UkLWZg9DAJ
|
|
15157
|
-
name: foo-size-
|
|
15244
|
+
name: foo-size-16
|
|
15158
15245
|
label: Size
|
|
15159
15246
|
position: 1
|
|
15160
15247
|
kind: dropdown
|
|
@@ -15350,7 +15437,7 @@ paths:
|
|
|
15350
15437
|
application/json:
|
|
15351
15438
|
example:
|
|
15352
15439
|
id: opt_UkLWZg9DAJ
|
|
15353
|
-
name: foo-size-
|
|
15440
|
+
name: foo-size-20
|
|
15354
15441
|
label: Size
|
|
15355
15442
|
position: 1
|
|
15356
15443
|
kind: dropdown
|
|
@@ -15424,7 +15511,7 @@ paths:
|
|
|
15424
15511
|
application/json:
|
|
15425
15512
|
example:
|
|
15426
15513
|
id: opt_UkLWZg9DAJ
|
|
15427
|
-
name: foo-size-
|
|
15514
|
+
name: foo-size-22
|
|
15428
15515
|
label: Updated Label
|
|
15429
15516
|
position: 1
|
|
15430
15517
|
kind: dropdown
|
|
@@ -15999,6 +16086,81 @@ paths:
|
|
|
15999
16086
|
schema:
|
|
16000
16087
|
"$ref": "#/components/schemas/ClaimUpdateParams"
|
|
16001
16088
|
required: true
|
|
16089
|
+
"/api/v3/admin/orders/{order_id}/claims/{id}/approve":
|
|
16090
|
+
patch:
|
|
16091
|
+
summary: Approve a claim
|
|
16092
|
+
tags:
|
|
16093
|
+
- Orders
|
|
16094
|
+
x-codeSamples:
|
|
16095
|
+
- lang: javascript
|
|
16096
|
+
label: Spree Admin SDK
|
|
16097
|
+
source: |-
|
|
16098
|
+
import { createAdminClient } from '@spree/admin-sdk'
|
|
16099
|
+
|
|
16100
|
+
const client = createAdminClient({
|
|
16101
|
+
baseUrl: 'https://your-store.com',
|
|
16102
|
+
secretKey: 'sk_xxx',
|
|
16103
|
+
})
|
|
16104
|
+
|
|
16105
|
+
const claim = await client.orders.claims.approve('or_UkLWZg9DAJ', 'claim_UkLWZg9DAJ')
|
|
16106
|
+
- lang: bash
|
|
16107
|
+
label: Spree CLI
|
|
16108
|
+
source: spree api patch /orders/{order_id}/claims/{id}/approve -d '{ ... }'
|
|
16109
|
+
security:
|
|
16110
|
+
- api_key: []
|
|
16111
|
+
bearer_auth: []
|
|
16112
|
+
description: |-
|
|
16113
|
+
Accepts an open claim, the step before resolving it with a refund, a replacement or both. Only an open claim can be approved; deny it to turn it down.
|
|
16114
|
+
|
|
16115
|
+
**Required scope:** `write_orders` (for API-key authentication).
|
|
16116
|
+
parameters:
|
|
16117
|
+
- name: x-spree-api-key
|
|
16118
|
+
in: header
|
|
16119
|
+
required: true
|
|
16120
|
+
schema:
|
|
16121
|
+
type: string
|
|
16122
|
+
- name: Authorization
|
|
16123
|
+
in: header
|
|
16124
|
+
required: true
|
|
16125
|
+
schema:
|
|
16126
|
+
type: string
|
|
16127
|
+
- name: order_id
|
|
16128
|
+
in: path
|
|
16129
|
+
required: true
|
|
16130
|
+
description: Order prefixed ID
|
|
16131
|
+
schema:
|
|
16132
|
+
type: string
|
|
16133
|
+
- name: id
|
|
16134
|
+
in: path
|
|
16135
|
+
required: true
|
|
16136
|
+
description: Claim prefixed ID
|
|
16137
|
+
schema:
|
|
16138
|
+
type: string
|
|
16139
|
+
responses:
|
|
16140
|
+
'200':
|
|
16141
|
+
description: claim approved
|
|
16142
|
+
content:
|
|
16143
|
+
application/json:
|
|
16144
|
+
example:
|
|
16145
|
+
id: claim_UkLWZg9DAJ
|
|
16146
|
+
number: CLM1001
|
|
16147
|
+
status: approved
|
|
16148
|
+
resolution:
|
|
16149
|
+
order_id: or_UkLWZg9DAJ
|
|
16150
|
+
reason_id:
|
|
16151
|
+
refund_total: '10.00'
|
|
16152
|
+
approved_at: '2026-01-15T12:00:00Z'
|
|
16153
|
+
resolved_at:
|
|
16154
|
+
denied_at:
|
|
16155
|
+
canceled_at:
|
|
16156
|
+
memo: Arrived with a cracked screen
|
|
16157
|
+
metadata: {}
|
|
16158
|
+
created_at: '2026-01-15T12:00:00.000Z'
|
|
16159
|
+
updated_at: '2026-01-15T12:00:00.000Z'
|
|
16160
|
+
created_by_id: adm_UkLWZg9DAJ
|
|
16161
|
+
created_by_type: admin_user
|
|
16162
|
+
schema:
|
|
16163
|
+
"$ref": "#/components/schemas/Claim"
|
|
16002
16164
|
"/api/v3/admin/orders/{order_id}/claims/{id}/resolve":
|
|
16003
16165
|
patch:
|
|
16004
16166
|
summary: Resolve a claim
|
|
@@ -16510,6 +16672,149 @@ paths:
|
|
|
16510
16672
|
required:
|
|
16511
16673
|
- data
|
|
16512
16674
|
- meta
|
|
16675
|
+
"/api/v3/admin/digital_links/{id}":
|
|
16676
|
+
parameters:
|
|
16677
|
+
- name: id
|
|
16678
|
+
in: path
|
|
16679
|
+
required: true
|
|
16680
|
+
description: Digital link ID
|
|
16681
|
+
schema:
|
|
16682
|
+
type: string
|
|
16683
|
+
get:
|
|
16684
|
+
summary: Get a digital link
|
|
16685
|
+
tags:
|
|
16686
|
+
- Orders
|
|
16687
|
+
security:
|
|
16688
|
+
- api_key: []
|
|
16689
|
+
bearer_auth: []
|
|
16690
|
+
description: |-
|
|
16691
|
+
Returns a single download link with its download count and expiry.
|
|
16692
|
+
|
|
16693
|
+
**Required scope:** `read_orders` (for API-key authentication).
|
|
16694
|
+
x-codeSamples:
|
|
16695
|
+
- lang: javascript
|
|
16696
|
+
label: Spree Admin SDK
|
|
16697
|
+
source: |-
|
|
16698
|
+
import { createAdminClient } from '@spree/admin-sdk'
|
|
16699
|
+
|
|
16700
|
+
const client = createAdminClient({
|
|
16701
|
+
baseUrl: 'https://your-store.com',
|
|
16702
|
+
secretKey: 'sk_xxx',
|
|
16703
|
+
})
|
|
16704
|
+
|
|
16705
|
+
const digitalLink = await client.digitalLinks.retrieve('dl_xxx')
|
|
16706
|
+
- lang: bash
|
|
16707
|
+
label: Spree CLI
|
|
16708
|
+
source: spree api get /digital_links/{id}
|
|
16709
|
+
parameters:
|
|
16710
|
+
- name: x-spree-api-key
|
|
16711
|
+
in: header
|
|
16712
|
+
required: true
|
|
16713
|
+
schema:
|
|
16714
|
+
type: string
|
|
16715
|
+
- name: Authorization
|
|
16716
|
+
in: header
|
|
16717
|
+
required: true
|
|
16718
|
+
description: Bearer token for admin authentication
|
|
16719
|
+
schema:
|
|
16720
|
+
type: string
|
|
16721
|
+
responses:
|
|
16722
|
+
'200':
|
|
16723
|
+
description: digital link found
|
|
16724
|
+
content:
|
|
16725
|
+
application/json:
|
|
16726
|
+
example:
|
|
16727
|
+
id: dl_UkLWZg9DAJ
|
|
16728
|
+
access_counter: 0
|
|
16729
|
+
filename: thinking-cat.jpg
|
|
16730
|
+
content_type: image/jpeg
|
|
16731
|
+
download_url: "/api/v3/store/digital_links/ks9F16gjTLQPCzwFDpj2ifrJ"
|
|
16732
|
+
expires_at: '2026-01-22T12:00:00Z'
|
|
16733
|
+
authorizable: true
|
|
16734
|
+
expired: false
|
|
16735
|
+
access_limit_exceeded: false
|
|
16736
|
+
created_at: '2026-01-15T12:00:00.000Z'
|
|
16737
|
+
updated_at: '2026-01-15T12:00:00.000Z'
|
|
16738
|
+
schema:
|
|
16739
|
+
"$ref": "#/components/schemas/DigitalLink"
|
|
16740
|
+
'404':
|
|
16741
|
+
description: digital link not found
|
|
16742
|
+
content:
|
|
16743
|
+
application/json:
|
|
16744
|
+
example:
|
|
16745
|
+
error:
|
|
16746
|
+
code: record_not_found
|
|
16747
|
+
message: Digital link not found
|
|
16748
|
+
schema:
|
|
16749
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16750
|
+
"/api/v3/admin/digital_links/{id}/reset":
|
|
16751
|
+
parameters:
|
|
16752
|
+
- name: id
|
|
16753
|
+
in: path
|
|
16754
|
+
required: true
|
|
16755
|
+
description: Digital link ID
|
|
16756
|
+
schema:
|
|
16757
|
+
type: string
|
|
16758
|
+
patch:
|
|
16759
|
+
summary: Reset a digital link
|
|
16760
|
+
tags:
|
|
16761
|
+
- Orders
|
|
16762
|
+
x-codeSamples:
|
|
16763
|
+
- lang: javascript
|
|
16764
|
+
label: Spree Admin SDK
|
|
16765
|
+
source: |-
|
|
16766
|
+
import { createAdminClient } from '@spree/admin-sdk'
|
|
16767
|
+
|
|
16768
|
+
const client = createAdminClient({
|
|
16769
|
+
baseUrl: 'https://your-store.com',
|
|
16770
|
+
secretKey: 'sk_xxx',
|
|
16771
|
+
})
|
|
16772
|
+
|
|
16773
|
+
const digitalLink = await client.digitalLinks.reset('dl_xxx')
|
|
16774
|
+
- lang: bash
|
|
16775
|
+
label: Spree CLI
|
|
16776
|
+
source: spree api patch /digital_links/{id}/reset -d '{ ... }'
|
|
16777
|
+
security:
|
|
16778
|
+
- api_key: []
|
|
16779
|
+
bearer_auth: []
|
|
16780
|
+
description: |-
|
|
16781
|
+
Gives the customer their full download allowance back and restarts the
|
|
16782
|
+
link's expiry clock. Use it when a download failed, or the file was
|
|
16783
|
+
replaced after the customer had used up their attempts.
|
|
16784
|
+
|
|
16785
|
+
|
|
16786
|
+
**Required scope:** `write_orders` (for API-key authentication).
|
|
16787
|
+
parameters:
|
|
16788
|
+
- name: x-spree-api-key
|
|
16789
|
+
in: header
|
|
16790
|
+
required: true
|
|
16791
|
+
schema:
|
|
16792
|
+
type: string
|
|
16793
|
+
- name: Authorization
|
|
16794
|
+
in: header
|
|
16795
|
+
required: true
|
|
16796
|
+
description: Bearer token for admin authentication
|
|
16797
|
+
schema:
|
|
16798
|
+
type: string
|
|
16799
|
+
responses:
|
|
16800
|
+
'200':
|
|
16801
|
+
description: digital link reset
|
|
16802
|
+
content:
|
|
16803
|
+
application/json:
|
|
16804
|
+
example:
|
|
16805
|
+
id: dl_UkLWZg9DAJ
|
|
16806
|
+
access_counter: 0
|
|
16807
|
+
filename: thinking-cat.jpg
|
|
16808
|
+
content_type: image/jpeg
|
|
16809
|
+
download_url: "/api/v3/store/digital_links/tPqch4JvZidezkNn2YoqxDLc"
|
|
16810
|
+
expires_at: '2026-01-22T12:00:00Z'
|
|
16811
|
+
authorizable: true
|
|
16812
|
+
expired: false
|
|
16813
|
+
access_limit_exceeded: false
|
|
16814
|
+
created_at: '2026-01-15T12:00:00.000Z'
|
|
16815
|
+
updated_at: '2026-01-15T12:00:00.000Z'
|
|
16816
|
+
schema:
|
|
16817
|
+
"$ref": "#/components/schemas/DigitalLink"
|
|
16513
16818
|
"/api/v3/admin/exchanges":
|
|
16514
16819
|
get:
|
|
16515
16820
|
summary: List exchanges
|
|
@@ -16999,6 +17304,92 @@ paths:
|
|
|
16999
17304
|
schema:
|
|
17000
17305
|
"$ref": "#/components/schemas/ExchangeUpdateParams"
|
|
17001
17306
|
required: true
|
|
17307
|
+
"/api/v3/admin/orders/{order_id}/exchanges/{id}/approve":
|
|
17308
|
+
patch:
|
|
17309
|
+
summary: Approve an exchange
|
|
17310
|
+
tags:
|
|
17311
|
+
- Orders
|
|
17312
|
+
x-codeSamples:
|
|
17313
|
+
- lang: javascript
|
|
17314
|
+
label: Spree Admin SDK
|
|
17315
|
+
source: |-
|
|
17316
|
+
import { createAdminClient } from '@spree/admin-sdk'
|
|
17317
|
+
|
|
17318
|
+
const client = createAdminClient({
|
|
17319
|
+
baseUrl: 'https://your-store.com',
|
|
17320
|
+
secretKey: 'sk_xxx',
|
|
17321
|
+
})
|
|
17322
|
+
|
|
17323
|
+
const exchange = await client.orders.exchanges.approve('or_UkLWZg9DAJ', 'exch_UkLWZg9DAJ')
|
|
17324
|
+
- lang: bash
|
|
17325
|
+
label: Spree CLI
|
|
17326
|
+
source: spree api patch /orders/{order_id}/exchanges/{id}/approve -d '{ ...
|
|
17327
|
+
}'
|
|
17328
|
+
security:
|
|
17329
|
+
- api_key: []
|
|
17330
|
+
bearer_auth: []
|
|
17331
|
+
description: |-
|
|
17332
|
+
Accepts a requested exchange so the customer can send the goods back for their replacement. Only a requested exchange can be approved; receive it once the goods arrive.
|
|
17333
|
+
|
|
17334
|
+
**Required scope:** `write_orders` (for API-key authentication).
|
|
17335
|
+
parameters:
|
|
17336
|
+
- name: x-spree-api-key
|
|
17337
|
+
in: header
|
|
17338
|
+
required: true
|
|
17339
|
+
schema:
|
|
17340
|
+
type: string
|
|
17341
|
+
- name: Authorization
|
|
17342
|
+
in: header
|
|
17343
|
+
required: true
|
|
17344
|
+
schema:
|
|
17345
|
+
type: string
|
|
17346
|
+
- name: order_id
|
|
17347
|
+
in: path
|
|
17348
|
+
required: true
|
|
17349
|
+
description: Order prefixed ID
|
|
17350
|
+
schema:
|
|
17351
|
+
type: string
|
|
17352
|
+
- name: id
|
|
17353
|
+
in: path
|
|
17354
|
+
required: true
|
|
17355
|
+
description: Exchange prefixed ID
|
|
17356
|
+
schema:
|
|
17357
|
+
type: string
|
|
17358
|
+
responses:
|
|
17359
|
+
'200':
|
|
17360
|
+
description: exchange approved
|
|
17361
|
+
content:
|
|
17362
|
+
application/json:
|
|
17363
|
+
example:
|
|
17364
|
+
id: exch_UkLWZg9DAJ
|
|
17365
|
+
number: EX1001
|
|
17366
|
+
status: approved
|
|
17367
|
+
order_id: or_UkLWZg9DAJ
|
|
17368
|
+
reason_id:
|
|
17369
|
+
price_difference: '9.99'
|
|
17370
|
+
approved_at: '2026-01-15T12:00:00Z'
|
|
17371
|
+
received_at:
|
|
17372
|
+
fulfilled_at:
|
|
17373
|
+
canceled_at:
|
|
17374
|
+
memo: Wrong size
|
|
17375
|
+
metadata: {}
|
|
17376
|
+
created_at: '2026-01-15T12:00:00.000Z'
|
|
17377
|
+
updated_at: '2026-01-15T12:00:00.000Z'
|
|
17378
|
+
stock_location_id: sloc_UkLWZg9DAJ
|
|
17379
|
+
created_by_id: adm_UkLWZg9DAJ
|
|
17380
|
+
created_by_type: admin_user
|
|
17381
|
+
schema:
|
|
17382
|
+
"$ref": "#/components/schemas/Exchange"
|
|
17383
|
+
'422':
|
|
17384
|
+
description: the exchange is not requested
|
|
17385
|
+
content:
|
|
17386
|
+
application/json:
|
|
17387
|
+
example:
|
|
17388
|
+
error:
|
|
17389
|
+
code: processing_error
|
|
17390
|
+
message: Not requested
|
|
17391
|
+
schema:
|
|
17392
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
17002
17393
|
"/api/v3/admin/orders/{order_id}/exchanges/{id}/receive":
|
|
17003
17394
|
patch:
|
|
17004
17395
|
summary: Receive an exchange
|
|
@@ -18173,8 +18564,8 @@ paths:
|
|
|
18173
18564
|
- US
|
|
18174
18565
|
supported_locales:
|
|
18175
18566
|
- en
|
|
18176
|
-
created_at: '2026-
|
|
18177
|
-
updated_at: '2026-
|
|
18567
|
+
created_at: '2026-11-11T12:45:25.448Z'
|
|
18568
|
+
updated_at: '2026-11-11T12:45:25.448Z'
|
|
18178
18569
|
tax_provider:
|
|
18179
18570
|
external_references: {}
|
|
18180
18571
|
status: draft
|
|
@@ -18508,8 +18899,8 @@ paths:
|
|
|
18508
18899
|
preorder_ships_at:
|
|
18509
18900
|
quantity: 2
|
|
18510
18901
|
currency: USD
|
|
18511
|
-
name: Product
|
|
18512
|
-
slug: product-
|
|
18902
|
+
name: Product 849180
|
|
18903
|
+
slug: product-849180
|
|
18513
18904
|
options_text: 'Size: S'
|
|
18514
18905
|
price: '10.00'
|
|
18515
18906
|
total: '20.00'
|
|
@@ -18524,11 +18915,11 @@ paths:
|
|
|
18524
18915
|
option_values:
|
|
18525
18916
|
- id: optval_UkLWZg9DAJ
|
|
18526
18917
|
option_type_id: opt_UkLWZg9DAJ
|
|
18527
|
-
name: size-
|
|
18918
|
+
name: size-15
|
|
18528
18919
|
label: S
|
|
18529
18920
|
position: 1
|
|
18530
18921
|
color_code:
|
|
18531
|
-
option_type_name: foo-size-
|
|
18922
|
+
option_type_name: foo-size-25
|
|
18532
18923
|
option_type_label: Size
|
|
18533
18924
|
image_url:
|
|
18534
18925
|
metadata: {}
|
|
@@ -18547,6 +18938,7 @@ paths:
|
|
|
18547
18938
|
catalog_name:
|
|
18548
18939
|
cost_price: '17.00'
|
|
18549
18940
|
tax_category_id: taxcat_UkLWZg9DAJ
|
|
18941
|
+
product_id: prod_UkLWZg9DAJ
|
|
18550
18942
|
meta:
|
|
18551
18943
|
page: 1
|
|
18552
18944
|
limit: 25
|
|
@@ -18617,8 +19009,8 @@ paths:
|
|
|
18617
19009
|
preorder_ships_at:
|
|
18618
19010
|
quantity: 3
|
|
18619
19011
|
currency: USD
|
|
18620
|
-
name: Product
|
|
18621
|
-
slug: product-
|
|
19012
|
+
name: Product 8699
|
|
19013
|
+
slug: product-8699
|
|
18622
19014
|
options_text: 'Size: S'
|
|
18623
19015
|
price: '19.99'
|
|
18624
19016
|
total: '59.97'
|
|
@@ -18633,11 +19025,11 @@ paths:
|
|
|
18633
19025
|
option_values:
|
|
18634
19026
|
- id: optval_gbHJdmfrXB
|
|
18635
19027
|
option_type_id: opt_gbHJdmfrXB
|
|
18636
|
-
name: size-
|
|
19028
|
+
name: size-17
|
|
18637
19029
|
label: S
|
|
18638
19030
|
position: 1
|
|
18639
19031
|
color_code:
|
|
18640
|
-
option_type_name: foo-size-
|
|
19032
|
+
option_type_name: foo-size-27
|
|
18641
19033
|
option_type_label: Size
|
|
18642
19034
|
image_url:
|
|
18643
19035
|
metadata: {}
|
|
@@ -18656,6 +19048,7 @@ paths:
|
|
|
18656
19048
|
catalog_name:
|
|
18657
19049
|
cost_price: '17.00'
|
|
18658
19050
|
tax_category_id: taxcat_UkLWZg9DAJ
|
|
19051
|
+
product_id: prod_gbHJdmfrXB
|
|
18659
19052
|
requestBody:
|
|
18660
19053
|
content:
|
|
18661
19054
|
application/json:
|
|
@@ -18740,8 +19133,8 @@ paths:
|
|
|
18740
19133
|
preorder_ships_at:
|
|
18741
19134
|
quantity: 2
|
|
18742
19135
|
currency: USD
|
|
18743
|
-
name: Product
|
|
18744
|
-
slug: product-
|
|
19136
|
+
name: Product 872714
|
|
19137
|
+
slug: product-872714
|
|
18745
19138
|
options_text: 'Size: S'
|
|
18746
19139
|
price: '10.00'
|
|
18747
19140
|
total: '20.00'
|
|
@@ -18756,11 +19149,11 @@ paths:
|
|
|
18756
19149
|
option_values:
|
|
18757
19150
|
- id: optval_UkLWZg9DAJ
|
|
18758
19151
|
option_type_id: opt_UkLWZg9DAJ
|
|
18759
|
-
name: size-
|
|
19152
|
+
name: size-18
|
|
18760
19153
|
label: S
|
|
18761
19154
|
position: 1
|
|
18762
19155
|
color_code:
|
|
18763
|
-
option_type_name: foo-size-
|
|
19156
|
+
option_type_name: foo-size-28
|
|
18764
19157
|
option_type_label: Size
|
|
18765
19158
|
image_url:
|
|
18766
19159
|
metadata: {}
|
|
@@ -18779,6 +19172,7 @@ paths:
|
|
|
18779
19172
|
catalog_name:
|
|
18780
19173
|
cost_price: '17.00'
|
|
18781
19174
|
tax_category_id: taxcat_UkLWZg9DAJ
|
|
19175
|
+
product_id: prod_UkLWZg9DAJ
|
|
18782
19176
|
patch:
|
|
18783
19177
|
summary: Update an item
|
|
18784
19178
|
tags:
|
|
@@ -18844,8 +19238,8 @@ paths:
|
|
|
18844
19238
|
preorder_ships_at:
|
|
18845
19239
|
quantity: 5
|
|
18846
19240
|
currency: USD
|
|
18847
|
-
name: Product
|
|
18848
|
-
slug: product-
|
|
19241
|
+
name: Product 889758
|
|
19242
|
+
slug: product-889758
|
|
18849
19243
|
options_text: 'Size: S'
|
|
18850
19244
|
price: '19.99'
|
|
18851
19245
|
total: '99.95'
|
|
@@ -18860,11 +19254,11 @@ paths:
|
|
|
18860
19254
|
option_values:
|
|
18861
19255
|
- id: optval_UkLWZg9DAJ
|
|
18862
19256
|
option_type_id: opt_UkLWZg9DAJ
|
|
18863
|
-
name: size-
|
|
19257
|
+
name: size-19
|
|
18864
19258
|
label: S
|
|
18865
19259
|
position: 1
|
|
18866
19260
|
color_code:
|
|
18867
|
-
option_type_name: foo-size-
|
|
19261
|
+
option_type_name: foo-size-29
|
|
18868
19262
|
option_type_label: Size
|
|
18869
19263
|
image_url:
|
|
18870
19264
|
metadata: {}
|
|
@@ -18883,6 +19277,7 @@ paths:
|
|
|
18883
19277
|
catalog_name:
|
|
18884
19278
|
cost_price: '17.00'
|
|
18885
19279
|
tax_category_id: taxcat_UkLWZg9DAJ
|
|
19280
|
+
product_id: prod_UkLWZg9DAJ
|
|
18886
19281
|
requestBody:
|
|
18887
19282
|
content:
|
|
18888
19283
|
application/json:
|
|
@@ -19042,8 +19437,8 @@ paths:
|
|
|
19042
19437
|
- US
|
|
19043
19438
|
supported_locales:
|
|
19044
19439
|
- en
|
|
19045
|
-
created_at: '2026-
|
|
19046
|
-
updated_at: '2026-
|
|
19440
|
+
created_at: '2026-11-11T12:45:25.448Z'
|
|
19441
|
+
updated_at: '2026-11-11T12:45:25.448Z'
|
|
19047
19442
|
tax_provider:
|
|
19048
19443
|
external_references: {}
|
|
19049
19444
|
status: draft
|
|
@@ -19395,8 +19790,8 @@ paths:
|
|
|
19395
19790
|
- US
|
|
19396
19791
|
supported_locales:
|
|
19397
19792
|
- en
|
|
19398
|
-
created_at: '2026-
|
|
19399
|
-
updated_at: '2026-
|
|
19793
|
+
created_at: '2026-11-11T12:45:25.448Z'
|
|
19794
|
+
updated_at: '2026-11-11T12:45:25.448Z'
|
|
19400
19795
|
tax_provider:
|
|
19401
19796
|
external_references: {}
|
|
19402
19797
|
status: draft
|
|
@@ -19621,8 +20016,8 @@ paths:
|
|
|
19621
20016
|
- US
|
|
19622
20017
|
supported_locales:
|
|
19623
20018
|
- en
|
|
19624
|
-
created_at: '2026-
|
|
19625
|
-
updated_at: '2026-
|
|
20019
|
+
created_at: '2026-11-11T12:45:25.448Z'
|
|
20020
|
+
updated_at: '2026-11-11T12:45:25.448Z'
|
|
19626
20021
|
tax_provider:
|
|
19627
20022
|
external_references: {}
|
|
19628
20023
|
status: draft
|
|
@@ -19778,8 +20173,8 @@ paths:
|
|
|
19778
20173
|
- US
|
|
19779
20174
|
supported_locales:
|
|
19780
20175
|
- en
|
|
19781
|
-
created_at: '2026-
|
|
19782
|
-
updated_at: '2026-
|
|
20176
|
+
created_at: '2026-11-11T12:45:25.448Z'
|
|
20177
|
+
updated_at: '2026-11-11T12:45:25.448Z'
|
|
19783
20178
|
tax_provider:
|
|
19784
20179
|
external_references: {}
|
|
19785
20180
|
status: draft
|
|
@@ -19925,8 +20320,8 @@ paths:
|
|
|
19925
20320
|
- US
|
|
19926
20321
|
supported_locales:
|
|
19927
20322
|
- en
|
|
19928
|
-
created_at: '2026-
|
|
19929
|
-
updated_at: '2026-
|
|
20323
|
+
created_at: '2026-11-11T12:45:25.448Z'
|
|
20324
|
+
updated_at: '2026-11-11T12:45:25.448Z'
|
|
19930
20325
|
tax_provider:
|
|
19931
20326
|
external_references: {}
|
|
19932
20327
|
status: draft
|
|
@@ -20124,8 +20519,8 @@ paths:
|
|
|
20124
20519
|
- US
|
|
20125
20520
|
supported_locales:
|
|
20126
20521
|
- en
|
|
20127
|
-
created_at: '2026-
|
|
20128
|
-
updated_at: '2026-
|
|
20522
|
+
created_at: '2026-11-11T12:45:25.448Z'
|
|
20523
|
+
updated_at: '2026-11-11T12:45:25.448Z'
|
|
20129
20524
|
tax_provider:
|
|
20130
20525
|
external_references: {}
|
|
20131
20526
|
status: placed
|
|
@@ -20303,8 +20698,8 @@ paths:
|
|
|
20303
20698
|
- US
|
|
20304
20699
|
supported_locales:
|
|
20305
20700
|
- en
|
|
20306
|
-
created_at: '2026-
|
|
20307
|
-
updated_at: '2026-
|
|
20701
|
+
created_at: '2026-11-11T12:45:25.448Z'
|
|
20702
|
+
updated_at: '2026-11-11T12:45:25.448Z'
|
|
20308
20703
|
tax_provider:
|
|
20309
20704
|
external_references: {}
|
|
20310
20705
|
status: canceled
|
|
@@ -20443,8 +20838,8 @@ paths:
|
|
|
20443
20838
|
- US
|
|
20444
20839
|
supported_locales:
|
|
20445
20840
|
- en
|
|
20446
|
-
created_at: '2026-
|
|
20447
|
-
updated_at: '2026-
|
|
20841
|
+
created_at: '2026-11-11T12:45:25.448Z'
|
|
20842
|
+
updated_at: '2026-11-11T12:45:25.448Z'
|
|
20448
20843
|
tax_provider:
|
|
20449
20844
|
external_references: {}
|
|
20450
20845
|
status: placed
|
|
@@ -20577,8 +20972,147 @@ paths:
|
|
|
20577
20972
|
- US
|
|
20578
20973
|
supported_locales:
|
|
20579
20974
|
- en
|
|
20580
|
-
created_at: '2026-
|
|
20581
|
-
updated_at: '2026-
|
|
20975
|
+
created_at: '2026-11-11T12:45:25.448Z'
|
|
20976
|
+
updated_at: '2026-11-11T12:45:25.448Z'
|
|
20977
|
+
tax_provider:
|
|
20978
|
+
external_references: {}
|
|
20979
|
+
status: placed
|
|
20980
|
+
last_ip_address:
|
|
20981
|
+
considered_risky: false
|
|
20982
|
+
confirmation_delivered: false
|
|
20983
|
+
store_owner_notification_delivered:
|
|
20984
|
+
metadata: {}
|
|
20985
|
+
cancel_note:
|
|
20986
|
+
canceled_at:
|
|
20987
|
+
approved_at:
|
|
20988
|
+
created_at: '2026-01-15T12:00:00.000Z'
|
|
20989
|
+
updated_at: '2026-01-15T12:00:00.000Z'
|
|
20990
|
+
payment_total: '0.00'
|
|
20991
|
+
commission_amount_total: '0.00'
|
|
20992
|
+
commission_tax_total: '0.00'
|
|
20993
|
+
commission_total: '0.00'
|
|
20994
|
+
preferred_stock_location_id:
|
|
20995
|
+
po_document_url:
|
|
20996
|
+
seller_id:
|
|
20997
|
+
order_group_id:
|
|
20998
|
+
tags: []
|
|
20999
|
+
internal_note:
|
|
21000
|
+
internal_note_html:
|
|
21001
|
+
approver_id:
|
|
21002
|
+
approver_type:
|
|
21003
|
+
canceler_id:
|
|
21004
|
+
canceler_type:
|
|
21005
|
+
created_by_id:
|
|
21006
|
+
created_by_type:
|
|
21007
|
+
cancel_reason_id:
|
|
21008
|
+
cancel_reason_name:
|
|
21009
|
+
customer_id: cust_UkLWZg9DAJ
|
|
21010
|
+
freight_summary:
|
|
21011
|
+
"/api/v3/admin/orders/{id}/resend_digital_links":
|
|
21012
|
+
post:
|
|
21013
|
+
summary: Resend digital download links
|
|
21014
|
+
tags:
|
|
21015
|
+
- Orders
|
|
21016
|
+
x-codeSamples:
|
|
21017
|
+
- lang: javascript
|
|
21018
|
+
label: Spree Admin SDK
|
|
21019
|
+
source: |-
|
|
21020
|
+
import { createAdminClient } from '@spree/admin-sdk'
|
|
21021
|
+
|
|
21022
|
+
const client = createAdminClient({
|
|
21023
|
+
baseUrl: 'https://your-store.com',
|
|
21024
|
+
secretKey: 'sk_xxx',
|
|
21025
|
+
})
|
|
21026
|
+
|
|
21027
|
+
await client.orders.resendDigitalLinks('or_UkLWZg9DAJ')
|
|
21028
|
+
- lang: bash
|
|
21029
|
+
label: Spree CLI
|
|
21030
|
+
source: spree api post /orders/{id}/resend_digital_links -d '{ ... }'
|
|
21031
|
+
security:
|
|
21032
|
+
- api_key: []
|
|
21033
|
+
bearer_auth: []
|
|
21034
|
+
description: |-
|
|
21035
|
+
Emails the customer their download links for the digital products on
|
|
21036
|
+
this order again. Nothing is sent when the order has no digital links or
|
|
21037
|
+
the store does not send transactional emails. Use it when the original
|
|
21038
|
+
email was lost; to restore used-up downloads or an expired link, reset
|
|
21039
|
+
the digital link instead.
|
|
21040
|
+
|
|
21041
|
+
|
|
21042
|
+
**Required scope:** `write_orders` (for API-key authentication).
|
|
21043
|
+
parameters:
|
|
21044
|
+
- name: x-spree-api-key
|
|
21045
|
+
in: header
|
|
21046
|
+
required: true
|
|
21047
|
+
schema:
|
|
21048
|
+
type: string
|
|
21049
|
+
- name: Authorization
|
|
21050
|
+
in: header
|
|
21051
|
+
required: true
|
|
21052
|
+
description: Bearer token for admin authentication
|
|
21053
|
+
schema:
|
|
21054
|
+
type: string
|
|
21055
|
+
- name: id
|
|
21056
|
+
in: path
|
|
21057
|
+
required: true
|
|
21058
|
+
description: Order ID
|
|
21059
|
+
schema:
|
|
21060
|
+
type: string
|
|
21061
|
+
responses:
|
|
21062
|
+
'200':
|
|
21063
|
+
description: digital links resent
|
|
21064
|
+
content:
|
|
21065
|
+
application/json:
|
|
21066
|
+
example:
|
|
21067
|
+
id: or_UkLWZg9DAJ
|
|
21068
|
+
market_id: mkt_UkLWZg9DAJ
|
|
21069
|
+
withdrawal_period_ends_at:
|
|
21070
|
+
within_withdrawal_period: true
|
|
21071
|
+
shipping_eq_billing_address: false
|
|
21072
|
+
cart_id:
|
|
21073
|
+
channel_id: ch_UkLWZg9DAJ
|
|
21074
|
+
company_id:
|
|
21075
|
+
company_name:
|
|
21076
|
+
po_document_filename:
|
|
21077
|
+
po_document_byte_size:
|
|
21078
|
+
number: R1001
|
|
21079
|
+
email: ivana@schmidtfeest.com
|
|
21080
|
+
customer_note:
|
|
21081
|
+
po_number:
|
|
21082
|
+
currency: USD
|
|
21083
|
+
locale: en
|
|
21084
|
+
total_quantity: 1
|
|
21085
|
+
coupon_code:
|
|
21086
|
+
fulfillment_status:
|
|
21087
|
+
payment_status:
|
|
21088
|
+
completed_at: '2026-01-15T12:00:00.000Z'
|
|
21089
|
+
item_total: '10.00'
|
|
21090
|
+
discount_total: '0.00'
|
|
21091
|
+
tax_total: '0.00'
|
|
21092
|
+
included_tax_total: '0.00'
|
|
21093
|
+
additional_tax_total: '0.00'
|
|
21094
|
+
delivery_total: '100.00'
|
|
21095
|
+
fee_total: '0.00'
|
|
21096
|
+
gift_card_total: '0.00'
|
|
21097
|
+
store_credit_total: '0.00'
|
|
21098
|
+
total: '110.00'
|
|
21099
|
+
amount_due: '110.00'
|
|
21100
|
+
covered_by_store_credit: false
|
|
21101
|
+
adjustment_total: '0.00'
|
|
21102
|
+
gift_card:
|
|
21103
|
+
market:
|
|
21104
|
+
id: mkt_UkLWZg9DAJ
|
|
21105
|
+
name: United States
|
|
21106
|
+
currency: USD
|
|
21107
|
+
default_locale: en
|
|
21108
|
+
tax_inclusive: false
|
|
21109
|
+
default: true
|
|
21110
|
+
country_codes:
|
|
21111
|
+
- US
|
|
21112
|
+
supported_locales:
|
|
21113
|
+
- en
|
|
21114
|
+
created_at: '2026-11-11T12:45:25.448Z'
|
|
21115
|
+
updated_at: '2026-11-11T12:45:25.448Z'
|
|
20582
21116
|
tax_provider:
|
|
20583
21117
|
external_references: {}
|
|
20584
21118
|
status: placed
|
|
@@ -20613,6 +21147,8 @@ paths:
|
|
|
20613
21147
|
cancel_reason_name:
|
|
20614
21148
|
customer_id: cust_UkLWZg9DAJ
|
|
20615
21149
|
freight_summary:
|
|
21150
|
+
schema:
|
|
21151
|
+
"$ref": "#/components/schemas/Order"
|
|
20616
21152
|
"/api/v3/admin/returns":
|
|
20617
21153
|
get:
|
|
20618
21154
|
summary: List returns
|
|
@@ -21037,7 +21573,7 @@ paths:
|
|
|
21037
21573
|
example:
|
|
21038
21574
|
error:
|
|
21039
21575
|
code: processing_error
|
|
21040
|
-
message: Only 1 of Product
|
|
21576
|
+
message: Only 1 of Product 2002493 can be returned
|
|
21041
21577
|
schema:
|
|
21042
21578
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
21043
21579
|
requestBody:
|
|
@@ -21138,18 +21674,11 @@ paths:
|
|
|
21138
21674
|
schema:
|
|
21139
21675
|
"$ref": "#/components/schemas/ReturnUpdateParams"
|
|
21140
21676
|
required: true
|
|
21141
|
-
"/api/v3/admin/orders/{order_id}/returns/{id}/
|
|
21677
|
+
"/api/v3/admin/orders/{order_id}/returns/{id}/approve":
|
|
21142
21678
|
patch:
|
|
21143
|
-
summary:
|
|
21679
|
+
summary: Approve a return
|
|
21144
21680
|
tags:
|
|
21145
21681
|
- Orders
|
|
21146
|
-
security:
|
|
21147
|
-
- api_key: []
|
|
21148
|
-
bearer_auth: []
|
|
21149
|
-
description: |-
|
|
21150
|
-
Records what arrived on an approved return. Omit `items` to receive everything as requested and resellable; send rows for a partial or damaged receipt.
|
|
21151
|
-
|
|
21152
|
-
**Required scope:** `write_orders` (for API-key authentication).
|
|
21153
21682
|
x-codeSamples:
|
|
21154
21683
|
- lang: javascript
|
|
21155
21684
|
label: Spree Admin SDK
|
|
@@ -21161,13 +21690,18 @@ paths:
|
|
|
21161
21690
|
secretKey: 'sk_xxx',
|
|
21162
21691
|
})
|
|
21163
21692
|
|
|
21164
|
-
|
|
21165
|
-
const orderReturn = await client.orders.returns.receive('or_UkLWZg9DAJ', 'ret_UkLWZg9DAJ', {
|
|
21166
|
-
items: [{ return_line_item_id: 'rli_UkLWZg9DAJ', quantity: 1, resellable: false }],
|
|
21167
|
-
})
|
|
21693
|
+
const orderReturn = await client.orders.returns.approve('or_UkLWZg9DAJ', 'ret_UkLWZg9DAJ')
|
|
21168
21694
|
- lang: bash
|
|
21169
21695
|
label: Spree CLI
|
|
21170
|
-
source: spree api patch /orders/{order_id}/returns/{id}/
|
|
21696
|
+
source: spree api patch /orders/{order_id}/returns/{id}/approve -d '{ ...
|
|
21697
|
+
}'
|
|
21698
|
+
security:
|
|
21699
|
+
- api_key: []
|
|
21700
|
+
bearer_auth: []
|
|
21701
|
+
description: |-
|
|
21702
|
+
Accepts a requested return so the customer can send the goods back. Only a requested return can be approved; receive it once the goods arrive.
|
|
21703
|
+
|
|
21704
|
+
**Required scope:** `write_orders` (for API-key authentication).
|
|
21171
21705
|
parameters:
|
|
21172
21706
|
- name: x-spree-api-key
|
|
21173
21707
|
in: header
|
|
@@ -21193,19 +21727,19 @@ paths:
|
|
|
21193
21727
|
type: string
|
|
21194
21728
|
responses:
|
|
21195
21729
|
'200':
|
|
21196
|
-
description: return
|
|
21730
|
+
description: return approved
|
|
21197
21731
|
content:
|
|
21198
21732
|
application/json:
|
|
21199
21733
|
example:
|
|
21200
21734
|
id: ret_UkLWZg9DAJ
|
|
21201
21735
|
number: RET1001
|
|
21202
|
-
status:
|
|
21736
|
+
status: approved
|
|
21203
21737
|
order_id: or_UkLWZg9DAJ
|
|
21204
21738
|
reason_id:
|
|
21205
21739
|
refund_total: '10.00'
|
|
21206
21740
|
refund_tax_total: '0.00'
|
|
21207
21741
|
approved_at: '2026-01-15T12:00:00Z'
|
|
21208
|
-
received_at:
|
|
21742
|
+
received_at:
|
|
21209
21743
|
refunded_at:
|
|
21210
21744
|
canceled_at:
|
|
21211
21745
|
external_references: {}
|
|
@@ -21214,8 +21748,8 @@ paths:
|
|
|
21214
21748
|
created_at: '2026-01-15T12:00:00.000Z'
|
|
21215
21749
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
21216
21750
|
stock_location_id: sloc_UkLWZg9DAJ
|
|
21217
|
-
created_by_id:
|
|
21218
|
-
created_by_type:
|
|
21751
|
+
created_by_id: adm_UkLWZg9DAJ
|
|
21752
|
+
created_by_type: admin_user
|
|
21219
21753
|
refunded_total: '0.00'
|
|
21220
21754
|
refundable_total: '10.00'
|
|
21221
21755
|
documents: []
|
|
@@ -21223,23 +21757,28 @@ paths:
|
|
|
21223
21757
|
deliveries: []
|
|
21224
21758
|
schema:
|
|
21225
21759
|
"$ref": "#/components/schemas/Return"
|
|
21226
|
-
|
|
21227
|
-
|
|
21228
|
-
|
|
21229
|
-
|
|
21230
|
-
|
|
21231
|
-
|
|
21760
|
+
'422':
|
|
21761
|
+
description: the return is not requested
|
|
21762
|
+
content:
|
|
21763
|
+
application/json:
|
|
21764
|
+
example:
|
|
21765
|
+
error:
|
|
21766
|
+
code: processing_error
|
|
21767
|
+
message: Not requested
|
|
21768
|
+
schema:
|
|
21769
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
21770
|
+
"/api/v3/admin/orders/{order_id}/returns/{id}/receive":
|
|
21232
21771
|
patch:
|
|
21233
|
-
summary:
|
|
21772
|
+
summary: Receive a return
|
|
21234
21773
|
tags:
|
|
21235
21774
|
- Orders
|
|
21236
21775
|
security:
|
|
21237
21776
|
- api_key: []
|
|
21238
21777
|
bearer_auth: []
|
|
21239
21778
|
description: |-
|
|
21240
|
-
|
|
21779
|
+
Records what arrived on an approved return. Omit `items` to receive everything as requested and resellable; send rows for a partial or damaged receipt.
|
|
21241
21780
|
|
|
21242
|
-
**Required scope:** `write_orders`
|
|
21781
|
+
**Required scope:** `write_orders` (for API-key authentication).
|
|
21243
21782
|
x-codeSamples:
|
|
21244
21783
|
- lang: javascript
|
|
21245
21784
|
label: Spree Admin SDK
|
|
@@ -21251,13 +21790,103 @@ paths:
|
|
|
21251
21790
|
secretKey: 'sk_xxx',
|
|
21252
21791
|
})
|
|
21253
21792
|
|
|
21254
|
-
|
|
21255
|
-
|
|
21256
|
-
|
|
21793
|
+
// Omit `items` to receive everything as requested and resellable.
|
|
21794
|
+
const orderReturn = await client.orders.returns.receive('or_UkLWZg9DAJ', 'ret_UkLWZg9DAJ', {
|
|
21795
|
+
items: [{ return_line_item_id: 'rli_UkLWZg9DAJ', quantity: 1, resellable: false }],
|
|
21257
21796
|
})
|
|
21258
21797
|
- lang: bash
|
|
21259
21798
|
label: Spree CLI
|
|
21260
|
-
source: spree api patch /orders/{order_id}/returns/{id}/
|
|
21799
|
+
source: spree api patch /orders/{order_id}/returns/{id}/receive -d '{"items":[{"return_line_item_id":"rli_UkLWZg9DAJ","quantity":1,"resellable":false}]}'
|
|
21800
|
+
parameters:
|
|
21801
|
+
- name: x-spree-api-key
|
|
21802
|
+
in: header
|
|
21803
|
+
required: true
|
|
21804
|
+
schema:
|
|
21805
|
+
type: string
|
|
21806
|
+
- name: Authorization
|
|
21807
|
+
in: header
|
|
21808
|
+
required: true
|
|
21809
|
+
schema:
|
|
21810
|
+
type: string
|
|
21811
|
+
- name: order_id
|
|
21812
|
+
in: path
|
|
21813
|
+
required: true
|
|
21814
|
+
description: Order prefixed ID
|
|
21815
|
+
schema:
|
|
21816
|
+
type: string
|
|
21817
|
+
- name: id
|
|
21818
|
+
in: path
|
|
21819
|
+
required: true
|
|
21820
|
+
description: Return prefixed ID
|
|
21821
|
+
schema:
|
|
21822
|
+
type: string
|
|
21823
|
+
responses:
|
|
21824
|
+
'200':
|
|
21825
|
+
description: return received
|
|
21826
|
+
content:
|
|
21827
|
+
application/json:
|
|
21828
|
+
example:
|
|
21829
|
+
id: ret_UkLWZg9DAJ
|
|
21830
|
+
number: RET1001
|
|
21831
|
+
status: received
|
|
21832
|
+
order_id: or_UkLWZg9DAJ
|
|
21833
|
+
reason_id:
|
|
21834
|
+
refund_total: '10.00'
|
|
21835
|
+
refund_tax_total: '0.00'
|
|
21836
|
+
approved_at: '2026-01-15T12:00:00Z'
|
|
21837
|
+
received_at: '2026-01-15T12:00:00Z'
|
|
21838
|
+
refunded_at:
|
|
21839
|
+
canceled_at:
|
|
21840
|
+
external_references: {}
|
|
21841
|
+
memo: Item did not fit
|
|
21842
|
+
metadata: {}
|
|
21843
|
+
created_at: '2026-01-15T12:00:00.000Z'
|
|
21844
|
+
updated_at: '2026-01-15T12:00:00.000Z'
|
|
21845
|
+
stock_location_id: sloc_UkLWZg9DAJ
|
|
21846
|
+
created_by_id:
|
|
21847
|
+
created_by_type:
|
|
21848
|
+
refunded_total: '0.00'
|
|
21849
|
+
refundable_total: '10.00'
|
|
21850
|
+
documents: []
|
|
21851
|
+
labels: []
|
|
21852
|
+
deliveries: []
|
|
21853
|
+
schema:
|
|
21854
|
+
"$ref": "#/components/schemas/Return"
|
|
21855
|
+
requestBody:
|
|
21856
|
+
content:
|
|
21857
|
+
application/json:
|
|
21858
|
+
schema:
|
|
21859
|
+
"$ref": "#/components/schemas/ReturnReceiveParams"
|
|
21860
|
+
"/api/v3/admin/orders/{order_id}/returns/{id}/refund":
|
|
21861
|
+
patch:
|
|
21862
|
+
summary: Refund a return
|
|
21863
|
+
tags:
|
|
21864
|
+
- Orders
|
|
21865
|
+
security:
|
|
21866
|
+
- api_key: []
|
|
21867
|
+
bearer_auth: []
|
|
21868
|
+
description: |-
|
|
21869
|
+
Pays the customer back for a received return, to store credit or through the original payment.
|
|
21870
|
+
|
|
21871
|
+
**Required scope:** `write_orders` and `write_refunds` (for API-key authentication).
|
|
21872
|
+
x-codeSamples:
|
|
21873
|
+
- lang: javascript
|
|
21874
|
+
label: Spree Admin SDK
|
|
21875
|
+
source: |-
|
|
21876
|
+
import { createAdminClient } from '@spree/admin-sdk'
|
|
21877
|
+
|
|
21878
|
+
const client = createAdminClient({
|
|
21879
|
+
baseUrl: 'https://your-store.com',
|
|
21880
|
+
secretKey: 'sk_xxx',
|
|
21881
|
+
})
|
|
21882
|
+
|
|
21883
|
+
const orderReturn = await client.orders.returns.refund('or_UkLWZg9DAJ', 'ret_UkLWZg9DAJ', {
|
|
21884
|
+
amount: '29.99',
|
|
21885
|
+
refund_method: 'original_payment',
|
|
21886
|
+
})
|
|
21887
|
+
- lang: bash
|
|
21888
|
+
label: Spree CLI
|
|
21889
|
+
source: spree api patch /orders/{order_id}/returns/{id}/refund -d '{"amount":"29.99","refund_method":"original_payment"}'
|
|
21261
21890
|
parameters:
|
|
21262
21891
|
- name: x-spree-api-key
|
|
21263
21892
|
in: header
|
|
@@ -21558,6 +22187,107 @@ paths:
|
|
|
21558
22187
|
required:
|
|
21559
22188
|
- data
|
|
21560
22189
|
- meta
|
|
22190
|
+
"/api/v3/admin/orders/{order_id}/returns/{return_id}/labels/{id}/refund":
|
|
22191
|
+
patch:
|
|
22192
|
+
summary: Refund a return label
|
|
22193
|
+
tags:
|
|
22194
|
+
- Orders
|
|
22195
|
+
x-codeSamples:
|
|
22196
|
+
- lang: javascript
|
|
22197
|
+
label: Spree Admin SDK
|
|
22198
|
+
source: |-
|
|
22199
|
+
import { createAdminClient } from '@spree/admin-sdk'
|
|
22200
|
+
|
|
22201
|
+
const client = createAdminClient({
|
|
22202
|
+
baseUrl: 'https://your-store.com',
|
|
22203
|
+
secretKey: 'sk_xxx',
|
|
22204
|
+
})
|
|
22205
|
+
|
|
22206
|
+
const label = await client.orders.returns.labels.refund(
|
|
22207
|
+
'or_UkLWZg9DAJ',
|
|
22208
|
+
'ret_UkLWZg9DAJ',
|
|
22209
|
+
'lbl_UkLWZg9DAJ',
|
|
22210
|
+
)
|
|
22211
|
+
- lang: bash
|
|
22212
|
+
label: Spree CLI
|
|
22213
|
+
source: spree api patch /orders/{order_id}/returns/{return_id}/labels/{id}/refund
|
|
22214
|
+
-d '{ ... }'
|
|
22215
|
+
operationId: return_labels_refund
|
|
22216
|
+
security:
|
|
22217
|
+
- api_key: []
|
|
22218
|
+
bearer_auth: []
|
|
22219
|
+
description: |-
|
|
22220
|
+
Asks the carrier to refund a purchased return label the customer never used, such as when the return is canceled. An uploaded label has nothing to refund.
|
|
22221
|
+
|
|
22222
|
+
**Required scope:** `write_orders` (for API-key authentication).
|
|
22223
|
+
parameters:
|
|
22224
|
+
- name: x-spree-api-key
|
|
22225
|
+
in: header
|
|
22226
|
+
required: true
|
|
22227
|
+
schema:
|
|
22228
|
+
type: string
|
|
22229
|
+
- name: Authorization
|
|
22230
|
+
in: header
|
|
22231
|
+
required: true
|
|
22232
|
+
schema:
|
|
22233
|
+
type: string
|
|
22234
|
+
- name: order_id
|
|
22235
|
+
in: path
|
|
22236
|
+
required: true
|
|
22237
|
+
description: Order prefixed ID
|
|
22238
|
+
schema:
|
|
22239
|
+
type: string
|
|
22240
|
+
- name: return_id
|
|
22241
|
+
in: path
|
|
22242
|
+
required: true
|
|
22243
|
+
description: Return prefixed ID
|
|
22244
|
+
schema:
|
|
22245
|
+
type: string
|
|
22246
|
+
- name: id
|
|
22247
|
+
in: path
|
|
22248
|
+
required: true
|
|
22249
|
+
description: Shipping label prefixed ID
|
|
22250
|
+
schema:
|
|
22251
|
+
type: string
|
|
22252
|
+
responses:
|
|
22253
|
+
'200':
|
|
22254
|
+
description: refund filed
|
|
22255
|
+
content:
|
|
22256
|
+
application/json:
|
|
22257
|
+
example:
|
|
22258
|
+
id: lbl_UkLWZg9DAJ
|
|
22259
|
+
source: purchased
|
|
22260
|
+
status: refunded
|
|
22261
|
+
carrier: ups
|
|
22262
|
+
carrier_name: UPS
|
|
22263
|
+
service: Ground
|
|
22264
|
+
tracking_number: 1Z879E930346830007
|
|
22265
|
+
currency: USD
|
|
22266
|
+
format: pdf
|
|
22267
|
+
external_id: shp_4
|
|
22268
|
+
metadata: {}
|
|
22269
|
+
refunded_at: '2026-01-15T12:00:00.000Z'
|
|
22270
|
+
created_at: '2026-01-15T12:00:00.000Z'
|
|
22271
|
+
updated_at: '2026-01-15T12:00:00.000Z'
|
|
22272
|
+
owner_id: ret_UkLWZg9DAJ
|
|
22273
|
+
owner_type: return
|
|
22274
|
+
cost: '7.25'
|
|
22275
|
+
integration_id:
|
|
22276
|
+
file_pending: false
|
|
22277
|
+
download_url:
|
|
22278
|
+
schema:
|
|
22279
|
+
"$ref": "#/components/schemas/ShippingLabel"
|
|
22280
|
+
'422':
|
|
22281
|
+
description: uploaded labels cannot be refunded
|
|
22282
|
+
content:
|
|
22283
|
+
application/json:
|
|
22284
|
+
example:
|
|
22285
|
+
error:
|
|
22286
|
+
code: processing_error
|
|
22287
|
+
message: An uploaded label was not bought through Spree and cannot
|
|
22288
|
+
be refunded — delete it instead
|
|
22289
|
+
schema:
|
|
22290
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
21561
22291
|
"/api/v3/admin/payment_methods/{payment_method_id}/custom_fields":
|
|
21562
22292
|
get:
|
|
21563
22293
|
summary: List payment method custom fields
|
|
@@ -22319,6 +23049,8 @@ paths:
|
|
|
22319
23049
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
22320
23050
|
avs_risky: false
|
|
22321
23051
|
cvv_risky: false
|
|
23052
|
+
can_void: true
|
|
23053
|
+
can_capture: false
|
|
22322
23054
|
captured_amount: '0.00'
|
|
22323
23055
|
order_id: or_UkLWZg9DAJ
|
|
22324
23056
|
meta:
|
|
@@ -22403,6 +23135,8 @@ paths:
|
|
|
22403
23135
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
22404
23136
|
avs_risky: false
|
|
22405
23137
|
cvv_risky: false
|
|
23138
|
+
can_void: true
|
|
23139
|
+
can_capture: true
|
|
22406
23140
|
captured_amount: '0.00'
|
|
22407
23141
|
order_id: or_gbHJdmfrXB
|
|
22408
23142
|
requestBody:
|
|
@@ -22513,6 +23247,8 @@ paths:
|
|
|
22513
23247
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
22514
23248
|
avs_risky: false
|
|
22515
23249
|
cvv_risky: false
|
|
23250
|
+
can_void: true
|
|
23251
|
+
can_capture: false
|
|
22516
23252
|
captured_amount: '0.00'
|
|
22517
23253
|
order_id: or_UkLWZg9DAJ
|
|
22518
23254
|
"/api/v3/admin/orders/{order_id}/payments/{id}/capture":
|
|
@@ -22604,6 +23340,8 @@ paths:
|
|
|
22604
23340
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
22605
23341
|
avs_risky: false
|
|
22606
23342
|
cvv_risky: false
|
|
23343
|
+
can_void: true
|
|
23344
|
+
can_capture: false
|
|
22607
23345
|
captured_amount: '110.00'
|
|
22608
23346
|
order_id: or_UkLWZg9DAJ
|
|
22609
23347
|
'422':
|
|
@@ -22709,6 +23447,8 @@ paths:
|
|
|
22709
23447
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
22710
23448
|
avs_risky: false
|
|
22711
23449
|
cvv_risky: false
|
|
23450
|
+
can_void: false
|
|
23451
|
+
can_capture: false
|
|
22712
23452
|
captured_amount: '0.00'
|
|
22713
23453
|
order_id: or_UkLWZg9DAJ
|
|
22714
23454
|
"/api/v3/admin/price_lists":
|
|
@@ -23321,7 +24061,7 @@ paths:
|
|
|
23321
24061
|
application/json:
|
|
23322
24062
|
example:
|
|
23323
24063
|
id: pl_UkLWZg9DAJ
|
|
23324
|
-
name: Price List
|
|
24064
|
+
name: Price List 3
|
|
23325
24065
|
description:
|
|
23326
24066
|
status: inactive
|
|
23327
24067
|
position: 1
|
|
@@ -23858,6 +24598,9 @@ paths:
|
|
|
23858
24598
|
summary: Bulk-delete prices
|
|
23859
24599
|
tags:
|
|
23860
24600
|
- Pricing
|
|
24601
|
+
x-spree-agent: false
|
|
24602
|
+
x-spree-agent-reason: Deletes many prices in one call behind a single confirmation;
|
|
24603
|
+
delete_resource removes them one at a time.
|
|
23861
24604
|
security:
|
|
23862
24605
|
- api_key: []
|
|
23863
24606
|
bearer_auth: []
|
|
@@ -24399,7 +25142,7 @@ paths:
|
|
|
24399
25142
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
24400
25143
|
provider_type:
|
|
24401
25144
|
provider_name: File
|
|
24402
|
-
download_url: http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJ0Z252N2l0MG55YnkwbHhkczg5Y2hteTd6aXlvIiwiZGlzcG9zaXRpb24iOiJhdHRhY2htZW50OyBmaWxlbmFtZT1cInRoaW5raW5nLWNhdC5qcGdcIjsgZmlsZW5hbWUqPVVURi04Jyd0aGlua2luZy1jYXQuanBnIiwiY29udGVudF90eXBlIjoiaW1hZ2UvanBlZyIsInNlcnZpY2VfbmFtZSI6InRlc3QifSwiZXhwIjoiMjAyNi0wMS0xNVQxMjowNTowMC4wMDBaIiwicHVyIjoiYmxvYl9rZXkifX0=--
|
|
25145
|
+
download_url: http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJ0Z252N2l0MG55YnkwbHhkczg5Y2hteTd6aXlvIiwiZGlzcG9zaXRpb24iOiJhdHRhY2htZW50OyBmaWxlbmFtZT1cInRoaW5raW5nLWNhdC5qcGdcIjsgZmlsZW5hbWUqPVVURi04Jyd0aGlua2luZy1jYXQuanBnIiwiY29udGVudF90eXBlIjoiaW1hZ2UvanBlZyIsInNlcnZpY2VfbmFtZSI6InRlc3QifSwiZXhwIjoiMjAyNi0wMS0xNVQxMjowNTowMC4wMDBaIiwicHVyIjoiYmxvYl9rZXkifX0=--709f2019d409ca81185d256a48389bc187a4544d/thinking-cat.jpg
|
|
24403
25146
|
effective_authorized_clicks: 5
|
|
24404
25147
|
effective_authorized_days: 7
|
|
24405
25148
|
provider_settings: {}
|
|
@@ -24490,7 +25233,7 @@ paths:
|
|
|
24490
25233
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
24491
25234
|
provider_type:
|
|
24492
25235
|
provider_name: File
|
|
24493
|
-
download_url: http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJhOXR0cGNpbmxxbThvbmtlNHM1NmI2Y3gxMWVzIiwiZGlzcG9zaXRpb24iOiJhdHRhY2htZW50OyBmaWxlbmFtZT1cIm1hbnVhbC5wZGZcIjsgZmlsZW5hbWUqPVVURi04JydtYW51YWwucGRmIiwiY29udGVudF90eXBlIjoiaW1hZ2UvanBlZyIsInNlcnZpY2VfbmFtZSI6InRlc3QifSwiZXhwIjoiMjAyNi0wMS0xNVQxMjowNTowMC4wMDBaIiwicHVyIjoiYmxvYl9rZXkifX0=--
|
|
25236
|
+
download_url: http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJhOXR0cGNpbmxxbThvbmtlNHM1NmI2Y3gxMWVzIiwiZGlzcG9zaXRpb24iOiJhdHRhY2htZW50OyBmaWxlbmFtZT1cIm1hbnVhbC5wZGZcIjsgZmlsZW5hbWUqPVVURi04JydtYW51YWwucGRmIiwiY29udGVudF90eXBlIjoiaW1hZ2UvanBlZyIsInNlcnZpY2VfbmFtZSI6InRlc3QifSwiZXhwIjoiMjAyNi0wMS0xNVQxMjowNTowMC4wMDBaIiwicHVyIjoiYmxvYl9rZXkifX0=--4aedc095f285621c27efe025cd8841f58d6d09d3/manual.pdf
|
|
24494
25237
|
effective_authorized_clicks: 5
|
|
24495
25238
|
effective_authorized_days: 30
|
|
24496
25239
|
provider_settings: {}
|
|
@@ -24579,7 +25322,7 @@ paths:
|
|
|
24579
25322
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
24580
25323
|
provider_type:
|
|
24581
25324
|
provider_name: File
|
|
24582
|
-
download_url: http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiIwZXp6d3IzMzE3ajRoem9kc3Awc2czN3EzMnhzIiwiZGlzcG9zaXRpb24iOiJhdHRhY2htZW50OyBmaWxlbmFtZT1cInRoaW5raW5nLWNhdC5qcGdcIjsgZmlsZW5hbWUqPVVURi04Jyd0aGlua2luZy1jYXQuanBnIiwiY29udGVudF90eXBlIjoiaW1hZ2UvanBlZyIsInNlcnZpY2VfbmFtZSI6InRlc3QifSwiZXhwIjoiMjAyNi0wMS0xNVQxMjowNTowMC4wMDBaIiwicHVyIjoiYmxvYl9rZXkifX0=--
|
|
25325
|
+
download_url: http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiIwZXp6d3IzMzE3ajRoem9kc3Awc2czN3EzMnhzIiwiZGlzcG9zaXRpb24iOiJhdHRhY2htZW50OyBmaWxlbmFtZT1cInRoaW5raW5nLWNhdC5qcGdcIjsgZmlsZW5hbWUqPVVURi04Jyd0aGlua2luZy1jYXQuanBnIiwiY29udGVudF90eXBlIjoiaW1hZ2UvanBlZyIsInNlcnZpY2VfbmFtZSI6InRlc3QifSwiZXhwIjoiMjAyNi0wMS0xNVQxMjowNTowMC4wMDBaIiwicHVyIjoiYmxvYl9rZXkifX0=--506612a6a2fda890a0b082043117cbc516d49d89/thinking-cat.jpg
|
|
24583
25326
|
effective_authorized_clicks: 10
|
|
24584
25327
|
effective_authorized_days: 7
|
|
24585
25328
|
provider_settings: {}
|
|
@@ -24948,8 +25691,8 @@ paths:
|
|
|
24948
25691
|
example:
|
|
24949
25692
|
data:
|
|
24950
25693
|
- id: prod_UkLWZg9DAJ
|
|
24951
|
-
name: Product
|
|
24952
|
-
slug: product-
|
|
25694
|
+
name: Product 1376550
|
|
25695
|
+
slug: product-1376550
|
|
24953
25696
|
meta_title:
|
|
24954
25697
|
meta_description:
|
|
24955
25698
|
meta_keywords:
|
|
@@ -24993,6 +25736,7 @@ paths:
|
|
|
24993
25736
|
seller_name:
|
|
24994
25737
|
product_type_id:
|
|
24995
25738
|
tax_category_id: taxcat_UkLWZg9DAJ
|
|
25739
|
+
total_on_hand: 0
|
|
24996
25740
|
meta:
|
|
24997
25741
|
page: 1
|
|
24998
25742
|
limit: 25
|
|
@@ -25109,7 +25853,7 @@ paths:
|
|
|
25109
25853
|
meta_title:
|
|
25110
25854
|
meta_description:
|
|
25111
25855
|
meta_keywords:
|
|
25112
|
-
variant_count:
|
|
25856
|
+
variant_count: 1
|
|
25113
25857
|
available_on:
|
|
25114
25858
|
preorder_ships_at:
|
|
25115
25859
|
purchasable: false
|
|
@@ -25136,6 +25880,7 @@ paths:
|
|
|
25136
25880
|
seller_name:
|
|
25137
25881
|
product_type_id:
|
|
25138
25882
|
tax_category_id:
|
|
25883
|
+
total_on_hand: 0
|
|
25139
25884
|
schema:
|
|
25140
25885
|
"$ref": "#/components/schemas/Product"
|
|
25141
25886
|
'422':
|
|
@@ -25227,8 +25972,8 @@ paths:
|
|
|
25227
25972
|
application/json:
|
|
25228
25973
|
example:
|
|
25229
25974
|
id: prod_UkLWZg9DAJ
|
|
25230
|
-
name: Product
|
|
25231
|
-
slug: product-
|
|
25975
|
+
name: Product 1412061
|
|
25976
|
+
slug: product-1412061
|
|
25232
25977
|
meta_title:
|
|
25233
25978
|
meta_description:
|
|
25234
25979
|
meta_keywords:
|
|
@@ -25270,6 +26015,7 @@ paths:
|
|
|
25270
26015
|
seller_name:
|
|
25271
26016
|
product_type_id:
|
|
25272
26017
|
tax_category_id: taxcat_UkLWZg9DAJ
|
|
26018
|
+
total_on_hand: 0
|
|
25273
26019
|
schema:
|
|
25274
26020
|
"$ref": "#/components/schemas/Product"
|
|
25275
26021
|
'404':
|
|
@@ -25338,7 +26084,7 @@ paths:
|
|
|
25338
26084
|
example:
|
|
25339
26085
|
id: prod_UkLWZg9DAJ
|
|
25340
26086
|
name: Updated Name
|
|
25341
|
-
slug: product-
|
|
26087
|
+
slug: product-1435339
|
|
25342
26088
|
meta_title:
|
|
25343
26089
|
meta_description:
|
|
25344
26090
|
meta_keywords:
|
|
@@ -25390,6 +26136,7 @@ paths:
|
|
|
25390
26136
|
seller_name:
|
|
25391
26137
|
product_type_id:
|
|
25392
26138
|
tax_category_id: taxcat_UkLWZg9DAJ
|
|
26139
|
+
total_on_hand: 0
|
|
25393
26140
|
schema:
|
|
25394
26141
|
"$ref": "#/components/schemas/Product"
|
|
25395
26142
|
'422':
|
|
@@ -25475,11 +26222,129 @@ paths:
|
|
|
25475
26222
|
specific: false
|
|
25476
26223
|
schema:
|
|
25477
26224
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
26225
|
+
"/api/v3/admin/products/{id}/clone":
|
|
26226
|
+
parameters:
|
|
26227
|
+
- name: id
|
|
26228
|
+
in: path
|
|
26229
|
+
required: true
|
|
26230
|
+
description: Product ID
|
|
26231
|
+
schema:
|
|
26232
|
+
type: string
|
|
26233
|
+
post:
|
|
26234
|
+
summary: Clone a product
|
|
26235
|
+
tags:
|
|
26236
|
+
- Products
|
|
26237
|
+
x-codeSamples:
|
|
26238
|
+
- lang: javascript
|
|
26239
|
+
label: Spree Admin SDK
|
|
26240
|
+
source: |-
|
|
26241
|
+
import { createAdminClient } from '@spree/admin-sdk'
|
|
26242
|
+
|
|
26243
|
+
const client = createAdminClient({
|
|
26244
|
+
baseUrl: 'https://your-store.com',
|
|
26245
|
+
secretKey: 'sk_xxx',
|
|
26246
|
+
})
|
|
26247
|
+
|
|
26248
|
+
const copy = await client.products.clone('prod_UkLWZg9DAJ')
|
|
26249
|
+
- lang: bash
|
|
26250
|
+
label: Spree CLI
|
|
26251
|
+
source: spree api post /products/{id}/clone -d '{ ... }'
|
|
26252
|
+
security:
|
|
26253
|
+
- api_key: []
|
|
26254
|
+
bearer_auth: []
|
|
26255
|
+
description: |-
|
|
26256
|
+
Creates a draft copy of a product, named "COPY OF …", with its variants,
|
|
26257
|
+
prices, stock locations, images, categories, channels and tags; stock on
|
|
26258
|
+
hand starts at zero. Use it to start a similar product from an existing
|
|
26259
|
+
one instead of building it from scratch.
|
|
26260
|
+
|
|
26261
|
+
|
|
26262
|
+
**Required scope:** `write_products` (for API-key authentication).
|
|
26263
|
+
parameters:
|
|
26264
|
+
- name: x-spree-api-key
|
|
26265
|
+
in: header
|
|
26266
|
+
required: true
|
|
26267
|
+
schema:
|
|
26268
|
+
type: string
|
|
26269
|
+
- name: Authorization
|
|
26270
|
+
in: header
|
|
26271
|
+
required: true
|
|
26272
|
+
schema:
|
|
26273
|
+
type: string
|
|
26274
|
+
responses:
|
|
26275
|
+
'201':
|
|
26276
|
+
description: product cloned
|
|
26277
|
+
content:
|
|
26278
|
+
application/json:
|
|
26279
|
+
example:
|
|
26280
|
+
id: prod_gbHJdmfrXB
|
|
26281
|
+
name: COPY OF Product 1472357
|
|
26282
|
+
slug: copy-of-product-1472357
|
|
26283
|
+
meta_title:
|
|
26284
|
+
meta_description:
|
|
26285
|
+
meta_keywords:
|
|
26286
|
+
variant_count: 1
|
|
26287
|
+
available_on:
|
|
26288
|
+
preorder_ships_at:
|
|
26289
|
+
purchasable: true
|
|
26290
|
+
preorder: false
|
|
26291
|
+
in_stock: false
|
|
26292
|
+
backorderable: true
|
|
26293
|
+
available: false
|
|
26294
|
+
description: Dolore facere hic laboriosam sapiente nobis. Doloribus
|
|
26295
|
+
deleniti quasi esse aliquid voluptatem. Rem voluptate omnis suscipit
|
|
26296
|
+
adipisci laudantium. Deleniti error dolorum ratione dolor assumenda
|
|
26297
|
+
iusto. Laborum non rem sapiente temporibus quam inventore. Voluptatum
|
|
26298
|
+
magnam hic molestias laudantium necessitatibus. Totam ducimus provident
|
|
26299
|
+
aliquam repellendus nam maxime error natus. Ex aspernatur nostrum
|
|
26300
|
+
deserunt maxime quis occaecati expedita dolore. Debitis est laboriosam
|
|
26301
|
+
modi aspernatur cumque. Sapiente ab corrupti quos doloremque eius.
|
|
26302
|
+
Laborum officiis culpa voluptate fuga sed. Nemo possimus vel architecto
|
|
26303
|
+
quo modi. Velit aut non iusto exercitationem nostrum nemo. Velit
|
|
26304
|
+
illo nisi quaerat perspiciatis facilis temporibus quae esse.
|
|
26305
|
+
description_html: |-
|
|
26306
|
+
Dolore facere hic laboriosam sapiente nobis. Doloribus deleniti quasi esse aliquid voluptatem. Rem voluptate omnis suscipit adipisci laudantium.
|
|
26307
|
+
Deleniti error dolorum ratione dolor assumenda iusto. Laborum non rem sapiente temporibus quam inventore. Voluptatum magnam hic molestias laudantium necessitatibus. Totam ducimus provident aliquam repellendus nam maxime error natus.
|
|
26308
|
+
Ex aspernatur nostrum deserunt maxime quis occaecati expedita dolore. Debitis est laboriosam modi aspernatur cumque. Sapiente ab corrupti quos doloremque eius.
|
|
26309
|
+
Laborum officiis culpa voluptate fuga sed. Nemo possimus vel architecto quo modi. Velit aut non iusto exercitationem nostrum nemo. Velit illo nisi quaerat perspiciatis facilis temporibus quae esse.
|
|
26310
|
+
default_variant_id: variant_gbHJdmfrXB
|
|
26311
|
+
buy_box_variant_id: variant_gbHJdmfrXB
|
|
26312
|
+
thumbnail_url:
|
|
26313
|
+
tags: []
|
|
26314
|
+
price:
|
|
26315
|
+
id: price_gbHJdmfrXB
|
|
26316
|
+
currency: USD
|
|
26317
|
+
amount: '19.99'
|
|
26318
|
+
compare_at_amount:
|
|
26319
|
+
price_list_id:
|
|
26320
|
+
min_quantity: 1
|
|
26321
|
+
variant_id: variant_gbHJdmfrXB
|
|
26322
|
+
created_at: '2026-01-15T12:00:00.000Z'
|
|
26323
|
+
updated_at: '2026-01-15T12:00:00.000Z'
|
|
26324
|
+
original_price:
|
|
26325
|
+
seller_id:
|
|
26326
|
+
external_references: {}
|
|
26327
|
+
status: draft
|
|
26328
|
+
metadata: {}
|
|
26329
|
+
deleted_at:
|
|
26330
|
+
created_at: '2026-01-15T12:00:00.000Z'
|
|
26331
|
+
updated_at: '2026-01-15T12:00:00.000Z'
|
|
26332
|
+
delivery_profile_id: fp_UkLWZg9DAJ
|
|
26333
|
+
seller_name:
|
|
26334
|
+
product_type_id:
|
|
26335
|
+
tax_category_id: taxcat_UkLWZg9DAJ
|
|
26336
|
+
total_on_hand: 0
|
|
26337
|
+
schema:
|
|
26338
|
+
"$ref": "#/components/schemas/Product"
|
|
25478
26339
|
"/api/v3/admin/products/bulk_status_update":
|
|
25479
26340
|
post:
|
|
25480
26341
|
summary: Bulk-update product status
|
|
25481
26342
|
tags:
|
|
25482
26343
|
- Products
|
|
26344
|
+
x-spree-agent: false
|
|
26345
|
+
x-spree-agent-reason: Writes the status column for many products at once, skipping
|
|
26346
|
+
the status workflows and their events; products_activate, products_archive
|
|
26347
|
+
and products_draft run them.
|
|
25483
26348
|
security:
|
|
25484
26349
|
- api_key: []
|
|
25485
26350
|
bearer_auth: []
|
|
@@ -26039,6 +26904,9 @@ paths:
|
|
|
26039
26904
|
summary: Bulk-delete products
|
|
26040
26905
|
tags:
|
|
26041
26906
|
- Products
|
|
26907
|
+
x-spree-agent: false
|
|
26908
|
+
x-spree-agent-reason: Deletes many products in one call behind a single confirmation;
|
|
26909
|
+
delete_resource removes them one at a time.
|
|
26042
26910
|
security:
|
|
26043
26911
|
- api_key: []
|
|
26044
26912
|
bearer_auth: []
|
|
@@ -26122,12 +26990,6 @@ paths:
|
|
|
26122
26990
|
security:
|
|
26123
26991
|
- api_key: []
|
|
26124
26992
|
bearer_auth: []
|
|
26125
|
-
description: |-
|
|
26126
|
-
Puts a product a seller submitted for review on sale, and closes the
|
|
26127
|
-
submission. Only a product awaiting review can be approved.
|
|
26128
|
-
|
|
26129
|
-
|
|
26130
|
-
**Required scope:** `write_products` (for API-key authentication).
|
|
26131
26993
|
parameters:
|
|
26132
26994
|
- name: x-spree-api-key
|
|
26133
26995
|
in: header
|
|
@@ -26139,6 +27001,11 @@ paths:
|
|
|
26139
27001
|
required: true
|
|
26140
27002
|
schema:
|
|
26141
27003
|
type: string
|
|
27004
|
+
description: |-
|
|
27005
|
+
Puts a product a seller submitted for review on sale, and closes the
|
|
27006
|
+
submission. Only a product awaiting review can be approved.
|
|
27007
|
+
|
|
27008
|
+
**Required scope:** `write_products` (for API-key authentication).
|
|
26142
27009
|
responses:
|
|
26143
27010
|
'200':
|
|
26144
27011
|
description: product approved
|
|
@@ -26146,8 +27013,8 @@ paths:
|
|
|
26146
27013
|
application/json:
|
|
26147
27014
|
example:
|
|
26148
27015
|
id: prod_gbHJdmfrXB
|
|
26149
|
-
name: Product
|
|
26150
|
-
slug: product-
|
|
27016
|
+
name: Product 1628682
|
|
27017
|
+
slug: product-1628682
|
|
26151
27018
|
meta_title:
|
|
26152
27019
|
meta_description:
|
|
26153
27020
|
meta_keywords:
|
|
@@ -26198,19 +27065,271 @@ paths:
|
|
|
26198
27065
|
seller_name:
|
|
26199
27066
|
product_type_id:
|
|
26200
27067
|
tax_category_id: taxcat_UkLWZg9DAJ
|
|
27068
|
+
total_on_hand: 0
|
|
27069
|
+
schema:
|
|
27070
|
+
"$ref": "#/components/schemas/Product"
|
|
27071
|
+
'422':
|
|
27072
|
+
description: the product is not awaiting review
|
|
27073
|
+
content:
|
|
27074
|
+
application/json:
|
|
27075
|
+
example:
|
|
27076
|
+
error:
|
|
27077
|
+
code: processing_error
|
|
27078
|
+
message: This product is not awaiting review.
|
|
27079
|
+
schema:
|
|
27080
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
27081
|
+
"/api/v3/admin/products/{id}/reject":
|
|
27082
|
+
parameters:
|
|
27083
|
+
- name: id
|
|
27084
|
+
in: path
|
|
27085
|
+
required: true
|
|
27086
|
+
description: Product ID
|
|
27087
|
+
schema:
|
|
27088
|
+
type: string
|
|
27089
|
+
patch:
|
|
27090
|
+
summary: Reject a submitted product
|
|
27091
|
+
tags:
|
|
27092
|
+
- Products
|
|
27093
|
+
security:
|
|
27094
|
+
- api_key: []
|
|
27095
|
+
bearer_auth: []
|
|
27096
|
+
description: |-
|
|
27097
|
+
Turns down a product a seller submitted for review. The `reason` is
|
|
27098
|
+
sent back to the seller, who can fix the product and submit it again.
|
|
27099
|
+
|
|
27100
|
+
|
|
27101
|
+
**Required scope:** `write_products` (for API-key authentication).
|
|
27102
|
+
x-codeSamples:
|
|
27103
|
+
- lang: javascript
|
|
27104
|
+
label: Spree Admin SDK
|
|
27105
|
+
source: |-
|
|
27106
|
+
import { createAdminClient } from '@spree/admin-sdk'
|
|
27107
|
+
|
|
27108
|
+
const client = createAdminClient({
|
|
27109
|
+
baseUrl: 'https://your-store.com',
|
|
27110
|
+
secretKey: 'sk_xxx',
|
|
27111
|
+
})
|
|
27112
|
+
|
|
27113
|
+
// The seller sees the reason, fixes the product and submits it again.
|
|
27114
|
+
const product = await client.products.reject('prod_86Rf07xd4z', {
|
|
27115
|
+
reason: 'Photos are too dark',
|
|
27116
|
+
})
|
|
27117
|
+
- lang: bash
|
|
27118
|
+
label: Spree CLI
|
|
27119
|
+
source: spree api patch /products/{id}/reject -d '{"reason":"Photos are too
|
|
27120
|
+
dark"}'
|
|
27121
|
+
parameters:
|
|
27122
|
+
- name: x-spree-api-key
|
|
27123
|
+
in: header
|
|
27124
|
+
required: true
|
|
27125
|
+
schema:
|
|
27126
|
+
type: string
|
|
27127
|
+
- name: Authorization
|
|
27128
|
+
in: header
|
|
27129
|
+
required: true
|
|
27130
|
+
schema:
|
|
27131
|
+
type: string
|
|
27132
|
+
responses:
|
|
27133
|
+
'200':
|
|
27134
|
+
description: product rejected
|
|
27135
|
+
content:
|
|
27136
|
+
application/json:
|
|
27137
|
+
example:
|
|
27138
|
+
id: prod_gbHJdmfrXB
|
|
27139
|
+
name: Product 1654387
|
|
27140
|
+
slug: product-1654387
|
|
27141
|
+
meta_title:
|
|
27142
|
+
meta_description:
|
|
27143
|
+
meta_keywords:
|
|
27144
|
+
variant_count: 1
|
|
27145
|
+
available_on:
|
|
27146
|
+
preorder_ships_at:
|
|
27147
|
+
purchasable: true
|
|
27148
|
+
preorder: false
|
|
27149
|
+
in_stock: false
|
|
27150
|
+
backorderable: true
|
|
27151
|
+
available: false
|
|
27152
|
+
description: Iste blanditiis quos vero ipsam reprehenderit quae. Culpa
|
|
27153
|
+
recusandae ut quisquam facilis enim dolorum eius. Sapiente explicabo
|
|
27154
|
+
animi necessitatibus perspiciatis doloribus aspernatur nobis. Labore
|
|
27155
|
+
similique ipsa debitis voluptate a. Nemo occaecati magnam quos voluptatibus
|
|
27156
|
+
amet. Facilis quis aperiam corporis corrupti enim. Voluptate dignissimos
|
|
27157
|
+
alias exercitationem repudiandae eligendi rerum hic. Facilis sed
|
|
27158
|
+
doloremque dicta porro saepe. Ipsam alias et ipsum voluptatum aperiam
|
|
27159
|
+
molestiae aliquam tempora. Quod ipsa quas eos hic corrupti dignissimos
|
|
27160
|
+
dolorum occaecati. Commodi quis animi at possimus laborum beatae.
|
|
27161
|
+
Aliquam vero suscipit reiciendis dolor placeat. Deleniti corporis
|
|
27162
|
+
tempora accusamus quae nesciunt animi. Numquam occaecati sapiente
|
|
27163
|
+
accusantium amet illum. Vero odio reprehenderit ipsa esse aliquid
|
|
27164
|
+
autem ad.
|
|
27165
|
+
description_html: |-
|
|
27166
|
+
Iste blanditiis quos vero ipsam reprehenderit quae. Culpa recusandae ut quisquam facilis enim dolorum eius. Sapiente explicabo animi necessitatibus perspiciatis doloribus aspernatur nobis. Labore similique ipsa debitis voluptate a.
|
|
27167
|
+
Nemo occaecati magnam quos voluptatibus amet. Facilis quis aperiam corporis corrupti enim. Voluptate dignissimos alias exercitationem repudiandae eligendi rerum hic.
|
|
27168
|
+
Facilis sed doloremque dicta porro saepe. Ipsam alias et ipsum voluptatum aperiam molestiae aliquam tempora. Quod ipsa quas eos hic corrupti dignissimos dolorum occaecati. Commodi quis animi at possimus laborum beatae.
|
|
27169
|
+
Aliquam vero suscipit reiciendis dolor placeat. Deleniti corporis tempora accusamus quae nesciunt animi. Numquam occaecati sapiente accusantium amet illum. Vero odio reprehenderit ipsa esse aliquid autem ad.
|
|
27170
|
+
default_variant_id: variant_gbHJdmfrXB
|
|
27171
|
+
buy_box_variant_id: variant_gbHJdmfrXB
|
|
27172
|
+
thumbnail_url:
|
|
27173
|
+
tags: []
|
|
27174
|
+
price:
|
|
27175
|
+
id: price_gbHJdmfrXB
|
|
27176
|
+
currency: USD
|
|
27177
|
+
amount: '19.99'
|
|
27178
|
+
compare_at_amount:
|
|
27179
|
+
price_list_id:
|
|
27180
|
+
min_quantity: 1
|
|
27181
|
+
variant_id: variant_gbHJdmfrXB
|
|
27182
|
+
created_at: '2026-01-15T12:00:00.000Z'
|
|
27183
|
+
updated_at: '2026-01-15T12:00:00.000Z'
|
|
27184
|
+
original_price:
|
|
27185
|
+
seller_id:
|
|
27186
|
+
external_references: {}
|
|
27187
|
+
status: rejected
|
|
27188
|
+
metadata: {}
|
|
27189
|
+
deleted_at:
|
|
27190
|
+
created_at: '2026-01-15T12:00:00.000Z'
|
|
27191
|
+
updated_at: '2026-01-15T12:00:00.000Z'
|
|
27192
|
+
delivery_profile_id: fp_UkLWZg9DAJ
|
|
27193
|
+
seller_name:
|
|
27194
|
+
product_type_id:
|
|
27195
|
+
tax_category_id: taxcat_UkLWZg9DAJ
|
|
27196
|
+
total_on_hand: 0
|
|
27197
|
+
schema:
|
|
27198
|
+
"$ref": "#/components/schemas/Product"
|
|
27199
|
+
requestBody:
|
|
27200
|
+
content:
|
|
27201
|
+
application/json:
|
|
27202
|
+
schema:
|
|
27203
|
+
"$ref": "#/components/schemas/ProductRejectParams"
|
|
27204
|
+
required: true
|
|
27205
|
+
"/api/v3/admin/products/{id}/activate":
|
|
27206
|
+
parameters:
|
|
27207
|
+
- name: id
|
|
27208
|
+
in: path
|
|
27209
|
+
required: true
|
|
27210
|
+
description: Product ID
|
|
27211
|
+
schema:
|
|
27212
|
+
type: string
|
|
27213
|
+
patch:
|
|
27214
|
+
summary: Activate a product
|
|
27215
|
+
tags:
|
|
27216
|
+
- Products
|
|
27217
|
+
x-codeSamples:
|
|
27218
|
+
- lang: javascript
|
|
27219
|
+
label: Spree Admin SDK
|
|
27220
|
+
source: |-
|
|
27221
|
+
import { createAdminClient } from '@spree/admin-sdk'
|
|
27222
|
+
|
|
27223
|
+
const client = createAdminClient({
|
|
27224
|
+
baseUrl: 'https://your-store.com',
|
|
27225
|
+
secretKey: 'sk_xxx',
|
|
27226
|
+
})
|
|
27227
|
+
|
|
27228
|
+
const product = await client.products.activate('prod_UkLWZg9DAJ')
|
|
27229
|
+
- lang: bash
|
|
27230
|
+
label: Spree CLI
|
|
27231
|
+
source: spree api patch /products/{id}/activate -d '{ ... }'
|
|
27232
|
+
security:
|
|
27233
|
+
- api_key: []
|
|
27234
|
+
bearer_auth: []
|
|
27235
|
+
description: |-
|
|
27236
|
+
Puts one product on sale. Runs the activation workflow, so its hooks and the `product.activated` event fire, which `bulk_status_update` does not. A product awaiting review is refused: approve or reject it instead.
|
|
27237
|
+
|
|
27238
|
+
|
|
27239
|
+
**Required scope:** `write_products` (for API-key authentication).
|
|
27240
|
+
parameters:
|
|
27241
|
+
- name: x-spree-api-key
|
|
27242
|
+
in: header
|
|
27243
|
+
required: true
|
|
27244
|
+
schema:
|
|
27245
|
+
type: string
|
|
27246
|
+
- name: Authorization
|
|
27247
|
+
in: header
|
|
27248
|
+
required: true
|
|
27249
|
+
schema:
|
|
27250
|
+
type: string
|
|
27251
|
+
responses:
|
|
27252
|
+
'200':
|
|
27253
|
+
description: product active
|
|
27254
|
+
content:
|
|
27255
|
+
application/json:
|
|
27256
|
+
example:
|
|
27257
|
+
id: prod_gbHJdmfrXB
|
|
27258
|
+
name: Product 1674119
|
|
27259
|
+
slug: product-1674119
|
|
27260
|
+
meta_title:
|
|
27261
|
+
meta_description:
|
|
27262
|
+
meta_keywords:
|
|
27263
|
+
variant_count: 1
|
|
27264
|
+
available_on:
|
|
27265
|
+
preorder_ships_at:
|
|
27266
|
+
purchasable: true
|
|
27267
|
+
preorder: false
|
|
27268
|
+
in_stock: false
|
|
27269
|
+
backorderable: true
|
|
27270
|
+
available: true
|
|
27271
|
+
description: Tempora doloribus sit consectetur cumque omnis. Quod
|
|
27272
|
+
fugit dicta ullam omnis. Hic dolorem asperiores nemo est sed nihil
|
|
27273
|
+
quia deleniti. Saepe aperiam eos nulla quia porro minima officiis
|
|
27274
|
+
cum. Eius dignissimos laudantium sequi incidunt. Sed nihil voluptate
|
|
27275
|
+
aliquid nisi. Veritatis tenetur quos aspernatur modi perspiciatis
|
|
27276
|
+
quaerat. Voluptas harum neque labore fuga reprehenderit unde quasi.
|
|
27277
|
+
Omnis quam autem in ipsam aspernatur architecto alias recusandae.
|
|
27278
|
+
Repudiandae ratione vel expedita corporis et pariatur rem sapiente.
|
|
27279
|
+
Velit laboriosam nulla quibusdam fugit minus itaque ut repellat.
|
|
27280
|
+
Incidunt est fugiat totam ipsa quod deserunt. Natus sequi numquam
|
|
27281
|
+
laudantium non similique saepe ipsam quos. Ad impedit necessitatibus
|
|
27282
|
+
quo nesciunt blanditiis id similique recusandae. Ut occaecati debitis
|
|
27283
|
+
aliquam accusantium sed distinctio neque. Labore quos quam optio
|
|
27284
|
+
aperiam dolores aspernatur vitae odio. Eius nam adipisci corrupti
|
|
27285
|
+
incidunt quod sapiente tempora dicta.
|
|
27286
|
+
description_html: |-
|
|
27287
|
+
Tempora doloribus sit consectetur cumque omnis. Quod fugit dicta ullam omnis. Hic dolorem asperiores nemo est sed nihil quia deleniti.
|
|
27288
|
+
Saepe aperiam eos nulla quia porro minima officiis cum. Eius dignissimos laudantium sequi incidunt. Sed nihil voluptate aliquid nisi.
|
|
27289
|
+
Veritatis tenetur quos aspernatur modi perspiciatis quaerat. Voluptas harum neque labore fuga reprehenderit unde quasi. Omnis quam autem in ipsam aspernatur architecto alias recusandae. Repudiandae ratione vel expedita corporis et pariatur rem sapiente.
|
|
27290
|
+
Velit laboriosam nulla quibusdam fugit minus itaque ut repellat. Incidunt est fugiat totam ipsa quod deserunt. Natus sequi numquam laudantium non similique saepe ipsam quos. Ad impedit necessitatibus quo nesciunt blanditiis id similique recusandae.
|
|
27291
|
+
Ut occaecati debitis aliquam accusantium sed distinctio neque. Labore quos quam optio aperiam dolores aspernatur vitae odio. Eius nam adipisci corrupti incidunt quod sapiente tempora dicta.
|
|
27292
|
+
default_variant_id: variant_gbHJdmfrXB
|
|
27293
|
+
buy_box_variant_id: variant_gbHJdmfrXB
|
|
27294
|
+
thumbnail_url:
|
|
27295
|
+
tags: []
|
|
27296
|
+
price:
|
|
27297
|
+
id: price_gbHJdmfrXB
|
|
27298
|
+
currency: USD
|
|
27299
|
+
amount: '19.99'
|
|
27300
|
+
compare_at_amount:
|
|
27301
|
+
price_list_id:
|
|
27302
|
+
min_quantity: 1
|
|
27303
|
+
variant_id: variant_gbHJdmfrXB
|
|
27304
|
+
created_at: '2026-01-15T12:00:00.000Z'
|
|
27305
|
+
updated_at: '2026-01-15T12:00:00.000Z'
|
|
27306
|
+
original_price:
|
|
27307
|
+
seller_id:
|
|
27308
|
+
external_references: {}
|
|
27309
|
+
status: active
|
|
27310
|
+
metadata: {}
|
|
27311
|
+
deleted_at:
|
|
27312
|
+
created_at: '2026-01-15T12:00:00.000Z'
|
|
27313
|
+
updated_at: '2026-01-15T12:00:00.000Z'
|
|
27314
|
+
delivery_profile_id: fp_UkLWZg9DAJ
|
|
27315
|
+
seller_name:
|
|
27316
|
+
product_type_id:
|
|
27317
|
+
tax_category_id: taxcat_UkLWZg9DAJ
|
|
27318
|
+
total_on_hand: 0
|
|
26201
27319
|
schema:
|
|
26202
27320
|
"$ref": "#/components/schemas/Product"
|
|
26203
27321
|
'422':
|
|
26204
|
-
description: the product is
|
|
27322
|
+
description: the product is awaiting review
|
|
26205
27323
|
content:
|
|
26206
27324
|
application/json:
|
|
26207
27325
|
example:
|
|
26208
27326
|
error:
|
|
26209
|
-
code:
|
|
26210
|
-
message:
|
|
27327
|
+
code: product_in_review
|
|
27328
|
+
message: A product awaiting review is approved or rejected, not
|
|
27329
|
+
moved to another status
|
|
26211
27330
|
schema:
|
|
26212
27331
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
26213
|
-
"/api/v3/admin/products/{id}/
|
|
27332
|
+
"/api/v3/admin/products/{id}/archive":
|
|
26214
27333
|
parameters:
|
|
26215
27334
|
- name: id
|
|
26216
27335
|
in: path
|
|
@@ -26219,18 +27338,128 @@ paths:
|
|
|
26219
27338
|
schema:
|
|
26220
27339
|
type: string
|
|
26221
27340
|
patch:
|
|
26222
|
-
summary:
|
|
27341
|
+
summary: Archive a product
|
|
26223
27342
|
tags:
|
|
26224
27343
|
- Products
|
|
27344
|
+
x-codeSamples:
|
|
27345
|
+
- lang: javascript
|
|
27346
|
+
label: Spree Admin SDK
|
|
27347
|
+
source: |-
|
|
27348
|
+
import { createAdminClient } from '@spree/admin-sdk'
|
|
27349
|
+
|
|
27350
|
+
const client = createAdminClient({
|
|
27351
|
+
baseUrl: 'https://your-store.com',
|
|
27352
|
+
secretKey: 'sk_xxx',
|
|
27353
|
+
})
|
|
27354
|
+
|
|
27355
|
+
const product = await client.products.archive('prod_UkLWZg9DAJ')
|
|
27356
|
+
- lang: bash
|
|
27357
|
+
label: Spree CLI
|
|
27358
|
+
source: spree api patch /products/{id}/archive -d '{ ... }'
|
|
26225
27359
|
security:
|
|
26226
27360
|
- api_key: []
|
|
26227
27361
|
bearer_auth: []
|
|
26228
27362
|
description: |-
|
|
26229
|
-
|
|
26230
|
-
sent back to the seller, who can fix the product and submit it again.
|
|
27363
|
+
Takes one product off sale and archives it; activating it puts it back on sale. Runs the archive workflow, so its hooks and its event fire. A product awaiting review is refused: approve or reject it instead.
|
|
26231
27364
|
|
|
26232
27365
|
|
|
26233
27366
|
**Required scope:** `write_products` (for API-key authentication).
|
|
27367
|
+
parameters:
|
|
27368
|
+
- name: x-spree-api-key
|
|
27369
|
+
in: header
|
|
27370
|
+
required: true
|
|
27371
|
+
schema:
|
|
27372
|
+
type: string
|
|
27373
|
+
- name: Authorization
|
|
27374
|
+
in: header
|
|
27375
|
+
required: true
|
|
27376
|
+
schema:
|
|
27377
|
+
type: string
|
|
27378
|
+
responses:
|
|
27379
|
+
'200':
|
|
27380
|
+
description: product archived
|
|
27381
|
+
content:
|
|
27382
|
+
application/json:
|
|
27383
|
+
example:
|
|
27384
|
+
id: prod_gbHJdmfrXB
|
|
27385
|
+
name: Product 1714768
|
|
27386
|
+
slug: product-1714768
|
|
27387
|
+
meta_title:
|
|
27388
|
+
meta_description:
|
|
27389
|
+
meta_keywords:
|
|
27390
|
+
variant_count: 1
|
|
27391
|
+
available_on:
|
|
27392
|
+
preorder_ships_at:
|
|
27393
|
+
purchasable: true
|
|
27394
|
+
preorder: false
|
|
27395
|
+
in_stock: false
|
|
27396
|
+
backorderable: true
|
|
27397
|
+
available: false
|
|
27398
|
+
description: In exercitationem nobis illo accusamus non quibusdam.
|
|
27399
|
+
Minus corporis commodi magni maxime cumque beatae. Exercitationem
|
|
27400
|
+
provident tempore est corrupti eius at dolor. Rerum delectus id
|
|
27401
|
+
aspernatur consequuntur quod enim. Quis omnis amet inventore alias
|
|
27402
|
+
minima praesentium. Quaerat reprehenderit deleniti atque inventore.
|
|
27403
|
+
Nemo quas nam qui architecto eligendi vel pariatur. Veritatis accusantium
|
|
27404
|
+
molestias deleniti omnis autem modi. Officiis optio quidem iste
|
|
27405
|
+
nihil delectus commodi. Aperiam amet omnis eum praesentium natus
|
|
27406
|
+
recusandae suscipit.
|
|
27407
|
+
description_html: |-
|
|
27408
|
+
In exercitationem nobis illo accusamus non quibusdam. Minus corporis commodi magni maxime cumque beatae. Exercitationem provident tempore est corrupti eius at dolor. Rerum delectus id aspernatur consequuntur quod enim.
|
|
27409
|
+
Quis omnis amet inventore alias minima praesentium. Quaerat reprehenderit deleniti atque inventore. Nemo quas nam qui architecto eligendi vel pariatur.
|
|
27410
|
+
Veritatis accusantium molestias deleniti omnis autem modi. Officiis optio quidem iste nihil delectus commodi. Aperiam amet omnis eum praesentium natus recusandae suscipit.
|
|
27411
|
+
default_variant_id: variant_gbHJdmfrXB
|
|
27412
|
+
buy_box_variant_id: variant_gbHJdmfrXB
|
|
27413
|
+
thumbnail_url:
|
|
27414
|
+
tags: []
|
|
27415
|
+
price:
|
|
27416
|
+
id: price_gbHJdmfrXB
|
|
27417
|
+
currency: USD
|
|
27418
|
+
amount: '19.99'
|
|
27419
|
+
compare_at_amount:
|
|
27420
|
+
price_list_id:
|
|
27421
|
+
min_quantity: 1
|
|
27422
|
+
variant_id: variant_gbHJdmfrXB
|
|
27423
|
+
created_at: '2026-01-15T12:00:00.000Z'
|
|
27424
|
+
updated_at: '2026-01-15T12:00:00.000Z'
|
|
27425
|
+
original_price:
|
|
27426
|
+
seller_id:
|
|
27427
|
+
external_references: {}
|
|
27428
|
+
status: archived
|
|
27429
|
+
metadata: {}
|
|
27430
|
+
deleted_at:
|
|
27431
|
+
created_at: '2026-01-15T12:00:00.000Z'
|
|
27432
|
+
updated_at: '2026-01-15T12:00:00.000Z'
|
|
27433
|
+
delivery_profile_id: fp_UkLWZg9DAJ
|
|
27434
|
+
seller_name:
|
|
27435
|
+
product_type_id:
|
|
27436
|
+
tax_category_id: taxcat_UkLWZg9DAJ
|
|
27437
|
+
total_on_hand: 0
|
|
27438
|
+
schema:
|
|
27439
|
+
"$ref": "#/components/schemas/Product"
|
|
27440
|
+
'422':
|
|
27441
|
+
description: the product is awaiting review
|
|
27442
|
+
content:
|
|
27443
|
+
application/json:
|
|
27444
|
+
example:
|
|
27445
|
+
error:
|
|
27446
|
+
code: product_in_review
|
|
27447
|
+
message: A product awaiting review is approved or rejected, not
|
|
27448
|
+
moved to another status
|
|
27449
|
+
schema:
|
|
27450
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
27451
|
+
"/api/v3/admin/products/{id}/draft":
|
|
27452
|
+
parameters:
|
|
27453
|
+
- name: id
|
|
27454
|
+
in: path
|
|
27455
|
+
required: true
|
|
27456
|
+
description: Product ID
|
|
27457
|
+
schema:
|
|
27458
|
+
type: string
|
|
27459
|
+
patch:
|
|
27460
|
+
summary: Move a product back to draft
|
|
27461
|
+
tags:
|
|
27462
|
+
- Products
|
|
26234
27463
|
x-codeSamples:
|
|
26235
27464
|
- lang: javascript
|
|
26236
27465
|
label: Spree Admin SDK
|
|
@@ -26242,14 +27471,18 @@ paths:
|
|
|
26242
27471
|
secretKey: 'sk_xxx',
|
|
26243
27472
|
})
|
|
26244
27473
|
|
|
26245
|
-
|
|
26246
|
-
const product = await client.products.reject('prod_86Rf07xd4z', {
|
|
26247
|
-
reason: 'Photos are too dark',
|
|
26248
|
-
})
|
|
27474
|
+
const product = await client.products.draft('prod_UkLWZg9DAJ')
|
|
26249
27475
|
- lang: bash
|
|
26250
27476
|
label: Spree CLI
|
|
26251
|
-
source: spree api patch /products/{id}/
|
|
26252
|
-
|
|
27477
|
+
source: spree api patch /products/{id}/draft -d '{ ... }'
|
|
27478
|
+
security:
|
|
27479
|
+
- api_key: []
|
|
27480
|
+
bearer_auth: []
|
|
27481
|
+
description: |-
|
|
27482
|
+
Takes one product off sale, back to a draft. Runs the draft workflow, so its hooks and its event fire. A product awaiting review is refused: approve or reject it instead.
|
|
27483
|
+
|
|
27484
|
+
|
|
27485
|
+
**Required scope:** `write_products` (for API-key authentication).
|
|
26253
27486
|
parameters:
|
|
26254
27487
|
- name: x-spree-api-key
|
|
26255
27488
|
in: header
|
|
@@ -26263,13 +27496,13 @@ paths:
|
|
|
26263
27496
|
type: string
|
|
26264
27497
|
responses:
|
|
26265
27498
|
'200':
|
|
26266
|
-
description: product
|
|
27499
|
+
description: product draft
|
|
26267
27500
|
content:
|
|
26268
27501
|
application/json:
|
|
26269
27502
|
example:
|
|
26270
27503
|
id: prod_gbHJdmfrXB
|
|
26271
|
-
name: Product
|
|
26272
|
-
slug: product-
|
|
27504
|
+
name: Product 1752527
|
|
27505
|
+
slug: product-1752527
|
|
26273
27506
|
meta_title:
|
|
26274
27507
|
meta_description:
|
|
26275
27508
|
meta_keywords:
|
|
@@ -26281,24 +27514,31 @@ paths:
|
|
|
26281
27514
|
in_stock: false
|
|
26282
27515
|
backorderable: true
|
|
26283
27516
|
available: false
|
|
26284
|
-
description:
|
|
26285
|
-
|
|
26286
|
-
|
|
26287
|
-
|
|
26288
|
-
|
|
26289
|
-
|
|
26290
|
-
|
|
26291
|
-
|
|
26292
|
-
|
|
26293
|
-
|
|
26294
|
-
|
|
26295
|
-
|
|
26296
|
-
|
|
27517
|
+
description: Temporibus fugiat ducimus quae voluptas error. Iure repellat
|
|
27518
|
+
labore aperiam harum magni. Fuga ullam possimus ad repudiandae atque.
|
|
27519
|
+
Excepturi quidem est expedita molestiae delectus. Optio tempora
|
|
27520
|
+
sed minus voluptatum doloremque. Laborum esse voluptate nostrum
|
|
27521
|
+
nesciunt. Ipsum ducimus a dolor nostrum quis corrupti quae illum.
|
|
27522
|
+
Fuga provident deleniti minima ea vel. Cupiditate architecto omnis
|
|
27523
|
+
reprehenderit iusto suscipit corrupti quia cumque. Voluptatem nisi
|
|
27524
|
+
dignissimos aut nostrum distinctio quo explicabo fugiat. Unde minima
|
|
27525
|
+
ratione enim minus officia rerum odio reiciendis. Fugiat perferendis
|
|
27526
|
+
nulla voluptates voluptatum alias. Voluptatem cumque voluptatibus
|
|
27527
|
+
in sint assumenda ad neque. Inventore error consequuntur exercitationem
|
|
27528
|
+
officia consequatur earum iure autem. Odit iure porro reiciendis
|
|
27529
|
+
placeat. Animi minus vel asperiores maiores error tempora. Dolorum
|
|
27530
|
+
esse sapiente voluptatem iste culpa suscipit. Nulla sapiente sit
|
|
27531
|
+
deserunt iste totam dolores. Tempora magni eveniet natus nemo optio.
|
|
27532
|
+
Aliquid quis ullam illo minus. Atque distinctio sapiente voluptatibus
|
|
27533
|
+
adipisci consectetur repellendus culpa dolor. Dolor pariatur tempora
|
|
27534
|
+
ab repellat unde aliquam sequi. Necessitatibus aliquid fugit molestias
|
|
27535
|
+
facilis ratione.
|
|
26297
27536
|
description_html: |-
|
|
26298
|
-
|
|
26299
|
-
|
|
26300
|
-
|
|
26301
|
-
|
|
27537
|
+
Temporibus fugiat ducimus quae voluptas error. Iure repellat labore aperiam harum magni. Fuga ullam possimus ad repudiandae atque. Excepturi quidem est expedita molestiae delectus. Optio tempora sed minus voluptatum doloremque.
|
|
27538
|
+
Laborum esse voluptate nostrum nesciunt. Ipsum ducimus a dolor nostrum quis corrupti quae illum. Fuga provident deleniti minima ea vel. Cupiditate architecto omnis reprehenderit iusto suscipit corrupti quia cumque. Voluptatem nisi dignissimos aut nostrum distinctio quo explicabo fugiat.
|
|
27539
|
+
Unde minima ratione enim minus officia rerum odio reiciendis. Fugiat perferendis nulla voluptates voluptatum alias. Voluptatem cumque voluptatibus in sint assumenda ad neque. Inventore error consequuntur exercitationem officia consequatur earum iure autem.
|
|
27540
|
+
Odit iure porro reiciendis placeat. Animi minus vel asperiores maiores error tempora. Dolorum esse sapiente voluptatem iste culpa suscipit. Nulla sapiente sit deserunt iste totam dolores.
|
|
27541
|
+
Tempora magni eveniet natus nemo optio. Aliquid quis ullam illo minus. Atque distinctio sapiente voluptatibus adipisci consectetur repellendus culpa dolor. Dolor pariatur tempora ab repellat unde aliquam sequi. Necessitatibus aliquid fugit molestias facilis ratione.
|
|
26302
27542
|
default_variant_id: variant_gbHJdmfrXB
|
|
26303
27543
|
buy_box_variant_id: variant_gbHJdmfrXB
|
|
26304
27544
|
thumbnail_url:
|
|
@@ -26316,7 +27556,7 @@ paths:
|
|
|
26316
27556
|
original_price:
|
|
26317
27557
|
seller_id:
|
|
26318
27558
|
external_references: {}
|
|
26319
|
-
status:
|
|
27559
|
+
status: draft
|
|
26320
27560
|
metadata: {}
|
|
26321
27561
|
deleted_at:
|
|
26322
27562
|
created_at: '2026-01-15T12:00:00.000Z'
|
|
@@ -26325,14 +27565,20 @@ paths:
|
|
|
26325
27565
|
seller_name:
|
|
26326
27566
|
product_type_id:
|
|
26327
27567
|
tax_category_id: taxcat_UkLWZg9DAJ
|
|
27568
|
+
total_on_hand: 0
|
|
26328
27569
|
schema:
|
|
26329
27570
|
"$ref": "#/components/schemas/Product"
|
|
26330
|
-
|
|
26331
|
-
|
|
26332
|
-
|
|
26333
|
-
|
|
26334
|
-
|
|
26335
|
-
|
|
27571
|
+
'422':
|
|
27572
|
+
description: the product is awaiting review
|
|
27573
|
+
content:
|
|
27574
|
+
application/json:
|
|
27575
|
+
example:
|
|
27576
|
+
error:
|
|
27577
|
+
code: product_in_review
|
|
27578
|
+
message: A product awaiting review is approved or rejected, not
|
|
27579
|
+
moved to another status
|
|
27580
|
+
schema:
|
|
27581
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
26336
27582
|
"/api/v3/admin/translations":
|
|
26337
27583
|
get:
|
|
26338
27584
|
summary: Translation coverage for a resource type
|
|
@@ -26556,8 +27802,8 @@ paths:
|
|
|
26556
27802
|
slug: privacy-policy
|
|
26557
27803
|
body: ''
|
|
26558
27804
|
body_html: ''
|
|
26559
|
-
updated_at: '2026-
|
|
26560
|
-
created_at: '2026-
|
|
27805
|
+
updated_at: '2026-11-11T12:45:25.480Z'
|
|
27806
|
+
created_at: '2026-11-11T12:45:25.480Z'
|
|
26561
27807
|
- id: pol_uw2YK1rnl0
|
|
26562
27808
|
name: Restocking Policy
|
|
26563
27809
|
slug: restocking-policy
|
|
@@ -26570,22 +27816,22 @@ paths:
|
|
|
26570
27816
|
slug: returns-policy
|
|
26571
27817
|
body: ''
|
|
26572
27818
|
body_html: ''
|
|
26573
|
-
updated_at: '2026-
|
|
26574
|
-
created_at: '2026-
|
|
27819
|
+
updated_at: '2026-11-11T12:45:25.483Z'
|
|
27820
|
+
created_at: '2026-11-11T12:45:25.483Z'
|
|
26575
27821
|
- id: pol_VqXmZF31wY
|
|
26576
27822
|
name: Shipping Policy
|
|
26577
27823
|
slug: shipping-policy
|
|
26578
27824
|
body: ''
|
|
26579
27825
|
body_html: ''
|
|
26580
|
-
updated_at: '2026-
|
|
26581
|
-
created_at: '2026-
|
|
27826
|
+
updated_at: '2026-11-11T12:45:25.486Z'
|
|
27827
|
+
created_at: '2026-11-11T12:45:25.486Z'
|
|
26582
27828
|
- id: pol_UkLWZg9DAJ
|
|
26583
27829
|
name: Terms of Service
|
|
26584
27830
|
slug: terms-of-service
|
|
26585
27831
|
body: ''
|
|
26586
27832
|
body_html: ''
|
|
26587
|
-
updated_at: '2026-
|
|
26588
|
-
created_at: '2026-
|
|
27833
|
+
updated_at: '2026-11-11T12:45:25.475Z'
|
|
27834
|
+
created_at: '2026-11-11T12:45:25.475Z'
|
|
26589
27835
|
meta:
|
|
26590
27836
|
page: 1
|
|
26591
27837
|
limit: 25
|
|
@@ -29886,6 +31132,13 @@ paths:
|
|
|
29886
31132
|
required: true
|
|
29887
31133
|
schema:
|
|
29888
31134
|
type: string
|
|
31135
|
+
- name: expand
|
|
31136
|
+
in: query
|
|
31137
|
+
required: false
|
|
31138
|
+
description: 'Comma-separated associations to expand: `rules`, `actions` (each
|
|
31139
|
+
under the same shape the write accepts), `custom_fields`.'
|
|
31140
|
+
schema:
|
|
31141
|
+
type: string
|
|
29889
31142
|
responses:
|
|
29890
31143
|
'200':
|
|
29891
31144
|
description: promotion found
|
|
@@ -30795,6 +32048,157 @@ paths:
|
|
|
30795
32048
|
required:
|
|
30796
32049
|
- data
|
|
30797
32050
|
- meta
|
|
32051
|
+
"/api/v3/admin/diagnostics":
|
|
32052
|
+
get:
|
|
32053
|
+
summary: Get the diagnostics report
|
|
32054
|
+
tags:
|
|
32055
|
+
- Settings
|
|
32056
|
+
security:
|
|
32057
|
+
- bearer_auth: []
|
|
32058
|
+
description: |
|
|
32059
|
+
An anonymised description of this installation to attach to a bug
|
|
32060
|
+
report: Spree and gem versions, runtime and infrastructure, settings
|
|
32061
|
+
changed from their defaults, and recent Spree errors by class and code
|
|
32062
|
+
location. It never contains names, emails, URLs, credentials or error
|
|
32063
|
+
messages. `markdown` is the same report ready to paste into a GitHub
|
|
32064
|
+
issue. Available to signed-in admins who can manage the store; a
|
|
32065
|
+
secret API key gets a 404.
|
|
32066
|
+
x-codeSamples:
|
|
32067
|
+
- lang: javascript
|
|
32068
|
+
label: Spree Admin SDK
|
|
32069
|
+
source: |-
|
|
32070
|
+
import { createAdminClient } from '@spree/admin-sdk'
|
|
32071
|
+
|
|
32072
|
+
const client = createAdminClient({
|
|
32073
|
+
baseUrl: 'https://your-store.com',
|
|
32074
|
+
jwtToken: 'eyJhbGciOi...',
|
|
32075
|
+
})
|
|
32076
|
+
|
|
32077
|
+
// Needs a client created with `jwtToken`: a secret key is refused.
|
|
32078
|
+
const report = await client.diagnostics.get()
|
|
32079
|
+
console.log(report.markdown)
|
|
32080
|
+
parameters:
|
|
32081
|
+
- name: Authorization
|
|
32082
|
+
in: header
|
|
32083
|
+
required: true
|
|
32084
|
+
description: Bearer token for admin authentication
|
|
32085
|
+
schema:
|
|
32086
|
+
type: string
|
|
32087
|
+
- name: packages
|
|
32088
|
+
in: query
|
|
32089
|
+
required: false
|
|
32090
|
+
description: The caller's own `@spree/*` packages as comma-separated `name@version`,
|
|
32091
|
+
reported in a Dashboard section. Other entries are ignored.
|
|
32092
|
+
example: "@spree/dashboard@6.0.4,@spree/admin-sdk@6.0.4"
|
|
32093
|
+
schema:
|
|
32094
|
+
type: string
|
|
32095
|
+
responses:
|
|
32096
|
+
'200':
|
|
32097
|
+
description: diagnostics report
|
|
32098
|
+
content:
|
|
32099
|
+
application/json:
|
|
32100
|
+
example:
|
|
32101
|
+
spree_version: 6.0.3
|
|
32102
|
+
sections:
|
|
32103
|
+
- key: platform
|
|
32104
|
+
title: Spree
|
|
32105
|
+
rows:
|
|
32106
|
+
- label: Version
|
|
32107
|
+
value: 6.0.3
|
|
32108
|
+
- label: Gems
|
|
32109
|
+
value: spree_api 6.0.3, spree_core 6.0.3
|
|
32110
|
+
- label: Other gems built on Spree
|
|
32111
|
+
value: '0'
|
|
32112
|
+
- key: runtime
|
|
32113
|
+
title: Runtime
|
|
32114
|
+
rows:
|
|
32115
|
+
- label: Ruby
|
|
32116
|
+
value: 4.0.9 (arm64-darwin25)
|
|
32117
|
+
- label: Rails
|
|
32118
|
+
value: 8.1.4.1
|
|
32119
|
+
- label: Environment
|
|
32120
|
+
value: test
|
|
32121
|
+
- label: Operating system
|
|
32122
|
+
value: Linux 6.8.0 x86_64
|
|
32123
|
+
- label: Web server
|
|
32124
|
+
value: Puma 8.0.2
|
|
32125
|
+
- key: infrastructure
|
|
32126
|
+
title: Infrastructure
|
|
32127
|
+
rows:
|
|
32128
|
+
- label: Database
|
|
32129
|
+
value: sqlite3 3.54.1
|
|
32130
|
+
- label: Queue adapter
|
|
32131
|
+
value: test
|
|
32132
|
+
- label: Cache store
|
|
32133
|
+
value: null_store
|
|
32134
|
+
- label: File storage
|
|
32135
|
+
value: test
|
|
32136
|
+
- key: preferences
|
|
32137
|
+
title: Changed settings
|
|
32138
|
+
rows: []
|
|
32139
|
+
- key: dashboard
|
|
32140
|
+
title: Dashboard
|
|
32141
|
+
rows:
|
|
32142
|
+
- label: "@spree/dashboard"
|
|
32143
|
+
value: 6.0.4
|
|
32144
|
+
errors: []
|
|
32145
|
+
generated_at: '2026-01-15T12:00:00.000Z'
|
|
32146
|
+
markdown: |-
|
|
32147
|
+
<details>
|
|
32148
|
+
<summary>Spree 6.0.3 diagnostics (2026-01-15T12:00:00Z)</summary>
|
|
32149
|
+
|
|
32150
|
+
**Spree**
|
|
32151
|
+
|
|
32152
|
+
| | |
|
|
32153
|
+
| --- | --- |
|
|
32154
|
+
| Version | 6.0.3 |
|
|
32155
|
+
| Gems | spree_api 6.0.3, spree_core 6.0.3 |
|
|
32156
|
+
| Other gems built on Spree | 0 |
|
|
32157
|
+
|
|
32158
|
+
**Runtime**
|
|
32159
|
+
|
|
32160
|
+
| | |
|
|
32161
|
+
| --- | --- |
|
|
32162
|
+
| Ruby | 4.0.9 (arm64-darwin25) |
|
|
32163
|
+
| Rails | 8.1.4.1 |
|
|
32164
|
+
| Environment | test |
|
|
32165
|
+
| Operating system | Linux 6.8.0 x86_64 |
|
|
32166
|
+
| Web server | Puma 8.0.2 |
|
|
32167
|
+
|
|
32168
|
+
**Infrastructure**
|
|
32169
|
+
|
|
32170
|
+
| | |
|
|
32171
|
+
| --- | --- |
|
|
32172
|
+
| Database | sqlite3 3.54.1 |
|
|
32173
|
+
| Queue adapter | test |
|
|
32174
|
+
| Cache store | null_store |
|
|
32175
|
+
| File storage | test |
|
|
32176
|
+
|
|
32177
|
+
**Dashboard**
|
|
32178
|
+
|
|
32179
|
+
| | |
|
|
32180
|
+
| --- | --- |
|
|
32181
|
+
| @spree/dashboard | 6.0.4 |
|
|
32182
|
+
|
|
32183
|
+
**Recent errors**
|
|
32184
|
+
|
|
32185
|
+
None recorded.
|
|
32186
|
+
|
|
32187
|
+
</details>
|
|
32188
|
+
issue_url: https://github.com/spree/spree/issues/new?template=bug_report.yml&environment=%3Cdetails%3E%0A%3Csummary%3ESpree%206.0.3%20diagnostics%20%282026-01-15T12%3A00%3A00Z%29%3C%2Fsummary%3E%0A%0A%2A%2ASpree%2A%2A%0A%0A%7C%20%7C%20%7C%0A%7C%20---%20%7C%20---%20%7C%0A%7C%20Version%20%7C%206.0.3%20%7C%0A%7C%20Gems%20%7C%20spree_api%206.0.3%2C%20spree_core%206.0.3%20%7C%0A%7C%20Other%20gems%20built%20on%20Spree%20%7C%200%20%7C%0A%0A%2A%2ARuntime%2A%2A%0A%0A%7C%20%7C%20%7C%0A%7C%20---%20%7C%20---%20%7C%0A%7C%20Ruby%20%7C%204.0.9%20%28arm64-darwin25%29%20%7C%0A%7C%20Rails%20%7C%208.1.4.1%20%7C%0A%7C%20Environment%20%7C%20test%20%7C%0A%7C%20Operating%20system%20%7C%20Linux%206.8.0%20x86_64%20%7C%0A%7C%20Web%20server%20%7C%20Puma%208.0.2%20%7C%0A%0A%2A%2AInfrastructure%2A%2A%0A%0A%7C%20%7C%20%7C%0A%7C%20---%20%7C%20---%20%7C%0A%7C%20Database%20%7C%20sqlite3%203.54.1%20%7C%0A%7C%20Queue%20adapter%20%7C%20test%20%7C%0A%7C%20Cache%20store%20%7C%20null_store%20%7C%0A%7C%20File%20storage%20%7C%20test%20%7C%0A%0A%2A%2ADashboard%2A%2A%0A%0A%7C%20%7C%20%7C%0A%7C%20---%20%7C%20---%20%7C%0A%7C%20%40spree%2Fdashboard%20%7C%206.0.4%20%7C%0A%0A%2A%2ARecent%20errors%2A%2A%0A%0ANone%20recorded.%0A%0A%3C%2Fdetails%3E
|
|
32189
|
+
issue_prefilled: true
|
|
32190
|
+
schema:
|
|
32191
|
+
"$ref": "#/components/schemas/Diagnostics"
|
|
32192
|
+
'401':
|
|
32193
|
+
description: unauthorized
|
|
32194
|
+
content:
|
|
32195
|
+
application/json:
|
|
32196
|
+
example:
|
|
32197
|
+
error:
|
|
32198
|
+
code: authentication_required
|
|
32199
|
+
message: Authentication required
|
|
32200
|
+
schema:
|
|
32201
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
30798
32202
|
"/api/v3/admin/locales":
|
|
30799
32203
|
get:
|
|
30800
32204
|
summary: List supported locales
|
|
@@ -30906,7 +32310,7 @@ paths:
|
|
|
30906
32310
|
mail_from_address: no-reply@example.com
|
|
30907
32311
|
customer_support_email: support@example.com
|
|
30908
32312
|
new_order_notifications_email: store-owner@example.com
|
|
30909
|
-
created_at: '2026-
|
|
32313
|
+
created_at: '2026-11-11T12:45:25.412Z'
|
|
30910
32314
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
30911
32315
|
order_routing_strategy: rules
|
|
30912
32316
|
payout_provider:
|
|
@@ -31278,7 +32682,7 @@ paths:
|
|
|
31278
32682
|
mail_from_address: no-reply@example.com
|
|
31279
32683
|
customer_support_email: support@example.com
|
|
31280
32684
|
new_order_notifications_email: store-owner@example.com
|
|
31281
|
-
created_at: '2026-
|
|
32685
|
+
created_at: '2026-11-11T12:45:25.412Z'
|
|
31282
32686
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
31283
32687
|
order_routing_strategy: rules
|
|
31284
32688
|
payout_provider:
|
|
@@ -32481,7 +33885,7 @@ paths:
|
|
|
32481
33885
|
type: string
|
|
32482
33886
|
- key: contact_phone
|
|
32483
33887
|
type: string
|
|
32484
|
-
readable:
|
|
33888
|
+
readable: true
|
|
32485
33889
|
- resource_type: policy
|
|
32486
33890
|
fields:
|
|
32487
33891
|
- key: name
|
|
@@ -32629,9 +34033,6 @@ paths:
|
|
|
32629
34033
|
if (status.update_available) {
|
|
32630
34034
|
console.log(`Spree ${status.latest_version} is available: ${status.latest_release_url}`)
|
|
32631
34035
|
}
|
|
32632
|
-
- lang: bash
|
|
32633
|
-
label: Spree CLI
|
|
32634
|
-
source: spree api get /updates
|
|
32635
34036
|
parameters:
|
|
32636
34037
|
- name: Authorization
|
|
32637
34038
|
in: header
|
|
@@ -32645,7 +34046,7 @@ paths:
|
|
|
32645
34046
|
content:
|
|
32646
34047
|
application/json:
|
|
32647
34048
|
example:
|
|
32648
|
-
current_version: 6.0.
|
|
34049
|
+
current_version: 6.0.3
|
|
32649
34050
|
enabled: true
|
|
32650
34051
|
checked_at: '2026-10-03T04:00:00.000Z'
|
|
32651
34052
|
update_available: true
|
|
@@ -35566,7 +36967,7 @@ paths:
|
|
|
35566
36967
|
data:
|
|
35567
36968
|
- id: variant_UkLWZg9DAJ
|
|
35568
36969
|
product_id: prod_UkLWZg9DAJ
|
|
35569
|
-
sku: SKU-
|
|
36970
|
+
sku: SKU-312
|
|
35570
36971
|
options_text: ''
|
|
35571
36972
|
track_inventory: true
|
|
35572
36973
|
media_count: 0
|
|
@@ -35621,11 +37022,11 @@ paths:
|
|
|
35621
37022
|
available_stock: 0
|
|
35622
37023
|
reserved_quantity: 0
|
|
35623
37024
|
total_on_hand: 0
|
|
35624
|
-
product_name: Product
|
|
37025
|
+
product_name: Product 2396804
|
|
35625
37026
|
delivery_profile_id: fp_UkLWZg9DAJ
|
|
35626
37027
|
- id: variant_gbHJdmfrXB
|
|
35627
37028
|
product_id: prod_UkLWZg9DAJ
|
|
35628
|
-
sku: SKU-
|
|
37029
|
+
sku: SKU-313
|
|
35629
37030
|
options_text: 'Size: S'
|
|
35630
37031
|
track_inventory: true
|
|
35631
37032
|
media_count: 0
|
|
@@ -35660,11 +37061,11 @@ paths:
|
|
|
35660
37061
|
option_values:
|
|
35661
37062
|
- id: optval_UkLWZg9DAJ
|
|
35662
37063
|
option_type_id: opt_UkLWZg9DAJ
|
|
35663
|
-
name: size-
|
|
37064
|
+
name: size-72
|
|
35664
37065
|
label: S
|
|
35665
37066
|
position: 1
|
|
35666
37067
|
color_code:
|
|
35667
|
-
option_type_name: foo-size-
|
|
37068
|
+
option_type_name: foo-size-82
|
|
35668
37069
|
option_type_label: Size
|
|
35669
37070
|
image_url:
|
|
35670
37071
|
metadata: {}
|
|
@@ -35692,7 +37093,7 @@ paths:
|
|
|
35692
37093
|
available_stock: 0
|
|
35693
37094
|
reserved_quantity: 0
|
|
35694
37095
|
total_on_hand: 0
|
|
35695
|
-
product_name: Product
|
|
37096
|
+
product_name: Product 2396804
|
|
35696
37097
|
delivery_profile_id: fp_UkLWZg9DAJ
|
|
35697
37098
|
meta:
|
|
35698
37099
|
page: 1
|
|
@@ -35838,7 +37239,7 @@ paths:
|
|
|
35838
37239
|
available_stock: 0
|
|
35839
37240
|
reserved_quantity: 0
|
|
35840
37241
|
total_on_hand: 0
|
|
35841
|
-
product_name: Product
|
|
37242
|
+
product_name: Product 2401771
|
|
35842
37243
|
delivery_profile_id: fp_UkLWZg9DAJ
|
|
35843
37244
|
'422':
|
|
35844
37245
|
description: validation error
|
|
@@ -35850,7 +37251,7 @@ paths:
|
|
|
35850
37251
|
message: SKU has already been taken
|
|
35851
37252
|
details:
|
|
35852
37253
|
sku:
|
|
35853
|
-
- value: SKU-
|
|
37254
|
+
- value: SKU-317
|
|
35854
37255
|
code: taken
|
|
35855
37256
|
message: has already been taken
|
|
35856
37257
|
specific: false
|
|
@@ -35938,7 +37339,7 @@ paths:
|
|
|
35938
37339
|
example:
|
|
35939
37340
|
id: variant_gbHJdmfrXB
|
|
35940
37341
|
product_id: prod_UkLWZg9DAJ
|
|
35941
|
-
sku: SKU-
|
|
37342
|
+
sku: SKU-319
|
|
35942
37343
|
options_text: 'Size: S'
|
|
35943
37344
|
track_inventory: true
|
|
35944
37345
|
media_count: 0
|
|
@@ -35973,11 +37374,11 @@ paths:
|
|
|
35973
37374
|
option_values:
|
|
35974
37375
|
- id: optval_UkLWZg9DAJ
|
|
35975
37376
|
option_type_id: opt_UkLWZg9DAJ
|
|
35976
|
-
name: size-
|
|
37377
|
+
name: size-75
|
|
35977
37378
|
label: S
|
|
35978
37379
|
position: 1
|
|
35979
37380
|
color_code:
|
|
35980
|
-
option_type_name: foo-size-
|
|
37381
|
+
option_type_name: foo-size-85
|
|
35981
37382
|
option_type_label: Size
|
|
35982
37383
|
image_url:
|
|
35983
37384
|
metadata: {}
|
|
@@ -36005,7 +37406,7 @@ paths:
|
|
|
36005
37406
|
available_stock: 0
|
|
36006
37407
|
reserved_quantity: 0
|
|
36007
37408
|
total_on_hand: 0
|
|
36008
|
-
product_name: Product
|
|
37409
|
+
product_name: Product 2424025
|
|
36009
37410
|
delivery_profile_id: fp_UkLWZg9DAJ
|
|
36010
37411
|
'404':
|
|
36011
37412
|
description: variant not found
|
|
@@ -36113,11 +37514,11 @@ paths:
|
|
|
36113
37514
|
option_values:
|
|
36114
37515
|
- id: optval_UkLWZg9DAJ
|
|
36115
37516
|
option_type_id: opt_UkLWZg9DAJ
|
|
36116
|
-
name: size-
|
|
37517
|
+
name: size-77
|
|
36117
37518
|
label: S
|
|
36118
37519
|
position: 1
|
|
36119
37520
|
color_code:
|
|
36120
|
-
option_type_name: foo-size-
|
|
37521
|
+
option_type_name: foo-size-87
|
|
36121
37522
|
option_type_label: Size
|
|
36122
37523
|
image_url:
|
|
36123
37524
|
metadata: {}
|
|
@@ -36145,7 +37546,7 @@ paths:
|
|
|
36145
37546
|
available_stock: 0
|
|
36146
37547
|
reserved_quantity: 0
|
|
36147
37548
|
total_on_hand: 0
|
|
36148
|
-
product_name: Product
|
|
37549
|
+
product_name: Product 2445672
|
|
36149
37550
|
delivery_profile_id: fp_UkLWZg9DAJ
|
|
36150
37551
|
requestBody:
|
|
36151
37552
|
content:
|
|
@@ -36436,7 +37837,7 @@ paths:
|
|
|
36436
37837
|
data:
|
|
36437
37838
|
- id: variant_UkLWZg9DAJ
|
|
36438
37839
|
product_id: prod_UkLWZg9DAJ
|
|
36439
|
-
sku: SKU-
|
|
37840
|
+
sku: SKU-326
|
|
36440
37841
|
options_text: ''
|
|
36441
37842
|
track_inventory: true
|
|
36442
37843
|
media_count: 0
|
|
@@ -36491,11 +37892,11 @@ paths:
|
|
|
36491
37892
|
available_stock: 0
|
|
36492
37893
|
reserved_quantity: 0
|
|
36493
37894
|
total_on_hand: 0
|
|
36494
|
-
product_name: Product
|
|
37895
|
+
product_name: Product 2463647
|
|
36495
37896
|
delivery_profile_id: fp_UkLWZg9DAJ
|
|
36496
37897
|
- id: variant_gbHJdmfrXB
|
|
36497
37898
|
product_id: prod_UkLWZg9DAJ
|
|
36498
|
-
sku: SKU-
|
|
37899
|
+
sku: SKU-327
|
|
36499
37900
|
options_text: 'Size: S'
|
|
36500
37901
|
track_inventory: true
|
|
36501
37902
|
media_count: 0
|
|
@@ -36530,11 +37931,11 @@ paths:
|
|
|
36530
37931
|
option_values:
|
|
36531
37932
|
- id: optval_UkLWZg9DAJ
|
|
36532
37933
|
option_type_id: opt_UkLWZg9DAJ
|
|
36533
|
-
name: size-
|
|
37934
|
+
name: size-79
|
|
36534
37935
|
label: S
|
|
36535
37936
|
position: 1
|
|
36536
37937
|
color_code:
|
|
36537
|
-
option_type_name: foo-size-
|
|
37938
|
+
option_type_name: foo-size-89
|
|
36538
37939
|
option_type_label: Size
|
|
36539
37940
|
image_url:
|
|
36540
37941
|
metadata: {}
|
|
@@ -36562,7 +37963,7 @@ paths:
|
|
|
36562
37963
|
available_stock: 0
|
|
36563
37964
|
reserved_quantity: 0
|
|
36564
37965
|
total_on_hand: 0
|
|
36565
|
-
product_name: Product
|
|
37966
|
+
product_name: Product 2463647
|
|
36566
37967
|
delivery_profile_id: fp_UkLWZg9DAJ
|
|
36567
37968
|
meta:
|
|
36568
37969
|
page: 1
|
|
@@ -38638,6 +40039,30 @@ paths:
|
|
|
38638
40039
|
credential: false
|
|
38639
40040
|
deprecated: false
|
|
38640
40041
|
replaced_by:
|
|
40042
|
+
- name: product_category.created
|
|
40043
|
+
group: product_category
|
|
40044
|
+
credential_permission:
|
|
40045
|
+
credential: false
|
|
40046
|
+
deprecated: false
|
|
40047
|
+
replaced_by:
|
|
40048
|
+
- name: product_category.deleted
|
|
40049
|
+
group: product_category
|
|
40050
|
+
credential_permission:
|
|
40051
|
+
credential: false
|
|
40052
|
+
deprecated: false
|
|
40053
|
+
replaced_by:
|
|
40054
|
+
- name: product_collection.created
|
|
40055
|
+
group: product_collection
|
|
40056
|
+
credential_permission:
|
|
40057
|
+
credential: false
|
|
40058
|
+
deprecated: false
|
|
40059
|
+
replaced_by:
|
|
40060
|
+
- name: product_collection.deleted
|
|
40061
|
+
group: product_collection
|
|
40062
|
+
credential_permission:
|
|
40063
|
+
credential: false
|
|
40064
|
+
deprecated: false
|
|
40065
|
+
replaced_by:
|
|
38641
40066
|
- name: product_submission.created
|
|
38642
40067
|
group: product_submission
|
|
38643
40068
|
credential_permission:
|
|
@@ -39251,7 +40676,7 @@ paths:
|
|
|
39251
40676
|
deprecated: false
|
|
39252
40677
|
replaced_by:
|
|
39253
40678
|
meta:
|
|
39254
|
-
count:
|
|
40679
|
+
count: 264
|
|
39255
40680
|
"/api/v3/admin/catalogs":
|
|
39256
40681
|
get:
|
|
39257
40682
|
summary: List catalogs
|
|
@@ -39578,6 +41003,77 @@ paths:
|
|
|
39578
41003
|
schema:
|
|
39579
41004
|
"$ref": "#/components/schemas/CatalogAssignParams"
|
|
39580
41005
|
required: true
|
|
41006
|
+
"/api/v3/admin/catalogs/{id}/import_products":
|
|
41007
|
+
parameters:
|
|
41008
|
+
- name: id
|
|
41009
|
+
in: path
|
|
41010
|
+
required: true
|
|
41011
|
+
schema:
|
|
41012
|
+
type: string
|
|
41013
|
+
post:
|
|
41014
|
+
summary: Import price list products into a catalog
|
|
41015
|
+
tags:
|
|
41016
|
+
- Catalogs
|
|
41017
|
+
x-codeSamples:
|
|
41018
|
+
- lang: javascript
|
|
41019
|
+
label: Spree Admin SDK
|
|
41020
|
+
source: |-
|
|
41021
|
+
import { createAdminClient } from '@spree/admin-sdk'
|
|
41022
|
+
|
|
41023
|
+
const client = createAdminClient({
|
|
41024
|
+
baseUrl: 'https://your-store.com',
|
|
41025
|
+
secretKey: 'sk_xxx',
|
|
41026
|
+
})
|
|
41027
|
+
|
|
41028
|
+
const { added_count } = await client.catalogs.importProducts('cat_86Rf07xd4z')
|
|
41029
|
+
- lang: bash
|
|
41030
|
+
label: Spree CLI
|
|
41031
|
+
source: spree api post /catalogs/{id}/import_products -d '{ ... }'
|
|
41032
|
+
security:
|
|
41033
|
+
- api_key: []
|
|
41034
|
+
bearer_auth: []
|
|
41035
|
+
description: |-
|
|
41036
|
+
Adds every product on the catalog's price list to its assortment. Products
|
|
41037
|
+
already in it stay, even ones the list does not price. Refused for a
|
|
41038
|
+
catalog without a price list; the count reports what was added.
|
|
41039
|
+
|
|
41040
|
+
|
|
41041
|
+
**Required scope:** `write_products` (for API-key authentication).
|
|
41042
|
+
parameters:
|
|
41043
|
+
- name: x-spree-api-key
|
|
41044
|
+
in: header
|
|
41045
|
+
required: true
|
|
41046
|
+
schema:
|
|
41047
|
+
type: string
|
|
41048
|
+
- name: Authorization
|
|
41049
|
+
in: header
|
|
41050
|
+
required: true
|
|
41051
|
+
schema:
|
|
41052
|
+
type: string
|
|
41053
|
+
responses:
|
|
41054
|
+
'200':
|
|
41055
|
+
description: products imported
|
|
41056
|
+
content:
|
|
41057
|
+
application/json:
|
|
41058
|
+
example:
|
|
41059
|
+
added_count: 1
|
|
41060
|
+
schema:
|
|
41061
|
+
type: object
|
|
41062
|
+
properties:
|
|
41063
|
+
added_count:
|
|
41064
|
+
type: integer
|
|
41065
|
+
required:
|
|
41066
|
+
- added_count
|
|
41067
|
+
'422':
|
|
41068
|
+
description: the catalog has no price list
|
|
41069
|
+
content:
|
|
41070
|
+
application/json:
|
|
41071
|
+
example:
|
|
41072
|
+
error:
|
|
41073
|
+
code: validation_error
|
|
41074
|
+
message: This catalog has no price list to import products from.
|
|
41075
|
+
schema:
|
|
41076
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
39581
41077
|
"/api/v3/admin/catalogs/{catalog_id}/products":
|
|
39582
41078
|
get:
|
|
39583
41079
|
summary: List catalog products
|
|
@@ -39823,12 +41319,12 @@ paths:
|
|
|
39823
41319
|
example:
|
|
39824
41320
|
data:
|
|
39825
41321
|
- id: prod_UkLWZg9DAJ
|
|
39826
|
-
name: Product
|
|
41322
|
+
name: Product 22159
|
|
39827
41323
|
thumbnail_url:
|
|
39828
41324
|
catalog_variants:
|
|
39829
41325
|
- id: variant_UkLWZg9DAJ
|
|
39830
41326
|
label:
|
|
39831
|
-
sku: SKU-
|
|
41327
|
+
sku: SKU-2
|
|
39832
41328
|
currency: USD
|
|
39833
41329
|
source: automatic
|
|
39834
41330
|
break_count: 0
|
|
@@ -41294,6 +42790,7 @@ paths:
|
|
|
41294
42790
|
summary: Reposition a collection product
|
|
41295
42791
|
tags:
|
|
41296
42792
|
- Collections
|
|
42793
|
+
operationId: collections_reposition_product
|
|
41297
42794
|
security:
|
|
41298
42795
|
- api_key: []
|
|
41299
42796
|
bearer_auth: []
|
|
@@ -42429,7 +43926,7 @@ paths:
|
|
|
42429
43926
|
first_name:
|
|
42430
43927
|
last_name:
|
|
42431
43928
|
full_name: ''
|
|
42432
|
-
address1:
|
|
43929
|
+
address1: 25 Lovely Street
|
|
42433
43930
|
address2: Northwest
|
|
42434
43931
|
postal_code: '10118'
|
|
42435
43932
|
city: New York
|
|
@@ -42637,7 +44134,7 @@ paths:
|
|
|
42637
44134
|
first_name:
|
|
42638
44135
|
last_name:
|
|
42639
44136
|
full_name: ''
|
|
42640
|
-
address1:
|
|
44137
|
+
address1: 27 Lovely Street
|
|
42641
44138
|
address2: Northwest
|
|
42642
44139
|
postal_code: '10118'
|
|
42643
44140
|
city: New York
|
|
@@ -42878,16 +44375,17 @@ paths:
|
|
|
42878
44375
|
previous:
|
|
42879
44376
|
next:
|
|
42880
44377
|
post:
|
|
42881
|
-
summary: Add a member
|
|
44378
|
+
summary: Add a member
|
|
42882
44379
|
tags:
|
|
42883
44380
|
- Companies
|
|
42884
44381
|
security:
|
|
42885
44382
|
- api_key: []
|
|
42886
44383
|
bearer_auth: []
|
|
42887
44384
|
description: |-
|
|
42888
|
-
Adds a person to the node
|
|
42889
|
-
|
|
42890
|
-
(a `cinv_…` id) and the invite
|
|
44385
|
+
Adds a person to the node, either an existing customer by `customer_id` or anyone by
|
|
44386
|
+
`customer_email`. A customer, or an email matching one, becomes a membership immediately
|
|
44387
|
+
(a `cmem_…` id); an unknown email becomes an invitation (a `cinv_…` id) and the invite
|
|
44388
|
+
email goes out.
|
|
42891
44389
|
|
|
42892
44390
|
|
|
42893
44391
|
**Required scope:** `write_customers` (for API-key authentication).
|
|
@@ -43678,6 +45176,7 @@ paths:
|
|
|
43678
45176
|
summary: Re-check a company tax registration
|
|
43679
45177
|
tags:
|
|
43680
45178
|
- Companies
|
|
45179
|
+
operationId: company_tax_identifiers_validate
|
|
43681
45180
|
security:
|
|
43682
45181
|
- api_key: []
|
|
43683
45182
|
bearer_auth: []
|
|
@@ -45213,8 +46712,8 @@ paths:
|
|
|
45213
46712
|
name: General
|
|
45214
46713
|
default: true
|
|
45215
46714
|
position: 1
|
|
45216
|
-
created_at: '2026-
|
|
45217
|
-
updated_at: '2026-
|
|
46715
|
+
created_at: '2026-11-11T12:45:25.491Z'
|
|
46716
|
+
updated_at: '2026-11-11T12:45:25.491Z'
|
|
45218
46717
|
kind: shipping
|
|
45219
46718
|
digital: false
|
|
45220
46719
|
offers_pickup: false
|
|
@@ -45726,7 +47225,7 @@ paths:
|
|
|
45726
47225
|
data:
|
|
45727
47226
|
- id: dm_UkLWZg9DAJ
|
|
45728
47227
|
name: UPS Ground
|
|
45729
|
-
code:
|
|
47228
|
+
code: UPS_GROUND_12
|
|
45730
47229
|
estimated_transit_business_days_min:
|
|
45731
47230
|
estimated_transit_business_days_max:
|
|
45732
47231
|
digital: false
|
|
@@ -45912,7 +47411,7 @@ paths:
|
|
|
45912
47411
|
example:
|
|
45913
47412
|
id: dm_UkLWZg9DAJ
|
|
45914
47413
|
name: UPS Express
|
|
45915
|
-
code:
|
|
47414
|
+
code: UPS_GROUND_13
|
|
45916
47415
|
estimated_transit_business_days_min: 1
|
|
45917
47416
|
estimated_transit_business_days_max: 2
|
|
45918
47417
|
digital: false
|
|
@@ -47133,18 +48632,22 @@ paths:
|
|
|
47133
48632
|
| Attribute | Kind | Predicates |
|
|
47134
48633
|
|---|---|---|
|
|
47135
48634
|
| `alt` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
|
|
48635
|
+
| `byte_size` | Number | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
|
|
47136
48636
|
| `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
|
|
48637
|
+
| `filename` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
|
|
47137
48638
|
| `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
|
|
47138
48639
|
| `media_type` | One of `image`, `video`, `external_video` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
|
|
47139
48640
|
| `position` | Number | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
|
|
47140
48641
|
| `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
|
|
47141
48642
|
|
|
47142
|
-
**Sort by:** `alt`, `created_at`, `id`, `media_type`, `position`, `updated_at`. Prefix a field with `-` to sort descending.
|
|
48643
|
+
**Sort by:** `alt`, `byte_size`, `created_at`, `filename`, `id`, `media_type`, `position`, `updated_at`. Prefix a field with `-` to sort descending.
|
|
47143
48644
|
x-spree-filters:
|
|
47144
48645
|
table: Media
|
|
47145
48646
|
sortable:
|
|
47146
48647
|
- alt
|
|
48648
|
+
- byte_size
|
|
47147
48649
|
- created_at
|
|
48650
|
+
- filename
|
|
47148
48651
|
- id
|
|
47149
48652
|
- media_type
|
|
47150
48653
|
- position
|
|
@@ -47169,13 +48672,13 @@ paths:
|
|
|
47169
48672
|
video_embed_url:
|
|
47170
48673
|
video_url:
|
|
47171
48674
|
poster_url:
|
|
47172
|
-
original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47173
|
-
mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47174
|
-
small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47175
|
-
medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47176
|
-
large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47177
|
-
xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47178
|
-
og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
48675
|
+
original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/thinking-cat.jpg
|
|
48676
|
+
mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjgsMTI4XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--f31d99c473e446770eab355d27021996d87a6b4f/thinking-cat.jpg
|
|
48677
|
+
small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyNTYsMjU2XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--723714d967fb303bdad1d3cf8ba94bf6558b4a10/thinking-cat.jpg
|
|
48678
|
+
medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls0MDAsNDAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--36830faf4bdf4f022a94d4bdcc88de61440b6e33/thinking-cat.jpg
|
|
48679
|
+
large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls3MjAsNzIwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--6c5f60a2dd3b4d1a2ab5f6103f86b22a64f5fd47/thinking-cat.jpg
|
|
48680
|
+
xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyMDAwLDIwMDBdLCJzYXZlciI6eyJzdHJpcCI6dHJ1ZSwicXVhbGl0eSI6NzUsImxvc3NsZXNzIjpmYWxzZSwiYWxwaGFfcSI6ODUsInJlZHVjdGlvbl9lZmZvcnQiOjYsInNtYXJ0X3N1YnNhbXBsZSI6dHJ1ZX19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--6ce851493cd3ead1087cb140c9deecb4447d1142/thinking-cat.jpg
|
|
48681
|
+
og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjAwLDYzMF0sInNhdmVyIjp7InN0cmlwIjp0cnVlLCJxdWFsaXR5Ijo3NSwibG9zc2xlc3MiOmZhbHNlLCJhbHBoYV9xIjo4NSwicmVkdWN0aW9uX2VmZm9ydCI6Niwic21hcnRfc3Vic2FtcGxlIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--9485e3d0e9e9133d7c52af17e4392a9c6842a55d/thinking-cat.jpg
|
|
47179
48682
|
external_references: {}
|
|
47180
48683
|
created_at: '2026-01-15T12:00:00.000Z'
|
|
47181
48684
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
@@ -47183,10 +48686,10 @@ paths:
|
|
|
47183
48686
|
filename: thinking-cat.jpg
|
|
47184
48687
|
content_type: image/jpeg
|
|
47185
48688
|
byte_size: 18090
|
|
47186
|
-
embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47187
|
-
signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
48689
|
+
embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--19f16573cafa934a908d21a80fef013aca3219fc/thinking-cat.jpg
|
|
48690
|
+
signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--5cf7f6bc12adaf5ef31072ed4b5eb4c1732ca992
|
|
47188
48691
|
viewable_id: prod_UkLWZg9DAJ
|
|
47189
|
-
download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
48692
|
+
download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/thinking-cat.jpg?disposition=attachment
|
|
47190
48693
|
metadata: {}
|
|
47191
48694
|
viewable_type: product
|
|
47192
48695
|
meta:
|
|
@@ -47277,13 +48780,13 @@ paths:
|
|
|
47277
48780
|
video_embed_url:
|
|
47278
48781
|
video_url:
|
|
47279
48782
|
poster_url:
|
|
47280
|
-
original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47281
|
-
mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47282
|
-
small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47283
|
-
medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47284
|
-
large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47285
|
-
xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47286
|
-
og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
48783
|
+
original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/library-upload.jpg
|
|
48784
|
+
mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjgsMTI4XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--f31d99c473e446770eab355d27021996d87a6b4f/library-upload.jpg
|
|
48785
|
+
small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyNTYsMjU2XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--723714d967fb303bdad1d3cf8ba94bf6558b4a10/library-upload.jpg
|
|
48786
|
+
medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls0MDAsNDAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--36830faf4bdf4f022a94d4bdcc88de61440b6e33/library-upload.jpg
|
|
48787
|
+
large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls3MjAsNzIwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--6c5f60a2dd3b4d1a2ab5f6103f86b22a64f5fd47/library-upload.jpg
|
|
48788
|
+
xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyMDAwLDIwMDBdLCJzYXZlciI6eyJzdHJpcCI6dHJ1ZSwicXVhbGl0eSI6NzUsImxvc3NsZXNzIjpmYWxzZSwiYWxwaGFfcSI6ODUsInJlZHVjdGlvbl9lZmZvcnQiOjYsInNtYXJ0X3N1YnNhbXBsZSI6dHJ1ZX19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--6ce851493cd3ead1087cb140c9deecb4447d1142/library-upload.jpg
|
|
48789
|
+
og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjAwLDYzMF0sInNhdmVyIjp7InN0cmlwIjp0cnVlLCJxdWFsaXR5Ijo3NSwibG9zc2xlc3MiOmZhbHNlLCJhbHBoYV9xIjo4NSwicmVkdWN0aW9uX2VmZm9ydCI6Niwic21hcnRfc3Vic2FtcGxlIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--9485e3d0e9e9133d7c52af17e4392a9c6842a55d/library-upload.jpg
|
|
47287
48790
|
external_references: {}
|
|
47288
48791
|
created_at: '2026-01-15T12:00:00.000Z'
|
|
47289
48792
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
@@ -47291,10 +48794,10 @@ paths:
|
|
|
47291
48794
|
filename: library-upload.jpg
|
|
47292
48795
|
content_type: image/jpeg
|
|
47293
48796
|
byte_size: 18090
|
|
47294
|
-
embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47295
|
-
signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MiwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
48797
|
+
embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--19f16573cafa934a908d21a80fef013aca3219fc/library-upload.jpg
|
|
48798
|
+
signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MiwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--e50a78b4c158cae84263a776c40322cc8b7b0b57
|
|
47296
48799
|
viewable_id:
|
|
47297
|
-
download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
48800
|
+
download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/library-upload.jpg?disposition=attachment
|
|
47298
48801
|
metadata: {}
|
|
47299
48802
|
viewable_type:
|
|
47300
48803
|
schema:
|
|
@@ -47372,13 +48875,13 @@ paths:
|
|
|
47372
48875
|
video_embed_url:
|
|
47373
48876
|
video_url:
|
|
47374
48877
|
poster_url:
|
|
47375
|
-
original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47376
|
-
mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47377
|
-
small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47378
|
-
medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47379
|
-
large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47380
|
-
xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47381
|
-
og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
48878
|
+
original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/thinking-cat.jpg
|
|
48879
|
+
mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjgsMTI4XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--f31d99c473e446770eab355d27021996d87a6b4f/thinking-cat.jpg
|
|
48880
|
+
small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyNTYsMjU2XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--723714d967fb303bdad1d3cf8ba94bf6558b4a10/thinking-cat.jpg
|
|
48881
|
+
medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls0MDAsNDAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--36830faf4bdf4f022a94d4bdcc88de61440b6e33/thinking-cat.jpg
|
|
48882
|
+
large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls3MjAsNzIwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--6c5f60a2dd3b4d1a2ab5f6103f86b22a64f5fd47/thinking-cat.jpg
|
|
48883
|
+
xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyMDAwLDIwMDBdLCJzYXZlciI6eyJzdHJpcCI6dHJ1ZSwicXVhbGl0eSI6NzUsImxvc3NsZXNzIjpmYWxzZSwiYWxwaGFfcSI6ODUsInJlZHVjdGlvbl9lZmZvcnQiOjYsInNtYXJ0X3N1YnNhbXBsZSI6dHJ1ZX19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--6ce851493cd3ead1087cb140c9deecb4447d1142/thinking-cat.jpg
|
|
48884
|
+
og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjAwLDYzMF0sInNhdmVyIjp7InN0cmlwIjp0cnVlLCJxdWFsaXR5Ijo3NSwibG9zc2xlc3MiOmZhbHNlLCJhbHBoYV9xIjo4NSwicmVkdWN0aW9uX2VmZm9ydCI6Niwic21hcnRfc3Vic2FtcGxlIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--9485e3d0e9e9133d7c52af17e4392a9c6842a55d/thinking-cat.jpg
|
|
47382
48885
|
external_references: {}
|
|
47383
48886
|
created_at: '2026-01-15T12:00:00.000Z'
|
|
47384
48887
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
@@ -47386,10 +48889,10 @@ paths:
|
|
|
47386
48889
|
filename: thinking-cat.jpg
|
|
47387
48890
|
content_type: image/jpeg
|
|
47388
48891
|
byte_size: 18090
|
|
47389
|
-
embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47390
|
-
signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
48892
|
+
embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--19f16573cafa934a908d21a80fef013aca3219fc/thinking-cat.jpg
|
|
48893
|
+
signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--5cf7f6bc12adaf5ef31072ed4b5eb4c1732ca992
|
|
47391
48894
|
viewable_id: prod_UkLWZg9DAJ
|
|
47392
|
-
download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
48895
|
+
download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/thinking-cat.jpg?disposition=attachment
|
|
47393
48896
|
metadata: {}
|
|
47394
48897
|
viewable_type: product
|
|
47395
48898
|
schema:
|
|
@@ -47463,7 +48966,7 @@ paths:
|
|
|
47463
48966
|
example:
|
|
47464
48967
|
data:
|
|
47465
48968
|
- kind: media
|
|
47466
|
-
name: Product
|
|
48969
|
+
name: Product 483397
|
|
47467
48970
|
owner_type: product
|
|
47468
48971
|
owner_id: prod_UkLWZg9DAJ
|
|
47469
48972
|
field: attachment
|
|
@@ -47587,18 +49090,22 @@ paths:
|
|
|
47587
49090
|
| Attribute | Kind | Predicates |
|
|
47588
49091
|
|---|---|---|
|
|
47589
49092
|
| `alt` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
|
|
49093
|
+
| `byte_size` | Number | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
|
|
47590
49094
|
| `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
|
|
49095
|
+
| `filename` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
|
|
47591
49096
|
| `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
|
|
47592
49097
|
| `media_type` | One of `image`, `video`, `external_video` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
|
|
47593
49098
|
| `position` | Number | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
|
|
47594
49099
|
| `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
|
|
47595
49100
|
|
|
47596
|
-
**Sort by:** `alt`, `created_at`, `id`, `media_type`, `position`, `updated_at`. Prefix a field with `-` to sort descending.
|
|
49101
|
+
**Sort by:** `alt`, `byte_size`, `created_at`, `filename`, `id`, `media_type`, `position`, `updated_at`. Prefix a field with `-` to sort descending.
|
|
47597
49102
|
x-spree-filters:
|
|
47598
49103
|
table: Media
|
|
47599
49104
|
sortable:
|
|
47600
49105
|
- alt
|
|
49106
|
+
- byte_size
|
|
47601
49107
|
- created_at
|
|
49108
|
+
- filename
|
|
47602
49109
|
- id
|
|
47603
49110
|
- media_type
|
|
47604
49111
|
- position
|
|
@@ -47623,13 +49130,13 @@ paths:
|
|
|
47623
49130
|
video_embed_url:
|
|
47624
49131
|
video_url:
|
|
47625
49132
|
poster_url:
|
|
47626
|
-
original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47627
|
-
mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47628
|
-
small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47629
|
-
medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47630
|
-
large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47631
|
-
xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47632
|
-
og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
49133
|
+
original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/thinking-cat.jpg
|
|
49134
|
+
mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjgsMTI4XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--f31d99c473e446770eab355d27021996d87a6b4f/thinking-cat.jpg
|
|
49135
|
+
small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyNTYsMjU2XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--723714d967fb303bdad1d3cf8ba94bf6558b4a10/thinking-cat.jpg
|
|
49136
|
+
medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls0MDAsNDAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--36830faf4bdf4f022a94d4bdcc88de61440b6e33/thinking-cat.jpg
|
|
49137
|
+
large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls3MjAsNzIwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--6c5f60a2dd3b4d1a2ab5f6103f86b22a64f5fd47/thinking-cat.jpg
|
|
49138
|
+
xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyMDAwLDIwMDBdLCJzYXZlciI6eyJzdHJpcCI6dHJ1ZSwicXVhbGl0eSI6NzUsImxvc3NsZXNzIjpmYWxzZSwiYWxwaGFfcSI6ODUsInJlZHVjdGlvbl9lZmZvcnQiOjYsInNtYXJ0X3N1YnNhbXBsZSI6dHJ1ZX19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--6ce851493cd3ead1087cb140c9deecb4447d1142/thinking-cat.jpg
|
|
49139
|
+
og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjAwLDYzMF0sInNhdmVyIjp7InN0cmlwIjp0cnVlLCJxdWFsaXR5Ijo3NSwibG9zc2xlc3MiOmZhbHNlLCJhbHBoYV9xIjo4NSwicmVkdWN0aW9uX2VmZm9ydCI6Niwic21hcnRfc3Vic2FtcGxlIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--9485e3d0e9e9133d7c52af17e4392a9c6842a55d/thinking-cat.jpg
|
|
47633
49140
|
external_references: {}
|
|
47634
49141
|
created_at: '2026-01-15T12:00:00.000Z'
|
|
47635
49142
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
@@ -47637,10 +49144,10 @@ paths:
|
|
|
47637
49144
|
filename: thinking-cat.jpg
|
|
47638
49145
|
content_type: image/jpeg
|
|
47639
49146
|
byte_size: 18090
|
|
47640
|
-
embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47641
|
-
signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
49147
|
+
embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--19f16573cafa934a908d21a80fef013aca3219fc/thinking-cat.jpg
|
|
49148
|
+
signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--5cf7f6bc12adaf5ef31072ed4b5eb4c1732ca992
|
|
47642
49149
|
viewable_id: prod_UkLWZg9DAJ
|
|
47643
|
-
download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
49150
|
+
download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/thinking-cat.jpg?disposition=attachment
|
|
47644
49151
|
metadata: {}
|
|
47645
49152
|
viewable_type: product
|
|
47646
49153
|
meta:
|
|
@@ -47731,13 +49238,13 @@ paths:
|
|
|
47731
49238
|
video_embed_url:
|
|
47732
49239
|
video_url:
|
|
47733
49240
|
poster_url:
|
|
47734
|
-
original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47735
|
-
mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47736
|
-
small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47737
|
-
medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47738
|
-
large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47739
|
-
xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47740
|
-
og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
49241
|
+
original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/thinking-cat.jpg
|
|
49242
|
+
mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjgsMTI4XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--f31d99c473e446770eab355d27021996d87a6b4f/thinking-cat.jpg
|
|
49243
|
+
small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyNTYsMjU2XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--723714d967fb303bdad1d3cf8ba94bf6558b4a10/thinking-cat.jpg
|
|
49244
|
+
medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls0MDAsNDAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--36830faf4bdf4f022a94d4bdcc88de61440b6e33/thinking-cat.jpg
|
|
49245
|
+
large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls3MjAsNzIwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--6c5f60a2dd3b4d1a2ab5f6103f86b22a64f5fd47/thinking-cat.jpg
|
|
49246
|
+
xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyMDAwLDIwMDBdLCJzYXZlciI6eyJzdHJpcCI6dHJ1ZSwicXVhbGl0eSI6NzUsImxvc3NsZXNzIjpmYWxzZSwiYWxwaGFfcSI6ODUsInJlZHVjdGlvbl9lZmZvcnQiOjYsInNtYXJ0X3N1YnNhbXBsZSI6dHJ1ZX19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--6ce851493cd3ead1087cb140c9deecb4447d1142/thinking-cat.jpg
|
|
49247
|
+
og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjAwLDYzMF0sInNhdmVyIjp7InN0cmlwIjp0cnVlLCJxdWFsaXR5Ijo3NSwibG9zc2xlc3MiOmZhbHNlLCJhbHBoYV9xIjo4NSwicmVkdWN0aW9uX2VmZm9ydCI6Niwic21hcnRfc3Vic2FtcGxlIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--9485e3d0e9e9133d7c52af17e4392a9c6842a55d/thinking-cat.jpg
|
|
47741
49248
|
external_references: {}
|
|
47742
49249
|
created_at: '2026-01-15T12:00:00.000Z'
|
|
47743
49250
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
@@ -47745,10 +49252,10 @@ paths:
|
|
|
47745
49252
|
filename: thinking-cat.jpg
|
|
47746
49253
|
content_type: image/jpeg
|
|
47747
49254
|
byte_size: 18090
|
|
47748
|
-
embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47749
|
-
signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
49255
|
+
embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--19f16573cafa934a908d21a80fef013aca3219fc/thinking-cat.jpg
|
|
49256
|
+
signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--5cf7f6bc12adaf5ef31072ed4b5eb4c1732ca992
|
|
47750
49257
|
viewable_id: prod_gbHJdmfrXB
|
|
47751
|
-
download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
49258
|
+
download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/thinking-cat.jpg?disposition=attachment
|
|
47752
49259
|
metadata: {}
|
|
47753
49260
|
viewable_type: product
|
|
47754
49261
|
schema:
|
|
@@ -47838,13 +49345,13 @@ paths:
|
|
|
47838
49345
|
video_embed_url:
|
|
47839
49346
|
video_url:
|
|
47840
49347
|
poster_url:
|
|
47841
|
-
original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47842
|
-
mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47843
|
-
small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47844
|
-
medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47845
|
-
large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47846
|
-
xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47847
|
-
og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
49348
|
+
original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/thinking-cat.jpg
|
|
49349
|
+
mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjgsMTI4XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--f31d99c473e446770eab355d27021996d87a6b4f/thinking-cat.jpg
|
|
49350
|
+
small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyNTYsMjU2XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--723714d967fb303bdad1d3cf8ba94bf6558b4a10/thinking-cat.jpg
|
|
49351
|
+
medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls0MDAsNDAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--36830faf4bdf4f022a94d4bdcc88de61440b6e33/thinking-cat.jpg
|
|
49352
|
+
large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls3MjAsNzIwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--6c5f60a2dd3b4d1a2ab5f6103f86b22a64f5fd47/thinking-cat.jpg
|
|
49353
|
+
xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyMDAwLDIwMDBdLCJzYXZlciI6eyJzdHJpcCI6dHJ1ZSwicXVhbGl0eSI6NzUsImxvc3NsZXNzIjpmYWxzZSwiYWxwaGFfcSI6ODUsInJlZHVjdGlvbl9lZmZvcnQiOjYsInNtYXJ0X3N1YnNhbXBsZSI6dHJ1ZX19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--6ce851493cd3ead1087cb140c9deecb4447d1142/thinking-cat.jpg
|
|
49354
|
+
og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjAwLDYzMF0sInNhdmVyIjp7InN0cmlwIjp0cnVlLCJxdWFsaXR5Ijo3NSwibG9zc2xlc3MiOmZhbHNlLCJhbHBoYV9xIjo4NSwicmVkdWN0aW9uX2VmZm9ydCI6Niwic21hcnRfc3Vic2FtcGxlIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--9485e3d0e9e9133d7c52af17e4392a9c6842a55d/thinking-cat.jpg
|
|
47848
49355
|
external_references: {}
|
|
47849
49356
|
created_at: '2026-01-15T12:00:00.000Z'
|
|
47850
49357
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
@@ -47852,10 +49359,10 @@ paths:
|
|
|
47852
49359
|
filename: thinking-cat.jpg
|
|
47853
49360
|
content_type: image/jpeg
|
|
47854
49361
|
byte_size: 18090
|
|
47855
|
-
embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
47856
|
-
signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
49362
|
+
embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--19f16573cafa934a908d21a80fef013aca3219fc/thinking-cat.jpg
|
|
49363
|
+
signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--5cf7f6bc12adaf5ef31072ed4b5eb4c1732ca992
|
|
47857
49364
|
viewable_id: prod_UkLWZg9DAJ
|
|
47858
|
-
download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
49365
|
+
download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/thinking-cat.jpg?disposition=attachment
|
|
47859
49366
|
metadata: {}
|
|
47860
49367
|
viewable_type: product
|
|
47861
49368
|
schema:
|
|
@@ -47970,18 +49477,22 @@ paths:
|
|
|
47970
49477
|
| Attribute | Kind | Predicates |
|
|
47971
49478
|
|---|---|---|
|
|
47972
49479
|
| `alt` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
|
|
49480
|
+
| `byte_size` | Number | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
|
|
47973
49481
|
| `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
|
|
49482
|
+
| `filename` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
|
|
47974
49483
|
| `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
|
|
47975
49484
|
| `media_type` | One of `image`, `video`, `external_video` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
|
|
47976
49485
|
| `position` | Number | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
|
|
47977
49486
|
| `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
|
|
47978
49487
|
|
|
47979
|
-
**Sort by:** `alt`, `created_at`, `id`, `media_type`, `position`, `updated_at`. Prefix a field with `-` to sort descending.
|
|
49488
|
+
**Sort by:** `alt`, `byte_size`, `created_at`, `filename`, `id`, `media_type`, `position`, `updated_at`. Prefix a field with `-` to sort descending.
|
|
47980
49489
|
x-spree-filters:
|
|
47981
49490
|
table: Media
|
|
47982
49491
|
sortable:
|
|
47983
49492
|
- alt
|
|
49493
|
+
- byte_size
|
|
47984
49494
|
- created_at
|
|
49495
|
+
- filename
|
|
47985
49496
|
- id
|
|
47986
49497
|
- media_type
|
|
47987
49498
|
- position
|
|
@@ -48007,13 +49518,13 @@ paths:
|
|
|
48007
49518
|
video_embed_url:
|
|
48008
49519
|
video_url:
|
|
48009
49520
|
poster_url:
|
|
48010
|
-
original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
48011
|
-
mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
48012
|
-
small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
48013
|
-
medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
48014
|
-
large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
48015
|
-
xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
48016
|
-
og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
49521
|
+
original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/thinking-cat.jpg
|
|
49522
|
+
mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjgsMTI4XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--f31d99c473e446770eab355d27021996d87a6b4f/thinking-cat.jpg
|
|
49523
|
+
small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyNTYsMjU2XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--723714d967fb303bdad1d3cf8ba94bf6558b4a10/thinking-cat.jpg
|
|
49524
|
+
medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls0MDAsNDAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--36830faf4bdf4f022a94d4bdcc88de61440b6e33/thinking-cat.jpg
|
|
49525
|
+
large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls3MjAsNzIwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--6c5f60a2dd3b4d1a2ab5f6103f86b22a64f5fd47/thinking-cat.jpg
|
|
49526
|
+
xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyMDAwLDIwMDBdLCJzYXZlciI6eyJzdHJpcCI6dHJ1ZSwicXVhbGl0eSI6NzUsImxvc3NsZXNzIjpmYWxzZSwiYWxwaGFfcSI6ODUsInJlZHVjdGlvbl9lZmZvcnQiOjYsInNtYXJ0X3N1YnNhbXBsZSI6dHJ1ZX19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--6ce851493cd3ead1087cb140c9deecb4447d1142/thinking-cat.jpg
|
|
49527
|
+
og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjAwLDYzMF0sInNhdmVyIjp7InN0cmlwIjp0cnVlLCJxdWFsaXR5Ijo3NSwibG9zc2xlc3MiOmZhbHNlLCJhbHBoYV9xIjo4NSwicmVkdWN0aW9uX2VmZm9ydCI6Niwic21hcnRfc3Vic2FtcGxlIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--9485e3d0e9e9133d7c52af17e4392a9c6842a55d/thinking-cat.jpg
|
|
48017
49528
|
external_references: {}
|
|
48018
49529
|
created_at: '2026-01-15T12:00:00.000Z'
|
|
48019
49530
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
@@ -48021,10 +49532,10 @@ paths:
|
|
|
48021
49532
|
filename: thinking-cat.jpg
|
|
48022
49533
|
content_type: image/jpeg
|
|
48023
49534
|
byte_size: 18090
|
|
48024
|
-
embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
48025
|
-
signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MiwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
49535
|
+
embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--19f16573cafa934a908d21a80fef013aca3219fc/thinking-cat.jpg
|
|
49536
|
+
signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MiwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--e50a78b4c158cae84263a776c40322cc8b7b0b57
|
|
48026
49537
|
viewable_id: variant_gbHJdmfrXB
|
|
48027
|
-
download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--
|
|
49538
|
+
download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/thinking-cat.jpg?disposition=attachment
|
|
48028
49539
|
metadata: {}
|
|
48029
49540
|
viewable_type: variant
|
|
48030
49541
|
meta:
|
|
@@ -49258,6 +50769,7 @@ paths:
|
|
|
49258
50769
|
summary: Buy or record a shipping label
|
|
49259
50770
|
tags:
|
|
49260
50771
|
- Shipping Labels
|
|
50772
|
+
operationId: shipping_labels_purchase
|
|
49261
50773
|
security:
|
|
49262
50774
|
- api_key: []
|
|
49263
50775
|
bearer_auth: []
|
|
@@ -50310,12 +51822,12 @@ paths:
|
|
|
50310
51822
|
example:
|
|
50311
51823
|
data:
|
|
50312
51824
|
- id: prod_UkLWZg9DAJ
|
|
50313
|
-
name: Product
|
|
51825
|
+
name: Product 1163365
|
|
50314
51826
|
thumbnail_url:
|
|
50315
51827
|
price_list_variants:
|
|
50316
51828
|
- id: variant_UkLWZg9DAJ
|
|
50317
51829
|
label:
|
|
50318
|
-
sku: SKU-
|
|
51830
|
+
sku: SKU-137
|
|
50319
51831
|
currency: USD
|
|
50320
51832
|
source: base
|
|
50321
51833
|
break_count: 1
|
|
@@ -51370,8 +52882,8 @@ paths:
|
|
|
51370
52882
|
purchase_order_id: po_UkLWZg9DAJ
|
|
51371
52883
|
variant_id: variant_gbHJdmfrXB
|
|
51372
52884
|
product_id: prod_UkLWZg9DAJ
|
|
51373
|
-
variant_name: Product
|
|
51374
|
-
variant_sku: SKU-
|
|
52885
|
+
variant_name: Product 1849018
|
|
52886
|
+
variant_sku: SKU-221
|
|
51375
52887
|
options_text: 'Size: S'
|
|
51376
52888
|
thumbnail_url:
|
|
51377
52889
|
supplier:
|
|
@@ -51701,6 +53213,7 @@ paths:
|
|
|
51701
53213
|
summary: Book in a delivery
|
|
51702
53214
|
tags:
|
|
51703
53215
|
- Purchase Orders
|
|
53216
|
+
operationId: purchase_orders_receive
|
|
51704
53217
|
security:
|
|
51705
53218
|
- api_key: []
|
|
51706
53219
|
bearer_auth: []
|
|
@@ -52335,6 +53848,9 @@ paths:
|
|
|
52335
53848
|
summary: Run a reporting query
|
|
52336
53849
|
tags:
|
|
52337
53850
|
- Reports
|
|
53851
|
+
x-spree-agent: false
|
|
53852
|
+
x-spree-agent-reason: query_report runs this query, with describe_reporting
|
|
53853
|
+
to learn the vocabulary first.
|
|
52338
53854
|
security:
|
|
52339
53855
|
- api_key: []
|
|
52340
53856
|
bearer_auth: []
|
|
@@ -53250,7 +54766,7 @@ paths:
|
|
|
53250
54766
|
default: false
|
|
53251
54767
|
require_contact_email:
|
|
53252
54768
|
type: boolean
|
|
53253
|
-
default:
|
|
54769
|
+
default: false
|
|
53254
54770
|
additionalProperties: false
|
|
53255
54771
|
- type: billing_address
|
|
53256
54772
|
name: Billing address
|
|
@@ -53720,6 +55236,12 @@ paths:
|
|
|
53720
55236
|
on_holiday: false
|
|
53721
55237
|
sellable: false
|
|
53722
55238
|
products_count: 0
|
|
55239
|
+
products_count_by_status:
|
|
55240
|
+
draft: 0
|
|
55241
|
+
active: 0
|
|
55242
|
+
archived: 0
|
|
55243
|
+
proposed: 0
|
|
55244
|
+
rejected: 0
|
|
53723
55245
|
users_count: 0
|
|
53724
55246
|
onboarding_progress:
|
|
53725
55247
|
done: 0
|
|
@@ -53727,6 +55249,7 @@ paths:
|
|
|
53727
55249
|
onboarding_complete: true
|
|
53728
55250
|
legal_name:
|
|
53729
55251
|
registration_number:
|
|
55252
|
+
returns_location_id:
|
|
53730
55253
|
meta:
|
|
53731
55254
|
page: 1
|
|
53732
55255
|
limit: 25
|
|
@@ -53837,6 +55360,12 @@ paths:
|
|
|
53837
55360
|
on_holiday: false
|
|
53838
55361
|
sellable: false
|
|
53839
55362
|
products_count: 0
|
|
55363
|
+
products_count_by_status:
|
|
55364
|
+
draft: 0
|
|
55365
|
+
active: 0
|
|
55366
|
+
archived: 0
|
|
55367
|
+
proposed: 0
|
|
55368
|
+
rejected: 0
|
|
53840
55369
|
users_count: 0
|
|
53841
55370
|
onboarding_progress:
|
|
53842
55371
|
done: 0
|
|
@@ -53844,6 +55373,7 @@ paths:
|
|
|
53844
55373
|
onboarding_complete: true
|
|
53845
55374
|
legal_name:
|
|
53846
55375
|
registration_number:
|
|
55376
|
+
returns_location_id: sloc_UkLWZg9DAJ
|
|
53847
55377
|
schema:
|
|
53848
55378
|
"$ref": "#/components/schemas/Seller"
|
|
53849
55379
|
'422':
|
|
@@ -53946,6 +55476,12 @@ paths:
|
|
|
53946
55476
|
on_holiday: false
|
|
53947
55477
|
sellable: false
|
|
53948
55478
|
products_count: 0
|
|
55479
|
+
products_count_by_status:
|
|
55480
|
+
draft: 0
|
|
55481
|
+
active: 0
|
|
55482
|
+
archived: 0
|
|
55483
|
+
proposed: 0
|
|
55484
|
+
rejected: 0
|
|
53949
55485
|
users_count: 0
|
|
53950
55486
|
onboarding_progress:
|
|
53951
55487
|
done: 0
|
|
@@ -53953,6 +55489,7 @@ paths:
|
|
|
53953
55489
|
onboarding_complete: true
|
|
53954
55490
|
legal_name:
|
|
53955
55491
|
registration_number:
|
|
55492
|
+
returns_location_id:
|
|
53956
55493
|
schema:
|
|
53957
55494
|
"$ref": "#/components/schemas/Seller"
|
|
53958
55495
|
'404':
|
|
@@ -54041,6 +55578,12 @@ paths:
|
|
|
54041
55578
|
on_holiday: false
|
|
54042
55579
|
sellable: false
|
|
54043
55580
|
products_count: 0
|
|
55581
|
+
products_count_by_status:
|
|
55582
|
+
draft: 0
|
|
55583
|
+
active: 0
|
|
55584
|
+
archived: 0
|
|
55585
|
+
proposed: 0
|
|
55586
|
+
rejected: 0
|
|
54044
55587
|
users_count: 0
|
|
54045
55588
|
onboarding_progress:
|
|
54046
55589
|
done: 0
|
|
@@ -54048,6 +55591,7 @@ paths:
|
|
|
54048
55591
|
onboarding_complete: true
|
|
54049
55592
|
legal_name:
|
|
54050
55593
|
registration_number:
|
|
55594
|
+
returns_location_id:
|
|
54051
55595
|
billing_address:
|
|
54052
55596
|
id: addr_UkLWZg9DAJ
|
|
54053
55597
|
label:
|
|
@@ -54232,6 +55776,12 @@ paths:
|
|
|
54232
55776
|
on_holiday: false
|
|
54233
55777
|
sellable: false
|
|
54234
55778
|
products_count: 0
|
|
55779
|
+
products_count_by_status:
|
|
55780
|
+
draft: 0
|
|
55781
|
+
active: 0
|
|
55782
|
+
archived: 0
|
|
55783
|
+
proposed: 0
|
|
55784
|
+
rejected: 0
|
|
54235
55785
|
users_count: 0
|
|
54236
55786
|
onboarding_progress:
|
|
54237
55787
|
done: 0
|
|
@@ -54239,6 +55789,7 @@ paths:
|
|
|
54239
55789
|
onboarding_complete: true
|
|
54240
55790
|
legal_name:
|
|
54241
55791
|
registration_number:
|
|
55792
|
+
returns_location_id:
|
|
54242
55793
|
schema:
|
|
54243
55794
|
"$ref": "#/components/schemas/Seller"
|
|
54244
55795
|
requestBody:
|
|
@@ -54247,6 +55798,189 @@ paths:
|
|
|
54247
55798
|
schema:
|
|
54248
55799
|
"$ref": "#/components/schemas/SellerInviteParams"
|
|
54249
55800
|
required: true
|
|
55801
|
+
"/api/v3/admin/sellers/{seller_id}/invitations":
|
|
55802
|
+
parameters:
|
|
55803
|
+
- name: seller_id
|
|
55804
|
+
in: path
|
|
55805
|
+
required: true
|
|
55806
|
+
description: Seller prefixed ID
|
|
55807
|
+
schema:
|
|
55808
|
+
type: string
|
|
55809
|
+
post:
|
|
55810
|
+
summary: Invite someone to a seller team
|
|
55811
|
+
tags:
|
|
55812
|
+
- Sellers
|
|
55813
|
+
operationId: sellers_invite_team_member
|
|
55814
|
+
x-codeSamples:
|
|
55815
|
+
- lang: javascript
|
|
55816
|
+
label: Spree Admin SDK
|
|
55817
|
+
source: |-
|
|
55818
|
+
import { createAdminClient } from '@spree/admin-sdk'
|
|
55819
|
+
|
|
55820
|
+
const client = createAdminClient({
|
|
55821
|
+
baseUrl: 'https://your-store.com',
|
|
55822
|
+
secretKey: 'sk_xxx',
|
|
55823
|
+
})
|
|
55824
|
+
|
|
55825
|
+
// Adds someone to the seller's team without changing the seller's status.
|
|
55826
|
+
const invitation = await client.sellers.invitations.create('sel_UkLWZg9DAJ', {
|
|
55827
|
+
email: 'teammate@northwind.example',
|
|
55828
|
+
})
|
|
55829
|
+
- lang: bash
|
|
55830
|
+
label: Spree CLI
|
|
55831
|
+
source: spree api post /sellers/{seller_id}/invitations -d '{"email":"teammate@northwind.example"}'
|
|
55832
|
+
security:
|
|
55833
|
+
- api_key: []
|
|
55834
|
+
bearer_auth: []
|
|
55835
|
+
description: |-
|
|
55836
|
+
Invites someone to join the seller's team with the seller's own admin
|
|
55837
|
+
role. They become a member when they accept. Unlike the seller's
|
|
55838
|
+
`invite` action, this leaves the seller's status unchanged, so use it to
|
|
55839
|
+
add people to a seller that is already approved.
|
|
55840
|
+
|
|
55841
|
+
|
|
55842
|
+
**Required scope:** `write_sellers` (for API-key authentication).
|
|
55843
|
+
parameters:
|
|
55844
|
+
- name: x-spree-api-key
|
|
55845
|
+
in: header
|
|
55846
|
+
required: true
|
|
55847
|
+
schema:
|
|
55848
|
+
type: string
|
|
55849
|
+
- name: Authorization
|
|
55850
|
+
in: header
|
|
55851
|
+
required: true
|
|
55852
|
+
schema:
|
|
55853
|
+
type: string
|
|
55854
|
+
responses:
|
|
55855
|
+
'201':
|
|
55856
|
+
description: invitation sent
|
|
55857
|
+
content:
|
|
55858
|
+
application/json:
|
|
55859
|
+
example:
|
|
55860
|
+
id: inv_UkLWZg9DAJ
|
|
55861
|
+
email: teammate@example.com
|
|
55862
|
+
status: pending
|
|
55863
|
+
created_at: '2026-01-15T12:00:00.000Z'
|
|
55864
|
+
updated_at: '2026-01-15T12:00:00.000Z'
|
|
55865
|
+
expires_at: '2026-01-29T12:00:00.000Z'
|
|
55866
|
+
role_id: role_gbHJdmfrXB
|
|
55867
|
+
role_name: admin
|
|
55868
|
+
inviter_email: marta@nikolaus.com
|
|
55869
|
+
invitee_exists: false
|
|
55870
|
+
store:
|
|
55871
|
+
id: store_UkLWZg9DAJ
|
|
55872
|
+
name: Spree Test Store
|
|
55873
|
+
schema:
|
|
55874
|
+
"$ref": "#/components/schemas/Invitation"
|
|
55875
|
+
'422':
|
|
55876
|
+
description: invalid email
|
|
55877
|
+
content:
|
|
55878
|
+
application/json:
|
|
55879
|
+
example:
|
|
55880
|
+
error:
|
|
55881
|
+
code: validation_error
|
|
55882
|
+
message: Email is invalid
|
|
55883
|
+
details:
|
|
55884
|
+
email:
|
|
55885
|
+
- value: nope
|
|
55886
|
+
code: invalid
|
|
55887
|
+
message: is invalid
|
|
55888
|
+
specific: false
|
|
55889
|
+
schema:
|
|
55890
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
55891
|
+
requestBody:
|
|
55892
|
+
content:
|
|
55893
|
+
application/json:
|
|
55894
|
+
schema:
|
|
55895
|
+
"$ref": "#/components/schemas/SellerInvitationCreateParams"
|
|
55896
|
+
required: true
|
|
55897
|
+
"/api/v3/admin/sellers/{seller_id}/invitations/{id}/resend":
|
|
55898
|
+
parameters:
|
|
55899
|
+
- name: seller_id
|
|
55900
|
+
in: path
|
|
55901
|
+
required: true
|
|
55902
|
+
description: Seller prefixed ID
|
|
55903
|
+
schema:
|
|
55904
|
+
type: string
|
|
55905
|
+
- name: id
|
|
55906
|
+
in: path
|
|
55907
|
+
required: true
|
|
55908
|
+
description: Invitation prefixed ID
|
|
55909
|
+
schema:
|
|
55910
|
+
type: string
|
|
55911
|
+
patch:
|
|
55912
|
+
summary: Resend a seller invitation
|
|
55913
|
+
tags:
|
|
55914
|
+
- Sellers
|
|
55915
|
+
x-codeSamples:
|
|
55916
|
+
- lang: javascript
|
|
55917
|
+
label: Spree Admin SDK
|
|
55918
|
+
source: |-
|
|
55919
|
+
import { createAdminClient } from '@spree/admin-sdk'
|
|
55920
|
+
|
|
55921
|
+
const client = createAdminClient({
|
|
55922
|
+
baseUrl: 'https://your-store.com',
|
|
55923
|
+
secretKey: 'sk_xxx',
|
|
55924
|
+
})
|
|
55925
|
+
|
|
55926
|
+
const invitation = await client.sellers.invitations.resend('seller_UkLWZg9DAJ', 'inv_UkLWZg9DAJ')
|
|
55927
|
+
- lang: bash
|
|
55928
|
+
label: Spree CLI
|
|
55929
|
+
source: spree api patch /sellers/{seller_id}/invitations/{id}/resend -d '{
|
|
55930
|
+
... }'
|
|
55931
|
+
security:
|
|
55932
|
+
- api_key: []
|
|
55933
|
+
bearer_auth: []
|
|
55934
|
+
description: |-
|
|
55935
|
+
Sends a pending invitation to the seller's team again, with a fresh
|
|
55936
|
+
acceptance link. Use it when the email never arrived; an invitation that
|
|
55937
|
+
has expired is refused, so invite the person again instead.
|
|
55938
|
+
|
|
55939
|
+
|
|
55940
|
+
**Required scope:** `write_sellers` (for API-key authentication).
|
|
55941
|
+
parameters:
|
|
55942
|
+
- name: x-spree-api-key
|
|
55943
|
+
in: header
|
|
55944
|
+
required: true
|
|
55945
|
+
schema:
|
|
55946
|
+
type: string
|
|
55947
|
+
- name: Authorization
|
|
55948
|
+
in: header
|
|
55949
|
+
required: true
|
|
55950
|
+
schema:
|
|
55951
|
+
type: string
|
|
55952
|
+
responses:
|
|
55953
|
+
'200':
|
|
55954
|
+
description: invitation resent
|
|
55955
|
+
content:
|
|
55956
|
+
application/json:
|
|
55957
|
+
example:
|
|
55958
|
+
id: inv_UkLWZg9DAJ
|
|
55959
|
+
email: gaye@rutherfordmosciski.co.uk
|
|
55960
|
+
status: pending
|
|
55961
|
+
created_at: '2026-01-15T12:00:00.000Z'
|
|
55962
|
+
updated_at: '2026-01-15T12:00:00.000Z'
|
|
55963
|
+
expires_at: '2026-01-29T12:00:00.000Z'
|
|
55964
|
+
role_id: role_UkLWZg9DAJ
|
|
55965
|
+
role_name: admin
|
|
55966
|
+
inviter_email: carman@schambergernicolas.ca
|
|
55967
|
+
invitee_exists: false
|
|
55968
|
+
store:
|
|
55969
|
+
id: store_UkLWZg9DAJ
|
|
55970
|
+
name: Spree Test Store
|
|
55971
|
+
schema:
|
|
55972
|
+
"$ref": "#/components/schemas/Invitation"
|
|
55973
|
+
'422':
|
|
55974
|
+
description: the invitation has expired
|
|
55975
|
+
content:
|
|
55976
|
+
application/json:
|
|
55977
|
+
example:
|
|
55978
|
+
error:
|
|
55979
|
+
code: processing_error
|
|
55980
|
+
message: This invitation has expired. Invite them again to send
|
|
55981
|
+
a new one.
|
|
55982
|
+
schema:
|
|
55983
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
54250
55984
|
"/api/v3/admin/sellers/{id}/approve":
|
|
54251
55985
|
parameters:
|
|
54252
55986
|
- name: id
|
|
@@ -54327,6 +56061,12 @@ paths:
|
|
|
54327
56061
|
on_holiday: false
|
|
54328
56062
|
sellable: true
|
|
54329
56063
|
products_count: 0
|
|
56064
|
+
products_count_by_status:
|
|
56065
|
+
draft: 0
|
|
56066
|
+
active: 0
|
|
56067
|
+
archived: 0
|
|
56068
|
+
proposed: 0
|
|
56069
|
+
rejected: 0
|
|
54330
56070
|
users_count: 0
|
|
54331
56071
|
onboarding_progress:
|
|
54332
56072
|
done: 0
|
|
@@ -54334,6 +56074,7 @@ paths:
|
|
|
54334
56074
|
onboarding_complete: true
|
|
54335
56075
|
legal_name:
|
|
54336
56076
|
registration_number:
|
|
56077
|
+
returns_location_id:
|
|
54337
56078
|
schema:
|
|
54338
56079
|
"$ref": "#/components/schemas/Seller"
|
|
54339
56080
|
'422':
|
|
@@ -54436,6 +56177,12 @@ paths:
|
|
|
54436
56177
|
on_holiday: false
|
|
54437
56178
|
sellable: false
|
|
54438
56179
|
products_count: 0
|
|
56180
|
+
products_count_by_status:
|
|
56181
|
+
draft: 0
|
|
56182
|
+
active: 0
|
|
56183
|
+
archived: 0
|
|
56184
|
+
proposed: 0
|
|
56185
|
+
rejected: 0
|
|
54439
56186
|
users_count: 0
|
|
54440
56187
|
onboarding_progress:
|
|
54441
56188
|
done: 0
|
|
@@ -54443,6 +56190,7 @@ paths:
|
|
|
54443
56190
|
onboarding_complete: true
|
|
54444
56191
|
legal_name:
|
|
54445
56192
|
registration_number:
|
|
56193
|
+
returns_location_id:
|
|
54446
56194
|
schema:
|
|
54447
56195
|
"$ref": "#/components/schemas/Seller"
|
|
54448
56196
|
'422':
|
|
@@ -54550,6 +56298,12 @@ paths:
|
|
|
54550
56298
|
on_holiday: false
|
|
54551
56299
|
sellable: false
|
|
54552
56300
|
products_count: 0
|
|
56301
|
+
products_count_by_status:
|
|
56302
|
+
draft: 0
|
|
56303
|
+
active: 0
|
|
56304
|
+
archived: 0
|
|
56305
|
+
proposed: 0
|
|
56306
|
+
rejected: 0
|
|
54553
56307
|
users_count: 0
|
|
54554
56308
|
onboarding_progress:
|
|
54555
56309
|
done: 0
|
|
@@ -54557,6 +56311,7 @@ paths:
|
|
|
54557
56311
|
onboarding_complete: true
|
|
54558
56312
|
legal_name:
|
|
54559
56313
|
registration_number:
|
|
56314
|
+
returns_location_id:
|
|
54560
56315
|
schema:
|
|
54561
56316
|
"$ref": "#/components/schemas/Seller"
|
|
54562
56317
|
requestBody:
|
|
@@ -54647,6 +56402,12 @@ paths:
|
|
|
54647
56402
|
on_holiday: false
|
|
54648
56403
|
sellable: false
|
|
54649
56404
|
products_count: 0
|
|
56405
|
+
products_count_by_status:
|
|
56406
|
+
draft: 0
|
|
56407
|
+
active: 0
|
|
56408
|
+
archived: 0
|
|
56409
|
+
proposed: 0
|
|
56410
|
+
rejected: 0
|
|
54650
56411
|
users_count: 0
|
|
54651
56412
|
onboarding_progress:
|
|
54652
56413
|
done: 0
|
|
@@ -54654,6 +56415,7 @@ paths:
|
|
|
54654
56415
|
onboarding_complete: true
|
|
54655
56416
|
legal_name:
|
|
54656
56417
|
registration_number:
|
|
56418
|
+
returns_location_id:
|
|
54657
56419
|
schema:
|
|
54658
56420
|
"$ref": "#/components/schemas/Seller"
|
|
54659
56421
|
requestBody:
|
|
@@ -55192,6 +56954,9 @@ paths:
|
|
|
55192
56954
|
summary: Mark a payout paid
|
|
55193
56955
|
tags:
|
|
55194
56956
|
- Sellers
|
|
56957
|
+
x-spree-agent: false
|
|
56958
|
+
x-spree-agent-reason: Settles a payout against the payment provider, reconciling
|
|
56959
|
+
against provider state an agent cannot see.
|
|
55195
56960
|
security:
|
|
55196
56961
|
- api_key: []
|
|
55197
56962
|
bearer_auth: []
|
|
@@ -55433,8 +57198,8 @@ paths:
|
|
|
55433
57198
|
reserved_count: 0
|
|
55434
57199
|
incoming_count: 0
|
|
55435
57200
|
purchasable_count: 0
|
|
55436
|
-
variant_name: Product
|
|
55437
|
-
variant_sku: SKU-
|
|
57201
|
+
variant_name: Product 2135410
|
|
57202
|
+
variant_sku: SKU-260
|
|
55438
57203
|
created_at: '2026-01-15T12:00:00.000Z'
|
|
55439
57204
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
55440
57205
|
stock_location_name: Jong Schamberger
|
|
@@ -55453,8 +57218,8 @@ paths:
|
|
|
55453
57218
|
reserved_count: 0
|
|
55454
57219
|
incoming_count: 0
|
|
55455
57220
|
purchasable_count: 0
|
|
55456
|
-
variant_name: Product
|
|
55457
|
-
variant_sku: SKU-
|
|
57221
|
+
variant_name: Product 2135410
|
|
57222
|
+
variant_sku: SKU-261
|
|
55458
57223
|
created_at: '2026-01-15T12:00:00.000Z'
|
|
55459
57224
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
55460
57225
|
stock_location_name: Jong Schamberger
|
|
@@ -55473,8 +57238,8 @@ paths:
|
|
|
55473
57238
|
reserved_count: 2
|
|
55474
57239
|
incoming_count: 20
|
|
55475
57240
|
purchasable_count: 35
|
|
55476
|
-
variant_name: Product
|
|
55477
|
-
variant_sku: SKU-
|
|
57241
|
+
variant_name: Product 2135410
|
|
57242
|
+
variant_sku: SKU-261
|
|
55478
57243
|
created_at: '2026-01-15T12:00:00.000Z'
|
|
55479
57244
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
55480
57245
|
stock_location_name: Pilar Stokes
|
|
@@ -55510,6 +57275,9 @@ paths:
|
|
|
55510
57275
|
summary: Bulk-upsert stock levels
|
|
55511
57276
|
tags:
|
|
55512
57277
|
- Stock
|
|
57278
|
+
x-spree-agent: false
|
|
57279
|
+
x-spree-agent-reason: set_stock calls this endpoint already, taking stock by
|
|
57280
|
+
SKU and location the way a merchant names them.
|
|
55513
57281
|
security:
|
|
55514
57282
|
- api_key: []
|
|
55515
57283
|
bearer_auth: []
|
|
@@ -55658,8 +57426,8 @@ paths:
|
|
|
55658
57426
|
reserved_count: 0
|
|
55659
57427
|
incoming_count: 0
|
|
55660
57428
|
purchasable_count: 25
|
|
55661
|
-
variant_name: Product
|
|
55662
|
-
variant_sku: SKU-
|
|
57429
|
+
variant_name: Product 2169378
|
|
57430
|
+
variant_sku: SKU-267
|
|
55663
57431
|
created_at: '2026-01-15T12:00:00.000Z'
|
|
55664
57432
|
updated_at: '2026-01-15T12:00:00.000Z'
|
|
55665
57433
|
stock_location_name: Gilbert Marquardt
|
|
@@ -55837,8 +57605,8 @@ paths:
|
|
|
55837
57605
|
stock_location_id: sloc_UkLWZg9DAJ
|
|
55838
57606
|
stock_location_name: Mona Hegmann
|
|
55839
57607
|
variant_id: variant_gbHJdmfrXB
|
|
55840
|
-
variant_name: Product
|
|
55841
|
-
variant_sku: SKU-
|
|
57608
|
+
variant_name: Product 2178513
|
|
57609
|
+
variant_sku: SKU-268
|
|
55842
57610
|
order_id:
|
|
55843
57611
|
fulfillment_id:
|
|
55844
57612
|
return_id:
|
|
@@ -55952,8 +57720,8 @@ paths:
|
|
|
55952
57720
|
stock_location_id: sloc_UkLWZg9DAJ
|
|
55953
57721
|
stock_location_name: Chrystal Sauer
|
|
55954
57722
|
variant_id: variant_gbHJdmfrXB
|
|
55955
|
-
variant_name: Product
|
|
55956
|
-
variant_sku: SKU-
|
|
57723
|
+
variant_name: Product 2192954
|
|
57724
|
+
variant_sku: SKU-272
|
|
55957
57725
|
order_id:
|
|
55958
57726
|
fulfillment_id:
|
|
55959
57727
|
return_id:
|
|
@@ -56544,8 +58312,8 @@ paths:
|
|
|
56544
58312
|
stock_transfer_id: st_UkLWZg9DAJ
|
|
56545
58313
|
variant_id: variant_gbHJdmfrXB
|
|
56546
58314
|
product_id: prod_UkLWZg9DAJ
|
|
56547
|
-
variant_name: Product
|
|
56548
|
-
variant_sku: SKU-
|
|
58315
|
+
variant_name: Product 2262176
|
|
58316
|
+
variant_sku: SKU-285
|
|
56549
58317
|
options_text: 'Size: S'
|
|
56550
58318
|
thumbnail_url:
|
|
56551
58319
|
source_location:
|
|
@@ -57041,6 +58809,7 @@ paths:
|
|
|
57041
58809
|
summary: Count a delivery in
|
|
57042
58810
|
tags:
|
|
57043
58811
|
- Stock Transfers
|
|
58812
|
+
operationId: stock_transfers_receive
|
|
57044
58813
|
security:
|
|
57045
58814
|
- api_key: []
|
|
57046
58815
|
bearer_auth: []
|
|
@@ -61252,6 +63021,8 @@ components:
|
|
|
61252
63021
|
type: string
|
|
61253
63022
|
updated_at:
|
|
61254
63023
|
type: string
|
|
63024
|
+
customer:
|
|
63025
|
+
"$ref": "#/components/schemas/Customer"
|
|
61255
63026
|
required:
|
|
61256
63027
|
- id
|
|
61257
63028
|
- company_id
|
|
@@ -62312,6 +64083,24 @@ components:
|
|
|
62312
64083
|
type: array
|
|
62313
64084
|
items:
|
|
62314
64085
|
type: object
|
|
64086
|
+
properties:
|
|
64087
|
+
id:
|
|
64088
|
+
type: string
|
|
64089
|
+
name:
|
|
64090
|
+
type: string
|
|
64091
|
+
nullable: true
|
|
64092
|
+
position:
|
|
64093
|
+
type: number
|
|
64094
|
+
nullable: true
|
|
64095
|
+
stock_location_ids:
|
|
64096
|
+
type: array
|
|
64097
|
+
items:
|
|
64098
|
+
type: string
|
|
64099
|
+
required:
|
|
64100
|
+
- id
|
|
64101
|
+
- name
|
|
64102
|
+
- position
|
|
64103
|
+
- stock_location_ids
|
|
62315
64104
|
products_count:
|
|
62316
64105
|
type: number
|
|
62317
64106
|
delivery_methods_count:
|
|
@@ -62788,6 +64577,36 @@ components:
|
|
|
62788
64577
|
- delivery_origin_group_id
|
|
62789
64578
|
- delivery_method_ids
|
|
62790
64579
|
x-typelizer: true
|
|
64580
|
+
Diagnostics:
|
|
64581
|
+
type: object
|
|
64582
|
+
properties:
|
|
64583
|
+
spree_version:
|
|
64584
|
+
type: string
|
|
64585
|
+
sections:
|
|
64586
|
+
type: array
|
|
64587
|
+
items:
|
|
64588
|
+
type: object
|
|
64589
|
+
errors:
|
|
64590
|
+
type: array
|
|
64591
|
+
items:
|
|
64592
|
+
type: object
|
|
64593
|
+
generated_at:
|
|
64594
|
+
type: string
|
|
64595
|
+
markdown:
|
|
64596
|
+
type: string
|
|
64597
|
+
issue_url:
|
|
64598
|
+
type: string
|
|
64599
|
+
issue_prefilled:
|
|
64600
|
+
type: boolean
|
|
64601
|
+
required:
|
|
64602
|
+
- spree_version
|
|
64603
|
+
- sections
|
|
64604
|
+
- errors
|
|
64605
|
+
- generated_at
|
|
64606
|
+
- markdown
|
|
64607
|
+
- issue_url
|
|
64608
|
+
- issue_prefilled
|
|
64609
|
+
x-typelizer: true
|
|
62791
64610
|
DigitalAsset:
|
|
62792
64611
|
type: object
|
|
62793
64612
|
properties:
|
|
@@ -63650,6 +65469,14 @@ components:
|
|
|
63650
65469
|
type: array
|
|
63651
65470
|
items:
|
|
63652
65471
|
type: object
|
|
65472
|
+
properties:
|
|
65473
|
+
kind:
|
|
65474
|
+
type: string
|
|
65475
|
+
url:
|
|
65476
|
+
type: string
|
|
65477
|
+
required:
|
|
65478
|
+
- kind
|
|
65479
|
+
- url
|
|
63653
65480
|
labels:
|
|
63654
65481
|
type: array
|
|
63655
65482
|
items:
|
|
@@ -64414,6 +66241,14 @@ components:
|
|
|
64414
66241
|
type: boolean
|
|
64415
66242
|
store:
|
|
64416
66243
|
type: object
|
|
66244
|
+
properties:
|
|
66245
|
+
id:
|
|
66246
|
+
type: string
|
|
66247
|
+
name:
|
|
66248
|
+
type: string
|
|
66249
|
+
required:
|
|
66250
|
+
- id
|
|
66251
|
+
- name
|
|
64417
66252
|
required:
|
|
64418
66253
|
- id
|
|
64419
66254
|
- email
|
|
@@ -64714,6 +66549,9 @@ components:
|
|
|
64714
66549
|
tax_category_id:
|
|
64715
66550
|
type: string
|
|
64716
66551
|
nullable: true
|
|
66552
|
+
product_id:
|
|
66553
|
+
type: string
|
|
66554
|
+
nullable: true
|
|
64717
66555
|
variant:
|
|
64718
66556
|
"$ref": "#/components/schemas/Variant"
|
|
64719
66557
|
tax_category:
|
|
@@ -64753,6 +66591,7 @@ components:
|
|
|
64753
66591
|
- catalog_name
|
|
64754
66592
|
- cost_price
|
|
64755
66593
|
- tax_category_id
|
|
66594
|
+
- product_id
|
|
64756
66595
|
x-typelizer: true
|
|
64757
66596
|
Locale:
|
|
64758
66597
|
type: object
|
|
@@ -67750,6 +69589,14 @@ components:
|
|
|
67750
69589
|
type: boolean
|
|
67751
69590
|
description: Whether the card issuer reported that the security code did
|
|
67752
69591
|
not match.
|
|
69592
|
+
can_void:
|
|
69593
|
+
type: boolean
|
|
69594
|
+
description: Whether the payment can be voided now, as decided by its payment
|
|
69595
|
+
method.
|
|
69596
|
+
can_capture:
|
|
69597
|
+
type: boolean
|
|
69598
|
+
description: Whether the payment can be captured now, as decided by its
|
|
69599
|
+
payment method.
|
|
67753
69600
|
captured_amount:
|
|
67754
69601
|
type: string
|
|
67755
69602
|
order_id:
|
|
@@ -67788,6 +69635,8 @@ components:
|
|
|
67788
69635
|
- updated_at
|
|
67789
69636
|
- avs_risky
|
|
67790
69637
|
- cvv_risky
|
|
69638
|
+
- can_void
|
|
69639
|
+
- can_capture
|
|
67791
69640
|
- captured_amount
|
|
67792
69641
|
- order_id
|
|
67793
69642
|
x-typelizer: true
|
|
@@ -68853,6 +70702,9 @@ components:
|
|
|
68853
70702
|
tax_category_id:
|
|
68854
70703
|
type: string
|
|
68855
70704
|
nullable: true
|
|
70705
|
+
total_on_hand:
|
|
70706
|
+
type: number
|
|
70707
|
+
nullable: true
|
|
68856
70708
|
digital_assets:
|
|
68857
70709
|
type: array
|
|
68858
70710
|
items:
|
|
@@ -68905,6 +70757,7 @@ components:
|
|
|
68905
70757
|
- seller_name
|
|
68906
70758
|
- product_type_id
|
|
68907
70759
|
- tax_category_id
|
|
70760
|
+
- total_on_hand
|
|
68908
70761
|
x-typelizer: true
|
|
68909
70762
|
ProductSubmission:
|
|
68910
70763
|
type: object
|
|
@@ -69214,6 +71067,14 @@ components:
|
|
|
69214
71067
|
type: array
|
|
69215
71068
|
items:
|
|
69216
71069
|
type: string
|
|
71070
|
+
rules:
|
|
71071
|
+
type: array
|
|
71072
|
+
items:
|
|
71073
|
+
"$ref": "#/components/schemas/PromotionRule"
|
|
71074
|
+
actions:
|
|
71075
|
+
type: array
|
|
71076
|
+
items:
|
|
71077
|
+
"$ref": "#/components/schemas/PromotionAction"
|
|
69217
71078
|
required:
|
|
69218
71079
|
- id
|
|
69219
71080
|
- name
|
|
@@ -70033,6 +71894,14 @@ components:
|
|
|
70033
71894
|
type: array
|
|
70034
71895
|
items:
|
|
70035
71896
|
type: object
|
|
71897
|
+
properties:
|
|
71898
|
+
kind:
|
|
71899
|
+
type: string
|
|
71900
|
+
url:
|
|
71901
|
+
type: string
|
|
71902
|
+
required:
|
|
71903
|
+
- kind
|
|
71904
|
+
- url
|
|
70036
71905
|
labels:
|
|
70037
71906
|
type: array
|
|
70038
71907
|
items:
|
|
@@ -70856,6 +72725,15 @@ components:
|
|
|
70856
72725
|
nullable: true
|
|
70857
72726
|
blocker:
|
|
70858
72727
|
type: object
|
|
72728
|
+
properties:
|
|
72729
|
+
state:
|
|
72730
|
+
type: string
|
|
72731
|
+
message:
|
|
72732
|
+
type: string
|
|
72733
|
+
nullable: true
|
|
72734
|
+
required:
|
|
72735
|
+
- state
|
|
72736
|
+
- message
|
|
70859
72737
|
nullable: true
|
|
70860
72738
|
blocking:
|
|
70861
72739
|
type: boolean
|
|
@@ -71034,6 +72912,14 @@ components:
|
|
|
71034
72912
|
type: number
|
|
71035
72913
|
onboarding_progress:
|
|
71036
72914
|
type: object
|
|
72915
|
+
properties:
|
|
72916
|
+
done:
|
|
72917
|
+
type: number
|
|
72918
|
+
total:
|
|
72919
|
+
type: number
|
|
72920
|
+
required:
|
|
72921
|
+
- done
|
|
72922
|
+
- total
|
|
71037
72923
|
onboarding_complete:
|
|
71038
72924
|
type: boolean
|
|
71039
72925
|
legal_name:
|
|
@@ -71046,6 +72932,9 @@ components:
|
|
|
71046
72932
|
"$ref": "#/components/schemas/Address"
|
|
71047
72933
|
returns_address:
|
|
71048
72934
|
"$ref": "#/components/schemas/Address"
|
|
72935
|
+
returns_location_id:
|
|
72936
|
+
type: string
|
|
72937
|
+
nullable: true
|
|
71049
72938
|
required:
|
|
71050
72939
|
- id
|
|
71051
72940
|
- name
|
|
@@ -71076,6 +72965,7 @@ components:
|
|
|
71076
72965
|
- onboarding_complete
|
|
71077
72966
|
- legal_name
|
|
71078
72967
|
- registration_number
|
|
72968
|
+
- returns_location_id
|
|
71079
72969
|
x-typelizer: true
|
|
71080
72970
|
SellerTeamMember:
|
|
71081
72971
|
type: object
|
|
@@ -77871,7 +79761,7 @@ components:
|
|
|
77871
79761
|
default: false
|
|
77872
79762
|
require_contact_email:
|
|
77873
79763
|
type: boolean
|
|
77874
|
-
default:
|
|
79764
|
+
default: false
|
|
77875
79765
|
additionalProperties: false
|
|
77876
79766
|
SellerRequirementDeliveryMethodPreferences:
|
|
77877
79767
|
type: object
|
|
@@ -78602,6 +80492,20 @@ components:
|
|
|
78602
80492
|
- zh-HK
|
|
78603
80493
|
- zh-TW
|
|
78604
80494
|
- zu
|
|
80495
|
+
DimensionUnit:
|
|
80496
|
+
type: string
|
|
80497
|
+
enum:
|
|
80498
|
+
- mm
|
|
80499
|
+
- cm
|
|
80500
|
+
- in
|
|
80501
|
+
- ft
|
|
80502
|
+
WeightUnit:
|
|
80503
|
+
type: string
|
|
80504
|
+
enum:
|
|
80505
|
+
- g
|
|
80506
|
+
- kg
|
|
80507
|
+
- lb
|
|
80508
|
+
- oz
|
|
78605
80509
|
TimeZone:
|
|
78606
80510
|
anyOf:
|
|
78607
80511
|
- type: string
|
|
@@ -78746,20 +80650,6 @@ components:
|
|
|
78746
80650
|
- type: string
|
|
78747
80651
|
description: Common IANA time zones; any other IANA time zone identifier is
|
|
78748
80652
|
accepted too.
|
|
78749
|
-
DimensionUnit:
|
|
78750
|
-
type: string
|
|
78751
|
-
enum:
|
|
78752
|
-
- mm
|
|
78753
|
-
- cm
|
|
78754
|
-
- in
|
|
78755
|
-
- ft
|
|
78756
|
-
WeightUnit:
|
|
78757
|
-
type: string
|
|
78758
|
-
enum:
|
|
78759
|
-
- g
|
|
78760
|
-
- kg
|
|
78761
|
-
- lb
|
|
78762
|
-
- oz
|
|
78763
80653
|
AddressInputParams:
|
|
78764
80654
|
type: object
|
|
78765
80655
|
properties:
|
|
@@ -79876,17 +81766,20 @@ components:
|
|
|
79876
81766
|
CompanyMembershipCreateParams:
|
|
79877
81767
|
type: object
|
|
79878
81768
|
properties:
|
|
81769
|
+
customer_id:
|
|
81770
|
+
type: string
|
|
81771
|
+
description: An existing customer, who becomes a member immediately. Send
|
|
81772
|
+
this or `customer_email`.
|
|
81773
|
+
example: cus_UkLWZg9DAJ
|
|
79879
81774
|
customer_email:
|
|
79880
81775
|
type: string
|
|
79881
81776
|
description: An existing customer becomes a member immediately; an unknown
|
|
79882
81777
|
email becomes an invitation, and the response is an invitation instead
|
|
79883
|
-
of a membership.
|
|
81778
|
+
of a membership. Send this or `customer_id`.
|
|
79884
81779
|
example: buyer@example.com
|
|
79885
81780
|
metadata:
|
|
79886
81781
|
type: object
|
|
79887
81782
|
additionalProperties: true
|
|
79888
|
-
required:
|
|
79889
|
-
- customer_email
|
|
79890
81783
|
CompanyUpdateParams:
|
|
79891
81784
|
type: object
|
|
79892
81785
|
properties:
|
|
@@ -84218,7 +86111,8 @@ components:
|
|
|
84218
86111
|
type: boolean
|
|
84219
86112
|
description: 'Admits a seller whose onboarding checklist is unfinished:
|
|
84220
86113
|
the operator''s deliberate exception, which the `seller.approved` event
|
|
84221
|
-
records along with what was outstanding.
|
|
86114
|
+
records along with what was outstanding. Also admits a `pending` or `invited`
|
|
86115
|
+
seller who never started onboarding, which is refused without it.'
|
|
84222
86116
|
SellerCreateParams:
|
|
84223
86117
|
type: object
|
|
84224
86118
|
properties:
|
|
@@ -84303,6 +86197,13 @@ components:
|
|
|
84303
86197
|
description: 'The seller''s own billing address, written inline. There is
|
|
84304
86198
|
no `billing_address_id`: an address belongs to whoever it was created
|
|
84305
86199
|
for, so it is never referenced by id.'
|
|
86200
|
+
returns_address:
|
|
86201
|
+
allOf:
|
|
86202
|
+
- "$ref": "#/components/schemas/SellerAddressParams"
|
|
86203
|
+
description: 'Where customers send returns, written inline. It is the address
|
|
86204
|
+
of the seller''s returns stock location, so it updates that location,
|
|
86205
|
+
or creates one for a seller who has none. Names and `label` are ignored:
|
|
86206
|
+
a location has none.'
|
|
84306
86207
|
custom_fields:
|
|
84307
86208
|
type: array
|
|
84308
86209
|
items:
|
|
@@ -84310,6 +86211,14 @@ components:
|
|
|
84310
86211
|
description: Custom field values, each validated against its definition.
|
|
84311
86212
|
required:
|
|
84312
86213
|
- name
|
|
86214
|
+
SellerInvitationCreateParams:
|
|
86215
|
+
type: object
|
|
86216
|
+
properties:
|
|
86217
|
+
email:
|
|
86218
|
+
type: string
|
|
86219
|
+
example: teammate@example.com
|
|
86220
|
+
required:
|
|
86221
|
+
- email
|
|
84313
86222
|
SellerInviteParams:
|
|
84314
86223
|
type: object
|
|
84315
86224
|
properties:
|
|
@@ -84538,6 +86447,13 @@ components:
|
|
|
84538
86447
|
description: 'The seller''s own billing address, written inline. There is
|
|
84539
86448
|
no `billing_address_id`: an address belongs to whoever it was created
|
|
84540
86449
|
for, so it is never referenced by id.'
|
|
86450
|
+
returns_address:
|
|
86451
|
+
allOf:
|
|
86452
|
+
- "$ref": "#/components/schemas/SellerAddressParams"
|
|
86453
|
+
description: 'Where customers send returns, written inline. It is the address
|
|
86454
|
+
of the seller''s returns stock location, so it updates that location,
|
|
86455
|
+
or creates one for a seller who has none. Names and `label` are ignored:
|
|
86456
|
+
a location has none.'
|
|
84541
86457
|
custom_fields:
|
|
84542
86458
|
type: array
|
|
84543
86459
|
items:
|
|
@@ -84664,6 +86580,12 @@ components:
|
|
|
84664
86580
|
backorderable:
|
|
84665
86581
|
type: boolean
|
|
84666
86582
|
nullable: true
|
|
86583
|
+
reason:
|
|
86584
|
+
type: string
|
|
86585
|
+
description: Labels the movement in the stock history. Defaults to "Inventory
|
|
86586
|
+
feed".
|
|
86587
|
+
example: received
|
|
86588
|
+
nullable: true
|
|
84667
86589
|
required:
|
|
84668
86590
|
- variant_id
|
|
84669
86591
|
- stock_location_id
|
|
@@ -85306,7 +87228,6 @@ components:
|
|
|
85306
87228
|
description: A `signed_id` from `files.upload()` for the logo in transactional
|
|
85307
87229
|
emails, or null to remove it.
|
|
85308
87230
|
nullable: true
|
|
85309
|
-
|
|
85310
87231
|
SupplierCreateParams:
|
|
85311
87232
|
type: object
|
|
85312
87233
|
properties:
|
|
@@ -86593,7 +88514,9 @@ components:
|
|
|
86593
88514
|
Media:
|
|
86594
88515
|
attributes:
|
|
86595
88516
|
alt: text
|
|
88517
|
+
byte_size: integer
|
|
86596
88518
|
created_at: datetime
|
|
88519
|
+
filename: text
|
|
86597
88520
|
id: id
|
|
86598
88521
|
media_type:
|
|
86599
88522
|
enum:
|