@spree/docs 0.1.305 → 0.1.307

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.
@@ -480,6 +480,12 @@ paths:
480
480
  required: true
481
481
  schema:
482
482
  type: string
483
+ - name: q[search]
484
+ in: query
485
+ required: false
486
+ schema:
487
+ type: string
488
+ description: Matches any of name and pretty name (partial, case-insensitive).
483
489
  - name: page
484
490
  in: query
485
491
  required: false
@@ -490,12 +496,16 @@ paths:
490
496
  required: false
491
497
  schema:
492
498
  type: integer
493
- - name: q[name_cont]
499
+ - name: q
494
500
  in: query
495
501
  required: false
496
- description: Filter by name
502
+ style: deepObject
503
+ explode: true
497
504
  schema:
498
- type: string
505
+ type: object
506
+ additionalProperties: true
507
+ description: Attribute filters, as `q[<attribute>_<predicate>]=value`. See
508
+ Filters above for the list.
499
509
  - name: fields
500
510
  in: query
501
511
  required: false
@@ -503,6 +513,43 @@ paths:
503
513
  id is always included.
504
514
  schema:
505
515
  type: string
516
+ x-mint:
517
+ content: |-
518
+ ## Filters
519
+
520
+ Filter with `q[<attribute>_<predicate>]=value`, for example `q[name_cont]=…`. Send a list as `q[<attribute>_in][]=a&q[<attribute>_in][]=b`. [How filters work](/api-reference/store-api/querying#which-filters-an-endpoint-accepts).
521
+
522
+ | Attribute | Kind | Predicates |
523
+ |---|---|---|
524
+ | `automatic` | True or false | `eq` `not_eq` `in` `not_in` `true` `false` `null` |
525
+ | `children_count` | Number | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
526
+ | `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
527
+ | `depth` | Number | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
528
+ | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
529
+ | `name` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
530
+ | `parent_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
531
+ | `permalink` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
532
+ | `position` | Number | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
533
+ | `pretty_name` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
534
+ | `products_count` | Number | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
535
+ | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
536
+
537
+ **Sort by:** `automatic`, `children_count`, `created_at`, `depth`, `id`, `name`, `parent_id`, `permalink`, `position`, `pretty_name`, `products_count`, `updated_at`. Prefix a field with `-` to sort descending.
538
+ x-spree-filters:
539
+ table: Category
540
+ sortable:
541
+ - automatic
542
+ - children_count
543
+ - created_at
544
+ - depth
545
+ - id
546
+ - name
547
+ - parent_id
548
+ - permalink
549
+ - position
550
+ - pretty_name
551
+ - products_count
552
+ - updated_at
506
553
  responses:
507
554
  '200':
508
555
  description: categories found
@@ -697,6 +744,12 @@ paths:
697
744
  required: true
698
745
  schema:
699
746
  type: string
747
+ - name: q[search]
748
+ in: query
749
+ required: false
750
+ schema:
751
+ type: string
752
+ description: Matches any of name (partial, case-insensitive).
700
753
  - name: page
701
754
  in: query
702
755
  required: false
@@ -707,12 +760,16 @@ paths:
707
760
  required: false
708
761
  schema:
709
762
  type: integer
710
- - name: q[name_cont]
763
+ - name: q
711
764
  in: query
712
765
  required: false
713
- description: Filter by name
766
+ style: deepObject
767
+ explode: true
714
768
  schema:
715
- type: string
769
+ type: object
770
+ additionalProperties: true
771
+ description: Attribute filters, as `q[<attribute>_<predicate>]=value`. See
772
+ Filters above for the list.
716
773
  - name: fields
717
774
  in: query
718
775
  required: false
@@ -720,6 +777,37 @@ paths:
720
777
  id is always included.
721
778
  schema:
722
779
  type: string
780
+ x-mint:
781
+ content: |-
782
+ ## Filters
783
+
784
+ Filter with `q[<attribute>_<predicate>]=value`, for example `q[name_cont]=…`. Send a list as `q[<attribute>_in][]=a&q[<attribute>_in][]=b`. [How filters work](/api-reference/store-api/querying#which-filters-an-endpoint-accepts).
785
+
786
+ | Attribute | Kind | Predicates |
787
+ |---|---|---|
788
+ | `automatic` | True or false | `eq` `not_eq` `in` `not_in` `true` `false` `null` |
789
+ | `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
790
+ | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
791
+ | `name` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
792
+ | `permalink` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
793
+ | `position` | Number | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
794
+ | `products_count` | Number | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
795
+ | `sort_order` | One of `manual`, `best_selling`, `price asc`, `price desc`, `available_on desc`, `available_on asc`, `name asc`, `name desc` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
796
+ | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
797
+
798
+ **Sort by:** `automatic`, `created_at`, `id`, `name`, `permalink`, `position`, `products_count`, `sort_order`, `updated_at`. Prefix a field with `-` to sort descending.
799
+ x-spree-filters:
800
+ table: Collection
801
+ sortable:
802
+ - automatic
803
+ - created_at
804
+ - id
805
+ - name
806
+ - permalink
807
+ - position
808
+ - products_count
809
+ - sort_order
810
+ - updated_at
723
811
  responses:
724
812
  '200':
725
813
  description: collections found
@@ -854,6 +942,105 @@ paths:
854
942
  description: Collection permalink or prefix ID
855
943
  schema:
856
944
  type: string
945
+ - name: q[search]
946
+ in: query
947
+ required: false
948
+ schema:
949
+ type: string
950
+ description: Matches product name or variant SKU (partial, case-insensitive),
951
+ and the store's searchable custom fields.
952
+ - name: q[ascend_by_price]
953
+ in: query
954
+ required: false
955
+ schema:
956
+ type: boolean
957
+ description: Set to `true` to apply `ascend_by_price`.
958
+ - name: q[descend_by_price]
959
+ in: query
960
+ required: false
961
+ schema:
962
+ type: boolean
963
+ description: Set to `true` to apply `descend_by_price`.
964
+ - name: q[in_categories][]
965
+ in: query
966
+ required: false
967
+ schema:
968
+ type: array
969
+ items:
970
+ type: string
971
+ description: Applies `in_categories` to the given value.
972
+ - name: q[in_category]
973
+ in: query
974
+ required: false
975
+ schema:
976
+ type: string
977
+ description: Applies `in_category` to the given value.
978
+ - name: q[in_collection]
979
+ in: query
980
+ required: false
981
+ schema:
982
+ type: string
983
+ description: Applies `in_collection` to the given value.
984
+ - name: q[in_stock]
985
+ in: query
986
+ required: false
987
+ schema:
988
+ type: boolean
989
+ description: Set to `true` to apply `in_stock`.
990
+ - name: q[in_taxon]
991
+ in: query
992
+ required: false
993
+ schema:
994
+ type: string
995
+ description: Applies `in_taxon` to the given value.
996
+ - name: q[not_discontinued]
997
+ in: query
998
+ required: false
999
+ schema:
1000
+ type: boolean
1001
+ description: Set to `true` to apply `not_discontinued`.
1002
+ - name: q[out_of_stock]
1003
+ in: query
1004
+ required: false
1005
+ schema:
1006
+ type: boolean
1007
+ description: Set to `true` to apply `out_of_stock`.
1008
+ - name: q[price_between][]
1009
+ in: query
1010
+ required: false
1011
+ schema:
1012
+ type: array
1013
+ items:
1014
+ type: number
1015
+ minItems: 2
1016
+ maxItems: 2
1017
+ description: Applies `price_between` to the given value.
1018
+ - name: q[price_gte]
1019
+ in: query
1020
+ required: false
1021
+ schema:
1022
+ type: number
1023
+ description: Applies `price_gte` to the given value.
1024
+ - name: q[price_lte]
1025
+ in: query
1026
+ required: false
1027
+ schema:
1028
+ type: number
1029
+ description: Applies `price_lte` to the given value.
1030
+ - name: q[search_by_name]
1031
+ in: query
1032
+ required: false
1033
+ schema:
1034
+ type: string
1035
+ description: Applies `search_by_name` to the given value.
1036
+ - name: q[with_option_value_ids][]
1037
+ in: query
1038
+ required: false
1039
+ schema:
1040
+ type: array
1041
+ items:
1042
+ type: string
1043
+ description: Applies `with_option_value_ids` to the given value.
857
1044
  - name: sort
858
1045
  in: query
859
1046
  required: false
@@ -871,6 +1058,68 @@ paths:
871
1058
  required: false
872
1059
  schema:
873
1060
  type: integer
1061
+ - name: q
1062
+ in: query
1063
+ required: false
1064
+ style: deepObject
1065
+ explode: true
1066
+ schema:
1067
+ type: object
1068
+ additionalProperties: true
1069
+ description: Attribute filters, as `q[<attribute>_<predicate>]=value`. See
1070
+ Filters above for the list.
1071
+ x-mint:
1072
+ content: |-
1073
+ ## Filters
1074
+
1075
+ Filter with `q[<attribute>_<predicate>]=value`, for example `q[name_cont]=…`. Send a list as `q[<attribute>_in][]=a&q[<attribute>_in][]=b`. [How filters work](/api-reference/store-api/querying#which-filters-an-endpoint-accepts).
1076
+
1077
+ | Attribute | Kind | Predicates |
1078
+ |---|---|---|
1079
+ | `available_on` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
1080
+ | `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
1081
+ | `description` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
1082
+ | `discontinue_on` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
1083
+ | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
1084
+ | `name` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
1085
+ | `price` | Amount | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
1086
+ | `seller_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
1087
+ | `slug` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
1088
+ | `status` | One of `draft`, `active`, `archived`, `proposed`, `rejected` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
1089
+ | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
1090
+
1091
+ <Accordion title="Filters through associations">
1092
+
1093
+ Prefix an associated record's attribute with the association, as in `q[categories_id_eq]`. The same predicates apply.
1094
+
1095
+ | Prefix | Attributes |
1096
+ |---|---|
1097
+ | `categories_` | `automatic`, `children_count`, `created_at`, `depth`, `id`, `name`, `parent_id`, `permalink`, `position`, `pretty_name`, `products_count`, `updated_at` |
1098
+ | `collections_` | `automatic`, `created_at`, `id`, `name`, `permalink`, `position`, `products_count`, `sort_order`, `updated_at` |
1099
+ | `tags_` | `created_at`, `id`, `name`, `updated_at` |
1100
+
1101
+ </Accordion>
1102
+
1103
+ Also filters and sorts on the store's searchable custom fields, as `q[cf_<namespace>_<key>_<predicate>]` and `sort=cf_<namespace>_<key>`.
1104
+
1105
+ **Sort by:** `available_on`, `best_selling`, `created_at`, `description`, `discontinue_on`, `id`, `manual`, `name`, `price`, `seller_id`, `slug`, `status`, `updated_at`. Prefix a field with `-` to sort descending.
1106
+ x-spree-filters:
1107
+ table: Product
1108
+ sortable:
1109
+ - available_on
1110
+ - best_selling
1111
+ - created_at
1112
+ - description
1113
+ - discontinue_on
1114
+ - id
1115
+ - manual
1116
+ - name
1117
+ - price
1118
+ - seller_id
1119
+ - slug
1120
+ - status
1121
+ - updated_at
1122
+ custom_fields: true
874
1123
  responses:
875
1124
  '200':
876
1125
  description: products found
@@ -954,7 +1203,7 @@ paths:
954
1203
  page: 1,
955
1204
  limit: 25,
956
1205
  sort: 'price',
957
- name_cont: 'shirt',
1206
+ search: 'shirt',
958
1207
  price_gte: 20,
959
1208
  price_lte: 100,
960
1209
  with_option_value_ids: ['optval_abc', 'optval_def'],
@@ -967,69 +1216,135 @@ paths:
967
1216
  description: Publishable API key
968
1217
  schema:
969
1218
  type: string
970
- - name: page
1219
+ - name: q[search]
971
1220
  in: query
972
1221
  required: false
973
- description: 'Page number (default: 1)'
974
1222
  schema:
975
- type: integer
976
- - name: limit
1223
+ type: string
1224
+ description: Matches product name or variant SKU (partial, case-insensitive),
1225
+ and the store's searchable custom fields.
1226
+ - name: q[ascend_by_price]
977
1227
  in: query
978
1228
  required: false
979
- description: 'Number of items per page (default: 25, max: 100)'
980
1229
  schema:
981
- type: integer
982
- - name: sort
1230
+ type: boolean
1231
+ description: Set to `true` to apply `ascend_by_price`.
1232
+ - name: q[descend_by_price]
983
1233
  in: query
984
1234
  required: false
985
- description: 'Sort order. Prefix with - for descending. Values: price, -price,
986
- best_selling, name, -name, -available_on, available_on'
987
1235
  schema:
988
- type: string
989
- - name: q[name_cont]
1236
+ type: boolean
1237
+ description: Set to `true` to apply `descend_by_price`.
1238
+ - name: q[in_categories][]
990
1239
  in: query
991
1240
  required: false
992
- description: Filter by name containing string
993
1241
  schema:
994
- type: string
1242
+ type: array
1243
+ items:
1244
+ type: string
1245
+ description: Category prefixed IDs; matches products in any of them, including
1246
+ descendants.
995
1247
  - name: q[in_category]
996
1248
  in: query
997
1249
  required: false
998
- description: Filter by category prefixed ID (includes descendants)
999
1250
  schema:
1000
1251
  type: string
1001
- - name: q[in_categories][]
1252
+ description: A category's prefixed ID; includes products in its descendants.
1253
+ - name: q[in_collection]
1254
+ in: query
1255
+ required: false
1256
+ schema:
1257
+ type: string
1258
+ description: A collection's prefixed ID.
1259
+ - name: q[in_stock]
1260
+ in: query
1261
+ required: false
1262
+ schema:
1263
+ type: boolean
1264
+ description: Set to `true` for products available to buy.
1265
+ - name: q[in_taxon]
1002
1266
  in: query
1003
1267
  required: false
1004
- description: Filter by multiple category prefixed IDs (OR logic, includes
1005
- descendants)
1006
1268
  schema:
1007
1269
  type: string
1270
+ description: Applies `in_taxon` to the given value.
1271
+ - name: q[not_discontinued]
1272
+ in: query
1273
+ required: false
1274
+ schema:
1275
+ type: boolean
1276
+ description: Set to `true` to apply `not_discontinued`.
1277
+ - name: q[out_of_stock]
1278
+ in: query
1279
+ required: false
1280
+ schema:
1281
+ type: boolean
1282
+ description: Set to `true` for products that are sold out.
1283
+ - name: q[price_between][]
1284
+ in: query
1285
+ required: false
1286
+ schema:
1287
+ type: array
1288
+ items:
1289
+ type: number
1290
+ minItems: 2
1291
+ maxItems: 2
1292
+ description: Lowest and highest price, in the current currency.
1008
1293
  - name: q[price_gte]
1009
1294
  in: query
1010
1295
  required: false
1011
- description: Filter by minimum price
1012
1296
  schema:
1013
1297
  type: number
1298
+ description: Lowest price, in the current currency.
1014
1299
  - name: q[price_lte]
1015
1300
  in: query
1016
1301
  required: false
1017
- description: Filter by maximum price
1018
1302
  schema:
1019
1303
  type: number
1304
+ description: Highest price, in the current currency.
1305
+ - name: q[search_by_name]
1306
+ in: query
1307
+ required: false
1308
+ schema:
1309
+ type: string
1310
+ description: Applies `search_by_name` to the given value.
1020
1311
  - name: q[with_option_value_ids][]
1021
1312
  in: query
1022
1313
  required: false
1023
- description: Filter by option value prefix IDs (e.g., optval_abc). Pass multiple
1024
- values for OR logic.
1314
+ schema:
1315
+ type: array
1316
+ items:
1317
+ type: string
1318
+ description: Option value IDs (`optval_…`); matches products with any of them.
1319
+ - name: page
1320
+ in: query
1321
+ required: false
1322
+ description: 'Page number (default: 1)'
1323
+ schema:
1324
+ type: integer
1325
+ - name: limit
1326
+ in: query
1327
+ required: false
1328
+ description: 'Number of items per page (default: 25, max: 100)'
1329
+ schema:
1330
+ type: integer
1331
+ - name: sort
1332
+ in: query
1333
+ required: false
1334
+ description: 'Sort order. Prefix with - for descending. Values: price, -price,
1335
+ best_selling, name, -name, -available_on, available_on'
1025
1336
  schema:
1026
1337
  type: string
1027
- - name: q[in_stock]
1338
+ - name: q
1028
1339
  in: query
1029
1340
  required: false
1030
- description: Filter to only in-stock products
1341
+ style: deepObject
1342
+ explode: true
1031
1343
  schema:
1032
- type: boolean
1344
+ type: object
1345
+ additionalProperties: true
1346
+ description: Attribute filters, as `q[<attribute>_<predicate>]=value`. See
1347
+ Filters above for the list.
1033
1348
  - name: expand
1034
1349
  in: query
1035
1350
  required: false
@@ -1044,6 +1359,58 @@ paths:
1044
1359
  id is always included.
1045
1360
  schema:
1046
1361
  type: string
1362
+ x-mint:
1363
+ content: |-
1364
+ ## Filters
1365
+
1366
+ Filter with `q[<attribute>_<predicate>]=value`, for example `q[name_cont]=…`. Send a list as `q[<attribute>_in][]=a&q[<attribute>_in][]=b`. [How filters work](/api-reference/store-api/querying#which-filters-an-endpoint-accepts).
1367
+
1368
+ | Attribute | Kind | Predicates |
1369
+ |---|---|---|
1370
+ | `available_on` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
1371
+ | `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
1372
+ | `description` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
1373
+ | `discontinue_on` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
1374
+ | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
1375
+ | `name` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
1376
+ | `price` | Amount | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
1377
+ | `seller_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
1378
+ | `slug` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
1379
+ | `status` | One of `draft`, `active`, `archived`, `proposed`, `rejected` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
1380
+ | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
1381
+
1382
+ <Accordion title="Filters through associations">
1383
+
1384
+ Prefix an associated record's attribute with the association, as in `q[categories_id_eq]`. The same predicates apply.
1385
+
1386
+ | Prefix | Attributes |
1387
+ |---|---|
1388
+ | `categories_` | `automatic`, `children_count`, `created_at`, `depth`, `id`, `name`, `parent_id`, `permalink`, `position`, `pretty_name`, `products_count`, `updated_at` |
1389
+ | `collections_` | `automatic`, `created_at`, `id`, `name`, `permalink`, `position`, `products_count`, `sort_order`, `updated_at` |
1390
+ | `tags_` | `created_at`, `id`, `name`, `updated_at` |
1391
+
1392
+ </Accordion>
1393
+
1394
+ Also filters and sorts on the store's searchable custom fields, as `q[cf_<namespace>_<key>_<predicate>]` and `sort=cf_<namespace>_<key>`.
1395
+
1396
+ **Sort by:** `available_on`, `best_selling`, `created_at`, `description`, `discontinue_on`, `id`, `manual`, `name`, `price`, `seller_id`, `slug`, `status`, `updated_at`. Prefix a field with `-` to sort descending.
1397
+ x-spree-filters:
1398
+ table: Product
1399
+ sortable:
1400
+ - available_on
1401
+ - best_selling
1402
+ - created_at
1403
+ - description
1404
+ - discontinue_on
1405
+ - id
1406
+ - manual
1407
+ - name
1408
+ - price
1409
+ - seller_id
1410
+ - slug
1411
+ - status
1412
+ - updated_at
1413
+ custom_fields: true
1047
1414
  responses:
1048
1415
  '200':
1049
1416
  description: products found
@@ -1291,18 +1658,173 @@ paths:
1291
1658
  description: Publishable API key
1292
1659
  schema:
1293
1660
  type: string
1661
+ - name: q[search]
1662
+ in: query
1663
+ required: false
1664
+ schema:
1665
+ type: string
1666
+ description: Matches product name or variant SKU (partial, case-insensitive),
1667
+ and the store's searchable custom fields.
1668
+ - name: q[ascend_by_price]
1669
+ in: query
1670
+ required: false
1671
+ schema:
1672
+ type: boolean
1673
+ description: Set to `true` to apply `ascend_by_price`.
1674
+ - name: q[descend_by_price]
1675
+ in: query
1676
+ required: false
1677
+ schema:
1678
+ type: boolean
1679
+ description: Set to `true` to apply `descend_by_price`.
1680
+ - name: q[in_categories][]
1681
+ in: query
1682
+ required: false
1683
+ schema:
1684
+ type: array
1685
+ items:
1686
+ type: string
1687
+ description: Applies `in_categories` to the given value.
1688
+ - name: q[in_category]
1689
+ in: query
1690
+ required: false
1691
+ schema:
1692
+ type: string
1693
+ description: Applies `in_category` to the given value.
1694
+ - name: q[in_collection]
1695
+ in: query
1696
+ required: false
1697
+ schema:
1698
+ type: string
1699
+ description: Applies `in_collection` to the given value.
1700
+ - name: q[in_stock]
1701
+ in: query
1702
+ required: false
1703
+ schema:
1704
+ type: boolean
1705
+ description: Set to `true` to apply `in_stock`.
1706
+ - name: q[in_taxon]
1707
+ in: query
1708
+ required: false
1709
+ schema:
1710
+ type: string
1711
+ description: Applies `in_taxon` to the given value.
1712
+ - name: q[not_discontinued]
1713
+ in: query
1714
+ required: false
1715
+ schema:
1716
+ type: boolean
1717
+ description: Set to `true` to apply `not_discontinued`.
1718
+ - name: q[out_of_stock]
1719
+ in: query
1720
+ required: false
1721
+ schema:
1722
+ type: boolean
1723
+ description: Set to `true` to apply `out_of_stock`.
1724
+ - name: q[price_between][]
1725
+ in: query
1726
+ required: false
1727
+ schema:
1728
+ type: array
1729
+ items:
1730
+ type: number
1731
+ minItems: 2
1732
+ maxItems: 2
1733
+ description: Applies `price_between` to the given value.
1734
+ - name: q[price_gte]
1735
+ in: query
1736
+ required: false
1737
+ schema:
1738
+ type: number
1739
+ description: Applies `price_gte` to the given value.
1740
+ - name: q[price_lte]
1741
+ in: query
1742
+ required: false
1743
+ schema:
1744
+ type: number
1745
+ description: Applies `price_lte` to the given value.
1746
+ - name: q[search_by_name]
1747
+ in: query
1748
+ required: false
1749
+ schema:
1750
+ type: string
1751
+ description: Applies `search_by_name` to the given value.
1752
+ - name: q[with_option_value_ids][]
1753
+ in: query
1754
+ required: false
1755
+ schema:
1756
+ type: array
1757
+ items:
1758
+ type: string
1759
+ description: Applies `with_option_value_ids` to the given value.
1294
1760
  - name: category_id
1295
1761
  in: query
1296
1762
  required: false
1297
1763
  description: Scope filters to products in this category (prefix ID)
1298
1764
  schema:
1299
1765
  type: string
1300
- - name: q[name_cont]
1766
+ - name: q
1301
1767
  in: query
1302
1768
  required: false
1303
- description: Filter by name containing string
1769
+ style: deepObject
1770
+ explode: true
1304
1771
  schema:
1305
- type: string
1772
+ type: object
1773
+ additionalProperties: true
1774
+ description: Attribute filters, as `q[<attribute>_<predicate>]=value`. See
1775
+ Filters above for the list.
1776
+ x-mint:
1777
+ content: |-
1778
+ ## Filters
1779
+
1780
+ Filter with `q[<attribute>_<predicate>]=value`, for example `q[name_cont]=…`. Send a list as `q[<attribute>_in][]=a&q[<attribute>_in][]=b`. [How filters work](/api-reference/store-api/querying#which-filters-an-endpoint-accepts).
1781
+
1782
+ | Attribute | Kind | Predicates |
1783
+ |---|---|---|
1784
+ | `available_on` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
1785
+ | `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
1786
+ | `description` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
1787
+ | `discontinue_on` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
1788
+ | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
1789
+ | `name` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
1790
+ | `price` | Amount | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
1791
+ | `seller_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
1792
+ | `slug` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
1793
+ | `status` | One of `draft`, `active`, `archived`, `proposed`, `rejected` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
1794
+ | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
1795
+
1796
+ <Accordion title="Filters through associations">
1797
+
1798
+ Prefix an associated record's attribute with the association, as in `q[categories_id_eq]`. The same predicates apply.
1799
+
1800
+ | Prefix | Attributes |
1801
+ |---|---|
1802
+ | `categories_` | `automatic`, `children_count`, `created_at`, `depth`, `id`, `name`, `parent_id`, `permalink`, `position`, `pretty_name`, `products_count`, `updated_at` |
1803
+ | `collections_` | `automatic`, `created_at`, `id`, `name`, `permalink`, `position`, `products_count`, `sort_order`, `updated_at` |
1804
+ | `tags_` | `created_at`, `id`, `name`, `updated_at` |
1805
+
1806
+ </Accordion>
1807
+
1808
+ Also filters and sorts on the store's searchable custom fields, as `q[cf_<namespace>_<key>_<predicate>]` and `sort=cf_<namespace>_<key>`.
1809
+
1810
+ **Sort by:** `available_on`, `best_selling`, `created_at`, `description`, `discontinue_on`, `id`, `manual`, `name`, `price`, `seller_id`, `slug`, `status`, `updated_at`. Prefix a field with `-` to sort descending.
1811
+ x-spree-filters:
1812
+ table: Product
1813
+ sortable:
1814
+ - available_on
1815
+ - best_selling
1816
+ - created_at
1817
+ - description
1818
+ - discontinue_on
1819
+ - id
1820
+ - manual
1821
+ - name
1822
+ - price
1823
+ - seller_id
1824
+ - slug
1825
+ - status
1826
+ - updated_at
1827
+ custom_fields: true
1306
1828
  responses:
1307
1829
  '200':
1308
1830
  description: filters scoped to category
@@ -1436,6 +1958,30 @@ paths:
1436
1958
  required: true
1437
1959
  schema:
1438
1960
  type: string
1961
+ - name: q[complete]
1962
+ in: query
1963
+ required: false
1964
+ schema:
1965
+ type: boolean
1966
+ description: Set to `true` to apply `complete`.
1967
+ - name: q[incomplete]
1968
+ in: query
1969
+ required: false
1970
+ schema:
1971
+ type: boolean
1972
+ description: Set to `true` to apply `incomplete`.
1973
+ - name: q[partially_refunded]
1974
+ in: query
1975
+ required: false
1976
+ schema:
1977
+ type: boolean
1978
+ description: Set to `true` to apply `partially_refunded`.
1979
+ - name: q[refunded]
1980
+ in: query
1981
+ required: false
1982
+ schema:
1983
+ type: boolean
1984
+ description: Set to `true` to apply `refunded`.
1439
1985
  - name: page
1440
1986
  in: query
1441
1987
  required: false
@@ -1455,18 +2001,16 @@ paths:
1455
2001
  -created_at, updated_at, -updated_at'
1456
2002
  schema:
1457
2003
  type: string
1458
- - name: q[created_at_gt]
2004
+ - name: q
1459
2005
  in: query
1460
2006
  required: false
1461
- description: Filter by created after date (ISO 8601)
2007
+ style: deepObject
2008
+ explode: true
1462
2009
  schema:
1463
- type: string
1464
- - name: q[updated_at_gt]
1465
- in: query
1466
- required: false
1467
- description: Filter by updated after date (ISO 8601)
1468
- schema:
1469
- type: string
2010
+ type: object
2011
+ additionalProperties: true
2012
+ description: Attribute filters, as `q[<attribute>_<predicate>]=value`. See
2013
+ Filters above for the list.
1470
2014
  - name: expand
1471
2015
  in: query
1472
2016
  required: false
@@ -1482,6 +2026,57 @@ paths:
1482
2026
  id is always included.
1483
2027
  schema:
1484
2028
  type: string
2029
+ x-mint:
2030
+ content: |-
2031
+ ## Filters
2032
+
2033
+ Filter with `q[<attribute>_<predicate>]=value`, for example `q[number_cont]=…`. Send a list as `q[<attribute>_in][]=a&q[<attribute>_in][]=b`. [How filters work](/api-reference/store-api/querying#which-filters-an-endpoint-accepts).
2034
+
2035
+ | Attribute | Kind | Predicates |
2036
+ |---|---|---|
2037
+ | `channel_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
2038
+ | `completed_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
2039
+ | `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
2040
+ | `currency` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
2041
+ | `customer_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
2042
+ | `delivery_total` | Amount | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
2043
+ | `fulfillment_status` | One of `backorder`, `canceled`, `partial`, `unfulfilled`, `fulfilled`, `delivered`, `pending`, `ready`, `shipped` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
2044
+ | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
2045
+ | `item_total` | Amount | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
2046
+ | `number` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
2047
+ | `order_group_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
2048
+ | `payment_status` | One of `none`, `authorized`, `partially_paid`, `paid`, `partially_refunded`, `refunded`, `overcharged`, `voided`, `balance_due`, `credit_owed`, `failed`, `void` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
2049
+ | `po_number` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
2050
+ | `seller_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
2051
+ | `status` | One of `draft`, `placed`, `canceled` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
2052
+ | `total` | Amount | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
2053
+ | `total_quantity` | Number | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
2054
+ | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
2055
+
2056
+ **Sort by:** `channel_id`, `completed_at`, `created_at`, `currency`, `customer_id`, `delivery_total`, `fulfillment_status`, `id`, `item_total`, `number`, `order_group_id`, `payment_status`, `po_number`, `seller_id`, `status`, `total`, `total_quantity`, `updated_at`. Prefix a field with `-` to sort descending.
2057
+ x-spree-filters:
2058
+ table: Order
2059
+ sortable:
2060
+ - channel_id
2061
+ - completed_at
2062
+ - created_at
2063
+ - currency
2064
+ - customer_id
2065
+ - delivery_total
2066
+ - fulfillment_status
2067
+ - id
2068
+ - item_total
2069
+ - number
2070
+ - order_group_id
2071
+ - payment_state
2072
+ - payment_status
2073
+ - po_number
2074
+ - seller_id
2075
+ - shipment_state
2076
+ - status
2077
+ - total
2078
+ - total_quantity
2079
+ - updated_at
1485
2080
  responses:
1486
2081
  '200':
1487
2082
  description: carts listed
@@ -5973,6 +6568,55 @@ paths:
5973
6568
  id is always included.
5974
6569
  schema:
5975
6570
  type: string
6571
+ - name: q
6572
+ in: query
6573
+ required: false
6574
+ style: deepObject
6575
+ explode: true
6576
+ schema:
6577
+ type: object
6578
+ additionalProperties: true
6579
+ description: Attribute filters, as `q[<attribute>_<predicate>]=value`. See
6580
+ Filters above for the list.
6581
+ x-mint:
6582
+ content: |-
6583
+ ## Filters
6584
+
6585
+ Filter with `q[<attribute>_<predicate>]=value`, for example `q[address1_cont]=…`. Send a list as `q[<attribute>_in][]=a&q[<attribute>_in][]=b`. [How filters work](/api-reference/store-api/querying#which-filters-an-endpoint-accepts).
6586
+
6587
+ | Attribute | Kind | Predicates |
6588
+ |---|---|---|
6589
+ | `address1` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
6590
+ | `address2` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
6591
+ | `city` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
6592
+ | `company` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
6593
+ | `country_code` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
6594
+ | `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
6595
+ | `first_name` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
6596
+ | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
6597
+ | `last_name` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
6598
+ | `phone` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
6599
+ | `postal_code` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
6600
+ | `state_code` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
6601
+ | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
6602
+
6603
+ **Sort by:** `address1`, `address2`, `city`, `company`, `country_code`, `created_at`, `first_name`, `id`, `last_name`, `phone`, `postal_code`, `state_code`, `updated_at`. Prefix a field with `-` to sort descending.
6604
+ x-spree-filters:
6605
+ table: Address
6606
+ sortable:
6607
+ - address1
6608
+ - address2
6609
+ - city
6610
+ - company
6611
+ - country_code
6612
+ - created_at
6613
+ - first_name
6614
+ - id
6615
+ - last_name
6616
+ - phone
6617
+ - postal_code
6618
+ - state_code
6619
+ - updated_at
5976
6620
  responses:
5977
6621
  '200':
5978
6622
  description: addresses found
@@ -6516,6 +7160,37 @@ paths:
6516
7160
  id is always included.
6517
7161
  schema:
6518
7162
  type: string
7163
+ - name: q
7164
+ in: query
7165
+ required: false
7166
+ style: deepObject
7167
+ explode: true
7168
+ schema:
7169
+ type: object
7170
+ additionalProperties: true
7171
+ description: Attribute filters, as `q[<attribute>_<predicate>]=value`. See
7172
+ Filters above for the list.
7173
+ x-mint:
7174
+ content: |-
7175
+ ## Filters
7176
+
7177
+ Filter with `q[<attribute>_<predicate>]=value`, for example `q[name_cont]=…`. Send a list as `q[<attribute>_in][]=a&q[<attribute>_in][]=b`. [How filters work](/api-reference/store-api/querying#which-filters-an-endpoint-accepts).
7178
+
7179
+ | Attribute | Kind | Predicates |
7180
+ |---|---|---|
7181
+ | `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
7182
+ | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
7183
+ | `name` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
7184
+ | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
7185
+
7186
+ **Sort by:** `created_at`, `id`, `name`, `updated_at`. Prefix a field with `-` to sort descending.
7187
+ x-spree-filters:
7188
+ table: CreditCard
7189
+ sortable:
7190
+ - created_at
7191
+ - id
7192
+ - name
7193
+ - updated_at
6519
7194
  responses:
6520
7195
  '200':
6521
7196
  description: credit cards found
@@ -6722,68 +7397,59 @@ paths:
6722
7397
  required: true
6723
7398
  schema:
6724
7399
  type: string
6725
- - name: page
7400
+ - name: q[complete]
6726
7401
  in: query
6727
7402
  required: false
6728
- description: 'Page number (default: 1)'
6729
7403
  schema:
6730
- type: integer
6731
- - name: limit
6732
- in: query
6733
- required: false
6734
- description: 'Number of results per page (default: 25, max: 100)'
6735
- schema:
6736
- type: integer
6737
- - name: sort
7404
+ type: boolean
7405
+ description: Set to `true` to apply `complete`.
7406
+ - name: q[incomplete]
6738
7407
  in: query
6739
7408
  required: false
6740
- description: 'Sort order. Prefix with - for descending. Values: completed_at,
6741
- -completed_at, total, -total, number, -number'
6742
7409
  schema:
6743
- type: string
6744
- - name: q[completed_at_gt]
7410
+ type: boolean
7411
+ description: Set to `true` to apply `incomplete`.
7412
+ - name: q[partially_refunded]
6745
7413
  in: query
6746
7414
  required: false
6747
- description: Filter by completed after date (ISO 8601)
6748
7415
  schema:
6749
- type: string
6750
- - name: q[completed_at_lt]
7416
+ type: boolean
7417
+ description: Set to `true` to apply `partially_refunded`.
7418
+ - name: q[refunded]
6751
7419
  in: query
6752
7420
  required: false
6753
- description: Filter by completed before date (ISO 8601)
6754
7421
  schema:
6755
- type: string
6756
- - name: q[number_eq]
7422
+ type: boolean
7423
+ description: Set to `true` to apply `refunded`.
7424
+ - name: page
6757
7425
  in: query
6758
7426
  required: false
6759
- description: Filter by exact order number (e.g., R123456)
7427
+ description: 'Page number (default: 1)'
6760
7428
  schema:
6761
- type: string
6762
- - name: q[state_eq]
7429
+ type: integer
7430
+ - name: limit
6763
7431
  in: query
6764
7432
  required: false
6765
- description: Filter by order state (complete, returned, canceled)
7433
+ description: 'Number of results per page (default: 25, max: 100)'
6766
7434
  schema:
6767
- type: string
6768
- - name: q[payment_state_eq]
7435
+ type: integer
7436
+ - name: sort
6769
7437
  in: query
6770
7438
  required: false
6771
- description: Filter by payment state (paid, balance_due, credit_owed, void,
6772
- failed)
7439
+ description: 'Sort order. Prefix with - for descending. Values: completed_at,
7440
+ -completed_at, total, -total, number, -number'
6773
7441
  schema:
6774
7442
  type: string
6775
- - name: q[total_gteq]
6776
- in: query
6777
- required: false
6778
- description: Filter by minimum total
6779
- schema:
6780
- type: number
6781
- - name: q[total_lteq]
7443
+ - name: q
6782
7444
  in: query
6783
7445
  required: false
6784
- description: Filter by maximum total
7446
+ style: deepObject
7447
+ explode: true
6785
7448
  schema:
6786
- type: number
7449
+ type: object
7450
+ additionalProperties: true
7451
+ description: Attribute filters, as `q[<attribute>_<predicate>]=value`. See
7452
+ Filters above for the list.
6787
7453
  - name: expand
6788
7454
  in: query
6789
7455
  required: false
@@ -6799,6 +7465,57 @@ paths:
6799
7465
  id is always included.
6800
7466
  schema:
6801
7467
  type: string
7468
+ x-mint:
7469
+ content: |-
7470
+ ## Filters
7471
+
7472
+ Filter with `q[<attribute>_<predicate>]=value`, for example `q[number_cont]=…`. Send a list as `q[<attribute>_in][]=a&q[<attribute>_in][]=b`. [How filters work](/api-reference/store-api/querying#which-filters-an-endpoint-accepts).
7473
+
7474
+ | Attribute | Kind | Predicates |
7475
+ |---|---|---|
7476
+ | `channel_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
7477
+ | `completed_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
7478
+ | `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
7479
+ | `currency` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
7480
+ | `customer_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
7481
+ | `delivery_total` | Amount | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
7482
+ | `fulfillment_status` | One of `backorder`, `canceled`, `partial`, `unfulfilled`, `fulfilled`, `delivered`, `pending`, `ready`, `shipped` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
7483
+ | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
7484
+ | `item_total` | Amount | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
7485
+ | `number` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
7486
+ | `order_group_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
7487
+ | `payment_status` | One of `none`, `authorized`, `partially_paid`, `paid`, `partially_refunded`, `refunded`, `overcharged`, `voided`, `balance_due`, `credit_owed`, `failed`, `void` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
7488
+ | `po_number` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
7489
+ | `seller_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
7490
+ | `status` | One of `draft`, `placed`, `canceled` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
7491
+ | `total` | Amount | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
7492
+ | `total_quantity` | Number | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
7493
+ | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
7494
+
7495
+ **Sort by:** `channel_id`, `completed_at`, `created_at`, `currency`, `customer_id`, `delivery_total`, `fulfillment_status`, `id`, `item_total`, `number`, `order_group_id`, `payment_status`, `po_number`, `seller_id`, `status`, `total`, `total_quantity`, `updated_at`. Prefix a field with `-` to sort descending.
7496
+ x-spree-filters:
7497
+ table: Order
7498
+ sortable:
7499
+ - channel_id
7500
+ - completed_at
7501
+ - created_at
7502
+ - currency
7503
+ - customer_id
7504
+ - delivery_total
7505
+ - fulfillment_status
7506
+ - id
7507
+ - item_total
7508
+ - number
7509
+ - order_group_id
7510
+ - payment_state
7511
+ - payment_status
7512
+ - po_number
7513
+ - seller_id
7514
+ - shipment_state
7515
+ - status
7516
+ - total
7517
+ - total_quantity
7518
+ - updated_at
6802
7519
  responses:
6803
7520
  '200':
6804
7521
  description: orders listed
@@ -7858,6 +8575,24 @@ paths:
7858
8575
  required: true
7859
8576
  schema:
7860
8577
  type: string
8578
+ - name: q[access]
8579
+ in: query
8580
+ required: false
8581
+ schema:
8582
+ type: boolean
8583
+ description: Set to `true` to apply `access`.
8584
+ - name: q[erasure]
8585
+ in: query
8586
+ required: false
8587
+ schema:
8588
+ type: boolean
8589
+ description: Set to `true` to apply `erasure`.
8590
+ - name: q[in_progress]
8591
+ in: query
8592
+ required: false
8593
+ schema:
8594
+ type: boolean
8595
+ description: Set to `true` to apply `in_progress`.
7861
8596
  - name: page
7862
8597
  in: query
7863
8598
  required: false
@@ -7868,6 +8603,47 @@ paths:
7868
8603
  required: false
7869
8604
  schema:
7870
8605
  type: integer
8606
+ - name: q
8607
+ in: query
8608
+ required: false
8609
+ style: deepObject
8610
+ explode: true
8611
+ schema:
8612
+ type: object
8613
+ additionalProperties: true
8614
+ description: Attribute filters, as `q[<attribute>_<predicate>]=value`. See
8615
+ Filters above for the list.
8616
+ x-mint:
8617
+ content: |-
8618
+ ## Filters
8619
+
8620
+ Filter with `q[<attribute>_<predicate>]=value`, for example `q[number_cont]=…`. Send a list as `q[<attribute>_in][]=a&q[<attribute>_in][]=b`. [How filters work](/api-reference/store-api/querying#which-filters-an-endpoint-accepts).
8621
+
8622
+ | Attribute | Kind | Predicates |
8623
+ |---|---|---|
8624
+ | `completed_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
8625
+ | `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
8626
+ | `email` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
8627
+ | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
8628
+ | `kind` | One of `access`, `erasure` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
8629
+ | `number` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
8630
+ | `requested_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
8631
+ | `status` | One of `pending`, `processing`, `completed`, `failed` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
8632
+ | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
8633
+
8634
+ **Sort by:** `completed_at`, `created_at`, `email`, `id`, `kind`, `number`, `requested_at`, `status`, `updated_at`. Prefix a field with `-` to sort descending.
8635
+ x-spree-filters:
8636
+ table: DataRequest
8637
+ sortable:
8638
+ - completed_at
8639
+ - created_at
8640
+ - email
8641
+ - id
8642
+ - kind
8643
+ - number
8644
+ - requested_at
8645
+ - status
8646
+ - updated_at
7871
8647
  responses:
7872
8648
  '200':
7873
8649
  description: data requests found
@@ -8057,6 +8833,36 @@ paths:
8057
8833
  required: true
8058
8834
  schema:
8059
8835
  type: string
8836
+ - name: q[search]
8837
+ in: query
8838
+ required: false
8839
+ schema:
8840
+ type: string
8841
+ description: Matches any of code (partial, case-insensitive).
8842
+ - name: q[active]
8843
+ in: query
8844
+ required: false
8845
+ schema:
8846
+ type: boolean
8847
+ description: Set to `true` to apply `active`.
8848
+ - name: q[expired]
8849
+ in: query
8850
+ required: false
8851
+ schema:
8852
+ type: boolean
8853
+ description: Set to `true` to apply `expired`.
8854
+ - name: q[partially_redeemed]
8855
+ in: query
8856
+ required: false
8857
+ schema:
8858
+ type: boolean
8859
+ description: Set to `true` to apply `partially_redeemed`.
8860
+ - name: q[redeemed]
8861
+ in: query
8862
+ required: false
8863
+ schema:
8864
+ type: boolean
8865
+ description: Set to `true` to apply `redeemed`.
8060
8866
  - name: page
8061
8867
  in: query
8062
8868
  required: false
@@ -8074,6 +8880,51 @@ paths:
8074
8880
  id is always included.
8075
8881
  schema:
8076
8882
  type: string
8883
+ - name: q
8884
+ in: query
8885
+ required: false
8886
+ style: deepObject
8887
+ explode: true
8888
+ schema:
8889
+ type: object
8890
+ additionalProperties: true
8891
+ description: Attribute filters, as `q[<attribute>_<predicate>]=value`. See
8892
+ Filters above for the list.
8893
+ x-mint:
8894
+ content: |-
8895
+ ## Filters
8896
+
8897
+ Filter with `q[<attribute>_<predicate>]=value`, for example `q[code_cont]=…`. Send a list as `q[<attribute>_in][]=a&q[<attribute>_in][]=b`. [How filters work](/api-reference/store-api/querying#which-filters-an-endpoint-accepts).
8898
+
8899
+ | Attribute | Kind | Predicates |
8900
+ |---|---|---|
8901
+ | `code` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
8902
+ | `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
8903
+ | `created_by_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
8904
+ | `currency` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
8905
+ | `customer_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
8906
+ | `expires_at` | Date | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
8907
+ | `gift_card_batch_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
8908
+ | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
8909
+ | `state` | One of `active`, `partially_redeemed`, `redeemed`, `canceled` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
8910
+ | `status` | One of `active`, `partially_redeemed`, `redeemed`, `canceled` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
8911
+ | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
8912
+
8913
+ **Sort by:** `code`, `created_at`, `created_by_id`, `currency`, `customer_id`, `expires_at`, `gift_card_batch_id`, `id`, `state`, `status`, `updated_at`. Prefix a field with `-` to sort descending.
8914
+ x-spree-filters:
8915
+ table: GiftCard
8916
+ sortable:
8917
+ - code
8918
+ - created_at
8919
+ - created_by_id
8920
+ - currency
8921
+ - customer_id
8922
+ - expires_at
8923
+ - gift_card_batch_id
8924
+ - id
8925
+ - state
8926
+ - status
8927
+ - updated_at
8077
8928
  responses:
8078
8929
  '200':
8079
8930
  description: gift cards found
@@ -8508,6 +9359,18 @@ paths:
8508
9359
  required: true
8509
9360
  schema:
8510
9361
  type: string
9362
+ - name: q[from_gift_card]
9363
+ in: query
9364
+ required: false
9365
+ schema:
9366
+ type: boolean
9367
+ description: Set to `true` to apply `from_gift_card`.
9368
+ - name: q[outstanding]
9369
+ in: query
9370
+ required: false
9371
+ schema:
9372
+ type: boolean
9373
+ description: Set to `true` to apply `outstanding`.
8511
9374
  - name: page
8512
9375
  in: query
8513
9376
  required: false
@@ -8525,6 +9388,41 @@ paths:
8525
9388
  id is always included.
8526
9389
  schema:
8527
9390
  type: string
9391
+ - name: q
9392
+ in: query
9393
+ required: false
9394
+ style: deepObject
9395
+ explode: true
9396
+ schema:
9397
+ type: object
9398
+ additionalProperties: true
9399
+ description: Attribute filters, as `q[<attribute>_<predicate>]=value`. See
9400
+ Filters above for the list.
9401
+ x-mint:
9402
+ content: |-
9403
+ ## Filters
9404
+
9405
+ Filter with `q[<attribute>_<predicate>]=value`, for example `q[currency_cont]=…`. Send a list as `q[<attribute>_in][]=a&q[<attribute>_in][]=b`. [How filters work](/api-reference/store-api/querying#which-filters-an-endpoint-accepts).
9406
+
9407
+ | Attribute | Kind | Predicates |
9408
+ |---|---|---|
9409
+ | `amount` | Amount | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
9410
+ | `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
9411
+ | `currency` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
9412
+ | `customer_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
9413
+ | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
9414
+ | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
9415
+
9416
+ **Sort by:** `amount`, `created_at`, `currency`, `customer_id`, `id`, `updated_at`. Prefix a field with `-` to sort descending.
9417
+ x-spree-filters:
9418
+ table: StoreCredit
9419
+ sortable:
9420
+ - amount
9421
+ - created_at
9422
+ - currency
9423
+ - customer_id
9424
+ - id
9425
+ - updated_at
8528
9426
  responses:
8529
9427
  '200':
8530
9428
  description: store credits found
@@ -9390,6 +10288,37 @@ paths:
9390
10288
  id is always included.
9391
10289
  schema:
9392
10290
  type: string
10291
+ - name: q
10292
+ in: query
10293
+ required: false
10294
+ style: deepObject
10295
+ explode: true
10296
+ schema:
10297
+ type: object
10298
+ additionalProperties: true
10299
+ description: Attribute filters, as `q[<attribute>_<predicate>]=value`. See
10300
+ Filters above for the list.
10301
+ x-mint:
10302
+ content: |-
10303
+ ## Filters
10304
+
10305
+ Filter with `q[<attribute>_<predicate>]=value`, for example `q[name_cont]=…`. Send a list as `q[<attribute>_in][]=a&q[<attribute>_in][]=b`. [How filters work](/api-reference/store-api/querying#which-filters-an-endpoint-accepts).
10306
+
10307
+ | Attribute | Kind | Predicates |
10308
+ |---|---|---|
10309
+ | `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
10310
+ | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
10311
+ | `name` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
10312
+ | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
10313
+
10314
+ **Sort by:** `created_at`, `id`, `name`, `updated_at`. Prefix a field with `-` to sort descending.
10315
+ x-spree-filters:
10316
+ table: Wishlist
10317
+ sortable:
10318
+ - created_at
10319
+ - id
10320
+ - name
10321
+ - updated_at
9393
10322
  responses:
9394
10323
  '200':
9395
10324
  description: wishlists found
@@ -10171,6 +11100,12 @@ paths:
10171
11100
  required: true
10172
11101
  schema:
10173
11102
  type: string
11103
+ - name: q[search]
11104
+ in: query
11105
+ required: false
11106
+ schema:
11107
+ type: string
11108
+ description: Matches any of name (partial, case-insensitive).
10174
11109
  - name: fields
10175
11110
  in: query
10176
11111
  required: false
@@ -10178,6 +11113,41 @@ paths:
10178
11113
  id is always included.
10179
11114
  schema:
10180
11115
  type: string
11116
+ - name: q
11117
+ in: query
11118
+ required: false
11119
+ style: deepObject
11120
+ explode: true
11121
+ schema:
11122
+ type: object
11123
+ additionalProperties: true
11124
+ description: Attribute filters, as `q[<attribute>_<predicate>]=value`. See
11125
+ Filters above for the list.
11126
+ x-mint:
11127
+ content: |-
11128
+ ## Filters
11129
+
11130
+ Filter with `q[<attribute>_<predicate>]=value`, for example `q[name_cont]=…`. Send a list as `q[<attribute>_in][]=a&q[<attribute>_in][]=b`. [How filters work](/api-reference/store-api/querying#which-filters-an-endpoint-accepts).
11131
+
11132
+ | Attribute | Kind | Predicates |
11133
+ |---|---|---|
11134
+ | `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
11135
+ | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
11136
+ | `name` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
11137
+ | `owner_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
11138
+ | `owner_type` | Type | `eq` `not_eq` `in` `not_in` `null` `not_null` |
11139
+ | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
11140
+
11141
+ **Sort by:** `created_at`, `id`, `name`, `owner_id`, `owner_type`, `updated_at`. Prefix a field with `-` to sort descending.
11142
+ x-spree-filters:
11143
+ table: Policy
11144
+ sortable:
11145
+ - created_at
11146
+ - id
11147
+ - name
11148
+ - owner_id
11149
+ - owner_type
11150
+ - updated_at
10181
11151
  responses:
10182
11152
  '200':
10183
11153
  description: policies listed
@@ -10415,6 +11385,35 @@ paths:
10415
11385
  required: true
10416
11386
  schema:
10417
11387
  type: string
11388
+ - name: q
11389
+ in: query
11390
+ required: false
11391
+ style: deepObject
11392
+ explode: true
11393
+ schema:
11394
+ type: object
11395
+ additionalProperties: true
11396
+ description: Attribute filters, as `q[<attribute>_<predicate>]=value`. See
11397
+ Filters above for the list.
11398
+ x-mint:
11399
+ content: |-
11400
+ ## Filters
11401
+
11402
+ Filter with `q[<attribute>_<predicate>]=value`, for example `q[created_at_eq]=…`. Send a list as `q[<attribute>_in][]=a&q[<attribute>_in][]=b`. [How filters work](/api-reference/store-api/querying#which-filters-an-endpoint-accepts).
11403
+
11404
+ | Attribute | Kind | Predicates |
11405
+ |---|---|---|
11406
+ | `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
11407
+ | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
11408
+ | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
11409
+
11410
+ **Sort by:** `created_at`, `id`, `updated_at`. Prefix a field with `-` to sort descending.
11411
+ x-spree-filters:
11412
+ table: CompanyMembership
11413
+ sortable:
11414
+ - created_at
11415
+ - id
11416
+ - updated_at
10418
11417
  responses:
10419
11418
  '200':
10420
11419
  description: memberships listed
@@ -10572,6 +11571,35 @@ paths:
10572
11571
  required: true
10573
11572
  schema:
10574
11573
  type: string
11574
+ - name: q
11575
+ in: query
11576
+ required: false
11577
+ style: deepObject
11578
+ explode: true
11579
+ schema:
11580
+ type: object
11581
+ additionalProperties: true
11582
+ description: Attribute filters, as `q[<attribute>_<predicate>]=value`. See
11583
+ Filters above for the list.
11584
+ x-mint:
11585
+ content: |-
11586
+ ## Filters
11587
+
11588
+ Filter with `q[<attribute>_<predicate>]=value`, for example `q[created_at_eq]=…`. Send a list as `q[<attribute>_in][]=a&q[<attribute>_in][]=b`. [How filters work](/api-reference/store-api/querying#which-filters-an-endpoint-accepts).
11589
+
11590
+ | Attribute | Kind | Predicates |
11591
+ |---|---|---|
11592
+ | `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
11593
+ | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
11594
+ | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
11595
+
11596
+ **Sort by:** `created_at`, `id`, `updated_at`. Prefix a field with `-` to sort descending.
11597
+ x-spree-filters:
11598
+ table: CompanyMembership
11599
+ sortable:
11600
+ - created_at
11601
+ - id
11602
+ - updated_at
10575
11603
  responses:
10576
11604
  '200':
10577
11605
  description: members listed
@@ -10684,6 +11712,55 @@ paths:
10684
11712
  required: true
10685
11713
  schema:
10686
11714
  type: string
11715
+ - name: q
11716
+ in: query
11717
+ required: false
11718
+ style: deepObject
11719
+ explode: true
11720
+ schema:
11721
+ type: object
11722
+ additionalProperties: true
11723
+ description: Attribute filters, as `q[<attribute>_<predicate>]=value`. See
11724
+ Filters above for the list.
11725
+ x-mint:
11726
+ content: |-
11727
+ ## Filters
11728
+
11729
+ Filter with `q[<attribute>_<predicate>]=value`, for example `q[address1_cont]=…`. Send a list as `q[<attribute>_in][]=a&q[<attribute>_in][]=b`. [How filters work](/api-reference/store-api/querying#which-filters-an-endpoint-accepts).
11730
+
11731
+ | Attribute | Kind | Predicates |
11732
+ |---|---|---|
11733
+ | `address1` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
11734
+ | `address2` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
11735
+ | `city` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
11736
+ | `company` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
11737
+ | `country_code` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
11738
+ | `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
11739
+ | `first_name` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
11740
+ | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
11741
+ | `last_name` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
11742
+ | `phone` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
11743
+ | `postal_code` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
11744
+ | `state_code` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
11745
+ | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
11746
+
11747
+ **Sort by:** `address1`, `address2`, `city`, `company`, `country_code`, `created_at`, `first_name`, `id`, `last_name`, `phone`, `postal_code`, `state_code`, `updated_at`. Prefix a field with `-` to sort descending.
11748
+ x-spree-filters:
11749
+ table: Address
11750
+ sortable:
11751
+ - address1
11752
+ - address2
11753
+ - city
11754
+ - company
11755
+ - country_code
11756
+ - created_at
11757
+ - first_name
11758
+ - id
11759
+ - last_name
11760
+ - phone
11761
+ - postal_code
11762
+ - state_code
11763
+ - updated_at
10687
11764
  responses:
10688
11765
  '200':
10689
11766
  description: addresses listed
@@ -10883,6 +11960,91 @@ paths:
10883
11960
  required: true
10884
11961
  schema:
10885
11962
  type: string
11963
+ - name: q[complete]
11964
+ in: query
11965
+ required: false
11966
+ schema:
11967
+ type: boolean
11968
+ description: Set to `true` to apply `complete`.
11969
+ - name: q[incomplete]
11970
+ in: query
11971
+ required: false
11972
+ schema:
11973
+ type: boolean
11974
+ description: Set to `true` to apply `incomplete`.
11975
+ - name: q[partially_refunded]
11976
+ in: query
11977
+ required: false
11978
+ schema:
11979
+ type: boolean
11980
+ description: Set to `true` to apply `partially_refunded`.
11981
+ - name: q[refunded]
11982
+ in: query
11983
+ required: false
11984
+ schema:
11985
+ type: boolean
11986
+ description: Set to `true` to apply `refunded`.
11987
+ - name: q
11988
+ in: query
11989
+ required: false
11990
+ style: deepObject
11991
+ explode: true
11992
+ schema:
11993
+ type: object
11994
+ additionalProperties: true
11995
+ description: Attribute filters, as `q[<attribute>_<predicate>]=value`. See
11996
+ Filters above for the list.
11997
+ x-mint:
11998
+ content: |-
11999
+ ## Filters
12000
+
12001
+ Filter with `q[<attribute>_<predicate>]=value`, for example `q[number_cont]=…`. Send a list as `q[<attribute>_in][]=a&q[<attribute>_in][]=b`. [How filters work](/api-reference/store-api/querying#which-filters-an-endpoint-accepts).
12002
+
12003
+ | Attribute | Kind | Predicates |
12004
+ |---|---|---|
12005
+ | `channel_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
12006
+ | `completed_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
12007
+ | `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
12008
+ | `currency` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
12009
+ | `customer_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
12010
+ | `delivery_total` | Amount | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
12011
+ | `fulfillment_status` | One of `backorder`, `canceled`, `partial`, `unfulfilled`, `fulfilled`, `delivered`, `pending`, `ready`, `shipped` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
12012
+ | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
12013
+ | `item_total` | Amount | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
12014
+ | `number` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
12015
+ | `order_group_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
12016
+ | `payment_status` | One of `none`, `authorized`, `partially_paid`, `paid`, `partially_refunded`, `refunded`, `overcharged`, `voided`, `balance_due`, `credit_owed`, `failed`, `void` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
12017
+ | `po_number` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
12018
+ | `seller_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
12019
+ | `status` | One of `draft`, `placed`, `canceled` | `eq` `not_eq` `in` `not_in` `null` `not_null` |
12020
+ | `total` | Amount | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
12021
+ | `total_quantity` | Number | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
12022
+ | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
12023
+
12024
+ **Sort by:** `channel_id`, `completed_at`, `created_at`, `currency`, `customer_id`, `delivery_total`, `fulfillment_status`, `id`, `item_total`, `number`, `order_group_id`, `payment_status`, `po_number`, `seller_id`, `status`, `total`, `total_quantity`, `updated_at`. Prefix a field with `-` to sort descending.
12025
+ x-spree-filters:
12026
+ table: Order
12027
+ sortable:
12028
+ - channel_id
12029
+ - completed_at
12030
+ - created_at
12031
+ - currency
12032
+ - customer_id
12033
+ - delivery_total
12034
+ - fulfillment_status
12035
+ - id
12036
+ - item_total
12037
+ - number
12038
+ - order_group_id
12039
+ - payment_state
12040
+ - payment_status
12041
+ - po_number
12042
+ - seller_id
12043
+ - shipment_state
12044
+ - status
12045
+ - total
12046
+ - total_quantity
12047
+ - updated_at
10886
12048
  responses:
10887
12049
  '200':
10888
12050
  description: orders listed
@@ -11270,12 +12432,55 @@ paths:
11270
12432
  required: true
11271
12433
  schema:
11272
12434
  type: string
12435
+ - name: q[search]
12436
+ in: query
12437
+ required: false
12438
+ schema:
12439
+ type: string
12440
+ description: Matches any of name (partial, case-insensitive).
11273
12441
  - name: fulfillment_type
11274
12442
  in: query
11275
12443
  required: false
11276
12444
  description: 'Filter: shipping, digital, pickup'
11277
12445
  schema:
11278
12446
  type: string
12447
+ - name: q
12448
+ in: query
12449
+ required: false
12450
+ style: deepObject
12451
+ explode: true
12452
+ schema:
12453
+ type: object
12454
+ additionalProperties: true
12455
+ description: Attribute filters, as `q[<attribute>_<predicate>]=value`. See
12456
+ Filters above for the list.
12457
+ x-mint:
12458
+ content: |-
12459
+ ## Filters
12460
+
12461
+ Filter with `q[<attribute>_<predicate>]=value`, for example `q[name_cont]=…`. Send a list as `q[<attribute>_in][]=a&q[<attribute>_in][]=b`. [How filters work](/api-reference/store-api/querying#which-filters-an-endpoint-accepts).
12462
+
12463
+ | Attribute | Kind | Predicates |
12464
+ |---|---|---|
12465
+ | `available_to_sellers` | True or false | `eq` `not_eq` `in` `not_in` `true` `false` `null` |
12466
+ | `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
12467
+ | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
12468
+ | `name` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
12469
+ | `seller_id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
12470
+ | `storefront_visible` | True or false | `eq` `not_eq` `in` `not_in` `true` `false` `null` |
12471
+ | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
12472
+
12473
+ **Sort by:** `available_to_sellers`, `created_at`, `id`, `name`, `seller_id`, `storefront_visible`, `updated_at`. Prefix a field with `-` to sort descending.
12474
+ x-spree-filters:
12475
+ table: DeliveryMethod
12476
+ sortable:
12477
+ - available_to_sellers
12478
+ - created_at
12479
+ - id
12480
+ - name
12481
+ - seller_id
12482
+ - storefront_visible
12483
+ - updated_at
11279
12484
  responses:
11280
12485
  '200':
11281
12486
  description: delivery methods found
@@ -11428,6 +12633,12 @@ paths:
11428
12633
  required: true
11429
12634
  schema:
11430
12635
  type: string
12636
+ - name: q[search]
12637
+ in: query
12638
+ required: false
12639
+ schema:
12640
+ type: string
12641
+ description: Matches any of name (partial, case-insensitive).
11431
12642
  - name: page
11432
12643
  in: query
11433
12644
  required: false
@@ -11438,12 +12649,16 @@ paths:
11438
12649
  required: false
11439
12650
  schema:
11440
12651
  type: integer
11441
- - name: q[name_cont]
12652
+ - name: q
11442
12653
  in: query
11443
12654
  required: false
11444
- description: Filter by name
12655
+ style: deepObject
12656
+ explode: true
11445
12657
  schema:
11446
- type: string
12658
+ type: object
12659
+ additionalProperties: true
12660
+ description: Attribute filters, as `q[<attribute>_<predicate>]=value`. See
12661
+ Filters above for the list.
11447
12662
  - name: expand
11448
12663
  in: query
11449
12664
  required: false
@@ -11457,6 +12672,27 @@ paths:
11457
12672
  description: Comma-separated list of fields to include. id is always included.
11458
12673
  schema:
11459
12674
  type: string
12675
+ x-mint:
12676
+ content: |-
12677
+ ## Filters
12678
+
12679
+ Filter with `q[<attribute>_<predicate>]=value`, for example `q[name_cont]=…`. Send a list as `q[<attribute>_in][]=a&q[<attribute>_in][]=b`. [How filters work](/api-reference/store-api/querying#which-filters-an-endpoint-accepts).
12680
+
12681
+ | Attribute | Kind | Predicates |
12682
+ |---|---|---|
12683
+ | `created_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
12684
+ | `id` | Prefixed ID | `eq` `not_eq` `in` `not_in` `null` `not_null` |
12685
+ | `name` | Text | `eq` `not_eq` `in` `not_in` `cont` `i_cont` `not_cont` `start` `end` `null` `not_null` `present` `blank` |
12686
+ | `updated_at` | Date and time | `eq` `not_eq` `in` `not_in` `lt` `lteq` `gt` `gteq` `null` `not_null` |
12687
+
12688
+ **Sort by:** `created_at`, `id`, `name`, `updated_at`. Prefix a field with `-` to sort descending.
12689
+ x-spree-filters:
12690
+ table: Seller
12691
+ sortable:
12692
+ - created_at
12693
+ - id
12694
+ - name
12695
+ - updated_at
11460
12696
  responses:
11461
12697
  '200':
11462
12698
  description: sellers found
@@ -11854,50 +13090,21 @@ components:
11854
13090
  - id
11855
13091
  - name
11856
13092
  - code
11857
- PreferenceField:
11858
- type: object
11859
- description: A single configurable preference on a payment method, promotion
11860
- rule/action, or calculator. The frontend uses `type` + `default` to render
11861
- a sensible input.
11862
- properties:
11863
- key:
11864
- type: string
11865
- example: amount_min
11866
- type:
11867
- type: string
11868
- example: decimal
11869
- description: string | text | password | integer | decimal | boolean | array
11870
- | hash
11871
- default:
11872
- description: Default value (any JSON type), null when there is no default
11873
- nullable: true
11874
- required:
11875
- - key
11876
- - type
11877
- PromotionActionCalculator:
13093
+ PreferenceSchema:
11878
13094
  type: object
11879
- description: The action's nested calculator (when the action carries one — null
11880
- for actions like `free_shipping`)
11881
- properties:
11882
- type:
11883
- type: string
11884
- example: flat_rate
11885
- description: Wire shorthand for the calculator subclass
11886
- label:
11887
- type: string
11888
- example: Flat Rate
11889
- preferences:
11890
- type: object
11891
- additionalProperties: true
11892
- preference_schema:
11893
- type: array
11894
- items:
11895
- "$ref": "#/components/schemas/PreferenceField"
11896
- required:
11897
- - type
11898
- - label
11899
- - preferences
11900
- - preference_schema
13095
+ description: 'The JSON Schema (draft 2020-12) of a type''s `preferences`: one
13096
+ property per setting, with `format` (`money`, `currency`, `iso-country`, `prefixed-id`,
13097
+ …), `enum`, `default`, `x-spree-secret` for a secret and `x-spree-prefix`
13098
+ for an id list. Unknown keys are refused.'
13099
+ additionalProperties: true
13100
+ example:
13101
+ type: object
13102
+ properties:
13103
+ amount:
13104
+ type: string
13105
+ format: money
13106
+ default: '0.0'
13107
+ additionalProperties: false
11901
13108
  PromotionActionLineItem:
11902
13109
  type: object
11903
13110
  description: One row in a `create_line_items` action — the variant added to
@@ -16157,3 +17364,399 @@ components:
16157
17364
  - is_default
16158
17365
  - is_private
16159
17366
  x-typelizer: true
17367
+ x-spree-filter-tables:
17368
+ Address:
17369
+ attributes:
17370
+ address1: text
17371
+ address2: text
17372
+ city: text
17373
+ company: text
17374
+ country_code: text
17375
+ created_at: datetime
17376
+ first_name: text
17377
+ id: id
17378
+ last_name: text
17379
+ phone: text
17380
+ postal_code: text
17381
+ state_code: text
17382
+ updated_at: datetime
17383
+ associations: {}
17384
+ scopes: {}
17385
+ Category:
17386
+ attributes:
17387
+ automatic: boolean
17388
+ children_count: integer
17389
+ created_at: datetime
17390
+ depth: integer
17391
+ id: id
17392
+ name: text
17393
+ parent_id: id
17394
+ permalink: text
17395
+ position: integer
17396
+ pretty_name: text
17397
+ products_count: integer
17398
+ updated_at: datetime
17399
+ associations: {}
17400
+ scopes:
17401
+ search: text
17402
+ Collection:
17403
+ attributes:
17404
+ automatic: boolean
17405
+ created_at: datetime
17406
+ id: id
17407
+ name: text
17408
+ permalink: text
17409
+ position: integer
17410
+ products_count: integer
17411
+ sort_order:
17412
+ enum:
17413
+ - manual
17414
+ - best_selling
17415
+ - price asc
17416
+ - price desc
17417
+ - available_on desc
17418
+ - available_on asc
17419
+ - name asc
17420
+ - name desc
17421
+ updated_at: datetime
17422
+ associations: {}
17423
+ scopes:
17424
+ search: text
17425
+ CompanyMembership:
17426
+ attributes:
17427
+ created_at: datetime
17428
+ id: id
17429
+ updated_at: datetime
17430
+ associations: {}
17431
+ scopes: {}
17432
+ CreditCard:
17433
+ attributes:
17434
+ created_at: datetime
17435
+ id: id
17436
+ name: text
17437
+ updated_at: datetime
17438
+ associations: {}
17439
+ scopes: {}
17440
+ DataRequest:
17441
+ attributes:
17442
+ completed_at: datetime
17443
+ created_at: datetime
17444
+ email: text
17445
+ id: id
17446
+ kind:
17447
+ enum:
17448
+ - access
17449
+ - erasure
17450
+ number: text
17451
+ requested_at: datetime
17452
+ status:
17453
+ enum:
17454
+ - pending
17455
+ - processing
17456
+ - completed
17457
+ - failed
17458
+ updated_at: datetime
17459
+ associations: {}
17460
+ scopes:
17461
+ access: boolean
17462
+ erasure: boolean
17463
+ in_progress: boolean
17464
+ DeliveryMethod:
17465
+ attributes:
17466
+ available_to_sellers: boolean
17467
+ created_at: datetime
17468
+ id: id
17469
+ name: text
17470
+ seller_id: id
17471
+ storefront_visible: boolean
17472
+ updated_at: datetime
17473
+ associations: {}
17474
+ scopes:
17475
+ search: text
17476
+ GiftCard:
17477
+ attributes:
17478
+ code: text
17479
+ created_at: datetime
17480
+ created_by_id: id
17481
+ currency: text
17482
+ customer_id: id
17483
+ expires_at: date
17484
+ gift_card_batch_id: id
17485
+ id: id
17486
+ state:
17487
+ enum:
17488
+ - active
17489
+ - partially_redeemed
17490
+ - redeemed
17491
+ - canceled
17492
+ status:
17493
+ enum:
17494
+ - active
17495
+ - partially_redeemed
17496
+ - redeemed
17497
+ - canceled
17498
+ updated_at: datetime
17499
+ associations: {}
17500
+ scopes:
17501
+ active: boolean
17502
+ expired: boolean
17503
+ partially_redeemed: boolean
17504
+ redeemed: boolean
17505
+ search: text
17506
+ Order:
17507
+ attributes:
17508
+ channel_id: id
17509
+ completed_at: datetime
17510
+ created_at: datetime
17511
+ currency: text
17512
+ customer_id: id
17513
+ delivery_total: decimal
17514
+ fulfillment_status:
17515
+ enum:
17516
+ - backorder
17517
+ - canceled
17518
+ - partial
17519
+ - unfulfilled
17520
+ - fulfilled
17521
+ - delivered
17522
+ - pending
17523
+ - ready
17524
+ - shipped
17525
+ id: id
17526
+ item_total: decimal
17527
+ number: text
17528
+ order_group_id: id
17529
+ payment_state:
17530
+ enum:
17531
+ - none
17532
+ - authorized
17533
+ - partially_paid
17534
+ - paid
17535
+ - partially_refunded
17536
+ - refunded
17537
+ - overcharged
17538
+ - voided
17539
+ - balance_due
17540
+ - credit_owed
17541
+ - failed
17542
+ - void
17543
+ payment_status:
17544
+ enum:
17545
+ - none
17546
+ - authorized
17547
+ - partially_paid
17548
+ - paid
17549
+ - partially_refunded
17550
+ - refunded
17551
+ - overcharged
17552
+ - voided
17553
+ - balance_due
17554
+ - credit_owed
17555
+ - failed
17556
+ - void
17557
+ po_number: text
17558
+ seller_id: id
17559
+ shipment_state:
17560
+ enum:
17561
+ - backorder
17562
+ - canceled
17563
+ - partial
17564
+ - unfulfilled
17565
+ - fulfilled
17566
+ - delivered
17567
+ - pending
17568
+ - ready
17569
+ - shipped
17570
+ status:
17571
+ enum:
17572
+ - draft
17573
+ - placed
17574
+ - canceled
17575
+ total: decimal
17576
+ total_quantity: integer
17577
+ updated_at: datetime
17578
+ associations: {}
17579
+ scopes:
17580
+ complete: boolean
17581
+ incomplete: boolean
17582
+ partially_refunded: boolean
17583
+ refunded: boolean
17584
+ Policy:
17585
+ attributes:
17586
+ created_at: datetime
17587
+ id: id
17588
+ name: text
17589
+ owner_id: id
17590
+ owner_type: type
17591
+ updated_at: datetime
17592
+ associations: {}
17593
+ scopes:
17594
+ search: text
17595
+ Product:
17596
+ attributes:
17597
+ available_on: datetime
17598
+ created_at: datetime
17599
+ description: text
17600
+ discontinue_on: datetime
17601
+ id: id
17602
+ name: text
17603
+ price: decimal
17604
+ seller_id: id
17605
+ slug: text
17606
+ status:
17607
+ enum:
17608
+ - draft
17609
+ - active
17610
+ - archived
17611
+ - proposed
17612
+ - rejected
17613
+ updated_at: datetime
17614
+ associations:
17615
+ categories: Category
17616
+ collections: Collection
17617
+ tags: Tag
17618
+ scopes:
17619
+ ascend_by_price: boolean
17620
+ descend_by_price: boolean
17621
+ in_categories:
17622
+ list: id
17623
+ in_category: id
17624
+ in_collection: id
17625
+ in_stock: boolean
17626
+ in_taxon: id
17627
+ not_discontinued: boolean
17628
+ out_of_stock: boolean
17629
+ price_between:
17630
+ - decimal
17631
+ - decimal
17632
+ price_gte: decimal
17633
+ price_lte: decimal
17634
+ search: text
17635
+ search_by_name: text
17636
+ with_option_value_ids:
17637
+ list: id
17638
+ Seller:
17639
+ attributes:
17640
+ created_at: datetime
17641
+ id: id
17642
+ name: text
17643
+ updated_at: datetime
17644
+ associations: {}
17645
+ scopes:
17646
+ search: text
17647
+ StoreCredit:
17648
+ attributes:
17649
+ amount: decimal
17650
+ created_at: datetime
17651
+ currency: text
17652
+ customer_id: id
17653
+ id: id
17654
+ updated_at: datetime
17655
+ associations: {}
17656
+ scopes:
17657
+ from_gift_card: boolean
17658
+ outstanding: boolean
17659
+ Tag:
17660
+ attributes:
17661
+ created_at: datetime
17662
+ id: id
17663
+ name: text
17664
+ updated_at: datetime
17665
+ associations: {}
17666
+ scopes: {}
17667
+ Wishlist:
17668
+ attributes:
17669
+ created_at: datetime
17670
+ id: id
17671
+ name: text
17672
+ updated_at: datetime
17673
+ associations: {}
17674
+ scopes: {}
17675
+ x-spree-filter-predicates:
17676
+ text:
17677
+ - eq
17678
+ - not_eq
17679
+ - in
17680
+ - not_in
17681
+ - cont
17682
+ - i_cont
17683
+ - not_cont
17684
+ - start
17685
+ - end
17686
+ - 'null'
17687
+ - not_null
17688
+ - present
17689
+ - blank
17690
+ decimal:
17691
+ - eq
17692
+ - not_eq
17693
+ - in
17694
+ - not_in
17695
+ - lt
17696
+ - lteq
17697
+ - gt
17698
+ - gteq
17699
+ - 'null'
17700
+ - not_null
17701
+ integer:
17702
+ - eq
17703
+ - not_eq
17704
+ - in
17705
+ - not_in
17706
+ - lt
17707
+ - lteq
17708
+ - gt
17709
+ - gteq
17710
+ - 'null'
17711
+ - not_null
17712
+ date:
17713
+ - eq
17714
+ - not_eq
17715
+ - in
17716
+ - not_in
17717
+ - lt
17718
+ - lteq
17719
+ - gt
17720
+ - gteq
17721
+ - 'null'
17722
+ - not_null
17723
+ datetime:
17724
+ - eq
17725
+ - not_eq
17726
+ - in
17727
+ - not_in
17728
+ - lt
17729
+ - lteq
17730
+ - gt
17731
+ - gteq
17732
+ - 'null'
17733
+ - not_null
17734
+ enum:
17735
+ - eq
17736
+ - not_eq
17737
+ - in
17738
+ - not_in
17739
+ - 'null'
17740
+ - not_null
17741
+ id:
17742
+ - eq
17743
+ - not_eq
17744
+ - in
17745
+ - not_in
17746
+ - 'null'
17747
+ - not_null
17748
+ type:
17749
+ - eq
17750
+ - not_eq
17751
+ - in
17752
+ - not_in
17753
+ - 'null'
17754
+ - not_null
17755
+ boolean:
17756
+ - eq
17757
+ - not_eq
17758
+ - in
17759
+ - not_in
17760
+ - 'true'
17761
+ - 'false'
17762
+ - 'null'