ReachShip Multi-Carrier Shipping API is a flexible, modern, and easy-to-use API that aggregates various shipping APIs into one. Multi-Carrier shipping functionality and support are provided by shipping APIs that interface with multiple carriers regionally and internationally.
Rather than integrating with each carrier individually, ReachShip Shipping API simply needs to integrate with your eCommerce Store to gain access to the whole carrier-related functionalities like getting shipping rates, generating & printing shipping labels, scheduling a pickup, shipment tracking, etc.
Integrating the API is a breeze considering the excellent developer support we provide.
Get OAuth token to be used with every API transaction.The token expires every 30 days and has to be regenerated using this endpoint.
| grant_type | string Value: "client_credentials" |
| client_id | string = 34 characters Example: client_id=Client_ID Specifies the Client ID generated in the ReachShip dashboard. |
| client_secret | string = 32 characters Example: client_secret=Client_Secret Specifies the Client Secret generated in the ReachShip dashboard. |
grant_type=client_credentials&client_id=Client_ID&client_secret=Client_secret
{- "access_token": "reachship access token",
- "token_type": "bearer"
}Request pre-ship rating information to determine costs.
| Authorization required | string Example: Bearer access_token This indicates the authorization token for the input request. |
object | |
required | object The shipment object. |
{- "shipment": {
- "ship_to": {
- "city_locality": "Cupertino",
- "state_province": "CA",
- "postal_code": "95014",
- "country_code": "US"
}, - "ship_from": {
- "city_locality": "Austin",
- "state_province": "TX",
- "postal_code": "78756",
- "country_code": "US"
}, - "packages": [
- {
- "weight": {
- "value": 1,
- "unit": "KG"
}, - "length": {
- "value": 1,
- "unit": "IN"
}, - "width": {
- "value": 1,
- "unit": "IN"
}, - "height": {
- "value": 1,
- "unit": "IN"
}
}
]
}
}[- {
- "companyName": "FEDEX",
- "serviceName": "FedEx First Overnight®",
- "estimatedDelivery": "NA",
- "totalBaseCharge": 137.92,
- "totalChargeWithTaxes": 164.81,
- "currency": "USD",
- "serviceCode": "FIRST_OVERNIGHT",
- "reachshipAccountIdentifier": "fedex account 1",
- "extraCharges": {
- "Fuel Surcharge": 26.89
}
}
]Process and submit shipping requests to produce a shipping label.
| Authorization required | string Example: Bearer access_token This indicates the authorization token for the input request. |
required | object The carrier object. |
object | |
object non-empty The shipment object. | |
Array of objects non-empty | |
object | |
object | |
object |
{- "carrier": {
- "name": "UPS",
- "service_code": "03",
- "account_name": "ups-account-01"
}, - "shipment": {
- "ship_to": {
- "name": "Bob",
- "phone": {
- "dial_code": "1",
- "raw_phone": "9999999999"
}, - "email": "bob@gmail.com",
- "address_line_1": "Perry-Castañeda Library",
- "address_line_2": "101 East 21st St.",
- "city_locality": "Austin",
- "state_province": "CA",
- "postal_code": "95014",
- "country_code": "US"
}, - "ship_from": {
- "name": "Alice",
- "phone": {
- "dial_code": "1",
- "raw_phone": "9999999999"
}, - "email": "alice@gmail.com",
- "address_line_1": "5501 N",
- "address_line_2": "Portland Ave",
- "city_locality": "Oklahoma City",
- "state_province": "OK",
- "postal_code": "73112",
- "country_code": "US"
}, - "ship_date": "2021-09-01",
- "packages": [
- {
- "description": "Hoodie",
- "country_of_manufacture": "US",
- "insurance": {
- "amount": 10,
- "currency": "USD"
}, - "weight": {
- "value": 1.2,
- "unit": "KG"
}, - "length": {
- "value": 1,
- "unit": "CM"
}, - "width": {
- "value": 1,
- "unit": "CM"
}, - "height": {
- "value": 1,
- "unit": "CM"
}
}, - {
- "weight": {
- "value": 1.1,
- "unit": "KG"
}, - "length": {
- "value": 2,
- "unit": "CM"
}, - "width": {
- "value": 2,
- "unit": "CM"
}, - "height": {
- "value": 2,
- "unit": "CM"
}
}
]
}
}Process and submit requests to create manifest.
| Authorization required | string Example: Bearer access_token This indicates the authorization token for the input request. |
object The carrier object. | |
required | object |
{- "carrier": {
- "name": "AUSPOST_STARTRACK",
- "account_name": "Test Account Name"
}, - "manifest_options": {
- "auspost_startrack": {
- "order_ids": [
- "ABC1234567"
]
}
}
}Delete Shipments
| Authorization required | string Example: Bearer access_token |
| carrier_name required | string Enum: "AUSPOST_MYPOST" "FEDEX" "UPS" "AUSPOST_STARTRACK" "AUSPOST_EPARCEL" "SENDLE" "USPS" |
| shipment_ids | Array of strings non-empty |
| tracking_ids | Array of strings non-empty |
| order_ids | Array of strings non-empty Sendle Order IDs. |
| account_name | string Specify the carrier account to be considered while deleting the shipment. By default, the primary carrier account will be considered for deleting shipments. |
{- "carrier_name": "AUSPOST_MYPOST",
- "shipment_ids": [
- "shipment_id_1",
- "shipment_id_2"
]
}Schedule Pickup
| Authorization required | string Example: Bearer access_token |
object | |
object | |
object | |
object | |
Array of objects | |
| tracking_ids | Array of strings non-empty unique [ items non-empty ] |
| destination_country_code | string Destination country code. This is a required parameter for UPS. Click here to view the available country codes. |
object | |
object | |
object |
{- "carrier": {
- "name": "UPS",
- "service_code": "03"
}, - "shipper": {
- "name": "Bob",
- "email": "bob@gmail.com",
- "phone": {
- "raw_phone": "9090909090",
- "dial_code": "1"
}, - "address_line_1": "5501 N",
- "address_line_2": "Portland Ave",
- "city_locality": "Oklahoma City",
- "state_province": "OK",
- "postal_code": "73112",
- "country_code": "US"
}, - "packages": [
- {
- "weight": {
- "value": 1,
- "unit": "KG"
}, - "length": {
- "value": 1,
- "unit": "IN"
}, - "width": {
- "value": 1,
- "unit": "IN"
}, - "height": {
- "value": 1,
- "unit": "IN"
}
}
], - "pickup_window": {
- "date": "2021-08-31",
- "ready_time": "09:00",
- "close_time": "19:00"
}, - "tracking_ids": [
- "1001100100"
]
}Cancel Pickup
| Authorization required | string Example: Bearer access_token |
| carrier_name required | string Enum: "DHL_EXPRESS" "UPS" "USPS'" "FEDEX" |
| account_name | string |
object | |
object | |
object | |
object |
{- "carrier_name": "DHL_EXPRESS",
- "dhl_express": {
- "requestor_name": "Alice",
- "origin_service_area": "MAD",
- "country_code": "ES",
- "region_code": "EU",
- "pickup_confirmation_number": "ABC100000000000",
- "pickup_date": "2023-11-02",
- "cancel_time": "09:55"
}
}Track Shipment
| Authorization required | string Example: Bearer access_token |
| carrier_name required | string Enum: "DHL_EXPRESS" "FEDEX" "UPS" "AUSPOST_MYPOST" "AUSPOST_STARTRACK" "AUSPOST_EPARCEL" "SENDLE" "USPS" |
| tracking_number required | string |
| account_name | string Specify the carrier account to be considered while tracking shipment. By default, the primary carrier account will be considered for tracking shipment. |
{- "carrier_name": "UPS",
- "tracking_number": "10xxxxxxxx"
}{- "carrier_name": "UPS",
- "tracking_number": "10xxxxxxxx",
- "current_status": "IN_TRANSIT",
- "events": [
- {
- "status": "IN_TRANSIT",
- "description": "Shipment is at UPS Freight location",
- "location": "UPS Access Point, US",
- "status_timestamp": "NA"
}, - {
- "status": "IN_TRANSIT",
- "description": "Package shipped",
- "location": "California, US",
- "status_timestamp": "NA"
}, - {
- "status": "SHIPMENT_CREATED",
- "description": "Billing information received",
- "status_timestamp": "NA"
}
]
}Validate the accuracy of a given shipping address. This API checks the validity of an address, normalizes it, and may return delivery point validation (DPV) codes depending on the selected verification mode and carrier. It is an essential step to prevent shipments from attempting delivery to unverified or incorrect locations.
| Authorization required | string Example: Bearer access_token This indicates the authorization token for the input request. |
| reference_id | string A unique identifier for the address validation request. This is typically used to map the validation result back to an internal order or customer record. |
required | object The complete set of address fields that need to run against the validation engine. |
object Settings specifying how the validation should be conducted. |
{- "reference_id": "order_10005",
- "address": {
- "street_line1": "1427 6th Ave",
- "street_line2": "",
- "city": "New York",
- "state": "NY",
- "postal_code": "10019",
- "country_code": "US"
}, - "verification": {
- "mode": "standard",
- "carrier": "auto"
}
}{- "reference_id": "order_10005",
- "status": "VALID",
- "confidence": "MEDIUM",
- "carrier_used": "USPS",
- "standardized_address": {
- "street_line1": "1427 6TH AVE",
- "street_line2": "",
- "city": "NEW YORK",
- "state": "NY",
- "postal_code": "10019",
- "country_code": "US"
}, - "verifications": {
- "delivery": {
- "success": true,
- "dpv_confirmation": "Y",
- "message": "No action required. Address is validated."
}, - "postal_code": {
- "success": true,
- "zip_plus4": false
}, - "residential": {
- "type": "RESIDENTIAL"
}
}, - "corrections": [ ],
- "warnings": [ ],
- "errors": [ ]
}Save carrier credentials
| Authorization required | string Example: Bearer access_token |
| carrier required | string Enum: "DHL_EXPRESS" "FEDEX" "UPS" "AUSPOST_MYPOST" "AUSPOST_STARTRACK" "AUSPOST_EPARCEL" "SENDLE" "USPS" |
| account_name required | string >= 2 characters |
object | |
object | |
object | |
object | |
object | |
object | |
object |
{- "carrier": "DHL_EXPRESS",
- "account_name": "DHL Production Account",
- "dhl_express_credentials": {
- "account_number": "YOUR_DHL_ACCOUNT_NUMBER",
- "site_id": "YOUR_DHL_SITE_ID",
- "site_password": "YOUR_DHL_SITE_PASSWORD",
- "is_primary": true
}
}Update carrier credentials
| Authorization required | string Example: Bearer access_token |
| carrier required | string Enum: "DHL_EXPRESS" "FEDEX" "UPS" "AUSPOST_MYPOST" "AUSPOST_STARTRACK" "AUSPOST_EPARCEL" "SENDLE" "USPS" |
| account_name required | string >= 2 characters |
object | |
object | |
object | |
object | |
object | |
object | |
object |
{- "carrier": "DHL_EXPRESS",
- "account_name": "DHL Production Account",
- "dhl_express_credentials": {
- "account_number": "YOUR_DHL_ACCOUNT_NUMBER",
- "site_id": "YOUR_DHL_SITE_ID",
- "site_password": "YOUR_DHL_SITE_PASSWORD",
- "is_primary": true
}
}Delete Carrier Credentials.
| Authorization required | string Example: Bearer access_token |
| carrier required | string Enum: "DHL_EXPRESS" "FEDEX" "UPS" "AUSPOST_MYPOST" "AUSPOST_STARTRACK" "AUSPOST_EPARCEL" "SENDLE" "USPS" |
| account_name required | string >= 2 characters |
| alternative_primary_account_name | string >= 2 characters When deleting a primary carrier account, specify an existing alternative account name to be assigned as primary. |
{- "carrier": "DHL_EXPRESS",
- "account_name": "DHL Production Account"
}