@cloudcart/dev-mcp 0.2.5 → 0.2.7

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.
package/data/admin.json CHANGED
@@ -539,6 +539,78 @@
539
539
  "isDeprecated": false,
540
540
  "deprecationReason": null
541
541
  },
542
+ {
543
+ "name": "googleProductCategories",
544
+ "description": "Search Google product categories by substring (case-insensitive). Use this to populate a taxonomy picker before calling `categorySetGoogleTaxonomy` / `categoriesBulkSetGoogleTaxonomy`.",
545
+ "args": [
546
+ {
547
+ "name": "query",
548
+ "description": "Substring filter. Empty/null returns the first `limit` records.",
549
+ "type": {
550
+ "kind": "SCALAR",
551
+ "name": "String",
552
+ "ofType": null
553
+ },
554
+ "defaultValue": null
555
+ },
556
+ {
557
+ "name": "limit",
558
+ "description": "Max records to return (default 50, max 200).",
559
+ "type": {
560
+ "kind": "SCALAR",
561
+ "name": "Int",
562
+ "ofType": null
563
+ },
564
+ "defaultValue": "50"
565
+ }
566
+ ],
567
+ "type": {
568
+ "kind": "NON_NULL",
569
+ "name": null,
570
+ "ofType": {
571
+ "kind": "LIST",
572
+ "name": null,
573
+ "ofType": {
574
+ "kind": "NON_NULL",
575
+ "name": null,
576
+ "ofType": {
577
+ "kind": "OBJECT",
578
+ "name": "GoogleProductCategory",
579
+ "ofType": null
580
+ }
581
+ }
582
+ }
583
+ },
584
+ "isDeprecated": false,
585
+ "deprecationReason": null
586
+ },
587
+ {
588
+ "name": "googleProductCategory",
589
+ "description": "Look up a single Google product category by its numeric id.",
590
+ "args": [
591
+ {
592
+ "name": "id",
593
+ "description": "Google taxonomy id.",
594
+ "type": {
595
+ "kind": "NON_NULL",
596
+ "name": null,
597
+ "ofType": {
598
+ "kind": "SCALAR",
599
+ "name": "ID",
600
+ "ofType": null
601
+ }
602
+ },
603
+ "defaultValue": null
604
+ }
605
+ ],
606
+ "type": {
607
+ "kind": "OBJECT",
608
+ "name": "GoogleProductCategory",
609
+ "ofType": null
610
+ },
611
+ "isDeprecated": false,
612
+ "deprecationReason": null
613
+ },
542
614
  {
543
615
  "name": "category",
544
616
  "description": "Find a single category by ID.",
@@ -1635,6 +1707,57 @@
1635
1707
  "isDeprecated": false,
1636
1708
  "deprecationReason": null
1637
1709
  },
1710
+ {
1711
+ "name": "missingProductSubscribers",
1712
+ "description": "List subscribers waiting for a specific variant to come back in stock. Use this after `missingProducts(...)` returns variant ids — the result is the same set the admin sees when clicking the `Subscribers (n)` button on the missing-products page. Excludes subscribers that have already been notified.",
1713
+ "args": [
1714
+ {
1715
+ "name": "variantId",
1716
+ "description": "Variant ID (from `MissingProduct.variantId`).",
1717
+ "type": {
1718
+ "kind": "NON_NULL",
1719
+ "name": null,
1720
+ "ofType": {
1721
+ "kind": "SCALAR",
1722
+ "name": "ID",
1723
+ "ofType": null
1724
+ }
1725
+ },
1726
+ "defaultValue": null
1727
+ },
1728
+ {
1729
+ "name": "page",
1730
+ "description": "Page number (default 1).",
1731
+ "type": {
1732
+ "kind": "SCALAR",
1733
+ "name": "Int",
1734
+ "ofType": null
1735
+ },
1736
+ "defaultValue": null
1737
+ },
1738
+ {
1739
+ "name": "perPage",
1740
+ "description": "Items per page (default 25, max 100).",
1741
+ "type": {
1742
+ "kind": "SCALAR",
1743
+ "name": "Int",
1744
+ "ofType": null
1745
+ },
1746
+ "defaultValue": null
1747
+ }
1748
+ ],
1749
+ "type": {
1750
+ "kind": "NON_NULL",
1751
+ "name": null,
1752
+ "ofType": {
1753
+ "kind": "OBJECT",
1754
+ "name": "MissingProductSubscriberConnection",
1755
+ "ofType": null
1756
+ }
1757
+ },
1758
+ "isDeprecated": false,
1759
+ "deprecationReason": null
1760
+ },
1638
1761
  {
1639
1762
  "name": "stockStatuses",
1640
1763
  "description": "Get all stock statuses.",
@@ -16532,7 +16655,7 @@
16532
16655
  "deprecationReason": null
16533
16656
  },
