Command Palette

Search for a command to run...

Getting Started with ApiShip for Medusa

In this guide, you'll learn how to install and configure the ApiShip plugin for Medusa.

Requirements


Installation

yarn add @gorgo/medusa-integration @gorgo/medusa-fulfillment-apiship

Configuration

Register the plugin and its two providers in of your Medusa application:

medusa-config.ts
1// ...
2const APISHIP_INTEGRATION_ID = "apiship-1"
3
4module.exports = defineConfig({
5 // ...
6 plugins: [
7 // ...
8 {
9 resolve: "@gorgo/medusa-integration",
10 options: {
11 encryptionKey: process.env.INTEGRATION_ENCRYPTION_KEY,
12 providers: [
13 {
14 resolve: "@gorgo/medusa-fulfillment-apiship/providers/integration-apiship",
15 id: APISHIP_INTEGRATION_ID,
16 options: {},
17 },
18 ],
19 },
20 },
21 {
22 resolve: "@gorgo/medusa-fulfillment-apiship",
23 options: {},
24 },
25 ],
26 modules: [
27 // ...
28 {
29 resolve: "@medusajs/medusa/fulfillment",
30 options: {
31 providers: [
32 {
33 resolve: "@medusajs/medusa/fulfillment-manual",
34 id: "manual",
35 },
36 {
37 resolve: "@gorgo/medusa-fulfillment-apiship/providers/fulfillment-apiship",
38 id: "apiship",
39 options: {
40 id: APISHIP_INTEGRATION_ID,
41 },
42 },
43 ],
44 },
45 },
46 ],
47})

The configuration registers three things:

  • The integration provider under . Its , , names the instance, so its settings live under and open in Medusa Admin at Settings → Integrations → ApiShip.
  • The plugin itself. Without this entry the provider still works, but Medusa Admin doesn't load the plugin's settings page, its delivery services widget and its translations.
  • The fulfillment provider under . Its must match the integration provider's , which is how it finds its settings. Shipping options you create with it get the provider .

Listing providers for replaces Medusa's default list, so the configuration names the manual provider again. Without it, shipping options that use stop working.

Add the encryption key the Integration Module encrypts the API token with to your environment variables:

.env
INTEGRATION_ENCRYPTION_KEY=supersecret

Provider Options

Loading...

Next Steps

Edited Oct 27, 2026·Edit this page