Skip to content

Using Your Carrier Accounts

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.

Requirements

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.

Available Carrier Integrations

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.

Access Worldwide

Connection Properties:

carrier_name: access_worldwide

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password

Connect Account

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.

Disconnect Account

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__

APC

Connection Properties:

carrier_name: apc

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password

Connect Account

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.

Disconnect Account

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__

Aramex Australia

Connection properties:

carrier_name: fastway_au

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
client_idstringYesClient ID
client_secretstringYesClient secret
emailstringYesEmail address

Connect Account

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.

Disconnect Account

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__

Aramex New Zealand

Connection Properties:

carrier_name: fastway_nz

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
client_idstringYesClient ID
client_secretstringYesClient secret
emailstringYesEmail address
account_type_idstringNoAccount type ID

Connect Account

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.

Disconnect Account

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__

Asendia

Connection Properties:

carrier_name: asendia

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
passwordstringYesAccount password
usernamestringYesAccount username
api_keystringYesAPI key
account_numberintYesAccount number
sub_account_numberintNoAccount number
processing_locationstringYesProcessing location

Connect Account

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.

Disconnect Account

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__

Australia Post eParcel

Connection Properties:

carrier_name: australia_post

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
account_numberstringYesAccount number
api_keystringYesAPI key
api_secretstringNoAPI secret

Connect Account

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.

Disconnect Account

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__

Australia MyPost Business

carrier_name: australia_post_mypost_business

NOTE:

Currently, connection is available only via the ShipStation API Dashboard, not via an API call.

Connect via Dashboard

To connect your Australia Post MyPost Business account:

  1. Log in to your ShipStation API Dashboard
  2. Navigate to the Carriers section
  3. 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.

Disconnect Account

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__

Canpar

Connection Properties:

carrier_name: canpar

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password
account_numberstringYesAccount number

Connect Account

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.

Disconnect Account

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__

CouriersPlease

Connection Properties:

carrier_name: couriers_please

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
account_numberstringYesAccount number
api_secretstringYesPassword
skip_rating_during_label_creationbooleanNoSkip rating during label creation?
add_ship_date_during_label_creationbooleanNoAdd shipment date during label creation

Connect Account

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.

Disconnect Account

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__

DAI Post

Connection Properties:

carrier_name: dai

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password
account_numberstringYesAccount number
use_shipperaddress_as_returnbooleanYesUse shipper address as return address
dai_terminalstringYesDAI terminal

Connect Account

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.

Disconnect Account

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__

Delivengo

Connection Properties:

carrier_name: delivengo

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
emailstringYesEmail address
api_keystringYesAPI key

Connect Account

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.

Disconnect Account

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__

Deutsche Post DHL

Connection Properties:

carrier_name: deutsche_post_dhl

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
account_numberstringYesClient ID (First 10 digits)
userstringYesUser
passwordstringYesPassword
tracking_userstringNoTracking user
tracking_passwordstringNoTracking password
participation_numberstringNoParticipation number

Connect Account

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.

Disconnect Account

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__

DHL E-Commerce

INFO:

Rating for DHL

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

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
client_idstringYesClient ID
api_secretstringYesAPI secret
pickup_numberstringYesPickup number
distribution_centerstringYesDistribution center code
sold_tostringNoSold-to number

Connect Account

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.

Disconnect Account

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.

DHL E-Commerce Australia

Connection Properties:

carrier_name: dhl_ecommerce_au

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
pickup_account_idstringYesPickup account ID
sold_to_account_idstringYesSold-to account ID
shipment_id_prefixstringYesShipment ID prefix
skip_rating_during_label_creationbooleanNoSkip rating during label creation

Connect Account

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.

Disconnect Account

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.

DHL Express Australia

Connection Properties:

carrier_name: dhl_express_australia

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
account_numberstringYesAccount number
site_idstringNoSite ID
passwordstringNoPassword

Connect Account

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.

Disconnect Account

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.

DHL Express CA

Connection Properties:

carrier_name: dhl_express_canada

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
account_numberstringYesAccount number
site_idstringNoSite ID
passwordstringNoPassword

Connect Account

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.

Disconnect Account

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.

DHL Express UK

Connection Properties:

carrier_name: dhl_express_uk

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
account_numberstringYesAccount number
site_idstringYesSite ID
passwordstringYesAccount password

Connect Account

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.

Disconnect Account

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.

DHL Express

Connection Properties:

carrier_name: dhl_express

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
account_numberstringYesAccount number
site_idstringNoSite ID
passwordstringYesAccount password
country_codestringYesCountry code

Connect Account

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.

Modify Settings

Hide Account Number in Archive Document

ParameterDescription
should_hide_account_number_on_archive_docboolean

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
}

Disconnect Account

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.

DPD

Connection Properties:

carrier_name: dpd

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password
customer_account_numberstringYesAccount number

Connect Account

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.

Disconnect Account

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__

DPD Germany

Connection Properties:

carrier_name: dpd_germany

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password

Connect Account

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.

Disconnect Account

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__

DPD Local

Connection Properties:

carrier_name: apicode-dpd-local

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password
customer_account_numberstringYesCustomer account number

Connect Account

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.

Disconnect Account

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__

Endicia

Connection Properties:

carrier_name: endicia

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
accountstringNoAccount
passphrasestringNoAccount passphrase

🎉 Update for Free Plans

Stamps.com and Endicia standalone accounts can now be connected on the ShipEngine Free plan for USA direct sellers.

Connect Account

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.

Disconnect Account

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__

ePost Global

Connection Properties:

carrier_name: rr_donnelley

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password

Connect Account

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.

Disconnect Account

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__

EVRi UK

Connection Properties:

carrier_name: hermescorp

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password
client_idstringYesClient ID
client_namestringYesClient name
endpointstringYesAPI endpoint ("Production" or "Testing")

Connect Account

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.

Disconnect Account

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__

FedEx UK

Connection Properties:

carrier_name: fedex_uk

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
account_numberstringYesAccount number
first_namestringYesFirst name
last_namestringYesLast name
companystringNoCompany name
address1stringYesAddress line 1
address2stringNoAddress line 2
citystringYesCity
postal_codestringYesPostal code
country_codestringYesCountry code
emailstringYesEmail address
phonestringYesPhone number
agree_to_eulaboolYesAgreement to terms of service

Connect Account

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:

Terms of Service

By connecting a FedEx UK account, you and your users agree to the FedEx EULA.

Disconnect Account

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.

FedEx US & CA

Connection Properties:

carrier_name: fedex

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
account_numberstringYesAccount number
first_namestringYesFirst name
last_namestringYesLast name
companystringNoCompany name
address1stringYesAddress line 1
address2stringNoAddress line 2
citystringYesCity
state_provincestringYesState or province
postal_codestringYesPostal code
country_codestringYesCountry code
emailstringYesEmail address
phonestringYesPhone number
agree_to_eulaboolYesAgreement to terms of service

Connect Account

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:

Terms of Service

By connecting a FedEx US or CA account, you and your users agree to the FedEx EULA.

Modify Settings

ShipStation API takes advantage of some of FedEx's advanced functionality but does not enable it by default.

ParameterTypeDescription
pickup_typeenumerated stringDetermines 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_hubenumerated stringnone, 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_endorsementenumerated stringnone, return_service_requested, forwarding_service_requested, address_service_requested, change_service_requested, leave_if_no_response
is_primary_accountboolWhether or not the account is set to primary, this currently has no function inside of ShipStation API.
signature_imagestringA Base 64 encoded image of the signature to be used for this account.
letterhead_imagestringA Base 64 encoded image of the letterhead to be used for this account.

INFO:

FedEx SmartPost™

  • 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.

Disconnect Account

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.

FirstMile

Connection Properties:

carrier_name: firstmile

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
mailer_idstringYesMailer ID
passwordstringYesAccount password

Connect Account

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.

Disconnect Account

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__

GLS Canada

Connection Properties:

carrier_name: gls_canada

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password
keystringYesAPI key

Connect Account

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.

Disconnect Account

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__

GLS France

Connection Properties:

carrier_name: gls_france

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password
contact_idstringYesContact ID

Connect Account

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.

Disconnect Account

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__

GLS Germany

Connection Properties:

carrier_name: gls_germany

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password
customer_idstringYesCustomer ID
contact_idstringYesContact ID
client_idstringYesClient ID
client_secretstringYesClient secret
keystringYesAPI key

Connect Account

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.

Disconnect Account

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__

GLS Netherlands

Connection Properties:

carrier_name: gls_nl

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password
keystringYesAPI key

Connect Account

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.

Disconnect Account

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__

GLS US

Connection Properties:

carrier_name: gls_us

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password
account_numberintegerYesAccount number

Connect Account

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.

Disconnect Account

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__

GrupoAMPM

Connection Properties:

carrier_name: grupo_ampm

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password
account_numbernumberYesAccount number

Connect Account

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.

Disconnect Account

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__

Hermes Germany

Connection Properties:

carrier_name: hermes_germany

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password
pickup_window_slotstringYesPickup window time slot
api_languagestringNoAPI language preference
test_credentialsbooleanNoUse test credentials

Connect Account

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.

Disconnect Account

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__

IntelliQuick Delivery

Connection Properties:

carrier_name: intelliquick_delivery

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password
account_numberintegerYesAccount number
request_order_typestringNoRequest order type

Connect Account

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.

Disconnect Account

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__

Landmark Global

Connection Properties:

carrier_name: landmark_global

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password
client_idstringYesClient ID

Connect Account

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.

Disconnect Account

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__

Loomis Express

Connection Properties:

carrier_name: loomis_express

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
user_idstringYesUser ID
passwordstringYesAccount password
shipper_numstringYesShipper num

Connect Account

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.

Disconnect Account

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__

Maersk E-Delivery

Connection Properties:

carrier_name: maersk_b2c

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
authentication_keystringYesAuthentication key
scramblestringNoScramble value

Connect Account

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.

Disconnect Account

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__

Mondial Relay

Connection Properties:

carrier_name: mondial_relay

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
api_keystringYesAPI key
enseignestringYesEnseigne code

Connect Account

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.

Disconnect Account

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__

New Zealand Couriers

Connection Properties:

carrier_name: new_zealand_couriers

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
carrier_namestringYesCarrier name
customer_idstringYesCustomer ID
client_idstringYesClient ID
client_secretstringYesClient secret

Connect Account

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.

Disconnect Account

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__

Newgistics

Connection Properties:

carrier_name: newgistics

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
merchant_idnumericNoMerchant ID
mailer_idstringNoMailer ID
induction_sitestringNoInduction site
accountnumberstringYesAccount number
param3stringYesInduction Site
param4stringYesMailer ID

Connect Account

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.

Disconnect Account

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__

NOW Couriers

Connection Properties:

carrier_name: now_couriers

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
carrier_namestringYesCarrier name
customer_idstringYesCustomer ID
client_idstringYesClient ID
client_secretstringYesClient secret

Connect Account

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.

Disconnect Account

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__

NZ Post Domestic

Connection Properties:

carrier_name: courierpost

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
account_numberintegerYesAccount number
site_codeintegerNoSite code
xl_approved_senderbooleanNoXL Approved Sender

Connect Account

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.

Disconnect Account

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__

NZ Post International

Connection Properties:

carrier_name: new_zealand_post_international

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
account_numberintegerYesAccount number
indicia_numberstringNoIndicia number
site_codeintegerYesSite code

Connect Account

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.

Disconnect Account

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__

99Minutos

Connection Properties:

carrier_name: n9minutos

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
api_keystringYesAPI key

Connect Account

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.

Disconnect Account

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__

OnTrac

Connection Properties:

carrier_name: ontrac

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
account_numberintYesAccount number
passwordstringYesAccount password

Connect Account

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.

Disconnect Account

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__

Parcelforce

Connection Properties:

carrier_name: parcelforce_royal_mail

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
account_numberstringYesAccount number
passwordstringYesAccount password
sftp_usernamestringNoSFTP username
sftp_passwordstringNoSFTP password
contract_numberstringNoContract number
department_idstringNoDepartment ID
test_accountbooleanNoTest account flag

Connect Account

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.

Disconnect Account

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__

Post Haste

Connection Properties:

carrier_name: post_haste

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
carrier_namestringYesCarrier name
customer_idstringYesCustomer ID
client_idstringYesClient ID
client_secretstringYesClient secret

Connect Account

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.

Disconnect Account

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__

PostNL

Connection Properties:

carrier_name: postnl

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
api_keystringYesAPI key
customer_codestringYesCustomer code
global_customer_codestringYesGlobal customer code
customer_numberstringYesCustomer number
collection_locationstringNoCollection location
down_partner_idstringNoDownstream partner ID
global_range_minnumberYesGlobal range minimum
global_range_maxnumberYesGlobal range maximum

Connect Account

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.

Disconnect Account

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__

Purolator Canada

Connection Properties:

carrier_name: purolator_ca

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
account_numberstringYesAccount number
activation_keystringYesActivation key

Connect Account

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.

Disconnect Account

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__

Quantium Solutions International

Connection Properties:

carrier_name: quantium

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
accountnostringYesAccount no
customeridstringYesCustomerid
usernamestringYesAccount username
passwordstringYesAccount password
AESKeystringYesAeskey
AuthorizationKeystringNoAuthorizationkey
handovermodesstringYesHandovermodes
collectiontimefromstringNoCollectiontimefrom
collectiontimetostringNoCollectiontimeto
dropoffpointcodestringNoDropoffpointcode

Connect Account

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.

Disconnect Account

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__

Redpack

Connection Properties:

carrier_name: redpack

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password
client_idstringYesClient ID
client_secretstringYesClient secret

Connect Account

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.

Disconnect Account

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__

Royal Mail

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

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
account_numberstringYesAccount number
oba_emailstringYesOBA email address
company_namestringYesCompany name
contact_namestringYesContact name
emailstringYesEmail address
street_line1stringYesStreet address line 1
street_line2stringNoStreet address line 2
citystringYesCity
postal_codestringYesPostal code
phonestringYesPhone number
posting_location_numberstringYesPosting location number

