spree_api 6.0.3 → 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.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/concerns/spree/api/v3/idempotent.rb +10 -1
  3. data/app/controllers/concerns/spree/api/v3/security_headers.rb +3 -0
  4. data/app/controllers/spree/api/v3/admin/base_controller.rb +31 -0
  5. data/app/controllers/spree/api/v3/admin/companies/memberships_controller.rb +21 -4
  6. data/app/controllers/spree/api/v3/admin/diagnostics_controller.rb +46 -0
  7. data/app/controllers/spree/api/v3/admin/me_controller.rb +0 -13
  8. data/app/controllers/spree/api/v3/admin/media_controller.rb +10 -0
  9. data/app/controllers/spree/api/v3/admin/orders/items_controller.rb +6 -2
  10. data/app/controllers/spree/api/v3/admin/sellers/invitations_controller.rb +39 -3
  11. data/app/controllers/spree/api/v3/admin/sellers/team_controller.rb +1 -3
  12. data/app/controllers/spree/api/v3/admin/sellers_controller.rb +24 -1
  13. data/app/controllers/spree/api/v3/admin/stock_levels_controller.rb +15 -1
  14. data/app/controllers/spree/api/v3/admin/updates_controller.rb +4 -15
  15. data/app/controllers/spree/api/v3/seller/products/media_controller.rb +46 -0
  16. data/app/controllers/spree/api/v3/seller/products_controller.rb +4 -2
  17. data/app/controllers/spree/api/v3/seller/profile_controller.rb +13 -5
  18. data/app/controllers/spree/api/v3/store/carts_controller.rb +10 -7
  19. data/app/serializers/spree/api/v3/admin/company_membership_serializer.rb +4 -0
  20. data/app/serializers/spree/api/v3/admin/diagnostics_serializer.rb +30 -0
  21. data/app/serializers/spree/api/v3/admin/line_item_serializer.rb +6 -1
  22. data/app/serializers/spree/api/v3/admin/seller_serializer.rb +10 -0
  23. data/app/serializers/spree/api/v3/product_category_serializer.rb +26 -0
  24. data/app/serializers/spree/api/v3/product_collection_serializer.rb +26 -0
  25. data/app/serializers/spree/api/v3/seller/order_line_item_serializer.rb +2 -2
  26. data/config/routes.rb +3 -1
  27. data/lib/spree/api/agent_resource_map.rb +42 -7
  28. data/lib/spree/api/dependencies.rb +1 -1
  29. data/lib/spree/api/testing_support/openapi.rb +2 -1
  30. data/lib/spree/api/testing_support/sdk_method.rb +34 -0
  31. data/openapi/admin.yaml +695 -279
  32. data/openapi/store.yaml +125 -125
  33. metadata +12 -6
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: '2026-01-15T12:00:00Z'
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: '2026-01-15T12:00:00Z'
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: '2026-01-15T12:00:00Z'
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: '2026-01-15T12:00:00Z'
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 13
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 19
2872
+ name: API key 20
2873
2873
  key_type: secret
2874
2874
  token_prefix: sk_L5LVfygvH
2875
2875
  scopes:
@@ -4207,8 +4207,8 @@ paths:
4207
4207
  default: true
4208
4208
  storefront_access:
4209
4209
  guest_checkout:
4210
- created_at: '2026-01-15T12:00:00.000Z'
4211
- updated_at: '2026-01-15T12:00:00.000Z'
4210
+ created_at: '2026-11-11T12:45:25.454Z'
4211
+ updated_at: '2026-11-11T12:45:25.454Z'
4212
4212
  order_routing_strategy:
4213
4213
  stock_location_ids: []
4214
4214
  default_catalog_id:
@@ -4701,24 +4701,24 @@ paths:
4701
4701
  - id: orule_UkLWZg9DAJ
4702
4702
  position: 1
4703
4703
  active: true
4704
- created_at: '2026-01-15T12:00:00.000Z'
4705
- updated_at: '2026-01-15T12:00:00.000Z'
4704
+ created_at: '2026-11-11T12:45:25.458Z'
4705
+ updated_at: '2026-11-11T12:45:25.458Z'
4706
4706
  type: preferred_location
4707
4707
  channel_id: ch_UkLWZg9DAJ
4708
4708
  preferences: {}
4709
4709
  - id: orule_gbHJdmfrXB
4710
4710
  position: 2
4711
4711
  active: true
4712
- created_at: '2026-01-15T12:00:00.000Z'
4713
- updated_at: '2026-01-15T12:00:00.000Z'
4712
+ created_at: '2026-11-11T12:45:25.461Z'
4713
+ updated_at: '2026-11-11T12:45:25.461Z'
4714
4714
  type: minimize_splits
4715
4715
  channel_id: ch_UkLWZg9DAJ
4716
4716
  preferences: {}
4717
4717
  - id: orule_EfhxLZ9ck8
4718
4718
  position: 3
4719
4719
  active: true
4720
- created_at: '2026-01-15T12:00:00.000Z'
4721
- updated_at: '2026-01-15T12:00:00.000Z'
4720
+ created_at: '2026-11-11T12:45:25.464Z'
4721
+ updated_at: '2026-11-11T12:45:25.464Z'
4722
4722
  type: default_location
4723
4723
  channel_id: ch_UkLWZg9DAJ
4724
4724
  preferences: {}
@@ -4861,7 +4861,7 @@ paths:
4861
4861
  id: orule_UkLWZg9DAJ
4862
4862
  position: 2
4863
4863
  active: false
4864
- created_at: '2026-01-15T12:00:00.000Z'
4864
+ created_at: '2026-11-11T12:45:25.458Z'
4865
4865
  updated_at: '2026-01-15T12:00:00.000Z'
4866
4866
  type: preferred_location
4867
4867
  channel_id: ch_UkLWZg9DAJ
@@ -6082,12 +6082,12 @@ paths:
6082
6082
  "$ref": "#/components/schemas/ErrorResponse"
6083
6083
  "/api/v3/admin/customers/{id}/anonymize":
6084
6084
  post:
6085
- x-spree-agent: false
6086
- x-spree-agent-reason: Irreversible erasure of a person's data under GDPR Art.
6087
- 17, which is not something to offer a model behind one confirmation prompt.
6088
6085
  summary: Erase a customer's personal data
6089
6086
  tags:
6090
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.
6091
6091
  security:
6092
6092
  - api_key: []
6093
6093
  bearer_auth: []
@@ -6624,7 +6624,7 @@ paths:
6624
6624
  first_name: John
6625
6625
  last_name: Doe
6626
6626
  full_name: John Doe
6627
- address1: 27 Lovely Street
6627
+ address1: 29 Lovely Street
6628
6628
  address2: Northwest
6629
6629
  postal_code: '10118'
6630
6630
  city: New York
@@ -6815,7 +6815,7 @@ paths:
6815
6815
  first_name: John
6816
6816
  last_name: Doe
6817
6817
  full_name: John Doe
6818
- address1: 29 Lovely Street
6818
+ address1: 31 Lovely Street
6819
6819
  address2: Northwest
6820
6820
  postal_code: '10118'
6821
6821
  city: Manhattan
@@ -9559,11 +9559,6 @@ paths:
9559
9559
  const { sent_to } = await client.emailTemplates.sendTest('spree.order_mailer.confirm_email', {
9560
9560
  body: '<mj-section><mj-column><mj-text>Thanks, {{ order.customer_name }}!</mj-text></mj-column></mj-section>',
9561
9561
  })
9562
- - lang: bash
9563
- label: Spree CLI
9564
- source: spree api post /email_templates/{email_template_id}/test_email -d
9565
- '{"body":"<mj-section><mj-column><mj-text>Thanks, {{ order.customer_name
9566
- }}!</mj-text></mj-column></mj-section>"}'
9567
9562
  parameters:
9568
9563
  - name: x-spree-api-key
9569
9564
  in: header
@@ -10321,7 +10316,7 @@ paths:
10321
10316
  content:
10322
10317
  application/json:
10323
10318
  example:
10324
- signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--aacde269a0019661ac951ab66e97e4338f76c0e3
10319
+ signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--5cf7f6bc12adaf5ef31072ed4b5eb4c1732ca992
10325
10320
  filename: products.csv
10326
10321
  content_type: text/csv
10327
10322
  byte_size: 48213
@@ -10329,7 +10324,7 @@ paths:
10329
10324
  expires_at: '2026-01-16T12:00:00.000Z'
10330
10325
  upload:
10331
10326
  method: PUT
10332
- url: http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJxcmZsMnNod3YwYmR4cWF3ZWFocDZvYjhlYzh5IiwiY29udGVudF90eXBlIjoidGV4dC9jc3YiLCJjb250ZW50X2xlbmd0aCI6NDgyMTMsImNoZWNrc3VtIjoiaGdKTXJSNkRFQjJYTloxelVRVVJWZz09Iiwic2VydmljZV9uYW1lIjoidGVzdCJ9LCJleHAiOiIyMDI2LTAxLTE1VDEyOjA1OjAwLjAwMFoiLCJwdXIiOiJibG9iX3Rva2VuIn19--c3b32cb7c8370747da83a558fab123e28b943128
10327
+ url: http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJxcmZsMnNod3YwYmR4cWF3ZWFocDZvYjhlYzh5IiwiY29udGVudF90eXBlIjoidGV4dC9jc3YiLCJjb250ZW50X2xlbmd0aCI6NDgyMTMsImNoZWNrc3VtIjoiaGdKTXJSNkRFQjJYTloxelVRVVJWZz09Iiwic2VydmljZV9uYW1lIjoidGVzdCJ9LCJleHAiOiIyMDI2LTAxLTE1VDEyOjA1OjAwLjAwMFoiLCJwdXIiOiJibG9iX3Rva2VuIn19--58771025051fac3b85fe97de3d0af5379be8ff83
10333
10328
  headers:
10334
10329
  Content-Type: text/csv
10335
10330
  schema:
@@ -14631,8 +14626,8 @@ paths:
14631
14626
  - US
14632
14627
  supported_locales:
14633
14628
  - en
14634
- created_at: '2026-01-15T12:00:00.000Z'
14635
- updated_at: '2026-01-15T12:00:00.000Z'
14629
+ created_at: '2026-11-11T12:45:25.448Z'
14630
+ updated_at: '2026-11-11T12:45:25.448Z'
14636
14631
  tax_provider:
14637
14632
  - id: mkt_gbHJdmfrXB
14638
14633
  name: EU
@@ -15246,7 +15241,7 @@ paths:
15246
15241
  example:
15247
15242
  data:
15248
15243
  - id: opt_UkLWZg9DAJ
15249
- name: foo-size-14
15244
+ name: foo-size-16
15250
15245
  label: Size
15251
15246
  position: 1
15252
15247
  kind: dropdown
@@ -15442,7 +15437,7 @@ paths:
15442
15437
  application/json:
15443
15438
  example:
15444
15439
  id: opt_UkLWZg9DAJ
15445
- name: foo-size-18
15440
+ name: foo-size-20
15446
15441
  label: Size
15447
15442
  position: 1
15448
15443
  kind: dropdown
@@ -15516,7 +15511,7 @@ paths:
15516
15511
  application/json:
15517
15512
  example:
15518
15513
  id: opt_UkLWZg9DAJ
15519
- name: foo-size-20
15514
+ name: foo-size-22
15520
15515
  label: Updated Label
15521
15516
  position: 1
15522
15517
  kind: dropdown
@@ -18569,8 +18564,8 @@ paths:
18569
18564
  - US
18570
18565
  supported_locales:
18571
18566
  - en
18572
- created_at: '2026-01-15T12:00:00.000Z'
18573
- updated_at: '2026-01-15T12:00:00.000Z'
18567
+ created_at: '2026-11-11T12:45:25.448Z'
18568
+ updated_at: '2026-11-11T12:45:25.448Z'
18574
18569
  tax_provider:
