: Staging
: Production
✨ New
Product and variant access in CSV imports
CSV import staged rows now expose their associated product and variant data through GraphQL, making it easier to review and validate imports before applying them.
Metadata import support
Added support for importing metadata and private metadata through CSV using metadata:<key> and private_metadata:<key> column headers, enabling bulk metadata updates via imports.
✨ New
Advanced attribute filtering
Attribute and custom field filters now support range-based matching for numeric, money, date, and date-time field types, enabling more precise product and order filtering.
✨ New
Dispute management system
Introduced a comprehensive dispute management system for handling buyer claims, seller responses, and marketplace resolutions:
- Disputes can be created, tracked, and resolved through GraphQL mutations for buyers, sellers, and marketplace operators.
- Automated deadline tracking with escalation and overdue flagging.
- Email notifications sent to relevant parties as disputes progress.
- Integration with Stripe for chargeback processing and automated settlements.
- Dispute events exposed through paginated connections.
- Webhooks for
DISPUTE_CREATED,DISPUTE_UPDATED, andDISPUTE_RESOLVEDevents. - Configurable deadline windows at the marketplace level.
- Chargebacks automatically suspend order access until resolution.
- Automatic ledger entries for chargeback settlements.
See the Disputes API documentation for details on working with disputes.
✨ New
Filter operator documentation
Added comprehensive descriptions for the AND, OR, NOT, and DISTINCT filter operators, making advanced filtering patterns easier to understand and implement.
Global ID resolution improvements
Global IDs now continue to resolve correctly even when type or model class names change, improving API stability across platform updates.
Deprecation tracking and logging
The API now logs usage of deprecated GraphQL fields and operations, helping you identify and update deprecated functionality before it's removed.
💎 Changed
Marketplace order terminology
Updated internal order terminology from "Nautical" to "Marketplace" for clarity and consistency. All existing integrations continue to work without changes.
🪲 Fixed
CSV imports are now properly scoped to the requestor's authorized sellers, preventing unauthorized access to other sellers' import data.
CSV imports without an explicit seller assignment now correctly default to the uploader's default seller.
Products and variants imported via CSV now correctly inherit their product type's kind setting.
🪲 Fixed
Fixed an issue where draft orders could incorrectly accrue seller payables before being finalized.
Draft order line price overrides now correctly save the required note and return the updated line.
Clarified permission requirements for managing marketplace draft orders, ensuring consistent access control.
Fixed an issue where completing a seller draft order could book ledger entries multiple times.
Line price overrides are now correctly recorded in the ledger as marketplace discounts.
Canceled orders are no longer incorrectly flagged as ready for payout.
Fixed several order mutations to properly validate seller ownership and address editing permissions.
🪲 Fixed
Product and variant creation now correctly inherits the product type's kind setting.
The isPriceOverrideAllowed setting is now correctly saved when creating or updating product types.
Product deletion operations now properly enforce seller ownership rules.
Several product and stock management operations now correctly validate seller permissions.
🪲 Fixed
Custom field filters now correctly match all rows with matching values.
🪲 Fixed
Customer creation and updates now correctly handle typed custom field values.
Order fulfillment operations now properly save custom field data.
🪲 Fixed
Document contentType and filename fields now correctly read stored values instead of computed defaults.
🪲 Fixed
Fixed timestamp formatting in marketplace event payloads to comply with RFC 3339 standards.
🪲 Fixed
Fixed an issue where using OR filters in cross-sell discovery queries could incorrectly return all sellers.
Cross-sell product queries with OR filters no longer incorrectly include unpublished products.
🪲 Fixed
The wishlistItemsByName query now correctly returns only the caller's own wishlists.
🪲 Fixed
Refund deletion now properly validates that refunds are in the REQUESTED state before deletion.
Refund line and status updates now use proper row locking to prevent race conditions.
Refund lines now correctly identify which party is being charged.
Orders paid through test payment methods can now be refunded through the standard gateway pipeline.
🪲 Fixed
Bulk fulfillment returns now correctly validate that only items from the specified fulfillment are returned, up to available quantities.
🪲 Fixed
Seller-owned Apps now correctly receive only events related to their own seller's data.
Webhook management operations now properly enforce ownership rules.
🪲 Fixed
App queries and mutations now correctly enforce management permissions based on seller ownership.
Only marketplace operators can restore an App to marketplace-level access.
App-generated events no longer incorrectly record the App's service account as the acting user.
Various permission checks now correctly evaluate App tokens instead of assuming a user context.
🪲 Fixed
Metadata operations on seller-owned objects now properly enforce seller ownership rules.
Order metadata operations now follow proper ownership rules, with buyers restricted to public metadata only.
🪲 Fixed
All digital content operations now properly validate seller ownership.
Digital content file access is now restricted to authorized users only.
🪲 Fixed
Invoice operations now properly enforce ownership rules.
Invoice updates are now correctly recorded on the associated order.
Digital content download links are now correctly restricted to content owners and marketplace operators.
🪲 Fixed
Fixed several export column definitions to reference correct fields and calculations.
Marketplace order metrics now correctly identify marketplace orders regardless of internal naming changes.
💎 Changed
Performance improvements
Improved query performance for paginated connections by optimizing how parent data is retrieved from connection pages.