Create and manage shipments.

The Shipments API is the core of the RC:Ship platform. Creating a shipment automatically selects the carrier (via routing rules), manifests the package with the carrier, generates a label, and initiates tracking.

POST/v1/shipments

Create a Shipment

You can create a shipment by either providing a previously retrieved rateId, or by explicitly passing the destination and package data and allowing RC:Ship's engine to select the best carrier.

Request Payload
{
  "orderId": "ORD-2024-998",
  "carrier": "amazon_shipping",
  "service": "standard",
  "destination": {
    "name": "Jane Doe",
    "address1": "456 Tech Park",
    "city": "Bengaluru",
    "state": "KA",
    "zip": "560001",
    "country": "IN",
    "phone": "+919876543210"
  },
  "packages": [
    {
      "weight": 2.5,
      "dimensions": { "length": 20, "width": 15, "height": 10, "unit": "cm" }
    }
  ]
}

The Shipment Response

Upon successful creation, the API returns the manifested shipment details, including the carrier's tracking number and a URL to download the generated shipping label.

Response Payload
{
  "id": "shp_a1b2c3d4",
  "status": "created",
  "orderId": "ORD-2024-998",
  "carrier": "amazon_shipping",
  "service": "standard",
  "trackingNumber": "AMZ987654321",
  "labelUrl": "https://api.ship.retailcoder.com/v1/labels/shp_a1b2c3d4.pdf",
  "createdAt": "2024-05-18T14:30:00Z"
}
GET/v1/shipments/:id

Retrieve a Shipment

You can retrieve the full details of a previously created shipment, including its current status, by making a GET request to the shipment endpoint using the shp_... identifier.

Ready to build shipping into your product?
Talk to Sales
Developer Hub

Build with the Shipping Infrastructure API

A robust, RESTful API designed by developers, for developers.

Integrating shipping carriers is notoriously difficult due to archaic SOAP APIs, inconsistent documentation, and varied label formats. RC:Ship abstracts away this complexity, providing a unified developer experience.

Unified Carrier Abstraction

Instead of building and maintaining 10 different carrier integrations, you build one integration to the RC:Ship API. We handle the carrier-specific quirks, API updates, and edge cases, allowing your engineering team to focus on core product features.

Our API normalizes the entire shipping lifecycle—from live rate fetching to label generation and real-time tracking webhooks.

This means that adding a new carrier to your stack is a configuration change in our dashboard, not a three-week sprint for your engineering team.

Reliable Webhooks & Event Streams

Stop polling for tracking updates. Our infrastructure handles millions of carrier pings and distills them into clean, standardized webhook events sent directly to your endpoints. Whether a package is out for delivery or returning to origin, you receive instant, structured JSON payloads.

API Capabilities

RESTful Design
Predictable resource-oriented URLs and HTTP status codes.
Sub-second Responses
Optimized for live checkout rate fetching without latency.
Webhooks
Reliable event delivery with built-in retry mechanisms.
Sandboxed Testing
Generate test labels without incurring real carrier charges.