GraphQL API Reference¶
Auto-generated from the Strawberry schema. Do not edit manually.
Schema size: 4668 SDL lines
Queries¶
me: UserType
channelInfo: ChannelInfoType
staffUsers(offset: Int! = 0, limit: Int! = 25, search: String = null, sortBy: String! = "email", sortDir: String! = "asc"): StaffUserListResult!
roles: [RoleType!]!
allPermissions: [PermissionType!]!
oauthProviders(allowedFor: String! = "all"): [OAuthProviderInfo!]!
oauthProviderConfigs: [OAuthProviderConfigType!]!
myLinkedProviders: [LinkedProviderType!]!
myTwoFactorStatus: TwoFactorStatusType!
channels: [ChannelType!]!
channel(id: ID!): ChannelType
account(id: ID!): AccountType!
accounts(search: String = null, status: Int = null, creditHoldStatus: String = null, customerGroupId: Int = null, taxExempt: Boolean = null, currency: String = null, riskLevel: String = null, tagIds: [Int!] = null, createdFrom: String = null, createdTo: String = null, updatedFrom: String = null, updatedTo: String = null, sortBy: String! = "name", sortDir: String! = "asc", limit: Int! = 25, offset: Int! = 0): AccountListResult!
customerGroups: [CustomerGroupType!]!
customerGroup(id: ID!): CustomerGroupType!
customers(search: String = null, limit: Int! = 50, offset: Int! = 0): [CustomerType!]!
accountAdminNotes(accountId: Int!, limit: Int! = 50, offset: Int! = 0, includeArchived: Boolean! = false): AccountNoteListResult!
pendingAddresses(accountId: Int = null, limit: Int! = 50, offset: Int! = 0): PendingAddressListResult!
locationContacts(locationId: Int!): [LocationContactType!]!
accountGating(accountId: ID!): AccountGatingType!
accountStatuses(activeOnly: Boolean! = false): [AccountStatusType!]!
accountRoles(activeOnly: Boolean! = false): [AccountRoleType!]!
product(id: ID = null, slug: String = null): ProductType
products(status: String = null, categoryId: Int = null, brandId: Int = null, search: String = null, tagIds: [Int!] = null, respectCompliance: Boolean! = false, sortBy: String! = "name", sortDir: String! = "asc", limit: Int! = 25, offset: Int! = 0): ProductListResult!
categories: [CategoryType!]!
category(id: ID!): CategoryType
brands(featuredOnly: Boolean! = false): [BrandType!]!
brand(id: ID!): BrandType
brandBySlug(slug: String!): BrandType
attributes: [AttributeType!]!
traitDefinitions: [TraitDefinitionType!]!
collections(activeOnly: Boolean! = false): [CollectionType!]!
quickLinks(productId: Int = null, linkType: String = null, limit: Int! = 100, offset: Int! = 0): [ProductQuickLinkType!]!
collection(id: ID!): CollectionType
resolvePrice(variantId: ID!, quantity: Int! = 1, accountId: ID = null, locationId: ID = null, customerGroupId: Int = null): ResolvedPriceType!
priceList(id: ID!): PriceListType!
priceLists(channelId: Int = null, enabledOnly: Boolean! = true): [PriceListType!]!
volumeTiersForVariant(variantId: Int!, channelId: Int = null, accountId: Int = null): [VolumePricingTierType!]!
exchangeRates(baseCurrency: String = null): [ExchangeRateType!]!
paymentTerms(enabledOnly: Boolean! = false): [PaymentTermsType!]!
myCart: CartType
estimateCartTax(address: TaxEstimateAddressInput!): MoneyType
cart(id: ID!): CartType
adminCarts(channelId: Int = null, accountId: Int = null, customerId: Int = null, search: String = null, hasLines: Boolean = null, sortBy: String! = "updated_at", sortDir: String! = "desc", limit: Int! = 25, offset: Int! = 0): AdminCartListResult!
adminCart(id: ID!): AdminCartType
cartSnapshots(cartId: ID!, limit: Int! = 50): [CartSnapshotType!]!
cartValidation(cartId: ID!): [CartValidationIssueType!]!
cartAuditLog(cartId: ID!, limit: Int! = 50): [CartAuditEntryType!]!
adminCartShippingRates(cartId: ID!, country: String! = "US", state: String! = "", city: String! = "", postalCode: String! = ""): [AdminShippingRateType!]!
adminCartTotals(cartId: ID!, shippingCarrier: String = null, shippingMethodCode: String = null, addressCountry: String! = "US", addressState: String! = "", addressCity: String! = "", addressPostalCode: String! = "", acceptedFeeIds: [Int!] = null): CartTotalsType
order(id: ID = null, orderNumber: String = null): OrderType
accountCommerceSummary(accountId: Int!, currency: String! = "USD"): AccountCommerceSummaryType!
orders(accountId: Int = null, status: String = null, fraudStatus: String = null, paymentStatus: String = null, paymentMethod: String = null, approvalStatus: String = null, search: String = null, channelId: Int = null, tagIds: [Int!] = null, dateFrom: String = null, dateTo: String = null, sortBy: String! = "created_at", sortDir: String! = "desc", limit: Int! = 25, offset: Int! = 0): OrderListResult!
dashboardStats: DashboardStatsType!
orderAnalytics(accountId: Int = null, status: String = null, fraudStatus: String = null, paymentStatus: String = null, paymentMethod: String = null, approvalStatus: String = null, channelId: Int = null, dateFrom: String = null, dateTo: String = null, search: String = null): OrderAnalyticsType!
warehouses(search: String = null, activeOnly: Boolean! = false): [WarehouseType!]!
stockLevels(warehouseId: Int = null, productId: Int = null, search: String = null, sortBy: String! = "sku", sortDir: String! = "asc", limit: Int! = 50, offset: Int! = 0): StockLevelListResult!
stockLevelsForProduct(productId: Int!, warehouseId: Int = null): [ProductVariantStockType!]!
stockAdjustmentLog(variantId: Int = null, warehouseId: Int = null, limit: Int! = 50, offset: Int! = 0): StockAdjustmentLogListResult!
discountRules(enabledOnly: Boolean! = true): [DiscountRuleType!]!
quotes(accountId: Int = null, status: String = null, limit: Int! = 25, offset: Int! = 0): QuoteListResult!
quote(id: ID!): QuoteType
settings(module: String = null): [SettingEntryType!]!
myProfile: StaffProfileType!
myPreferences: ResolvedPreferencesType!
installedExtensions: [InstalledExtensionType!]!
customFieldDefinitions(entityType: String = null): [CustomFieldDefinitionType!]!
allExtensions: [CatalogExtensionType!]!
channelExtensions(channelId: ID!): [ChannelExtensionType!]!
checkApproval(accountId: Int!, employeeId: Int!, orderTotal: String!, locationId: Int = null): ApprovalCheckType!
approvalRules(accountId: Int!): [ApprovalRuleType!]!
approvalRule(ruleId: Int!): ApprovalRuleType
orderApprovalDecisions(orderId: Int!): [OrderApprovalDecisionType!]!
auditLog(entityType: String = null, entityId: Int = null, limit: Int! = 50): [AuditEntryType!]!
complianceRules(enabledOnly: Boolean! = false, channelId: Int = null): [ComplianceRuleType!]!
complianceRule(id: ID!): ComplianceRuleType
productCompliance(productId: Int!): ProductComplianceType!
complianceRulesCount: Int!
pages(status: String = null): [PageType!]!
page(slug: String!): PageType
pageById(id: Int!): PageType
navigations: [NavigationType!]!
navigation(slug: String!): NavigationType
mediaFiles(search: String = null, fileType: String = null, limit: Int! = 50, offset: Int! = 0): MediaFileListResult!
pageByPreviewToken(token: String!): PageType
activeTheme(channelId: Int = null): ThemeSettingsType
themes(channelId: Int = null): [ThemeSettingsType!]!
themeById(id: Int!): ThemeSettingsType
shippingZones(channelId: Int = null): [ShippingZoneType!]!
shippingProviders(channelId: Int = null): [ShippingProviderType!]!
shippingMethods(providerId: Int = null, zoneId: Int = null): [ShippingMethodType!]!
shippingBoxes: [ShippingBoxType!]!
shippingRatesForCheckout(country: String! = "US", state: String! = "", city: String! = "", postalCode: String! = "", accessorials: [String!] = null, rateType: String = null): [ShippingRateType!]!
shipmentsForOrder(orderId: Int!): [ShipmentType!]!
giftCards: [GiftCardType!]!
giftCardBalance(code: String!): GiftCardType
invoices(accountId: Int = null): [InvoiceType!]!
agingReport(accountId: Int = null): AgingReportType!
notificationTemplates: [NotificationTemplateType!]!
notificationLogs(limit: Int! = 50): [NotificationLogType!]!
notificationPreferences(userId: Int!): [NotificationPreferenceType!]!
paymentMethods(channelId: Int = null): [PaymentMethodType!]!
activePaymentGateways(channelId: Int = null, billingState: String = null, billingCountry: String! = "US", orderTotal: String = null, shippingMethod: String = null): [PaymentMethodType!]!
paymentMethod(id: ID!): PaymentMethodType
paymentTransactions(orderId: Int!): [PaymentTransactionType!]!
recurringOrders(accountId: Int = null): [RecurringOrderType!]!
savedReports: [SavedReportType!]!
revenueByDay(dateFrom: String = null, dateTo: String = null, channelId: Int = null): [DailyRevenuePoint!]!
topProductsByRevenue(dateFrom: String = null, dateTo: String = null, limit: Int! = 10): [ProductSalesPoint!]!
topCustomersBySpend(dateFrom: String = null, dateTo: String = null, limit: Int! = 10): [CustomerSpendPoint!]!
orderStatusBreakdown(dateFrom: String = null, dateTo: String = null): [StatusCountPoint!]!
returns(accountId: Int = null, status: String = null, limit: Int! = 50, offset: Int! = 0): ReturnsListType!
returnById(id: Int!): ReturnType
returnReasons(enabledOnly: Boolean! = true): [ReturnReasonType!]!
returnEligibility(orderId: Int!, accountId: Int = null): EligibilityResultType!
returnableLines(orderId: Int!): [ReturnableLineType!]!
returnRotatedStockWarnings(returnId: Int!): [RotatedStockWarningType!]!
returnFrequency(accountId: Int!, variantId: Int = null): ReturnFrequencyType!
returnPdf(returnId: Int!): String
rmaSettings: RmaSettingsType!
salesReps: [SalesRepType!]!
salesPipeline(repId: Int!): PipelineSummaryType!
searchEngineConfig: SearchEngineConfigType!
searchSynonyms: [SearchSynonymType!]!
searchAnalytics(limit: Int! = 50): [SearchAnalyticsType!]!
storefrontSearchConfig: StorefrontSearchConfigType!
adminFederatedSearch(query: String!, limitPerEntity: Int! = 5): FederatedSearchResult!
storeCreditBalance(accountId: Int = null, customerId: Int = null, locationId: Int = null): StoreCreditBalanceType!
storeCreditSummary(accountId: Int = null, customerId: Int = null): StoreCreditSummaryType!
myStoreCredit: StoreCreditBalanceType!
tags: [TagType!]!
tagsForEntity(entityType: String!, entityId: Int!): [TagType!]!
tagsForEntityType(entityType: String!): [TagType!]!
taxCategories: [TaxCategoryType!]!
taxRates(countryId: Int = null, regionId: Int = null, taxType: String = null, enabledOnly: Boolean! = true): [TaxRateType!]!
countries(enabledOnly: Boolean! = true): [CountryType!]!
regions(countryId: Int = null, countryCode: String = null, enabledOnly: Boolean! = true): [RegionType!]!
counties(regionId: Int = null, regionIsoCode: String = null, enabledOnly: Boolean! = true): [CountyType!]!
cities(regionId: Int = null, countyId: Int = null, search: String = null, limit: Int! = 50, enabledOnly: Boolean! = true): [CityType!]!
geoUnions: [GeoUnionType!]!
geolocateIp(ip: String!): IpGeolocationResultType
geolite2Status: GeoLite2StatusType!
myIpGeolocation: IpGeolocationResultType
geocodeAddress(address: String!, countryHint: String! = ""): [GeocodedAddressType!]!
validateAddress(input: ValidateAddressInput!): ValidatedAddressType!
geolocationProviders: [GeolocationProviderType!]!
savedPaymentMethods(accountId: Int = null, locationId: Int = null, gateway: String = null): [SavedPaymentMethodType!]!
savedPaymentMethod(id: ID!): SavedPaymentMethodType
nmiSavedPaymentMethods(accountId: Int = null, locationId: Int = null, gateway: String = null): [NMISavedPaymentMethodType!]!
nmiSavedPaymentMethod(id: ID!): NMISavedPaymentMethodType
"""Popup configuration for AgeChecker.Net (null when disabled)"""
ageCheckerConfig: AgeCheckerPopupConfigType
exciseiqTaxClasses(activeOnly: Boolean! = true): [ExciseIQTaxClassType!]!
exciseiqTaxRegions(state: String = null, activeOnly: Boolean! = true): [ExciseIQTaxRegionType!]!
exciseiqTaxRates(regionId: Int = null, classId: Int = null, activeOnly: Boolean! = true): [ExciseIQTaxRateType!]!
exciseiqCounties(state: String = null, search: String = null, limit: Int! = 100): [ExciseIQCountyType!]!
exciseiqSyncLogs(limit: Int! = 20): [ExciseIQSyncLogType!]!
priority1Status: Priority1ConnectionResult!
priority1AccessorialPricing(country: String! = "US", state: String! = "", city: String! = "", postalCode: String! = "", originPostalCode: String = null): AccessorialPricingResult!
shipstationSyncStatus: ShipStationSyncStatusType!
shippoSyncStatus: ShippoSyncStatusType!
omnisendTrackingConfig(channelId: ID!): OmnisendTrackingConfigType!
fraudDashboard: FraudDashboardStats!
fraudReviewQueue(limit: Int! = 25, offset: Int! = 0): FraudReviewQueueResult!
fraudRules(channelId: Int = null): [FraudRuleType!]!
fraudBlocklist(channelId: Int = null, entryType: String = null): [FraudBlocklistEntryType!]!
customerRiskEvents(customerId: Int = null, accountId: Int = null, limit: Int! = 50): [CustomerRiskEventType!]!
checkoutAgreements(channelId: ID = null): [CheckoutAgreementType!]!
allCheckoutAgreements: [CheckoutAgreementType!]!
orderAgreementAcceptances(orderId: ID!): [OrderAgreementAcceptanceType!]!
aiProviders: [AIProviderType!]!
aiPromptTemplates: [AIPromptTemplateType!]!
importExportHealth: String!
orderDocuments(orderId: ID!, documentType: String = null): [OrderDocumentType!]!
fees(channelId: Int = null, activeOnly: Boolean! = false): [FeeType!]!
fee(id: ID!): FeeType
cartFees(cartId: Int!): [CartFeeType!]!
claimReasons(activeOnly: Boolean! = false): [ClaimReasonType!]!
claim(id: ID!): ClaimType
claims(orderId: Int = null, customerId: Int = null, status: String = null, search: String = null, sortBy: String! = "created_at", sortDir: String! = "desc", limit: Int! = 25, offset: Int! = 0): ClaimListResult!
orderFees(orderId: Int!): [OrderFeeType!]!
availableFees(cartId: Int!, channelId: Int!, shippingAddressId: Int = null): [AvailableFeeType!]!
registrationForms(activeOnly: Boolean! = false, channelId: ID = null): [RegistrationFormType!]!
registrationForm(id: ID = null, slug: String = null): RegistrationFormType
registrationRules(activeOnly: Boolean! = false): [RegistrationRuleType!]!
documentTypes(activeOnly: Boolean! = false): [DocumentTypeType!]!
agreementTemplates(activeOnly: Boolean! = false, formId: ID = null): [AgreementTemplateType!]!
invitationCodes(activeOnly: Boolean! = false): [InvitationCodeType!]!
registrationSubmissions(status: String = null, formId: ID = null, limit: Int! = 50, offset: Int! = 0): SubmissionListResult!
registrationSubmission(id: ID!): RegistrationSubmissionType
evaluateRegistrationRules(country: String = null, state: String = null, county: String = null, city: String = null, postalCode: String = null, formId: ID = null): RulesEvaluationType!
accountDocuments(accountId: ID!): [DocumentUploadType!]!
documentStorageSettings: DocumentStorageSettingsType!
myLocationDocuments(locationId: Int!): [DocumentUploadType!]!
pendingDocumentRenewals(accountId: Int = null, limit: Int! = 50, offset: Int! = 0): [DocumentUploadType!]!
expiringDocuments(daysAhead: Int! = 30): [DocumentUploadType!]!
passwordPolicy: PasswordPolicyType!
chatSettings: ChatSettingsType!
chatOrderStatus(orderNumber: String!, email: String = null): OrderStatusType!
banners(activeOnly: Boolean! = false): [BannerType!]!
banner(id: ID!): BannerType
bannersByPlacement(placementType: String!, entitySlug: String = null): [BannerType!]!
sliders(activeOnly: Boolean! = false): [SliderType!]!
slider(id: ID!): SliderType
trackingAnalytics(entityType: String!, entityId: Int = null, dateFrom: DateTime = null, dateTo: DateTime = null): TrackingAnalyticsType!
trackingEvents(entityType: String = null, entityId: Int = null, dateFrom: DateTime = null, dateTo: DateTime = null, limit: Int! = 100, offset: Int! = 0): [TrackingEventType!]!
emailCampaigns(statusFilter: String = null): [EmailCampaignType!]!
emailCampaign(id: ID!): EmailCampaignType
recentlyViewedProducts(limit: Int! = 10): [ProductType!]!
myRestockSubscriptions: [RestockSubscriptionType!]!
health: String!
apiVersion: String!
}
Mutations¶
login(input: LoginInput!): AuthResultType!
refreshToken(refreshToken: String!): RefreshResultType!
loginAsEmployee(employeeId: ID!): ImpersonationResultType!
stopImpersonating: Boolean!
createStaffUser(input: CreateStaffUserInput!): StaffUserResult!
updateStaffUser(userId: ID!, input: UpdateStaffUserInput!): StaffUserResult!
requestPasswordReset(email: String!, baseUrl: String!): PasswordResetResultType!
resetPassword(token: String!, newPassword: String!): PasswordResetResultType!
createRole(input: CreateRoleInput!): RoleResult!
updateRole(roleId: ID!, input: UpdateRoleInput!): RoleResult!
deleteRole(roleId: ID!): RoleResult!
oauthAuthorize(provider: String!, redirectUri: String!): OAuthAuthorizeResult!
oauthCallback(provider: String!, code: String!, redirectUri: String!, userType: String! = "customer"): OAuthCallbackResult!
oauthUnlink(provider: String!): OAuthMutationResult!
saveOauthProviderConfig(input: OAuthProviderConfigInput!): OAuthMutationResult!
deleteOauthProviderConfig(provider: String!): OAuthMutationResult!
setupTotp: TwoFactorSetupResult!
activateTotp(code: String!): TwoFactorVerifyResult!
disableTwoFactor: TwoFactorVerifyResult!
regenerateBackupCodes: TwoFactorVerifyResult!
sendEmailOtp(twofaToken: String!): TwoFactorVerifyResult!
sendSmsOtp(twofaToken: String!, phone: String!): TwoFactorVerifyResult!
verifyTwoFactorLogin(twofaToken: String!, code: String!, method: String!): AuthResultType!
createChannel(input: CreateChannelInput!): ChannelType!
updateChannel(input: UpdateChannelInput!): ChannelType!
deleteChannel(id: ID!): Boolean!
duplicateChannelSettings(sourceChannelId: ID!, targetChannelId: ID!, includePayments: Boolean! = true, includeShipping: Boolean! = true): ChannelType!
createAccount(input: CreateAccountInput!): AccountType!
setAccountStatus(accountId: ID!, status: Int!): AccountType!
updateAccount(accountId: ID!, input: UpdateAccountInput!): AccountType!
createLocation(input: CreateLocationInput!): LocationType!
createEmployee(input: CreateEmployeeInput!): EmployeeType!
register(input: RegisterInput!): AccountType!
createAddress(input: CreateAddressInput!): AddressType!
addAccountAdminNote(accountId: Int!, body: String!, attachments: JSON = null): AccountNoteType!
updateAccountAdminNote(noteId: Int!, body: String = null, attachments: JSON = null): AccountNoteType!
archiveAccountAdminNote(noteId: Int!): AccountNoteType!
createCustomerGroup(input: CreateCustomerGroupInput!): CustomerGroupType
updateCustomerGroup(id: ID!, input: UpdateCustomerGroupInput!): CustomerGroupType
deleteCustomerGroup(id: ID!): Boolean!
createAccountStatus(input: CreateAccountStatusInput!): AccountStatusType!
updateAccountStatus(id: ID!, input: UpdateAccountStatusInput!): AccountStatusType!
deleteAccountStatus(id: ID!): Boolean!
createAccountRole(input: CreateAccountRoleInput!): AccountRoleType!
updateAccountRole(id: ID!, input: UpdateAccountRoleInput!): AccountRoleType!
deleteAccountRole(id: ID!): Boolean!
approveAddress(addressId: Int!): AddressType!
rejectAddress(addressId: Int!): AddressType!
createMyAddress(input: CreateAddressInput!): AddressType!
updateMyAddress(addressId: Int!, input: UpdateAddressInput!): AddressType!
updateEmployeeContactRoles(employeeId: Int!, contactRoles: [String!]!): EmployeeType!
updateLocationContactRoles(employeeId: Int!, locationId: Int!, contactRoles: [String!]!): EmployeeLocationAssignmentType!
updateMyProfile(input: UpdateMyProfileInput!): EmployeeType!
changeMyPassword(currentPassword: String!, newPassword: String!): Boolean!
registerCustomer(input: CustomerRegisterInput!): CustomerType!
createProduct(input: CreateProductInput!): ProductType!
updateProduct(input: UpdateProductInput!): ProductType!
deleteProduct(id: ID!): Boolean!
createVariant(input: CreateVariantInput!): ProductVariantType!
updateVariant(input: UpdateVariantInput!): ProductVariantType!
deleteVariant(id: ID!): Boolean!
generateVariants(input: GenerateVariantsInput!): [ProductVariantType!]!
createAttribute(input: CreateAttributeInput!): AttributeType!
updateAttribute(input: UpdateAttributeInput!): AttributeType!
deleteAttribute(id: ID!): Boolean!
createAttributeOption(input: CreateAttributeOptionInput!): AttributeOptionType!
updateAttributeOption(input: UpdateAttributeOptionInput!): AttributeOptionType!
deleteAttributeOption(id: ID!): Boolean!
setProductAttributes(productId: ID!, attributeIds: [ID!]!): Boolean!
createTraitDefinition(input: CreateTraitDefinitionInput!): TraitDefinitionType!
updateTraitDefinition(input: UpdateTraitDefinitionInput!): TraitDefinitionType!
deleteTraitDefinition(id: ID!): Boolean!
addTraitValue(definitionId: ID!, value: String!): TraitValueType!
deleteTraitValue(id: ID!): Boolean!
setProductTraits(productId: ID!, assignments: [TraitAssignmentInput!]!): Boolean!
addProductImage(input: AddProductImageInput!): ProductImageType!
setPrimaryImage(imageId: ID!): Boolean!
deleteProductImage(id: ID!): Boolean!
reorderProductImages(imageIds: [ID!]!): Boolean!
createCollection(input: CreateCollectionInput!): CollectionType!
updateCollection(input: UpdateCollectionInput!): CollectionType!
deleteCollection(id: ID!): Boolean!
setCollectionProducts(input: SetCollectionProductsInput!): Boolean!
createCategory(input: CreateCategoryInput!): CategoryType!
updateCategory(input: UpdateCategoryInput!): CategoryType!
deleteCategory(id: ID!, reassignParentId: Int = null): Boolean!
createBrand(input: CreateBrandInput!): BrandType!
updateBrand(input: UpdateBrandInput!): BrandType!
deleteBrand(id: ID!): Boolean!
upsertProductMeta(input: UpsertProductMetaInput!): ProductMetaType!
deleteProductMeta(id: ID!): Boolean!
createQuickLink(input: CreateQuickLinkInput!): ProductQuickLinkType!
updateQuickLink(input: UpdateQuickLinkInput!): ProductQuickLinkType!
deleteQuickLink(id: ID!): Boolean!
reorderQuickLinks(productId: ID!, linkIds: [ID!]!): [ProductQuickLinkType!]!
suggestRelatedProducts(productId: ID!): [ProductType!]!
updateVariationGridSettings(input: UpdateVariationGridSettingsInput!): ProductType!
createPriceList(input: CreatePriceListInput!): PriceListType!
createVolumeTier(priceListEntryId: ID!, minQuantity: Int!, price: String!, maxQuantity: Int = null): VolumePricingTierType!
updateVolumeTier(id: ID!, minQuantity: Int!, price: String!, maxQuantity: Int = null): VolumePricingTierType!
deleteVolumeTier(id: ID!): Boolean!
setAccountPrice(input: SetAccountPriceInput!): Boolean!
setLocationPrice(input: SetLocationPriceInput!): Boolean!
setExchangeRate(input: SetExchangeRateInput!): ExchangeRateType!
convertPriceList(input: ConvertPriceListInput!): ConversionResultType!
createPaymentTerms(input: CreatePaymentTermsInput!): PaymentTermsType!
updatePaymentTerms(id: ID!, input: UpdatePaymentTermsInput!): PaymentTermsType!
deletePaymentTerms(id: ID!): Boolean!
addToCart(input: AddToCartInput!): CartType!
bulkAddToCart(input: BulkAddToCartInput!): BulkAddToCartResult!
updateCartLine(cartId: ID!, lineId: ID!, quantity: Int!): CartType!
applyCoupon(code: String!): CartType!
removeCoupon(code: String!): CartType!
removeCartLine(lineId: ID!): CartType!
adminCreateCart(channelId: Int!, accountId: Int = null, locationId: Int = null, employeeId: Int = null, customerId: Int = null, currency: String! = "USD"): AdminCartType!
adminAddCartLine(cartId: ID!, variantId: ID!, quantity: Int!, managedPrice: String = null): AdminCartType!
adminUpdateCartLine(cartId: ID!, lineId: ID!, quantity: Int!): AdminCartType!
adminRemoveCartLine(cartId: ID!, lineId: ID!): AdminCartType!
adminSetManagedPrice(cartId: ID!, lineId: ID!, price: String = null): AdminCartType!
adminApplyCoupon(cartId: ID!, code: String!): AdminCartType!
adminRemoveCoupon(cartId: ID!, code: String!): AdminCartType!
adminSetCartAddresses(cartId: ID!, shippingAddressId: Int = null, billingAddressId: Int = null): AdminCartType!
adminSetCartNotes(cartId: ID!, notes: String!): AdminCartType!
adminSetLineNotes(cartId: ID!, lineId: ID!, notes: String!): AdminCartType!
adminLockCart(cartId: ID!): AdminCartType!
adminUnlockCart(cartId: ID!): AdminCartType!
acquireCartLock(cartId: ID!): AdminCartType!
releaseCartLock(cartId: ID!): AdminCartType!
renewCartLock(cartId: ID!): AdminCartType!
adminRestoreCartSnapshot(cartId: ID!, snapshotId: ID!): AdminCartType!
adminCheckoutCart(input: AdminCheckoutInput!): OrderType!
adminReleaseCart(cartId: ID!, targetEmployeeId: Int = null, targetLocationId: Int = null, targetAccountId: Int = null, targetCustomerId: Int = null): CartReleaseSummaryType!
checkout(input: CheckoutInput!): OrderType!
updateOrderStatus(orderId: ID!, status: String!): OrderType!
modifyOrder(orderId: ID!, addLines: [JSON!] = null, removeLineIds: [Int!] = null, updateLines: [JSON!] = null): OrderType!
adminCreateOrder(accountId: Int!, channelId: Int!, lineItems: [JSON!]!, locationId: Int = null, email: String = null, poNumber: String = null, currency: String! = "USD", billingAddress: AddressInput = null, shippingAddress: AddressInput = null, shippingMethod: String = null, shippingTotal: String = null, notes: String = null, savedPaymentMethodId: Int = null, paymentMethod: String = null, paymentData: JSON = null, captureMode: String = null): OrderType!
reorderFromOrder(orderId: ID!, asAccountId: Int = null): CartType!
updateSetting(key: String!, value: String!, settingType: String! = "string", module: String! = "general"): SettingEntryType!
updateMyStaffProfile(input: UpdateStaffProfileInput!): StaffProfileResult!
changeMyStaffPassword(currentPassword: String!, newPassword: String!): StaffProfileResult!
toggleChannelExtension(input: ToggleChannelExtensionInput!): ChannelExtensionType!
createApprovalRule(input: CreateApprovalRuleInput!): ApprovalRuleMutationResult!
updateApprovalRule(ruleId: Int!, input: UpdateApprovalRuleInput!): ApprovalRuleMutationResult!
deleteApprovalRule(ruleId: Int!): ApprovalRuleMutationResult!
approveOrder(orderId: Int!): ApprovalResultType!
rejectOrder(orderId: Int!, reason: String! = ""): ApprovalResultType!
createComplianceRule(input: ComplianceRuleInput!): ComplianceRuleType!
updateComplianceRule(id: ID!, input: ComplianceRuleUpdateInput!): ComplianceRuleType
deleteComplianceRule(id: ID!): Boolean!
rebuildComplianceCache: Int!
createPage(title: String!, slug: String!, status: String! = "draft", template: String = null, seoTitle: String = null, seoDescription: String = null): PageType!
updatePage(id: ID!, title: String = null, slug: String = null, status: String = null, template: String = null, seoTitle: String, seoDescription: String, sortOrder: Int = null): PageType!
updatePageBlocks(pageId: Int!, blocks: JSON!): PageType!
deletePage(id: ID!): Boolean!
createPreviewToken(pageId: Int!): String!
schedulePage(id: ID!, publishAt: String!): PageType!
createNavigation(name: String!, slug: String!, channelId: ID = null): NavigationType!
updateNavigation(id: ID!, name: String = null, slug: String = null): NavigationType!
updateNavigationItems(id: ID!, items: JSON!): NavigationType!
deleteNavigation(id: ID!): Boolean!
updateThemeSettings(id: ID!, name: String = null, colorPrimary: String = null, colorPrimaryHover: String = null, colorSecondary: String = null, colorAccent: String = null, colorSurface: String = null, colorSurfaceAlt: String = null, colorText: String = null, colorTextMuted: String = null, colorSuccess: String = null, colorWarning: String = null, colorDanger: String = null, logoUrl: String, fontFamily: String = null, headerVariant: String = null, footerVariant: String = null, radius: String = null, customCssUrl: String): ThemeSettingsType!
activateTheme(id: ID!): ThemeSettingsType!
createTheme(name: String!, slug: String!, channelId: ID = null): ThemeSettingsType!
deleteTheme(id: ID!): Boolean!
createMediaFile(fileName: String!, fileUrl: String!, fileType: String!, fileSize: Int! = 0, altText: String = null): MediaFileType!
deleteMediaFile(id: ID!): Boolean!
createShippingZone(name: String!, countries: JSON = null, states: JSON = null, zipRanges: JSON = null, channelId: Int = null, enabled: Boolean! = true): ShippingZoneType!
updateShippingZone(id: ID!, name: String = null, countries: JSON = null, states: JSON = null, zipRanges: JSON = null, enabled: Boolean = null, methodIds: [Int!]): ShippingZoneType
deleteShippingZone(id: ID!): Boolean!
setZoneMethods(zoneId: Int!, methodIds: [Int!]!): ShippingZoneType
createShippingProvider(name: String!, carrierCode: String!, enabled: Boolean! = true, config: JSON = null, packingConfig: JSON = null, channelIds: [Int!] = null): ShippingProviderType!
updateShippingProvider(id: ID!, name: String = null, carrierCode: String = null, enabled: Boolean = null, config: JSON = null, packingConfig: JSON = null, channelIds: [Int!]): ShippingProviderType
deleteShippingProvider(id: ID!): Boolean!
createShippingMethod(providerId: Int!, name: String!, code: String!, flatRate: String = null, freeShippingThreshold: String = null, rateAdjustmentAmount: String = null, rateAdjustmentPercent: String = null, minWeight: String = null, maxWeight: String = null, estimatedDaysMin: Int = null, estimatedDaysMax: Int = null, enabled: Boolean! = true): ShippingMethodType!
updateShippingMethod(id: ID!, name: String = null, code: String = null, flatRate: String, freeShippingThreshold: String, rateAdjustmentAmount: String, rateAdjustmentPercent: String, minWeight: String, maxWeight: String, estimatedDaysMin: Int, estimatedDaysMax: Int, enabled: Boolean = null): ShippingMethodType
deleteShippingMethod(id: ID!): Boolean!
createShippingBox(name: String!, length: String!, width: String!, height: String!, maxWeight: String!, tareWeight: String! = "0", enabled: Boolean! = true, boxType: String! = "standard", materialCost: String = null, innerLength: String = null, innerWidth: String = null, innerHeight: String = null, providerIds: [Int!] = null, methodIds: [Int!] = null): ShippingBoxType!
updateShippingBox(id: ID!, name: String = null, length: String = null, width: String = null, height: String = null, maxWeight: String = null, tareWeight: String = null, enabled: Boolean = null, boxType: String = null, materialCost: String, innerLength: String, innerWidth: String, innerHeight: String, providerIds: [Int!], methodIds: [Int!]): ShippingBoxType
deleteShippingBox(id: ID!): Boolean!
createShipment(orderId: Int!, carrier: String!, methodCode: String!, fulfillmentMode: String! = "by_order"): ShipmentType!
shipShipment(shipmentId: Int!): ShipmentType!
deliverShipment(shipmentId: Int!): ShipmentType!
createGiftCard(amount: String!, recipientEmail: String = null, recipientName: String = null, message: String = null): GiftCardType!
redeemGiftCard(code: String!, accountId: Int = null, customerId: Int = null, userId: Int = null, amount: String = null): GiftCardType!
createInvoice(orderId: Int!, accountId: Int!, paymentTermsId: Int!, amount: String!, netDays: Int!): InvoiceType!
registerNotificationTemplate(code: String!, name: String!, module: String!, subjectTemplate: String!, bodyTemplate: String!): NotificationTemplateType!
updateNotificationTemplate(code: String!, subjectTemplate: String, bodyTemplate: String, enabled: Boolean): NotificationTemplateType!
updateNotificationPreference(userId: Int!, category: String!, emailEnabled: Boolean, pushEnabled: Boolean, inAppEnabled: Boolean): NotificationPreferenceType!
sendNotification(templateCode: String!, recipientEmail: String!, variables: JSON = null): NotificationLogType!
subscribeToRestock(variantId: Int!, email: String = null): RestockSubscriptionType!
subscribeRestock(variantId: ID!, email: String = null): RestockSubscriptionType!
unsubscribeFromRestock(id: Int!): Boolean!
createPaymentMethod(name: String!, code: String!, gateway: String!, enabled: Boolean! = true, config: JSON = null, channelId: Int = null): PaymentMethodType!
updatePaymentMethod(id: ID!, name: String = null, enabled: Boolean = null, config: JSON = null, channelId: Int): PaymentMethodType
deletePaymentMethod(id: ID!): Boolean!
processPayment(orderId: Int!, paymentMethodCode: String!, amount: String!, currency: String! = "USD"): PaymentTransactionType!
confirmPayment(orderId: Int!, method: String!, reference: String!, amount: String!, currency: String! = "USD"): PaymentTransactionType!
toggleRecurringSkip(recurringId: Int!): RecurringOrderType!
cancelRecurringOrder(recurringId: Int!): RecurringOrderType!
pauseRecurringOrder(recurringId: Int!): RecurringOrderType!
resumeRecurringOrder(recurringId: Int!): RecurringOrderType!
createRecurringOrder(input: CreateRecurringOrderInput!): RecurringOrderType!
updateRecurringOrder(recurringId: Int!, input: UpdateRecurringOrderInput!): RecurringOrderType!
createSavedReport(name: String!, reportType: String!, config: JSON = null, isPublic: Boolean! = false): SavedReportType!
runReport(reportId: Int!): JSON!
exportReport(reportId: Int!, format: String! = "csv"): String!
createScheduledReport(savedReportId: Int!, schedule: String!, recipients: [String!]!, format: String! = "csv"): ScheduledReportType!
updateScheduledReport(id: Int!, schedule: String = null, enabled: Boolean = null): ScheduledReportType!
createReturn(orderId: Int!, accountId: Int!, employeeId: Int!, refundMethod: String! = "store_credit", channelId: Int = null, customerId: Int = null): ReturnType!
addReturnLine(returnId: Int!, orderLineId: Int!, variantId: Int!, quantity: Int!, reasonId: Int = null, notes: String = null): ReturnLineType!
submitReturn(returnId: Int!): ReturnType!
processReturn(returnId: Int!, lineDecisions: [LineDecisionInput!]!, reviewerId: Int!, staffNotes: String = null): ReturnType!
transitionReturnStatus(returnId: Int!, toStatus: String!, userId: Int!): ReturnType!
approveReturnLine(lineId: Int!, approved: Boolean!, reviewerId: Int!, qtyApproved: Int = null, explanation: String = null): ReturnLineType!
addReturnNote(returnId: Int!, content: String!, userId: Int = null, userType: String! = "staff"): ReturnNoteType!
updateRmaSettings(settings: RmaSettingsInput!): RmaSettingsType!
updateAccountReturnPolicy(accountId: Int!, returnsBlocked: Boolean = null, returnWindowOverrideDays: Int): Boolean!
createSalesRep(userId: Int!, name: String!, email: String!): SalesRepType!
assignSalesRep(accountId: Int!, repId: Int!): Boolean!
createSearchSynonym(word: String!, synonyms: [String!]!): SearchSynonymType!
reindexProducts: Int!
reindexAdminSearch: Int!
trackSearchEvent(query: String!, resultsCount: Int! = 0, clickedResultId: Int = null): Boolean!
issueStoreCredit(amount: String!, reason: String!, accountId: Int = null, customerId: Int = null, notes: String = null, locationId: Int = null): StoreCreditBalanceType!
cancelStoreCredit(transactionId: Int!, reason: String!): StoreCreditBalanceType!
createTag(input: CreateTagInput!): TagType!
updateTag(id: ID!, input: UpdateTagInput!): TagType!
deleteTag(id: ID!): Boolean!
assignTag(input: AssignTagInput!): TagAssignmentType!
unassignTag(tagId: Int!, entityType: String!, entityId: Int!): Boolean!
createTaxCategory(name: String!, code: String!, description: String = null, isDefault: Boolean! = false): TaxCategoryType!
createTaxRate(input: CreateTaxRateInput!): TaxRateType!
updateTaxRate(input: UpdateTaxRateInput!): TaxRateType!
deleteTaxRate(id: ID!): Boolean!
toggleCountry(id: ID!, enabled: Boolean!): CountryType!
toggleRegion(id: ID!, enabled: Boolean!): RegionType!
createCountry(name: String!, isoAlpha2: String!, isoAlpha3: String!, isoNumeric: String!, currencyCode: String = null): CountryType!
createRegion(countryId: Int!, name: String!, isoCode: String!, type: String! = "state"): RegionType!
createCounty(regionId: Int!, name: String!, fipsCode: String = null, code: String = null): CountyType!
createCity(regionId: Int!, name: String!, countyId: Int = null, ansiCode: String = null): CityType!
createGeoUnion(name: String!, code: String!): GeoUnionType!
addCountryToUnion(unionId: Int!, countryId: Int!): Boolean!
removeCountryFromUnion(unionId: Int!, countryId: Int!): Boolean!
configureChannelGeocoding(channelId: ID!, geocodingEnabled: Boolean = null, ipGeolocationProvider: String = null, addressGeocodingProvider: String = null, addressValidationProvider: String = null, addressValidationMode: String = null, addressValidationRules: JSON = null): Boolean!
saveGeolite2Credentials(accountId: String!, licenseKey: String!): Boolean!
importGeoipConf(content: String!): GeoLite2DownloadResultType!
downloadGeolite2Database: GeoLite2DownloadResultType!
addPaymentMethod(opaqueDataDescriptor: String!, opaqueDataValue: String!, cardholderName: String! = "", nickname: String! = "", billingAddress: BillingAddressInput = null, setDefault: Boolean! = false, currency: String! = "USD", locationId: Int = null): AddPaymentMethodResult!
deleteMyPaymentMethod(id: ID!): Boolean!
setDefaultPaymentMethod(id: ID!): Boolean!
adminChargeSavedCard(savedPaymentMethodId: ID!, amount: String!, currency: String! = "USD", orderId: Int = null, description: String! = ""): TransactionResultType!
adminCaptureTransaction(transactionId: String!, amount: String!): TransactionResultType!
adminVoidTransaction(transactionId: String!): TransactionResultType!
adminRefundTransaction(transactionId: String!, amount: String!, lastFour: String! = "0000"): TransactionResultType!
adminReleaseFraudHold(orderId: Int!, transactionId: String!): TransactionResultType!
adminTestGatewayConnection(paymentMethodId: ID = null): TransactionResultType!
nmiAddPaymentMethod(paymentToken: String!, cardholderName: String! = "", nickname: String! = "", cardBrand: String! = "unknown", lastFour: String! = "0000", expMonth: Int! = 0, expYear: Int! = 0, billingAddress: NMIBillingAddressInput = null, setDefault: Boolean! = false, currency: String! = "USD", locationId: Int = null): NMIAddPaymentMethodResult!
nmiDeletePaymentMethod(id: ID!): Boolean!
nmiSetDefaultPaymentMethod(id: ID!): Boolean!
nmiAdminChargeSavedCard(savedPaymentMethodId: ID!, amount: String!, currency: String! = "USD", orderId: Int = null, description: String! = ""): NMITransactionResultType!
nmiAdminCaptureTransaction(transactionId: String!, amount: String!): NMITransactionResultType!
nmiAdminVoidTransaction(transactionId: String!): NMITransactionResultType!
nmiAdminRefundTransaction(transactionId: String!, amount: String!): NMITransactionResultType!
nmiAdminTestGatewayConnection(paymentMethodId: ID = null): NMITransactionResultType!
"""Test AgeChecker.Net connection with provided credentials"""
testAgeCheckerConnection(accountSecret: String!, apiKey: String!, apiBaseUrl: String! = "", sandbox: Boolean! = true): TestConnectionResultType!
"""Seamless age verification using customer data"""
verifyAge(input: AgeVerifyInput!): AgeVerificationResultType!
"""Validate AgeChecker.Net popup verification token"""
validateAgeToken(token: String!): AgeVerificationResultType!
exciseiqTestConnection: ExciseIQTestResult!
exciseiqTriggerSync: ExciseIQSyncResult!
exciseiqCalculateTax(address: ExciseIQCalcAddressInput!, items: [ExciseIQCalcItemInput!]!): ExciseIQCalculationResult!
testPriority1Connection(apiKey: String!, environment: String! = "dev"): Priority1ConnectionResult!
discoverPriority1Carriers(apiKey: String = null, environment: String = null): Priority1DiscoveryResult!
testShipstationConnection(apiKey: String!): ShipStationConnectionResult!
syncOrderToShipstation(orderId: Int!): ShipStationSyncResult!
triggerShipstationTrackingPoll: ShipStationTrackingPollResult!
syncShipstationCarriers: ShipStationCarrierSyncResult!
testShippoConnection(apiToken: String!): ShippoConnectionResult!
syncOrderToShippo(orderId: Int!): ShippoSyncResult!
triggerShippoTrackingPoll: ShippoTrackingPollResult!
validateShippoAddress(addressLine1: String!, cityLocality: String!, stateProvince: String!, postalCode: String!, countryCode: String!, addressLine2: String! = ""): ShippoAddressValidationResult!
approveFraudReview(orderId: Int!): FraudActionResult!
declineFraudReview(orderId: Int!, reason: String = null): FraudActionResult!
createFraudRule(ruleType: String!, name: String!, action: String! = "review", config: JSON = null, channelId: Int = null, priority: Int! = 0): FraudRuleType!
updateFraudRule(ruleId: Int!, name: String = null, enabled: Boolean = null, action: String = null, config: JSON = null, priority: Int = null): FraudRuleType!
deleteFraudRule(ruleId: Int!): Boolean!
addToFraudBlocklist(entryType: String!, value: String!, action: String! = "block", reason: String = null, channelId: Int = null, expiresAt: String = null): FraudBlocklistEntryType!
removeFromFraudBlocklist(entryId: Int!): Boolean!
createCheckoutAgreement(input: CheckoutAgreementInput!): CheckoutAgreementType!
updateCheckoutAgreement(id: ID!, input: CheckoutAgreementInput!): CheckoutAgreementType!
deleteCheckoutAgreement(id: ID!): Boolean!
generateAiContent(useCase: String!, context: JSON!, providerName: String = null, maxTokens: Int! = 1024, temperature: Float! = 0.7): AIGenerationResult!
upsertAiPromptTemplate(useCase: String!, template: String!): AIPromptTemplateType!
deleteAiPromptTemplate(useCase: String!): Boolean!
testAiProviderConnection(providerName: String!, apiKey: String!, model: String = null): AIConnectionTestResult!
startImport(entityType: String!, csvContent: String!): ImportResultType!
startExport(entityType: String!, filters: JSON = null): ExportResultType!
createOrderDocument(input: CreateOrderDocumentInput!): OrderDocumentType!
captureOrderPayment(orderId: ID!, amount: String!): Boolean!
refundOrderDifference(orderId: ID!, amount: String!, reason: String! = ""): Boolean!
voidOrderDocument(id: ID!): OrderDocumentType!
createFee(input: CreateFeeInput!): FeeType!
updateFee(id: ID!, input: UpdateFeeInput!): FeeType!
deleteFee(id: ID!): Boolean!
toggleCartFee(cartId: Int!, feeId: Int!, optedIn: Boolean!): CartFeeType!
addFeeToCart(cartId: Int!, feeId: Int!, channelId: Int!): CartFeeType!
removeFeeFromCart(cartId: Int!, feeId: Int!): Boolean!
createClaimReason(input: CreateClaimReasonInput!): ClaimReasonType!
updateClaimReason(id: ID!, input: UpdateClaimReasonInput!): ClaimReasonType!
deleteClaimReason(id: ID!): Boolean!
fileClaim(input: FileClaimInput!): ClaimType!
updateClaimStatus(claimId: ID!, status: String!, adminNotes: String = null): ClaimType!
resolveClaim(claimId: ID!, resolutionType: String! = "store_credit_and_reorder", adminNotes: String = null): ClaimType!
createWarehouse(input: CreateWarehouseInput!): WarehouseType!
updateWarehouse(warehouseId: Int!, input: UpdateWarehouseInput!): WarehouseType!
deactivateWarehouse(warehouseId: Int!): WarehouseType!
adjustStock(variantId: Int!, warehouseId: Int!, newQuantity: Int!, reason: String! = "manual", notes: String = null): StockLevelType!
bulkAdjustStock(input: BulkAdjustStockInput!): [StockLevelType!]!
importInventory(items: [ImportInventoryItemInput!]!, notes: String = null): [StockLevelType!]!
createRegistrationForm(input: CreateRegistrationFormInput!): RegistrationFormType!
updateRegistrationForm(id: ID!, input: UpdateRegistrationFormInput!): RegistrationFormType!
deleteRegistrationForm(id: ID!): Boolean!
saveFormStructure(formId: ID!, steps: [FormStructureStepInput!]!): RegistrationFormType!
createRegistrationRule(input: CreateRuleInput!): RegistrationRuleType!
updateRegistrationRule(id: ID!, input: UpdateRuleInput!): RegistrationRuleType!
deleteRegistrationRule(id: ID!): Boolean!
createDocumentType(input: CreateDocumentTypeInput!): DocumentTypeType!
updateDocumentType(id: ID!, input: UpdateDocumentTypeInput!): DocumentTypeType!
deleteDocumentType(id: ID!): Boolean!
createAgreementTemplate(input: CreateAgreementTemplateInput!): AgreementTemplateType!
updateAgreementTemplate(id: ID!, input: UpdateAgreementTemplateInput!): AgreementTemplateType!
deleteAgreementTemplate(id: ID!): Boolean!
createInvitationCode(input: CreateInvitationCodeInput!): InvitationCodeType!
updateInvitationCode(id: ID!, input: UpdateInvitationCodeInput!): InvitationCodeType!
deleteInvitationCode(id: ID!): Boolean!
reviewDocument(input: ReviewDocumentInput!): DocumentUploadType!
submitRegistration(input: SubmitRegistrationInput!): RegistrationSubmissionType!
reviewRegistration(input: ReviewSubmissionInput!): RegistrationSubmissionType!
updateDocumentStorageSettings(primaryStorage: String! = "local", enableCopy: Boolean! = false, secondaryStorage: String! = "", copyBehavior: String! = "all"): DocumentStorageSettingsType!
updatePasswordPolicy(minLength: Int! = 8, requireUppercase: Boolean! = false, requireLowercase: Boolean! = false, requireNumber: Boolean! = false, requireSpecial: Boolean! = false, maxLength: Int! = 128): PasswordPolicyType!
uploadLicenseRenewal(locationId: Int!, documentTypeId: Int!, fileUrl: String!, fileName: String!, fileSize: Int = null, expirationDate: String = null): DocumentUploadType!
approveLicenseRenewal(documentId: Int!, notes: String = null): DocumentUploadType!
rejectLicenseRenewal(documentId: Int!, notes: String = null): DocumentUploadType!
sendChatMessage(messages: [ChatMessageInput!]!, imageUrl: String = null, sessionId: String = null): ChatResponse!
requestLiveAgent(sessionContext: String = null): LiveAgentResultType!
createBanner(input: BannerInput!): BannerType!
updateBanner(id: ID!, input: BannerInput!): BannerType
deleteBanner(id: ID!): Boolean!
createSlider(input: SliderInput!): SliderType!
updateSlider(id: ID!, input: SliderInput!): SliderType
deleteSlider(id: ID!): Boolean!
addSlide(sliderId: ID!, input: SlideInput!): SlideType!
updateSlide(id: ID!, input: SlideInput!): SlideType
removeSlide(id: ID!): Boolean!
reorderSlides(sliderId: ID!, slideIds: [ID!]!): Boolean!
trackEvent(eventType: String!, entityType: String!, entityId: Int!, pageUrl: String = null, referrerUrl: String = null): Boolean!
createEmailCampaign(input: EmailCampaignInput!): EmailCampaignType!
updateEmailCampaign(id: ID!, input: EmailCampaignInput!): EmailCampaignType
sendEmailCampaign(id: ID!): EmailCampaignType
cancelEmailCampaign(id: ID!): EmailCampaignType
deleteEmailCampaign(id: ID!): Boolean!
revertQuoteRevision(quoteId: Int!, revisionId: Int!): QuoteType!
recordProductView(productId: Int!): Boolean!
}
Types¶
type AccessorialPricingResult {
success: Boolean!
accessorials: [AccessorialPriceType!]!
baseRate: String!
error: String
}
type AccountCommerceSummaryType {
orderCount: Int!
revenueTotal: MoneyType!
averageOrderValue: MoneyType
lastOrderAt: String
currency: String!
}
type AccountNoteType {
id: ID!
accountId: ID!
authorUserId: Int!
body: String!
createdAt: String!
updatedAt: String
archivedAt: String
attachments: [AccountNoteAttachmentType!]
}
type AccountRoleType {
id: ID!
name: String!
slug: String!
description: String
permissions: JSON
isDefault: Boolean!
position: Int!
isActive: Boolean!
}
type AccountStatusType {
id: ID!
name: String!
slug: String!
description: String
color: String!
isDefault: Boolean!
position: Int!
isActive: Boolean!
allowsLogin: Boolean!
allowsCheckout: Boolean!
allowsProductVisibility: Boolean!
}
type AccountType {
id: ID!
name: String!
legalName: String
taxId: String
accountStatus: Int!
creditHoldStatus: String!
currency: String!
taxExempt: Boolean!
createdAt: String
updatedAt: String
customerGroupId: Int
customerGroup: CustomerGroupType
spendingLimit: String
orderApprovalThreshold: String
riskLevel: String
riskScore: String
riskNotes: String
packageProtectionEligible: Boolean!
locations: [LocationType!]!
employees: [EmployeeType!]!
tags: [TagType!]!
}
type AddPaymentMethodResult {
success: Boolean!
savedPaymentMethod: SavedPaymentMethodType
error: String
}
type AddressType {
id: ID!
locationId: ID
customerId: ID
type: String!
isDefault: Boolean!
nickname: String
firstName: String!
lastName: String!
company: String
address1: String!
address2: String
city: String!
state: String!
postalCode: String!
county: String
country: String!
phone: String
email: String
packageProtectionEligible: Boolean!
approvalStatus: String!
}
type AdminCartLineType {
id: ID!
variantId: ID!
sku: String!
productName: String!
variantName: String!
quantity: Int!
unitPrice: MoneyType!
isFree: Boolean!
managedPrice: MoneyType
adminNotes: String
addedAt: String
}
type AdminCartType {
id: ID!
channelId: ID!
currency: String!
version: Int!
appliedCoupons: [String!]!
lines: [AdminCartLineType!]!
customerId: Int
accountId: Int
accountName: String
locationId: Int
employeeId: Int
managedBy: Int
notes: String
shippingAddressId: Int
billingAddressId: Int
createdAt: String
updatedAt: String
lineCount: Int!
subtotal: MoneyType
lockHeldBy: Int
lockAcquiredAt: String
lockExpiresAt: String
}
type AdminShippingRateType {
carrier: String!
methodCode: String!
methodName: String!
rate: String!
currency: String!
estimatedDaysMin: Int
estimatedDaysMax: Int
}
type AgeCheckerPopupConfigType {
accountSecret: String!
sandbox: Boolean!
minimumAge: Int!
popupUrl: String!
mode: String!
trigger: String!
checkoutPosition: String!
hidePlaceOrder: Boolean!
skipVerifiedCustomers: Boolean!
}
type AgeVerificationResultType {
verified: Boolean!
needsPhotoId: Boolean!
verificationUid: String
token: String
}
type AgingReportType {
current: String!
thirtyDays: String!
sixtyDays: String!
ninetyDays: String!
over120Days: String!
}
type AgreementTemplateType {
id: ID!
name: String!
slug: String!
content: String!
version: String!
isActive: Boolean!
requiresSignature: Boolean!
formId: ID
position: Int!
createdAt: String
updatedAt: String
}
type ApprovalCheckType {
needsApproval: Boolean!
autoApproved: Boolean!
ruleId: Int
approvalMode: String
minApprovals: Int
accountId: Int!
employeeId: Int!
orderTotal: String!
}
type ApprovalRuleType {
id: Int!
accountId: Int!
name: String!
description: String
scopeType: String!
locationId: Int
locationName: String
minAmount: String
maxAmount: String
action: String!
approvalMode: String!
minApprovals: Int!
priority: Int!
isActive: Boolean!
createdBy: Int
createdAt: String
updatedAt: String
approvers: [ApprovalRuleApproverType!]!
employees: [ApprovalRuleEmployeeType!]!
}
type AuditEntryType {
id: ID!
entityType: String!
entityId: Int!
action: String!
userId: Int
oldValue: JSON!
newValue: JSON!
source: String!
ipAddress: String
createdAt: String
}
type AuthResultType {
accessToken: String!
refreshToken: String!
user: UserType!
permissions: [String!]!
employee: EmployeeRefType
account: AccountRefType
customer: CustomerRefType
locations: [LocationRefType!]!
requires2fa: Boolean!
twofaToken: String
}
type AvailableFeeType {
fee: FeeType!
calculatedAmount: MoneyType!
isOnCart: Boolean!
optedIn: Boolean!
ineligibleReason: String
}
type BannerType {
id: ID!
name: String!
imageUrl: String!
mobileImageUrl: String
altText: String
destinationType: String!
destinationValue: String!
placementType: String!
placementConfig: JSON
isActive: Boolean!
startDate: DateTime
endDate: DateTime
channelId: Int
embedCode: String
createdAt: DateTime!
updatedAt: DateTime!
}
type BrandType {
id: ID!
name: String!
slug: String!
description: String
logo: String
bannerImage: String
featured: Boolean!
}
type BulkAddToCartResult {
cart: CartType!
addedCount: Int!
addedQuantity: Int!
variantCartQuantities: JSON!
}
type CartAuditEntryType {
id: ID!
action: String!
userId: Int
newValue: JSON
source: String!
createdAt: String!
}
type CartFeeType {
id: ID!
feeId: Int!
fee: FeeType!
calculatedAmount: MoneyType!
optedIn: Boolean!
}
type CartLineComplianceType {
canPurchase: Boolean!
showPrice: Boolean!
hideQuantity: Boolean!
hideAddToCartButton: Boolean!
preventCheckout: Boolean!
warnOnly: Boolean!
messageCartInline: String
}
type CartLineDiffType {
variantId: Int!
sku: String!
productName: String!
oldQuantity: Int
newQuantity: Int
oldPrice: String
newPrice: String
changeType: String!
}
type CartLineType {
id: ID!
variantId: ID!
sku: String!
productName: String!
variantName: String!
quantity: Int!
unitPrice: MoneyType!
isFree: Boolean!
managedPrice: MoneyType
compliance: CartLineComplianceType
}
type CartReleaseSummaryType {
targetCartId: ID!
snapshotId: ID!
itemsAdded: [CartLineDiffType!]!
itemsRemoved: [CartLineDiffType!]!
itemsChanged: [CartLineDiffType!]!
}
type CartSnapshotType {
id: ID!
triggeredBy: String!
actorType: String!
actorId: Int
description: String!
createdAt: String!
lineCount: Int!
couponCount: Int!
version: Int!
}
type CartTotalsType {
subtotal: MoneyType!
discountTotal: MoneyType!
shippingTotal: MoneyType!
feeTotal: MoneyType!
taxTotal: MoneyType!
grandTotal: MoneyType!
appliedCoupons: [String!]!
shippingMethod: String
}
Inputs¶
input AddProductImageInput {
productId: ID!
url: String!
variantId: ID = null
altText: String = null
position: Int! = 0
isPrimary: Boolean! = false
}
input AddressInput {
line1: String!
line2: String = null
city: String! = ""
state: String! = ""
postalCode: String! = ""
country: String! = "US"
}
input AdminCheckoutInput {
cartId: ID!
shippingAddressLine1: String = null
shippingAddressLine2: String = null
shippingAddressCity: String = null
shippingAddressState: String = null
shippingAddressPostalCode: String = null
shippingAddressCountry: String! = "US"
billingAddressLine1: String = null
billingAddressLine2: String = null
billingAddressCity: String = null
billingAddressState: String = null
billingAddressPostalCode: String = null
billingAddressCountry: String! = "US"
shippingCarrier: String = null
shippingMethodCode: String = null
paymentMethod: String = null
savedPaymentMethodId: Int = null
poNumber: String = null
email: String = null
notes: String = null
acceptedFeeIds: [Int!] = null
markAsPaid: Boolean! = false
}
input AgeVerifyInput {
firstName: String!
lastName: String!
dob: String!
address1: String!
city: String!
state: String!
postalCode: String!
country: String! = "US"
email: String = null
phone: String = null
}
input BannerInput {
name: String!
imageUrl: String!
destinationType: String!
destinationValue: String!
placementType: String! = "manual"
mobileImageUrl: String = null
altText: String = null
placementConfig: JSON = null
isActive: Boolean! = true
startDate: DateTime = null
endDate: DateTime = null
channelId: Int = null
}
input BillingAddressInput {
firstName: String! = ""
lastName: String! = ""
address: String! = ""
city: String! = ""
state: String! = ""
zip: String! = ""
country: String! = "US"
}
input BulkAdjustStockInput {
items: [AdjustStockInput!]!
reason: String! = "manual"
notes: String = null
}
input CheckoutAgreementInput {
name: String!
text: String!
linkUrl: String = null
linkLabel: String = null
isRequired: Boolean! = true
isActive: Boolean! = true
position: Int! = 0
channelId: Int = null
}
input CheckoutInput {
poNumber: String = null
acceptPolicy: Boolean! = false
acceptedAgreementIds: [Int!] = null
email: String = null
shippingAddress: AddressInput = null
billingAddress: AddressInput = null
shippingCarrier: String = null
shippingMethodCode: String = null
shippingAccessorials: [String!] = null
paymentMethod: String = null
paymentData: JSON = null
couponCodes: [String!] = null
acceptedFeeIds: [Int!] = null
savedPaymentMethodId: Int = null
opaqueDataDescriptor: String = null
opaqueDataValue: String = null
paymentToken: String = null
cavv: String = null
xid: String = null
eci: String = null
directoryServerId: String = null
threeDsVersion: String = null
cardholderAuth: String = null
saveCard: Boolean! = false
storeCreditAmount: String = null
ageVerificationUid: String = null
deviceFingerprint: String = null
sessionId: String = null
browserLanguage: String = null
}
input ClaimItemInput {
orderLineId: Int!
quantityClaimed: Int! = 1
reasonDetail: String = null
quantityMissing: Int = null
}
input ComplianceRuleInput {
name: String!
slug: String!
conditions: JSON!
description: String = null
priority: Int! = 0
enabled: Boolean! = true
channelId: Int = null
validFrom: String = null
validTo: String = null
warnOnly: Boolean! = false
preventAddToCart: Boolean! = false
hidePrices: Boolean! = false
hideQuantity: Boolean! = false
hideAddToCartButton: Boolean! = false
preventCheckout: Boolean! = false
excludeFromSearch: Boolean! = false
hideFromStorefront: Boolean! = false
messageProductPage: String = null
messageCartHeader: String = null
messageCartInline: String = null
messageCheckout: String = null
messageAboveShipping: String = null
}
input ComplianceRuleUpdateInput {
name: String = null
slug: String = null
conditions: JSON = null
description: String = null
priority: Int = null
enabled: Boolean = null
channelId: Int = null
validFrom: String = null
validTo: String = null
warnOnly: Boolean = null
preventAddToCart: Boolean = null
hidePrices: Boolean = null
hideQuantity: Boolean = null
hideAddToCartButton: Boolean = null
preventCheckout: Boolean = null
excludeFromSearch: Boolean = null
hideFromStorefront: Boolean = null
messageProductPage: String = null
messageCartHeader: String = null
messageCartInline: String = null
messageCheckout: String = null
messageAboveShipping: String = null
}
input ConvertPriceListInput {
priceListId: ID!
targetCurrency: String!
baseCurrency: String! = "USD"
}
input CreateAccountInput {
name: String!
legalName: String = null
taxId: String = null
customerGroupId: Int = null
}
input CreateAccountRoleInput {
name: String!
slug: String = null
description: String = null
permissions: JSON = null
isDefault: Boolean! = false
position: Int! = 0
}
input CreateAccountStatusInput {
name: String!
slug: String = null
description: String = null
color: String = null
isDefault: Boolean! = false
position: Int! = 0
allowsLogin: Boolean! = true
allowsCheckout: Boolean! = true
allowsProductVisibility: Boolean! = true
}
input CreateAddressInput {
locationId: ID = null
customerId: ID = null
type: String! = "shipping"
firstName: String! = ""
lastName: String! = ""
address1: String! = ""
city: String! = ""
state: String! = ""
postalCode: String! = ""
country: String! = "US"
company: String = null
address2: String = null
county: String = null
phone: String = null
email: String = null
nickname: String = null
isDefault: Boolean! = false
packageProtectionEligible: Boolean! = true
}
input CreateAgreementTemplateInput {
name: String!
slug: String!
content: String!
version: String! = "1.0"
isActive: Boolean! = true
requiresSignature: Boolean! = true
formId: ID = null
position: Int! = 0
}
input CreateApprovalRuleInput {
accountId: Int!
name: String!
description: String = null
scopeType: String! = "all_employees"
locationId: Int = null
employeeIds: [Int!] = null
minAmount: String = null
maxAmount: String = null
action: String! = "require_approval"
approvalMode: String! = "any"
minApprovals: Int! = 1
approvers: [ApprovalRuleApproverInput!] = null
priority: Int! = 0
isActive: Boolean! = true
}
input CreateAttributeOptionInput {
attributeId: ID!
label: String!
slug: String!
position: Int! = 0
}