18575
18570
  external_references: {}
18576
18571
  status: draft
@@ -18904,8 +18899,8 @@ paths:
18904
18899
  preorder_ships_at:
18905
18900
  quantity: 2
18906
18901
  currency: USD
18907
- name: Product 779180
18908
- slug: product-779180
18902
+ name: Product 849180
18903
+ slug: product-849180
18909
18904
  options_text: 'Size: S'
18910
18905
  price: '10.00'
18911
18906
  total: '20.00'
@@ -18920,11 +18915,11 @@ paths:
18920
18915
  option_values:
18921
18916
  - id: optval_UkLWZg9DAJ
18922
18917
  option_type_id: opt_UkLWZg9DAJ
18923
- name: size-13
18918
+ name: size-15
18924
18919
  label: S
18925
18920
  position: 1
18926
18921
  color_code:
18927
- option_type_name: foo-size-23
18922
+ option_type_name: foo-size-25
18928
18923
  option_type_label: Size
18929
18924
  image_url:
18930
18925
  metadata: {}
@@ -18943,6 +18938,7 @@ paths:
18943
18938
  catalog_name:
18944
18939
  cost_price: '17.00'
18945
18940
  tax_category_id: taxcat_UkLWZg9DAJ
18941
+ product_id: prod_UkLWZg9DAJ
18946
18942
  meta:
18947
18943
  page: 1
18948
18944
  limit: 25
@@ -19013,8 +19009,8 @@ paths:
19013
19009
  preorder_ships_at:
19014
19010
  quantity: 3
19015
19011
  currency: USD
19016
- name: Product 7999
19017
- slug: product-7999
19012
+ name: Product 8699
19013
+ slug: product-8699
19018
19014
  options_text: 'Size: S'
19019
19015
  price: '19.99'
19020
19016
  total: '59.97'
@@ -19029,11 +19025,11 @@ paths:
19029
19025
  option_values:
19030
19026
  - id: optval_gbHJdmfrXB
19031
19027
  option_type_id: opt_gbHJdmfrXB
19032
- name: size-15
19028
+ name: size-17
19033
19029
  label: S
19034
19030
  position: 1
19035
19031
  color_code:
19036
- option_type_name: foo-size-25
19032
+ option_type_name: foo-size-27
19037
19033
  option_type_label: Size
19038
19034
  image_url:
19039
19035
  metadata: {}
@@ -19052,6 +19048,7 @@ paths:
19052
19048
  catalog_name:
19053
19049
  cost_price: '17.00'
19054
19050
  tax_category_id: taxcat_UkLWZg9DAJ
19051
+ product_id: prod_gbHJdmfrXB
19055
19052
  requestBody:
19056
19053
  content:
19057
19054
  application/json:
@@ -19136,8 +19133,8 @@ paths:
19136
19133
  preorder_ships_at:
19137
19134
  quantity: 2
19138
19135
  currency: USD
19139
- name: Product 802714
19140
- slug: product-802714
19136
+ name: Product 872714
19137
+ slug: product-872714
19141
19138
  options_text: 'Size: S'
19142
19139
  price: '10.00'
19143
19140
  total: '20.00'
@@ -19152,11 +19149,11 @@ paths:
19152
19149
  option_values:
19153
19150
  - id: optval_UkLWZg9DAJ
19154
19151
  option_type_id: opt_UkLWZg9DAJ
19155
- name: size-16
19152
+ name: size-18
19156
19153
  label: S
19157
19154
  position: 1
19158
19155
  color_code:
19159
- option_type_name: foo-size-26
19156
+ option_type_name: foo-size-28
19160
19157
  option_type_label: Size
19161
19158
  image_url:
19162
19159
  metadata: {}
@@ -19175,6 +19172,7 @@ paths:
19175
19172
  catalog_name:
19176
19173
  cost_price: '17.00'
19177
19174
  tax_category_id: taxcat_UkLWZg9DAJ
19175
+ product_id: prod_UkLWZg9DAJ
19178
19176
  patch:
19179
19177
  summary: Update an item
19180
19178
  tags:
@@ -19240,8 +19238,8 @@ paths:
19240
19238
  preorder_ships_at:
19241
19239
  quantity: 5
19242
19240
  currency: USD
19243
- name: Product 819758
19244
- slug: product-819758
19241
+ name: Product 889758
19242
+ slug: product-889758
19245
19243
  options_text: 'Size: S'
19246
19244
  price: '19.99'
19247
19245
  total: '99.95'
@@ -19256,11 +19254,11 @@ paths:
19256
19254
  option_values:
19257
19255
  - id: optval_UkLWZg9DAJ
19258
19256
  option_type_id: opt_UkLWZg9DAJ
19259
- name: size-17
19257
+ name: size-19
19260
19258
  label: S
19261
19259
  position: 1
19262
19260
  color_code:
19263
- option_type_name: foo-size-27
19261
+ option_type_name: foo-size-29
19264
19262
  option_type_label: Size
19265
19263
  image_url:
19266
19264
  metadata: {}
@@ -19279,6 +19277,7 @@ paths:
19279
19277
  catalog_name:
19280
19278
  cost_price: '17.00'
19281
19279
  tax_category_id: taxcat_UkLWZg9DAJ
19280
+ product_id: prod_UkLWZg9DAJ
19282
19281
  requestBody:
19283
19282
  content:
19284
19283
  application/json:
@@ -19438,8 +19437,8 @@ paths:
19438
19437
  - US
19439
19438
  supported_locales:
19440
19439
  - en
19441
- created_at: '2026-01-15T12:00:00.000Z'
19442
- updated_at: '2026-01-15T12:00:00.000Z'
19440
+ created_at: '2026-11-11T12:45:25.448Z'
19441
+ updated_at: '2026-11-11T12:45:25.448Z'
19443
19442
  tax_provider:
19444
19443
  external_references: {}
19445
19444
  status: draft
@@ -19791,8 +19790,8 @@ paths:
19791
19790
  - US
19792
19791
  supported_locales:
19793
19792
  - en
19794
- created_at: '2026-01-15T12:00:00.000Z'
19795
- updated_at: '2026-01-15T12:00:00.000Z'
19793
+ created_at: '2026-11-11T12:45:25.448Z'
19794
+ updated_at: '2026-11-11T12:45:25.448Z'
19796
19795
  tax_provider:
19797
19796
  external_references: {}
19798
19797
  status: draft
@@ -20017,8 +20016,8 @@ paths:
20017
20016
  - US
20018
20017
  supported_locales:
20019
20018
  - en
20020
- created_at: '2026-01-15T12:00:00.000Z'
20021
- updated_at: '2026-01-15T12:00:00.000Z'
20019
+ created_at: '2026-11-11T12:45:25.448Z'
20020
+ updated_at: '2026-11-11T12:45:25.448Z'
20022
20021
  tax_provider:
20023
20022
  external_references: {}
20024
20023
  status: draft
@@ -20174,8 +20173,8 @@ paths:
20174
20173
  - US
20175
20174
  supported_locales:
20176
20175
  - en
20177
- created_at: '2026-01-15T12:00:00.000Z'
20178
- updated_at: '2026-01-15T12:00:00.000Z'
20176
+ created_at: '2026-11-11T12:45:25.448Z'
20177
+ updated_at: '2026-11-11T12:45:25.448Z'
20179
20178
  tax_provider:
20180
20179
  external_references: {}
20181
20180
  status: draft
@@ -20321,8 +20320,8 @@ paths:
20321
20320
  - US
20322
20321
  supported_locales:
20323
20322
  - en
20324
- created_at: '2026-01-15T12:00:00.000Z'
20325
- updated_at: '2026-01-15T12:00:00.000Z'
20323
+ created_at: '2026-11-11T12:45:25.448Z'
20324
+ updated_at: '2026-11-11T12:45:25.448Z'
20326
20325
  tax_provider:
20327
20326
  external_references: {}
20328
20327
  status: draft
@@ -20520,8 +20519,8 @@ paths:
20520
20519
  - US
20521
20520
  supported_locales:
20522
20521
  - en
20523
- created_at: '2026-01-15T12:00:00.000Z'
20524
- updated_at: '2026-01-15T12:00:00.000Z'
20522
+ created_at: '2026-11-11T12:45:25.448Z'
20523
+ updated_at: '2026-11-11T12:45:25.448Z'
20525
20524
  tax_provider:
20526
20525
  external_references: {}
20527
20526
  status: placed
@@ -20699,8 +20698,8 @@ paths:
20699
20698
  - US
20700
20699
  supported_locales:
20701
20700
  - en
20702
- created_at: '2026-01-15T12:00:00.000Z'
20703
- updated_at: '2026-01-15T12:00:00.000Z'
20701
+ created_at: '2026-11-11T12:45:25.448Z'
20702
+ updated_at: '2026-11-11T12:45:25.448Z'
20704
20703
  tax_provider:
20705
20704
  external_references: {}
20706
20705
  status: canceled
@@ -20839,8 +20838,8 @@ paths:
20839
20838
  - US
20840
20839
  supported_locales:
20841
20840
  - en
20842
- created_at: '2026-01-15T12:00:00.000Z'
20843
- updated_at: '2026-01-15T12:00:00.000Z'
20841
+ created_at: '2026-11-11T12:45:25.448Z'
20842
+ updated_at: '2026-11-11T12:45:25.448Z'
20844
20843
  tax_provider:
20845
20844
  external_references: {}
20846
20845
  status: placed
@@ -20973,8 +20972,8 @@ paths:
20973
20972
  - US
20974
20973
  supported_locales:
20975
20974
  - en
20976
- created_at: '2026-01-15T12:00:00.000Z'
20977
- updated_at: '2026-01-15T12:00:00.000Z'
20975
+ created_at: '2026-11-11T12:45:25.448Z'
20976
+ updated_at: '2026-11-11T12:45:25.448Z'
20978
20977
  tax_provider:
20979
20978
  external_references: {}
20980
20979
  status: placed
@@ -21112,8 +21111,8 @@ paths:
21112
21111
  - US
21113
21112
  supported_locales:
21114
21113
  - en
21115
- created_at: '2026-11-03T16:44:09.130Z'
21116
- updated_at: '2026-11-03T16:44:09.130Z'
21114
+ created_at: '2026-11-11T12:45:25.448Z'
21115
+ updated_at: '2026-11-11T12:45:25.448Z'
21117
21116
  tax_provider:
21118
21117
  external_references: {}
21119
21118
  status: placed
@@ -21574,7 +21573,7 @@ paths:
21574
21573
  example:
21575
21574
  error:
21576
21575
  code: processing_error
21577
- message: Only 1 of Product 1792493 can be returned
21576
+ message: Only 1 of Product 2002493 can be returned
21578
21577
  schema:
21579
21578
  "$ref": "#/components/schemas/ErrorResponse"
21580
21579
  requestBody:
@@ -24062,7 +24061,7 @@ paths:
24062
24061
  application/json:
24063
24062
  example:
24064
24063
  id: pl_UkLWZg9DAJ
24065
- name: Price List 2
24064
+ name: Price List 3
24066
24065
  description:
24067
24066
  status: inactive
24068
24067
  position: 1
@@ -24596,12 +24595,12 @@ paths:
24596
24595
  required: true
24597
24596
  "/api/v3/admin/prices/bulk_destroy":
24598
24597
  delete:
24599
- x-spree-agent: false
24600
- x-spree-agent-reason: Deletes many prices in one call behind a single confirmation;
24601
- delete_resource removes them one at a time.
24602
24598
  summary: Bulk-delete prices
24603
24599
  tags:
24604
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.
24605
24604
  security:
24606
24605
  - api_key: []
