RC:Ship API

The RC:Ship API gives your application programmatic access to shipping rates, shipments, labels, tracking, and shipping events. It allows you to build custom logistics workflows on top of our multi-carrier network.

API Principles

  • RESTful Design: Resource-oriented URLs and standard HTTP verbs.
  • JSON Payloads: Requests and responses are encoded in JSON.
  • Secure by Default: All endpoints require HTTPS and Bearer token authentication.
  • Event-Driven: Webhooks push asynchronous state changes directly to your application.

Base URL

All API requests should be made to the following production base URL:

BASH
https://api.ship.retailcoder.com/v1

Request & Response Conventions

Content Type

You must send the Content-Type: application/json header for all requests containing a body. The API will respond with JSON in all cases, including errors.

IDs

All resources in RC:Ship are assigned a unique string identifier prefixed with a resource indicator (e.g., shp_... for shipments, rate_... for rates).

Timestamps

All timestamps are returned in ISO 8601 format, represented in UTC (e.g., 2024-05-18T14:30:00Z).

Error Handling

RC:Ship uses standard HTTP response codes to indicate the success or failure of an API request.

  • 2xx: Success.
  • 4xx: Client error (e.g., missing parameter, invalid auth token). The payload will contain details.
  • 5xx: Server error on our end.
Error Response Payload
{
  "error": {
    "code": "validation_error",
    "message": "The destination zip code is invalid.",
    "param": "destination.zip"
  }
}
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.