Skip to content
MothershipDevelopers

NewTry every call in the quickstart, no setup

Ship freight from your own code.

Live rates from Mothership and its partner carriers, a booking in one call, and every status change sent to your server. 17 endpoints, all documented from the API's own OpenAPI document.

Sandbox
https://sandbox.api.mothership.com/beta
Production
https://api.mothership.com/beta

How it fits together

One shipment, four calls

Pick a stop to see its request and the part of the response the next call needs. Every example is the one on the reference page, checked against the spec.

Quote

Send the freight, both locations and when it will be ready. Rates come back from Mothership and each partner carrier that can move it.

Keep data.id and the id of the rate you want.

Request

curl --request POST \
  --url 'https://sandbox.api.mothership.com/beta/quotes' \
  --header "Authorization: Bearer $MOTHERSHIP_API_TOKEN" \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{
  "freight": [
    {
      "quantity": 2,
      "type": "Pallet",
      "weight": 50,
      "length": 48,
      "width": 42,
      "height": 46,
      "description": "T-shirts"
    }
  ],
  "pickup": {
    "name": "Griffith Observatory",
    "address": {
      "street": "2800 E Observatory Rd",
      "city": "Los Angeles",
      "state": "CA",
      "zip": "90027"
    },
    "accessorials": [
      "liftgate"
    ],
    "phoneNumber": "+15555555555",
    "emails": [
      "logistics@mothership.com"
    ],
    "openTime": "1000",
    "closeTime": "2200"
  },
  "delivery": {
    "name": "LACMA",
    "address": {
      "street": "5905 Wilshire Blvd",
      "city": "Los Angeles",
      "state": "CA",
      "zip": "90036"
    },
    "accessorials": [
      "liftgate",
      "residential"
    ],
    "phoneNumber": "+15555555555",
    "emails": [
      "logistics@mothership.com"
    ],
    "openTime": "1100",
    "closeTime": "1700"
  },
  "pickupReadyDate": {
    "date": "2024-10-15",
    "time": "1000"
  }
}'

201The fields the next call needs

{
  "data": {
    "id": "-LawNN52lCcvj6T5qiEp",
    "expiresAt": "2019-03-26T23:51:40.485Z",
    "rates": [
      {
        "id": "VDWLA0",
        "creditsApplied": 0,
        "estimatedPickupDate": "2019-03-26T23:45:40.000Z",
        "estimatedDeliveryDate": "2019-03-28T05:00:40.000Z",
        "price": 79,
        "provider": "mothership",
        "providerScac": "mhpg",
        "services": [],
        "transitDays": {
          "minimum": 1,
          "maximum": 1
        },
        "warnings": [],
        "coveragePrice": 0,
        "coveredValue": 0
      }
    ]
  }
}

Guides

Walk through a real integration

Each guide runs against the sandbox, so you can follow along without booking anything.

Get a sandbox token and make your first request.

Organization owners create tokens in the dashboard. The sandbox validates every request like production and never purchases a shipment.

Get API keys