24607
24606
  bearer_auth: []
@@ -25143,7 +25142,7 @@ paths:
25143
25142
  updated_at: '2026-01-15T12:00:00.000Z'
25144
25143
  provider_type:
25145
25144
  provider_name: File
25146
- download_url: http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJ0Z252N2l0MG55YnkwbHhkczg5Y2hteTd6aXlvIiwiZGlzcG9zaXRpb24iOiJhdHRhY2htZW50OyBmaWxlbmFtZT1cInRoaW5raW5nLWNhdC5qcGdcIjsgZmlsZW5hbWUqPVVURi04Jyd0aGlua2luZy1jYXQuanBnIiwiY29udGVudF90eXBlIjoiaW1hZ2UvanBlZyIsInNlcnZpY2VfbmFtZSI6InRlc3QifSwiZXhwIjoiMjAyNi0wMS0xNVQxMjowNTowMC4wMDBaIiwicHVyIjoiYmxvYl9rZXkifX0=--06a160c64f398ed4eb70327ef6932eaf662f98d7/thinking-cat.jpg
25145
+ download_url: http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJ0Z252N2l0MG55YnkwbHhkczg5Y2hteTd6aXlvIiwiZGlzcG9zaXRpb24iOiJhdHRhY2htZW50OyBmaWxlbmFtZT1cInRoaW5raW5nLWNhdC5qcGdcIjsgZmlsZW5hbWUqPVVURi04Jyd0aGlua2luZy1jYXQuanBnIiwiY29udGVudF90eXBlIjoiaW1hZ2UvanBlZyIsInNlcnZpY2VfbmFtZSI6InRlc3QifSwiZXhwIjoiMjAyNi0wMS0xNVQxMjowNTowMC4wMDBaIiwicHVyIjoiYmxvYl9rZXkifX0=--709f2019d409ca81185d256a48389bc187a4544d/thinking-cat.jpg
25147
25146
  effective_authorized_clicks: 5
25148
25147
  effective_authorized_days: 7
25149
25148
  provider_settings: {}
@@ -25234,7 +25233,7 @@ paths:
25234
25233
  updated_at: '2026-01-15T12:00:00.000Z'
25235
25234
  provider_type:
25236
25235
  provider_name: File
25237
- download_url: http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJhOXR0cGNpbmxxbThvbmtlNHM1NmI2Y3gxMWVzIiwiZGlzcG9zaXRpb24iOiJhdHRhY2htZW50OyBmaWxlbmFtZT1cIm1hbnVhbC5wZGZcIjsgZmlsZW5hbWUqPVVURi04JydtYW51YWwucGRmIiwiY29udGVudF90eXBlIjoiaW1hZ2UvanBlZyIsInNlcnZpY2VfbmFtZSI6InRlc3QifSwiZXhwIjoiMjAyNi0wMS0xNVQxMjowNTowMC4wMDBaIiwicHVyIjoiYmxvYl9rZXkifX0=--0df5c2167c42cdda6a5f6639d3ddc1b4473c5a81/manual.pdf
25236
+ download_url: http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJhOXR0cGNpbmxxbThvbmtlNHM1NmI2Y3gxMWVzIiwiZGlzcG9zaXRpb24iOiJhdHRhY2htZW50OyBmaWxlbmFtZT1cIm1hbnVhbC5wZGZcIjsgZmlsZW5hbWUqPVVURi04JydtYW51YWwucGRmIiwiY29udGVudF90eXBlIjoiaW1hZ2UvanBlZyIsInNlcnZpY2VfbmFtZSI6InRlc3QifSwiZXhwIjoiMjAyNi0wMS0xNVQxMjowNTowMC4wMDBaIiwicHVyIjoiYmxvYl9rZXkifX0=--4aedc095f285621c27efe025cd8841f58d6d09d3/manual.pdf
25238
25237
  effective_authorized_clicks: 5
25239
25238
  effective_authorized_days: 30
25240
25239
  provider_settings: {}
@@ -25323,7 +25322,7 @@ paths:
25323
25322
  updated_at: '2026-01-15T12:00:00.000Z'
25324
25323
  provider_type:
25325
25324
  provider_name: File
25326
- download_url: http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiIwZXp6d3IzMzE3ajRoem9kc3Awc2czN3EzMnhzIiwiZGlzcG9zaXRpb24iOiJhdHRhY2htZW50OyBmaWxlbmFtZT1cInRoaW5raW5nLWNhdC5qcGdcIjsgZmlsZW5hbWUqPVVURi04Jyd0aGlua2luZy1jYXQuanBnIiwiY29udGVudF90eXBlIjoiaW1hZ2UvanBlZyIsInNlcnZpY2VfbmFtZSI6InRlc3QifSwiZXhwIjoiMjAyNi0wMS0xNVQxMjowNTowMC4wMDBaIiwicHVyIjoiYmxvYl9rZXkifX0=--da799713969a4775b10b6055f685e92f410f5176/thinking-cat.jpg
25325
+ download_url: http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiIwZXp6d3IzMzE3ajRoem9kc3Awc2czN3EzMnhzIiwiZGlzcG9zaXRpb24iOiJhdHRhY2htZW50OyBmaWxlbmFtZT1cInRoaW5raW5nLWNhdC5qcGdcIjsgZmlsZW5hbWUqPVVURi04Jyd0aGlua2luZy1jYXQuanBnIiwiY29udGVudF90eXBlIjoiaW1hZ2UvanBlZyIsInNlcnZpY2VfbmFtZSI6InRlc3QifSwiZXhwIjoiMjAyNi0wMS0xNVQxMjowNTowMC4wMDBaIiwicHVyIjoiYmxvYl9rZXkifX0=--506612a6a2fda890a0b082043117cbc516d49d89/thinking-cat.jpg
25327
25326
  effective_authorized_clicks: 10
25328
25327
  effective_authorized_days: 7
25329
25328
  provider_settings: {}
@@ -25692,8 +25691,8 @@ paths:
25692
25691
  example:
25693
25692
  data:
25694
25693
  - id: prod_UkLWZg9DAJ
25695
- name: Product 1296550
25696
- slug: product-1296550
25694
+ name: Product 1376550
25695
+ slug: product-1376550
25697
25696
  meta_title:
25698
25697
  meta_description:
25699
25698
  meta_keywords:
@@ -25854,7 +25853,7 @@ paths:
25854
25853
  meta_title:
25855
25854
  meta_description:
25856
25855
  meta_keywords:
25857
- variant_count: 0
25856
+ variant_count: 1
25858
25857
  available_on:
25859
25858
  preorder_ships_at:
25860
25859
  purchasable: false
@@ -25973,8 +25972,8 @@ paths:
25973
25972
  application/json:
25974
25973
  example:
25975
25974
  id: prod_UkLWZg9DAJ
25976
- name: Product 1332061
25977
- slug: product-1332061
25975
+ name: Product 1412061
25976
+ slug: product-1412061
25978
25977
  meta_title:
25979
25978
  meta_description:
25980
25979
  meta_keywords:
@@ -26085,7 +26084,7 @@ paths:
26085
26084
  example:
26086
26085
  id: prod_UkLWZg9DAJ
26087
26086
  name: Updated Name
26088
- slug: product-1355339
26087
+ slug: product-1435339
26089
26088
  meta_title:
26090
26089
  meta_description:
26091
26090
  meta_keywords:
@@ -26279,8 +26278,8 @@ paths:
26279
26278
  application/json:
26280
26279
  example:
26281
26280
  id: prod_gbHJdmfrXB
26282
- name: COPY OF Product 1462357
26283
- slug: copy-of-product-1462357
26281
+ name: COPY OF Product 1472357
26282
+ slug: copy-of-product-1472357
26284
26283
  meta_title:
26285
26284
  meta_description:
26286
26285
  meta_keywords:
@@ -26339,13 +26338,13 @@ paths:
26339
26338
  "$ref": "#/components/schemas/Product"
26340
26339
  "/api/v3/admin/products/bulk_status_update":
26341
26340
  post:
26342
- x-spree-agent: false
26343
- x-spree-agent-reason: Writes the status column for many products at once, skipping
26344
- the status workflows and their events; products_activate, products_archive and
26345
- products_draft run them.
26346
26341
  summary: Bulk-update product status
26347
26342
  tags:
26348
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.
26349
26348
  security:
26350
26349
  - api_key: []
26351
26350
  bearer_auth: []
@@ -26902,12 +26901,12 @@ paths:
26902
26901
  required: true
26903
26902
  "/api/v3/admin/products/bulk_destroy":
26904
26903
  delete:
26905
- x-spree-agent: false
26906
- x-spree-agent-reason: Deletes many products in one call behind a single confirmation;
26907
- delete_resource removes them one at a time.
26908
26904
  summary: Bulk-delete products
26909
26905
  tags:
26910
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.
26911
26910
  security:
26912
26911
  - api_key: []
26913
26912
  bearer_auth: []
@@ -26991,11 +26990,6 @@ paths:
26991
26990
  security:
26992
26991
  - api_key: []
26993
26992
  bearer_auth: []
26994
- description: |-
26995
- Puts a product a seller submitted for review on sale, and closes the
26996
- submission. Only a product awaiting review can be approved.
26997
-
26998
- **Required scope:** `write_products` (for API-key authentication).
26999
26993
  parameters:
27000
26994
  - name: x-spree-api-key
27001
26995
  in: header
@@ -27007,6 +27001,11 @@ paths:
27007
27001
  required: true
27008
27002
  schema:
27009
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).
27010
27009
  responses:
27011
27010
  '200':
27012
27011
  description: product approved
@@ -27014,8 +27013,8 @@ paths:
27014
27013
  application/json:
27015
27014
  example:
27016
27015
  id: prod_gbHJdmfrXB
27017
- name: Product 1538682
27018
- slug: product-1538682
27016
+ name: Product 1628682
27017
+ slug: product-1628682
27019
27018
  meta_title:
27020
27019
  meta_description:
27021
27020
  meta_keywords:
@@ -27137,8 +27136,8 @@ paths:
27137
27136
  application/json:
27138
27137
  example:
27139
27138
  id: prod_gbHJdmfrXB
27140
- name: Product 1564387
27141
- slug: product-1564387
27139
+ name: Product 1654387
27140
+ slug: product-1654387
27142
27141
  meta_title:
27143
27142
  meta_description:
27144
27143
  meta_keywords:
@@ -27256,8 +27255,8 @@ paths:
27256
27255
  application/json:
27257
27256
  example:
27258
27257
  id: prod_gbHJdmfrXB
27259
- name: Product 1604119
27260
- slug: product-1604119
27258
+ name: Product 1674119
27259
+ slug: product-1674119
27261
27260
  meta_title:
27262
27261
  meta_description:
27263
27262
  meta_keywords:
@@ -27383,8 +27382,8 @@ paths:
27383
27382
  application/json:
27384
27383
  example:
27385
27384
  id: prod_gbHJdmfrXB
27386
- name: Product 1644768
27387
- slug: product-1644768
27385
+ name: Product 1714768
27386
+ slug: product-1714768
27388
27387
  meta_title:
27389
27388
  meta_description:
27390
27389
  meta_keywords:
@@ -27502,8 +27501,8 @@ paths:
27502
27501
  application/json:
27503
27502
  example:
27504
27503
  id: prod_gbHJdmfrXB
27505
- name: Product 1682527
27506
- slug: product-1682527
27504
+ name: Product 1752527
27505
+ slug: product-1752527
27507
27506
  meta_title:
27508
27507
  meta_description:
27509
27508
  meta_keywords:
@@ -27803,8 +27802,8 @@ paths:
27803
27802
  slug: privacy-policy
27804
27803
  body: ''
27805
27804
  body_html: ''
