openapi: 3.0.0 info: version: 2.0.0 title: Medusa Storefront API license: name: MIT url: https://github.com/medusajs/medusa/blob/master/LICENSE servers: - url: http://localhost:9000 - url: https://api.medusajs.com tags: - name: Auth description: | Auth API routes allow you to manage a customer's authentication. - name: Carts description: > A cart is a virtual shopping bag that customers can use to add items they want to purchase. A cart is then used to checkout and place an order. These API routes allow customers to create and manage their cart, and place an order. externalDocs: description: How to implement cart functionality in a storefront. url: https://docs.medusajs.com/resources/storefront-development/cart x-associatedSchema: $ref: ./components/schemas/StoreCart.yaml - name: Collections description: > A product collection organizes products into a collection for marketing purposes. For example, a summer collection. These API routes allow customers to browse collections and their products. externalDocs: description: How to list product collections in a storefront. url: >- https://docs.medusajs.com/resources/storefront-development/products/collections/list x-associatedSchema: $ref: ./components/schemas/StoreCollection.yaml - name: Currencies description: > A store has multiple currencies, and product prices can be different for each currency. When retrieving product variant prices, you specify either the ID of a region or a currency that the customer selected. These API routes allow customers to browse currencies. externalDocs: description: How to retrieve product variant prices in a storefront. url: >- https://docs.medusajs.com/resources/storefront-development/products/price x-associatedSchema: $ref: ./components/schemas/StoreCurrency.yaml - name: Customers description: > Customers can place orders as guest customers or register. When a customer registers, they can manage their profile, save addresses for later usage, and more. These API routes allow customers to create and manage their accounts. externalDocs: description: How to implement customer account functionalities in a storefront. url: https://docs.medusajs.com/resources/storefront-development/customers x-associatedSchema: $ref: ./components/schemas/StoreCustomer.yaml - name: Gift Cards description: > A gift card is a prepaid card that customers can use to purchase products in the store. Customers can purchase gift cards for themselves or others, and then use them to pay for their orders. These API routes allow logged-in customers to create and manage their gift cards. Gift Cards are only available for Cloud users using the [Loyalty Plugin](https://docs.medusajs.com/cloud/loyalty-plugin). x-associatedSchema: $ref: ./components/schemas/StoreGiftCard.yaml - name: Locales description: > A locale is a language that content is translated into for customers to view in a storefront. Medusa installs locales by default. These API routes allow you to retrieve supported locales in the store. externalDocs: description: Learn more about locales and translations. url: >- https://docs.medusajs.com/resources/commerce-modules/translation/concepts x-associatedSchema: $ref: ./components/schemas/StoreLocale.yaml - name: Orders description: | Guest and registered customers can view orders they placed. These API routes allow customers to view their orders. x-associatedSchema: $ref: ./components/schemas/StoreOrder.yaml - name: Payment Collections description: > A cart must have a payment collection with an authorized payment session. Use these API routes during checkout to set the cart's payment provider and authorize its payment session. externalDocs: description: How to implement payment during checkout. url: >- https://docs.medusajs.com/resources/storefront-development/checkout/payment x-associatedSchema: $ref: ./components/schemas/StorePaymentCollection.yaml - name: Payment Providers description: > Each region has a set of payment providers enabled. During checkout, you retrieve the available payment providers in the customer's region to show them to the customer. Customers then choose their preferred provider to authorize their payment and place their order. These API routes allow customers to view available payment providers in their region. externalDocs: description: How to implement payment during checkout. url: >- https://docs.medusajs.com/resources/storefront-development/checkout/payment x-associatedSchema: $ref: ./components/schemas/StorePaymentProvider.yaml - name: Product Categories description: | Products can be categorized into categories. These API routes allow customers to browse categories and their products. externalDocs: description: How to list product categories in a storefront. url: >- https://docs.medusajs.com/resources/storefront-development/products/categories/list x-associatedSchema: $ref: ./components/schemas/StoreProductCategory.yaml - name: Product Tags x-associatedSchema: $ref: ./components/schemas/StoreProductTag.yaml - name: Product Types x-associatedSchema: $ref: ./components/schemas/StoreProductType.yaml - name: Products description: > Customers browse products for their purchase. A product has variants for different option values. The customer chooses from these variants before adding it to the cart. These API routes allow customers to browse products. externalDocs: description: How to list products, get their prices, and more in a storefront. url: https://docs.medusajs.com/resources/storefront-development/products x-associatedSchema: $ref: ./components/schemas/StoreProduct.yaml - name: Regions description: > Regions are different countries or geographical regions that the commerce store serves customers in. Customers can choose what region they're in to view prices of that region's currency. Use these API routes to retrieve available regions in the store. externalDocs: description: How to retrieve and store selected region in a storefront. url: https://docs.medusajs.com/resources/storefront-development/regions x-associatedSchema: $ref: ./components/schemas/StoreRegion.yaml - name: Return Reasons description: > A return reason is a possible reason a customer wants to return an item. Use these API routes when implementing return creation flow in your storefront to allow customers to select their return reason. x-associatedSchema: $ref: ./components/schemas/StoreReturnReason.yaml - name: Returns description: > Customers can request to return items in their order. The admin user then receives and handles the return. These API routes allows customers to create a return. x-associatedSchema: $ref: ./components/schemas/StoreReturn.yaml - name: Shipping Options description: > A shipping option is a way of shipping an item to or from the customer. During the checkout flow, the customer selects their preferred shipping option to receive their order. These API routes allow customers to retrieve available shipping options for their context. externalDocs: description: How to implement shipping during checkout. url: >- https://docs.medusajs.com/resources/storefront-development/checkout/shipping x-associatedSchema: $ref: ./components/schemas/StoreShippingOption.yaml - name: Store Credit Accounts x-associatedSchema: description: > A store credit account is a way for customers to manage their store credit balance. Customers can use their store credit to pay for orders, and view their store credit balance. These API routes allow customers to view their store credit accounts. Store Credit Accounts are only available for Cloud users using the [Loyalty Plugin](https://docs.medusajs.com/cloud/loyalty-plugin). $ref: ./components/schemas/StoreStoreCreditAccount.yaml paths: /auth/customer/{auth_provider}: $ref: paths/auth_customer_{auth_provider}.yaml /auth/customer/{auth_provider}/callback: $ref: paths/auth_customer_{auth_provider}_callback.yaml /auth/customer/{auth_provider}/register: $ref: paths/auth_customer_{auth_provider}_register.yaml /auth/customer/{auth_provider}/reset-password: $ref: paths/auth_customer_{auth_provider}_reset-password.yaml /auth/customer/{auth_provider}/update: $ref: paths/auth_customer_{auth_provider}_update.yaml /auth/session: $ref: paths/auth_session.yaml /auth/token/refresh: $ref: paths/auth_token_refresh.yaml /store/carts: $ref: paths/store_carts.yaml /store/carts/{id}: $ref: paths/store_carts_{id}.yaml /store/carts/{id}/complete: $ref: paths/store_carts_{id}_complete.yaml /store/carts/{id}/customer: $ref: paths/store_carts_{id}_customer.yaml /store/carts/{id}/gift-cards: $ref: paths/store_carts_{id}_gift-cards.yaml /store/carts/{id}/line-items: $ref: paths/store_carts_{id}_line-items.yaml /store/carts/{id}/line-items/{line_id}: $ref: paths/store_carts_{id}_line-items_{line_id}.yaml /store/carts/{id}/promotions: $ref: paths/store_carts_{id}_promotions.yaml /store/carts/{id}/shipping-methods: $ref: paths/store_carts_{id}_shipping-methods.yaml /store/carts/{id}/store-credits: $ref: paths/store_carts_{id}_store-credits.yaml /store/carts/{id}/taxes: $ref: paths/store_carts_{id}_taxes.yaml /store/collections: $ref: paths/store_collections.yaml /store/collections/{id}: $ref: paths/store_collections_{id}.yaml /store/currencies: $ref: paths/store_currencies.yaml /store/currencies/{code}: $ref: paths/store_currencies_{code}.yaml /store/customers: $ref: paths/store_customers.yaml /store/customers/me: $ref: paths/store_customers_me.yaml /store/customers/me/addresses: $ref: paths/store_customers_me_addresses.yaml /store/customers/me/addresses/{address_id}: $ref: paths/store_customers_me_addresses_{address_id}.yaml /store/gift-cards/{idOrCode}: $ref: paths/store_gift-cards_{idOrCode}.yaml /store/gift-cards/{idOrCode}/redeem: $ref: paths/store_gift-cards_{idOrCode}_redeem.yaml /store/locales: $ref: paths/store_locales.yaml /store/orders: $ref: paths/store_orders.yaml /store/orders/{id}: $ref: paths/store_orders_{id}.yaml /store/orders/{id}/transfer/accept: $ref: paths/store_orders_{id}_transfer_accept.yaml /store/orders/{id}/transfer/cancel: $ref: paths/store_orders_{id}_transfer_cancel.yaml /store/orders/{id}/transfer/decline: $ref: paths/store_orders_{id}_transfer_decline.yaml /store/orders/{id}/transfer/request: $ref: paths/store_orders_{id}_transfer_request.yaml /store/payment-collections: $ref: paths/store_payment-collections.yaml /store/payment-collections/{id}/payment-sessions: $ref: paths/store_payment-collections_{id}_payment-sessions.yaml /store/payment-providers: $ref: paths/store_payment-providers.yaml /store/product-categories: $ref: paths/store_product-categories.yaml /store/product-categories/{id}: $ref: paths/store_product-categories_{id}.yaml /store/product-tags: $ref: paths/store_product-tags.yaml /store/product-tags/{id}: $ref: paths/store_product-tags_{id}.yaml /store/product-types: $ref: paths/store_product-types.yaml /store/product-types/{id}: $ref: paths/store_product-types_{id}.yaml /store/products: $ref: paths/store_products.yaml /store/products/{id}: $ref: paths/store_products_{id}.yaml /store/regions: $ref: paths/store_regions.yaml /store/regions/{id}: $ref: paths/store_regions_{id}.yaml /store/return-reasons: $ref: paths/store_return-reasons.yaml /store/return-reasons/{id}: $ref: paths/store_return-reasons_{id}.yaml /store/returns: $ref: paths/store_returns.yaml /store/shipping-options: $ref: paths/store_shipping-options.yaml /store/shipping-options/{id}/calculate: $ref: paths/store_shipping-options_{id}_calculate.yaml /store/store-credit-accounts: $ref: paths/store_store-credit-accounts.yaml /store/store-credit-accounts/{id}: $ref: paths/store_store-credit-accounts_{id}.yaml components: securitySchemes: jwt_token: type: http x-displayName: JWT Token scheme: bearer cookie_auth: type: apiKey x-displayName: Cookie Session ID in: cookie name: connect.sid reset_password: type: http x-displayName: Reset Password Token scheme: bearer x-is-auth: false