In addition to the ShipStation carriers that are included with your account, you can also connect your own carrier accounts so you can ship with your own negotiated rates with ShipStation API.
You can connect your accounts either programmatically with the /v1/connections endpoint or via your account Dashboard.
To connect your own carrier accounts to ShipStation API:
- Plan Requirements: Most standalone carrier connections require an Advanced Plan or higher. However, Stamps.com and Endicia standalone connections are now available on the Free plan for USA Direct Sellers. Partner accounts and non-USA direct sellers are currently excluded from this Free plan offering.
- You must have an account already set up with each carrier you want to connect to ShipStation API.
- You must connect your carrier accounts in the Production environment.
- By default, you can only connect one instance of a carrier account. To override this default, include
"allow_duplicate_account_number":"true"in your connection request.
ShipStation API supports 100+ global carriers that offer a variety of domestic and international services to meet your brand's unique shipping needs.
The following list provides the connection information model and example POST calls for most of our available carriers (though this list is not exhaustive). You can find further details about using each carrier in the carrier guides (thank you for your patience while we continue to add more guides to this list - there are a lot of them!).
You can access the full list of carriers available in your ShipStation API Dashboard.
Open the sections below to view connection details and example connection requests for your carriers.
Connection Properties:
carrier_name: access_worldwide
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
POST /v1/connections/carriers/access_worldwide
POST /v1/connections/carriers/access_worldwide HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "Test Access Worldwide Account",
"username": "your_username_here",
"password": "your_password_here"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/access_worldwide/:id
DELETE /v1/connections/carriers/access_worldwide/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: apc
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
POST /v1/connections/carriers/apc
POST /v1/connections/carriers/apc HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my apc account",
"username": "usernameapc",
"password": "pa55word"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE v1/connections/carriers/apc/:id
DELETE /v1/connections/carriers/apc/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection properties:
carrier_name: fastway_au
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
client_id | string | Yes | Client ID |
client_secret | string | Yes | Client secret |
email | string | Yes | Email address |
POST /v1/connections/carriers/fastway_au
POST /v1/connections/carriers/fastway_au HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My Fastway AU Account",
"client_id": "myclient-id",
"client_secret": "mysecret",
"email": "myemail@email.com"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/fastway_au/:id
DELETE /v1/connections/carriers/fastway_au/se-1234567 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: fastway_nz
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
client_id | string | Yes | Client ID |
client_secret | string | Yes | Client secret |
email | string | Yes | Email address |
account_type_id | string | No | Account type ID |
POST /v1/connections/carriers/fastway_nz
POST /v1/connections/carriers/fastway_nz HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my aramex account",
"client_id": "my client id",
"client_secret": "my client secret",
"email": "me@example.com"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/fastway_nz/:id
DELETE /v1/connections/carriers/fastway_nz/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: asendia
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
password | string | Yes | Account password |
username | string | Yes | Account username |
api_key | string | Yes | API key |
account_number | int | Yes | Account number |
sub_account_number | int | No | Account number |
processing_location | string | Yes | Processing location |
POST /v1/connections/carriers/asendia
POST /v1/connections/carriers/asendia HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my asendia account",
"ftp_username": "userasendia",
"ftp_password": "pa55word",
"account_number": 1234,
"processing_location": "LAX"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/asendia/:id
DELETE /v1/connections/carriers/asendia/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: australia_post
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
account_number | string | Yes | Account number |
api_key | string | Yes | API key |
api_secret | string | No | API secret |
POST /v1/connections/carriers/australia_post
POST /v1/connections/carriers/australia_post HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my australia post account",
"account_number": "123456789",
"api_key": "your_api_key_here",
"api_secret": "your_api_secret_here"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/australia_post/:id
DELETE /v1/connections/carriers/australia_post/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__carrier_name: australia_post_mypost_business
NOTE:
Currently, connection is available only via the ShipStation API Dashboard, not via an API call.
To connect your Australia Post MyPost Business account:
- Log in to your ShipStation API Dashboard
- Navigate to the Carriers section
- Follow the connection instructions in our Australia Post MyPost Business help article
Authorization Process:
The ShipStation Partner ID is used for authorization, and you will be redirected from the Dashboard to the Australia Post MyPost Business website to authorize our application for shipping.
DELETE /v1/connections/carriers/australia_post_mypost_business/:id
DELETE /v1/connections/carriers/australia_post_mypost_business/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: canpar
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
account_number | string | Yes | Account number |
POST /v1/connections/carriers/canpar
POST /v1/connections/carriers/canpar HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My Canpar Account",
"username": "username",
"password": "pa55word",
"account_number": "12345"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/canpar/:id
DELETE /v1/connections/carriers/canpar/se-1234567 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: couriers_please
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
account_number | string | Yes | Account number |
api_secret | string | Yes | Password |
skip_rating_during_label_creation | boolean | No | Skip rating during label creation? |
add_ship_date_during_label_creation | boolean | No | Add shipment date during label creation |
POST /v1/connections/carriers/couriers_please
POST /v1/connections/carriers/couriers_please HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My CouriersPlease Account",
"account_number": "123456789",
"api_secret": "your_api_secret_here"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/couriers_please/:id
DELETE /v1/connections/carriers/couriers_please/se-1234567 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: dai
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
account_number | string | Yes | Account number |
use_shipperaddress_as_return | boolean | Yes | Use shipper address as return address |
dai_terminal | string | Yes | DAI terminal |
POST /v1/connections/carriers/dai
POST /v1/connections/carriers/dai HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my DAI account",
"username": "my username",
"password": "my password",
"account_number": "my account number",
"use_shipperaddress_as_return": true
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/dai/:id
DELETE /v1/connections/carriers/dai/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: delivengo
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
email | string | Yes | Email address |
api_key | string | Yes | API key |
POST /v1/connections/carriers/delivengo
POST /v1/connections/carriers/delivengo HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My Delivengo Account",
"email": "myemail@email.com",
"api_key": "your_api_key_here"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/delivengo/:id
DELETE /v1/connections/carriers/delivengo/se-1234567 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: deutsche_post_dhl
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
account_number | string | Yes | Client ID (First 10 digits) |
user | string | Yes | User |
password | string | Yes | Password |
tracking_user | string | No | Tracking user |
tracking_password | string | No | Tracking password |
participation_number | string | No | Participation number |
POST /v1/connections/carriers/deutsche_post_dhl
POST /v1/connections/carriers/deutsche_post_dhl HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my Deutsche Post DHL account",
"account_number": "123456789",
"password": "password123",
"tracking_user": "tracking_username",
"tracking_password": "tr4ckpa55word",
"participation_number": "88888"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/deutsche_post_dhl/:id
DELETE /v1/connections/carriers/deutsche_post_dhl/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__INFO:
DHL E-Commerce supports rating but only if you have DHL E-Commerce API credentials. Please contact your DHL account representative for more information.
Connection Properties:
carrier_name: dhl_global_mail
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
client_id | string | Yes | Client ID |
api_secret | string | Yes | API secret |
pickup_number | string | Yes | Pickup number |
distribution_center | string | Yes | Distribution center code |
sold_to | string | No | Sold-to number |
POST /v1/connections/carriers/dhl_global_mail
POST /v1/connections/carriers/dhl_global_mail HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "Test DHL E-Commerce Account",
"client_id": "your_client_id_here",
"api_secret": "your_api_secret_here",
"pickup_number": "123456789",
"distribution_center": "USDFW1",
"sold_to": "1234567"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/dhl_global_mail/:id
DELETE /v1/connections/carriers/dhl_global_mail/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__DHL and DHL E-Commerce service marks are owned by Deutsche Post DHL Group and used with permission.
Connection Properties:
carrier_name: dhl_ecommerce_au
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
pickup_account_id | string | Yes | Pickup account ID |
sold_to_account_id | string | Yes | Sold-to account ID |
shipment_id_prefix | string | Yes | Shipment ID prefix |
skip_rating_during_label_creation | boolean | No | Skip rating during label creation |
POST /v1/connections/carriers/dhl_ecommerce_au
POST /v1/connections/carriers/dhl_ecommerce_au HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my dhl account",
"pickup_account_id": "123456789",
"sold_to_account_id": "987654312",
"shipment_id_prefix": "123abc"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/dhl_ecommerce_au/:id
DELETE /v1/connections/carriers/dhl_ecommerce_au/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__DHL and DHL E-Commerce service marks are owned by Deutsche Post DHL Group and used with permission.
Connection Properties:
carrier_name: dhl_express_australia
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
account_number | string | Yes | Account number |
site_id | string | No | Site ID |
password | string | No | Password |
POST /v1/connections/carriers/dhl_express_australia
POST /v1/connections/carriers/dhl_express_australia HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my dhl account",
"account_number": "123456789"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/dhl_express_australia/:id
DELETE /v1/connections/carriers/dhl_express_australia/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__DHL and DHL Express AU service marks are owned by Deutsche Post DHL Group and used with permission.
Connection Properties:
carrier_name: dhl_express_canada
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
account_number | string | Yes | Account number |
site_id | string | No | Site ID |
password | string | No | Password |
POST /v1/connections/carriers/dhl_express_canada
POST /v1/connections/carriers/dhl_express_canada HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my dhl account",
"account_number": "123456789"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/dhl_express_canada/:id
DELETE /v1/connections/carriers/dhl_express_canada/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__DHL and DHL Express CA service marks are owned by Deutsche Post DHL Group and used with permission.
Connection Properties:
carrier_name: dhl_express_uk
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
account_number | string | Yes | Account number |
site_id | string | Yes | Site ID |
password | string | Yes | Account password |
POST /v1/connections/carriers/dhl_express_uk
POST /v1/connections/carriers/dhl_express_uk HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my dhl account",
"account_number": "123456789",
"site_id": "ExampleId",
"password": "password123"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/dhl_express_uk/:id
DELETE /v1/connections/carriers/dhl_express_uk/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__DHL and DHL Express UK service marks are owned by Deutsche Post DHL Group and used with permission.
Connection Properties:
carrier_name: dhl_express
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
account_number | string | Yes | Account number |
site_id | string | No | Site ID |
password | string | Yes | Account password |
country_code | string | Yes | Country code |
POST /v1/connections/carriers/dhl_express
POST /v1/connections/carriers/dhl_express HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my dhl account",
"account_number": "123456789",
"site_id": "my site_id",
"password": "my password",
"country_code": "US"
}A successful connection will return the carrier's carrier_id property in the response.
Hide Account Number in Archive Document
| Parameter | Description |
|---|---|
should_hide_account_number_on_archive_doc | boolean |
PUT /v1/connections/carriers/dhl_express/:id/settings
PUT /v1/connections/carriers/dhl_express/se-123/settings HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"should_hide_account_number_on_archive_doc": true
}DELETE /v1/connections/carriers/dhl_express/:id
DELETE /v1/connections/carriers/dhl_express/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__DHL and DHL Express service marks are owned by Deutsche Post DHL Group and used with permission.
Connection Properties:
carrier_name: dpd
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
customer_account_number | string | Yes | Account number |
POST /v1/connections/carriers/dpd
POST /v1/connections/carriers/dpd HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my DPD account",
"account_number": "123456789",
"password": "password123"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/dpd/:id
DELETE /v1/connections/carriers/dpd/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: dpd_germany
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
POST /v1/connections/carriers/dpd_germany
POST /v1/connections/carriers/dpd_germany HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my DPD DE account",
"account_number": "123456789",
"password": "password123"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/dpd_germany/:id
DELETE /v1/connections/carriers/dpd_germany/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: apicode-dpd-local
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
customer_account_number | string | Yes | Customer account number |
POST /v1/connections/carriers/apicode-dpd-local
POST /v1/connections/carriers/apicode-dpd-local HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my DPD Local account",
"username": "123456789",
"password": "password123"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/apicode-dpd-local/:id
DELETE /v1/connections/carriers/apicode-dpd-local/se-1234567 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: endicia
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
account | string | No | Account |
passphrase | string | No | Account passphrase |
🎉 Update for Free Plans
Stamps.com and Endicia standalone accounts can now be connected on the ShipEngine Free plan for USA direct sellers.
POST /v1/connections/carriers/endicia
POST /v1/connections/carriers/endicia HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My Endicia account",
"account": "__YOUR_USERNAME_HERE__",
"passphrase": "__YOUR_PASSWORD_HERE__"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/endicia/:id
DELETE /v1/connections/carriers/endicia/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: rr_donnelley
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
POST /v1/connections/carriers/rr_donnelley
POST /v1/connections/carriers/rr_donnelley HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my rr donnelley account",
"username": "donnelleyaccount",
"password": "pa55word"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/rr_donnelley/:id
DELETE /v1/connections/carriers/rr_donnelley/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: hermescorp
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
client_id | string | Yes | Client ID |
client_name | string | Yes | Client name |
endpoint | string | Yes | API endpoint ("Production" or "Testing") |
POST /v1/connections/carriers/hermescorp
POST /v1/connections/carriers/hermescorp HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My Hermes Account",
"username": "hermes_user",
"password": "pa55word",
"client_id": "12345",
"client_name": "Hermes User",
"endpoint": "Production"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/hermescorp/:id
DELETE /v1/connections/carriers/hermescorp/se-1234567 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: fedex_uk
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
account_number | string | Yes | Account number |
first_name | string | Yes | First name |
last_name | string | Yes | Last name |
company | string | No | Company name |
address1 | string | Yes | Address line 1 |
address2 | string | No | Address line 2 |
city | string | Yes | City |
postal_code | string | Yes | Postal code |
country_code | string | Yes | Country code |
email | string | Yes | Email address |
phone | string | Yes | Phone number |
agree_to_eula | bool | Yes | Agreement to terms of service |
POST /v1/connections/carriers/fedex_uk
POST /v1/connections/carriers/fedex_uk HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My FedEx UK account",
"account_number": "123456789",
"company": "Example Corp.",
"first_name": "John",
"last_name": "Doe",
"phone": "20 5555 5555",
"address1": "77 Netherpark Crescent",
"address2": "Suite 100",
"city": "London",
"postal_code": "ABC 123",
"country_code": "GB",
"email": "john.doe@example.com",
"agree_to_eula": "true"
}A successful connection will return the carrier's carrier_id property in the response.
INFO:
By connecting a FedEx UK account, you and your users agree to the FedEx EULA.
DELETE /v1/connections/carriers/fedex_uk/:id
DELETE /v1/connections/carriers/fedex_uk/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__FedEx service marks are owned by Federal Express Corporation and used with permission.
Connection Properties:
carrier_name: fedex
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
account_number | string | Yes | Account number |
first_name | string | Yes | First name |
last_name | string | Yes | Last name |
company | string | No | Company name |
address1 | string | Yes | Address line 1 |
address2 | string | No | Address line 2 |
city | string | Yes | City |
state_province | string | Yes | State or province |
postal_code | string | Yes | Postal code |
country_code | string | Yes | Country code |
email | string | Yes | Email address |
phone | string | Yes | Phone number |
agree_to_eula | bool | Yes | Agreement to terms of service |
POST /v1/connections/carriers/fedex
POST /v1/connections/carriers/fedex HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My FedEx account",
"account_number": "123456789",
"company": "Example Corp.",
"first_name": "John",
"last_name": "Doe",
"phone": "111-111-1111",
"address1": "4009 Marathon Blvd.",
"address2": "Suite 300",
"city": "Austin",
"state_province": "TX",
"postal_code": "78756",
"country_code": "US",
"email": "john.doe@example.com",
"agree_to_eula": "true"
}A successful connection will return the carrier's carrier_id property in the response.
INFO:
By connecting a FedEx US or CA account, you and your users agree to the FedEx EULA.
ShipStation API takes advantage of some of FedEx's advanced functionality but does not enable it by default.
| Parameter | Type | Description |
|---|---|---|
pickup_type | enumerated string | Determines how FedEx will pickup your packages none - Not specified regular_pickup - You already have a daily pickup scheduled with FedEx request_courier - You will call FedEx to request a courier drop_box - You will drop-off packages in a FedEx drop box business_service_center - You will drop-off packages at an authorized FedEx business service center station - You will drop-off the package at a FedEx Station |
smart_post_hub | enumerated string | none, allentown_pa, atlanta_ga, charlotte_nc, chino_ca, dallas_tx, denver_co, detroit_mi, edison_nj, grove_city_oh, groveport_oh, houston_tx, indianapolis_in, kansas_city_ks, los_angeles_ca, martinsburg_wv, memphis_tn, middletown_ct, minneapolis_mn, new_berlin_wi, northborough_ma, orlando_fl, phoneix_az, pittsburgh_pa, portland_or, reno_nv, sacramento_ca, salt_lake_city_ut, seattle_wa, st_louis_mo |
smart_post_endorsement | enumerated string | none, return_service_requested, forwarding_service_requested, address_service_requested, change_service_requested, leave_if_no_response |
is_primary_account | bool | Whether or not the account is set to primary, this currently has no function inside of ShipStation API. |
signature_image | string | A Base 64 encoded image of the signature to be used for this account. |
letterhead_image | string | A Base 64 encoded image of the letterhead to be used for this account. |
INFO:
- To enable SmartPost™ both smart_post properties are required and must be valid.
- FedEx makes documentation available for SmartPost™ here.
PUT /v1/connections/carriers/fedex/:carrier_id/settings
PUT /v1/connections/carriers/fedex/se-108252/settings HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my fedex account",
"pickup_type": "regular_pickup",
"smart_post_hub": "dallas_tx",
"smart_post_endorsement": "address_service_requested",
"is_primary_account": "false",
"signature_image": "base64string",
"letterhead_image": "base64string"
}On a successful response, you will receive an HTTP status 204.
DELETE /v1/connections/carriers/fedex/:ID
DELETE /v1/connections/carriers/fedex/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__When FedEx has been successfully disconnected, you will receive a HTTP 204, No Content status.
FedEx service marks are owned by Federal Express Corporation and used with permission.
Connection Properties:
carrier_name: firstmile
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
mailer_id | string | Yes | Mailer ID |
password | string | Yes | Account password |
POST /v1/connections/carriers/firstmile
POST /v1/connections/carriers/firstmile HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my firstmile account",
"mailer_id": "1234",
"password": "pa55word"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/firstmile/:id
DELETE /v1/connections/carriers/firstmile/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: gls_canada
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
key | string | Yes | API key |
IMPORTANT: Please use your API login credentials to link your GLS account. These credentials are different from the credentials for the GLS website. To obtain your API credentials, submit a request with the GLS sales team.
POST /v1/connections/carriers/gls_canada
POST /v1/connections/carriers/gls_canada HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my GLS CA account",
"username": "usergls",
"password": "pa55word",
"key": "your_api_key_here"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/gls_canada/:id
DELETE /v1/connections/carriers/gls_canada/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: gls_france
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
contact_id | string | Yes | Contact ID |
POST /v1/connections/carriers/gls_france
POST /v1/connections/carriers/gls_france HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my GLS FR account",
"username": "usergls",
"password": "pa55word",
"contact_id": "1234"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/gls_france/:id
DELETE /v1/connections/carriers/gls_france/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: gls_germany
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
customer_id | string | Yes | Customer ID |
contact_id | string | Yes | Contact ID |
client_id | string | Yes | Client ID |
client_secret | string | Yes | Client secret |
key | string | Yes | API key |
IMPORTANT: Please use your API login credentials to link your GLS account. These credentials are different from the credentials for the GLS website. To obtain your API credentials, submit a request with the GLS sales team.
POST /v1/connections/carriers/gls_germany
POST /v1/connections/carriers/gls_germany HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my GLS DE account",
"username": "usergls",
"password": "pa55word",
"customer_id": "1234",
"contact_id": "5678",
"client_id": "91011",
"client_secret": "your client secret",
"key": "your_api_key_here"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/gls_germany/:id
DELETE /v1/connections/carriers/gls_germany/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: gls_nl
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
key | string | Yes | API key |
POST /v1/connections/carriers/gls_nl
POST /v1/connections/carriers/gls_nl HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my GLS NL account",
"username": "usergls",
"password": "pa55word",
"key": "your_api_key_here"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/gls_nl/:id
DELETE /v1/connections/carriers/gls_nl/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: gls_us
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
account_number | integer | Yes | Account number |
IMPORTANT: Please use your API login credentials to link your GLS account. These credentials are different from the credentials for the GLS website. To obtain your API credentials, submit a request with the GLS sales team.
POST /v1/connections/carriers/gls_us
POST /v1/connections/carriers/gls_us HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my GLS US account",
"username": "usergls",
"password": "pa55word",
"account_number": 123456789
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/gls_us/:id
DELETE /v1/connections/carriers/gls_us/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: grupo_ampm
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
account_number | number | Yes | Account number |
POST /v1/connections/carriers/grupo_ampm
POST /v1/connections/carriers/grupo_ampm HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my GrupoAMPM account",
"username": "username",
"password": "pa55word",
"account_number": 123456789
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/grupo_ampm/:id
DELETE /v1/connections/carriers/grupo_ampm/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: hermes_germany
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
pickup_window_slot | string | Yes | Pickup window time slot |
api_language | string | No | API language preference |
test_credentials | boolean | No | Use test credentials |
POST /v1/connections/carriers/hermes_germany
POST /v1/connections/carriers/hermes_germany HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my dhl account",
"username": "my username",
"password": "my password",
"pickup_window_slot": "my account pickup window"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/hermes_germany/:id
DELETE /v1/connections/carriers/hermes_germany/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: intelliquick_delivery
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
account_number | integer | Yes | Account number |
request_order_type | string | No | Request order type |
POST /v1/connections/carriers/intelliquick_delivery
POST /v1/connections/carriers/intelliquick_delivery HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My IntelliQuick Delivery Account",
"username": "username",
"password": "pa55word",
"account_number": 1234567
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/intelliquick_delivery/:id
DELETE /v1/connections/carriers/intelliquick_delivery/se-1234567 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: landmark_global
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
client_id | string | Yes | Client ID |
POST /v1/connections/carriers/landmark_global
POST /v1/connections/carriers/landmark_global HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my landmark_global account",
"username": "username",
"password": "password",
"client_id": "client_id"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/landmark_global/:id
DELETE /v1/connections/carriers/landmark_global/se-1234567 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: loomis_express
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
user_id | string | Yes | User ID |
password | string | Yes | Account password |
shipper_num | string | Yes | Shipper num |
POST /v1/connections/carriers/loomis_express
POST /v1/connections/carriers/loomis_express HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my loomis_express account",
"user_id": "123",
"password": "345",
"shipper_num": "site"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/loomis_express/:id
DELETE /v1/connections/carriers/loomis_express/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: maersk_b2c
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
authentication_key | string | Yes | Authentication key |
scramble | string | No | Scramble value |
POST /v1/connections/carriers/maersk_b2c
POST /v1/connections/carriers/maersk_b2c HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my maersk_b2c account",
"authentication_key": "your auth key"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/maersk_b2c/:id
DELETE /v1/connections/carriers/maersk_b2c/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: mondial_relay
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
api_key | string | Yes | API key |
enseigne | string | Yes | Enseigne code |
POST /v1/connections/carriers/mondial_relay
POST /v1/connections/carriers/mondial_relay HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my mondial_relay account",
"api_key": "your_api_key_here",
"enseigne": "your_enseigne_here"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/mondial_relay/:id
DELETE /v1/connections/carriers/mondial_relay/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: new_zealand_couriers
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
carrier_name | string | Yes | Carrier name |
customer_id | string | Yes | Customer ID |
client_id | string | Yes | Client ID |
client_secret | string | Yes | Client secret |
POST /v1/connections/carriers/new_zealand_couriers
POST /v1/connections/carriers/new_zealand_couriers HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my new_zealand_couriers account",
"carrier_name": "carrier name",
"customer_id": "your customer id",
"client_id": "your client id",
"client_secret": "your client secret"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/new_zealand_couriers/:id
DELETE /v1/connections/carriers/new_zealand_couriers/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: newgistics
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
merchant_id | numeric | No | Merchant ID |
mailer_id | string | No | Mailer ID |
induction_site | string | No | Induction site |
accountnumber | string | Yes | Account number |
param3 | string | Yes | Induction Site |
param4 | string | Yes | Mailer ID |
POST /v1/connections/carriers/newgistics
POST /v1/connections/carriers/newgistics HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my newgistics account",
"merchant_id": "123",
"mailer_id": "345",
"induction_site": "site"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/newgistics/:id
DELETE /v1/connections/carriers/newgistics/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: now_couriers
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
carrier_name | string | Yes | Carrier name |
customer_id | string | Yes | Customer ID |
client_id | string | Yes | Client ID |
client_secret | string | Yes | Client secret |
POST /v1/connections/carriers/now_couriers
POST /v1/connections/carriers/now_couriers HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My now_couriers Account",
"carrier_name": "carrier name",
"customer_id": "123456789",
"client_id": "12345",
"client_secret": "54321"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/now_couriers/:id
DELETE /v1/connections/carriers/now_couriers/se-1234567 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: courierpost
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
account_number | integer | Yes | Account number |
site_code | integer | No | Site code |
xl_approved_sender | boolean | No | XL Approved Sender |
POST /v1/connections/carriers/courierpost
POST /v1/connections/carriers/courierpost HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My NZ Post Domestic Account",
"username": "123456789",
"account_number": 123456789,
"site_code": 12345
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/courierpost/:id
DELETE /v1/connections/carriers/courierpost/se-1234567 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: new_zealand_post_international
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
account_number | integer | Yes | Account number |
indicia_number | string | No | Indicia number |
site_code | integer | Yes | Site code |
POST /v1/connections/carriers/new_zealand_post_international
POST /v1/connections/carriers/new_zealand_post_international HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My new_zealand_post_international Account",
"account_number": 123456789,
"site_code": 12345
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/new_zealand_post_international/:id
DELETE /v1/connections/carriers/new_zealand_post_international/se-1234567 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: n9minutos
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
api_key | string | Yes | API key |
POST /v1/connections/carriers/n9minutos
POST /v1/connections/carriers/n9minutos HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "Test 99Minutos Account",
"api_key": "your_api_key_here"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/n9minutos/:id
DELETE /v1/connections/carriers/n9minutos/se-1234567 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: ontrac
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
account_number | int | Yes | Account number |
password | string | Yes | Account password |
POST /v1/connections/carriers/ontrac
POST /v1/connections/carriers/ontrac HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my ontrac account",
"account_number": 1234,
"password": "pa55word"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/ontrac/:id
DELETE /v1/connections/carriers/ontrac/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: parcelforce_royal_mail
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
account_number | string | Yes | Account number |
password | string | Yes | Account password |
sftp_username | string | No | SFTP username |
sftp_password | string | No | SFTP password |
contract_number | string | No | Contract number |
department_id | string | No | Department ID |
test_account | boolean | No | Test account flag |
POST /v1/connections/carriers/parcelforce_royal_mail
POST /v1/connections/carriers/parcelforce_royal_mail HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My Parcelforce Account",
"account_number": "1234",
"password": "pa55word",
"sftp_username": "sftp_user",
"sftp_password": "pa55word",
"contract_number": "12345",
"department_id": "12",
"test_account": false
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/parcelforce_royal_mail/:id
DELETE /v1/connections/carriers/parcelforce_royal_mail/se-1234567 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: post_haste
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
carrier_name | string | Yes | Carrier name |
customer_id | string | Yes | Customer ID |
client_id | string | Yes | Client ID |
client_secret | string | Yes | Client secret |
POST /v1/connections/carriers/post_haste
POST /v1/connections/carriers/post_haste HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My post_haste Account",
"carrier_name": "carrier name",
"customer_id": "123456789",
"client_id": "12345",
"client_secret": "54321"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/post_haste/:id
DELETE /v1/connections/carriers/post_haste/se-1234567 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: postnl
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
api_key | string | Yes | API key |
customer_code | string | Yes | Customer code |
global_customer_code | string | Yes | Global customer code |
customer_number | string | Yes | Customer number |
collection_location | string | No | Collection location |
down_partner_id | string | No | Downstream partner ID |
global_range_min | number | Yes | Global range minimum |
global_range_max | number | Yes | Global range maximum |
POST /v1/connections/carriers/postnl
POST /v1/connections/carriers/postnl HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "Test PostNL Account",
"api_key": "your_api_key_here",
"customer_code": "656565",
"global_customer_code": "7777",
"customer_number": "12345",
"collection_location": "location_info",
"down_partner_id": "your_partner_id",
"global_range_min": "50",
"global_range_max": "100"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/postnl/:id
DELETE /v1/connections/carriers/postnl/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: purolator_ca
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
account_number | string | Yes | Account number |
activation_key | string | Yes | Activation key |
POST /v1/connections/carriers/purolator_ca
POST /v1/connections/carriers/purolator_ca HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "Test Purolator Canada Account",
"account_number": "1234567890",
"activation_key" : "abcdefgh-1234-ijkl-5678-mnopqrstuvwx"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/purolator_ca/:id
DELETE /v1/connections/carriers/purolator_ca/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: quantium
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
accountno | string | Yes | Account no |
customerid | string | Yes | Customerid |
username | string | Yes | Account username |
password | string | Yes | Account password |
AESKey | string | Yes | Aeskey |
AuthorizationKey | string | No | Authorizationkey |
handovermodes | string | Yes | Handovermodes |
collectiontimefrom | string | No | Collectiontimefrom |
collectiontimeto | string | No | Collectiontimeto |
dropoffpointcode | string | No | Dropoffpointcode |
POST /v1/connections/carriers/quantium
POST /v1/connections/carriers/quantium HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My quantium Account",
"accountno": "654321",
"customerid": "my customerid",
"username": "my username",
"password": "my password",
"AESKey": "12345",
"handovermodes": "mode1"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/quantium/:id
DELETE /v1/connections/carriers/quantium/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: redpack
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
client_id | string | Yes | Client ID |
client_secret | string | Yes | Client secret |
POST /v1/connections/carriers/redpack
POST /v1/connections/carriers/redpack HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "Test Redpack Account",
"username": "username",
"password": "password",
"client_id": "client_id",
"client_secret": "client_secret"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/redpack/:id
DELETE /v1/connections/carriers/redpack/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__The Royal Mail connection process involves several manual steps and a waiting period before activation is complete. Review the Royal Mail carrier guide for details. Only the basic connection properties and sample request are included below.
Connection Properties:
carrier_name: royal_mail
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
account_number | string | Yes | Account number |
oba_email | string | Yes | OBA email address |
company_name | string | Yes | Company name |
contact_name | string | Yes | Contact name |
email | string | Yes | Email address |
street_line1 | string | Yes | Street address line 1 |
street_line2 | string | No | Street address line 2 |
city | string | Yes | City |
postal_code | string | Yes | Postal code |
phone | string | Yes | Phone number |
posting_location_number | string | Yes | Posting location number |
POST /v1/connections/carriers/royal_mail
POST /v1/connections/carriers/royal_mail HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My Royal Mail account",
"account_number": "123456789",
"oba_email": "john.doe@example.com",
"company_name": "Example Corp",
"contact_name": "John Doe",
"email": "john.doe@example.com",
"street_line1": "77 Netherpark Crescent",
"street_line2": "",
"city": "STIRKOKE HOUSE",
"postal_code": "KW1 6LZ",
"phone": "215-555-5555",
"posting_location_number": "1234567890"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/royal_mail/:id
DELETE /v1/connections/carriers/royal_mail/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: seko
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
Username | string | Yes | Username |
access_key | string | Yes | Access key |
POST /v1/connections/carriers/seko
POST /v1/connections/carriers/seko HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "my seko account",
"access_key": "you_access_key_here"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/seko/:id
DELETE /v1/connections/carriers/seko/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: sendle
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
sendle_id | string | Yes | Sendle account ID |
api_key | string | Yes | API key |
POST /v1/connections/carriers/sendle
POST /v1/connections/carriers/sendle HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "Test Sendle Account",
"sendle_id": "your_username_here",
"api_key": "your_password_here"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/sendle/:id
DELETE /v1/connections/carriers/sendle/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: stamps_com
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
🎉 Update for Free Plans
Stamps.com and Endicia standalone accounts can now be connected on the ShipEngine Free plan for USA direct sellers.
POST /v1/connections/carriers/stamps_com
POST /v1/connections/carriers/stamps_com HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My stamps.com account",
"username": "__YOUR_USERNAME_HERE__",
"password": "__YOUR_PASSWORD_HERE"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/stamps_com/:id
DELETE /v1/connections/carriers/stamps_com/se-1234567 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: star_track
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
account_number | string | Yes | Account number |
user_id | string | Yes | User ID |
password | string | Yes | Account password |
POST /v1/connections/carriers/star_track
POST /v1/connections/carriers/star_track HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My Star Track account",
"account_number": "12345",
"user_id": "__YOUR_USERNAME_HERE__",
"password": "__YOUR_PASSWORD_HERE"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/star_track/:id
DELETE /v1/connections/carriers/star_track/se-1234567 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: toll_ipec
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
requested_by_name | string | Yes | Name of person requesting connection |
requested_by_email | string | Yes | Email of person requesting connection |
company_name | string | Yes | Company name |
address_line_1 | string | Yes | Address line 1 |
address_line_2 | string | No | Address line 2 |
suburb | string | Yes | Suburb |
state | string | Yes | State or province |
contact_name | string | Yes | Contact name |
account_number | string | Yes | Account number |
toll_ipec_account_manager | string | Yes | Toll IPEC account manager name |
use_test_endpoint | boolean | No | Use test endpoint |
skip_rating_during_label_creation | boolean | No | Skip rating during label creation |
POST /v1/connections/carriers/toll_ipec
POST /v1/connections/carriers/toll_ipec HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My toll_ipec account",
"requested_by_name": "requested by name",
"requested_by_email" : "john.doe@example.com",
"company_name": "Example Corp",
"address_line_1": "77 Netherpark Crescent",
"address_line_2": "",
"suburb": "Alexandria",
"state": "Sydney",
"contact_name": "John Doe",
"account_number": "1234567890",
"toll_ipec_account_manager": "Sam Smith"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/toll_ipec/:id
DELETE /v1/connections/carriers/toll_ipec/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: toll_priority
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
requested_by_name | string | Yes | Name of person requesting connection |
requested_by_email | string | Yes | Email of person requesting connection |
company_name | string | Yes | Company name |
address_line_1 | string | Yes | Address line 1 |
address_line_2 | string | No | Address line 2 |
suburb | string | Yes | Suburb |
state | string | Yes | State or province |
contact_name | string | Yes | Contact name |
account_number | string | Yes | Account number |
toll_priority_account_manager | string | Yes | Toll Priority account manager name |
use_test_endpoint | boolean | No | Use test endpoint |
skip_rating_during_label_creation | boolean | No | Skip rating during label creation |
POST /v1/connections/carriers/toll_priority
POST /v1/connections/carriers/toll_priority HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My toll_priority account",
"requested_by_name": "requested by name",
"requested_by_email": "john.doe@example.com",
"company_name": "Example Corp",
"address_line_1": "77 Netherpark Crescent",
"address_line_2": "",
"suburb": "Alexandria",
"state": "Sydney",
"contact_name": "John Doe",
"account_number": "1234567890",
"toll_priority_account_manager": "Sam Smith"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/toll_priority/:id
DELETE /v1/connections/carriers/toll_priority/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: tnt_australia
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
username | string | Yes | Account username |
password | string | Yes | Account password |
prefix | string | Yes | Shipment prefix |
account_number | string | Yes | Account number |
range_max | number | Yes | Range maximum |
range_min | number | Yes | Range minimum |
sender_code | string | Yes | Sender code |
tracking_password | string | Yes | Tracking password |
tracking_username | string | Yes | Tracking username |
tracking_group_code | string | Yes | Tracking group code |
is_test_credentials | boolean | No | Is test credentials |
POST /v1/connections/carriers/tnt_australia
POST /v1/connections/carriers/tnt_australia HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My tnt_australia account",
"username": "my username",
"password": "my password",
"prefix": "abc123",
"account_number": "123456",
"range_max": 100,
"range_min": 5,
"sender_code": "987654",
"tracking_password": "my tracking password",
"tracking_username": "my tracking username",
"tracking_group_code": "xyz456"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/tnt_australia/:id
DELETE /v1/connections/carriers/tnt_australia/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: tusk
| Property | Type | Required? | Description |
|---|---|---|---|
account_name | string | Yes | Account name |
api_key | string | Yes | API key |
POST /v1/connections/carriers/tusk
POST /v1/connections/carriers/tusk HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My Tusk account",
"account_name": "__YOUR_ACCOUNT_NAME_HERE__",
"api_key": "__YOUR_API_KEY_HERE__"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/tusk/se-1234
DELETE /v1/connections/carriers/tusk/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__Connection Properties:
carrier_name: ups
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
account_number | string | Yes | Account number |
account_postal_code | string | No | Account postal code |
account_country_code | string | No | Account country code |
POST /v1/connections/carriers/ups
POST /v1/connections/carriers/ups HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My UPS account",
"account_number": "123456789",
"account_postal_code": "10001",
"account_country_code": "US"
}You will receive a 302 response with a Location header. You must redirect your user to the URL from this header, which will land on a UPS sign-in screen.
"Location": "https://authbridge.auctane.com/authflow/ups/shipengine/initiate?callbackUrl=https..."We advise redirecting your user to this location URL in a pop-up window. When the user has signed in, they will land on a page that will direct them to close the window. At this point, your application should make a List Carrier call to retrieve the new list of connected carrier accounts.
IMPORTANT:
By connecting a UPS account, you and your users agree to the UPS Technology Agreement.
Reconnecting a UPS Account
In some cases, you may need to reconnect a UPS account to ShipStation API. Reconnection can take place in the ShipStation API dashboard or via API using the update carrier method. Reconnecting will allow you to keep the same carrier_id and connection contract.
The following scenarios will require you to reconnect your UPS account to ShipStation API:
- If you change your UPS account password, use the reconnect option to reauthorize the connection.
- If your UPS account refresh token times out, use the reconnect option to resolve this issue and maintain your
carrier_id. This issue is somewhat rare, but can occur on some accounts. - If your UPS account was connected prior to June 3, 2024, you'll need to reconnect to re-establish a connection with the UPS oAuth API. Review our How To Reauthorize Your UPS Account help article for details.
ShipStation API takes advantage of some of UPS's advanced functionality but does not enable it by default. These settings can be updated in the Dashboard or via the API.
The following parameters are returned when using the GET method with the carrier settings endpoint.
| Parameter | Type | Description |
|---|---|---|
nickname | string | The display name assigned to the account. |
is_primary_account | boolean | Indicates the account is or is not the default account. |
pickup_type | enumerated string | daily_pickup, occasional_pickup, customer_counter See our Intro to Pickup Drop-off page to learn more. |
use_carbon_neutral_shipping_program | boolean | Adds a fee to the shipment to purchase carbon offset credits. |
use_ground_freight_pricing | boolean | An advanced option available for certain UPS services. See our UPS Ground Freight page for more details. |
use_consolidation_services | boolean | Enable the use of UPS Mail Innovations® and Ground Saver® services. |
use_order_number_on_mail_innovations_labels | boolean | |
mail_innocations_endorsement | enumerated string | return_service_requested forwarding_service_requested address_service_requested change_service_requested leave_if_no_response |
mail_innovations_cost_center | string | |
use_negotiated_rates | boolean | If your account has been approved for negotiated rates, you can enable this option to use those rates. Once enabled, negotiated rates cannot be disabled. |
account_postal_code | string | Required Postal code for the account. |
invoice | string | |
mail_innovations_customer_id | string | Required to get rates for MI services. Also known as UPS MI account number. |
mail_innovations_customer_guid | string | Required to get rates for MI services. Also known as a rate key. |
account_country_code | string | Required 2-character country code associated with the account. |
account_number | string | The UPS account number. |
DELETE /v1/connections/carriers/ups/:id
DELETE /v1/connections/carriers/ups/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__When UPS has been successfully disconnected, you will receive a HTTP 204, No Content status.
Connection Properties:
carrier_name: yodel
| Property | Type | Required? | Description |
|---|---|---|---|
nickname | string | Yes | Account nickname in your system |
user_id | string | Yes | User ID |
account_id | string | Yes | Account ID |
password | string | Yes | Account password |
POST /v1/connections/carriers/yodel
POST /v1/connections/carriers/yodel HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "Test Yodel Account",
"user_id": "your_user_id_here",
"account_id": "your_account_id_here",
"password": "your_password_here"
}A successful connection will return the carrier's carrier_id property in the response.
DELETE /v1/connections/carriers/yodel/:id
DELETE /v1/connections/carriers/yodel/se-1234 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__