27806
- updated_at: '2026-01-15T12:00:00.000Z'
27807
- created_at: '2026-01-15T12:00:00.000Z'
27805
+ updated_at: '2026-11-11T12:45:25.480Z'
27806
+ created_at: '2026-11-11T12:45:25.480Z'
27808
27807
  - id: pol_uw2YK1rnl0
27809
27808
  name: Restocking Policy
27810
27809
  slug: restocking-policy
@@ -27817,22 +27816,22 @@ paths:
27817
27816
  slug: returns-policy
27818
27817
  body: ''
27819
27818
  body_html: ''
27820
- updated_at: '2026-01-15T12:00:00.000Z'
27821
- created_at: '2026-01-15T12:00:00.000Z'
27819
+ updated_at: '2026-11-11T12:45:25.483Z'
27820
+ created_at: '2026-11-11T12:45:25.483Z'
27822
27821
  - id: pol_VqXmZF31wY
27823
27822
  name: Shipping Policy
27824
27823
  slug: shipping-policy
27825
27824
  body: ''
27826
27825
  body_html: ''
27827
- updated_at: '2026-01-15T12:00:00.000Z'
27828
- created_at: '2026-01-15T12:00:00.000Z'
27826
+ updated_at: '2026-11-11T12:45:25.486Z'
27827
+ created_at: '2026-11-11T12:45:25.486Z'
27829
27828
  - id: pol_UkLWZg9DAJ
27830
27829
  name: Terms of Service
27831
27830
  slug: terms-of-service
27832
27831
  body: ''
27833
27832
  body_html: ''
27834
- updated_at: '2026-01-15T12:00:00.000Z'
27835
- created_at: '2026-01-15T12:00:00.000Z'
27833
+ updated_at: '2026-11-11T12:45:25.475Z'
27834
+ created_at: '2026-11-11T12:45:25.475Z'
27836
27835
  meta:
27837
27836
  page: 1
27838
27837
  limit: 25
@@ -32049,6 +32048,157 @@ paths:
32049
32048
  required:
32050
32049
  - data
32051
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"
32052
32202
  "/api/v3/admin/locales":
32053
32203
  get:
32054
32204
  summary: List supported locales
@@ -32160,7 +32310,7 @@ paths:
32160
32310
  mail_from_address: no-reply@example.com
32161
32311
  customer_support_email: support@example.com
32162
32312
  new_order_notifications_email: store-owner@example.com
32163
- created_at: '2026-01-15T12:00:00.000Z'
32313
+ created_at: '2026-11-11T12:45:25.412Z'
32164
32314
  updated_at: '2026-01-15T12:00:00.000Z'
32165
32315
  order_routing_strategy: rules
32166
32316
  payout_provider:
@@ -32532,7 +32682,7 @@ paths:
32532
32682
  mail_from_address: no-reply@example.com
32533
32683
  customer_support_email: support@example.com
32534
32684
  new_order_notifications_email: store-owner@example.com
32535
- created_at: '2026-01-15T12:00:00.000Z'
32685
+ created_at: '2026-11-11T12:45:25.412Z'
32536
32686
  updated_at: '2026-01-15T12:00:00.000Z'
32537
32687
  order_routing_strategy: rules
32538
32688
  payout_provider:
@@ -33735,7 +33885,7 @@ paths:
33735
33885
  type: string
33736
33886
  - key: contact_phone
33737
33887
  type: string
33738
- readable: false
33888
+ readable: true
33739
33889
  - resource_type: policy
33740
33890
  fields:
33741
33891
  - key: name
@@ -33883,9 +34033,6 @@ paths:
33883
34033
  if (status.update_available) {
33884
34034
  console.log(`Spree ${status.latest_version} is available: ${status.latest_release_url}`)
33885
34035
  }
33886
- - lang: bash
33887
- label: Spree CLI
33888
- source: spree api get /updates
33889
34036
  parameters:
33890
34037
  - name: Authorization
33891
34038
  in: header
@@ -33899,7 +34046,7 @@ paths:
33899
34046
  content:
33900
34047
  application/json:
33901
34048
  example:
33902
- current_version: 6.0.0.rc5
34049
+ current_version: 6.0.3
33903
34050
  enabled: true
33904
34051
  checked_at: '2026-10-03T04:00:00.000Z'
33905
34052
  update_available: true
@@ -36820,7 +36967,7 @@ paths:
36820
36967
  data:
36821
36968
  - id: variant_UkLWZg9DAJ
36822
36969
  product_id: prod_UkLWZg9DAJ
36823
- sku: SKU-285
36970
+ sku: SKU-312
36824
36971
  options_text: ''
36825
36972
  track_inventory: true
36826
36973
  media_count: 0
@@ -36875,11 +37022,11 @@ paths:
36875
37022
  available_stock: 0
36876
37023
  reserved_quantity: 0
36877
37024
  total_on_hand: 0
36878
- product_name: Product 2146804
37025
+ product_name: Product 2396804
36879
37026
  delivery_profile_id: fp_UkLWZg9DAJ
36880
37027
  - id: variant_gbHJdmfrXB
36881
37028
  product_id: prod_UkLWZg9DAJ
36882
- sku: SKU-286
37029
+ sku: SKU-313
36883
37030
  options_text: 'Size: S'
36884
37031
  track_inventory: true
36885
37032
  media_count: 0
@@ -36914,11 +37061,11 @@ paths:
36914
37061
  option_values:
36915
37062
  - id: optval_UkLWZg9DAJ
36916
37063
  option_type_id: opt_UkLWZg9DAJ
36917
- name: size-70
37064
+ name: size-72
36918
37065
  label: S
36919
37066
  position: 1
36920
37067
  color_code:
36921
- option_type_name: foo-size-80
37068
+ option_type_name: foo-size-82
36922
37069
  option_type_label: Size
36923
37070
  image_url:
36924
37071
  metadata: {}
@@ -36946,7 +37093,7 @@ paths:
36946
37093
  available_stock: 0
36947
37094
  reserved_quantity: 0
36948
37095
  total_on_hand: 0
36949
- product_name: Product 2146804
37096
+ product_name: Product 2396804
36950
37097
  delivery_profile_id: fp_UkLWZg9DAJ
36951
37098
  meta:
36952
37099
  page: 1
@@ -37092,7 +37239,7 @@ paths:
37092
37239
  available_stock: 0
37093
37240
  reserved_quantity: 0
37094
37241
  total_on_hand: 0
37095
- product_name: Product 2151771
37242
+ product_name: Product 2401771
37096
37243
  delivery_profile_id: fp_UkLWZg9DAJ
37097
37244
  '422':
37098
37245
  description: validation error
@@ -37104,7 +37251,7 @@ paths:
37104
37251
  message: SKU has already been taken
37105
37252
  details:
37106
37253
  sku:
37107
- - value: SKU-290
37254
+ - value: SKU-317
37108
37255
  code: taken
37109
37256
  message: has already been taken
37110
37257
  specific: false
@@ -37192,7 +37339,7 @@ paths:
37192
37339
  example:
37193
37340
  id: variant_gbHJdmfrXB
37194
37341
  product_id: prod_UkLWZg9DAJ
37195
- sku: SKU-292
37342
+ sku: SKU-319
37196
37343
  options_text: 'Size: S'
37197
37344
  track_inventory: true
37198
37345
  media_count: 0
@@ -37227,11 +37374,11 @@ paths:
37227
37374
  option_values:
37228
37375
  - id: optval_UkLWZg9DAJ
37229
37376
  option_type_id: opt_UkLWZg9DAJ
37230
- name: size-73
37377
+ name: size-75
37231
37378
  label: S
37232
37379
  position: 1
37233
37380
  color_code:
37234
- option_type_name: foo-size-83
37381
+ option_type_name: foo-size-85
37235
37382
  option_type_label: Size
37236
37383
  image_url:
37237
37384
  metadata: {}
@@ -37259,7 +37406,7 @@ paths:
37259
37406
  available_stock: 0
37260
37407
  reserved_quantity: 0
37261
37408
  total_on_hand: 0
37262
- product_name: Product 2174025
37409
+ product_name: Product 2424025
37263
37410
  delivery_profile_id: fp_UkLWZg9DAJ
37264
37411
  '404':
37265
37412
  description: variant not found
@@ -37367,11 +37514,11 @@ paths:
37367
37514
  option_values:
37368
37515
  - id: optval_UkLWZg9DAJ
37369
37516
  option_type_id: opt_UkLWZg9DAJ
37370
- name: size-75
37517
+ name: size-77
37371
37518
  label: S
37372
37519
  position: 1
37373
37520
  color_code:
37374
- option_type_name: foo-size-85
37521
+ option_type_name: foo-size-87
37375
37522
  option_type_label: Size
37376
37523
  image_url:
37377
37524
  metadata: {}
@@ -37399,7 +37546,7 @@ paths:
37399
37546
  available_stock: 0
37400
37547
  reserved_quantity: 0
37401
37548
  total_on_hand: 0
37402
- product_name: Product 2195672
37549
+ product_name: Product 2445672
37403
37550
  delivery_profile_id: fp_UkLWZg9DAJ
37404
37551
  requestBody:
37405
37552
  content:
@@ -37690,7 +37837,7 @@ paths:
37690
37837
  data:
37691
37838
  - id: variant_UkLWZg9DAJ
37692
37839
  product_id: prod_UkLWZg9DAJ
37693
- sku: SKU-299
37840
+ sku: SKU-326
37694
37841
  options_text: ''
37695
37842
  track_inventory: true
37696
37843
  media_count: 0
@@ -37745,11 +37892,11 @@ paths:
37745
37892
  available_stock: 0
37746
37893
  reserved_quantity: 0
37747
37894
  total_on_hand: 0
37748
- product_name: Product 2213647
37895
+ product_name: Product 2463647
37749
37896
  delivery_profile_id: fp_UkLWZg9DAJ
37750
37897
  - id: variant_gbHJdmfrXB
37751
37898
  product_id: prod_UkLWZg9DAJ
37752
- sku: SKU-300
37899
+ sku: SKU-327
37753
37900
  options_text: 'Size: S'
37754
37901
  track_inventory: true
37755
37902
  media_count: 0
@@ -37784,11 +37931,11 @@ paths:
37784
37931
  option_values:
37785
37932
  - id: optval_UkLWZg9DAJ
37786
37933
  option_type_id: opt_UkLWZg9DAJ
37787
- name: size-77
37934
+ name: size-79
37788
37935
  label: S
37789
37936
  position: 1
37790
37937
  color_code:
37791
- option_type_name: foo-size-87
37938
+ option_type_name: foo-size-89
37792
37939
  option_type_label: Size
37793
37940
  image_url:
37794
37941
  metadata: {}
@@ -37816,7 +37963,7 @@ paths:
37816
37963
  available_stock: 0
37817
37964
  reserved_quantity: 0
37818
37965
  total_on_hand: 0
37819
- product_name: Product 2213647
37966
+ product_name: Product 2463647
37820
37967
  delivery_profile_id: fp_UkLWZg9DAJ
37821
37968
  meta:
37822
37969
  page: 1
@@ -39892,6 +40039,30 @@ paths:
39892
40039
  credential: false
39893
40040
  deprecated: false
39894
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:
39895
40066
  - name: product_submission.created
39896
40067
  group: product_submission
39897
40068
  credential_permission:
@@ -40505,7 +40676,7 @@ paths:
40505
40676
  deprecated: false
40506
40677
  replaced_by:
40507
40678
  meta:
40508
- count: 260
40679
+ count: 264
40509
40680
  "/api/v3/admin/catalogs":
40510
40681
  get:
40511
40682
  summary: List catalogs
@@ -41148,12 +41319,12 @@ paths:
41148
41319
  example:
41149
41320
  data:
41150
41321
  - id: prod_UkLWZg9DAJ
