@cloudcart/dev-mcp 0.2.5 → 0.2.6

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,7 +21132,7 @@
19819
21132
  "deprecationReason": null
19820
21133
  },
19821
21134
  {
19822
- "name": "bulkDeleteCategoryPropertyOptions",
21135
+ "name": "categoryPropertyOptionsBulkDelete",
19823
21136
  "description": "Bulk delete category property options.",
19824
21137
  "args": [
19825
21138
  {
@@ -20438,7 +21751,7 @@
20438
21751
  "deprecationReason": null
20439
21752
  },
20440
21753
  {
20441
- "name": "massCustomerAction",
21754
+ "name": "customersBulkAction",
20442
21755
  "description": "Toggle marketing or active status for multiple customers at once.",
20443
21756
  "args": [
20444
21757
  {
@@ -21267,7 +22580,7 @@
21267
22580
  "deprecationReason": null
21268
22581
  },
21269
22582
  {
21270
- "name": "deleteDiscounts",
22583
+ "name": "discountsBulkDelete",
21271
22584
  "description": "Delete one or more discounts.",
21272
22585
  "args": [
21273
22586
  {
@@ -23078,7 +24391,7 @@
23078
24391
  "deprecationReason": null
23079
24392
  },
23080
24393
  {
23081
- "name": "deleteSegments",
24394
+ "name": "segmentsBulkDelete",
23082
24395
  "description": "Delete multiple segments (soft delete).",
23083
24396
  "args": [
23084
24397
  {
@@ -23148,7 +24461,7 @@
23148
24461
  "deprecationReason": null
23149
24462
  },
23150
24463
  {
23151
- "name": "deleteSubscribers",
24464
+ "name": "subscribersBulkDelete",
23152
24465
  "description": "Delete multiple subscribers.",
23153
24466
  "args": [
23154
24467
  {
@@ -23346,7 +24659,7 @@
23346
24659
  "deprecationReason": null
23347
24660
  },
23348
24661
  {
23349
- "name": "batchImportSubscribers",
24662
+ "name": "subscribersBulkImport",
23350
24663
  "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
24664
  "args": [
23352
24665
  {
@@ -28722,33 +30035,176 @@
28722
30035
  "deprecationReason": null
28723
30036
  },
28724
30037
  {
28725
- "name": "createBrandModel",
28726
- "description": "Create a new model under a brand.",
30038
+ "name": "createBrandModel",
30039
+ "description": "Create a new model under a brand.",
30040
+ "args": [
30041
+ {
30042
+ "name": "brandId",
30043
+ "description": "Brand ID.",
30044
+ "type": {
30045
+ "kind": "NON_NULL",
30046
+ "name": null,
30047
+ "ofType": {
30048
+ "kind": "SCALAR",
30049
+ "name": "ID",
30050
+ "ofType": null
30051
+ }
30052
+ },
30053
+ "defaultValue": null
30054
+ },
30055
+ {
30056
+ "name": "input",
30057
+ "description": "Model data.",
30058
+ "type": {
30059
+ "kind": "NON_NULL",
30060
+ "name": null,
30061
+ "ofType": {
30062
+ "kind": "INPUT_OBJECT",
30063
+ "name": "BrandModelInput",
30064
+ "ofType": null
30065
+ }
30066
+ },
30067
+ "defaultValue": null
30068
+ }
30069
+ ],
30070
+ "type": {
30071
+ "kind": "NON_NULL",
30072
+ "name": null,
30073
+ "ofType": {
30074
+ "kind": "OBJECT",
30075
+ "name": "AdminAppMutationResult",
30076
+ "ofType": null
30077
+ }
30078
+ },
30079
+ "isDeprecated": false,
30080
+ "deprecationReason": null
30081
+ },
30082
+ {
30083
+ "name": "updateBrandModel",
30084
+ "description": "Update an existing brand model.",
30085
+ "args": [
30086
+ {
30087
+ "name": "brandId",
30088
+ "description": "Brand ID.",
30089
+ "type": {
30090
+ "kind": "NON_NULL",
30091
+ "name": null,
30092
+ "ofType": {
30093
+ "kind": "SCALAR",
30094
+ "name": "ID",
30095
+ "ofType": null
30096
+ }
30097
+ },
30098
+ "defaultValue": null
30099
+ },
30100
+ {
30101
+ "name": "modelId",
30102
+ "description": "Model ID.",
30103
+ "type": {
30104
+ "kind": "NON_NULL",
30105
+ "name": null,
30106
+ "ofType": {
30107
+ "kind": "SCALAR",
30108
+ "name": "ID",
30109
+ "ofType": null
30110
+ }
30111
+ },
30112
+ "defaultValue": null
30113
+ },
30114
+ {
30115
+ "name": "input",
30116
+ "description": "Model data.",
30117
+ "type": {
30118
+ "kind": "NON_NULL",
30119
+ "name": null,
30120
+ "ofType": {
30121
+ "kind": "INPUT_OBJECT",
30122
+ "name": "BrandModelInput",
30123
+ "ofType": null
30124
+ }
30125
+ },
30126
+ "defaultValue": null
30127
+ }
30128
+ ],
30129
+ "type": {
30130
+ "kind": "NON_NULL",
30131
+ "name": null,
30132
+ "ofType": {
30133
+ "kind": "OBJECT",
30134
+ "name": "AdminAppMutationResult",
30135
+ "ofType": null
30136
+ }
30137
+ },
30138
+ "isDeprecated": false,
30139
+ "deprecationReason": null
30140
+ },
30141
+ {
30142
+ "name": "toggleBrandModelStatus",
30143
+ "description": "Toggle brand model active status.",
30144
+ "args": [
30145
+ {
30146
+ "name": "brandId",
30147
+ "description": "Brand ID.",
30148
+ "type": {
30149
+ "kind": "NON_NULL",
30150
+ "name": null,
30151
+ "ofType": {
30152
+ "kind": "SCALAR",
30153
+ "name": "ID",
30154
+ "ofType": null
30155
+ }
30156
+ },
30157
+ "defaultValue": null
30158
+ },
30159
+ {
30160
+ "name": "modelId",
30161
+ "description": "Model ID.",
30162
+ "type": {
30163
+ "kind": "NON_NULL",
30164
+ "name": null,
30165
+ "ofType": {
30166
+ "kind": "SCALAR",
30167
+ "name": "ID",
30168
+ "ofType": null
30169
+ }
30170
+ },
30171
+ "defaultValue": null
30172
+ }
30173
+ ],
30174
+ "type": {
30175
+ "kind": "NON_NULL",
30176
+ "name": null,
30177
+ "ofType": {
30178
+ "kind": "OBJECT",
30179
+ "name": "AdminAppMutationResult",
30180
+ "ofType": null
30181
+ }
30182
+ },
30183
+ "isDeprecated": false,
30184
+ "deprecationReason": null
30185
+ },
30186
+ {
30187
+ "name": "brandsBulkDelete",
30188
+ "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
30189
  "args": [
28728
30190
  {
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.",
30191
+ "name": "ids",
30192
+ "description": "Brand IDs.",
28745
30193
  "type": {
28746
30194
  "kind": "NON_NULL",
28747
30195
  "name": null,
28748
30196
  "ofType": {
28749
- "kind": "INPUT_OBJECT",
28750
- "name": "BrandModelInput",
28751
- "ofType": null
30197
+ "kind": "LIST",
30198
+ "name": null,
30199
+ "ofType": {
30200
+ "kind": "NON_NULL",
30201
+ "name": null,
30202
+ "ofType": {
30203
+ "kind": "SCALAR",
30204
+ "name": "ID",
30205
+ "ofType": null
30206
+ }
30207
+ }
28752
30208
  }
28753
30209
  },
28754
30210
  "defaultValue": null
@@ -28759,7 +30215,7 @@
28759
30215
  "name": null,
28760
30216
  "ofType": {
28761
30217
  "kind": "OBJECT",
28762
- "name": "AdminAppMutationResult",
30218
+ "name": "BulkOperationResult",
28763
30219
  "ofType": null
28764
30220
  }
28765
30221
  },
@@ -28767,46 +30223,57 @@
28767
30223
  "deprecationReason": null
28768
30224
  },
28769
30225
  {
28770
- "name": "updateBrandModel",
28771
- "description": "Update an existing brand model.",
30226
+ "name": "brandModelsBulkDelete",
30227
+ "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
30228
  "args": [
28773
30229
  {
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.",
30230
+ "name": "ids",
30231
+ "description": "Brand model IDs.",
28790
30232
  "type": {
28791
30233
  "kind": "NON_NULL",
28792
30234
  "name": null,
28793
30235
  "ofType": {
28794
- "kind": "SCALAR",
28795
- "name": "ID",
28796
- "ofType": null
30236
+ "kind": "LIST",
30237
+ "name": null,
30238
+ "ofType": {
30239
+ "kind": "NON_NULL",
30240
+ "name": null,
30241
+ "ofType": {
30242
+ "kind": "SCALAR",
30243
+ "name": "ID",
30244
+ "ofType": null
30245
+ }
30246
+ }
28797
30247
  }
28798
30248
  },
28799
30249
  "defaultValue": null
28800
- },
30250
+ }
30251
+ ],
30252
+ "type": {
30253
+ "kind": "NON_NULL",
30254
+ "name": null,
30255
+ "ofType": {
30256
+ "kind": "OBJECT",
30257
+ "name": "BulkOperationResult",
30258
+ "ofType": null
30259
+ }
30260
+ },
30261
+ "isDeprecated": false,
30262
+ "deprecationReason": null
30263
+ },
30264
+ {
30265
+ "name": "createBundle",
30266
+ "description": "Create a new bundle product.",
30267
+ "args": [
28801
30268
  {
28802
30269
  "name": "input",
28803
- "description": "Model data.",
30270
+ "description": "Bundle product data.",
28804
30271
  "type": {
28805
30272
  "kind": "NON_NULL",
28806
30273
  "name": null,
28807
30274
  "ofType": {
28808
- "kind": "INPUT_OBJECT",
28809
- "name": "BrandModelInput",
30275
+ "kind": "SCALAR",
30276
+ "name": "JSON",
28810
30277
  "ofType": null
28811
30278
  }
28812
30279
  },
@@ -28826,12 +30293,12 @@
28826
30293
  "deprecationReason": null
28827
30294
  },
28828
30295
  {
28829
- "name": "toggleBrandModelStatus",
28830
- "description": "Toggle brand model active status.",
30296
+ "name": "updateBundle",
30297
+ "description": "Update an existing bundle product.",
28831
30298
  "args": [
28832
30299
  {
28833
- "name": "brandId",
28834
- "description": "Brand ID.",
30300
+ "name": "id",
30301
+ "description": "Bundle ID.",
28835
30302
  "type": {
28836
30303
  "kind": "NON_NULL",
28837
30304
  "name": null,
@@ -28844,14 +30311,14 @@
28844
30311
  "defaultValue": null
28845
30312
  },
28846
30313
  {
28847
- "name": "modelId",
28848
- "description": "Model ID.",
30314
+ "name": "input",
30315
+ "description": "Bundle product data.",
28849
30316
  "type": {
28850
30317
  "kind": "NON_NULL",
28851
30318
  "name": null,
28852
30319
  "ofType": {
28853
30320
  "kind": "SCALAR",
28854
- "name": "ID",
30321
+ "name": "JSON",
28855
30322
  "ofType": null
28856
30323
  }
28857
30324
  },
@@ -28871,19 +30338,27 @@
28871
30338
  "deprecationReason": null
28872
30339
  },
28873
30340
  {
28874
- "name": "createBundle",
28875
- "description": "Create a new bundle product.",
30341
+ "name": "bundlesBulkDelete",
30342
+ "description": "Delete bundle products.",
28876
30343
  "args": [
28877
30344
  {
28878
- "name": "input",
28879
- "description": "Bundle product data.",
30345
+ "name": "ids",
30346
+ "description": "Bundle IDs.",
28880
30347
  "type": {
28881
30348
  "kind": "NON_NULL",
28882
30349
  "name": null,
28883
30350
  "ofType": {
28884
- "kind": "SCALAR",
28885
- "name": "JSON",
28886
- "ofType": null
30351
+ "kind": "LIST",
30352
+ "name": null,
30353
+ "ofType": {
30354
+ "kind": "NON_NULL",
30355
+ "name": null,
30356
+ "ofType": {
30357
+ "kind": "SCALAR",
30358
+ "name": "ID",
30359
+ "ofType": null
30360
+ }
30361
+ }
28887
30362
  }
28888
30363
  },
28889
30364
  "defaultValue": null
@@ -28902,8 +30377,8 @@
28902
30377
  "deprecationReason": null
28903
30378
  },
28904
30379
  {
28905
- "name": "updateBundle",
28906
- "description": "Update an existing bundle product.",
30380
+ "name": "toggleBundleStatus",
30381
+ "description": "Toggle bundle product status field.",
28907
30382
  "args": [
28908
30383
  {
28909
30384
  "name": "id",
@@ -28920,14 +30395,28 @@
28920
30395
  "defaultValue": null
28921
30396
  },
28922
30397
  {
28923
- "name": "input",
28924
- "description": "Bundle product data.",
30398
+ "name": "field",
30399
+ "description": "Status field to toggle.",
30400
+ "type": {
30401
+ "kind": "NON_NULL",
30402
+ "name": null,
30403
+ "ofType": {
30404
+ "kind": "ENUM",
30405
+ "name": "BundleStatusField",
30406
+ "ofType": null
30407
+ }
30408
+ },
30409
+ "defaultValue": null
30410
+ },
30411
+ {
30412
+ "name": "value",
30413
+ "description": "New value.",
28925
30414
  "type": {
28926
30415
  "kind": "NON_NULL",
28927
30416
  "name": null,
28928
30417
  "ofType": {
28929
30418
  "kind": "SCALAR",
28930
- "name": "JSON",
30419
+ "name": "Boolean",
28931
30420
  "ofType": null
28932
30421
  }
28933
30422
  },
@@ -28947,12 +30436,12 @@
28947
30436
  "deprecationReason": null
28948
30437
  },
28949
30438
  {
28950
- "name": "deleteBundles",
28951
- "description": "Delete bundle products.",
30439
+ "name": "bundlesBulkSetStatus",
30440
+ "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
30441
  "args": [
28953
30442
  {
28954
30443
  "name": "ids",
28955
- "description": "Bundle IDs.",
30444
+ "description": "Bundle product IDs.",
28956
30445
  "type": {
28957
30446
  "kind": "NON_NULL",
28958
30447
  "name": null,
@@ -28971,37 +30460,6 @@
28971
30460
  }
28972
30461
  },
28973
30462
  "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
30463
  },
29006
30464
  {
29007
30465
  "name": "field",
@@ -29019,7 +30477,7 @@
29019
30477
  },
29020
30478
  {
29021
30479
  "name": "value",
29022
- "description": "New value.",
30480
+ "description": "Target value.",
29023
30481
  "type": {
29024
30482
  "kind": "NON_NULL",
29025
30483
  "name": null,
@@ -29037,7 +30495,7 @@
29037
30495
  "name": null,
29038
30496
  "ofType": {
29039
30497
  "kind": "OBJECT",
29040
- "name": "AdminAppMutationResult",
30498
+ "name": "BulkOperationResult",
29041
30499
  "ofType": null
29042
30500
  }
29043
30501
  },
@@ -29179,7 +30637,7 @@
29179
30637
  "deprecationReason": null
29180
30638
  },
29181
30639
  {
29182
- "name": "deleteUnits",
30640
+ "name": "unitsBulkDelete",
29183
30641
  "description": "Bulk delete measurement units.",
29184
30642
  "args": [
29185
30643
  {
@@ -30095,7 +31553,7 @@
30095
31553
  "deprecationReason": null
30096
31554
  },
30097
31555
  {
30098
- "name": "multylangBulkCopyProducts",
31556
+ "name": "multylangProductsBulkCopy",
30099
31557
  "description": "Bulk copy products to multi-language sites.",
30100
31558
  "args": [
30101
31559
  {
@@ -30134,7 +31592,7 @@
30134
31592
  "deprecationReason": null
30135
31593
  },
30136
31594
  {
30137
- "name": "multylangBulkDeleteProducts",
31595
+ "name": "multylangProductsBulkDelete",
30138
31596
  "description": "Bulk delete products from multi-language sites.",
30139
31597
  "args": [
30140
31598
  {
@@ -32145,7 +33603,7 @@
32145
33603
  "deprecationReason": null
32146
33604
  },
32147
33605
  {
32148
- "name": "bulkDeleteSeoSpinnerTempItems",
33606
+ "name": "seoSpinnerTempItemsBulkDelete",
32149
33607
  "description": "Bulk delete SEO Spinner temp items.",
32150
33608
  "args": [
32151
33609
  {
@@ -34988,7 +36446,7 @@
34988
36446
  "deprecationReason": null
34989
36447
  },
34990
36448
  {
34991
- "name": "xmlFeedBulkDeleteMappings",
36449
+ "name": "xmlFeedMappingsBulkDelete",
34992
36450
  "description": "Bulk delete category mappings.",
34993
36451
  "args": [
34994
36452
  {
@@ -35450,7 +36908,7 @@
35450
36908
  "deprecationReason": null
35451
36909
  },
35452
36910
  {
35453
- "name": "deleteStoreProducts",
36911
+ "name": "storeProductsBulkDelete",
35454
36912
  "description": "Bulk remove products from a store.",
35455
36913
  "args": [
35456
36914
  {
@@ -36015,7 +37473,7 @@
36015
37473
  "deprecationReason": null
36016
37474
  },
36017
37475
  {
36018
- "name": "bulkPrintShippingWaybills",
37476
+ "name": "shippingWaybillsBulkPrint",
36019
37477
  "description": "Bulk print waybills for multiple orders.",
36020
37478
  "args": [
36021
37479
  {
@@ -37038,6 +38496,85 @@
37038
38496
  "enumValues": null,
37039
38497
  "possibleTypes": null
37040
38498
  },
38499
+ {
38500
+ "kind": "OBJECT",
38501
+ "name": "BulkOperationResult",
38502
+ "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.",
38503
+ "fields": [
38504
+ {
38505
+ "name": "success",
38506
+ "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`.",
38507
+ "args": [],
38508
+ "type": {
38509
+ "kind": "NON_NULL",
38510
+ "name": null,
38511
+ "ofType": {
38512
+ "kind": "SCALAR",
38513
+ "name": "Boolean",
38514
+ "ofType": null
38515
+ }
38516
+ },
38517
+ "isDeprecated": false,
38518
+ "deprecationReason": null
38519
+ },
38520
+ {
38521
+ "name": "affectedCount",
38522
+ "description": "Number of records actually written / deleted.",
38523
+ "args": [],
38524
+ "type": {
38525
+ "kind": "NON_NULL",
38526
+ "name": null,
38527
+ "ofType": {
38528
+ "kind": "SCALAR",
38529
+ "name": "Int",
38530
+ "ofType": null
38531
+ }
38532
+ },
38533
+ "isDeprecated": false,
38534
+ "deprecationReason": null
38535
+ },
38536
+ {
38537
+ "name": "skippedIds",
38538
+ "description": "IDs that were not applicable (didn't exist, already deleted, or didn't match the operation's filter).",
38539
+ "args": [],
38540
+ "type": {
38541
+ "kind": "NON_NULL",
38542
+ "name": null,
38543
+ "ofType": {
38544
+ "kind": "LIST",
38545
+ "name": null,
38546
+ "ofType": {
38547
+ "kind": "NON_NULL",
38548
+ "name": null,
38549
+ "ofType": {
38550
+ "kind": "SCALAR",
38551
+ "name": "ID",
38552
+ "ofType": null
38553
+ }
38554
+ }
38555
+ }
38556
+ },
38557
+ "isDeprecated": false,
38558
+ "deprecationReason": null
38559
+ },
38560
+ {
38561
+ "name": "message",
38562
+ "description": "Optional human-readable summary.",
38563
+ "args": [],
38564
+ "type": {
38565
+ "kind": "SCALAR",
38566
+ "name": "String",
38567
+ "ofType": null
38568
+ },
38569
+ "isDeprecated": false,
38570
+ "deprecationReason": null
38571
+ }
38572
+ ],
38573
+ "inputFields": null,
38574
+ "interfaces": [],
38575
+ "enumValues": null,
38576
+ "possibleTypes": null
38577
+ },
37041
38578
  {
37042
38579
  "kind": "ENUM",
37043
38580
  "name": "YesNo",
@@ -44944,6 +46481,30 @@
44944
46481
  },
44945
46482
  "isDeprecated": false,
44946
46483
  "deprecationReason": null
46484
+ },
46485
+ {
46486
+ "name": "taxonomyId",
46487
+ "description": "Google taxonomy id mapped to this category (if any). Used by feed exports (Merchant Center etc.).",
46488
+ "args": [],
46489
+ "type": {
46490
+ "kind": "SCALAR",
46491
+ "name": "ID",
46492
+ "ofType": null
46493
+ },
46494
+ "isDeprecated": false,
46495
+ "deprecationReason": null
46496
+ },
46497
+ {
46498
+ "name": "googleTaxonomy",
46499
+ "description": "Resolved Google product category mapped to this category. Null when `taxonomyId` is not set or points to a stale id.",
46500
+ "args": [],
46501
+ "type": {
46502
+ "kind": "OBJECT",
46503
+ "name": "GoogleProductCategory",
46504
+ "ofType": null
46505
+ },
46506
+ "isDeprecated": false,
46507
+ "deprecationReason": null
44947
46508
  }
44948
46509
  ],
44949
46510
  "inputFields": null,
@@ -46426,6 +47987,30 @@
46426
47987
  "isDeprecated": false,
46427
47988
  "deprecationReason": null
46428
47989
  },
47990
+ {
47991
+ "name": "brandModels",
47992
+ "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.",
47993
+ "args": [],
47994
+ "type": {
47995
+ "kind": "NON_NULL",
47996
+ "name": null,
47997
+ "ofType": {
47998
+ "kind": "LIST",
47999
+ "name": null,
48000
+ "ofType": {
48001
+ "kind": "NON_NULL",
48002
+ "name": null,
48003
+ "ofType": {
48004
+ "kind": "OBJECT",
48005
+ "name": "BrandModelItem",
48006
+ "ofType": null
48007
+ }
48008
+ }
48009
+ }
48010
+ },
48011
+ "isDeprecated": false,
48012
+ "deprecationReason": null
48013
+ },
46429
48014
  {
46430
48015
  "name": "tags",
46431
48016
  "description": "Product tags.",
@@ -47465,6 +49050,267 @@
47465
49050
  "enumValues": null,
47466
49051
  "possibleTypes": null
47467
49052
  },
49053
+ {
49054
+ "kind": "OBJECT",
49055
+ "name": "BulkDeleteProductsResult",
49056
+ "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.",
49057
+ "fields": [
49058
+ {
49059
+ "name": "success",
49060
+ "description": "True when the job was successfully queued.",
49061
+ "args": [],
49062
+ "type": {
49063
+ "kind": "NON_NULL",
49064
+ "name": null,
49065
+ "ofType": {
49066
+ "kind": "SCALAR",
49067
+ "name": "Boolean",
49068
+ "ofType": null
49069
+ }
49070
+ },
49071
+ "isDeprecated": false,
49072
+ "deprecationReason": null
49073
+ },
49074
+ {
49075
+ "name": "queuedCount",
49076
+ "description": "Number of product IDs accepted for deletion (existed and were queued).",
49077
+ "args": [],
49078
+ "type": {
49079
+ "kind": "NON_NULL",
49080
+ "name": null,
49081
+ "ofType": {
49082
+ "kind": "SCALAR",
49083
+ "name": "Int",
49084
+ "ofType": null
49085
+ }
49086
+ },
49087
+ "isDeprecated": false,
49088
+ "deprecationReason": null
49089
+ },
49090
+ {
49091
+ "name": "skippedIds",
49092
+ "description": "IDs that were skipped — either not found or already soft-deleted. Empty when every input id was valid.",
49093
+ "args": [],
49094
+ "type": {
49095
+ "kind": "NON_NULL",
49096
+ "name": null,
49097
+ "ofType": {
49098
+ "kind": "LIST",
49099
+ "name": null,
49100
+ "ofType": {
49101
+ "kind": "NON_NULL",
49102
+ "name": null,
49103
+ "ofType": {
49104
+ "kind": "SCALAR",
49105
+ "name": "ID",
49106
+ "ofType": null
49107
+ }
49108
+ }
49109
+ }
49110
+ },
49111
+ "isDeprecated": false,
49112
+ "deprecationReason": null
49113
+ },
49114
+ {
49115
+ "name": "message",
49116
+ "description": "Optional human-readable summary.",
49117
+ "args": [],
49118
+ "type": {
49119
+ "kind": "SCALAR",
49120
+ "name": "String",
49121
+ "ofType": null
49122
+ },
49123
+ "isDeprecated": false,
49124
+ "deprecationReason": null
49125
+ }
49126
+ ],
49127
+ "inputFields": null,
49128
+ "interfaces": [],
49129
+ "enumValues": null,
49130
+ "possibleTypes": null
49131
+ },
49132
+ {
49133
+ "kind": "OBJECT",
49134
+ "name": "BulkProductsResult",
49135
+ "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).",
49136
+ "fields": [
49137
+ {
49138
+ "name": "success",
49139
+ "description": "True when the operation finished without throwing.",
49140
+ "args": [],
49141
+ "type": {
49142
+ "kind": "NON_NULL",
49143
+ "name": null,
49144
+ "ofType": {
49145
+ "kind": "SCALAR",
49146
+ "name": "Boolean",
49147
+ "ofType": null
49148
+ }
49149
+ },
49150
+ "isDeprecated": false,
49151
+ "deprecationReason": null
49152
+ },
49153
+ {
49154
+ "name": "affectedCount",
49155
+ "description": "Number of products that were actually updated.",
49156
+ "args": [],
49157
+ "type": {
49158
+ "kind": "NON_NULL",
49159
+ "name": null,
49160
+ "ofType": {
49161
+ "kind": "SCALAR",
49162
+ "name": "Int",
49163
+ "ofType": null
49164
+ }
49165
+ },
49166
+ "isDeprecated": false,
49167
+ "deprecationReason": null
49168
+ },
49169
+ {
49170
+ "name": "skippedIds",
49171
+ "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.",
49172
+ "args": [],
49173
+ "type": {
49174
+ "kind": "NON_NULL",
49175
+ "name": null,
49176
+ "ofType": {
49177
+ "kind": "LIST",
49178
+ "name": null,
49179
+ "ofType": {
49180
+ "kind": "NON_NULL",
49181
+ "name": null,
49182
+ "ofType": {
49183
+ "kind": "SCALAR",
49184
+ "name": "ID",
49185
+ "ofType": null
49186
+ }
49187
+ }
49188
+ }
49189
+ },
49190
+ "isDeprecated": false,
49191
+ "deprecationReason": null
49192
+ },
49193
+ {
49194
+ "name": "message",
49195
+ "description": "Optional human-readable summary.",
49196
+ "args": [],
49197
+ "type": {
49198
+ "kind": "SCALAR",
49199
+ "name": "String",
49200
+ "ofType": null
49201
+ },
49202
+ "isDeprecated": false,
49203
+ "deprecationReason": null
49204
+ }
49205
+ ],
49206
+ "inputFields": null,
49207
+ "interfaces": [],
49208
+ "enumValues": null,
49209
+ "possibleTypes": null
49210
+ },
49211
+ {
49212
+ "kind": "OBJECT",
49213
+ "name": "BulkDuplicateProductsResult",
49214
+ "description": "Result of `productsBulkDuplicate` — returns ids of the freshly duplicated products.",
49215
+ "fields": [
49216
+ {
49217
+ "name": "success",
49218
+ "description": "True when the operation finished without throwing.",
49219
+ "args": [],
49220
+ "type": {
49221
+ "kind": "NON_NULL",
49222
+ "name": null,
49223
+ "ofType": {
49224
+ "kind": "SCALAR",
49225
+ "name": "Boolean",
49226
+ "ofType": null
49227
+ }
49228
+ },
49229
+ "isDeprecated": false,
49230
+ "deprecationReason": null
49231
+ },
49232
+ {
49233
+ "name": "duplicatedCount",
49234
+ "description": "Number of duplicates created (= length of `duplicatedProducts`).",
49235
+ "args": [],
49236
+ "type": {
49237
+ "kind": "NON_NULL",
49238
+ "name": null,
49239
+ "ofType": {
49240
+ "kind": "SCALAR",
49241
+ "name": "Int",
49242
+ "ofType": null
49243
+ }
49244
+ },
49245
+ "isDeprecated": false,
49246
+ "deprecationReason": null
49247
+ },
49248
+ {
49249
+ "name": "skippedIds",
49250
+ "description": "Source ids that could not be duplicated (not found).",
49251
+ "args": [],
49252
+ "type": {
49253
+ "kind": "NON_NULL",
49254
+ "name": null,
49255
+ "ofType": {
49256
+ "kind": "LIST",
49257
+ "name": null,
49258
+ "ofType": {
49259
+ "kind": "NON_NULL",
49260
+ "name": null,
49261
+ "ofType": {
49262
+ "kind": "SCALAR",
49263
+ "name": "ID",
49264
+ "ofType": null
49265
+ }
49266
+ }
49267
+ }
49268
+ },
49269
+ "isDeprecated": false,
49270
+ "deprecationReason": null
49271
+ },
49272
+ {
49273
+ "name": "duplicatedProducts",
49274
+ "description": "The newly-created Product copies, in the same order as the input ids.",
49275
+ "args": [],
49276
+ "type": {
49277
+ "kind": "NON_NULL",
49278
+ "name": null,
49279
+ "ofType": {
49280
+ "kind": "LIST",
49281
+ "name": null,
49282
+ "ofType": {
49283
+ "kind": "NON_NULL",
49284
+ "name": null,
49285
+ "ofType": {
49286
+ "kind": "OBJECT",
49287
+ "name": "Product",
49288
+ "ofType": null
49289
+ }
49290
+ }
49291
+ }
49292
+ },
49293
+ "isDeprecated": false,
49294
+ "deprecationReason": null
49295
+ },
49296
+ {
49297
+ "name": "message",
49298
+ "description": "Optional human-readable summary.",
49299
+ "args": [],
49300
+ "type": {
49301
+ "kind": "SCALAR",
49302
+ "name": "String",
49303
+ "ofType": null
49304
+ },
49305
+ "isDeprecated": false,
49306
+ "deprecationReason": null
49307
+ }
49308
+ ],
49309
+ "inputFields": null,
49310
+ "interfaces": [],
49311
+ "enumValues": null,
49312
+ "possibleTypes": null
49313
+ },
47468
49314
  {
47469
49315
  "kind": "OBJECT",
47470
49316
  "name": "SmartCollection",
@@ -49025,6 +50871,160 @@
49025
50871
  "enumValues": null,
49026
50872
  "possibleTypes": null
49027
50873
  },
50874
+ {
50875
+ "kind": "OBJECT",
50876
+ "name": "MissingProductSubscriberConnection",
50877
+ "description": "Paginated list of subscribers waiting for a specific variant to come back in stock.",
50878
+ "fields": [
50879
+ {
50880
+ "name": "data",
50881
+ "description": "The Subscriber records, ordered by subscription date (oldest first).",
50882
+ "args": [],
50883
+ "type": {
50884
+ "kind": "NON_NULL",
50885
+ "name": null,
50886
+ "ofType": {
50887
+ "kind": "LIST",
50888
+ "name": null,
50889
+ "ofType": {
50890
+ "kind": "NON_NULL",
50891
+ "name": null,
50892
+ "ofType": {
50893
+ "kind": "OBJECT",
50894
+ "name": "Subscriber",
50895
+ "ofType": null
50896
+ }
50897
+ }
50898
+ }
50899
+ },
50900
+ "isDeprecated": false,
50901
+ "deprecationReason": null
50902
+ },
50903
+ {
50904
+ "name": "currentPage",
50905
+ "description": null,
50906
+ "args": [],
50907
+ "type": {
50908
+ "kind": "NON_NULL",
50909
+ "name": null,
50910
+ "ofType": {
50911
+ "kind": "SCALAR",
50912
+ "name": "Int",
50913
+ "ofType": null
50914
+ }
50915
+ },
50916
+ "isDeprecated": false,
50917
+ "deprecationReason": null
50918
+ },
50919
+ {
50920
+ "name": "lastPage",
50921
+ "description": null,
50922
+ "args": [],
50923
+ "type": {
50924
+ "kind": "NON_NULL",
50925
+ "name": null,
50926
+ "ofType": {
50927
+ "kind": "SCALAR",
50928
+ "name": "Int",
50929
+ "ofType": null
50930
+ }
50931
+ },
50932
+ "isDeprecated": false,
50933
+ "deprecationReason": null
50934
+ },
50935
+ {
50936
+ "name": "perPage",
50937
+ "description": null,
50938
+ "args": [],
50939
+ "type": {
50940
+ "kind": "NON_NULL",
50941
+ "name": null,
50942
+ "ofType": {
50943
+ "kind": "SCALAR",
50944
+ "name": "Int",
50945
+ "ofType": null
50946
+ }
50947
+ },
50948
+ "isDeprecated": false,
50949
+ "deprecationReason": null
50950
+ },
50951
+ {
50952
+ "name": "total",
50953
+ "description": null,
50954
+ "args": [],
50955
+ "type": {
50956
+ "kind": "NON_NULL",
50957
+ "name": null,
50958
+ "ofType": {
50959
+ "kind": "SCALAR",
50960
+ "name": "Int",
50961
+ "ofType": null
50962
+ }
50963
+ },
50964
+ "isDeprecated": false,
50965
+ "deprecationReason": null
50966
+ }
50967
+ ],
50968
+ "inputFields": null,
50969
+ "interfaces": [],
50970
+ "enumValues": null,
50971
+ "possibleTypes": null
50972
+ },
50973
+ {
50974
+ "kind": "OBJECT",
50975
+ "name": "GoogleProductCategory",
50976
+ "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.",
50977
+ "fields": [
50978
+ {
50979
+ "name": "id",
50980
+ "description": "Google's numeric category id (the value Merchant Center expects).",
50981
+ "args": [],
50982
+ "type": {
50983
+ "kind": "NON_NULL",
50984
+ "name": null,
50985
+ "ofType": {
50986
+ "kind": "SCALAR",
50987
+ "name": "ID",
50988
+ "ofType": null
50989
+ }
50990
+ },
50991
+ "isDeprecated": false,
50992
+ "deprecationReason": null
50993
+ },
50994
+ {
50995
+ "name": "name",
50996
+ "description": "Full English breadcrumb name, e.g. `Apparel & Accessories > Clothing > Shirts & Tops`.",
50997
+ "args": [],
50998
+ "type": {
50999
+ "kind": "NON_NULL",
51000
+ "name": null,
51001
+ "ofType": {
51002
+ "kind": "SCALAR",
51003
+ "name": "String",
51004
+ "ofType": null
51005
+ }
51006
+ },
51007
+ "isDeprecated": false,
51008
+ "deprecationReason": null
51009
+ },
51010
+ {
51011
+ "name": "nameDe",
51012
+ "description": "Full German breadcrumb name (some feeds prefer localised names).",
51013
+ "args": [],
51014
+ "type": {
51015
+ "kind": "SCALAR",
51016
+ "name": "String",
51017
+ "ofType": null
51018
+ },
51019
+ "isDeprecated": false,
51020
+ "deprecationReason": null
51021
+ }
51022
+ ],
51023
+ "inputFields": null,
51024
+ "interfaces": [],
51025
+ "enumValues": null,
51026
+ "possibleTypes": null
51027
+ },
49028
51028
  {
49029
51029
  "kind": "ENUM",
49030
51030
  "name": "CategoryPropertyType",