medusa
medusa copied to clipboard
feat: add metadata to shipping options endpoints
In Medusa v1, the /store/shipping-options endpoint exposed metadata for shipping options. This functionality was missing in v2, preventing developers from storing and retrieving custom key-value pairs on shipping options.
This PR restores metadata support for shipping options across both admin and store APIs.
Admin API:
- ✅ POST /admin/shipping-options now accepts metadata
- ✅ POST /admin/shipping-options/{id} now accepts metadata
- ✅ GET /admin/shipping-options & GET /admin/shipping-options/{id} already exposed metadata (unchanged)
Store API:
- ✅ GET /store/shipping-options now exposes metadata
Technical Updates:
- Added metadata field to AdminCreateShippingOption and AdminUpdateShippingOption validators
- Created missing AdminUpdateShippingOption.yaml schema
- Updated TypeScript interfaces in packages/core/types
- Updated store query config to include metadata by default
- Enhanced code examples with metadata usage