41151
- name: Product 12159
41322
+ name: Product 22159
41152
41323
  thumbnail_url:
41153
41324
  catalog_variants:
41154
41325
  - id: variant_UkLWZg9DAJ
41155
41326
  label:
41156
- sku: SKU-1
41327
+ sku: SKU-2
41157
41328
  currency: USD
41158
41329
  source: automatic
41159
41330
  break_count: 0
@@ -43755,7 +43926,7 @@ paths:
43755
43926
  first_name:
43756
43927
  last_name:
43757
43928
  full_name: ''
43758
- address1: 23 Lovely Street
43929
+ address1: 25 Lovely Street
43759
43930
  address2: Northwest
43760
43931
  postal_code: '10118'
43761
43932
  city: New York
@@ -43963,7 +44134,7 @@ paths:
43963
44134
  first_name:
43964
44135
  last_name:
43965
44136
  full_name: ''
43966
- address1: 25 Lovely Street
44137
+ address1: 27 Lovely Street
43967
44138
  address2: Northwest
43968
44139
  postal_code: '10118'
43969
44140
  city: New York
@@ -44204,16 +44375,17 @@ paths:
44204
44375
  previous:
44205
44376
  next:
44206
44377
  post:
44207
- summary: Add a member by email
44378
+ summary: Add a member
44208
44379
  tags:
44209
44380
  - Companies
44210
44381
  security:
44211
44382
  - api_key: []
44212
44383
  bearer_auth: []
44213
44384
  description: |-
44214
- Adds a person to the node by email. An email matching an existing customer becomes a
44215
- membership immediately (a `cmem_…` id); an unknown email becomes an invitation
44216
- (a `cinv_…` id) and the invite email goes out.
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.
44217
44389
 
44218
44390
 
44219
44391
  **Required scope:** `write_customers` (for API-key authentication).
@@ -46540,8 +46712,8 @@ paths:
46540
46712
  name: General
46541
46713
  default: true
46542
46714
  position: 1
46543
- created_at: '2026-01-15T12:00:00.000Z'
46544
- updated_at: '2026-01-15T12:00:00.000Z'
46715
+ created_at: '2026-11-11T12:45:25.491Z'
46716
+ updated_at: '2026-11-11T12:45:25.491Z'
46545
46717
  kind: shipping
46546
46718
  digital: false
46547
46719
  offers_pickup: false
@@ -47053,7 +47225,7 @@ paths:
47053
47225
  data:
47054
47226
  - id: dm_UkLWZg9DAJ
47055
47227
  name: UPS Ground
47056
- code: UPS_GROUND_11
47228
+ code: UPS_GROUND_12
47057
47229
  estimated_transit_business_days_min:
47058
47230
  estimated_transit_business_days_max:
47059
47231
  digital: false
@@ -47239,7 +47411,7 @@ paths:
47239
47411
  example:
47240
47412
  id: dm_UkLWZg9DAJ
47241
47413
  name: UPS Express
47242
- code: UPS_GROUND_12
47414
+ code: UPS_GROUND_13
47243
47415
  estimated_transit_business_days_min: 1
47244
47416
  estimated_transit_business_days_max: 2
47245
47417
  digital: false
@@ -48460,18 +48632,22 @@ paths:
48460
48632
  | Attribute | Kind | Predicates |
48461
48633
  |---|---|---|
48462
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` |
48463
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` |
48464
48638
  | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
48465
48639
  | `media_type` | One of `image`, `video`, `external_video` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
48466
48640
  | `position` | Number | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
48467
48641
  | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
48468
48642
 
48469
- **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.
48470
48644
  x-spree-filters:
48471
48645
  table: Media
48472
48646
  sortable:
48473
48647
  - alt
48648
+ - byte_size
48474
48649
  - created_at
48650
+ - filename
48475
48651
  - id
48476
48652
  - media_type
48477
48653
  - position
@@ -48496,13 +48672,13 @@ paths:
48496
48672
  video_embed_url:
48497
48673
  video_url:
48498
48674
  poster_url:
48499
- original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/thinking-cat.jpg
48500
- mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjgsMTI4XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--3f903649ac66e0043c8adaf4863ea52cd1300ab6/thinking-cat.jpg
48501
- small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyNTYsMjU2XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--f5bdfe7939f0f56c6c00267593e387bb24b3b3e5/thinking-cat.jpg
48502
- medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls0MDAsNDAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--52ada528efaa0103221a6e3001cf4a46a7889310/thinking-cat.jpg
48503
- large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls3MjAsNzIwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--722217e606f0088e8714f1db5cc39930b087612a/thinking-cat.jpg
48504
- xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyMDAwLDIwMDBdLCJzYXZlciI6eyJzdHJpcCI6dHJ1ZSwicXVhbGl0eSI6NzUsImxvc3NsZXNzIjpmYWxzZSwiYWxwaGFfcSI6ODUsInJlZHVjdGlvbl9lZmZvcnQiOjYsInNtYXJ0X3N1YnNhbXBsZSI6dHJ1ZX19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--6a35f609b2c6745523c0ae722d7c0dd6779a568a/thinking-cat.jpg
48505
- og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjAwLDYzMF0sInNhdmVyIjp7InN0cmlwIjp0cnVlLCJxdWFsaXR5Ijo3NSwibG9zc2xlc3MiOmZhbHNlLCJhbHBoYV9xIjo4NSwicmVkdWN0aW9uX2VmZm9ydCI6Niwic21hcnRfc3Vic2FtcGxlIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--0020ff44ca68bbdeb3bb2115e8c3563594f79f50/thinking-cat.jpg
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
48506
48682
  external_references: {}
48507
48683
  created_at: '2026-01-15T12:00:00.000Z'
48508
48684
  updated_at: '2026-01-15T12:00:00.000Z'
@@ -48510,10 +48686,10 @@ paths:
48510
48686
  filename: thinking-cat.jpg
48511
48687
  content_type: image/jpeg
48512
48688
  byte_size: 18090
48513
- embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--6755f4503fb7441d5f39947f4cfd801b3ad8d627/thinking-cat.jpg
48514
- signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--aacde269a0019661ac951ab66e97e4338f76c0e3
48689
+ embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--19f16573cafa934a908d21a80fef013aca3219fc/thinking-cat.jpg
48690
+ signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--5cf7f6bc12adaf5ef31072ed4b5eb4c1732ca992
48515
48691
  viewable_id: prod_UkLWZg9DAJ
48516
- download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/thinking-cat.jpg?disposition=attachment
48692
+ download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/thinking-cat.jpg?disposition=attachment
48517
48693
  metadata: {}
48518
48694
  viewable_type: product
48519
48695
  meta:
@@ -48604,13 +48780,13 @@ paths:
48604
48780
  video_embed_url:
48605
48781
  video_url:
48606
48782
  poster_url:
48607
- original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--d09b5425a813f091eba0215bef6560cfbfe00b36/library-upload.jpg
48608
- mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--d09b5425a813f091eba0215bef6560cfbfe00b36/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjgsMTI4XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--3f903649ac66e0043c8adaf4863ea52cd1300ab6/library-upload.jpg
48609
- small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--d09b5425a813f091eba0215bef6560cfbfe00b36/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyNTYsMjU2XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--f5bdfe7939f0f56c6c00267593e387bb24b3b3e5/library-upload.jpg
48610
- medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--d09b5425a813f091eba0215bef6560cfbfe00b36/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls0MDAsNDAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--52ada528efaa0103221a6e3001cf4a46a7889310/library-upload.jpg
48611
- large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--d09b5425a813f091eba0215bef6560cfbfe00b36/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls3MjAsNzIwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--722217e606f0088e8714f1db5cc39930b087612a/library-upload.jpg
48612
- xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--d09b5425a813f091eba0215bef6560cfbfe00b36/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyMDAwLDIwMDBdLCJzYXZlciI6eyJzdHJpcCI6dHJ1ZSwicXVhbGl0eSI6NzUsImxvc3NsZXNzIjpmYWxzZSwiYWxwaGFfcSI6ODUsInJlZHVjdGlvbl9lZmZvcnQiOjYsInNtYXJ0X3N1YnNhbXBsZSI6dHJ1ZX19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--6a35f609b2c6745523c0ae722d7c0dd6779a568a/library-upload.jpg
48613
- og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--d09b5425a813f091eba0215bef6560cfbfe00b36/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjAwLDYzMF0sInNhdmVyIjp7InN0cmlwIjp0cnVlLCJxdWFsaXR5Ijo3NSwibG9zc2xlc3MiOmZhbHNlLCJhbHBoYV9xIjo4NSwicmVkdWN0aW9uX2VmZm9ydCI6Niwic21hcnRfc3Vic2FtcGxlIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--0020ff44ca68bbdeb3bb2115e8c3563594f79f50/library-upload.jpg
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
48614
48790
  external_references: {}
48615
48791
  created_at: '2026-01-15T12:00:00.000Z'
48616
48792
  updated_at: '2026-01-15T12:00:00.000Z'
@@ -48618,10 +48794,10 @@ paths:
48618
48794
  filename: library-upload.jpg
48619
48795
  content_type: image/jpeg
48620
48796
  byte_size: 18090
48621
- embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--d09b5425a813f091eba0215bef6560cfbfe00b36/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--6755f4503fb7441d5f39947f4cfd801b3ad8d627/library-upload.jpg
48622
- signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MiwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--a5b15043f3d33016108bd19e25acb6a0e4656b64
48797
+ embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--19f16573cafa934a908d21a80fef013aca3219fc/library-upload.jpg
48798
+ signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MiwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--e50a78b4c158cae84263a776c40322cc8b7b0b57
48623
48799
  viewable_id:
48624
- download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--d09b5425a813f091eba0215bef6560cfbfe00b36/library-upload.jpg?disposition=attachment
48800
+ download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/library-upload.jpg?disposition=attachment
48625
48801
  metadata: {}
48626
48802
  viewable_type:
48627
48803
  schema:
@@ -48699,13 +48875,13 @@ paths:
48699
48875
  video_embed_url:
48700
48876
  video_url:
48701
48877
  poster_url:
48702
- original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/thinking-cat.jpg
48703
- mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjgsMTI4XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--3f903649ac66e0043c8adaf4863ea52cd1300ab6/thinking-cat.jpg
48704
- small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyNTYsMjU2XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--f5bdfe7939f0f56c6c00267593e387bb24b3b3e5/thinking-cat.jpg
48705
- medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls0MDAsNDAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--52ada528efaa0103221a6e3001cf4a46a7889310/thinking-cat.jpg
48706
- large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls3MjAsNzIwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--722217e606f0088e8714f1db5cc39930b087612a/thinking-cat.jpg
48707
- xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyMDAwLDIwMDBdLCJzYXZlciI6eyJzdHJpcCI6dHJ1ZSwicXVhbGl0eSI6NzUsImxvc3NsZXNzIjpmYWxzZSwiYWxwaGFfcSI6ODUsInJlZHVjdGlvbl9lZmZvcnQiOjYsInNtYXJ0X3N1YnNhbXBsZSI6dHJ1ZX19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--6a35f609b2c6745523c0ae722d7c0dd6779a568a/thinking-cat.jpg
48708
- og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjAwLDYzMF0sInNhdmVyIjp7InN0cmlwIjp0cnVlLCJxdWFsaXR5Ijo3NSwibG9zc2xlc3MiOmZhbHNlLCJhbHBoYV9xIjo4NSwicmVkdWN0aW9uX2VmZm9ydCI6Niwic21hcnRfc3Vic2FtcGxlIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--0020ff44ca68bbdeb3bb2115e8c3563594f79f50/thinking-cat.jpg
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
48709
48885
  external_references: {}
