# Using Your Carrier Accounts In addition to the [ShipStation carriers](/apis/shipengine/docs/carriers/setup) 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](https://help.shipengine.com/hc/en-us/articles/12932815059355). ## Requirements To connect your own carrier accounts to ShipStation API: * You must be on an [Advanced Plan or higher](https://help.shipengine.com/hc/en-us/articles/19326509952027-Advanced-Plan). * 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `username` | *string*, **required** | | `password` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/access_worldwide** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `username` | *string*, **required** | | `password` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/apc** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `client_id` | *string*, **required** | | `client_secret` | *string*, **required** | | `email` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/fastway_au** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `client_id` | *string*, **required** | | `client_secret` | *string*, **required** | | `email` | *string*, **required** | | `account_type_id` | *string*, optional | #### Connect Account **POST /v1/connections/carriers/fastway_nz** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `ftp_username` | *string*, **required** | | `ftp_password` | *string*, **required** | | `account_number` | *int*, **required** | | `processing_location` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/asendia** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `account_number` | *string*, **required** | | `api_key` | *string*, **required** | | `api_secret` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/australia_post** ```http 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** ```http DELETE /v1/connections/carriers/australia_post/se-1234 HTTP/1.1 Host: api.shipengine.com API-Key: __YOUR_API_KEY_HERE__ ``` ### Australia MyPost Business **Connection Properties:** `carrier_name`: `australia_post_mypost_business` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `partner_token` | *string*, **required** | | `payment_method` | *string*, **required** | | `partner_id` | *string*, optional | | `charge_account_number` | *string*, optional | #### Connect Account **POST /v1/connections/carriers/australia_post_mypost_business** ```http POST /v1/connections/carriers/australia_post_mypost_business HTTP/1.1 Host: api.shipengine.com API-Key: __YOUR_API_KEY_HERE__ Content-Type: application/json { "nickname": "my AU Post MPB account", "partner_token": "my partner token", "payment_method": "my payment method", } ``` A successful connection will return the carrier's `carrier_id` property in the response. #### Disconnect Account **DELETE /v1/connections/carriers/australia_post_mypost_business/:id** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `username` | *string*, **required** | | `password` | *string*, **required** | | `account_number` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/canpar** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `account_number` | *string*, **required** | | `api_secret` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/couriers_please** ```http POST /v1/connections/carriers/couriers_please HTTP/1.1 Host: api.shipengine.com API-Key: your_api_secret_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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `username` | *string*, **required** | | `password` | *string*, **required** | | `account_number` | *string*, **required** | | `use_shipperaddress_as_return` | *boolean*, **required** | #### Connect Account **POST /v1/connections/carriers/dai** ```http 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_numer": "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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `email` | *string*, **required** | | `api_key` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/delivengo** ```http 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** ```http 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` | Property | Description | | --- | --- | | `user` | *string*, **required** | | `password` | *string*, **required** | | `tracking_user` | *string*, optional | | `account_number` | *string*, **required** | | `tracking_password` | *string*, optional | | `participation_number` | *string*, optional | #### Connect Account **POST /v1/connections/carriers/deutsche_post_dhl** ```http 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", "account_number": "56789", "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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `client_id` | *string*, **required** | | `api_secret` | *string*, **required** | | `pickup_number` | *string*, **required** | | `distribution_center` | *string*, **required** | | `sold_to` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/dhl_global_mail** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `pickup_account_id` | *string*, **required** | | `sold_to_account_id` | *string*, **required** | | `shipment_id_prefix` | *string*, **required** | | `skip_rating_during_label_creation` | *boolean*, optional | #### Connect Account **POST /v1/connections/carriers/dhl_ecommerce_au** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `account_number` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/dhl_express_australia** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `account_number` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/dhl_express_canada** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `account_number` | *string*, **required** | | `site_id` | *string*, **required** | | `password` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/dhl_express_uk** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `account_number` | *string*, **required** | | `site_id` | *string*, **required if password provided** | | `password` | *string*, **required if site_id provided** | | `country_code` | *string*, **optional** | #### Connect Account **POST /v1/connections/carriers/dhl_express** ```http 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** | Parameter | Description | | --- | --- | | `should_hide_account_number_on_archive_doc` | *boolean* | **PUT /v1/connections/carriers/dhl_express/:id/settings** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `account_number` | *string*, **required** | | `password` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/dpd** ```http 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** ```http 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` | Property | Description | | --- | --- | | `username` | *string*, **required** | | `password` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/dpd_germany** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `username` | *string*, **required** | | `password` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/apicode-dpd-local** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `account` | *string*, **required** | | `passphrase` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/endicia** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `username` | *string*, **required** | | `password` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/rr_donnelley** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `username` | *string*, **required** | | `password` | *string*, **required** | | `client_id` | *string*, **required** | | `client_name` | *string*, **required** | | `endpoint` ("Production" or "Testing") | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/hermescorp** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `account_number` | *string*, **required** | | `first_name` | *string*, **required** | | `last_name` | *string*, **required** | | `company` | *string* | | `address1` | *string*, **required** | | `address2` | *string* | | `city` | *string*, **required** | | `postal_code` | *string*, **required** | | `country_code` | *string*, **required** | | `email` | *string*, **required** | | `phone` | *string*, **required** | | `agree_to_eula` | *bool*, **required** | #### Connect Account **POST /v1/connections/carriers/fedex_uk** ```http 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](https://app.shipengine.com/content/integration/FedEx/EULA.pdf). #### Disconnect Account **DELETE /v1/connections/carriers/fedex_uk/:id** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `account_number` | *string*, **required** | | `first_name` | *string*, **required** | | `last_name` | *string*, **required** | | `company` | *string* | | `address1` | *string*, **required** | | `address2` | *string* | | `city` | *string*, **required** | | `state_province` | *string*, **required** | | `postal_code` | *string*, **required** | | `country_code` | *string*, **required** | | `email` | *string*, **required** | | `phone` | *string*, **required** | | `agree_to_eula` | *bool*, **required** | #### Connect Account **POST /v1/connections/carriers/fedex** ```http 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": "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](https://app.shipengine.com/content/integration/FedEx/EULA.pdf). #### Modify Settings 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](https://en.wikipedia.org/wiki/Base64) image of the signature to be used for this account. | | `letterhead_image` | *string* | A [Base 64 encoded](https://en.wikipedia.org/wiki/Base64) 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](http://www.fedex.com/us/smartpostguide/index.html). **PUT /v1/connections/carriers/fedex/:carrier_id/settings** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `mailer_id` | *string*, **required** | | `password` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/firstmile** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `username` | *string*, **required** | | `password` | *string*, **required** | | `key` | *string*, **required** | #### 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](https://gls-canada.com/en/dicom/corp/questions). **POST /v1/connections/carriers/gls_canada`** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `username` | *string*, **required** | | `password` | *string*, **required** | | `contact_id` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/gls_france** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `username` | *string*, **required** | | `password` | *string*, **required** | | `customer_id` | *string*, **required** | | `contact_id` | *string*, **required** | #### 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](https://www.gls-pakete.de/kontakt). **POST /v1/connections/carriers/gls_germany** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `username` | *string*, **required** | | `password` | *string*, **required** | | `key` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/gls_nl** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `username` | *string*, **required** | | `password` | *string*, **required** | | `account_number` | *integer*, **required** | #### 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](https://www.gls-us.com/support/contact-us). **POST /v1/connections/carriers/gls_us** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `username` | *string*, **required** | | `password` | *string*, **required** | | `account_number` | *number*, **required** | #### Connect Account **POST /v1/connections/carriers/grupo_ampm** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `username` | *string*, **required** | | `password` | *string*, **required** | | `pickup_window_slot` | *string*, **required** | | `api_language` | *string*, optional | | `test_credentials` | *boolean*, optional | #### Connect Account **POST /v1/connections/carriers/hermes_germany** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `username` | *string*, **required** | | `password` | *string*, **required** | | `account_number` | *integer*, **required** | #### Connect Account **POST /v1/connections/carriers/intelliquick_delivery** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `username` | *string*, **required** | | `password` | *string*, **required** | | `client_id` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/landmark_global** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `user_id` | *string*, **required** | | `password` | *string*, **required** | | `shipper_num` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/loomis_express** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `authentication_key` | *string*, **required** | | `scramble` | *string*, optional | #### Connect Account **POST /v1/connections/carriers/maersk_b2c** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `api_key` | *string*, **required** | | `enseigne` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/mondial_relay** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `carrier_name` | *string*, **required** | | `customer_id` | *string*, **required** | | `client_id` | *string*, **required** | | `client_secret` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/new_zealand_couriers** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `merchant_id` | *numeric*, **required** | | `mailer_id` | *string*, **required** | | `induction_site` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/newgistics** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `carrier_name` | *string*, **required** | | `customer_id` | *string*, **required** | | `client_id` | *string*, **required** | | `client_secret` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/now_couriers** ```http 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", "carreir_name": "carrier name", "customer_id": "123456789", "client_id": "12345", "client_secet": "54321" } ``` A successful connection will return the carrier's `carrier_id` property in the response. #### Disconnect Account **DELETE /v1/connections/carriers/now_couriers/:id** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `username` | *string*, **required** | | `accountnumber` | *integer*, **required** | | `siteCode` | *integer*, **required** | #### Connect Account **POST /v1/connections/carriers/courierpost** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `account_number` | *integer*, **required** | | `indicia_number` | *string*, optional | | `site_code` | *integer*, **required** | #### Connect Account **POST /v1/connections/carriers/new_zealand_post_international** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `api_key` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/n9minutos** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `account_number` | *int*, **required** | | `password` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/ontrac** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `account_number` | *string*, **required** | | `password` | *string*, **required** | | `sftp_username` | *string*, **required** | | `sftp_password` | *string*, **required** | | `contract_number` | *string*, **required** | | `department_id` | *string*, **required** | | `test_account` | *boolean*, **required** | #### Connect Account **POST /v1/connections/carriers/parcelforce** ```http POST /v1/connections/carriers/parcelforce 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/:id** ```http DELETE /v1/connections/carriers/parcelforce/se-1234567 HTTP/1.1 Host: api.shipengine.com API-Key: __YOUR_API_KEY_HERE__ ``` ### Post Haste **Connection Properties:** `carrier_name`: `post_haste` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `carrier_name` | *string*, **required** | | `customer_id` | *string*, **required** | | `client_id` | *string*, **required** | | `client_secret` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/post_haste** ```http 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", "carreir_name": "carrier name", "customer_id": "123456789", "client_id": "12345", "client_secet": "54321" } ``` A successful connection will return the carrier's `carrier_id` property in the response. #### Disconnect Account **DELETE /v1/connections/carriers/post_haste/:id** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `api_key` | *string*, **required** | | `customer_code` | *string*, **required** | | `global_customer_code` | *string*, **required** | | `customer_number` | *string*, **required** | | `collection_location` | *string*, optional | | `down_partner_id` | *string*, optional | | `global_range_min` | *number*, **required** | | `global_range_max` | *number*, **required** | #### Connect Account **POST /v1/connections/carriers/postnl** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `account_number` | *string*, **required** | | `activation_key` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/purolator_ca** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `aaccountno` | *string*, **required** | | `customerid` | *string*, **required** | | `username` | *string*, **required** | | `password` | *string*, **required** | | `AESKey` | *string*, **required** | | `AuthorizationKey` | *string*, optional | | `handovermodes` | *string*, **required** | | `collectiontimefrom` | *string*, optional | | `collectiontimeto` | *string*, optional | | `dropoffpointcode` | *string*, optional | #### Connect Account **POST /v1/connections/carriers/quantium** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `username` | *string*, **required** | | `password` | *string*, **required** | | `client_id` | *string*, **required** | | `client_secret` | *string* **required** | #### Connect Account **POST /v1/connections/carriers/redpack** ```http 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** ```http 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](/apis/shipengine/docs/carriers/royal-mail-guide) for details. Only the basic connection properties and sample request are included below. **Connection Properties:** `carrier_name`: `royal_mail` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `account_number` | *string*, **required** | | `oba_email` | *string*, **required** | | `contact_name` | *string*, **required** | | `email` | *string*, **required** | | `street_line1` | *string*, **required** | | `street_line2` | *string* | | `city` | *string*, **required** | | `postal_code` | *string*, **required** | | `phone` | *string*, **required** | | `posting_location_number` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/royal_mail** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `access_key` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/seko** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `sendle_id` | *string*, **required** | | `api_key` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/sendle** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `username` | *string*, **required** | | `password` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/stamps_com** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `account_number` | *string*, **required** | | `user_id` | *string*, **required** | | `password` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/star_track** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `requested_by_name` | *string*, **required** | | `requested_by_email` | *string*, **required** | | `company_name` | *string*, **required** | | `address_line_1` | *string*, **required** | | `address_line_2` | *string*, optional | | `suburb` | *string* **required** | | `state` | *string*, **required** | | `contact_name` | *string*, **required** | | `account_number` | *string*, **required** | | `toll_ipec_account_manager` | *string*, **required** | | `use_test_endpoint` | *boolean*, optional | | `skip_rating_during_label_creation` | *boolean*, optional | #### Connect Account **POST /v1/connections/carriers/toll_ipec** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `requested_by_name` | *string*, **required** | | `requested_by_email` | *string*, **required** | | `company_name` | *string*, **required** | | `address_line_1` | *string*, **required** | | `address_line_2` | *string*, optional | | `suburb` | *string* **required** | | `state` | *string*, **required** | | `contact_name` | *string*, **required** | | `account_number` | *string*, **required** | | `toll_priority_account_manager` | *string*, **required** | | `use_test_endpoint` | *boolean*, optional | | `skip_rating_during_label_creation` | *boolean*, optional | #### Connect Account **POST /v1/connections/carriers/toll_priority** ```http 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** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `username` | *string*, **required** | | `password` | *string*, **required** | | `prefix` | *string*, **required** | | `account_number` | *string*, **required** | | `range_max` | *number*, **required** | | `range_min` | *number* **required** | | `sender_code` | *string*, **required** | | `tracking_password` | *string*, **required** | | `tracking_username` | *string*, **required** | | `tracking_group_code` | *string*, **required** | | `is_test_credentials` | *boolean*, optional | #### Connect Account **POST /v1/connections/carriers/tnt_australia** ```http 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** ```http 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` | Property | Description | | --- | --- | | `account_name` | *string*, **required** | | `api_key` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/tusk** ```http 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** ```http 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` | Property | Description | Type | Required? | | --- | --- | --- | --- | | `nickname` | This is a nickname for you to identify the carrier account in ShipStation API. | *string* | **required** | | `account_number` | Account Number | *string* | **required** | | `account_postal_code` | Account Postal Code | *string* | No | | `account_country_code` | Country your UPS account is based in | *string* | No | #### Connect Account **POST /v1/connections/carriers/ups** ```http 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. ```json "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](/apis/shipengine/docs/reference/list-carriers) 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](https://www.ups.com/media/en/UTA_with_EUR.pdf). **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](/apis/shipengine/docs/reference/carriers/update-carrier). 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](https://help.shipengine.com/hc/en-us/articles/27535412505115) 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](/apis/shipengine/docs/reference/carriers/update-carrier). | 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 Dropoff apge](/apis/shipengine/docs/pick-up-drop-off/pudo-intro) 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](/apis/shipengine/docs/shipping/ups-ground-freight) 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. | #### Disconnect Account **DELETE /v1/connections/carriers/ups/:id** ```http 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` | Property | Description | | --- | --- | | `nickname` | *string*, **required** | | `user_id` | *string*, **required** | | `account_id` | *string*, **required** | | `password` | *string*, **required** | #### Connect Account **POST /v1/connections/carriers/yodel** ```http 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** ```http DELETE /v1/connections/carriers/yodel/se-1234 HTTP/1.1 Host: api.shipengine.com API-Key: __YOUR_API_KEY_HERE__ ```