@nautical-commerce/graphql-schema 4.1.1 → 4.2.1

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.
@@ -188,8 +188,10 @@ enum AccountErrorCode {
188
188
  OUT_OF_SCOPE_GROUP
189
189
  OUT_OF_SCOPE_PERMISSION
190
190
  OUT_OF_SCOPE_SELLER
191
+ PASSWORD_LOGIN_DISABLED
191
192
  PERMISSION_DENIED
192
193
  PASSWORD_ENTIRELY_NUMERIC
194
+ THROTTLED
193
195
  PASSWORD_IDENTICAL
194
196
  PASSWORD_TOO_COMMON
195
197
  PASSWORD_TOO_SHORT
@@ -802,11 +804,11 @@ type AgreementFeesEventCountableEdge {
802
804
  Agreement(id, publication_date, is_published, created_at, updated_at, content, content_html, tenant, seo_title, seo_description, slug, title, default_commission, is_active)
803
805
  """
804
806
  input AgreementFilterInput {
805
- search: String
806
807
  AND: AgreementFilterInput
807
808
  OR: AgreementFilterInput
808
809
  NOT: AgreementFilterInput
809
810
  DISTINCT: Boolean
811
+ search: String
810
812
  }
811
813
 
812
814
  """Type of granular commission (e.g., by category)."""
@@ -1760,6 +1762,10 @@ input AttributeFilterInput {
1760
1762
  filterableInStorefront: Boolean
1761
1763
  filterableInDashboard: Boolean
1762
1764
  availableInGrid: Boolean
1765
+ AND: AttributeFilterInput
1766
+ OR: AttributeFilterInput
1767
+ NOT: AttributeFilterInput
1768
+ DISTINCT: Boolean
1763
1769
  search: String
1764
1770
  ids: [ID]
1765
1771
  hasAssignedProductOrVariant: Boolean
@@ -1771,10 +1777,6 @@ input AttributeFilterInput {
1771
1777
  inVariantSearch: String
1772
1778
  metadata: MetadataFilterInput
1773
1779
  privateMetadata: MetadataFilterInput
1774
- AND: AttributeFilterInput
1775
- OR: AttributeFilterInput
1776
- NOT: AttributeFilterInput
1777
- DISTINCT: Boolean
1778
1780
  }
1779
1781
 
1780
1782
  """Input for attribute filtering"""
@@ -2108,12 +2110,12 @@ type AttributeValueDelete {
2108
2110
  AttributeValue(id, sort_order, tenant, seller, name, value, slug, attribute, date_time, plain_text, rich_text, currency, amount, reference, boolean, file, file_url, money)
2109
2111
  """
2110
2112
  input AttributeValueFilterInput {
2111
- search: String
2112
- attributeIds: [ID]
2113
2113
  AND: AttributeValueFilterInput
2114
2114
  OR: AttributeValueFilterInput
2115
2115
  NOT: AttributeValueFilterInput
2116
2116
  DISTINCT: Boolean
2117
+ search: String
2118
+ attributeIds: [ID]
2117
2119
  }
2118
2120
 
2119
2121
  """Represents an attribute value for product/collection custom fields."""
@@ -3037,16 +3039,16 @@ Category(id, private_metadata, metadata, description, description_html, deleted_
3037
3039
  """
3038
3040
  input CategoryFilterInput {
3039
3041
  allowProductAssignment: Boolean
3042
+ AND: CategoryFilterInput
3043
+ OR: CategoryFilterInput
3044
+ NOT: CategoryFilterInput
3045
+ DISTINCT: Boolean
3040
3046
  search: String
3041
3047
  ids: [ID]
3042
3048
  level: Int
3043
3049
  customFields: [AttributeInput!]
3044
3050
  metadata: MetadataFilterInput
3045
3051
  privateMetadata: MetadataFilterInput
3046
- AND: CategoryFilterInput
3047
- OR: CategoryFilterInput
3048
- NOT: CategoryFilterInput
3049
- DISTINCT: Boolean
3050
3052
  }
3051
3053
 
3052
3054
  """GraphQL type for CategoryIdentitySchema"""
@@ -3154,6 +3156,11 @@ type Checkout implements Node & ObjectWithMetadata {
3154
3156
  """Whether the checkout has an authenticated user."""
3155
3157
  isAuthenticated: Boolean!
3156
3158
 
3159
+ """
3160
+ Problems that would prevent this checkout from completing — insufficient stock, unavailable variants, missing addresses or shipping method. Read-only preview of completion-time validation; payment coverage and totals are still validated at checkoutComplete.
3161
+ """
3162
+ problems: [CheckoutProblem!]!
3163
+
3157
3164
  """Email of the customer."""
3158
3165
  email: String!
3159
3166
 
@@ -3446,12 +3453,12 @@ type CheckoutEventCountableEdge {
3446
3453
 
3447
3454
  """CheckoutEvent(tenant, id, created_at, type, checkout_id)"""
3448
3455
  input CheckoutEventFilterInput {
3449
- createdAt: DateTimeRangeInput
3450
- type: [CheckoutEventType!]
3451
3456
  AND: CheckoutEventFilterInput
3452
3457
  OR: CheckoutEventFilterInput
3453
3458
  NOT: CheckoutEventFilterInput
3454
3459
  DISTINCT: Boolean
3460
+ createdAt: DateTimeRangeInput
3461
+ type: [CheckoutEventType!]
3455
3462
  }
3456
3463
 
3457
3464
  """Fields available for sorting checkout events"""
@@ -3512,7 +3519,7 @@ type CheckoutLine implements Node & ObjectWithMetadata {
3512
3519
  unitPriceOverriddenNote: String
3513
3520
 
3514
3521
  """The product variant for this checkout line."""
3515
- variant: ProductVariant
3522
+ variant: ProductVariant!
3516
3523
 
3517
3524
  """The seller of this product."""
3518
3525
  seller: Seller
@@ -3629,6 +3636,33 @@ type CheckoutPaymentCreate {
3629
3636
  paymentErrors: [PaymentError!]!
3630
3637
  }
3631
3638
 
3639
+ """A problem that would prevent this checkout from completing."""
3640
+ type CheckoutProblem {
3641
+ """Machine-addressable problem code."""
3642
+ code: CheckoutProblemCode!
3643
+
3644
+ """Human-readable explanation."""
3645
+ message: String!
3646
+
3647
+ """Global ID of the affected checkout line, for line-scoped problems."""
3648
+ lineId: ID
3649
+
3650
+ """Display name of the affected variant, for line-scoped problems."""
3651
+ variantName: String
3652
+
3653
+ """Quantity currently available, for INSUFFICIENT_STOCK problems."""
3654
+ availableQuantity: Int
3655
+ }
3656
+
3657
+ """Machine-addressable reasons a checkout cannot complete."""
3658
+ enum CheckoutProblemCode {
3659
+ INSUFFICIENT_STOCK
3660
+ VARIANT_UNAVAILABLE
3661
+ SHIPPING_ADDRESS_NOT_SET
3662
+ SHIPPING_METHOD_NOT_SET
3663
+ BILLING_ADDRESS_NOT_SET
3664
+ }
3665
+
3632
3666
  """Result of checkout remove PO numbers mutation."""
3633
3667
  type CheckoutRemovePONumbers {
3634
3668
  """The checkout with the purchase order numbers removed."""
@@ -3783,10 +3817,10 @@ type Collection implements Node & ObjectWithMetadata {
3783
3817
  slug: String!
3784
3818
 
3785
3819
  """Description of the collection"""
3786
- description: String
3820
+ description: String!
3787
3821
 
3788
3822
  """Description as HTML"""
3789
- descriptionHtml: String
3823
+ descriptionHtml: String!
3790
3824
 
3791
3825
  """Publication date of the collection"""
3792
3826
  publicationDate: Date
@@ -4055,6 +4089,10 @@ type CollectionDelete {
4055
4089
  Collection(id, publication_date, is_published, private_metadata, metadata, description, description_html, tenant, seo_title, seo_description, type, is_visible, name, slug, background_image, background_image_alt)
4056
4090
  """
4057
4091
  input CollectionFilterInput {
4092
+ AND: CollectionFilterInput
4093
+ OR: CollectionFilterInput
4094
+ NOT: CollectionFilterInput
4095
+ DISTINCT: Boolean
4058
4096
  search: String
4059
4097
  ids: [ID]
4060
4098
  published: CollectionPublished
@@ -4063,10 +4101,6 @@ input CollectionFilterInput {
4063
4101
  metadata: MetadataFilterInput
4064
4102
  privateMetadata: MetadataFilterInput
4065
4103
  customFields: [AttributeInput!]
4066
- AND: CollectionFilterInput
4067
- OR: CollectionFilterInput
4068
- NOT: CollectionFilterInput
4069
- DISTINCT: Boolean
4070
4104
  }
4071
4105
 
4072
4106
  input CollectionInput {
@@ -4238,10 +4272,10 @@ type Content implements Node {
4238
4272
  lockExpiry: DateTime
4239
4273
 
4240
4274
  """When the content was created"""
4241
- createdAt: DateTime
4275
+ createdAt: DateTime!
4242
4276
 
4243
4277
  """When the content was last updated"""
4244
- updatedAt: DateTime
4278
+ updatedAt: DateTime!
4245
4279
 
4246
4280
  """Publication date"""
4247
4281
  publicationDate: DateTime
@@ -4346,11 +4380,11 @@ input ContentDuplicateInput {
4346
4380
 
4347
4381
  """Media(tenant, id, title, created_at, image, alt)"""
4348
4382
  input ContentFilterInput {
4349
- search: String
4350
4383
  AND: ContentFilterInput
4351
4384
  OR: ContentFilterInput
4352
4385
  NOT: ContentFilterInput
4353
4386
  DISTINCT: Boolean
4387
+ search: String
4354
4388
  }
4355
4389
 
4356
4390
  """Content page data with SEO."""
@@ -4993,10 +5027,12 @@ enum CustomerEventsEnum {
4993
5027
  NOTE_ADDED
4994
5028
  }
4995
5029
 
4996
- """
4997
- User(id, password, last_login, private_metadata, metadata, external_id, external_source, external_inventory_id, tenant, external_payout_account_id, external_payout_source, external_payout_onboarding_url, company_name, is_superuser, email, first_name, last_name, is_staff, is_active, note, date_joined, last_status_changed_at, default_shipping_address, default_billing_address, avatar, jwt_token_key, personal_phone, tax_exempt_code, vat_identification_number, ledger)
4998
- """
5030
+ """A customer, staff member or marketplace operator account."""
4999
5031
  input CustomerFilterInput {
5032
+ AND: CustomerFilterInput
5033
+ OR: CustomerFilterInput
5034
+ NOT: CustomerFilterInput
5035
+ DISTINCT: Boolean
5000
5036
  dateJoined: DateRangeInput
5001
5037
  placedOrders: DateRangeInput
5002
5038
  moneySpent: PriceRangeInput
@@ -5004,10 +5040,6 @@ input CustomerFilterInput {
5004
5040
  isActive: Boolean
5005
5041
  search: String
5006
5042
  customFields: [AttributeInput!]
5007
- AND: CustomerFilterInput
5008
- OR: CustomerFilterInput
5009
- NOT: CustomerFilterInput
5010
- DISTINCT: Boolean
5011
5043
  }
5012
5044
 
5013
5045
  input CustomerInput {
@@ -5044,9 +5076,13 @@ input CustomerInput {
5044
5076
  }
5045
5077
 
5046
5078
  """
5047
- NauticalOrder(id, private_metadata, metadata, external_id, external_source, external_inventory_id, tenant, order_source, created, updated, status, sub_status, user, language_code, tracking_client_id, billing_address, shipping_address, user_email, currency, shipping_price_net_amount, shipping_price_gross_amount, marketplace_shipping_price_net_amount, marketplace_shipping_price_gross_amount, is_marketplace_shipping_price_overridden, marketplace_shipping_method, marketplace_shipping_method_name, eu_invoice_messaging, vat_identification_number, mp_vat_identification_number, token, checkout_token, total_net_amount, total_gross_amount, discounted_total_net_amount, discounted_total_gross_amount, domiciled_price_info, domiciled_to_transaction_rate, original_total_net_amount, original_total_gross_amount, voucher, sale, shipping_discount_amount, discount_amount, discount_name, translated_discount_name, display_gross_prices, customer_note, weight, imported_at, po_numbers, shipping_price_net, shipping_price_gross, marketplace_shipping_price_net, marketplace_shipping_price_gross, marketplace_shipping_price, shipping_price, total_net, total_gross, total, discounted_total_net, discounted_total_gross, discounted_total, original_total_net, original_total_gross, original_total, shipping_discount, discount)
5079
+ A marketplace order the buyer's full order, split into per-seller orders.
5048
5080
  """
5049
5081
  input CustomerNauticalOrderFilterInput {
5082
+ AND: CustomerNauticalOrderFilterInput
5083
+ OR: CustomerNauticalOrderFilterInput
5084
+ NOT: CustomerNauticalOrderFilterInput
5085
+ DISTINCT: Boolean
5050
5086
  paymentStatus: [PaymentChargeStatusEnum!]
5051
5087
  status: [OrderStatusFilter!]
5052
5088
  source: [OrderSourceFilter!]
@@ -5058,16 +5094,14 @@ input CustomerNauticalOrderFilterInput {
5058
5094
  metadata: MetadataFilterInput
5059
5095
  privateMetadata: MetadataFilterInput
5060
5096
  ids: [ID]
5061
- AND: CustomerNauticalOrderFilterInput
5062
- OR: CustomerNauticalOrderFilterInput
5063
- NOT: CustomerNauticalOrderFilterInput
5064
- DISTINCT: Boolean
5065
5097
  }
5066
5098
 
5067
- """
5068
- Order(id, private_metadata, metadata, external_id, external_source, external_inventory_id, tenant, order_source, seller, created, updated, status, sub_status, payout_status, user, language_code, tracking_client_id, billing_address, shipping_address, user_email, vat_code, eu_invoice_messaging, vat_identification_number, mp_vat_identification_number, currency, shipping_method, shipping_method_name, shipping_price_net_amount, shipping_price_gross_amount, is_shipping_price_overridden, fulfilled_by_marketplace, token, checkout_token, total_net_amount, total_gross_amount, domiciled_price_info, domiciled_to_transaction_rate, original_total_net_amount, original_total_gross_amount, voucher, discount_amount, discount_name, translated_discount_name, display_gross_prices, customer_note, weight, imported_at, nautical_order, financials, shipping_price_net, shipping_price_gross, shipping_price, total_net, total_gross, total, original_total_net, original_total_gross, original_total, discount)
5069
- """
5099
+ """A seller-level order — one seller's portion of a marketplace order."""
5070
5100
  input CustomerOrderFilterInput {
5101
+ AND: CustomerOrderFilterInput
5102
+ OR: CustomerOrderFilterInput
5103
+ NOT: CustomerOrderFilterInput
5104
+ DISTINCT: Boolean
5071
5105
  paymentStatus: [PaymentChargeStatusEnum!]
5072
5106
  status: [OrderStatusFilter!]
5073
5107
  source: [OrderSourceFilter!]
@@ -5082,10 +5116,6 @@ input CustomerOrderFilterInput {
5082
5116
  ids: [ID]
5083
5117
  vendorPayouts: [ID]
5084
5118
  payouts: [ID]
5085
- AND: CustomerOrderFilterInput
5086
- OR: CustomerOrderFilterInput
5087
- NOT: CustomerOrderFilterInput
5088
- DISTINCT: Boolean
5089
5119
  }
5090
5120
 
5091
5121
  """Customer report row."""
@@ -5661,7 +5691,7 @@ type DigitalContentUrl implements Node {
5661
5691
  url: String
5662
5692
 
5663
5693
  """The digital content this URL provides access to"""
5664
- content: DigitalContent
5694
+ content: DigitalContent!
5665
5695
  }
5666
5696
 
5667
5697
  type DigitalContentUrlAuditEvent implements Node {
@@ -5859,7 +5889,7 @@ type Document {
5859
5889
  name: String!
5860
5890
 
5861
5891
  """Description of the document."""
5862
- description: String
5892
+ description: String!
5863
5893
 
5864
5894
  """File extension."""
5865
5895
  fileExtension: String!
@@ -6220,6 +6250,10 @@ type EmailEventCountableEdge {
6220
6250
 
6221
6251
  """Model used to store events that happened during the email lifecycle."""
6222
6252
  input EmailEventFilterInput {
6253
+ AND: EmailEventFilterInput
6254
+ OR: EmailEventFilterInput
6255
+ NOT: EmailEventFilterInput
6256
+ DISTINCT: Boolean
6223
6257
  fromEmail: String
6224
6258
  toEmail: String
6225
6259
 
@@ -6228,10 +6262,6 @@ input EmailEventFilterInput {
6228
6262
  """
6229
6263
  date: DateTimeRangeInput
6230
6264
  messageType: [NotifyEventTypeEnum!]
6231
- AND: EmailEventFilterInput
6232
- OR: EmailEventFilterInput
6233
- NOT: EmailEventFilterInput
6234
- DISTINCT: Boolean
6235
6265
  }
6236
6266
 
6237
6267
  """Email event message types for notification tracking."""
@@ -6342,13 +6372,13 @@ type EmailTemplateCountableEdge {
6342
6372
 
6343
6373
  """Model for email templates."""
6344
6374
  input EmailTemplateFilterInput {
6345
- title: String
6346
- recipientType: RecipientTypeEnum
6347
- eventType: EventTypeEnum
6348
6375
  AND: EmailTemplateFilterInput
6349
6376
  OR: EmailTemplateFilterInput
6350
6377
  NOT: EmailTemplateFilterInput
6351
6378
  DISTINCT: Boolean
6379
+ title: String
6380
+ recipientType: RecipientTypeEnum
6381
+ eventType: EventTypeEnum
6352
6382
  }
6353
6383
 
6354
6384
  """Represents an email template preview."""
@@ -6597,15 +6627,15 @@ type ExportFileCountableEdge {
6597
6627
  ExportFile(id, status, message, created_at, updated_at, tenant, user, app, content_file)
6598
6628
  """
6599
6629
  input ExportFileFilterInput {
6630
+ AND: ExportFileFilterInput
6631
+ OR: ExportFileFilterInput
6632
+ NOT: ExportFileFilterInput
6633
+ DISTINCT: Boolean
6600
6634
  status: JobStatusEnum
6601
6635
  user: String
6602
6636
  app: String
6603
6637
  createdAt: DateTimeRangeInput
6604
6638
  updatedAt: DateTimeRangeInput
6605
- AND: ExportFileFilterInput
6606
- OR: ExportFileFilterInput
6607
- NOT: ExportFileFilterInput
6608
- DISTINCT: Boolean
6609
6639
  }
6610
6640
 
6611
6641
  """Fields available for sorting export files"""
@@ -7338,15 +7368,15 @@ type ImportFileCountableEdge {
7338
7368
  ImportFile(id, status, message, created_at, updated_at, tenant, user, app, content_file, metadata, import_config, seller)
7339
7369
  """
7340
7370
  input ImportFileFilterInput {
7371
+ AND: ImportFileFilterInput
7372
+ OR: ImportFileFilterInput
7373
+ NOT: ImportFileFilterInput
7374
+ DISTINCT: Boolean
7341
7375
  status: JobStatusEnum
7342
7376
  user: String
7343
7377
  app: String
7344
7378
  createdAt: DateTimeRangeInput
7345
7379
  updatedAt: DateTimeRangeInput
7346
- AND: ImportFileFilterInput
7347
- OR: ImportFileFilterInput
7348
- NOT: ImportFileFilterInput
7349
- DISTINCT: Boolean
7350
7380
  }
7351
7381
 
7352
7382
  """Fields available for sorting import files"""
@@ -7509,7 +7539,7 @@ type Invoice implements Node & ObjectWithMetadata & Job {
7509
7539
  message: String
7510
7540
 
7511
7541
  """Invoice number"""
7512
- number: String
7542
+ number: String!
7513
7543
 
7514
7544
  """URL to download an invoice"""
7515
7545
  url: String
@@ -7774,6 +7804,10 @@ type JournalEntryCountableEdge {
7774
7804
  JournalEntry(private_metadata, metadata, created_at, updated_at, tenant, id, corrects, description, fulfillment_line, nautical_order, order, order_line, payment, refund, refund_line, vendor_payout, type)
7775
7805
  """
7776
7806
  input JournalEntryFilterInput {
7807
+ AND: JournalEntryFilterInput
7808
+ OR: JournalEntryFilterInput
7809
+ NOT: JournalEntryFilterInput
7810
+ DISTINCT: Boolean
7777
7811
  type: JournalEntryTypeEnum
7778
7812
  createdAt: DateTimeRangeInput
7779
7813
  fulfillmentLineIds: [ID]
@@ -7783,10 +7817,6 @@ input JournalEntryFilterInput {
7783
7817
  paymentIds: [ID]
7784
7818
  refundLineIds: [ID]
7785
7819
  vendorPayoutIds: [ID]
7786
- AND: JournalEntryFilterInput
7787
- OR: JournalEntryFilterInput
7788
- NOT: JournalEntryFilterInput
7789
- DISTINCT: Boolean
7790
7820
  }
7791
7821
 
7792
7822
  """Fields available for sorting journal entries"""
@@ -7978,12 +8008,12 @@ type LedgerEntry implements Node & ObjectWithMetadata {
7978
8008
  LedgerEntry(private_metadata, metadata, created_at, updated_at, tenant, id, amount, book_balance, currency, journal_entry, ledger, ledger_version)
7979
8009
  """
7980
8010
  input LedgerEntryFilterInput {
7981
- type: LedgerTypeEnum
7982
- sellerIds: [ID]
7983
8011
  AND: LedgerEntryFilterInput
7984
8012
  OR: LedgerEntryFilterInput
7985
8013
  NOT: LedgerEntryFilterInput
7986
8014
  DISTINCT: Boolean
8015
+ type: LedgerTypeEnum
8016
+ sellerIds: [ID]
7987
8017
  }
7988
8018
 
7989
8019
  input LedgerEntryInput {
@@ -8141,6 +8171,11 @@ type MarketplaceConfiguration {
8141
8171
  customerSetPasswordUrl: String
8142
8172
  chargeTaxesOnShipping: Boolean!
8143
8173
 
8174
+ """
8175
+ Expire (cancel) placed orders that still await payment after this many minutes without updates. Applies to any order with the AWAITING_PAYMENT sub-status, including draft/quote orders sent to customers for payment. Null disables expiration.
8176
+ """
8177
+ expireUnpaidOrdersAfterMinutes: Int
8178
+
8144
8179
  """Shop's description."""
8145
8180
  description: String!
8146
8181
 
@@ -8156,6 +8191,9 @@ type MarketplaceConfiguration {
8156
8191
  """Determines the fulfillment model for the marketplace."""
8157
8192
  fulfillmentModel: FulfillmentModelEnum!
8158
8193
 
8194
+ """Who may authenticate with email + password (tokenCreate)."""
8195
+ passwordLoginMode: PasswordLoginModeEnum!
8196
+
8159
8197
  """Default weight unit."""
8160
8198
  defaultWeightUnit: WeightUnitsEnum!
8161
8199
 
@@ -8429,6 +8467,16 @@ input MarketplaceConfigurationInput {
8429
8467
  customerSetPasswordUrl: String = null
8430
8468
  chargeTaxesOnShipping: Boolean = null
8431
8469
 
8470
+ """
8471
+ Expire placed orders still awaiting payment after this many minutes without updates (minimum 60). Pass 0 to disable expiration.
8472
+ """
8473
+ expireUnpaidOrdersAfterMinutes: Int = null
8474
+
8475
+ """
8476
+ Who may authenticate with email + password (tokenCreate). Restricting to CUSTOMERS_ONLY or DISABLED requires an active SSO integration; platform-support users always retain password login.
8477
+ """
8478
+ passwordLoginMode: PasswordLoginModeEnum = null
8479
+
8432
8480
  """Update attribute template strategy"""
8433
8481
  attributeTemplateStrategy: AttributeTemplateStrategyEnum = null @deprecated(reason: "This field will be removed on July 23, 2025.")
8434
8482
 
@@ -8650,11 +8698,11 @@ input MediaCreateInput {
8650
8698
 
8651
8699
  """Media(tenant, id, title, created_at, image, alt)"""
8652
8700
  input MediaFilterInput {
8653
- search: String
8654
8701
  AND: MediaFilterInput
8655
8702
  OR: MediaFilterInput
8656
8703
  NOT: MediaFilterInput
8657
8704
  DISTINCT: Boolean
8705
+ search: String
8658
8706
  }
8659
8707
 
8660
8708
  """Fields available for sorting media"""
@@ -8790,12 +8838,12 @@ enum MenuErrorCode {
8790
8838
 
8791
8839
  """Menu(id, tenant, name, slug)"""
8792
8840
  input MenuFilterInput {
8793
- search: String
8794
- slug: [String!]
8795
8841
  AND: MenuFilterInput
8796
8842
  OR: MenuFilterInput
8797
8843
  NOT: MenuFilterInput
8798
8844
  DISTINCT: Boolean
8845
+ search: String
8846
+ slug: [String!]
8799
8847
  }
8800
8848
 
8801
8849
  """Input for menu operations"""
@@ -8940,11 +8988,11 @@ type MenuItemDelete {
8940
8988
  MenuItem(id, sort_order, tenant, menu, name, parent, url, category, collection, page, seller, product, content, policy)
8941
8989
  """
8942
8990
  input MenuItemFilterInput {
8943
- search: String
8944
8991
  AND: MenuItemFilterInput
8945
8992
  OR: MenuItemFilterInput
8946
8993
  NOT: MenuItemFilterInput
8947
8994
  DISTINCT: Boolean
8995
+ search: String
8948
8996
  }
8949
8997
 
8950
8998
  """Fields for a menu item (used in menu creation and updates)."""
@@ -9370,6 +9418,11 @@ type Mutation {
9370
9418
  """Deletes vouchers."""
9371
9419
  voucherBulkDelete(ids: [ID!]!): VoucherBulkDelete!
9372
9420
 
9421
+ """
9422
+ Deletes voucher codes. The mirror row of a voucher's primary code cannot be deleted — rename the voucher's code instead.
9423
+ """
9424
+ voucherCodeBulkDelete(ids: [ID!]!): VoucherCodeBulkDelete!
9425
+
9373
9426
  """Deletes sales."""
9374
9427
  saleBulkDelete(ids: [ID!]!): SaleBulkDelete!
9375
9428
 
@@ -9595,6 +9648,11 @@ type Mutation {
9595
9648
  """
9596
9649
  orderDeclineFulfillment(input: DeclineFulfillInput!, order: ID = null): OrderDeclineFulfillment!
9597
9650
 
9651
+ """
9652
+ Import already-settled historical orders (seller migrations). Skips ledger, stock, webhooks and price recalculation; amounts are written verbatim and seller sub-orders are marked PAID_OUT. Requires MANAGE_ORDERS permission.
9653
+ """
9654
+ nauticalOrderBulkImport(input: [NauticalOrderImportInput!]!): NauticalOrderBulkImport!
9655
+
9598
9656
  """Bulk cancel seller orders."""
9599
9657
  orderBulkCancel(ids: [ID!]!): OrderBulkCancel!
9600
9658
 
@@ -11041,6 +11099,30 @@ type NauticalOrderBulkAssignCustomer {
11041
11099
  orderErrors: [OrderError!]!
11042
11100
  }
11043
11101
 
11102
+ """Result of the historical order bulk import."""
11103
+ type NauticalOrderBulkImport {
11104
+ """Number of orders imported."""
11105
+ count: Int!
11106
+
11107
+ """Per-row outcomes, in request order."""
11108
+ results: [NauticalOrderBulkImportResult!]!
11109
+
11110
+ """Batch-level errors (empty when the batch was processed)."""
11111
+ orderErrors: [OrderError!]!
11112
+ }
11113
+
11114
+ """Per-row outcome of a historical order import."""
11115
+ type NauticalOrderBulkImportResult {
11116
+ """Position of the row in the request."""
11117
+ index: Int!
11118
+
11119
+ """The imported order, when the row succeeded."""
11120
+ nauticalOrder: NauticalOrder
11121
+
11122
+ """Errors that failed this row."""
11123
+ orderErrors: [OrderError!]!
11124
+ }
11125
+
11044
11126
  """Result of nautical order cancel mutation."""
11045
11127
  type NauticalOrderCancel {
11046
11128
  """NauticalOrderCancel result."""
@@ -11081,9 +11163,13 @@ type NauticalOrderCountableEdge {
11081
11163
  }
11082
11164
 
11083
11165
  """
11084
- NauticalOrder(id, private_metadata, metadata, external_id, external_source, external_inventory_id, tenant, order_source, created, updated, status, sub_status, user, language_code, tracking_client_id, billing_address, shipping_address, user_email, currency, shipping_price_net_amount, shipping_price_gross_amount, marketplace_shipping_price_net_amount, marketplace_shipping_price_gross_amount, is_marketplace_shipping_price_overridden, marketplace_shipping_method, marketplace_shipping_method_name, eu_invoice_messaging, vat_identification_number, mp_vat_identification_number, token, checkout_token, total_net_amount, total_gross_amount, discounted_total_net_amount, discounted_total_gross_amount, domiciled_price_info, domiciled_to_transaction_rate, original_total_net_amount, original_total_gross_amount, voucher, sale, shipping_discount_amount, discount_amount, discount_name, translated_discount_name, display_gross_prices, customer_note, weight, imported_at, po_numbers, shipping_price_net, shipping_price_gross, marketplace_shipping_price_net, marketplace_shipping_price_gross, marketplace_shipping_price, shipping_price, total_net, total_gross, total, discounted_total_net, discounted_total_gross, discounted_total, original_total_net, original_total_gross, original_total, shipping_discount, discount)
11166
+ A marketplace order the buyer's full order, split into per-seller orders.
11085
11167
  """
11086
11168
  input NauticalOrderDraftFilterInput {
11169
+ AND: NauticalOrderDraftFilterInput
11170
+ OR: NauticalOrderDraftFilterInput
11171
+ NOT: NauticalOrderDraftFilterInput
11172
+ DISTINCT: Boolean
11087
11173
  customer: String
11088
11174
  search: String
11089
11175
  created: DateRangeInput
@@ -11093,10 +11179,6 @@ input NauticalOrderDraftFilterInput {
11093
11179
  metadata: MetadataFilterInput
11094
11180
  privateMetadata: MetadataFilterInput
11095
11181
  ids: [ID]
11096
- AND: NauticalOrderDraftFilterInput
11097
- OR: NauticalOrderDraftFilterInput
11098
- NOT: NauticalOrderDraftFilterInput
11099
- DISTINCT: Boolean
11100
11182
  }
11101
11183
 
11102
11184
  """Represents a nautical order event in the order history."""
@@ -11166,9 +11248,13 @@ type NauticalOrderEventOrderLineObject {
11166
11248
  }
11167
11249
 
11168
11250
  """
11169
- NauticalOrder(id, private_metadata, metadata, external_id, external_source, external_inventory_id, tenant, order_source, created, updated, status, sub_status, user, language_code, tracking_client_id, billing_address, shipping_address, user_email, currency, shipping_price_net_amount, shipping_price_gross_amount, marketplace_shipping_price_net_amount, marketplace_shipping_price_gross_amount, is_marketplace_shipping_price_overridden, marketplace_shipping_method, marketplace_shipping_method_name, eu_invoice_messaging, vat_identification_number, mp_vat_identification_number, token, checkout_token, total_net_amount, total_gross_amount, discounted_total_net_amount, discounted_total_gross_amount, domiciled_price_info, domiciled_to_transaction_rate, original_total_net_amount, original_total_gross_amount, voucher, sale, shipping_discount_amount, discount_amount, discount_name, translated_discount_name, display_gross_prices, customer_note, weight, imported_at, po_numbers, shipping_price_net, shipping_price_gross, marketplace_shipping_price_net, marketplace_shipping_price_gross, marketplace_shipping_price, shipping_price, total_net, total_gross, total, discounted_total_net, discounted_total_gross, discounted_total, original_total_net, original_total_gross, original_total, shipping_discount, discount)
11251
+ A marketplace order the buyer's full order, split into per-seller orders.
11170
11252
  """
11171
11253
  input NauticalOrderFilterInput {
11254
+ AND: NauticalOrderFilterInput
11255
+ OR: NauticalOrderFilterInput
11256
+ NOT: NauticalOrderFilterInput
11257
+ DISTINCT: Boolean
11172
11258
  paymentStatus: [PaymentChargeStatusEnum!]
11173
11259
  status: [OrderStatusFilter!]
11174
11260
  source: [OrderSourceFilter!]
@@ -11180,10 +11266,6 @@ input NauticalOrderFilterInput {
11180
11266
  metadata: MetadataFilterInput
11181
11267
  privateMetadata: MetadataFilterInput
11182
11268
  ids: [ID]
11183
- AND: NauticalOrderFilterInput
11184
- OR: NauticalOrderFilterInput
11185
- NOT: NauticalOrderFilterInput
11186
- DISTINCT: Boolean
11187
11269
  }
11188
11270
 
11189
11271
  """Result of nautical order fulfill mutation."""
@@ -11219,6 +11301,56 @@ input NauticalOrderFulfillLineInput {
11219
11301
  stocks: [OrderFulfillStockInput!]!
11220
11302
  }
11221
11303
 
11304
+ """One historical order to import."""
11305
+ input NauticalOrderImportInput {
11306
+ """Idempotency key from the source platform."""
11307
+ externalId: String!
11308
+
11309
+ """Customer email on the source order."""
11310
+ userEmail: String!
11311
+
11312
+ """Order lines."""
11313
+ lines: [NauticalOrderImportLineInput!]!
11314
+
11315
+ """Imported status; defaults to DELIVERED."""
11316
+ status: NauticalOrderImportStatus = null
11317
+
11318
+ """Historical placement time."""
11319
+ createdAt: DateTime = null
11320
+
11321
+ """Order currency; defaults to the marketplace default."""
11322
+ currency: String = null
11323
+
11324
+ """Order-level shipping amount."""
11325
+ shippingPrice: PositiveDecimal = null
11326
+
11327
+ """Source platform label (e.g. shopify)."""
11328
+ externalSource: String = null
11329
+ }
11330
+
11331
+ """One line of a historical order import."""
11332
+ input NauticalOrderImportLineInput {
11333
+ """SKU of an existing variant (resolved per tenant)."""
11334
+ sku: String!
11335
+
11336
+ """Quantity purchased."""
11337
+ quantity: Int!
11338
+
11339
+ """Unit price in the order currency; written verbatim (net = gross)."""
11340
+ unitPrice: PositiveDecimal!
11341
+
11342
+ """Line total override; defaults to quantity × unitPrice."""
11343
+ totalPrice: PositiveDecimal = null
11344
+ }
11345
+
11346
+ """Statuses accepted by nauticalOrderBulkImport (settled orders only)."""
11347
+ enum NauticalOrderImportStatus {
11348
+ UNFULFILLED
11349
+ FULFILLED
11350
+ DELIVERED
11351
+ CANCELED
11352
+ }
11353
+
11222
11354
  """Represents nautical order line in the marketplace order."""
11223
11355
  type NauticalOrderLine implements Node & ObjectWithMetadata {
11224
11356
  """The Globally Unique ID of this object"""
@@ -12110,10 +12242,12 @@ enum OrderDirection {
12110
12242
  DESC
12111
12243
  }
12112
12244
 
12113
- """
12114
- Order(id, private_metadata, metadata, external_id, external_source, external_inventory_id, tenant, order_source, seller, created, updated, status, sub_status, payout_status, user, language_code, tracking_client_id, billing_address, shipping_address, user_email, vat_code, eu_invoice_messaging, vat_identification_number, mp_vat_identification_number, currency, shipping_method, shipping_method_name, shipping_price_net_amount, shipping_price_gross_amount, is_shipping_price_overridden, fulfilled_by_marketplace, token, checkout_token, total_net_amount, total_gross_amount, domiciled_price_info, domiciled_to_transaction_rate, original_total_net_amount, original_total_gross_amount, voucher, discount_amount, discount_name, translated_discount_name, display_gross_prices, customer_note, weight, imported_at, nautical_order, financials, shipping_price_net, shipping_price_gross, shipping_price, total_net, total_gross, total, original_total_net, original_total_gross, original_total, discount)
12115
- """
12245
+ """A seller-level order — one seller's portion of a marketplace order."""
12116
12246
  input OrderDraftFilterInput {
12247
+ AND: OrderDraftFilterInput
12248
+ OR: OrderDraftFilterInput
12249
+ NOT: OrderDraftFilterInput
12250
+ DISTINCT: Boolean
12117
12251
  customer: String
12118
12252
  search: String
12119
12253
  created: DateRangeInput
@@ -12123,10 +12257,6 @@ input OrderDraftFilterInput {
12123
12257
  metadata: MetadataFilterInput
12124
12258
  privateMetadata: MetadataFilterInput
12125
12259
  ids: [ID]
12126
- AND: OrderDraftFilterInput
12127
- OR: OrderDraftFilterInput
12128
- NOT: OrderDraftFilterInput
12129
- DISTINCT: Boolean
12130
12260
  }
12131
12261
 
12132
12262
  """Represents errors from order operations."""
@@ -12295,6 +12425,7 @@ enum OrderEventsEnum {
12295
12425
  PLACED_FROM_QUOTE
12296
12426
  OVERSOLD_ITEMS
12297
12427
  CANCELED
12428
+ EXPIRED
12298
12429
  ORDER_MARKED_AS_PAID
12299
12430
  ORDER_MARKED_AS_DELIVERED
12300
12431
  ORDER_FULLY_PAID
@@ -12399,10 +12530,12 @@ input OrderFeeInput {
12399
12530
  feeValue: Decimal!
12400
12531
  }
12401
12532
 
12402
- """
12403
- Order(id, private_metadata, metadata, external_id, external_source, external_inventory_id, tenant, order_source, seller, created, updated, status, sub_status, payout_status, user, language_code, tracking_client_id, billing_address, shipping_address, user_email, vat_code, eu_invoice_messaging, vat_identification_number, mp_vat_identification_number, currency, shipping_method, shipping_method_name, shipping_price_net_amount, shipping_price_gross_amount, is_shipping_price_overridden, fulfilled_by_marketplace, token, checkout_token, total_net_amount, total_gross_amount, domiciled_price_info, domiciled_to_transaction_rate, original_total_net_amount, original_total_gross_amount, voucher, discount_amount, discount_name, translated_discount_name, display_gross_prices, customer_note, weight, imported_at, nautical_order, financials, shipping_price_net, shipping_price_gross, shipping_price, total_net, total_gross, total, original_total_net, original_total_gross, original_total, discount)
12404
- """
12533
+ """A seller-level order — one seller's portion of a marketplace order."""
12405
12534
  input OrderFilterInput {
12535
+ AND: OrderFilterInput
12536
+ OR: OrderFilterInput
12537
+ NOT: OrderFilterInput
12538
+ DISTINCT: Boolean
12406
12539
  paymentStatus: [PaymentChargeStatusEnum!]
12407
12540
  status: [OrderStatusFilter!]
12408
12541
  source: [OrderSourceFilter!]
@@ -12417,10 +12550,6 @@ input OrderFilterInput {
12417
12550
  ids: [ID]
12418
12551
  vendorPayouts: [ID]
12419
12552
  payouts: [ID]
12420
- AND: OrderFilterInput
12421
- OR: OrderFilterInput
12422
- NOT: OrderFilterInput
12423
- DISTINCT: Boolean
12424
12553
  }
12425
12554
 
12426
12555
  """Result of order fulfill mutation."""
@@ -12538,7 +12667,7 @@ type OrderLine implements Node & ObjectWithMetadata {
12538
12667
  order: Order!
12539
12668
 
12540
12669
  """The nautical order line for this seller order line."""
12541
- nauticalOrderLine: NauticalOrderLine!
12670
+ nauticalOrderLine: NauticalOrderLine
12542
12671
 
12543
12672
  """A purchased product variant."""
12544
12673
  variant: ProductVariant
@@ -13075,11 +13204,11 @@ enum PageErrorCode {
13075
13204
  Page(id, publication_date, is_published, private_metadata, metadata, created_at, updated_at, content, content_html, tenant, seo_title, seo_description, slug, title, image_url, image_alt)
13076
13205
  """
13077
13206
  input PageFilterInput {
13078
- search: String
13079
13207
  AND: PageFilterInput
13080
13208
  OR: PageFilterInput
13081
13209
  NOT: PageFilterInput
13082
13210
  DISTINCT: Boolean
13211
+ search: String
13083
13212
  }
13084
13213
 
13085
13214
  """Result of page image delete mutation."""
@@ -13175,6 +13304,15 @@ type PasswordChange {
13175
13304
  accountErrors: [AccountError!]!
13176
13305
  }
13177
13306
 
13307
+ """
13308
+ Who may authenticate with email + password (tokenCreate). SSO login mutations are unaffected.
13309
+ """
13310
+ enum PasswordLoginModeEnum {
13311
+ ENABLED
13312
+ CUSTOMERS_ONLY
13313
+ DISABLED
13314
+ }
13315
+
13178
13316
  """Result of password request reset mutation."""
13179
13317
  type PasswordRequestReset {
13180
13318
  """The user (hidden for security)."""
@@ -13671,14 +13809,14 @@ enum PayoutErrorCode {
13671
13809
  Payout(id, private_metadata, metadata, tenant, created, updated, start_date, end_date, status, name, currency)
13672
13810
  """
13673
13811
  input PayoutFilterInput {
13674
- status: [PayoutStatusFilter!]
13675
- search: String
13676
- created: DateRangeInput
13677
- netSales: PriceRangeInput
13678
13812
  AND: PayoutFilterInput
13679
13813
  OR: PayoutFilterInput
13680
13814
  NOT: PayoutFilterInput
13681
13815
  DISTINCT: Boolean
13816
+ status: [PayoutStatusFilter!]
13817
+ search: String
13818
+ created: DateRangeInput
13819
+ netSales: PriceRangeInput
13682
13820
  }
13683
13821
 
13684
13822
  """Result of payout process mutation."""
@@ -13867,11 +14005,11 @@ enum PermissionGroupErrorCode {
13867
14005
 
13868
14006
  """Group(id, tenant, name)"""
13869
14007
  input PermissionGroupFilterInput {
13870
- search: String
13871
14008
  AND: PermissionGroupFilterInput
13872
14009
  OR: PermissionGroupFilterInput
13873
14010
  NOT: PermissionGroupFilterInput
13874
14011
  DISTINCT: Boolean
14012
+ search: String
13875
14013
  }
13876
14014
 
13877
14015
  """Fields available for sorting permission groups"""
@@ -14217,15 +14355,15 @@ enum PolicyErrorCode {
14217
14355
  Policy(id, publication_date, is_published, created_at, updated_at, content, content_html, tenant, seo_title, seo_description, category, slug, title, seller)
14218
14356
  """
14219
14357
  input PolicyFilterInput {
14358
+ AND: PolicyFilterInput
14359
+ OR: PolicyFilterInput
14360
+ NOT: PolicyFilterInput
14361
+ DISTINCT: Boolean
14220
14362
  search: String
14221
14363
  isPublished: Boolean
14222
14364
  category: String
14223
14365
  seller: String
14224
14366
  marketplaceOnly: Boolean
14225
- AND: PolicyFilterInput
14226
- OR: PolicyFilterInput
14227
- NOT: PolicyFilterInput
14228
- DISTINCT: Boolean
14229
14367
  }
14230
14368
 
14231
14369
  """Fields required to create or update a policy."""
@@ -15069,14 +15207,19 @@ input ProductFilterInput {
15069
15207
  When enabled, other sellers can create their own variants on this product (cross-sell). Requires marketplace-level enable_master_products to be True.
15070
15208
  """
15071
15209
  allowSellerVariants: Boolean
15210
+ AND: ProductFilterInput
15211
+ OR: ProductFilterInput
15212
+ NOT: ProductFilterInput
15213
+ DISTINCT: Boolean
15214
+ search: String
15215
+ advancedSearch: ProductSearchInput
15072
15216
  ids: [ID]
15073
15217
  categories: [ID]
15074
15218
  collections: [ID]
15075
15219
  productTypes: [ID]
15220
+ productType: ID
15076
15221
  sellers: [ID]
15077
15222
  seller: ID
15078
- search: String
15079
- advancedSearch: ProductSearchInput
15080
15223
  price: PriceRangeInput
15081
15224
  minimalPrice: PriceRangeInput
15082
15225
  createdAt: DateTimeRangeInput
@@ -15092,14 +15235,9 @@ input ProductFilterInput {
15092
15235
  hasWarnings: Boolean
15093
15236
  hasCategory: Boolean
15094
15237
  slug: [String!]
15238
+ dates: CustomDateRangeInput @deprecated(reason: "This will be removed on July 29, 2025")
15095
15239
  isStaff: Boolean
15096
15240
  isSimple: Boolean
15097
- dates: CustomDateRangeInput @deprecated(reason: "This will be removed on July 29, 2025")
15098
- productType: ID
15099
- AND: ProductFilterInput
15100
- OR: ProductFilterInput
15101
- NOT: ProductFilterInput
15102
- DISTINCT: Boolean
15103
15241
  }
15104
15242
 
15105
15243
  """Represents a product image."""
@@ -15108,7 +15246,7 @@ type ProductImage implements Node {
15108
15246
  id: ID!
15109
15247
 
15110
15248
  """Alt text for the image"""
15111
- alt: String
15249
+ alt: String!
15112
15250
 
15113
15251
  """Sort order of the image"""
15114
15252
  sortOrder: Int
@@ -15618,10 +15756,10 @@ type ProductType implements Node & ObjectWithMetadata {
15618
15756
  isShippingRequired: Boolean!
15619
15757
 
15620
15758
  """Description of the product type"""
15621
- description: String
15759
+ description: String!
15622
15760
 
15623
15761
  """Description as HTML"""
15624
- descriptionHtml: String
15762
+ descriptionHtml: String!
15625
15763
 
15626
15764
  """External system identifier"""
15627
15765
  externalId: String
@@ -15832,6 +15970,10 @@ ProductType(id, private_metadata, metadata, description, description_html, exter
15832
15970
  input ProductTypeFilterInput {
15833
15971
  isDigital: Boolean
15834
15972
  isShippingRequired: Boolean
15973
+ AND: ProductTypeFilterInput
15974
+ OR: ProductTypeFilterInput
15975
+ NOT: ProductTypeFilterInput
15976
+ DISTINCT: Boolean
15835
15977
  search: String
15836
15978
  ids: [ID]
15837
15979
  configurable: ProductTypeConfigurable
@@ -15839,10 +15981,6 @@ input ProductTypeFilterInput {
15839
15981
  showExternal: Boolean
15840
15982
  metadata: MetadataFilterInput
15841
15983
  privateMetadata: MetadataFilterInput
15842
- AND: ProductTypeFilterInput
15843
- OR: ProductTypeFilterInput
15844
- NOT: ProductTypeFilterInput
15845
- DISTINCT: Boolean
15846
15984
  }
15847
15985
 
15848
15986
  input ProductTypeInput {
@@ -15937,7 +16075,7 @@ type ProductVariant implements Node & ObjectWithMetadata {
15937
16075
  sku: String
15938
16076
 
15939
16077
  """Nautical Stock Number (NSN)"""
15940
- nauticalStockNumber: String
16078
+ nauticalStockNumber: String!
15941
16079
 
15942
16080
  """Whether to track inventory for this variant"""
15943
16081
  trackInventory: Boolean!
@@ -16025,7 +16163,7 @@ type ProductVariant implements Node & ObjectWithMetadata {
16025
16163
  pricing: VariantPricingInfo
16026
16164
 
16027
16165
  """The product this variant belongs to"""
16028
- product: Product
16166
+ product: Product!
16029
16167
 
16030
16168
  """The seller that owns this variant"""
16031
16169
  seller: Seller
@@ -16387,6 +16525,12 @@ input ProductVariantFilterInput {
16387
16525
  isPublished: Boolean
16388
16526
  status: String
16389
16527
  trackInventory: Boolean
16528
+ AND: ProductVariantFilterInput
16529
+ OR: ProductVariantFilterInput
16530
+ NOT: ProductVariantFilterInput
16531
+ DISTINCT: Boolean
16532
+ search: String
16533
+ advancedSearch: ProductVariantSearchInput
16390
16534
  ids: [ID]
16391
16535
  product: ID
16392
16536
  productIds: [ID]
@@ -16394,8 +16538,6 @@ input ProductVariantFilterInput {
16394
16538
  seller: ID
16395
16539
  sku: [String!]
16396
16540
  nsn: [String!]
16397
- search: String
16398
- advancedSearch: ProductVariantSearchInput
16399
16541
  categories: [ID]
16400
16542
  collections: [ID]
16401
16543
  productTypes: [ID]
@@ -16409,10 +16551,6 @@ input ProductVariantFilterInput {
16409
16551
  createdAt: DateTimeRangeInput
16410
16552
  updatedAt: DateTimeRangeInput
16411
16553
  isStaff: Boolean
16412
- AND: ProductVariantFilterInput
16413
- OR: ProductVariantFilterInput
16414
- NOT: ProductVariantFilterInput
16415
- DISTINCT: Boolean
16416
16554
  }
16417
16555
 
16418
16556
  """Result of product variant image assign mutation."""
@@ -16682,7 +16820,7 @@ type ProductVideo implements Node {
16682
16820
  id: ID!
16683
16821
 
16684
16822
  """Alt text for the video"""
16685
- alt: String
16823
+ alt: String!
16686
16824
 
16687
16825
  """Sort order of the video"""
16688
16826
  sortOrder: Int
@@ -17355,6 +17493,7 @@ type Query {
17355
17493
  """List of the shop's customers"""
17356
17494
  customers(
17357
17495
  filter: CustomerFilterInput
17496
+ search: String = null
17358
17497
  sortBy: UserSortingInput = null
17359
17498
 
17360
17499
  """Returns the items in the list that come before the specified cursor."""
@@ -17472,6 +17611,7 @@ type Query {
17472
17611
  orderByToken(token: NauticalUUID!): Order
17473
17612
  orders(
17474
17613
  filter: OrderFilterInput
17614
+ search: String = null
17475
17615
  sortBy: OrderSortingInput = null
17476
17616
  identifier: ID = null
17477
17617
 
@@ -17536,6 +17676,7 @@ type Query {
17536
17676
  nauticalOrderByToken(token: NauticalUUID!): NauticalOrder
17537
17677
  nauticalOrders(
17538
17678
  filter: NauticalOrderFilterInput
17679
+ search: String = null
17539
17680
  sortBy: OrderSortingInput = null
17540
17681
 
17541
17682
  """Returns the items in the list that come before the specified cursor."""
@@ -18581,6 +18722,10 @@ enum RefundErrorCode {
18581
18722
  Refund(private_metadata, metadata, created_at, updated_at, description, description_html, deleted_at, deleted_by_user, deleted_by_app, deletion_batch_uuid, tenant, id, name, external_id, status, token, buyer, order)
18582
18723
  """
18583
18724
  input RefundFilterInput {
18725
+ AND: RefundFilterInput
18726
+ OR: RefundFilterInput
18727
+ NOT: RefundFilterInput
18728
+ DISTINCT: Boolean
18584
18729
  name: String
18585
18730
  buyer: String
18586
18731
  externalId: String
@@ -18588,10 +18733,6 @@ input RefundFilterInput {
18588
18733
  status: RefundStatusEnum
18589
18734
  createdAt: DateTimeRangeInput
18590
18735
  updatedAt: DateTimeRangeInput
18591
- AND: RefundFilterInput
18592
- OR: RefundFilterInput
18593
- NOT: RefundFilterInput
18594
- DISTINCT: Boolean
18595
18736
  }
18596
18737
 
18597
18738
  """Represents a refund line."""
@@ -18951,14 +19092,14 @@ enum ReportingPeriod {
18951
19092
  Fulfillment(id, private_metadata, metadata, external_id, external_source, external_inventory_id, tenant, fulfillment_order, related_to, order, nautical_order, status, tracking_company, tracking_number, tracking_url, shipping_label_url, created, updated, total_lines_quantity, total_lines_price, user)
18952
19093
  """
18953
19094
  input ReturnFulfillmentFilterInput {
18954
- status: [FulfillmentStatusFilter!]
18955
- customer: String
18956
- search: String
18957
- created: DateRangeInput
18958
19095
  AND: ReturnFulfillmentFilterInput
18959
19096
  OR: ReturnFulfillmentFilterInput
18960
19097
  NOT: ReturnFulfillmentFilterInput
18961
19098
  DISTINCT: Boolean
19099
+ status: [FulfillmentStatusFilter!]
19100
+ customer: String
19101
+ search: String
19102
+ created: DateRangeInput
18962
19103
  }
18963
19104
 
18964
19105
  """Fields available for sorting return fulfillments"""
@@ -19026,7 +19167,7 @@ type Sale implements Node {
19026
19167
  name: String!
19027
19168
 
19028
19169
  """Currency code for this sale"""
19029
- currency: String
19170
+ currency: String!
19030
19171
 
19031
19172
  """Discount type: fixed or percentage"""
19032
19173
  type: DiscountValueTypeEnum!
@@ -19047,7 +19188,7 @@ type Sale implements Node {
19047
19188
  minSpent: Money
19048
19189
 
19049
19190
  """Minimum number of items in checkout to apply this sale"""
19050
- minCheckoutItemsQuantity: Int
19191
+ minCheckoutItemsQuantity: Int!
19051
19192
 
19052
19193
  """List of categories this sale applies to"""
19053
19194
  categories(
@@ -19171,14 +19312,14 @@ type SaleDelete {
19171
19312
  Sale(id, deleted_at, deleted_by_user, deleted_by_app, deletion_batch_uuid, tenant, name, type, sale_type, value, start_date, end_date, currency, min_spent_amount, min_checkout_items_quantity, discount, min_spent)
19172
19313
  """
19173
19314
  input SaleFilterInput {
19174
- status: [DiscountStatusEnum!]
19175
- saleType: DiscountValueTypeEnum
19176
- started: DateTimeRangeInput
19177
- search: String
19178
19315
  AND: SaleFilterInput
19179
19316
  OR: SaleFilterInput
19180
19317
  NOT: SaleFilterInput
19181
19318
  DISTINCT: Boolean
19319
+ status: [DiscountStatusEnum!]
19320
+ saleType: DiscountValueTypeEnum
19321
+ started: DateTimeRangeInput
19322
+ search: String
19182
19323
  }
19183
19324
 
19184
19325
  """Input for creating or updating a sale."""
@@ -20046,6 +20187,10 @@ enum SellerExternalPayoutSource {
20046
20187
  Seller(id, private_metadata, metadata, created_at, updated_at, tenant, external_payout_account_id, external_payout_source, external_payout_onboarding_url, company_name, slug, is_marketplace_seller, logo, identification, default_shipping_address, default_billing_address, owner, default_currency, fulfilled_by_marketplace, status, agreement_decision_reason, banner, store_description, external_payouts_enabled, external_payout_schedule, external_payout_status_synced_at)
20047
20188
  """
20048
20189
  input SellerFilterInput {
20190
+ AND: SellerFilterInput
20191
+ OR: SellerFilterInput
20192
+ NOT: SellerFilterInput
20193
+ DISTINCT: Boolean
20049
20194
  status: [SellerStatusFilter!]
20050
20195
  search: String
20051
20196
  created: DateRangeInput
@@ -20055,10 +20200,6 @@ input SellerFilterInput {
20055
20200
  metadata: MetadataFilterInput
20056
20201
  privateMetadata: MetadataFilterInput
20057
20202
  ids: [ID]
20058
- AND: SellerFilterInput
20059
- OR: SellerFilterInput
20060
- NOT: SellerFilterInput
20061
- DISTINCT: Boolean
20062
20203
  }
20063
20204
 
20064
20205
  """Input for creating a seller"""
@@ -20151,7 +20292,7 @@ type SellerOnboardingChecklist implements Node {
20151
20292
  seller: Seller!
20152
20293
 
20153
20294
  """Tenant this checklist belongs to"""
20154
- tenant: Tenant
20295
+ tenant: Tenant!
20155
20296
  }
20156
20297
 
20157
20298
  """Result of seller onboarding checklist complete mutation."""
@@ -20730,7 +20871,7 @@ type ShippingZone implements Node & ObjectWithMetadata {
20730
20871
  name: String!
20731
20872
 
20732
20873
  """The seller associated with this shipping zone"""
20733
- seller: Seller
20874
+ seller: Seller!
20734
20875
 
20735
20876
  """List of countries available for the method"""
20736
20877
  countries: [CountryDisplay!]!
@@ -20846,12 +20987,12 @@ type ShippingZoneDelete {
20846
20987
  ShippingZone(id, private_metadata, metadata, tenant, name, countries, seller)
20847
20988
  """
20848
20989
  input ShippingZoneFilterInput {
20849
- search: String
20850
- seller: ID
20851
20990
  AND: ShippingZoneFilterInput
20852
20991
  OR: ShippingZoneFilterInput
20853
20992
  NOT: ShippingZoneFilterInput
20854
20993
  DISTINCT: Boolean
20994
+ search: String
20995
+ seller: ID
20855
20996
  }
20856
20997
 
20857
20998
  """Result of shipping zone update mutation."""
@@ -21085,7 +21226,7 @@ type ShopifyWebhookTransaction implements Node & Job {
21085
21226
  seller: Seller!
21086
21227
 
21087
21228
  """Tenant this webhook belongs to"""
21088
- tenant: Tenant
21229
+ tenant: Tenant!
21089
21230
  }
21090
21231
 
21091
21232
  """A connection to a list of items."""
@@ -21406,18 +21547,16 @@ input StaffUpdateInput {
21406
21547
  taxExemptCode: String = null
21407
21548
  }
21408
21549
 
21409
- """
21410
- User(id, password, last_login, private_metadata, metadata, external_id, external_source, external_inventory_id, tenant, external_payout_account_id, external_payout_source, external_payout_onboarding_url, company_name, is_superuser, email, first_name, last_name, is_staff, is_active, note, date_joined, last_status_changed_at, default_shipping_address, default_billing_address, avatar, jwt_token_key, personal_phone, tax_exempt_code, vat_identification_number, ledger)
21411
- """
21550
+ """A customer, staff member or marketplace operator account."""
21412
21551
  input StaffUserInput {
21413
- status: StaffMemberStatus
21414
- isUserActive: Boolean
21415
- search: String
21416
- customFields: [AttributeInput!]
21417
21552
  AND: StaffUserInput
21418
21553
  OR: StaffUserInput
21419
21554
  NOT: StaffUserInput
21420
21555
  DISTINCT: Boolean
21556
+ status: StaffMemberStatus
21557
+ isUserActive: Boolean
21558
+ search: String
21559
+ customFields: [AttributeInput!]
21421
21560
  }
21422
21561
 
21423
21562
  """Result of start CSV import mutation."""
@@ -21561,11 +21700,11 @@ This allows distinguishing Shopify-managed inventory from manually-created stock
21561
21700
  input StockFilterInput {
21562
21701
  id: ID
21563
21702
  quantity: Decimal
21564
- search: String
21565
21703
  AND: StockFilterInput
21566
21704
  OR: StockFilterInput
21567
21705
  NOT: StockFilterInput
21568
21706
  DISTINCT: Boolean
21707
+ search: String
21569
21708
  }
21570
21709
 
21571
21710
  input StockInput {
@@ -23067,7 +23206,7 @@ type Voucher implements Node {
23067
23206
  name: String
23068
23207
 
23069
23208
  """Voucher code"""
23070
- code: String!
23209
+ code: String! @deprecated(reason: "Use `codes` — a voucher can carry multiple codes.")
23071
23210
 
23072
23211
  """Maximum usage limit"""
23073
23212
  usageLimit: Int
@@ -23084,6 +23223,9 @@ type Voucher implements Node {
23084
23223
  """Whether to apply once per customer"""
23085
23224
  applyOncePerCustomer: Boolean!
23086
23225
 
23226
+ """Whether each code can be redeemed only once"""
23227
+ singleUse: Boolean!
23228
+
23087
23229
  """Minimum checkout items quantity required"""
23088
23230
  minCheckoutItemsQuantity: Int
23089
23231
 
@@ -23108,6 +23250,21 @@ type Voucher implements Node {
23108
23250
  """List of countries this voucher applies to."""
23109
23251
  countries: [CountryDisplay!]!
23110
23252
 
23253
+ """Codes that can be redeemed for this voucher."""
23254
+ codes(
23255
+ """Returns the items in the list that come before the specified cursor."""
23256
+ before: String = null
23257
+
23258
+ """Returns the items in the list that come after the specified cursor."""
23259
+ after: String = null
23260
+
23261
+ """Returns the first n items from the list."""
23262
+ first: Int = null
23263
+
23264
+ """Returns the items in the list that come after the specified cursor."""
23265
+ last: Int = null
23266
+ ): VoucherCodeCountableConnection!
23267
+
23111
23268
  """List of categories this voucher applies to."""
23112
23269
  categories(
23113
23270
  """Returns the items in the list that come before the specified cursor."""
@@ -23187,6 +23344,54 @@ type VoucherBulkDelete {
23187
23344
  discountErrors: [DiscountError!]!
23188
23345
  }
23189
23346
 
23347
+ """A redeemable code belonging to a voucher."""
23348
+ type VoucherCode implements Node {
23349
+ """The Globally Unique ID of this object"""
23350
+ id: ID!
23351
+
23352
+ """The code value."""
23353
+ code: String!
23354
+
23355
+ """Number of times this code was used."""
23356
+ used: Int!
23357
+
23358
+ """Whether the code can still be redeemed."""
23359
+ isActive: Boolean!
23360
+
23361
+ """When the code was created."""
23362
+ createdAt: DateTime!
23363
+ }
23364
+
23365
+ """Result of voucher code bulk delete mutation."""
23366
+ type VoucherCodeBulkDelete {
23367
+ """Number of voucher codes deleted."""
23368
+ count: Int!
23369
+
23370
+ """List of errors that occurred executing the mutation."""
23371
+ discountErrors: [DiscountError!]!
23372
+ }
23373
+
23374
+ """A connection to a list of items."""
23375
+ type VoucherCodeCountableConnection {
23376
+ """Pagination data for this connection"""
23377
+ pageInfo: PageInfo!
23378
+
23379
+ """Contains the nodes in this connection"""
23380
+ edges: [VoucherCodeCountableEdge!]!
23381
+
23382
+ """Total quantity of existing nodes."""
23383
+ totalCount: Int!
23384
+ }
23385
+
23386
+ """An edge in a connection."""
23387
+ type VoucherCodeCountableEdge {
23388
+ """A cursor for use in pagination"""
23389
+ cursor: String!
23390
+
23391
+ """The item at the end of the edge"""
23392
+ node: VoucherCode!
23393
+ }
23394
+
23190
23395
  """A connection to a list of items."""
23191
23396
  type VoucherCountableConnection {
23192
23397
  """Pagination data for this connection"""
@@ -23234,18 +23439,18 @@ enum VoucherDiscountType {
23234
23439
  }
23235
23440
 
23236
23441
  """
23237
- Voucher(id, tenant, type, name, code, usage_limit, used, start_date, end_date, apply_once_per_order, apply_once_per_customer, discount_value_type, discount_value, countries, currency, min_spent_amount, min_checkout_items_quantity, discount, min_spent)
23442
+ Voucher(id, tenant, type, name, code, usage_limit, used, start_date, end_date, apply_once_per_order, apply_once_per_customer, single_use, discount_value_type, discount_value, countries, currency, min_spent_amount, min_checkout_items_quantity, discount, min_spent)
23238
23443
  """
23239
23444
  input VoucherFilterInput {
23445
+ AND: VoucherFilterInput
23446
+ OR: VoucherFilterInput
23447
+ NOT: VoucherFilterInput
23448
+ DISTINCT: Boolean
23240
23449
  status: [DiscountStatusEnum!]
23241
23450
  discountType: [VoucherDiscountType!]
23242
23451
  timesUsed: IntRangeInput
23243
23452
  started: DateTimeRangeInput
23244
23453
  search: String
23245
- AND: VoucherFilterInput
23246
- OR: VoucherFilterInput
23247
- NOT: VoucherFilterInput
23248
- DISTINCT: Boolean
23249
23454
  }
23250
23455
 
23251
23456
  """Input for creating or updating a voucher."""
@@ -23259,6 +23464,12 @@ input VoucherInput {
23259
23464
  """Code to use the voucher. If empty, a code will be generated."""
23260
23465
  code: String = null
23261
23466
 
23467
+ """Additional codes to attach to the voucher."""
23468
+ addCodes: [String!] = null
23469
+
23470
+ """Whether each voucher code can be redeemed only once."""
23471
+ singleUse: Boolean = null
23472
+
23262
23473
  """Start date of the voucher in ISO 8601 format."""
23263
23474
  startDate: DateTime = null
23264
23475
 
@@ -23368,10 +23579,10 @@ type Warehouse implements Node & ObjectWithMetadata {
23368
23579
  externalInventoryId: String
23369
23580
 
23370
23581
  """The seller who owns this warehouse"""
23371
- seller: Seller
23582
+ seller: Seller!
23372
23583
 
23373
23584
  """The physical address of this warehouse"""
23374
- address: Address
23585
+ address: Address!
23375
23586
 
23376
23587
  """Shipping zones served by this warehouse."""
23377
23588
  shippingZones(
@@ -23484,14 +23695,14 @@ Warehouse(private_metadata, metadata, external_id, external_source, external_inv
23484
23695
  """
23485
23696
  input WarehouseFilterInput {
23486
23697
  id: ID
23487
- ids: [ID]
23488
23698
  sellerId: ID
23489
- search: String
23490
- seller: ID
23491
23699
  AND: WarehouseFilterInput
23492
23700
  OR: WarehouseFilterInput
23493
23701
  NOT: WarehouseFilterInput
23494
23702
  DISTINCT: Boolean
23703
+ ids: [ID]
23704
+ search: String
23705
+ seller: ID
23495
23706
  }
23496
23707
 
23497
23708
  """Fields available for sorting warehouses"""
@@ -23847,7 +24058,7 @@ type WebhookJob implements Node & Job {
23847
24058
  seller: Seller
23848
24059
 
23849
24060
  """Tenant this webhook belongs to"""
23850
- tenant: Tenant
24061
+ tenant: Tenant!
23851
24062
 
23852
24063
  """Request body payload"""
23853
24064
  body: JSONString
@@ -24024,7 +24235,7 @@ type Wishlist implements Node {
24024
24235
  isDefault: Boolean!
24025
24236
 
24026
24237
  """Creation date"""
24027
- createdAt: DateTime
24238
+ createdAt: DateTime!
24028
24239
 
24029
24240
  """User who owns this wishlist"""
24030
24241
  user: User
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nautical-commerce/graphql-schema",
3
- "version": "4.1.1",
3
+ "version": "4.2.1",
4
4
  "description": "Traide API GraphQL Schema",
5
5
  "main": "./nautical/schema.graphql",
6
6
  "scripts": {