48710
48886
  created_at: '2026-01-15T12:00:00.000Z'
48711
48887
  updated_at: '2026-01-15T12:00:00.000Z'
@@ -48713,10 +48889,10 @@ paths:
48713
48889
  filename: thinking-cat.jpg
48714
48890
  content_type: image/jpeg
48715
48891
  byte_size: 18090
48716
- embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--6755f4503fb7441d5f39947f4cfd801b3ad8d627/thinking-cat.jpg
48717
- signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--aacde269a0019661ac951ab66e97e4338f76c0e3
48892
+ embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--19f16573cafa934a908d21a80fef013aca3219fc/thinking-cat.jpg
48893
+ signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--5cf7f6bc12adaf5ef31072ed4b5eb4c1732ca992
48718
48894
  viewable_id: prod_UkLWZg9DAJ
48719
- download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/thinking-cat.jpg?disposition=attachment
48895
+ download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/thinking-cat.jpg?disposition=attachment
48720
48896
  metadata: {}
48721
48897
  viewable_type: product
48722
48898
  schema:
@@ -48790,7 +48966,7 @@ paths:
48790
48966
  example:
48791
48967
  data:
48792
48968
  - kind: media
48793
- name: Product 413397
48969
+ name: Product 483397
48794
48970
  owner_type: product
48795
48971
  owner_id: prod_UkLWZg9DAJ
48796
48972
  field: attachment
@@ -48914,18 +49090,22 @@ paths:
48914
49090
  | Attribute | Kind | Predicates |
48915
49091
  |---|---|---|
48916
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` |
48917
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` |
48918
49096
  | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
48919
49097
  | `media_type` | One of `image`, `video`, `external_video` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
48920
49098
  | `position` | Number | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
48921
49099
  | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
48922
49100
 
48923
- **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.
48924
49102
  x-spree-filters:
48925
49103
  table: Media
48926
49104
  sortable:
48927
49105
  - alt
49106
+ - byte_size
48928
49107
  - created_at
49108
+ - filename
48929
49109
  - id
48930
49110
  - media_type
48931
49111
  - position
@@ -48950,13 +49130,13 @@ paths:
48950
49130
  video_embed_url:
48951
49131
  video_url:
48952
49132
  poster_url:
48953
- original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/thinking-cat.jpg
48954
- mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjgsMTI4XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--3f903649ac66e0043c8adaf4863ea52cd1300ab6/thinking-cat.jpg
48955
- small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyNTYsMjU2XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--f5bdfe7939f0f56c6c00267593e387bb24b3b3e5/thinking-cat.jpg
48956
- medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls0MDAsNDAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--52ada528efaa0103221a6e3001cf4a46a7889310/thinking-cat.jpg
48957
- large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls3MjAsNzIwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--722217e606f0088e8714f1db5cc39930b087612a/thinking-cat.jpg
48958
- xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyMDAwLDIwMDBdLCJzYXZlciI6eyJzdHJpcCI6dHJ1ZSwicXVhbGl0eSI6NzUsImxvc3NsZXNzIjpmYWxzZSwiYWxwaGFfcSI6ODUsInJlZHVjdGlvbl9lZmZvcnQiOjYsInNtYXJ0X3N1YnNhbXBsZSI6dHJ1ZX19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--6a35f609b2c6745523c0ae722d7c0dd6779a568a/thinking-cat.jpg
48959
- og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjAwLDYzMF0sInNhdmVyIjp7InN0cmlwIjp0cnVlLCJxdWFsaXR5Ijo3NSwibG9zc2xlc3MiOmZhbHNlLCJhbHBoYV9xIjo4NSwicmVkdWN0aW9uX2VmZm9ydCI6Niwic21hcnRfc3Vic2FtcGxlIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--0020ff44ca68bbdeb3bb2115e8c3563594f79f50/thinking-cat.jpg
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
48960
49140
  external_references: {}
48961
49141
  created_at: '2026-01-15T12:00:00.000Z'
48962
49142
  updated_at: '2026-01-15T12:00:00.000Z'
@@ -48964,10 +49144,10 @@ paths:
48964
49144
  filename: thinking-cat.jpg
48965
49145
  content_type: image/jpeg
48966
49146
  byte_size: 18090
48967
- embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--6755f4503fb7441d5f39947f4cfd801b3ad8d627/thinking-cat.jpg
48968
- signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--aacde269a0019661ac951ab66e97e4338f76c0e3
49147
+ embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--19f16573cafa934a908d21a80fef013aca3219fc/thinking-cat.jpg
49148
+ signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--5cf7f6bc12adaf5ef31072ed4b5eb4c1732ca992
48969
49149
  viewable_id: prod_UkLWZg9DAJ
48970
- download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/thinking-cat.jpg?disposition=attachment
49150
+ download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/thinking-cat.jpg?disposition=attachment
48971
49151
  metadata: {}
48972
49152
  viewable_type: product
48973
49153
  meta:
@@ -49058,13 +49238,13 @@ paths:
49058
49238
  video_embed_url:
49059
49239
  video_url:
49060
49240
  poster_url:
49061
- original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/thinking-cat.jpg
49062
- mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjgsMTI4XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--3f903649ac66e0043c8adaf4863ea52cd1300ab6/thinking-cat.jpg
49063
- small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyNTYsMjU2XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--f5bdfe7939f0f56c6c00267593e387bb24b3b3e5/thinking-cat.jpg
49064
- medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls0MDAsNDAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--52ada528efaa0103221a6e3001cf4a46a7889310/thinking-cat.jpg
49065
- large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls3MjAsNzIwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--722217e606f0088e8714f1db5cc39930b087612a/thinking-cat.jpg
49066
- xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyMDAwLDIwMDBdLCJzYXZlciI6eyJzdHJpcCI6dHJ1ZSwicXVhbGl0eSI6NzUsImxvc3NsZXNzIjpmYWxzZSwiYWxwaGFfcSI6ODUsInJlZHVjdGlvbl9lZmZvcnQiOjYsInNtYXJ0X3N1YnNhbXBsZSI6dHJ1ZX19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--6a35f609b2c6745523c0ae722d7c0dd6779a568a/thinking-cat.jpg
49067
- og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjAwLDYzMF0sInNhdmVyIjp7InN0cmlwIjp0cnVlLCJxdWFsaXR5Ijo3NSwibG9zc2xlc3MiOmZhbHNlLCJhbHBoYV9xIjo4NSwicmVkdWN0aW9uX2VmZm9ydCI6Niwic21hcnRfc3Vic2FtcGxlIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--0020ff44ca68bbdeb3bb2115e8c3563594f79f50/thinking-cat.jpg
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
49068
49248
  external_references: {}
49069
49249
  created_at: '2026-01-15T12:00:00.000Z'
49070
49250
  updated_at: '2026-01-15T12:00:00.000Z'
@@ -49072,10 +49252,10 @@ paths:
49072
49252
  filename: thinking-cat.jpg
49073
49253
  content_type: image/jpeg
49074
49254
  byte_size: 18090
49075
- embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--6755f4503fb7441d5f39947f4cfd801b3ad8d627/thinking-cat.jpg
49076
- signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--aacde269a0019661ac951ab66e97e4338f76c0e3
49255
+ embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--19f16573cafa934a908d21a80fef013aca3219fc/thinking-cat.jpg
49256
+ signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--5cf7f6bc12adaf5ef31072ed4b5eb4c1732ca992
49077
49257
  viewable_id: prod_gbHJdmfrXB
49078
- download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/thinking-cat.jpg?disposition=attachment
49258
+ download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/thinking-cat.jpg?disposition=attachment
49079
49259
  metadata: {}
49080
49260
  viewable_type: product
49081
49261
  schema:
@@ -49165,13 +49345,13 @@ paths:
49165
49345
  video_embed_url:
49166
49346
  video_url:
49167
49347
  poster_url:
49168
- original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/thinking-cat.jpg
49169
- mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjgsMTI4XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--3f903649ac66e0043c8adaf4863ea52cd1300ab6/thinking-cat.jpg
49170
- small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyNTYsMjU2XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--f5bdfe7939f0f56c6c00267593e387bb24b3b3e5/thinking-cat.jpg
49171
- medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls0MDAsNDAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--52ada528efaa0103221a6e3001cf4a46a7889310/thinking-cat.jpg
49172
- large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls3MjAsNzIwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--722217e606f0088e8714f1db5cc39930b087612a/thinking-cat.jpg
49173
- xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyMDAwLDIwMDBdLCJzYXZlciI6eyJzdHJpcCI6dHJ1ZSwicXVhbGl0eSI6NzUsImxvc3NsZXNzIjpmYWxzZSwiYWxwaGFfcSI6ODUsInJlZHVjdGlvbl9lZmZvcnQiOjYsInNtYXJ0X3N1YnNhbXBsZSI6dHJ1ZX19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--6a35f609b2c6745523c0ae722d7c0dd6779a568a/thinking-cat.jpg
49174
- og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjAwLDYzMF0sInNhdmVyIjp7InN0cmlwIjp0cnVlLCJxdWFsaXR5Ijo3NSwibG9zc2xlc3MiOmZhbHNlLCJhbHBoYV9xIjo4NSwicmVkdWN0aW9uX2VmZm9ydCI6Niwic21hcnRfc3Vic2FtcGxlIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--0020ff44ca68bbdeb3bb2115e8c3563594f79f50/thinking-cat.jpg
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
49175
49355
  external_references: {}
49176
49356
  created_at: '2026-01-15T12:00:00.000Z'
49177
49357
  updated_at: '2026-01-15T12:00:00.000Z'
@@ -49179,10 +49359,10 @@ paths:
49179
49359
  filename: thinking-cat.jpg
49180
49360
  content_type: image/jpeg
49181
49361
  byte_size: 18090
49182
- embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--6755f4503fb7441d5f39947f4cfd801b3ad8d627/thinking-cat.jpg
49183
- signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--aacde269a0019661ac951ab66e97e4338f76c0e3
49362
+ embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--19f16573cafa934a908d21a80fef013aca3219fc/thinking-cat.jpg
49363
+ signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MSwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--5cf7f6bc12adaf5ef31072ed4b5eb4c1732ca992
49184
49364
  viewable_id: prod_UkLWZg9DAJ
49185
- download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--d70605a927dcb85741046d8205814708ad86c814/thinking-cat.jpg?disposition=attachment
49365
+ download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--fe5cbf0b8d6bb2970dbcc5053623661df3d2054f/thinking-cat.jpg?disposition=attachment
49186
49366
  metadata: {}
49187
49367
  viewable_type: product
49188
49368
  schema:
@@ -49297,18 +49477,22 @@ paths:
49297
49477
  | Attribute | Kind | Predicates |
49298
49478
  |---|---|---|
49299
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` |
49300
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` |
49301
49483
  | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
49302
49484
  | `media_type` | One of `image`, `video`, `external_video` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
49303
49485
  | `position` | Number | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
49304
49486
  | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
49305
49487
 
49306
- **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.
49307
49489
  x-spree-filters:
49308
49490
  table: Media
49309
49491
  sortable:
49310
49492
  - alt
49493
+ - byte_size
49311
49494
  - created_at
49495
+ - filename
49312
49496
  - id
49313
49497
  - media_type
49314
49498
  - position
@@ -49334,13 +49518,13 @@ paths:
49334
49518
  video_embed_url:
49335
49519
  video_url:
49336
49520
  poster_url:
49337
- original_url: http://localhost:3000/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--d09b5425a813f091eba0215bef6560cfbfe00b36/thinking-cat.jpg
49338
- mini_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--d09b5425a813f091eba0215bef6560cfbfe00b36/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjgsMTI4XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--3f903649ac66e0043c8adaf4863ea52cd1300ab6/thinking-cat.jpg
49339
- small_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--d09b5425a813f091eba0215bef6560cfbfe00b36/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyNTYsMjU2XSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--f5bdfe7939f0f56c6c00267593e387bb24b3b3e5/thinking-cat.jpg
49340
- medium_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--d09b5425a813f091eba0215bef6560cfbfe00b36/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls0MDAsNDAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--52ada528efaa0103221a6e3001cf4a46a7889310/thinking-cat.jpg
49341
- large_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--d09b5425a813f091eba0215bef6560cfbfe00b36/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOls3MjAsNzIwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--722217e606f0088e8714f1db5cc39930b087612a/thinking-cat.jpg
49342
- xlarge_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--d09b5425a813f091eba0215bef6560cfbfe00b36/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsyMDAwLDIwMDBdLCJzYXZlciI6eyJzdHJpcCI6dHJ1ZSwicXVhbGl0eSI6NzUsImxvc3NsZXNzIjpmYWxzZSwiYWxwaGFfcSI6ODUsInJlZHVjdGlvbl9lZmZvcnQiOjYsInNtYXJ0X3N1YnNhbXBsZSI6dHJ1ZX19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--6a35f609b2c6745523c0ae722d7c0dd6779a568a/thinking-cat.jpg
49343
- og_image_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--d09b5425a813f091eba0215bef6560cfbfe00b36/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2ZpbGwiOlsxMjAwLDYzMF0sInNhdmVyIjp7InN0cmlwIjp0cnVlLCJxdWFsaXR5Ijo3NSwibG9zc2xlc3MiOmZhbHNlLCJhbHBoYV9xIjo4NSwicmVkdWN0aW9uX2VmZm9ydCI6Niwic21hcnRfc3Vic2FtcGxlIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--0020ff44ca68bbdeb3bb2115e8c3563594f79f50/thinking-cat.jpg
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
49344
49528
  external_references: {}
49345
49529
  created_at: '2026-01-15T12:00:00.000Z'
49346
49530
  updated_at: '2026-01-15T12:00:00.000Z'
@@ -49348,10 +49532,10 @@ paths:
49348
49532
  filename: thinking-cat.jpg
49349
49533
  content_type: image/jpeg
49350
49534
  byte_size: 18090
49351
- embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--d09b5425a813f091eba0215bef6560cfbfe00b36/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--6755f4503fb7441d5f39947f4cfd801b3ad8d627/thinking-cat.jpg
49352
- signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MiwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--a5b15043f3d33016108bd19e25acb6a0e4656b64
49535
+ embed_url: http://localhost:3000/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTIwMCwxMjAwXSwic2F2ZXIiOnsic3RyaXAiOnRydWUsInF1YWxpdHkiOjc1LCJsb3NzbGVzcyI6ZmFsc2UsImFscGhhX3EiOjg1LCJyZWR1Y3Rpb25fZWZmb3J0Ijo2LCJzbWFydF9zdWJzYW1wbGUiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--19f16573cafa934a908d21a80fef013aca3219fc/thinking-cat.jpg
49536
+ signed_id: eyJfcmFpbHMiOnsiZGF0YSI6MiwiZXhwIjoiMjAyNi0wMS0xNlQxMjowMDowMC4wMDBaIiwicHVyIjoiYmxvYl9pZCJ9fQ==--e50a78b4c158cae84263a776c40322cc8b7b0b57
49353
49537
  viewable_id: variant_gbHJdmfrXB
49354
- download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--d09b5425a813f091eba0215bef6560cfbfe00b36/thinking-cat.jpg?disposition=attachment
49538
+ download_url: http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MiwicHVyIjoiYmxvYl9pZCJ9fQ==--a04b7436d72914c87c4a8cbdd0574722dc35892b/thinking-cat.jpg?disposition=attachment
49355
49539
  metadata: {}
49356
49540
  viewable_type: variant
49357
49541
  meta:
@@ -51638,12 +51822,12 @@ paths:
51638
51822
  example:
51639
51823
  data:
51640
51824
  - id: prod_UkLWZg9DAJ
51641
- name: Product 1083365
51825
+ name: Product 1163365
51642
51826
  thumbnail_url:
51643
51827
  price_list_variants:
51644
51828
  - id: variant_UkLWZg9DAJ
51645
51829
  label:
51646
- sku: SKU-127
51830
+ sku: SKU-137
51647
51831
  currency: USD
51648
51832
  source: base
51649
51833
  break_count: 1
@@ -52698,8 +52882,8 @@ paths:
52698
52882
  purchase_order_id: po_UkLWZg9DAJ
52699
52883
  variant_id: variant_gbHJdmfrXB
52700
52884
  product_id: prod_UkLWZg9DAJ
52701
- variant_name: Product 1639018
52702
- variant_sku: SKU-198
52885
+ variant_name: Product 1849018
52886
+ variant_sku: SKU-221
52703
52887
  options_text: 'Size: S'
52704
52888
  thumbnail_url:
52705
52889
  supplier:
@@ -53661,12 +53845,12 @@ paths:
53661
53845
  required: true
53662
53846
  "/api/v3/admin/reporting/query":
53663
53847
  post:
53664
- x-spree-agent: false
53665
- x-spree-agent-reason: query_report runs this query, with describe_reporting
53666
- to learn the vocabulary first.
53667
53848
  summary: Run a reporting query
53668
53849
  tags:
53669
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.
53670
53854
  security:
53671
53855
  - api_key: []
53672
53856
  bearer_auth: []
@@ -54582,7 +54766,7 @@ paths:
54582
54766
  default: false
54583
54767
  require_contact_email:
54584
54768
  type: boolean
54585
- default: true
54769
+ default: false
54586
54770
  additionalProperties: false
54587
54771
  - type: billing_address
54588
54772
  name: Billing address
@@ -55052,6 +55236,12 @@ paths:
55052
55236
  on_holiday: false
55053
55237
  sellable: false
55054
55238
  products_count: 0
55239
+ products_count_by_status:
55240
+ draft: 0
55241
+ active: 0
55242
+ archived: 0
55243
+ proposed: 0
55244
+ rejected: 0
55055
55245
  users_count: 0
55056
55246
  onboarding_progress:
55057
55247
  done: 0
@@ -55059,6 +55249,7 @@ paths:
55059
55249
  onboarding_complete: true
55060
55250
  legal_name:
55061
55251
  registration_number:
55252
+ returns_location_id:
55062
55253
  meta:
55063
55254
  page: 1
55064
55255
  limit: 25
@@ -55169,6 +55360,12 @@ paths:
55169
55360
  on_holiday: false
55170
55361
  sellable: false
55171
55362
  products_count: 0
55363
+ products_count_by_status:
55364
+ draft: 0
55365
+ active: 0
55366
+ archived: 0
55367
+ proposed: 0
55368
+ rejected: 0
55172
55369
  users_count: 0
55173
55370
  onboarding_progress:
55174
55371
  done: 0
@@ -55176,6 +55373,7 @@ paths:
55176
55373
  onboarding_complete: true
55177
55374
  legal_name:
55178
55375
  registration_number:
55376
+ returns_location_id: sloc_UkLWZg9DAJ
55179
55377
  schema:
55180
55378
  "$ref": "#/components/schemas/Seller"
55181
55379
  '422':
@@ -55278,6 +55476,12 @@ paths:
55278
55476
  on_holiday: false
55279
55477
  sellable: false
55280
55478
  products_count: 0
55479
+ products_count_by_status:
55480
+ draft: 0
55481
+ active: 0
55482
+ archived: 0
55483
+ proposed: 0
55484
+ rejected: 0
55281
55485
  users_count: 0
55282
55486
  onboarding_progress:
55283
55487
  done: 0
@@ -55285,6 +55489,7 @@ paths:
55285
55489
  onboarding_complete: true
55286
55490
  legal_name:
55287
55491
  registration_number:
55492
+ returns_location_id:
55288
55493
  schema:
55289
55494
  "$ref": "#/components/schemas/Seller"
55290
55495
  '404':
@@ -55373,6 +55578,12 @@ paths:
55373
55578
  on_holiday: false
55374
55579
  sellable: false
55375
55580
  products_count: 0
55581
+ products_count_by_status:
55582
+ draft: 0
55583
+ active: 0
55584
+ archived: 0
55585
+ proposed: 0
55586
+ rejected: 0
55376
55587
  users_count: 0
55377
55588
  onboarding_progress:
55378
55589
  done: 0
@@ -55380,6 +55591,7 @@ paths:
55380
55591
  onboarding_complete: true
55381
55592
  legal_name:
55382
55593
  registration_number:
55594
+ returns_location_id:
55383
55595
  billing_address:
55384
55596
  id: addr_UkLWZg9DAJ
55385
55597
  label:
@@ -55564,6 +55776,12 @@ paths:
55564
55776
  on_holiday: false
55565
55777
  sellable: false
55566
55778
  products_count: 0
55779
+ products_count_by_status:
55780
+ draft: 0
55781
+ active: 0
55782
+ archived: 0
55783
+ proposed: 0
55784
+ rejected: 0
55567
55785
  users_count: 0
55568
55786
  onboarding_progress:
55569
55787
  done: 0
@@ -55571,6 +55789,7 @@ paths:
55571
55789
  onboarding_complete: true
55572
55790
  legal_name:
55573
55791
  registration_number:
55792
+ returns_location_id:
55574
55793
  schema:
55575
55794
  "$ref": "#/components/schemas/Seller"
55576
55795
  requestBody:
@@ -55579,6 +55798,102 @@ paths:
55579
55798
  schema:
55580
55799
  "$ref": "#/components/schemas/SellerInviteParams"
55581
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
55582
55897
  "/api/v3/admin/sellers/{seller_id}/invitations/{id}/resend":
55583
55898
  parameters:
55584
55899
  - name: seller_id
@@ -55746,6 +56061,12 @@ paths:
55746
56061
  on_holiday: false
55747
56062
  sellable: true
55748
56063
  products_count: 0
56064
+ products_count_by_status:
56065
+ draft: 0
56066
+ active: 0
56067
+ archived: 0
56068
+ proposed: 0
56069
+ rejected: 0
55749
56070
  users_count: 0
55750
56071
  onboarding_progress:
55751
56072
  done: 0
@@ -55753,6 +56074,7 @@ paths:
55753
56074
  onboarding_complete: true
55754
56075
  legal_name:
55755
56076
  registration_number:
56077
+ returns_location_id:
55756
56078
  schema:
55757
56079
  "$ref": "#/components/schemas/Seller"
55758
56080
  '422':
@@ -55855,6 +56177,12 @@ paths:
55855
56177
  on_holiday: false
55856
56178
  sellable: false
55857
56179
  products_count: 0
56180
+ products_count_by_status:
56181
+ draft: 0
56182
+ active: 0
56183
+ archived: 0
56184
+ proposed: 0
56185
+ rejected: 0
55858
56186
  users_count: 0
55859
56187
  onboarding_progress:
55860
56188
  done: 0
@@ -55862,6 +56190,7 @@ paths:
55862
56190
  onboarding_complete: true
55863
56191
  legal_name:
55864
56192
  registration_number:
56193
+ returns_location_id:
55865
56194
  schema:
55866
56195
  "$ref": "#/components/schemas/Seller"
55867
56196
  '422':
@@ -55969,6 +56298,12 @@ paths:
55969
56298
  on_holiday: false
55970
56299
  sellable: false
55971
56300
  products_count: 0
56301
+ products_count_by_status:
56302
+ draft: 0
56303
+ active: 0
56304
+ archived: 0
56305
+ proposed: 0
56306
+ rejected: 0
55972
56307
  users_count: 0
55973
56308
  onboarding_progress:
55974
56309
  done: 0