Connect Account

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.

Disconnect Account

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__

Seko Omni-Channel Logistics

Connection Properties:

carrier_name: seko

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
UsernamestringYesUsername
access_keystringYesAccess key

Connect Account

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.

Disconnect Account

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__

Sendle

Connection Properties:

carrier_name: sendle

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
sendle_idstringYesSendle account ID
api_keystringYesAPI key

Connect Account

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.

Disconnect Account

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__

Stamps.com

Connection Properties:

carrier_name: stamps_com

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password

🎉 Update for Free Plans

Stamps.com and Endicia standalone accounts can now be connected on the ShipEngine Free plan for USA direct sellers.

Connect Account

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.

Disconnect Account

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__

StarTrack

Connection Properties:

carrier_name: star_track

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
account_numberstringYesAccount number
user_idstringYesUser ID
passwordstringYesAccount password

Connect Account

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.

Disconnect Account

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__

Team Global Express IPEC

Connection Properties:

carrier_name: toll_ipec

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
requested_by_namestringYesName of person requesting connection
requested_by_emailstringYesEmail of person requesting connection
company_namestringYesCompany name
address_line_1stringYesAddress line 1
address_line_2stringNoAddress line 2
suburbstringYesSuburb
statestringYesState or province
contact_namestringYesContact name
account_numberstringYesAccount number
toll_ipec_account_managerstringYesToll IPEC account manager name
use_test_endpointbooleanNoUse test endpoint
skip_rating_during_label_creationbooleanNoSkip rating during label creation

Connect Account

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.

Disconnect Account

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__

Team Global Express Priority

Connection Properties:

carrier_name: toll_priority

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
requested_by_namestringYesName of person requesting connection
requested_by_emailstringYesEmail of person requesting connection
company_namestringYesCompany name
address_line_1stringYesAddress line 1
address_line_2stringNoAddress line 2
suburbstringYesSuburb
statestringYesState or province
contact_namestringYesContact name
account_numberstringYesAccount number
toll_priority_account_managerstringYesToll Priority account manager name
use_test_endpointbooleanNoUse test endpoint
skip_rating_during_label_creationbooleanNoSkip rating during label creation

Connect Account

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.

Disconnect Account

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__

TNT Australia

Connection Properties:

carrier_name: tnt_australia

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
usernamestringYesAccount username
passwordstringYesAccount password
prefixstringYesShipment prefix
account_numberstringYesAccount number
range_maxnumberYesRange maximum
range_minnumberYesRange minimum
sender_codestringYesSender code
tracking_passwordstringYesTracking password
tracking_usernamestringYesTracking username
tracking_group_codestringYesTracking group code
is_test_credentialsbooleanNoIs test credentials

Connect Account

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.

Disconnect Account

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__

Tusk

Connection Properties:

carrier_name: tusk

PropertyTypeRequired?Description
account_namestringYesAccount name
api_keystringYesAPI key

Connect Account

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.

Disconnect Account

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__

UPS

Connection Properties:

carrier_name: ups

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
account_numberstringYesAccount number
account_postal_codestringNoAccount postal code
account_country_codestringNoAccount country code

Connect Account

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:

UPS Technology Agreement

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.

Modify UPS Settings

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.

ParameterTypeDescription
nicknamestringThe display name assigned to the account.
is_primary_accountbooleanIndicates the account is or is not the default account.
pickup_typeenumerated stringdaily_pickup, occasional_pickup, customer_counter
See our Intro to Pickup Drop-off page to learn more.
use_carbon_neutral_shipping_programbooleanAdds a fee to the shipment to purchase carbon offset credits.
use_ground_freight_pricingbooleanAn advanced option available for certain UPS services. See our UPS Ground Freight page for more details.
use_consolidation_servicesbooleanEnable the use of UPS Mail Innovations® and Ground Saver® services.
use_order_number_on_mail_innovations_labelsboolean
mail_innocations_endorsementenumerated stringreturn_service_requested forwarding_service_requested address_service_requested change_service_requested leave_if_no_response
mail_innovations_cost_centerstring
use_negotiated_ratesbooleanIf 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_codestringRequired Postal code for the account.
invoicestring
mail_innovations_customer_idstringRequired to get rates for MI services. Also known as UPS MI account number.
mail_innovations_customer_guidstringRequired to get rates for MI services. Also known as a rate key.
account_country_codestringRequired 2-character country code associated with the account.
account_numberstringThe UPS account number.

Disconnect Account

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.

Yodel

Connection Properties:

carrier_name: yodel

PropertyTypeRequired?Description
nicknamestringYesAccount nickname in your system
user_idstringYesUser ID
account_idstringYesAccount ID
passwordstringYesAccount password

Connect Account

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.

Disconnect Account

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__