16534
16657
  {
16535
- "name": "bulkChangeOrderStatus",
16658
+ "name": "ordersBulkChangeStatus",
16536
16659
  "description": "Bulk change status for multiple orders.",
16537
16660
  "args": [
16538
16661
  {
@@ -16571,7 +16694,7 @@
16571
16694
  "deprecationReason": null
16572
16695
  },
16573
16696
  {
16574
- "name": "bulkArchiveOrders",
16697
+ "name": "ordersBulkArchive",
16575
16698
  "description": "Bulk archive or unarchive multiple orders.",
16576
16699
  "args": [
16577
16700
  {
@@ -16908,6 +17031,950 @@
16908
17031
  "isDeprecated": false,
16909
17032
  "deprecationReason": null
16910
17033
  },
17034
+ {
17035
+ "name": "productsBulkDelete",
17036
+ "description": "Bulk-delete products. Mirrors the admin product-listing bulk delete: immediately marks the products inactive + soft-deleted (so they disappear from the storefront and from search), then queues `App\\Jobs\\Product\\BatchProductDelete` for the actual row + file removal. The mutation returns as soon as the job is enqueued — physical deletion happens asynchronously on the `system3` worker.",
17037
+ "args": [
17038
+ {
17039
+ "name": "ids",
17040
+ "description": "Product IDs to delete. Non-existent / already-deleted ids are returned in `skippedIds`.",
17041
+ "type": {
17042
+ "kind": "NON_NULL",
17043
+ "name": null,
17044
+ "ofType": {
17045
+ "kind": "LIST",
17046
+ "name": null,
17047
+ "ofType": {
17048
+ "kind": "NON_NULL",
17049
+ "name": null,
17050
+ "ofType": {
17051
+ "kind": "SCALAR",
17052
+ "name": "ID",
17053
+ "ofType": null
17054
+ }
17055
+ }
17056
+ }
17057
+ },
17058
+ "defaultValue": null
17059
+ }
17060
+ ],
17061
+ "type": {
17062
+ "kind": "NON_NULL",
17063
+ "name": null,
17064
+ "ofType": {
17065
+ "kind": "OBJECT",
17066
+ "name": "BulkDeleteProductsResult",
17067
+ "ofType": null
17068
+ }
17069
+ },
17070
+ "isDeprecated": false,
17071
+ "deprecationReason": null
17072
+ },
17073
+ {
17074
+ "name": "productsBulkSetActive",
17075
+ "description": "Bulk-set the `active` (published) flag on N products. Same admin path as the listing's Publish / Unpublish bulk action — fires `ProductUpdated` + ES sync events. Note: a draft product (draft=yes) stays invisible to the storefront regardless of `active`. Use `productsBulkSetDraft` first to take products out of draft.",
17076
+ "args": [
17077
+ {
17078
+ "name": "ids",
17079
+ "description": "Product IDs.",
17080
+ "type": {
17081
+ "kind": "NON_NULL",
17082
+ "name": null,
17083
+ "ofType": {
17084
+ "kind": "LIST",
17085
+ "name": null,
17086
+ "ofType": {
17087
+ "kind": "NON_NULL",
17088
+ "name": null,
17089
+ "ofType": {
17090
+ "kind": "SCALAR",
17091
+ "name": "ID",
17092
+ "ofType": null
17093
+ }
17094
+ }
17095
+ }
17096
+ },
17097
+ "defaultValue": null
17098
+ },
17099
+ {
17100
+ "name": "active",
17101
+ "description": "Target value: true=published, false=unpublished.",
17102
+ "type": {
17103
+ "kind": "NON_NULL",
17104
+ "name": null,
17105
+ "ofType": {
17106
+ "kind": "SCALAR",
17107
+ "name": "Boolean",
17108
+ "ofType": null
17109
+ }
17110
+ },
17111
+ "defaultValue": null
17112
+ }
17113
+ ],
17114
+ "type": {
17115
+ "kind": "NON_NULL",
17116
+ "name": null,
17117
+ "ofType": {
17118
+ "kind": "OBJECT",
17119
+ "name": "BulkProductsResult",
17120
+ "ofType": null
17121
+ }
17122
+ },
17123
+ "isDeprecated": false,
17124
+ "deprecationReason": null
17125
+ },
17126
+ {
17127
+ "name": "productsBulkSetHidden",
17128
+ "description": "Bulk-toggle the `hidden` flag — admin's 'Show in store' / 'Hide from store' bulk action. Hidden products keep their detail page reachable by direct URL but disappear from category listings.",
17129
+ "args": [
17130
+ {
17131
+ "name": "ids",
17132
+ "description": "Product IDs.",
17133
+ "type": {
17134
+ "kind": "NON_NULL",
17135
+ "name": null,
17136
+ "ofType": {
17137
+ "kind": "LIST",
17138
+ "name": null,
17139
+ "ofType": {
17140
+ "kind": "NON_NULL",
17141
+ "name": null,
17142
+ "ofType": {
17143
+ "kind": "SCALAR",
17144
+ "name": "ID",
17145
+ "ofType": null
17146
+ }
17147
+ }
17148
+ }
17149
+ },
17150
+ "defaultValue": null
17151
+ },
17152
+ {
17153
+ "name": "hidden",
17154
+ "description": "Target value: true=hidden from listings, false=shown.",
17155
+ "type": {
17156
+ "kind": "NON_NULL",
17157
+ "name": null,
17158
+ "ofType": {
17159
+ "kind": "SCALAR",
17160
+ "name": "Boolean",
17161
+ "ofType": null
17162
+ }
17163
+ },
17164
+ "defaultValue": null
17165
+ }
17166
+ ],
17167
+ "type": {
17168
+ "kind": "NON_NULL",
17169
+ "name": null,
17170
+ "ofType": {
17171
+ "kind": "OBJECT",
17172
+ "name": "BulkProductsResult",
17173
+ "ofType": null
17174
+ }
17175
+ },
17176
+ "isDeprecated": false,
17177
+ "deprecationReason": null
17178
+ },
17179
+ {
17180
+ "name": "productsBulkSetNew",
17181
+ "description": "Bulk-toggle the 'New' badge — admin's 'Mark as new' / 'Remove marked as new' bulk action.",
17182
+ "args": [
17183
+ {
17184
+ "name": "ids",
17185
+ "description": "Product IDs.",
17186
+ "type": {
17187
+ "kind": "NON_NULL",
17188
+ "name": null,
17189
+ "ofType": {
17190
+ "kind": "LIST",
17191
+ "name": null,
17192
+ "ofType": {
17193
+ "kind": "NON_NULL",
17194
+ "name": null,
17195
+ "ofType": {
17196
+ "kind": "SCALAR",
17197
+ "name": "ID",
17198
+ "ofType": null
17199
+ }
17200
+ }
17201
+ }
17202
+ },
17203
+ "defaultValue": null
17204
+ },
17205
+ {
17206
+ "name": "isNew",
17207
+ "description": "Target value: true=mark as new, false=remove the new badge.",
17208
+ "type": {
17209
+ "kind": "NON_NULL",
17210
+ "name": null,
17211
+ "ofType": {
17212
+ "kind": "SCALAR",
17213
+ "name": "Boolean",
17214
+ "ofType": null
17215
+ }
17216
+ },
17217
+ "defaultValue": null
17218
+ }
17219
+ ],
17220
+ "type": {
17221
+ "kind": "NON_NULL",
17222
+ "name": null,
17223
+ "ofType": {
17224
+ "kind": "OBJECT",
17225
+ "name": "BulkProductsResult",
17226
+ "ofType": null
17227
+ }
17228
+ },
17229
+ "isDeprecated": false,
17230
+ "deprecationReason": null
17231
+ },
17232
+ {
17233
+ "name": "productsBulkSetFeatured",
17234
+ "description": "Bulk-toggle the `featured` flag.",
17235
+ "args": [
17236
+ {
17237
+ "name": "ids",
17238
+ "description": "Product IDs.",
17239
+ "type": {
17240
+ "kind": "NON_NULL",
17241
+ "name": null,
17242
+ "ofType": {
17243
+ "kind": "LIST",
17244
+ "name": null,
17245
+ "ofType": {
17246
+ "kind": "NON_NULL",
17247
+ "name": null,
17248
+ "ofType": {
17249
+ "kind": "SCALAR",
17250
+ "name": "ID",
17251
+ "ofType": null
17252
+ }
17253
+ }
17254
+ }
17255
+ },
17256
+ "defaultValue": null
17257
+ },
17258
+ {
17259
+ "name": "featured",
17260
+ "description": "Target value.",
17261
+ "type": {
17262
+ "kind": "NON_NULL",
17263
+ "name": null,
17264
+ "ofType": {
17265
+ "kind": "SCALAR",
17266
+ "name": "Boolean",
17267
+ "ofType": null
17268
+ }
17269
+ },
17270
+ "defaultValue": null
17271
+ }
17272
+ ],
17273
+ "type": {
17274
+ "kind": "NON_NULL",
17275
+ "name": null,
17276
+ "ofType": {
17277
+ "kind": "OBJECT",
17278
+ "name": "BulkProductsResult",
17279
+ "ofType": null
17280
+ }
17281
+ },
17282
+ "isDeprecated": false,
17283
+ "deprecationReason": null
17284
+ },
17285
+ {
17286
+ "name": "productsBulkDuplicate",
17287
+ "description": "Bulk-duplicate products. Each source product is copied via `Product::makeProductCopy()` (creates a new product with cloned variants, images, descriptions, tabs, category links, etc., but a fresh ID, sku=null, sales=0). Fires `ProductsSearchEnginesSync` so the new products are indexed.",
17288
+ "args": [
17289
+ {
17290
+ "name": "ids",
17291
+ "description": "Source product IDs.",
17292
+ "type": {
17293
+ "kind": "NON_NULL",
17294
+ "name": null,
17295
+ "ofType": {
17296
+ "kind": "LIST",
17297
+ "name": null,
17298
+ "ofType": {
17299
+ "kind": "NON_NULL",
17300
+ "name": null,
17301
+ "ofType": {
17302
+ "kind": "SCALAR",
17303
+ "name": "ID",
17304
+ "ofType": null
17305
+ }
17306
+ }
17307
+ }
17308
+ },
17309
+ "defaultValue": null
17310
+ }
17311
+ ],
17312
+ "type": {
17313
+ "kind": "NON_NULL",
17314
+ "name": null,
17315
+ "ofType": {
17316
+ "kind": "OBJECT",
17317
+ "name": "BulkDuplicateProductsResult",
17318
+ "ofType": null
17319
+ }
17320
+ },
17321
+ "isDeprecated": false,
17322
+ "deprecationReason": null
17323
+ },
17324
+ {
17325
+ "name": "productsBulkActivateTracking",
17326
+ "description": "Bulk-activate quantity tracking on products. Sets `tracking=yes` on every product AND writes the supplied `quantity` onto every variant of every product (if `quantity` is omitted, variant quantities are nulled — matching admin behavior when the popup is left blank).",
17327
+ "args": [
17328
+ {
17329
+ "name": "ids",
17330
+ "description": "Product IDs.",
17331
+ "type": {
17332
+ "kind": "NON_NULL",
17333
+ "name": null,
17334
+ "ofType": {
17335
+ "kind": "LIST",
17336
+ "name": null,
17337
+ "ofType": {
17338
+ "kind": "NON_NULL",
17339
+ "name": null,
17340
+ "ofType": {
17341
+ "kind": "SCALAR",
17342
+ "name": "ID",
17343
+ "ofType": null
17344
+ }
17345
+ }
17346
+ }
17347
+ },
17348
+ "defaultValue": null
17349
+ },
17350
+ {
17351
+ "name": "quantity",
17352
+ "description": "Initial quantity to write to every variant. Omit to leave quantities null/unchanged.",
17353
+ "type": {
17354
+ "kind": "SCALAR",
17355
+ "name": "Int",
17356
+ "ofType": null
17357
+ },
17358
+ "defaultValue": null
17359
+ }
17360
+ ],
17361
+ "type": {
17362
+ "kind": "NON_NULL",
17363
+ "name": null,
17364
+ "ofType": {
17365
+ "kind": "OBJECT",
17366
+ "name": "BulkProductsResult",
17367
+ "ofType": null
17368
+ }
17369
+ },
17370
+ "isDeprecated": false,
17371
+ "deprecationReason": null
17372
+ },
17373
+ {
17374
+ "name": "productsBulkDeactivateTracking",
17375
+ "description": "Bulk-deactivate quantity tracking. Sets `tracking=no` on every product (variant quantities are not touched).",
17376
+ "args": [
17377
+ {
17378
+ "name": "ids",
17379
+ "description": "Product IDs.",
17380
+ "type": {
17381
+ "kind": "NON_NULL",
17382
+ "name": null,
17383
+ "ofType": {
17384
+ "kind": "LIST",
17385
+ "name": null,
17386
+ "ofType": {
17387
+ "kind": "NON_NULL",
17388
+ "name": null,
17389
+ "ofType": {
17390
+ "kind": "SCALAR",
17391
+ "name": "ID",
17392
+ "ofType": null
17393
+ }
17394
+ }
17395
+ }
17396
+ },
17397
+ "defaultValue": null
17398
+ }
17399
+ ],
17400
+ "type": {
17401
+ "kind": "NON_NULL",
17402
+ "name": null,
17403
+ "ofType": {
17404
+ "kind": "OBJECT",
17405
+ "name": "BulkProductsResult",
17406
+ "ofType": null
17407
+ }
17408
+ },
17409
+ "isDeprecated": false,
17410
+ "deprecationReason": null
17411
+ },
17412
+ {
17413
+ "name": "productsBulkSetCategory",
17414
+ "description": "Bulk-set the main category on N products.",
17415
+ "args": [
17416
+ {
17417
+ "name": "ids",
17418
+ "description": "Product IDs.",
17419
+ "type": {
17420
+ "kind": "NON_NULL",
17421
+ "name": null,
17422
+ "ofType": {
17423
+ "kind": "LIST",
17424
+ "name": null,
17425
+ "ofType": {
17426
+ "kind": "NON_NULL",
17427
+ "name": null,
17428
+ "ofType": {
17429
+ "kind": "SCALAR",
17430
+ "name": "ID",
17431
+ "ofType": null
17432
+ }
17433
+ }
17434
+ }
17435
+ },
17436
+ "defaultValue": null
17437
+ },
17438
+ {
17439
+ "name": "categoryId",
17440
+ "description": "Target category ID. Use `categories(...)` to look up valid ids.",
17441
+ "type": {
17442
+ "kind": "NON_NULL",
17443
+ "name": null,
17444
+ "ofType": {
17445
+ "kind": "SCALAR",
17446
+ "name": "ID",
17447
+ "ofType": null
17448
+ }
17449
+ },
17450
+ "defaultValue": null
17451
+ }
17452
+ ],
17453
+ "type": {
17454
+ "kind": "NON_NULL",
17455
+ "name": null,
17456
+ "ofType": {
17457
+ "kind": "OBJECT",
17458
+ "name": "BulkProductsResult",
17459
+ "ofType": null
17460
+ }
17461
+ },
17462
+ "isDeprecated": false,
17463
+ "deprecationReason": null
17464
+ },
17465
+ {
17466
+ "name": "productsBulkSetVendor",
17467
+ "description": "Bulk-set the vendor (manufacturer) on N products. Pass `vendorId: null` to clear the vendor.",
17468
+ "args": [
17469
+ {
17470
+ "name": "ids",
17471
+ "description": "Product IDs.",
17472
+ "type": {
17473
+ "kind": "NON_NULL",
17474
+ "name": null,
17475
+ "ofType": {
17476
+ "kind": "LIST",
17477
+ "name": null,
17478
+ "ofType": {
17479
+ "kind": "NON_NULL",
17480
+ "name": null,
17481
+ "ofType": {
17482
+ "kind": "SCALAR",
17483
+ "name": "ID",
17484
+ "ofType": null
17485
+ }
17486
+ }
17487
+ }
17488
+ },
17489
+ "defaultValue": null
17490
+ },
17491
+ {
17492
+ "name": "vendorId",
17493
+ "description": "Target vendor ID, or null to clear.",
17494
+ "type": {
17495
+ "kind": "SCALAR",
17496
+ "name": "ID",
17497
+ "ofType": null
17498
+ },
17499
+ "defaultValue": null
17500
+ }
17501
+ ],
17502
+ "type": {
17503
+ "kind": "NON_NULL",
17504
+ "name": null,
17505
+ "ofType": {
17506
+ "kind": "OBJECT",
17507
+ "name": "BulkProductsResult",
17508
+ "ofType": null
17509
+ }
17510
+ },
17511
+ "isDeprecated": false,
17512
+ "deprecationReason": null
17513
+ },
17514
+ {
17515
+ "name": "productsBulkSetTags",
17516
+ "description": "Bulk-attach product tags by NAME. Calls `Product::attachTags($tags, detaching: false, writeLog: true)` per product — existing tags are kept, the supplied tag names are added on top. Tags that don't exist yet are auto-created.",
17517
+ "args": [
17518
+ {
17519
+ "name": "ids",
17520
+ "description": "Product IDs.",
17521
+ "type": {
17522
+ "kind": "NON_NULL",
17523
+ "name": null,
17524
+ "ofType": {
17525
+ "kind": "LIST",
17526
+ "name": null,
17527
+ "ofType": {
17528
+ "kind": "NON_NULL",
17529
+ "name": null,
17530
+ "ofType": {
17531
+ "kind": "SCALAR",
17532
+ "name": "ID",
17533
+ "ofType": null
17534
+ }
17535
+ }
17536
+ }
17537
+ },
17538
+ "defaultValue": null
17539
+ },
17540
+ {
17541
+ "name": "tags",
17542
+ "description": "Tag names to attach. Names not yet present in the catalog will be auto-created. Use `tags(...)` to discover existing ones.",
17543
+ "type": {
17544
+ "kind": "NON_NULL",
17545
+ "name": null,
17546
+ "ofType": {
17547
+ "kind": "LIST",
17548
+ "name": null,
17549
+ "ofType": {
17550
+ "kind": "NON_NULL",
17551
+ "name": null,
17552
+ "ofType": {
17553
+ "kind": "SCALAR",
17554
+ "name": "String",
17555
+ "ofType": null
17556
+ }
17557
+ }
17558
+ }
17559
+ },
17560
+ "defaultValue": null
17561
+ }
17562
+ ],
17563
+ "type": {
17564
+ "kind": "NON_NULL",
17565
+ "name": null,
17566
+ "ofType": {
17567
+ "kind": "OBJECT",
17568
+ "name": "BulkProductsResult",
17569
+ "ofType": null
17570
+ }
17571
+ },
17572
+ "isDeprecated": false,
17573
+ "deprecationReason": null
17574
+ },
17575
+ {
17576
+ "name": "productsBulkSetSortOrder",
17577
+ "description": "Bulk-set the manual sort order. Same value is written to every product — for distinct values per product, call `updateProduct` per id.",
17578
+ "args": [
17579
+ {
17580
+ "name": "ids",
17581
+ "description": "Product IDs.",
17582
+ "type": {
17583
+ "kind": "NON_NULL",
17584
+ "name": null,
17585
+ "ofType": {
17586
+ "kind": "LIST",
17587
+ "name": null,
17588
+ "ofType": {
17589
+ "kind": "NON_NULL",
17590
+ "name": null,
17591
+ "ofType": {
17592
+ "kind": "SCALAR",
17593
+ "name": "ID",
17594
+ "ofType": null
17595
+ }
17596
+ }
17597
+ }
17598
+ },
17599
+ "defaultValue": null
17600
+ },
17601
+ {
17602
+ "name": "sortOrder",
17603
+ "description": "Sort order value (0 = first).",
17604
+ "type": {
17605
+ "kind": "NON_NULL",
17606
+ "name": null,
17607
+ "ofType": {
17608
+ "kind": "SCALAR",
17609
+ "name": "Int",
17610
+ "ofType": null
17611
+ }
17612
+ },
17613
+ "defaultValue": null
17614
+ }
17615
+ ],
17616
+ "type": {
17617
+ "kind": "NON_NULL",
17618
+ "name": null,
17619
+ "ofType": {
17620
+ "kind": "OBJECT",
17621
+ "name": "BulkProductsResult",
17622
+ "ofType": null
17623
+ }
17624
+ },
17625
+ "isDeprecated": false,
17626
+ "deprecationReason": null
17627
+ },
17628
+ {
17629
+ "name": "productsBulkSetInStockStatus",
17630
+ "description": "Bulk-set the in-stock status display (the 'Available' label shown next to in-stock products).",
17631
+ "args": [
17632
+ {
17633
+ "name": "ids",
17634
+ "description": "Product IDs.",
17635
+ "type": {
17636
+ "kind": "NON_NULL",
17637
+ "name": null,
17638
+ "ofType": {
17639
+ "kind": "LIST",
17640
+ "name": null,
17641
+ "ofType": {
17642
+ "kind": "NON_NULL",
17643
+ "name": null,
17644
+ "ofType": {
17645
+ "kind": "SCALAR",
17646
+ "name": "ID",
17647
+ "ofType": null
17648
+ }
17649
+ }
17650
+ }
17651
+ },
17652
+ "defaultValue": null
17653
+ },
17654
+ {
17655
+ "name": "statusId",
17656
+ "description": "Target stock-status ID. Use the `stockStatuses(...)` query to look up valid ids.",
17657
+ "type": {
17658
+ "kind": "NON_NULL",
17659
+ "name": null,
17660
+ "ofType": {
17661
+ "kind": "SCALAR",
17662
+ "name": "ID",
17663
+ "ofType": null
17664
+ }
17665
+ },
17666
+ "defaultValue": null
17667
+ }
17668
+ ],
17669
+ "type": {
17670
+ "kind": "NON_NULL",
17671
+ "name": null,
17672
+ "ofType": {
17673
+ "kind": "OBJECT",
17674
+ "name": "BulkProductsResult",
17675
+ "ofType": null
17676
+ }
17677
+ },
17678
+ "isDeprecated": false,
17679
+ "deprecationReason": null
17680
+ },
17681
+ {
17682
+ "name": "productsBulkSetOutOfStockStatus",
17683
+ "description": "Bulk-set the out-of-stock status display. Only applied to products with `tracking=yes` — products without tracking are returned in `skippedIds`.",
17684
+ "args": [
17685
+ {
17686
+ "name": "ids",
17687
+ "description": "Product IDs.",
17688
+ "type": {
17689
+ "kind": "NON_NULL",
17690
+ "name": null,
17691
+ "ofType": {
17692
+ "kind": "LIST",
17693
+ "name": null,
17694
+ "ofType": {
17695
+ "kind": "NON_NULL",
17696
+ "name": null,
17697
+ "ofType": {
17698
+ "kind": "SCALAR",
17699
+ "name": "ID",
17700
+ "ofType": null
17701
+ }
17702
+ }
17703
+ }
17704
+ },
17705
+ "defaultValue": null
17706
+ },
17707
+ {
17708
+ "name": "statusId",
17709
+ "description": "Target stock-status ID.",
17710
+ "type": {
17711
+ "kind": "NON_NULL",
17712
+ "name": null,
17713
+ "ofType": {
17714
+ "kind": "SCALAR",
17715
+ "name": "ID",
17716
+ "ofType": null
17717
+ }
17718
+ },
17719
+ "defaultValue": null
17720
+ }
17721
+ ],
17722
+ "type": {
17723
+ "kind": "NON_NULL",
17724
+ "name": null,
17725
+ "ofType": {
17726
+ "kind": "OBJECT",
17727
+ "name": "BulkProductsResult",
17728
+ "ofType": null
17729
+ }
17730
+ },
17731
+ "isDeprecated": false,
17732
+ "deprecationReason": null
17733
+ },
17734
+ {
17735
+ "name": "productsBulkSetBrandModels",
17736
+ "description": "Replace the set of brand-models attached to N products. Mirrors the admin product-edit form's brand-models picker. Pass an empty `brandModelIds: []` to detach all brand-models from the supplied products. Each model id is verified against the `brand_model_models` table — invalid ids are silently dropped (no error).",
17737
+ "args": [
17738
+ {
17739
+ "name": "ids",
17740
+ "description": "Product IDs.",
17741
+ "type": {
17742
+ "kind": "NON_NULL",
17743
+ "name": null,
17744
+ "ofType": {
17745
+ "kind": "LIST",
17746
+ "name": null,
17747
+ "ofType": {
17748
+ "kind": "NON_NULL",
17749
+ "name": null,
17750
+ "ofType": {
17751
+ "kind": "SCALAR",
17752
+ "name": "ID",
17753
+ "ofType": null
17754
+ }
17755
+ }
17756
+ }
17757
+ },
17758
+ "defaultValue": null
17759
+ },
17760
+ {
17761
+ "name": "brandModelIds",
17762
+ "description": "Brand-model IDs to attach. The supplied set REPLACES any previously-attached brand-models — pass an empty list to clear.",
17763
+ "type": {
17764
+ "kind": "NON_NULL",
17765
+ "name": null,
17766
+ "ofType": {
17767
+ "kind": "LIST",
17768
+ "name": null,
17769
+ "ofType": {
17770
+ "kind": "NON_NULL",
17771
+ "name": null,
17772
+ "ofType": {
17773
+ "kind": "SCALAR",
17774
+ "name": "ID",
17775
+ "ofType": null
17776
+ }
17777
+ }
17778
+ }
17779
+ },
17780
+ "defaultValue": null
17781
+ }
17782
+ ],
17783
+ "type": {
17784
+ "kind": "NON_NULL",
17785
+ "name": null,
17786
+ "ofType": {
17787
+ "kind": "OBJECT",
17788
+ "name": "BulkProductsResult",
17789
+ "ofType": null
17790
+ }
17791
+ },
17792
+ "isDeprecated": false,
17793
+ "deprecationReason": null
17794
+ },
17795
+ {
17796
+ "name": "productsBulkAttachCategories",
17797
+ "description": "Attach N additional categories to N products (multi-category pivot — `Product.categories`). Existing categories on the products are kept; the supplied ids are added on top. Use `productsBulkSetCategory` for the SINGLE main category (`category_id` column).",
17798
+ "args": [
17799
+ {
17800
+ "name": "ids",
17801
+ "description": "Product IDs.",
17802
+ "type": {
17803
+ "kind": "NON_NULL",
17804
+ "name": null,
17805
+ "ofType": {
17806
+ "kind": "LIST",
17807
+ "name": null,
17808
+ "ofType": {
17809
+ "kind": "NON_NULL",
17810
+ "name": null,
17811
+ "ofType": {
17812
+ "kind": "SCALAR",
17813
+ "name": "ID",
17814
+ "ofType": null
17815
+ }
17816
+ }
17817
+ }
17818
+ },
17819
+ "defaultValue": null
17820
+ },
17821
+ {
17822
+ "name": "categoryIds",
17823
+ "description": "Category IDs to attach (multi-category pivot). Already-attached pairs are no-ops.",
17824
+ "type": {
17825
+ "kind": "NON_NULL",
17826
+ "name": null,
17827
+ "ofType": {
17828
+ "kind": "LIST",
17829
+ "name": null,
17830
+ "ofType": {
17831
+ "kind": "NON_NULL",
17832
+ "name": null,
17833
+ "ofType": {
17834
+ "kind": "SCALAR",
17835
+ "name": "ID",
17836
+ "ofType": null
17837
+ }
17838
+ }
17839
+ }
17840
+ },
17841
+ "defaultValue": null
17842
+ }
17843
+ ],
17844
+ "type": {
17845
+ "kind": "NON_NULL",
17846
+ "name": null,
17847
+ "ofType": {
17848
+ "kind": "OBJECT",
17849
+ "name": "BulkProductsResult",
17850
+ "ofType": null
17851
+ }
17852
+ },
17853
+ "isDeprecated": false,
17854
+ "deprecationReason": null
17855
+ },
17856
+ {
17857
+ "name": "productsBulkDetachCategories",
17858
+ "description": "Detach N categories from N products (multi-category pivot). Pairs that aren't actually attached are silently no-ops.",
17859
+ "args": [
17860
+ {
17861
+ "name": "ids",
17862
+ "description": "Product IDs.",
17863
+ "type": {
17864
+ "kind": "NON_NULL",
17865
+ "name": null,
17866
+ "ofType": {
17867
+ "kind": "LIST",
17868
+ "name": null,
17869
+ "ofType": {
17870
+ "kind": "NON_NULL",
17871
+ "name": null,
17872
+ "ofType": {
17873
+ "kind": "SCALAR",
17874
+ "name": "ID",
17875
+ "ofType": null
17876
+ }
17877
+ }
17878
+ }
17879
+ },
17880
+ "defaultValue": null
17881
+ },
17882
+ {
17883
+ "name": "categoryIds",
17884
+ "description": "Category IDs to detach.",
17885
+ "type": {
17886
+ "kind": "NON_NULL",
17887
+ "name": null,
17888
+ "ofType": {
17889
+ "kind": "LIST",
17890
+ "name": null,
17891
+ "ofType": {
17892
+ "kind": "NON_NULL",
17893
+ "name": null,
17894
+ "ofType": {
17895
+ "kind": "SCALAR",
17896
+ "name": "ID",
17897
+ "ofType": null
17898
+ }
17899
+ }
17900
+ }
17901
+ },
17902
+ "defaultValue": null
17903
+ }
17904
+ ],
17905
+ "type": {
17906
+ "kind": "NON_NULL",
17907
+ "name": null,
17908
+ "ofType": {
17909
+ "kind": "OBJECT",
17910
+ "name": "BulkProductsResult",
17911
+ "ofType": null
17912
+ }
17913
+ },
17914
+ "isDeprecated": false,
17915
+ "deprecationReason": null
17916
+ },
17917
+ {
17918
+ "name": "productsBulkSetCategories",
17919
+ "description": "Replace the set of multi-category links on N products. The supplied set REPLACES any previously-attached categories — pass `categoryIds: []` to detach all. Does NOT touch the main `category_id` column — use `productsBulkSetCategory` for that.",
17920
+ "args": [
17921
+ {
17922
+ "name": "ids",
17923
+ "description": "Product IDs.",
17924
+ "type": {
17925
+ "kind": "NON_NULL",
17926
+ "name": null,
17927
+ "ofType": {
17928
+ "kind": "LIST",
17929
+ "name": null,
17930
+ "ofType": {
17931
+ "kind": "NON_NULL",
17932
+ "name": null,
17933
+ "ofType": {
17934
+ "kind": "SCALAR",
17935
+ "name": "ID",
17936
+ "ofType": null
17937
+ }
17938
+ }
17939
+ }
17940
+ },
17941
+ "defaultValue": null
17942
+ },
17943
+ {
17944
+ "name": "categoryIds",
17945
+ "description": "Category IDs to set (replace mode).",
17946
+ "type": {
17947
+ "kind": "NON_NULL",
17948
+ "name": null,
17949
+ "ofType": {
17950
+ "kind": "LIST",
17951
+ "name": null,
17952
+ "ofType": {
17953
+ "kind": "NON_NULL",
17954
+ "name": null,
17955
+ "ofType": {
17956
+ "kind": "SCALAR",
17957
+ "name": "ID",
17958
+ "ofType": null
17959
+ }
17960
+ }
17961
+ }
17962
+ },
17963
+ "defaultValue": null
17964
+ }
17965
+ ],
17966
+ "type": {
17967
+ "kind": "NON_NULL",
17968
+ "name": null,
17969
+ "ofType": {
17970
+ "kind": "OBJECT",
17971
+ "name": "BulkProductsResult",
17972
+ "ofType": null
17973
+ }
17974
+ },
17975
+ "isDeprecated": false,
17976
+ "deprecationReason": null
17977
+ },
16911
17978
  {
16912
17979
  "name": "createVariant",
16913
17980
  "description": "Create a new variant for a product.",
@@ -17128,6 +18195,135 @@
17128
18195
  "isDeprecated": false,
17129
18196
  "deprecationReason": null
17130
18197
  },
18198
+ {
18199
+ "name": "categoriesBulkDelete",
18200
+ "description": "Bulk-delete product categories. Mirrors the admin categories listing's Delete bulk action (`DELETE /admin/api/core/product-categories`). Refuses with `dependency_blocked` when any of the supplied categories still has products attached — move or reassign the products via `productsBulkSetCategory` first.",
18201
+ "args": [
18202
+ {
18203
+ "name": "ids",
18204
+ "description": "Category IDs.",
18205
+ "type": {
18206
+ "kind": "NON_NULL",
18207
+ "name": null,
18208
+ "ofType": {
18209
+ "kind": "LIST",
18210
+ "name": null,
18211
+ "ofType": {
18212
+ "kind": "NON_NULL",
18213
+ "name": null,
18214
+ "ofType": {
18215
+ "kind": "SCALAR",
18216
+ "name": "ID",
18217
+ "ofType": null
18218
+ }
18219
+ }
18220
+ }
18221
+ },
18222
+ "defaultValue": null
18223
+ }
18224
+ ],
18225
+ "type": {
18226
+ "kind": "NON_NULL",
18227
+ "name": null,
18228
+ "ofType": {
18229
+ "kind": "OBJECT",
18230
+ "name": "BulkOperationResult",
18231
+ "ofType": null
18232
+ }
18233
+ },
18234
+ "isDeprecated": false,
18235
+ "deprecationReason": null
18236
+ },
18237
+ {
18238
+ "name": "categorySetGoogleTaxonomy",
18239
+ "description": "Set the Google taxonomy mapping on a single category. Mirrors the admin `Define taxonomy` modal (`POST /admin/api/core/product-categories/{id}/update-taxonomy`). Use `googleProductCategories(query:)` to look up valid `taxonomyId` values.",
18240
+ "args": [
18241
+ {
18242
+ "name": "categoryId",
18243
+ "description": "Category ID.",
18244
+ "type": {
18245
+ "kind": "NON_NULL",
18246
+ "name": null,
18247
+ "ofType": {
18248
+ "kind": "SCALAR",
18249
+ "name": "ID",
18250
+ "ofType": null
18251
+ }
18252
+ },
18253
+ "defaultValue": null
18254
+ },
18255
+ {
18256
+ "name": "taxonomyId",
18257
+ "description": "Google taxonomy id (from `googleProductCategories(...)`). Pass `null` to clear the mapping.",
18258
+ "type": {
18259
+ "kind": "SCALAR",
18260
+ "name": "ID",
18261
+ "ofType": null
18262
+ },
18263
+ "defaultValue": null
18264
+ }
18265
+ ],
18266
+ "type": {
18267
+ "kind": "NON_NULL",
18268
+ "name": null,
18269
+ "ofType": {
18270
+ "kind": "OBJECT",
18271
+ "name": "Category",
18272
+ "ofType": null
18273
+ }
18274
+ },
18275
+ "isDeprecated": false,
18276
+ "deprecationReason": null
18277
+ },
18278
+ {
18279
+ "name": "categoriesBulkSetGoogleTaxonomy",
18280
+ "description": "Bulk-apply the same Google taxonomy id to N categories. Pass `taxonomyId: null` to clear the mapping on the supplied categories. Invalid taxonomy ids are rejected with `not_found` BEFORE any update is written.",
18281
+ "args": [
18282
+ {
18283
+ "name": "ids",
18284
+ "description": "Category IDs.",
18285
+ "type": {
18286
+ "kind": "NON_NULL",
18287
+ "name": null,
18288
+ "ofType": {
18289
+ "kind": "LIST",
18290
+ "name": null,
18291
+ "ofType": {
18292
+ "kind": "NON_NULL",
18293
+ "name": null,
18294
+ "ofType": {
18295
+ "kind": "SCALAR",
18296
+ "name": "ID",
18297
+ "ofType": null
18298
+ }
18299
+ }
18300
+ }
18301
+ },
18302
+ "defaultValue": null
18303
+ },
18304
+ {
18305
+ "name": "taxonomyId",
18306
+ "description": "Google taxonomy id (from `googleProductCategories(...)`). Pass `null` to clear.",
18307
+ "type": {
18308
+ "kind": "SCALAR",
18309
+ "name": "ID",
18310
+ "ofType": null
18311
+ },
18312
+ "defaultValue": null
18313
+ }
18314
+ ],
18315
+ "type": {
18316
+ "kind": "NON_NULL",
18317
+ "name": null,
18318
+ "ofType": {
18319
+ "kind": "OBJECT",
18320
+ "name": "BulkOperationResult",
18321
+ "ofType": null
18322
+ }
18323
+ },
18324
+ "isDeprecated": false,
18325
+ "deprecationReason": null
18326
+ },
17131
18327
  {
17132
18328
  "name": "createVendor",
17133
18329
  "description": "Create a new vendor.",
@@ -17231,6 +18427,45 @@
17231
18427
  "isDeprecated": false,
17232
18428
  "deprecationReason": null
17233
18429
  },
18430
+ {
18431
+ "name": "vendorsBulkDelete",
18432
+ "description": "Bulk-delete vendors (manufacturers). Mirrors the admin vendors listing's Delete bulk action (`DELETE /admin/api/core/vendors`). Refuses with `dependency_blocked` when any of the supplied vendors still has products attached — reassign the products via `productsBulkSetVendor` first.",
18433
+ "args": [
18434
+ {
18435
+ "name": "ids",
18436
+ "description": "Vendor IDs.",
18437
+ "type": {
18438
+ "kind": "NON_NULL",
18439
+ "name": null,
18440
+ "ofType": {
18441
+ "kind": "LIST",
18442
+ "name": null,
18443
+ "ofType": {
18444
+ "kind": "NON_NULL",
18445
+ "name": null,
18446
+ "ofType": {
18447
+ "kind": "SCALAR",
18448
+ "name": "ID",
18449
+ "ofType": null
18450
+ }
18451
+ }
18452
+ }
18453
+ },
18454
+ "defaultValue": null
18455
+ }
18456
+ ],
18457
+ "type": {
18458
+ "kind": "NON_NULL",
18459
+ "name": null,
18460
+ "ofType": {
18461
+ "kind": "OBJECT",
18462
+ "name": "BulkOperationResult",
18463
+ "ofType": null
18464
+ }
18465
+ },
18466
+ "isDeprecated": false,
18467
+ "deprecationReason": null
18468
+ },
17234
18469
  {
17235
18470
  "name": "createTag",
17236
18471
  "description": "Create a new tag.",
@@ -17541,7 +18776,7 @@
17541
18776
  "deprecationReason": null
17542
18777
  },
17543
18778
  {
17544
- "name": "bulkDeleteParameters",
18779
+ "name": "parametersBulkDelete",
17545
18780
  "description": "Bulk delete parameters by IDs.",
17546
18781
  "args": [
17547
18782
  {
@@ -17580,7 +18815,7 @@
17580
18815
  "deprecationReason": null
17581
18816
  },
17582
18817
  {
17583
- "name": "bulkDeleteParameterOptions",
18818
+ "name": "parameterOptionsBulkDelete",
17584
18819
  "description": "Bulk delete parameter options by IDs.",
17585
18820
  "args": [
17586
18821
  {
@@ -17697,7 +18932,7 @@
17697
18932
  "deprecationReason": null
17698
18933
  },
17699
18934
  {
17700
- "name": "changeParameterActivity",
18935
+ "name": "parametersBulkSetActive",
17701
18936
  "description": "Bulk toggle parameter visibility.",
17702
18937
  "args": [
17703
18938
  {
@@ -17750,7 +18985,7 @@
17750
18985
  "deprecationReason": null
17751
18986
  },
17752
18987
  {
17753
- "name": "changeParameterOptionActivity",
18988
+ "name": "parameterOptionsBulkSetActive",
17754
18989
  "description": "Bulk toggle parameter option visibility.",
17755
18990
  "args": [
17756
18991
  {
@@ -17803,7 +19038,7 @@
17803
19038
  "deprecationReason": null
17804
19039
  },
17805
19040
  {
17806
- "name": "createParameterOptionsBulk",
19041
+ "name": "parameterOptionsBulkCreate",
17807
19042
  "description": "Create multiple parameter options at once.",
17808
19043
  "args": [
17809
19044
  {
@@ -18596,7 +19831,7 @@
18596
19831
  "deprecationReason": null
18597
19832
  },
18598
19833
  {
18599
- "name": "deleteSmartCollections",
19834
+ "name": "smartCollectionsBulkDelete",
18600
19835
  "description": "Delete one or more smart collections.",
18601
19836
  "args": [
18602
19837
  {
@@ -18658,7 +19893,7 @@
18658
19893
  "deprecationReason": null
18659
19894
  },
18660
19895
  {
18661
- "name": "bulkUpdateQuantity",
19896
+ "name": "productVariantsBulkUpdateQuantity",
18662
19897
  "description": "Bulk update variant quantities (add or set).",
18663
19898
  "args": [
18664
19899
  {
@@ -18689,7 +19924,7 @@
18689
19924
  "deprecationReason": null
18690
19925
  },
18691
19926
  {
18692
- "name": "bulkUpdatePrice",
19927
+ "name": "productVariantsBulkUpdatePrice",
18693
19928
  "description": "Bulk update variant prices.",
18694
19929
  "args": [
18695
19930
  {
@@ -18720,7 +19955,7 @@
18720
19955
  "deprecationReason": null
18721
19956
  },
18722
19957
  {
18723
- "name": "bulkUpdateSellingStatus",
19958
+ "name": "productVariantsBulkUpdateSellingStatus",
18724
19959
  "description": "Bulk update product continue-selling status.",
18725
19960
  "args": [
18726
19961
  {
@@ -18902,11 +20137,11 @@
18902
20137
  "deprecationReason": null
18903
20138
  },
18904
20139
  {
18905
- "name": "collectionAddProducts",
18906
- "description": "Add products to a category (max 250).",
20140
+ "name": "categoryAttachProducts",
20141
+ "description": "Attach products to a single category (max 250). Inverse of `productsBulkAttachCategories` — one category, N products. Idempotent: products that are already attached are no-ops.",
18907
20142
  "args": [
18908
20143
  {
18909
- "name": "id",
20144
+ "name": "categoryId",
18910
20145
  "description": "Category ID.",
18911
20146
  "type": {
18912
20147
  "kind": "NON_NULL",
@@ -18921,7 +20156,7 @@
18921
20156
  },
18922
20157
  {
18923
20158
  "name": "productIds",
18924
- "description": "Product IDs to add.",
20159
+ "description": "Product IDs to attach.",
18925
20160
  "type": {
18926
20161
  "kind": "NON_NULL",
18927
20162
  "name": null,
@@ -18955,11 +20190,11 @@
18955
20190
  "deprecationReason": null
18956
20191
  },
18957
20192
  {
18958
- "name": "collectionRemoveProducts",
18959
- "description": "Remove products from a category (max 250).",
20193
+ "name": "categoryDetachProducts",
20194
+ "description": "Detach products from a single category (max 250). Pairs that aren't actually attached are silently no-ops.",
18960
20195
  "args": [
18961
20196
  {
18962
- "name": "id",
20197
+ "name": "categoryId",
18963
20198
  "description": "Category ID.",
18964
20199
  "type": {
18965
20200
  "kind": "NON_NULL",
@@ -18974,7 +20209,7 @@
18974
20209
  },
18975
20210
  {
18976
20211
  "name": "productIds",
18977
- "description": "Product IDs to remove.",
20212
+ "description": "Product IDs to detach.",
18978
20213
  "type": {
18979
20214
  "kind": "NON_NULL",
18980
20215
  "name": null,
@@ -19249,32 +20484,139 @@
19249
20484
  "deprecationReason": null
19250
20485
  },
19251
20486
  {
19252
- "name": "toggleCategoryPropertyVisibility",
19253
- "description": "Toggle category property visibility in storefront filters.",
20487
+ "name": "toggleCategoryPropertyVisibility",
20488
+ "description": "Toggle category property visibility in storefront filters.",
20489
+ "args": [
20490
+ {
20491
+ "name": "id",
20492
+ "description": "Property ID.",
20493
+ "type": {
20494
+ "kind": "NON_NULL",
20495
+ "name": null,
20496
+ "ofType": {
20497
+ "kind": "SCALAR",
20498
+ "name": "ID",
20499
+ "ofType": null
20500
+ }
20501
+ },
20502
+ "defaultValue": null
20503
+ },
20504
+ {
20505
+ "name": "visible",
20506
+ "description": "New visibility status.",
20507
+ "type": {
20508
+ "kind": "NON_NULL",
20509
+ "name": null,
20510
+ "ofType": {
20511
+ "kind": "SCALAR",
20512
+ "name": "Boolean",
20513
+ "ofType": null
20514
+ }
20515
+ },
20516
+ "defaultValue": null
20517
+ }
20518
+ ],
20519
+ "type": {
20520
+ "kind": "NON_NULL",
20521
+ "name": null,
20522
+ "ofType": {
20523
+ "kind": "OBJECT",
20524
+ "name": "CategoryPropertyMutationResult",
20525
+ "ofType": null
20526
+ }
20527
+ },
20528
+ "isDeprecated": false,
20529
+ "deprecationReason": null
20530
+ },
20531
+ {
20532
+ "name": "toggleCategoryPropertyStatus",
20533
+ "description": "Toggle category property active status.",
20534
+ "args": [
20535
+ {
20536
+ "name": "id",
20537
+ "description": "Property ID.",
20538
+ "type": {
20539
+ "kind": "NON_NULL",
20540
+ "name": null,
20541
+ "ofType": {
20542
+ "kind": "SCALAR",
20543
+ "name": "ID",
20544
+ "ofType": null
20545
+ }
20546
+ },
20547
+ "defaultValue": null
20548
+ },
20549
+ {
20550
+ "name": "active",
20551
+ "description": "New active status.",
20552
+ "type": {
20553
+ "kind": "NON_NULL",
20554
+ "name": null,
20555
+ "ofType": {
20556
+ "kind": "SCALAR",
20557
+ "name": "Boolean",
20558
+ "ofType": null
20559
+ }
20560
+ },
20561
+ "defaultValue": null
20562
+ }
20563
+ ],
20564
+ "type": {
20565
+ "kind": "NON_NULL",
20566
+ "name": null,
20567
+ "ofType": {
20568
+ "kind": "OBJECT",
20569
+ "name": "CategoryPropertyMutationResult",
20570
+ "ofType": null
20571
+ }
20572
+ },
20573
+ "isDeprecated": false,
20574
+ "deprecationReason": null
20575
+ },
20576
+ {
20577
+ "name": "deleteCategoryPropertyImage",
20578
+ "description": "Delete the image from a category property.",
20579
+ "args": [
20580
+ {
20581
+ "name": "id",
20582
+ "description": "Property ID.",
20583
+ "type": {
20584
+ "kind": "NON_NULL",
20585
+ "name": null,
20586
+ "ofType": {
20587
+ "kind": "SCALAR",
20588
+ "name": "ID",
20589
+ "ofType": null
20590
+ }
20591
+ },
20592
+ "defaultValue": null
20593
+ }
20594
+ ],
20595
+ "type": {
20596
+ "kind": "NON_NULL",
20597
+ "name": null,
20598
+ "ofType": {
20599
+ "kind": "OBJECT",
20600
+ "name": "CategoryPropertyMutationResult",
20601
+ "ofType": null
20602
+ }
20603
+ },
20604
+ "isDeprecated": false,
20605
+ "deprecationReason": null
20606
+ },
20607
+ {
20608
+ "name": "sortCategoryProperties",
20609
+ "description": "Reorder category properties.",
19254
20610
  "args": [
19255
20611
  {
19256
- "name": "id",
19257
- "description": "Property ID.",
19258
- "type": {
19259
- "kind": "NON_NULL",
19260
- "name": null,
19261
- "ofType": {
19262
- "kind": "SCALAR",
19263
- "name": "ID",
19264
- "ofType": null
19265
- }
19266
- },
19267
- "defaultValue": null
19268
- },
19269
- {
19270
- "name": "visible",
19271
- "description": "New visibility status.",
20612
+ "name": "input",
20613
+ "description": "Sort input with ordered ID/sort pairs.",
19272
20614
  "type": {
19273
20615
  "kind": "NON_NULL",
19274
20616
  "name": null,
19275
20617
  "ofType": {
19276
- "kind": "SCALAR",
19277
- "name": "Boolean",
20618
+ "kind": "INPUT_OBJECT",
20619
+ "name": "CategoryPropertySortInput",
19278
20620
  "ofType": null
19279
20621
  }
19280
20622
  },
@@ -19294,26 +20636,34 @@
19294
20636
  "deprecationReason": null
19295
20637
  },
19296
20638
  {
19297
- "name": "toggleCategoryPropertyStatus",
19298
- "description": "Toggle category property active status.",
20639
+ "name": "categoryPropertiesBulkSetActive",
20640
+ "description": "Bulk-set the `active` flag on category properties. Mirrors the admin properties listing's Activate / Deactivate bulk actions.",
19299
20641
  "args": [
19300
20642
  {
19301
- "name": "id",
19302
- "description": "Property ID.",
20643
+ "name": "ids",
20644
+ "description": "Property IDs.",
19303
20645
  "type": {
19304
20646
  "kind": "NON_NULL",
19305
20647
  "name": null,
19306
20648
  "ofType": {
19307
- "kind": "SCALAR",
19308
- "name": "ID",
19309
- "ofType": null
20649
+ "kind": "LIST",
20650
+ "name": null,
20651
+ "ofType": {
20652
+ "kind": "NON_NULL",
20653
+ "name": null,
20654
+ "ofType": {
20655
+ "kind": "SCALAR",
20656
+ "name": "ID",
20657
+ "ofType": null
20658
+ }
20659
+ }
19310
20660
  }
19311
20661
  },
19312
20662
  "defaultValue": null
19313
20663
  },
19314
20664
  {
19315
20665
  "name": "active",
19316
- "description": "New active status.",
20666
+ "description": "Target value: true=active, false=inactive.",
19317
20667
  "type": {
19318
20668
  "kind": "NON_NULL",
19319
20669
  "name": null,
@@ -19331,7 +20681,7 @@
19331
20681
  "name": null,
19332
20682
  "ofType": {
19333
20683
  "kind": "OBJECT",
19334
- "name": "CategoryPropertyMutationResult",
20684
+ "name": "BulkOperationResult",
19335
20685
  "ofType": null
19336
20686
  }
19337
20687
  },
@@ -19339,49 +20689,40 @@
19339
20689
  "deprecationReason": null
19340
20690
  },
19341
20691
  {
19342
- "name": "deleteCategoryPropertyImage",
19343
- "description": "Delete the image from a category property.",
20692
+ "name": "categoryPropertiesBulkSetVisible",
20693
+ "description": "Bulk-set the `is_visible` flag on category properties. Controls whether each property is exposed as a storefront filter.",
19344
20694
  "args": [
19345
20695
  {
19346
- "name": "id",
19347
- "description": "Property ID.",
20696
+ "name": "ids",
20697
+ "description": "Property IDs.",
19348
20698
  "type": {
19349
20699
  "kind": "NON_NULL",
19350
20700
  "name": null,
19351
20701
  "ofType": {
19352
- "kind": "SCALAR",
19353
- "name": "ID",
19354
- "ofType": null
20702
+ "kind": "LIST",
20703
+ "name": null,
20704
+ "ofType": {
20705
+ "kind": "NON_NULL",
20706
+ "name": null,
20707
+ "ofType": {
20708
+ "kind": "SCALAR",
20709
+ "name": "ID",
20710
+ "ofType": null
20711
+ }
20712
+ }
19355
20713
  }
19356
20714
  },
19357
20715
  "defaultValue": null
19358
- }
19359
- ],
19360
- "type": {
19361
- "kind": "NON_NULL",
19362
- "name": null,
19363
- "ofType": {
19364
- "kind": "OBJECT",
19365
- "name": "CategoryPropertyMutationResult",
19366
- "ofType": null
19367
- }
19368
- },
19369
- "isDeprecated": false,
19370
- "deprecationReason": null
19371
- },
19372
- {
19373
- "name": "sortCategoryProperties",
19374
- "description": "Reorder category properties.",
19375
- "args": [
20716
+ },
19376
20717
  {
19377
- "name": "input",
19378
- "description": "Sort input with ordered ID/sort pairs.",
20718
+ "name": "visible",
20719
+ "description": "Target value: true=usable as filter, false=hidden from filters.",
19379
20720
  "type": {
19380
20721
  "kind": "NON_NULL",
19381
20722
  "name": null,
19382
20723
  "ofType": {
19383
- "kind": "INPUT_OBJECT",
19384
- "name": "CategoryPropertySortInput",
20724
+ "kind": "SCALAR",
20725
+ "name": "Boolean",
19385
20726
  "ofType": null
19386
20727
  }
19387
20728
  },
@@ -19393,7 +20734,7 @@
19393
20734
  "name": null,
19394
20735
  "ofType": {
19395
20736
  "kind": "OBJECT",
19396
- "name": "CategoryPropertyMutationResult",
20737
+ "name": "BulkOperationResult",
19397
20738
  "ofType": null
19398
20739
  }
19399
20740
  },
@@ -19401,40 +20742,12 @@
19401
20742
  "deprecationReason": null
19402
20743
  },
19403
20744
  {
19404
- "name": "massCategoryPropertyAction",
19405
- "description": "Perform a mass action on category properties (delete, active, visible).",
20745
+ "name": "categoryPropertiesBulkDelete",
20746
+ "description": "Bulk-delete category properties. Refuses with `dependency_blocked` when any of the supplied properties is still attached to products — detach the property from those products first.",
19406
20747
  "args": [
19407
- {
19408
- "name": "type",
19409
- "description": "Action type: delete, active, or visible.",
19410
- "type": {
19411
- "kind": "NON_NULL",
19412
- "name": null,
19413
- "ofType": {
19414
- "kind": "SCALAR",
19415
- "name": "String",
19416
- "ofType": null
19417
- }
19418
- },
19419
- "defaultValue": null
19420
- },
19421
- {
19422
- "name": "value",
19423
- "description": "Target value for active/visible actions.",
19424
- "type": {
19425
- "kind": "NON_NULL",
19426
- "name": null,
19427
- "ofType": {
19428
- "kind": "SCALAR",
19429
- "name": "String",
19430
- "ofType": null
19431
- }
19432
- },
19433
- "defaultValue": null
19434
- },
19435
20748
  {
19436
20749
  "name": "ids",
19437
- "description": "Property IDs to act on.",
20750
+ "description": "Property IDs.",
19438
20751
  "type": {
19439
20752
  "kind": "NON_NULL",
19440
20753
  "name": null,
@@ -19460,7 +20773,7 @@
19460
20773
  "name": null,
19461
20774
  "ofType": {
19462
20775
  "kind": "OBJECT",
19463
- "name": "CategoryPropertyMutationResult",
20776
+ "name": "BulkOperationResult",
19464
20777
  "ofType": null
19465
20778
  }
19466
20779
  },
@@ -19513,7 +20826,7 @@
19513
20826
  "deprecationReason": null
19514
20827
  },
19515
20828
  {
19516
- "name": "createCategoryPropertyOptionsBulk",
20829
+ "name": "categoryPropertyOptionsBulkCreate",
19517
20830
  "description": "Bulk create options for a category property.",
19518
20831
  "args": [
19519
20832
  {
@@ -19819,12 +21132,163 @@
19819
21132
  "deprecationReason": null
19820
21133
  },
19821
21134
  {
19822
- "name": "bulkDeleteCategoryPropertyOptions",
19823
- "description": "Bulk delete category property options.",
21135
+ "name": "categoryPropertyOptionsBulkDelete",
21136
+ "description": "Bulk delete category property options.",
21137
+ "args": [
21138
+ {
21139
+ "name": "propertyId",
21140
+ "description": "Parent property ID.",
21141
+ "type": {
21142
+ "kind": "NON_NULL",
21143
+ "name": null,
21144
+ "ofType": {
21145
+ "kind": "SCALAR",
21146
+ "name": "ID",
21147
+ "ofType": null
21148
+ }
21149
+ },
21150
+ "defaultValue": null
21151
+ },
21152
+ {
21153
+ "name": "ids",
21154
+ "description": "Option IDs to delete.",
21155
+ "type": {
21156
+ "kind": "NON_NULL",
21157
+ "name": null,
21158
+ "ofType": {
21159
+ "kind": "LIST",
21160
+ "name": null,
21161
+ "ofType": {
21162
+ "kind": "NON_NULL",
21163
+ "name": null,
21164
+ "ofType": {
21165
+ "kind": "SCALAR",
21166
+ "name": "ID",
21167
+ "ofType": null
21168
+ }
21169
+ }
21170
+ }
21171
+ },
21172
+ "defaultValue": null
21173
+ }
21174
+ ],
21175
+ "type": {
21176
+ "kind": "NON_NULL",
21177
+ "name": null,
21178
+ "ofType": {
21179
+ "kind": "OBJECT",
21180
+ "name": "CategoryPropertyMutationResult",
21181
+ "ofType": null
21182
+ }
21183
+ },
21184
+ "isDeprecated": false,
21185
+ "deprecationReason": null
21186
+ },
21187
+ {
21188
+ "name": "assignCategoryPropertyCategories",
21189
+ "description": "Assign categories to a category property.",
21190
+ "args": [
21191
+ {
21192
+ "name": "propertyId",
21193
+ "description": "Property ID.",
21194
+ "type": {
21195
+ "kind": "NON_NULL",
21196
+ "name": null,
21197
+ "ofType": {
21198
+ "kind": "SCALAR",
21199
+ "name": "ID",
21200
+ "ofType": null
21201
+ }
21202
+ },
21203
+ "defaultValue": null
21204
+ },
21205
+ {
21206
+ "name": "categories",
21207
+ "description": "Category IDs to assign.",
21208
+ "type": {
21209
+ "kind": "NON_NULL",
21210
+ "name": null,
21211
+ "ofType": {
21212
+ "kind": "LIST",
21213
+ "name": null,
21214
+ "ofType": {
21215
+ "kind": "NON_NULL",
21216
+ "name": null,
21217
+ "ofType": {
21218
+ "kind": "SCALAR",
21219
+ "name": "ID",
21220
+ "ofType": null
21221
+ }
21222
+ }
21223
+ }
21224
+ },
21225
+ "defaultValue": null
21226
+ }
21227
+ ],
21228
+ "type": {
21229
+ "kind": "NON_NULL",
21230
+ "name": null,
21231
+ "ofType": {
21232
+ "kind": "OBJECT",
21233
+ "name": "CategoryPropertyMutationResult",
21234
+ "ofType": null
21235
+ }
21236
+ },
21237
+ "isDeprecated": false,
21238
+ "deprecationReason": null
21239
+ },
21240
+ {
21241
+ "name": "removeCategoryPropertyCategory",
21242
+ "description": "Remove a category from a category property.",
21243
+ "args": [
21244
+ {
21245
+ "name": "propertyId",
21246
+ "description": "Property ID.",
21247
+ "type": {
21248
+ "kind": "NON_NULL",
21249
+ "name": null,
21250
+ "ofType": {
21251
+ "kind": "SCALAR",
21252
+ "name": "ID",
21253
+ "ofType": null
21254
+ }
21255
+ },
21256
+ "defaultValue": null
21257
+ },
21258
+ {
21259
+ "name": "categoryId",
21260
+ "description": "Category ID to remove.",
21261
+ "type": {
21262
+ "kind": "NON_NULL",
21263
+ "name": null,
21264
+ "ofType": {
21265
+ "kind": "SCALAR",
21266
+ "name": "ID",
21267
+ "ofType": null
21268
+ }
21269
+ },
21270
+ "defaultValue": null
21271
+ }
21272
+ ],
21273
+ "type": {
21274
+ "kind": "NON_NULL",
21275
+ "name": null,
21276
+ "ofType": {
21277
+ "kind": "OBJECT",
21278
+ "name": "CategoryPropertyMutationResult",
21279
+ "ofType": null
21280
+ }
21281
+ },
21282
+ "isDeprecated": false,
21283
+ "deprecationReason": null
21284
+ },
21285
+ {
21286
+ "name": "assignPropertyToProduct",
21287
+ "description": "Assign property options to a product.",
19824
21288
  "args": [
19825
21289
  {
19826
- "name": "propertyId",
19827
- "description": "Parent property ID.",
21290
+ "name": "productId",
21291
+ "description": "Product ID.",
19828
21292
  "type": {
19829
21293
  "kind": "NON_NULL",
19830
21294
  "name": null,
@@ -19837,8 +21301,8 @@
19837
21301
  "defaultValue": null
19838
21302
  },
19839
21303
  {
19840
- "name": "ids",
19841
- "description": "Option IDs to delete.",
21304
+ "name": "input",
21305
+ "description": "Property-option assignments.",
19842
21306
  "type": {
19843
21307
  "kind": "NON_NULL",
19844
21308
  "name": null,
@@ -19849,8 +21313,8 @@
19849
21313
  "kind": "NON_NULL",
19850
21314
  "name": null,
19851
21315
  "ofType": {
19852
- "kind": "SCALAR",
19853
- "name": "ID",
21316
+ "kind": "INPUT_OBJECT",
21317
+ "name": "AssignPropertyToProductInput",
19854
21318
  "ofType": null
19855
21319
  }
19856
21320
  }
@@ -19872,26 +21336,12 @@
19872
21336
  "deprecationReason": null
19873
21337
  },
19874
21338
  {
19875
- "name": "assignCategoryPropertyCategories",
19876
- "description": "Assign categories to a category property.",
21339
+ "name": "productsBulkAssignProperties",
21340
+ "description": "Bulk-assign category property options to N products. Each `(property_id, option_ids)` pair in `input` is applied to every product in `productIds` independently. Existing values for properties NOT in input are PRESERVED — pass `option_ids: []` to clear a specific property from those products. Fires `ProductUpdated` + `ProductsSearchEnginesSync` per product.",
19877
21341
  "args": [
19878
21342
  {
19879
- "name": "propertyId",
19880
- "description": "Property ID.",
19881
- "type": {
19882
- "kind": "NON_NULL",
19883
- "name": null,
19884
- "ofType": {
19885
- "kind": "SCALAR",
19886
- "name": "ID",
19887
- "ofType": null
19888
- }
19889
- },
19890
- "defaultValue": null
19891
- },
19892
- {
19893
- "name": "categories",
19894
- "description": "Category IDs to assign.",
21343
+ "name": "productIds",
21344
+ "description": "Product IDs (max 250).",
19895
21345
  "type": {
19896
21346
  "kind": "NON_NULL",
19897
21347
  "name": null,
@@ -19910,86 +21360,10 @@
19910
21360
  }
19911
21361
  },
19912
21362
  "defaultValue": null
19913
- }
19914
- ],
19915
- "type": {
19916
- "kind": "NON_NULL",
19917
- "name": null,
19918
- "ofType": {
19919
- "kind": "OBJECT",
19920
- "name": "CategoryPropertyMutationResult",
19921
- "ofType": null
19922
- }
19923
- },
19924
- "isDeprecated": false,
19925
- "deprecationReason": null
19926
- },
19927
- {
19928
- "name": "removeCategoryPropertyCategory",
19929
- "description": "Remove a category from a category property.",
19930
- "args": [
19931
- {
19932
- "name": "propertyId",
19933
- "description": "Property ID.",
19934
- "type": {
19935
- "kind": "NON_NULL",
19936
- "name": null,
19937
- "ofType": {
19938
- "kind": "SCALAR",
19939
- "name": "ID",
19940
- "ofType": null
19941
- }
19942
- },
19943
- "defaultValue": null
19944
- },
19945
- {
19946
- "name": "categoryId",
19947
- "description": "Category ID to remove.",
19948
- "type": {
19949
- "kind": "NON_NULL",
19950
- "name": null,
19951
- "ofType": {
19952
- "kind": "SCALAR",
19953
- "name": "ID",
19954
- "ofType": null
19955
- }
19956
- },
19957
- "defaultValue": null
19958
- }
19959
- ],
19960
- "type": {
19961
- "kind": "NON_NULL",
19962
- "name": null,
19963
- "ofType": {
19964
- "kind": "OBJECT",
19965
- "name": "CategoryPropertyMutationResult",
19966
- "ofType": null
19967
- }
19968
- },
19969
- "isDeprecated": false,
19970
- "deprecationReason": null
19971
- },
19972
- {
19973
- "name": "assignPropertyToProduct",
19974
- "description": "Assign property options to a product.",
19975
- "args": [
19976
- {
19977
- "name": "productId",
19978
- "description": "Product ID.",
19979
- "type": {
19980
- "kind": "NON_NULL",
19981
- "name": null,
19982
- "ofType": {
19983
- "kind": "SCALAR",
19984
- "name": "ID",
19985
- "ofType": null
19986
- }
19987
- },
19988
- "defaultValue": null
19989
21363
  },
19990
21364
  {
19991
21365
  "name": "input",
19992
- "description": "Property-option assignments.",
21366
+ "description": "Property/option assignments to apply to every product.",
19993
21367
  "type": {
19994
21368
  "kind": "NON_NULL",
19995
21369
  "name": null,
@@ -20015,7 +21389,7 @@
20015
21389
  "name": null,
20016
21390
  "ofType": {
20017
21391
  "kind": "OBJECT",
20018
- "name": "CategoryPropertyMutationResult",
21392
+ "name": "BulkProductsResult",
20019
21393
  "ofType": null
20020
21394
  }
20021
21395
  },
@@ -20438,7 +21812,7 @@
20438
21812
  "deprecationReason": null
20439
21813
  },
20440
21814
  {
20441
- "name": "massCustomerAction",
21815
+ "name": "customersBulkAction",
20442
21816
  "description": "Toggle marketing or active status for multiple customers at once.",
20443
21817
  "args": [
20444
21818
  {
@@ -21267,7 +22641,7 @@
21267
22641
  "deprecationReason": null
21268
22642
  },
21269
22643
  {
21270
- "name": "deleteDiscounts",
22644
+ "name": "discountsBulkDelete",
21271
22645
  "description": "Delete one or more discounts.",
21272
22646
  "args": [
21273
22647
  {
@@ -23078,7 +24452,7 @@
23078
24452
  "deprecationReason": null
23079
24453
  },
23080
24454
  {
23081
- "name": "deleteSegments",
24455
+ "name": "segmentsBulkDelete",
23082
24456
  "description": "Delete multiple segments (soft delete).",
23083
24457
  "args": [
23084
24458
  {
@@ -23148,7 +24522,7 @@
23148
24522
  "deprecationReason": null
23149
24523
  },
23150
24524
  {
23151
- "name": "deleteSubscribers",
24525
+ "name": "subscribersBulkDelete",
23152
24526
  "description": "Delete multiple subscribers.",
23153
24527
  "args": [
23154
24528
  {
@@ -23346,7 +24720,7 @@
23346
24720
  "deprecationReason": null
23347
24721
  },
23348
24722
  {
23349
- "name": "batchImportSubscribers",
24723
+ "name": "subscribersBulkImport",
23350
24724
  "description": "Batch import subscribers (async — queued for background processing).\nProvide either `subscribers` (structured JSON) or `csv` (CSV text) — not both.\nEach entry must have at least an email or phone.",
23351
24725
  "args": [
23352
24726
  {
@@ -28722,33 +30096,176 @@
28722
30096
  "deprecationReason": null
28723
30097
  },
28724
30098
  {
28725
- "name": "createBrandModel",
28726
- "description": "Create a new model under a brand.",
30099
+ "name": "createBrandModel",
30100
+ "description": "Create a new model under a brand.",
30101
+ "args": [
30102
+ {
30103
+ "name": "brandId",
30104
+ "description": "Brand ID.",
30105
+ "type": {
30106
+ "kind": "NON_NULL",
30107
+ "name": null,
30108
+ "ofType": {
30109
+ "kind": "SCALAR",
30110
+ "name": "ID",
30111
+ "ofType": null
30112
+ }
30113
+ },
30114
+ "defaultValue": null
30115
+ },
30116
+ {
30117
+ "name": "input",
30118
+ "description": "Model data.",
30119
+ "type": {
30120
+ "kind": "NON_NULL",
30121
+ "name": null,
30122
+ "ofType": {
30123
+ "kind": "INPUT_OBJECT",
30124
+ "name": "BrandModelInput",
30125
+ "ofType": null
30126
+ }
30127
+ },
30128
+ "defaultValue": null
30129
+ }
30130
+ ],
30131
+ "type": {
30132
+ "kind": "NON_NULL",
30133
+ "name": null,
30134
+ "ofType": {
30135
+ "kind": "OBJECT",
30136
+ "name": "AdminAppMutationResult",
30137
+ "ofType": null
30138
+ }
30139
+ },
30140
+ "isDeprecated": false,
30141
+ "deprecationReason": null
30142
+ },
30143
+ {
30144
+ "name": "updateBrandModel",
30145
+ "description": "Update an existing brand model.",
30146
+ "args": [
30147
+ {
30148
+ "name": "brandId",
30149
+ "description": "Brand ID.",
30150
+ "type": {
30151
+ "kind": "NON_NULL",
30152
+ "name": null,
30153
+ "ofType": {
30154
+ "kind": "SCALAR",
30155
+ "name": "ID",
30156
+ "ofType": null
30157
+ }
30158
+ },
30159
+ "defaultValue": null
30160
+ },
30161
+ {
30162
+ "name": "modelId",
30163
+ "description": "Model ID.",
30164
+ "type": {
30165
+ "kind": "NON_NULL",
30166
+ "name": null,
30167
+ "ofType": {
30168
+ "kind": "SCALAR",
30169
+ "name": "ID",
30170
+ "ofType": null
30171
+ }
30172
+ },
30173
+ "defaultValue": null
30174
+ },
30175
+ {
30176
+ "name": "input",
30177
+ "description": "Model data.",
30178
+ "type": {
30179
+ "kind": "NON_NULL",
30180
+ "name": null,
30181
+ "ofType": {
30182
+ "kind": "INPUT_OBJECT",
30183
+ "name": "BrandModelInput",
30184
+ "ofType": null
30185
+ }
30186
+ },
30187
+ "defaultValue": null
30188
+ }
30189
+ ],
30190
+ "type": {
30191
+ "kind": "NON_NULL",
30192
+ "name": null,
30193
+ "ofType": {
30194
+ "kind": "OBJECT",
30195
+ "name": "AdminAppMutationResult",
30196
+ "ofType": null
30197
+ }
30198
+ },
30199
+ "isDeprecated": false,
30200
+ "deprecationReason": null
30201
+ },
30202
+ {
30203
+ "name": "toggleBrandModelStatus",
30204
+ "description": "Toggle brand model active status.",
30205
+ "args": [
30206
+ {
30207
+ "name": "brandId",
30208
+ "description": "Brand ID.",
30209
+ "type": {
30210
+ "kind": "NON_NULL",
30211
+ "name": null,
30212
+ "ofType": {
30213
+ "kind": "SCALAR",
30214
+ "name": "ID",
30215
+ "ofType": null
30216
+ }
30217
+ },
30218
+ "defaultValue": null
30219
+ },
30220
+ {
30221
+ "name": "modelId",
30222
+ "description": "Model ID.",
30223
+ "type": {
30224
+ "kind": "NON_NULL",
30225
+ "name": null,
30226
+ "ofType": {
30227
+ "kind": "SCALAR",
30228
+ "name": "ID",
30229
+ "ofType": null
30230
+ }
30231
+ },
30232
+ "defaultValue": null
30233
+ }
30234
+ ],
30235
+ "type": {
30236
+ "kind": "NON_NULL",
30237
+ "name": null,
30238
+ "ofType": {
30239
+ "kind": "OBJECT",
30240
+ "name": "AdminAppMutationResult",
30241
+ "ofType": null
30242
+ }
30243
+ },
30244
+ "isDeprecated": false,
30245
+ "deprecationReason": null
30246
+ },
30247
+ {
30248
+ "name": "brandsBulkDelete",
30249
+ "description": "Bulk-delete brands. Mirrors the admin Brand & Model listing's Delete bulk action. Refuses with `dependency_blocked` when any of the supplied brands still has products attached.",
28727
30250
  "args": [
28728
30251
  {
28729
- "name": "brandId",
28730
- "description": "Brand ID.",
28731
- "type": {
28732
- "kind": "NON_NULL",
28733
- "name": null,
28734
- "ofType": {
28735
- "kind": "SCALAR",
28736
- "name": "ID",
28737
- "ofType": null
28738
- }
28739
- },
28740
- "defaultValue": null
28741
- },
28742
- {
28743
- "name": "input",
28744
- "description": "Model data.",
30252
+ "name": "ids",
30253
+ "description": "Brand IDs.",
28745
30254
  "type": {
28746
30255
  "kind": "NON_NULL",
28747
30256
  "name": null,
28748
30257
  "ofType": {
28749
- "kind": "INPUT_OBJECT",
28750
- "name": "BrandModelInput",
28751
- "ofType": null
30258
+ "kind": "LIST",
30259
+ "name": null,
30260
+ "ofType": {
30261
+ "kind": "NON_NULL",
30262
+ "name": null,
30263
+ "ofType": {
30264
+ "kind": "SCALAR",
30265
+ "name": "ID",
30266
+ "ofType": null
30267
+ }
30268
+ }
28752
30269
  }
28753
30270
  },
28754
30271
  "defaultValue": null
@@ -28759,7 +30276,7 @@
28759
30276
  "name": null,
28760
30277
  "ofType": {
28761
30278
  "kind": "OBJECT",
28762
- "name": "AdminAppMutationResult",
30279
+ "name": "BulkOperationResult",
28763
30280
  "ofType": null
28764
30281
  }
28765
30282
  },
@@ -28767,46 +30284,57 @@
28767
30284
  "deprecationReason": null
28768
30285
  },
28769
30286
  {
28770
- "name": "updateBrandModel",
28771
- "description": "Update an existing brand model.",
30287
+ "name": "brandModelsBulkDelete",
30288
+ "description": "Bulk-delete brand models. Mirrors the admin Brand & Model listing's Delete bulk action on the Models tab. Refuses with `dependency_blocked` when any of the supplied models still has products attached.",
28772
30289
  "args": [
28773
30290
  {
28774
- "name": "brandId",
28775
- "description": "Brand ID.",
28776
- "type": {
28777
- "kind": "NON_NULL",
28778
- "name": null,
28779
- "ofType": {
28780
- "kind": "SCALAR",
28781
- "name": "ID",
28782
- "ofType": null
28783
- }
28784
- },
28785
- "defaultValue": null
28786
- },
28787
- {
28788
- "name": "modelId",
28789
- "description": "Model ID.",
30291
+ "name": "ids",
30292
+ "description": "Brand model IDs.",
28790
30293
  "type": {
28791
30294
  "kind": "NON_NULL",
28792
30295
  "name": null,
28793
30296
  "ofType": {
28794
- "kind": "SCALAR",
28795
- "name": "ID",
28796
- "ofType": null
30297
+ "kind": "LIST",
30298
+ "name": null,
30299
+ "ofType": {
30300
+ "kind": "NON_NULL",
30301
+ "name": null,
30302
+ "ofType": {
30303
+ "kind": "SCALAR",
30304
+ "name": "ID",
30305
+ "ofType": null
30306
+ }
30307
+ }
28797
30308
  }
28798
30309
  },
28799
30310
  "defaultValue": null
28800
- },
30311
+ }
30312
+ ],
30313
+ "type": {
30314
+ "kind": "NON_NULL",
30315
+ "name": null,
30316
+ "ofType": {
30317
+ "kind": "OBJECT",
30318
+ "name": "BulkOperationResult",
30319
+ "ofType": null
30320
+ }
30321
+ },
30322
+ "isDeprecated": false,
30323
+ "deprecationReason": null
30324
+ },
30325
+ {
30326
+ "name": "createBundle",
30327
+ "description": "Create a new bundle product.",
30328
+ "args": [
28801
30329
  {
28802
30330
  "name": "input",
28803
- "description": "Model data.",
30331
+ "description": "Bundle product data.",
28804
30332
  "type": {
28805
30333
  "kind": "NON_NULL",
28806
30334
  "name": null,
28807
30335
  "ofType": {
28808
- "kind": "INPUT_OBJECT",
28809
- "name": "BrandModelInput",
30336
+ "kind": "SCALAR",
30337
+ "name": "JSON",
28810
30338
  "ofType": null
28811
30339
  }
28812
30340
  },
@@ -28826,12 +30354,12 @@
28826
30354
  "deprecationReason": null
28827
30355
  },
28828
30356
  {
28829
- "name": "toggleBrandModelStatus",
28830
- "description": "Toggle brand model active status.",
30357
+ "name": "updateBundle",
30358
+ "description": "Update an existing bundle product.",
28831
30359
  "args": [
28832
30360
  {
28833
- "name": "brandId",
28834
- "description": "Brand ID.",
30361
+ "name": "id",
30362
+ "description": "Bundle ID.",
28835
30363
  "type": {
28836
30364
  "kind": "NON_NULL",
28837
30365
  "name": null,
@@ -28844,14 +30372,14 @@
28844
30372
  "defaultValue": null
28845
30373
  },
28846
30374
  {
28847
- "name": "modelId",
28848
- "description": "Model ID.",
30375
+ "name": "input",
30376
+ "description": "Bundle product data.",
28849
30377
  "type": {
28850
30378
  "kind": "NON_NULL",
28851
30379
  "name": null,
28852
30380
  "ofType": {
28853
30381
  "kind": "SCALAR",
28854
- "name": "ID",
30382
+ "name": "JSON",
28855
30383
  "ofType": null
28856
30384
  }
28857
30385
  },
@@ -28871,19 +30399,27 @@
28871
30399
  "deprecationReason": null
28872
30400
  },
28873
30401
  {
28874
- "name": "createBundle",
28875
- "description": "Create a new bundle product.",
30402
+ "name": "bundlesBulkDelete",
30403
+ "description": "Delete bundle products.",
28876
30404
  "args": [
28877
30405
  {
28878
- "name": "input",
28879
- "description": "Bundle product data.",
30406
+ "name": "ids",
30407
+ "description": "Bundle IDs.",
28880
30408
  "type": {
28881
30409
  "kind": "NON_NULL",
28882
30410
  "name": null,
28883
30411
  "ofType": {
28884
- "kind": "SCALAR",
28885
- "name": "JSON",
28886
- "ofType": null
30412
+ "kind": "LIST",
30413
+ "name": null,
30414
+ "ofType": {
30415
+ "kind": "NON_NULL",
30416
+ "name": null,
30417
+ "ofType": {
30418
+ "kind": "SCALAR",
30419
+ "name": "ID",
30420
+ "ofType": null
30421
+ }
30422
+ }
28887
30423
  }
28888
30424
  },
28889
30425
  "defaultValue": null
@@ -28902,8 +30438,8 @@
28902
30438
  "deprecationReason": null
28903
30439
  },
28904
30440
  {
28905
- "name": "updateBundle",
28906
- "description": "Update an existing bundle product.",
30441
+ "name": "toggleBundleStatus",
30442
+ "description": "Toggle bundle product status field.",
28907
30443
  "args": [
28908
30444
  {
28909
30445
  "name": "id",
@@ -28920,14 +30456,28 @@
28920
30456
  "defaultValue": null
28921
30457
  },
28922
30458
  {
28923
- "name": "input",
28924
- "description": "Bundle product data.",
30459
+ "name": "field",
30460
+ "description": "Status field to toggle.",
30461
+ "type": {
30462
+ "kind": "NON_NULL",
30463
+ "name": null,
30464
+ "ofType": {
30465
+ "kind": "ENUM",
30466
+ "name": "BundleStatusField",
30467
+ "ofType": null
30468
+ }
30469
+ },
30470
+ "defaultValue": null
30471
+ },
30472
+ {
30473
+ "name": "value",
30474
+ "description": "New value.",
28925
30475
  "type": {
28926
30476
  "kind": "NON_NULL",
28927
30477
  "name": null,
28928
30478
  "ofType": {
28929
30479
  "kind": "SCALAR",
28930
- "name": "JSON",
30480
+ "name": "Boolean",
28931
30481
  "ofType": null
28932
30482
  }
28933
30483
  },
@@ -28947,12 +30497,12 @@
28947
30497
  "deprecationReason": null
28948
30498
  },
28949
30499
  {
28950
- "name": "deleteBundles",
28951
- "description": "Delete bundle products.",
30500
+ "name": "bundlesBulkSetStatus",
30501
+ "description": "Bulk-toggle a status field on N bundle products. Mirrors the admin Bundles listing's bulk Activate / Deactivate / Hide / Feature / Mark-new actions.",
28952
30502
  "args": [
28953
30503
  {
28954
30504
  "name": "ids",
28955
- "description": "Bundle IDs.",
30505
+ "description": "Bundle product IDs.",
28956
30506
  "type": {
28957
30507
  "kind": "NON_NULL",
28958
30508
  "name": null,
@@ -28971,37 +30521,6 @@
28971
30521
  }
28972
30522
  },
28973
30523
  "defaultValue": null
28974
- }
28975
- ],
28976
- "type": {
28977
- "kind": "NON_NULL",
28978
- "name": null,
28979
- "ofType": {
28980
- "kind": "OBJECT",
28981
- "name": "AdminAppMutationResult",
28982
- "ofType": null
28983
- }
28984
- },
28985
- "isDeprecated": false,
28986
- "deprecationReason": null
28987
- },
28988
- {
28989
- "name": "toggleBundleStatus",
28990
- "description": "Toggle bundle product status field.",
28991
- "args": [
28992
- {
28993
- "name": "id",
28994
- "description": "Bundle ID.",
28995
- "type": {
28996
- "kind": "NON_NULL",
28997
- "name": null,
28998
- "ofType": {
28999
- "kind": "SCALAR",
29000
- "name": "ID",
29001
- "ofType": null
29002
- }
29003
- },
29004
- "defaultValue": null
29005
30524
  },
29006
30525
  {
29007
30526
  "name": "field",
@@ -29019,7 +30538,7 @@
29019
30538
  },
29020
30539
  {
29021
30540
  "name": "value",
29022
- "description": "New value.",
30541
+ "description": "Target value.",
29023
30542
  "type": {
29024
30543
  "kind": "NON_NULL",
29025
30544
  "name": null,
@@ -29037,7 +30556,7 @@
29037
30556
  "name": null,
29038
30557
  "ofType": {
29039
30558
  "kind": "OBJECT",
29040
- "name": "AdminAppMutationResult",
30559
+ "name": "BulkOperationResult",
29041
30560
  "ofType": null
29042
30561
  }
29043
30562
  },
@@ -29179,7 +30698,7 @@
29179
30698
  "deprecationReason": null
29180
30699
  },
29181
30700
  {
29182
- "name": "deleteUnits",
30701
+ "name": "unitsBulkDelete",
29183
30702
  "description": "Bulk delete measurement units.",
29184
30703
  "args": [
29185
30704
  {
@@ -30095,7 +31614,7 @@
30095
31614
  "deprecationReason": null
30096
31615
  },
30097
31616
  {
30098
- "name": "multylangBulkCopyProducts",
31617
+ "name": "multylangProductsBulkCopy",
30099
31618
  "description": "Bulk copy products to multi-language sites.",
30100
31619
  "args": [
30101
31620
  {
@@ -30134,7 +31653,7 @@
30134
31653
  "deprecationReason": null
30135
31654
  },
30136
31655
  {
30137
- "name": "multylangBulkDeleteProducts",
31656
+ "name": "multylangProductsBulkDelete",
30138
31657
  "description": "Bulk delete products from multi-language sites.",
30139
31658
  "args": [
30140
31659
  {
@@ -32145,7 +33664,7 @@
32145
33664
  "deprecationReason": null
32146
33665
  },
32147
33666
  {
32148
- "name": "bulkDeleteSeoSpinnerTempItems",
33667
+ "name": "seoSpinnerTempItemsBulkDelete",
32149
33668
  "description": "Bulk delete SEO Spinner temp items.",
32150
33669
  "args": [
32151
33670
  {
@@ -34988,7 +36507,7 @@
34988
36507
  "deprecationReason": null
34989
36508
  },
34990
36509
  {
34991
- "name": "xmlFeedBulkDeleteMappings",
36510
+ "name": "xmlFeedMappingsBulkDelete",
34992
36511
  "description": "Bulk delete category mappings.",
34993
36512
  "args": [
34994
36513
  {
@@ -35450,7 +36969,7 @@
35450
36969
  "deprecationReason": null
35451
36970
  },
35452
36971
  {
35453
- "name": "deleteStoreProducts",
36972
+ "name": "storeProductsBulkDelete",
35454
36973
  "description": "Bulk remove products from a store.",
35455
36974
  "args": [
35456
36975
  {
@@ -36015,7 +37534,7 @@
36015
37534
  "deprecationReason": null
36016
37535
  },
36017
37536
  {
36018
- "name": "bulkPrintShippingWaybills",
37537
+ "name": "shippingWaybillsBulkPrint",
36019
37538
  "description": "Bulk print waybills for multiple orders.",
36020
37539
  "args": [
36021
37540
  {
@@ -37038,6 +38557,85 @@
37038
38557
  "enumValues": null,
37039
38558
  "possibleTypes": null
37040
38559
  },
38560
+ {
38561
+ "kind": "OBJECT",
38562
+ "name": "BulkOperationResult",
38563
+ "description": "Generic result for bulk delete / update operations on simple entities (categories, vendors, brands, brand models, category properties, …). Resource-specific bulk operations may return a richer type instead.",
38564
+ "fields": [
38565
+ {
38566
+ "name": "success",
38567
+ "description": "True when the operation finished without throwing. False is reserved for partial soft-failures — a hard rejection (no items deleted, dependency block, etc.) is signalled via an `agentHint` error rather than `success: false`.",
38568
+ "args": [],
38569
+ "type": {
38570
+ "kind": "NON_NULL",
38571
+ "name": null,
38572
+ "ofType": {
38573
+ "kind": "SCALAR",
38574
+ "name": "Boolean",
38575
+ "ofType": null
38576
+ }
38577
+ },
38578
+ "isDeprecated": false,
38579
+ "deprecationReason": null
38580
+ },
38581
+ {
38582
+ "name": "affectedCount",
38583
+ "description": "Number of records actually written / deleted.",
38584
+ "args": [],
38585
+ "type": {
38586
+ "kind": "NON_NULL",
38587
+ "name": null,
38588
+ "ofType": {
38589
+ "kind": "SCALAR",
38590
+ "name": "Int",
38591
+ "ofType": null
38592
+ }
38593
+ },
38594
+ "isDeprecated": false,
38595
+ "deprecationReason": null
38596
+ },
38597
+ {
38598
+ "name": "skippedIds",
38599
+ "description": "IDs that were not applicable (didn't exist, already deleted, or didn't match the operation's filter).",
38600
+ "args": [],
38601
+ "type": {
38602
+ "kind": "NON_NULL",
38603
+ "name": null,
38604
+ "ofType": {
38605
+ "kind": "LIST",
38606
+ "name": null,
38607
+ "ofType": {
38608
+ "kind": "NON_NULL",
38609
+ "name": null,
38610
+ "ofType": {
38611
+ "kind": "SCALAR",
38612
+ "name": "ID",
38613
+ "ofType": null
38614
+ }
38615
+ }
38616
+ }
38617
+ },
38618
+ "isDeprecated": false,
38619
+ "deprecationReason": null
38620
+ },
38621
+ {
38622
+ "name": "message",
38623
+ "description": "Optional human-readable summary.",
38624
+ "args": [],
38625
+ "type": {
38626
+ "kind": "SCALAR",
38627
+ "name": "String",
38628
+ "ofType": null
38629
+ },
38630
+ "isDeprecated": false,
38631
+ "deprecationReason": null
38632
+ }
38633
+ ],
38634
+ "inputFields": null,
38635
+ "interfaces": [],
38636
+ "enumValues": null,
38637
+ "possibleTypes": null
38638
+ },
37041
38639
  {
37042
38640
  "kind": "ENUM",
37043
38641
  "name": "YesNo",
@@ -44944,6 +46542,30 @@
44944
46542
  },
44945
46543
  "isDeprecated": false,
44946
46544
  "deprecationReason": null
46545
+ },
46546
+ {
46547
+ "name": "taxonomyId",
46548
+ "description": "Google taxonomy id mapped to this category (if any). Used by feed exports (Merchant Center etc.).",
46549
+ "args": [],
46550
+ "type": {
46551
+ "kind": "SCALAR",
46552
+ "name": "ID",
46553
+ "ofType": null
46554
+ },
46555
+ "isDeprecated": false,
46556
+ "deprecationReason": null
46557
+ },
46558
+ {
46559
+ "name": "googleTaxonomy",
46560
+ "description": "Resolved Google product category mapped to this category. Null when `taxonomyId` is not set or points to a stale id.",
46561
+ "args": [],
46562
+ "type": {
46563
+ "kind": "OBJECT",
46564
+ "name": "GoogleProductCategory",
46565
+ "ofType": null
46566
+ },
46567
+ "isDeprecated": false,
46568
+ "deprecationReason": null
44947
46569
  }
44948
46570
  ],
44949
46571
  "inputFields": null,
@@ -46426,6 +48048,30 @@
46426
48048
  "isDeprecated": false,
46427
48049
  "deprecationReason": null
46428
48050
  },
48051
+ {
48052
+ "name": "brandModels",
48053
+ "description": "Brand-models attached to this product (many-to-many through the BrandModel app's pivot table). Empty when the BrandModel app is not installed or no models are attached. Use `productsBulkSetBrandModels` to attach / detach.",
48054
+ "args": [],
48055
+ "type": {
48056
+ "kind": "NON_NULL",
48057
+ "name": null,
48058
+ "ofType": {
48059
+ "kind": "LIST",
48060
+ "name": null,
48061
+ "ofType": {
48062
+ "kind": "NON_NULL",
48063
+ "name": null,
48064
+ "ofType": {
48065
+ "kind": "OBJECT",
48066
+ "name": "BrandModelItem",
48067
+ "ofType": null
48068
+ }
48069
+ }
48070
+ }
48071
+ },
48072
+ "isDeprecated": false,
48073
+ "deprecationReason": null
48074
+ },
46429
48075
  {
46430
48076
  "name": "tags",
46431
48077
  "description": "Product tags.",
@@ -47465,6 +49111,267 @@
47465
49111
  "enumValues": null,
47466
49112
  "possibleTypes": null
47467
49113
  },
49114
+ {
49115
+ "kind": "OBJECT",
49116
+ "name": "BulkDeleteProductsResult",
49117
+ "description": "Result of a bulk product delete. The operation is fire-and-forget: products are immediately marked inactive + soft-deleted (so the storefront stops serving them and they disappear from search/ES), and a `BatchProductDelete` job is queued on the `system3` worker for hard removal of rows + media files. Returns once the job is queued.",
49118
+ "fields": [
49119
+ {
49120
+ "name": "success",
49121
+ "description": "True when the job was successfully queued.",
49122
+ "args": [],
49123
+ "type": {
49124
+ "kind": "NON_NULL",
49125
+ "name": null,
49126
+ "ofType": {
49127
+ "kind": "SCALAR",
49128
+ "name": "Boolean",
49129
+ "ofType": null
49130
+ }
49131
+ },
49132
+ "isDeprecated": false,
49133
+ "deprecationReason": null
49134
+ },
49135
+ {
49136
+ "name": "queuedCount",
49137
+ "description": "Number of product IDs accepted for deletion (existed and were queued).",
49138
+ "args": [],
49139
+ "type": {
49140
+ "kind": "NON_NULL",
49141
+ "name": null,
49142
+ "ofType": {
49143
+ "kind": "SCALAR",
49144
+ "name": "Int",
49145
+ "ofType": null
49146
+ }
49147
+ },
49148
+ "isDeprecated": false,
49149
+ "deprecationReason": null
49150
+ },
49151
+ {
49152
+ "name": "skippedIds",
49153
+ "description": "IDs that were skipped — either not found or already soft-deleted. Empty when every input id was valid.",
49154
+ "args": [],
49155
+ "type": {
49156
+ "kind": "NON_NULL",
49157
+ "name": null,
49158
+ "ofType": {
49159
+ "kind": "LIST",
49160
+ "name": null,
49161
+ "ofType": {
49162
+ "kind": "NON_NULL",
49163
+ "name": null,
49164
+ "ofType": {
49165
+ "kind": "SCALAR",
49166
+ "name": "ID",
49167
+ "ofType": null
49168
+ }
49169
+ }
49170
+ }
49171
+ },
49172
+ "isDeprecated": false,
49173
+ "deprecationReason": null
49174
+ },
49175
+ {
49176
+ "name": "message",
49177
+ "description": "Optional human-readable summary.",
49178
+ "args": [],
49179
+ "type": {
49180
+ "kind": "SCALAR",
49181
+ "name": "String",
49182
+ "ofType": null
49183
+ },
49184
+ "isDeprecated": false,
49185
+ "deprecationReason": null
49186
+ }
49187
+ ],
49188
+ "inputFields": null,
49189
+ "interfaces": [],
49190
+ "enumValues": null,
49191
+ "possibleTypes": null
49192
+ },
49193
+ {
49194
+ "kind": "OBJECT",
49195
+ "name": "BulkProductsResult",
49196
+ "description": "Generic result for the `productsBulk*` family of mutations (set-active, set-hidden, set-new, set-featured, set-tags, set-category, set-vendor, set-sort-order, set-stock-status, tracking).",
49197
+ "fields": [
49198
+ {
49199
+ "name": "success",
49200
+ "description": "True when the operation finished without throwing.",
49201
+ "args": [],
49202
+ "type": {
49203
+ "kind": "NON_NULL",
49204
+ "name": null,
49205
+ "ofType": {
49206
+ "kind": "SCALAR",
49207
+ "name": "Boolean",
49208
+ "ofType": null
49209
+ }
49210
+ },
49211
+ "isDeprecated": false,
49212
+ "deprecationReason": null
49213
+ },
49214
+ {
49215
+ "name": "affectedCount",
49216
+ "description": "Number of products that were actually updated.",
49217
+ "args": [],
49218
+ "type": {
49219
+ "kind": "NON_NULL",
49220
+ "name": null,
49221
+ "ofType": {
49222
+ "kind": "SCALAR",
49223
+ "name": "Int",
49224
+ "ofType": null
49225
+ }
49226
+ },
49227
+ "isDeprecated": false,
49228
+ "deprecationReason": null
49229
+ },
49230
+ {
49231
+ "name": "skippedIds",
49232
+ "description": "IDs that were skipped because they don't exist (or, for `productsBulkSetOutOfStockStatus`, because the product is not tracking quantity). Empty when every input id was applicable.",
49233
+ "args": [],
49234
+ "type": {
49235
+ "kind": "NON_NULL",
49236
+ "name": null,
49237
+ "ofType": {
49238
+ "kind": "LIST",
49239
+ "name": null,
49240
+ "ofType": {
49241
+ "kind": "NON_NULL",
49242
+ "name": null,
49243
+ "ofType": {
49244
+ "kind": "SCALAR",
49245
+ "name": "ID",
49246
+ "ofType": null
49247
+ }
49248
+ }
49249
+ }
49250
+ },
49251
+ "isDeprecated": false,
49252
+ "deprecationReason": null
49253
+ },
49254
+ {
49255
+ "name": "message",
49256
+ "description": "Optional human-readable summary.",
49257
+ "args": [],
49258
+ "type": {
49259
+ "kind": "SCALAR",
49260
+ "name": "String",
49261
+ "ofType": null
49262
+ },
49263
+ "isDeprecated": false,
49264
+ "deprecationReason": null
49265
+ }
49266
+ ],
49267
+ "inputFields": null,
49268
+ "interfaces": [],
49269
+ "enumValues": null,
49270
+ "possibleTypes": null
49271
+ },
49272
+ {
49273
+ "kind": "OBJECT",
49274
+ "name": "BulkDuplicateProductsResult",
49275
+ "description": "Result of `productsBulkDuplicate` — returns ids of the freshly duplicated products.",
49276
+ "fields": [
49277
+ {
49278
+ "name": "success",
49279
+ "description": "True when the operation finished without throwing.",
49280
+ "args": [],
49281
+ "type": {
49282
+ "kind": "NON_NULL",
49283
+ "name": null,
49284
+ "ofType": {
49285
+ "kind": "SCALAR",
49286
+ "name": "Boolean",
49287
+ "ofType": null
49288
+ }
49289
+ },
49290
+ "isDeprecated": false,
49291
+ "deprecationReason": null
49292
+ },
49293
+ {
49294
+ "name": "duplicatedCount",
49295
+ "description": "Number of duplicates created (= length of `duplicatedProducts`).",
49296
+ "args": [],
49297
+ "type": {
49298
+ "kind": "NON_NULL",
49299
+ "name": null,
49300
+ "ofType": {
49301
+ "kind": "SCALAR",
49302
+ "name": "Int",
49303
+ "ofType": null
49304
+ }
49305
+ },
49306
+ "isDeprecated": false,
49307
+ "deprecationReason": null
49308
+ },
49309
+ {
49310
+ "name": "skippedIds",
49311
+ "description": "Source ids that could not be duplicated (not found).",
49312
+ "args": [],
49313
+ "type": {
49314
+ "kind": "NON_NULL",
49315
+ "name": null,
49316
+ "ofType": {
49317
+ "kind": "LIST",
49318
+ "name": null,
49319
+ "ofType": {
49320
+ "kind": "NON_NULL",
49321
+ "name": null,
49322
+ "ofType": {
49323
+ "kind": "SCALAR",
49324
+ "name": "ID",
49325
+ "ofType": null
49326
+ }
49327
+ }
49328
+ }
49329
+ },
49330
+ "isDeprecated": false,
49331
+ "deprecationReason": null
49332
+ },
49333
+ {
49334
+ "name": "duplicatedProducts",
49335
+ "description": "The newly-created Product copies, in the same order as the input ids.",
49336
+ "args": [],
49337
+ "type": {
49338
+ "kind": "NON_NULL",
49339
+ "name": null,
49340
+ "ofType": {
49341
+ "kind": "LIST",
49342
+ "name": null,
49343
+ "ofType": {
49344
+ "kind": "NON_NULL",
49345
+ "name": null,
49346
+ "ofType": {
49347
+ "kind": "OBJECT",
49348
+ "name": "Product",
49349
+ "ofType": null
49350
+ }
49351
+ }
49352
+ }
49353
+ },
49354
+ "isDeprecated": false,
49355
+ "deprecationReason": null
49356
+ },
49357
+ {
49358
+ "name": "message",
49359
+ "description": "Optional human-readable summary.",
49360
+ "args": [],
49361
+ "type": {
49362
+ "kind": "SCALAR",
49363
+ "name": "String",
49364
+ "ofType": null
49365
+ },
49366
+ "isDeprecated": false,
49367
+ "deprecationReason": null
49368
+ }
49369
+ ],
49370
+ "inputFields": null,
49371
+ "interfaces": [],
49372
+ "enumValues": null,
49373
+ "possibleTypes": null
49374
+ },
47468
49375
  {
47469
49376
  "kind": "OBJECT",
47470
49377
  "name": "SmartCollection",
@@ -49025,6 +50932,160 @@
49025
50932
  "enumValues": null,
49026
50933
  "possibleTypes": null
49027
50934
  },
50935
+ {
50936
+ "kind": "OBJECT",
50937
+ "name": "MissingProductSubscriberConnection",
50938
+ "description": "Paginated list of subscribers waiting for a specific variant to come back in stock.",
50939
+ "fields": [
50940
+ {
50941
+ "name": "data",
50942
+ "description": "The Subscriber records, ordered by subscription date (oldest first).",
50943
+ "args": [],
50944
+ "type": {
50945
+ "kind": "NON_NULL",
50946
+ "name": null,
50947
+ "ofType": {
50948
+ "kind": "LIST",
50949
+ "name": null,
50950
+ "ofType": {
50951
+ "kind": "NON_NULL",
50952
+ "name": null,
50953
+ "ofType": {
50954
+ "kind": "OBJECT",
50955
+ "name": "Subscriber",
50956
+ "ofType": null
50957
+ }
50958
+ }
50959
+ }
50960
+ },
50961
+ "isDeprecated": false,
50962
+ "deprecationReason": null
50963
+ },
50964
+ {
50965
+ "name": "currentPage",
50966
+ "description": null,
50967
+ "args": [],
50968
+ "type": {
50969
+ "kind": "NON_NULL",
50970
+ "name": null,
50971
+ "ofType": {
50972
+ "kind": "SCALAR",
50973
+ "name": "Int",
50974
+ "ofType": null
50975
+ }
50976
+ },
50977
+ "isDeprecated": false,
50978
+ "deprecationReason": null
50979
+ },
50980
+ {
50981
+ "name": "lastPage",
50982
+ "description": null,
50983
+ "args": [],
50984
+ "type": {
50985
+ "kind": "NON_NULL",
50986
+ "name": null,
50987
+ "ofType": {
50988
+ "kind": "SCALAR",
50989
+ "name": "Int",
50990
+ "ofType": null
50991
+ }
50992
+ },
50993
+ "isDeprecated": false,
50994
+ "deprecationReason": null
50995
+ },
50996
+ {
50997
+ "name": "perPage",
50998
+ "description": null,
50999
+ "args": [],
51000
+ "type": {
51001
+ "kind": "NON_NULL",
51002
+ "name": null,
51003
+ "ofType": {
51004
+ "kind": "SCALAR",
51005
+ "name": "Int",
51006
+ "ofType": null
51007
+ }
51008
+ },
51009
+ "isDeprecated": false,
51010
+ "deprecationReason": null
51011
+ },
51012
+ {
51013
+ "name": "total",
51014
+ "description": null,
51015
+ "args": [],
51016
+ "type": {
51017
+ "kind": "NON_NULL",
51018
+ "name": null,
51019
+ "ofType": {
51020
+ "kind": "SCALAR",
51021
+ "name": "Int",
51022
+ "ofType": null
51023
+ }
51024
+ },
51025
+ "isDeprecated": false,
51026
+ "deprecationReason": null
51027
+ }
51028
+ ],
51029
+ "inputFields": null,
51030
+ "interfaces": [],
51031
+ "enumValues": null,
51032
+ "possibleTypes": null
51033
+ },
51034
+ {
51035
+ "kind": "OBJECT",
51036
+ "name": "GoogleProductCategory",
51037
+ "description": "A Google Product Category — leaf entry from Google's product taxonomy spec used by ad/feed systems (Merchant Center, Facebook Catalog, etc.). Stored in the shared `apps.google_product_category` table.",
51038
+ "fields": [
51039
+ {
51040
+ "name": "id",
51041
+ "description": "Google's numeric category id (the value Merchant Center expects).",
51042
+ "args": [],
51043
+ "type": {
51044
+ "kind": "NON_NULL",
51045
+ "name": null,
51046
+ "ofType": {
51047
+ "kind": "SCALAR",
51048
+ "name": "ID",
51049
+ "ofType": null
51050
+ }
51051
+ },
51052
+ "isDeprecated": false,
51053
+ "deprecationReason": null
51054
+ },
51055
+ {
51056
+ "name": "name",
51057
+ "description": "Full English breadcrumb name, e.g. `Apparel & Accessories > Clothing > Shirts & Tops`.",
51058
+ "args": [],
51059
+ "type": {
51060
+ "kind": "NON_NULL",
51061
+ "name": null,
51062
+ "ofType": {
51063
+ "kind": "SCALAR",
51064
+ "name": "String",
51065
+ "ofType": null
51066
+ }
51067
+ },
51068
+ "isDeprecated": false,
51069
+ "deprecationReason": null
51070
+ },
51071
+ {
51072
+ "name": "nameDe",
51073
+ "description": "Full German breadcrumb name (some feeds prefer localised names).",
51074
+ "args": [],
51075
+ "type": {
51076
+ "kind": "SCALAR",
51077
+ "name": "String",
51078
+ "ofType": null
51079
+ },
51080
+ "isDeprecated": false,
51081
+ "deprecationReason": null
51082
+ }
51083
+ ],
51084
+ "inputFields": null,
51085
+ "interfaces": [],
51086
+ "enumValues": null,
51087
+ "possibleTypes": null
51088
+ },
49028
51089
  {
49029
51090
  "kind": "ENUM",
49030
51091
  "name": "CategoryPropertyType",