@@ -55976,6 +56311,7 @@ paths:
55976
56311
  onboarding_complete: true
55977
56312
  legal_name:
55978
56313
  registration_number:
56314
+ returns_location_id:
55979
56315
  schema:
55980
56316
  "$ref": "#/components/schemas/Seller"
55981
56317
  requestBody:
@@ -56066,6 +56402,12 @@ paths:
56066
56402
  on_holiday: false
56067
56403
  sellable: false
56068
56404
  products_count: 0
56405
+ products_count_by_status:
56406
+ draft: 0
56407
+ active: 0
56408
+ archived: 0
56409
+ proposed: 0
56410
+ rejected: 0
56069
56411
  users_count: 0
56070
56412
  onboarding_progress:
56071
56413
  done: 0
@@ -56073,6 +56415,7 @@ paths:
56073
56415
  onboarding_complete: true
56074
56416
  legal_name:
56075
56417
  registration_number:
56418
+ returns_location_id:
56076
56419
  schema:
56077
56420
  "$ref": "#/components/schemas/Seller"
56078
56421
  requestBody:
@@ -56608,12 +56951,12 @@ paths:
56608
56951
  schema:
56609
56952
  type: string
56610
56953
  patch:
56611
- x-spree-agent: false
56612
- x-spree-agent-reason: Settles a payout against the payment provider, reconciling
56613
- against provider state an agent cannot see.
56614
56954
  summary: Mark a payout paid
56615
56955
  tags:
56616
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.
56617
56960
  security:
56618
56961
  - api_key: []
56619
56962
  bearer_auth: []
@@ -56855,8 +57198,8 @@ paths:
56855
57198
  reserved_count: 0
56856
57199
  incoming_count: 0
56857
57200
  purchasable_count: 0
56858
- variant_name: Product 1885410
56859
- variant_sku: SKU-233
57201
+ variant_name: Product 2135410
57202
+ variant_sku: SKU-260
56860
57203
  created_at: '2026-01-15T12:00:00.000Z'
56861
57204
  updated_at: '2026-01-15T12:00:00.000Z'
56862
57205
  stock_location_name: Jong Schamberger
@@ -56875,8 +57218,8 @@ paths:
56875
57218
  reserved_count: 0
56876
57219
  incoming_count: 0
56877
57220
  purchasable_count: 0
56878
- variant_name: Product 1885410
56879
- variant_sku: SKU-234
57221
+ variant_name: Product 2135410
57222
+ variant_sku: SKU-261
56880
57223
  created_at: '2026-01-15T12:00:00.000Z'
56881
57224
  updated_at: '2026-01-15T12:00:00.000Z'
56882
57225
  stock_location_name: Jong Schamberger
@@ -56895,8 +57238,8 @@ paths:
56895
57238
  reserved_count: 2
56896
57239
  incoming_count: 20
56897
57240
  purchasable_count: 35
56898
- variant_name: Product 1885410
56899
- variant_sku: SKU-234
57241
+ variant_name: Product 2135410
57242
+ variant_sku: SKU-261
56900
57243
  created_at: '2026-01-15T12:00:00.000Z'
56901
57244
  updated_at: '2026-01-15T12:00:00.000Z'
56902
57245
  stock_location_name: Pilar Stokes
@@ -56929,12 +57272,12 @@ paths:
56929
57272
  - meta
56930
57273
  "/api/v3/admin/stock_levels/bulk_upsert":
56931
57274
  post:
56932
- x-spree-agent: false
56933
- x-spree-agent-reason: set_stock calls this endpoint already, taking stock by
56934
- SKU and location the way a merchant names them.
56935
57275
  summary: Bulk-upsert stock levels
56936
57276
  tags:
56937
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.
56938
57281
  security:
56939
57282
  - api_key: []
56940
57283
  bearer_auth: []
@@ -57083,8 +57426,8 @@ paths:
57083
57426
  reserved_count: 0
57084
57427
  incoming_count: 0
57085
57428
  purchasable_count: 25
57086
- variant_name: Product 1919378
57087
- variant_sku: SKU-240
57429
+ variant_name: Product 2169378
57430
+ variant_sku: SKU-267
57088
57431
  created_at: '2026-01-15T12:00:00.000Z'
57089
57432
  updated_at: '2026-01-15T12:00:00.000Z'
57090
57433
  stock_location_name: Gilbert Marquardt
@@ -57262,8 +57605,8 @@ paths:
57262
57605
  stock_location_id: sloc_UkLWZg9DAJ
57263
57606
  stock_location_name: Mona Hegmann
57264
57607
  variant_id: variant_gbHJdmfrXB
57265
- variant_name: Product 1928513
57266
- variant_sku: SKU-241
57608
+ variant_name: Product 2178513
57609
+ variant_sku: SKU-268
57267
57610
  order_id:
57268
57611
  fulfillment_id:
57269
57612
  return_id:
@@ -57377,8 +57720,8 @@ paths:
57377
57720
  stock_location_id: sloc_UkLWZg9DAJ
57378
57721
  stock_location_name: Chrystal Sauer
57379
57722
  variant_id: variant_gbHJdmfrXB
57380
- variant_name: Product 1942954
57381
- variant_sku: SKU-245
57723
+ variant_name: Product 2192954
57724
+ variant_sku: SKU-272
57382
57725
  order_id:
57383
57726
  fulfillment_id:
57384
57727
  return_id:
@@ -57969,8 +58312,8 @@ paths:
57969
58312
  stock_transfer_id: st_UkLWZg9DAJ
57970
58313
  variant_id: variant_gbHJdmfrXB
57971
58314
  product_id: prod_UkLWZg9DAJ
57972
- variant_name: Product 2012176
57973
- variant_sku: SKU-258
58315
+ variant_name: Product 2262176
58316
+ variant_sku: SKU-285
57974
58317
  options_text: 'Size: S'
57975
58318
  thumbnail_url:
57976
58319
  source_location:
@@ -62678,6 +63021,8 @@ components:
62678
63021
  type: string
62679
63022
  updated_at:
62680
63023
  type: string
63024
+ customer:
63025
+ "$ref": "#/components/schemas/Customer"
62681
63026
  required:
62682
63027
  - id
62683
63028
  - company_id
@@ -64232,6 +64577,36 @@ components:
64232
64577
  - delivery_origin_group_id
64233
64578
  - delivery_method_ids
64234
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
64235
64610
  DigitalAsset:
64236
64611
  type: object
64237
64612
  properties:
@@ -66174,6 +66549,9 @@ components:
66174
66549
  tax_category_id:
66175
66550
  type: string
66176
66551
  nullable: true
66552
+ product_id:
66553
+ type: string
66554
+ nullable: true
66177
66555
  variant:
66178
66556
  "$ref": "#/components/schemas/Variant"
66179
66557
  tax_category:
@@ -66213,6 +66591,7 @@ components:
66213
66591
  - catalog_name
66214
66592
  - cost_price
66215
66593
  - tax_category_id
66594
+ - product_id
66216
66595
  x-typelizer: true
66217
66596
  Locale:
66218
66597
  type: object
@@ -72553,6 +72932,9 @@ components:
72553
72932
  "$ref": "#/components/schemas/Address"
72554
72933
  returns_address:
72555
72934
  "$ref": "#/components/schemas/Address"
72935
+ returns_location_id:
72936
+ type: string
72937
+ nullable: true
72556
72938
  required:
72557
72939
  - id
72558
72940
  - name
@@ -72583,6 +72965,7 @@ components:
72583
72965
  - onboarding_complete
72584
72966
  - legal_name
72585
72967
  - registration_number
72968
+ - returns_location_id
72586
72969
  x-typelizer: true
72587
72970
  SellerTeamMember:
72588
72971
  type: object
@@ -79378,7 +79761,7 @@ components:
79378
79761
  default: false
79379
79762
  require_contact_email:
79380
79763
  type: boolean
79381
- default: true
79764
+ default: false
79382
79765
  additionalProperties: false
79383
79766
  SellerRequirementDeliveryMethodPreferences:
79384
79767
  type: object
@@ -80109,6 +80492,20 @@ components:
80109
80492
  - zh-HK
80110
80493
  - zh-TW
80111
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
80112
80509
  TimeZone:
80113
80510
  anyOf:
80114
80511
  - type: string
@@ -80253,20 +80650,6 @@ components:
80253
80650
  - type: string
80254
80651
  description: Common IANA time zones; any other IANA time zone identifier is
80255
80652
  accepted too.
80256
- DimensionUnit:
80257
- type: string
80258
- enum:
80259
- - mm
80260
- - cm
80261
- - in
80262
- - ft
80263
- WeightUnit:
80264
- type: string
80265
- enum:
80266
- - g
80267
- - kg
80268
- - lb
80269
- - oz
80270
80653
  AddressInputParams:
80271
80654
  type: object
80272
80655
  properties:
@@ -81383,17 +81766,20 @@ components:
81383
81766
  CompanyMembershipCreateParams:
81384
81767
  type: object
81385
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
81386
81774
  customer_email:
81387
81775
  type: string
81388
81776
  description: An existing customer becomes a member immediately; an unknown
81389
81777
  email becomes an invitation, and the response is an invitation instead
81390
- of a membership.
81778
+ of a membership. Send this or `customer_id`.
81391
81779
  example: buyer@example.com
81392
81780
  metadata:
81393
81781
  type: object
81394
81782
  additionalProperties: true
81395
- required:
81396
- - customer_email
81397
81783
  CompanyUpdateParams:
81398
81784
  type: object
81399
81785
  properties:
@@ -85725,7 +86111,8 @@ components:
85725
86111
  type: boolean
85726
86112
  description: 'Admits a seller whose onboarding checklist is unfinished:
85727
86113
  the operator''s deliberate exception, which the `seller.approved` event
85728
- 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.'
85729
86116
  SellerCreateParams:
85730
86117
  type: object
85731
86118
  properties:
@@ -85810,6 +86197,13 @@ components:
85810
86197
  description: 'The seller''s own billing address, written inline. There is
85811
86198
  no `billing_address_id`: an address belongs to whoever it was created
85812
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.'
85813
86207
  custom_fields:
85814
86208
  type: array
85815
86209
  items:
@@ -85817,6 +86211,14 @@ components:
85817
86211
  description: Custom field values, each validated against its definition.
85818
86212
  required:
85819
86213
  - name
86214
+ SellerInvitationCreateParams:
86215
+ type: object
86216
+ properties:
86217
+ email:
86218
+ type: string
86219
+ example: teammate@example.com
86220
+ required:
86221
+ - email
85820
86222
  SellerInviteParams:
85821
86223
  type: object
85822
86224
  properties:
@@ -86045,6 +86447,13 @@ components:
86045
86447
  description: 'The seller''s own billing address, written inline. There is
86046
86448
  no `billing_address_id`: an address belongs to whoever it was created
86047
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.'
86048
86457
  custom_fields:
86049
86458
  type: array
86050
86459
  items:
@@ -86171,6 +86580,12 @@ components:
86171
86580
  backorderable:
86172
86581
  type: boolean
86173
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
86174
86589
  required:
86175
86590
  - variant_id
86176
86591
  - stock_location_id
@@ -86813,7 +87228,6 @@ components:
86813
87228
  description: A `signed_id` from `files.upload()` for the logo in transactional
86814
87229
  emails, or null to remove it.
86815
87230
  nullable: true
86816
-
86817
87231
  SupplierCreateParams:
86818
87232
  type: object
86819
87233
  properties:
@@ -88100,7 +88514,9 @@ components:
88100
88514
  Media:
88101
88515
  attributes:
88102
88516
  alt: text
88517
+ byte_size: integer
88103
88518
  created_at: datetime
88519
+ filename: text
88104
88520
  id: id
88105
88521
  media_type:
88106
88522
  enum: