# Using Your Carrier Accounts

In addition to the [ShipStation carriers](/using-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 V2 API.

You can connect your accounts either programmatically with the `/v2/connections` endpoint or via your ShipStation dashboard.

## Requirements

To connect your own carrier accounts to ShipStation V2 API:

* **Plan Requirements**: Most standalone carrier connections require an [Advanced Plan or higher](https://help.shipstation.com/hc/en-us/articles/19326509952027-Advanced-Plan). However, [Stamps.com](#stampscom) and [Endicia](#endicia) standalone connections are now available on the [Free plan](https://help.shipstation.com/hc/en-us/articles/20075653857819) 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 V2 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 V2 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 dashboard.

Open the sections below to view connection details and example connection requests for your carriers.

### Access Worldwide

**Connection Properties:**

`carrier_code`: `access_worldwide`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |
| `username` | *string* | Yes | Account username (accountNumber in registry) |
| `password` | *string* | Yes | Access key (accessKey in registry) |


#### Connect Account

**POST /v2/connections/carriers/access_worldwide**


```http
POST /v2/connections/carriers/access_worldwide HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/access_worldwide/:id**


```http
DELETE /v2/connections/carriers/access_worldwide/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### APC

**Connection Properties:**

`carrier_code`: `apc`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |
| `username` | *string* | Yes | Account username (accountNumber in registry) |
| `password` | *string* | Yes | Access key (accessKey in registry) |


#### Connect Account

**POST /v2/connections/carriers/apc**


```http
POST /v2/connections/carriers/apc HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/apc/:id**


```http
DELETE /v2/connections/carriers/apc/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Aramex Australia

**Connection properties:**

`carrier_code`: `fastway_au`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `client_id` | *string* | Yes | Client ID |
| `client_secret` | *string* | Yes | Client secret |
| `email` | *string* | Yes | Email address |


#### Connect Account

**POST /v2/connections/carriers/fastway_au**


```http
POST /v2/connections/carriers/fastway_au HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/fastway_au/:id**


```http
DELETE /v2/connections/carriers/fastway_au/se-1234567 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Aramex New Zealand

**Connection Properties:**

`carrier_code`: `fastway_nz`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `client_id` | *string* | Yes | Client ID |
| `client_secret` | *string* | Yes | Client secret |
| `email` | *string* | Yes | Email address |
| `account_type_id` | *string* | No | Account type ID |


#### Connect Account

**POST /v2/connections/carriers/fastway_nz**


```http
POST /v2/connections/carriers/fastway_nz HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/fastway_nz/:id**


```http
DELETE /v2/connections/carriers/fastway_nz/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Asendia

**Connection Properties:**

`carrier_code`: `asendia`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `ftp_username` | *string* | No | FTP username |
| `ftp_password` | *string* | No | FTP password |
| `account_number` | *int* | Yes | Account number |
| `processing_location` | *string* | Yes | Processing location |
| `api_key` | *string* | Yes | API key |
| `password` | *string* | Yes | Account password |
| `username` | *string* | Yes | Account username |


#### Connect Account

**POST /v2/connections/carriers/asendia**


```http
POST /v2/connections/carriers/asendia HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/asendia/:id**


```http
DELETE /v2/connections/carriers/asendia/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Australia Post eParcel

**Connection Properties:**

`carrier_code`: `australia_post`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `account_number` | *string* | Yes | Account number |
| `api_key` | *string* | Yes | API key |
| `api_secret` | *string* | No | API secret |


#### Connect Account

**POST /v2/connections/carriers/australia_post**


```http
POST /v2/connections/carriers/australia_post HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/australia_post/:id**


```http
DELETE /v2/connections/carriers/australia_post/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Australia MyPost Business

`carrier_code`: `australia_post_mypost_business`

> **NOTE:**
Currently, connection is available only via the ShipStation dashboard, not via an API call.


#### Connect via Dashboard

To connect your Australia Post MyPost Business account:

1. Log in to your ShipStation dashboard
2. Navigate to the Carriers section
3. Follow the connection instructions in our [Australia Post MyPost Business help article](https://help.shipstation.com/hc/en-us/articles/7682874608667-Australia-Post-MyPost-Business)


**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 /v2/connections/carriers/australia_post_mypost_business/:id**


```http
DELETE /v2/connections/carriers/australia_post_mypost_business/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Canpar

**Connection Properties:**

`carrier_code`: `canpar`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |
| `account_number` | *string* | Yes | Account number |
| `account_number` | *string* | Yes | Account number (AccountNumber in registry) |


#### Connect Account

**POST /v2/connections/carriers/canpar**


```http
POST /v2/connections/carriers/canpar HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/canpar/:id**


```http
DELETE /v2/connections/carriers/canpar/se-1234567 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### CouriersPlease

**Connection Properties:**

`carrier_code`: `couriers_please`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `account_number` | *string* | Yes | Account number |
| `api_secret` | *string* | No | API secret |
| `account_number` | *string* | Yes | User ID (user_id in registry) |
| `api_secret` | *string* | Yes | Password |


#### Connect Account

**POST /v2/connections/carriers/couriers_please**


```http
POST /v2/connections/carriers/couriers_please HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/couriers_please/:id**


```http
DELETE /v2/connections/carriers/couriers_please/se-1234567 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### DAI Post

**Connection Properties:**

`carrier_code`: `dai`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |
| `account_number` | *string* | Yes | Account number |
| `use_shipperaddress_as_return` | *boolean* | Yes | Use shipper address as return address |
| `dai_terminal` | *string* | Yes | DAI terminal |


#### Connect Account

**POST /v2/connections/carriers/dai**


```http
POST /v2/connections/carriers/dai HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/dai/:id**


```http
DELETE /v2/connections/carriers/dai/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Delivengo

**Connection Properties:**

`carrier_code`: `delivengo`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `email` | *string* | Yes | Email address |
| `api_key` | *string* | Yes | API key |
| `api_key` | *string* | Yes | API key (apiKey in registry) |


#### Connect Account

**POST /v2/connections/carriers/delivengo**


```http
POST /v2/connections/carriers/delivengo HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/delivengo/:id**


```http
DELETE /v2/connections/carriers/delivengo/se-1234567 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Deutsche Post DHL

**Connection Properties:**

`carrier_code`: `deutsche_post_dhl`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `account_number` | *string* | Yes | Client ID (First 10 digits) |
| `user` | *string* | Yes | User |
| `password` | *string* | Yes | Password |
| `tracking_user` | *string* | No | Tracking user |
| `tracking_password` | *string* | No | Tracking password |
| `participation_number` | *string* | No | Participation number |


#### Connect Account

**POST /v2/connections/carriers/deutsche_post_dhl**


```http
POST /v2/connections/carriers/deutsche_post_dhl HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/deutsche_post_dhl/:id**


```http
DELETE /v2/connections/carriers/deutsche_post_dhl/se-1234 HTTP/1.1
Host: api.shipstation.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_code`: `dhl_global_mail`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `client_id` | *string* | Yes | Client ID |
| `api_secret` | *string* | No | API secret |
| `pickup_number` | *string* | No | Pickup number |
| `distribution_center` | *string* | Yes | Distribution center code |
| `sold_to` | *string* | No | Sold-to number |
| `account_number` | *string* | Yes | Account number |
| `password` | *string* | Yes | Account password |
| `user` | *string* | Yes | Username |
| `pickup_number` | *string* | Yes | Pickup account number (pickup_account_number in registry) |
| `client_id` | *string* | Yes | V4 client ID (v4_client_id in registry) |
| `api_secret` | *string* | Yes | V4 client secret (v4_client_secret in registry) |


#### Connect Account

**POST /v2/connections/carriers/dhl_global_mail**


```http
POST /v2/connections/carriers/dhl_global_mail HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/dhl_global_mail/:id**


```http
DELETE /v2/connections/carriers/dhl_global_mail/se-1234 HTTP/1.1
Host: api.shipstation.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_code`: `dhl_ecommerce_au`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `pickup_account_id` | *string* | No | Pickup account ID |
| `sold_to_account_id` | *string* | No | Sold-to account ID |
| `shipment_id_prefix` | *string* | No | Shipment ID prefix |
| `skip_rating_during_label_creation` | *boolean* | No | Skip rating during label creation |
| `pickup_account_id` | *string* | Yes | Pickup account ID (pickupAccountId in registry) |
| `shipment_id_prefix` | *string* | Yes | Shipment ID prefix (shipmentIdPrefix in registry) |
| `sold_to_account_id` | *string* | Yes | Sold to account ID (soldToAccountId in registry) |


#### Connect Account

**POST /v2/connections/carriers/dhl_ecommerce_au**


```http
POST /v2/connections/carriers/dhl_ecommerce_au HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/dhl_ecommerce_au/:id**


```http
DELETE /v2/connections/carriers/dhl_ecommerce_au/se-1234 HTTP/1.1
Host: api.shipstation.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_code`: `dhl_express_australia`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `account_number` | *string* | Yes | Account number |
| `account_number` | *string* | Yes | Account number (accountnumber in registry) |


#### Connect Account

**POST /v2/connections/carriers/dhl_express_australia**


```http
POST /v2/connections/carriers/dhl_express_australia HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/dhl_express_australia/:id**


```http
DELETE /v2/connections/carriers/dhl_express_australia/se-1234 HTTP/1.1
Host: api.shipstation.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_code`: `dhl_express_canada`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `account_number` | *string* | Yes | Account number |


#### Connect Account

**POST /v2/connections/carriers/dhl_express_canada**


```http
POST /v2/connections/carriers/dhl_express_canada HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/dhl_express_canada/:id**


```http
DELETE /v2/connections/carriers/dhl_express_canada/se-1234 HTTP/1.1
Host: api.shipstation.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_code`: `dhl_express_uk`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `account_number` | *string* | Yes | Account number |
| `site_id` | *string* | No | Site ID |
| `password` | *string* | Yes | Account password |
| `account_number` | *string* | Yes | Account number (accountnumber in registry) |
| `site_id` | *string* | Yes | Site ID (siteid in registry) |


#### Connect Account

**POST /v2/connections/carriers/dhl_express_uk**


```http
POST /v2/connections/carriers/dhl_express_uk HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/dhl_express_uk/:id**


```http
DELETE /v2/connections/carriers/dhl_express_uk/se-1234 HTTP/1.1
Host: api.shipstation.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_code`: `dhl_express`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `account_number` | *string* | Yes | Account number |
| `site_id` | *string* | No | Site ID |
| `password` | *string* | Yes | Account password |
| `country_code` | *string* | No | Country code |


#### Connect Account

**POST /v2/connections/carriers/dhl_express**


```http
POST /v2/connections/carriers/dhl_express HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/dhl_express/:id/settings**


```http
PUT /v2/connections/carriers/dhl_express/se-123/settings HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json

{
  "should_hide_account_number_on_archive_doc": true
}
```

#### Disconnect Account

**DELETE /v2/connections/carriers/dhl_express/:id**


```http
DELETE /v2/connections/carriers/dhl_express/se-1234 HTTP/1.1
Host: api.shipstation.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_code`: `dpd`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `account_number` | *string* | Yes | Account number |
| `password` | *string* | Yes | Account password |


#### Connect Account

**POST /v2/connections/carriers/dpd**


```http
POST /v2/connections/carriers/dpd HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/dpd/:id**


```http
DELETE /v2/connections/carriers/dpd/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### DPD Germany

**Connection Properties:**

`carrier_code`: `dpd_germany`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |


#### Connect Account

**POST /v2/connections/carriers/dpd_germany**


```http
POST /v2/connections/carriers/dpd_germany HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/dpd_germany/:id**


```http
DELETE /v2/connections/carriers/dpd_germany/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### DPD Local

**Connection Properties:**

`carrier_code`: `apicode-dpd-local`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |
| `username` | *string* | Yes | Account number (AccountNumber in registry) |
| `customer_account_number` | *string* | Yes | Customer account number |


#### Connect Account

**POST /v2/connections/carriers/apicode-dpd-local**


```http
POST /v2/connections/carriers/apicode-dpd-local HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/apicode-dpd-local/:id**


```http
DELETE /v2/connections/carriers/apicode-dpd-local/se-1234567 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Endicia

**Connection Properties:**

`carrier_code`: `endicia`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `account` | *string* | No | Account |
| `passphrase` | *string* | No | Account passphrase |


> **🎉 Update for Free Plans**
Stamps.com and Endicia standalone accounts can now be connected on the [ShipStation Free plan](https://help.shipstation.com/hc/en-us/articles/20075653857819) for USA direct sellers.


#### Connect Account

**POST /v2/connections/carriers/endicia**


```http
POST /v2/connections/carriers/endicia HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/endicia/:id**


```http
DELETE /v2/connections/carriers/endicia/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### ePost Global

**Connection Properties:**

`carrier_code`: `rr_donnelley`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |
| `username` | *string* | Yes | Account number (accountNumber in registry) |
| `password` | *string* | Yes | Access key (accessKey in registry) |


#### Connect Account

**POST /v2/connections/carriers/rr_donnelley**


```http
POST /v2/connections/carriers/rr_donnelley HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/rr_donnelley/:id**


```http
DELETE /v2/connections/carriers/rr_donnelley/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### EVRi UK

**Connection Properties:**

`carrier_code`: `hermescorp`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |
| `client_id` | *string* | Yes | Client ID |
| `client_name` | *string* | No | Client name |
| `endpoint`  ("Production" or "Testing") | *string*, **required** |  |  |


| `client_id` | *string* | Yes | Client ID (ClientID in registry) |
| `client_name` | *string* | Yes | Client name (ClientName in registry) |
| `endpoint` | *string* | Yes | API endpoint (Endpoint in registry) |

#### Connect Account

**POST /v2/connections/carriers/hermescorp**


```http
POST /v2/connections/carriers/hermescorp HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/hermescorp/:id**


```http
DELETE /v2/connections/carriers/hermescorp/se-1234567 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### FedEx UK

**Connection Properties:**

`carrier_code`: `fedex_uk`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `account_number` | *string* | Yes | Account number |
| `first_name` | *string* | No | First name |
| `last_name` | *string* | No | Last name |
| `company` | *string* | No | Company name |
| `address1` | *string* | No | Address line 1 |
| `address2` | *string* | No | Address line 2 |
| `city` | *string* | No | City |
| `postal_code` | *string* | No | Postal code |
| `country_code` | *string* | No | Country code |
| `email` | *string* | Yes | Email address |
| `phone` | *string* | No | Phone number |
| `agree_to_eula` | *bool* | No | Agreement to terms of service |


#### Connect Account

**POST /v2/connections/carriers/fedex_uk**


```http
POST /v2/connections/carriers/fedex_uk HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/fedex_uk/:id**


```http
DELETE /v2/connections/carriers/fedex_uk/se-1234 HTTP/1.1
Host: api.shipstation.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_code`: `fedex`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `account_number` | *string* | Yes | Account number |
| `first_name` | *string* | No | First name |
| `last_name` | *string* | No | Last name |
| `company` | *string* | No | Company name |
| `address1` | *string* | No | Address line 1 |
| `address2` | *string* | No | Address line 2 |
| `city` | *string* | No | City |
| `state_province` | *string* | No | State or province |
| `postal_code` | *string* | No | Postal code |
| `country_code` | *string* | No | Country code |
| `email` | *string* | Yes | Email address |
| `phone` | *string* | No | Phone number |
| `agree_to_eula` | *bool* | No | Agreement to terms of service |


#### Connect Account

**POST /v2/connections/carriers/fedex**


```http
POST /v2/connections/carriers/fedex HTTP/1.1
Host: api.shipstation.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](https://app.shipengine.com/content/integration/FedEx/EULA.pdf).


#### Modify Settings

ShipStation V2 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 V2 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 /v2/connections/carriers/fedex/:carrier_id/settings**


```http
PUT /v2/connections/carriers/fedex/se-108252/settings HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/fedex/:ID**


```http
DELETE /v2/connections/carriers/fedex/se-1234 HTTP/1.1
Host: api.shipstation.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_code`: `firstmile`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `mailer_id` | *string* | No | Mailer ID |
| `password` | *string* | Yes | Account password |


#### Connect Account

**POST /v2/connections/carriers/firstmile**


```http
POST /v2/connections/carriers/firstmile HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/firstmile/:id**


```http
DELETE /v2/connections/carriers/firstmile/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### GLS Canada

**Connection Properties:**

`carrier_code`: `gls_canada`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |
| `key` | *string* | Yes | API key |


#### 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 /v2/connections/carriers/gls_canada**


```http
POST /v2/connections/carriers/gls_canada HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/gls_canada/:id**


```http
DELETE /v2/connections/carriers/gls_canada/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### GLS France

**Connection Properties:**

`carrier_code`: `gls_france`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |
| `contact_id` | *string* | No | Contact ID |
| `contact_id` | *string* | Yes | Contact ID (contactId in registry) |


#### Connect Account

**POST /v2/connections/carriers/gls_france**


```http
POST /v2/connections/carriers/gls_france HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/gls_france/:id**


```http
DELETE /v2/connections/carriers/gls_france/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### GLS Germany

**Connection Properties:**

`carrier_code`: `gls_germany`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |
| `customer_id` | *string* | Yes | Customer ID |
| `contact_id` | *string* | No | Contact ID |
| `client_id` | *string* | Yes | Client ID |
| `client_secret` | *string* | Yes | Client secret |
| `key` | *string* | Yes | API key |
| `contact_id` | *string* | Yes | Contact ID (contactId in registry) |
| `customer_id` | *string* | Yes | Customer ID (customerId in registry) |


#### 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 /v2/connections/carriers/gls_germany**


```http
POST /v2/connections/carriers/gls_germany HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/gls_germany/:id**


```http
DELETE /v2/connections/carriers/gls_germany/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### GLS Netherlands

**Connection Properties:**

`carrier_code`: `gls_nl`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |
| `key` | *string* | Yes | API key |


#### Connect Account

**POST /v2/connections/carriers/gls_nl**


```http
POST /v2/connections/carriers/gls_nl HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/gls_nl/:id**


```http
DELETE /v2/connections/carriers/gls_nl/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### GLS US

**Connection Properties:**

`carrier_code`: `gls_us`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |
| `account_number` | *integer* | No | Account number |
| `account_number` | *integer* | Yes | Account number (accountNumber in registry) |


#### 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 /v2/connections/carriers/gls_us**


```http
POST /v2/connections/carriers/gls_us HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/gls_us/:id**


```http
DELETE /v2/connections/carriers/gls_us/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### GrupoAMPM

**Connection Properties:**

`carrier_code`: `grupo_ampm`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |
| `account_number` | *number* | No | Account number |


#### Connect Account

**POST /v2/connections/carriers/grupo_ampm**


```http
POST /v2/connections/carriers/grupo_ampm HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/grupo_ampm/:id**


```http
DELETE /v2/connections/carriers/grupo_ampm/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Hermes Germany

**Connection Properties:**

`carrier_code`: `hermes_germany`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |
| `pickup_window_slot` | *string* | Yes | Pickup window time slot |
| `api_language` | *string* | No | API language preference |
| `test_credentials` | *boolean* | No | Use test credentials |


#### Connect Account

**POST /v2/connections/carriers/hermes_germany**


```http
POST /v2/connections/carriers/hermes_germany HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/hermes_germany/:id**


```http
DELETE /v2/connections/carriers/hermes_germany/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### IntelliQuick Delivery

**Connection Properties:**

`carrier_code`: `intelliquick_delivery`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |
| `account_number` | *integer* | No | Account number |
| `account_number` | *integer* | Yes | Account number (accountnbr in registry) |


#### Connect Account

**POST /v2/connections/carriers/intelliquick_delivery**


```http
POST /v2/connections/carriers/intelliquick_delivery HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/intelliquick_delivery/:id**


```http
DELETE /v2/connections/carriers/intelliquick_delivery/se-1234567 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Landmark Global

**Connection Properties:**

`carrier_code`: `landmark_global`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |
| `client_id` | *string* | Yes | Client ID |


#### Connect Account

**POST /v2/connections/carriers/landmark_global**


```http
POST /v2/connections/carriers/landmark_global HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/landmark_global/:id**


```http
DELETE /v2/connections/carriers/landmark_global/se-1234567 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Loomis Express

**Connection Properties:**

`carrier_code`: `loomis_express`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `user_id` | *string* | Yes | User ID |
| `password` | *string* | Yes | Account password |
| `shipper_num` | *string* | Yes | Shipper num |


#### Connect Account

**POST /v2/connections/carriers/loomis_express**


```http
POST /v2/connections/carriers/loomis_express HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/loomis_express/:id**


```http
DELETE /v2/connections/carriers/loomis_express/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Maersk E-Delivery

**Connection Properties:**

`carrier_code`: `maersk_b2c`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `authentication_key` | *string* | Yes | Authentication key |
| `scramble` | *string* | No | Scramble value |


#### Connect Account

**POST /v2/connections/carriers/maersk_b2c**


```http
POST /v2/connections/carriers/maersk_b2c HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/maersk_b2c/:id**


```http
DELETE /v2/connections/carriers/maersk_b2c/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Mondial Relay

**Connection Properties:**

`carrier_code`: `mondial_relay`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `api_key` | *string* | Yes | API key |
| `enseigne` | *string* | Yes | Enseigne code |


#### Connect Account

**POST /v2/connections/carriers/mondial_relay**


```http
POST /v2/connections/carriers/mondial_relay HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/mondial_relay/:id**


```http
DELETE /v2/connections/carriers/mondial_relay/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### New Zealand Couriers

**Connection Properties:**

`carrier_code`: `new_zealand_couriers`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `carrier_code` | *string* | No | Carrier code |
| `customer_id` | *string* | Yes | Customer ID |
| `client_id` | *string* | Yes | Client ID |
| `client_secret` | *string* | Yes | Client secret |


#### Connect Account

**POST /v2/connections/carriers/new_zealand_couriers**


```http
POST /v2/connections/carriers/new_zealand_couriers HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json

{
  "nickname": "my new_zealand_couriers account",
  "carrier_code": "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 /v2/connections/carriers/new_zealand_couriers/:id**


```http
DELETE /v2/connections/carriers/new_zealand_couriers/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Newgistics

**Connection Properties:**

`carrier_code`: `newgistics`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `merchant_id` | *numeric* | No | Merchant ID |
| `mailer_id` | *string* | No | Mailer ID |
| `induction_site` | *string* | No | Induction site |
| `accountnumber` | *string* | Yes | Account number |
| `param3` | *string* | Yes | Parameter 3 |
| `param4` | *string* | Yes | Parameter 4 |


#### Connect Account

**POST /v2/connections/carriers/newgistics**


```http
POST /v2/connections/carriers/newgistics HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/newgistics/:id**


```http
DELETE /v2/connections/carriers/newgistics/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### NOW Couriers

**Connection Properties:**

`carrier_code`: `now_couriers`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `carrier_code` | *string* | No | Carrier code |
| `customer_id` | *string* | Yes | Customer ID |
| `client_id` | *string* | Yes | Client ID |
| `client_secret` | *string* | Yes | Client secret |


#### Connect Account

**POST /v2/connections/carriers/now_couriers**


```http
POST /v2/connections/carriers/now_couriers HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json

{
  "nickname": "My now_couriers Account",
  "carrier_code": "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 /v2/connections/carriers/now_couriers/:id**


```http
DELETE /v2/connections/carriers/now_couriers/se-1234567 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### NZ Post Domestic

**Connection Properties:**

`carrier_code`: `courierpost`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `username` | *string* | Yes | Account username |
| `account_number` | *integer* | No | Account number |
| `site_code` | *integer* | No | Site code |
| `account_number` | *integer* | Yes | Account number (accountnumber in registry) |
| `site_code` | *integer* | Yes | Site code (siteCode in registry) |


#### Connect Account

**POST /v2/connections/carriers/courierpost**


```http
POST /v2/connections/carriers/courierpost HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/courierpost/:id**


```http
DELETE /v2/connections/carriers/courierpost/se-1234567 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### NZ Post International

**Connection Properties:**

`carrier_code`: `new_zealand_post_international`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `account_number` | *integer* | No | Account number |
| `indicia_number` | *string* | No | Indicia number |
| `site_code` | *integer* | No | Site code |
| `account_number` | *integer* | Yes | Account number (accountnumber in registry) |
| `site_code` | *integer* | Yes | Site code (siteCode in registry) |


#### Connect Account

**POST /v2/connections/carriers/new_zealand_post_international**


```http
POST /v2/connections/carriers/new_zealand_post_international HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/new_zealand_post_international/:id**


```http
DELETE /v2/connections/carriers/new_zealand_post_international/se-1234567 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### 99Minutos

**Connection Properties:**

`carrier_code`: `n9minutos`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `api_key` | *string* | Yes | API key |


#### Connect Account

**POST /v2/connections/carriers/n9minutos**


```http
POST /v2/connections/carriers/n9minutos HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/n9minutos/:id**


```http
DELETE /v2/connections/carriers/n9minutos/se-1234567 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### OnTrac

2026 Migration to New OnTrac (V3) Integration via ShipStation
OnTrac is migrating all legacy OnTrac customers currently using ShipStation to the new Unified OnTrac integration (V3). ShipStation has adopted this integration over the past several months and is consolidating the number of OnTrac integrations it supports, so all customers will transition to the updated system.

**What this means for you:**

- **New account structure**: Legacy accounts use a numeric Account Number; V3 uses Customer Branches (unique alphanumeric IDs) aligned to your current origin and injection locations.
- **Tracking number changes**: Current format starts with "D"; new format starts with "1LS." Coordination with your third-party tracking providers may be required.
- **Invoice format updates**: Invoices will move to a new format.
- **ShipStation setup required**: You must add a new OnTrac carrier integration in ShipStation.


**Migrating in ShipStation:**

1. Contact OnTrac to request your new credentials. The new OnTrac API requires a different set of parameters than OnTrac Legacy or LaserShip.
2. Once you have your new credentials, connect your OnTrac account via the Carriers page just like connecting any other carrier.


**Connection Properties:**

`carrier_code`: `ontrac_v3`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `ws_id` | *string* | Yes | WSID |
| `ws_key` | *string* | Yes | WSKey |
| `customer_branch` | *string* | Yes | Customer Branch |
| `pickup_time` | *string* | Yes | Pickup Time |
| `contact` | *string* | Yes | Contact |
| `street_address` | *string* | Yes | Address |
| `postal_code` | *string* | Yes | Postal Code |
| `city` | *string* | Yes | City |
| `state` | *string* | Yes | State |
| `special_instructions` | *string* | Yes | Special Instructions |
| `company` | *string* | No | Company |
| `address2` | *string* | No | Address2 |
| `iso_country_code` | *string* | No | ISO Country Code |
| `phone` | *string* | No | Phone |
| `declare_piece_attributes_separately_for_every_shipment` | *boolean* | No | Declare Piece Attributes Separately for Every Shipment |
| `attr_alcohol` | *boolean* | No | Alcohol |
| `attr_dryice` | *boolean* | No | DryIce |
| `attr_explosive` | *boolean* | No | Explosive |
| `attr_two_persons` | *boolean* | No | Two Persons |
| `attr_controlled_substance` | *boolean* | No | Controlled Substance |
| `attr_refrigerated` | *boolean* | No | Refrigerated |
| `attr_perishable` | *boolean* | No | Perishable |
| `attr_norts` | *boolean* | No | NoRTS |
| `attr_desktop_delivery` | *boolean* | No | Desktop Delivery |
| `attr_hazmat` | *boolean* | No | Hazmat |
| `attr_saturday` | *boolean* | No | Saturday |
| `attr_sunday` | *boolean* | No | Sunday |
| `attr_signature_required` | *boolean* | No | SignatureRequired |


#### Connect Account

**POST /v2/connections/carriers/ontrac_v3**


```http
POST /v2/connections/carriers/ontrac_v3 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json

{
  "nickname": "my ontrac account",
  "ws_id": "your_ws_id_here",
  "ws_key": "your_ws_key_here",
  "customer_branch": "BRANCH123",
  "pickup_time": "14:00",
  "contact": "John Doe",
  "street_address": "123 Main St",
  "postal_code": "90210",
  "city": "Los Angeles",
  "state": "CA",
  "special_instructions": "Call on arrival"
}
```

A successful connection will return the carrier's `carrier_id` property in the response.

#### Disconnect Account

**DELETE /v2/connections/carriers/ontrac_v3/:id**


```http
DELETE /v2/connections/carriers/ontrac_v3/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Parcelforce

**Connection Properties:**

`carrier_code`: `parcelforce_royal_mail`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `account_number` | *string* | Yes | Account number |
| `password` | *string* | Yes | Account password |
| `sftp_username` | *string* | No | SFTP username |
| `sftp_password` | *string* | No | SFTP password |
| `contract_number` | *string* | No | Contract number |
| `department_id` | *string* | No | Department ID |
| `test_account` | *boolean* | No | Test account flag |


#### Connect Account

**POST /v2/connections/carriers/parcelforce_royal_mail**


```http
POST /v2/connections/carriers/parcelforce_royal_mail HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/parcelforce_royal_mail/:id**


```http
DELETE /v2/connections/carriers/parcelforce_royal_mail/se-1234567 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Post Haste

**Connection Properties:**

`carrier_code`: `post_haste`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `carrier_code` | *string* | No | Carrier code |
| `customer_id` | *string* | Yes | Customer ID |
| `client_id` | *string* | Yes | Client ID |
| `client_secret` | *string* | Yes | Client secret |


#### Connect Account

**POST /v2/connections/carriers/post_haste**


```http
POST /v2/connections/carriers/post_haste HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json

{
  "nickname": "My post_haste Account",
  "carrier_code": "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 /v2/connections/carriers/post_haste/:id**


```http
DELETE /v2/connections/carriers/post_haste/se-1234567 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### PostNL

**Connection Properties:**

`carrier_code`: `postnl`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `api_key` | *string* | Yes | API key |
| `customer_code` | *string* | Yes | Customer code |
| `global_customer_code` | *string* | Yes | Global customer code |
| `customer_number` | *string* | Yes | Customer number |
| `collection_location` | *string* | No | Collection location |
| `down_partner_id` | *string* | No | Downstream partner ID |
| `global_range_min` | *number* | Yes | Global range minimum |
| `global_range_max` | *number* | Yes | Global range maximum |


#### Connect Account

**POST /v2/connections/carriers/postnl**


```http
POST /v2/connections/carriers/postnl HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/postnl/:id**


```http
DELETE /v2/connections/carriers/postnl/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Purolator Canada

**Connection Properties:**

`carrier_code`: `purolator_ca`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `account_number` | *string* | Yes | Account number |
| `activation_key` | *string* | No | Activation key |
| `accountnumber` | *string* | Yes | Account number |
| `activationkey` | *string* | Yes | Activation key |


#### Connect Account

**POST /v2/connections/carriers/purolator_ca**


```http
POST /v2/connections/carriers/purolator_ca HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/purolator_ca/:id**


```http
DELETE /v2/connections/carriers/purolator_ca/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Quantium Solutions International

**Connection Properties:**

`carrier_code`: `quantium`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `aaccountno` | *string* | No | Aaccountno |
| `customerid` | *string* | Yes | Customerid |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |
| `AESKey` | *string* | Yes | Aeskey |
| `AuthorizationKey` | *string* | No | Authorizationkey |
| `handovermodes` | *string* | Yes | Handovermodes |
| `collectiontimefrom` | *string* | No | Collectiontimefrom |
| `collectiontimeto` | *string* | No | Collectiontimeto |
| `dropoffpointcode` | *string* | No | Dropoffpointcode |
| `accountno` | *string* | Yes | Account number |


#### Connect Account

**POST /v2/connections/carriers/quantium**


```http
POST /v2/connections/carriers/quantium HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/quantium/:id**


```http
DELETE /v2/connections/carriers/quantium/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Redpack

**Connection Properties:**

`carrier_code`: `redpack`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |
| `client_id` | *string* | Yes | Client ID |
| `client_secret` | *string* | Yes | Client secret |
| `client_account_id` | *string* | Yes | Client account ID (id_client in registry) |


#### Connect Account

**POST /v2/connections/carriers/redpack**


```http
POST /v2/connections/carriers/redpack HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/redpack/:id**


```http
DELETE /v2/connections/carriers/redpack/se-1234 HTTP/1.1
Host: api.shipstation.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/docs/carriers/royal-mail-guide) for details. Only the basic connection properties and sample request are included below.

**Connection Properties:**

`carrier_code`: `royal_mail`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `account_number` | *string* | Yes | Account number |
| `oba_email` | *string* | No | OBA email address |
| `company_name` | *string* | No | Company name |
| `contact_name` | *string* | No | Contact name |
| `email` | *string* | Yes | Email address |
| `street_line1` | *string* | No | Street address line 1 |
| `street_line2` | *string* | No | Street address line 2 |
| `city` | *string* | No | City |
| `postal_code` | *string* | No | Postal code |
| `phone` | *string* | No | Phone number |
| `posting_location_number` | *string* | No | Posting location number |


#### Connect Account

**POST /v2/connections/carriers/royal_mail**


```http
POST /v2/connections/carriers/royal_mail HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/royal_mail/:id**


```http
DELETE /v2/connections/carriers/royal_mail/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Seko Omni-Channel Logistics

**Connection Properties:**

`carrier_code`: `seko`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `access_key` | *string* | No | Access key |


#### Connect Account

**POST /v2/connections/carriers/seko**


```http
POST /v2/connections/carriers/seko HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/seko/:id**


```http
DELETE /v2/connections/carriers/seko/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Sendle

**Connection Properties:**

`carrier_code`: `sendle`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `sendle_id` | *string* | Yes | Sendle account ID |
| `api_key` | *string* | Yes | API key |


#### Connect Account

**POST /v2/connections/carriers/sendle**


```http
POST /v2/connections/carriers/sendle HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/sendle/:id**


```http
DELETE /v2/connections/carriers/sendle/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Stamps.com

**Connection Properties:**

`carrier_code`: `stamps_com`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |


> **🎉 Update for Free Plans**
Stamps.com and Endicia standalone accounts can now be connected on the [ShipStation Free plan](https://help.shipstation.com/hc/en-us/articles/20075653857819) for USA direct sellers.


#### Connect Account

**POST /v2/connections/carriers/stamps_com**


```http
POST /v2/connections/carriers/stamps_com HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/stamps_com/:id**


```http
DELETE /v2/connections/carriers/stamps_com/se-1234567 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### StarTrack

**Connection Properties:**

`carrier_code`: `star_track`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `account_number` | *string* | Yes | Account number |
| `user_id` | *string* | Yes | User ID |
| `password` | *string* | Yes | Account password |


#### Connect Account

**POST /v2/connections/carriers/star_track**


```http
POST /v2/connections/carriers/star_track HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/star_track/:id**


```http
DELETE /v2/connections/carriers/star_track/se-1234567 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Team Global Express IPEC

**Connection Properties:**

`carrier_code`: `toll_ipec`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `requested_by_name` | *string* | Yes | Name of person requesting connection |
| `requested_by_email` | *string* | Yes | Email of person requesting connection |
| `company_name` | *string* | Yes | Company name |
| `address_line_1` | *string* | Yes | Address line 1 |
| `address_line_2` | *string* | No | Address line 2 |
| `suburb` | *string* | Yes | Suburb |
| `state` | *string* | Yes | State or province |
| `contact_name` | *string* | Yes | Contact name |
| `account_number` | *string* | Yes | Account number |
| `toll_ipec_account_manager` | *string* | Yes | Toll IPEC account manager name |
| `use_test_endpoint` | *boolean* | No | Use test endpoint |
| `skip_rating_during_label_creation` | *boolean* | No | Skip rating during label creation |


#### Connect Account

**POST /v2/connections/carriers/toll_ipec**


```http
POST /v2/connections/carriers/toll_ipec HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/toll_ipec/:id**


```http
DELETE /v2/connections/carriers/toll_ipec/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Team Global Express Priority

**Connection Properties:**

`carrier_code`: `toll_priority`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `requested_by_name` | *string* | Yes | Name of person requesting connection |
| `requested_by_email` | *string* | Yes | Email of person requesting connection |
| `company_name` | *string* | Yes | Company name |
| `address_line_1` | *string* | Yes | Address line 1 |
| `address_line_2` | *string* | No | Address line 2 |
| `suburb` | *string* | Yes | Suburb |
| `state` | *string* | Yes | State or province |
| `contact_name` | *string* | Yes | Contact name |
| `account_number` | *string* | Yes | Account number |
| `toll_priority_account_manager` | *string* | Yes | Toll Priority account manager name |
| `use_test_endpoint` | *boolean* | No | Use test endpoint |
| `skip_rating_during_label_creation` | *boolean* | No | Skip rating during label creation |


#### Connect Account

**POST /v2/connections/carriers/toll_priority**


```http
POST /v2/connections/carriers/toll_priority HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/toll_priority/:id**


```http
DELETE /v2/connections/carriers/toll_priority/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### TNT Australia

**Connection Properties:**

`carrier_code`: `tnt_australia`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `username` | *string* | Yes | Account username |
| `password` | *string* | Yes | Account password |
| `prefix` | *string* | Yes | Shipment prefix |
| `account_number` | *string* | Yes | Account number |
| `range_max` | *number* | No | Range maximum |
| `range_min` | *number* | No | Range minimum |
| `sender_code` | *string* | No | Sender code |
| `tracking_password` | *string* | No | Tracking password |
| `tracking_username` | *string* | No | Tracking username |
| `tracking_group_code` | *string* | No | Tracking group code |
| `is_test_credentials` | *boolean* | No | Is test credentials |
| `account_number` | *string* | Yes | Account number (account in registry) |
| `range_max` | *number* | Yes | Range maximum (rangeMax in registry) |
| `range_min` | *number* | Yes | Range minimum (rangeMin in registry) |
| `sender_code` | *string* | Yes | Sender code (senderCode in registry) |
| `tracking_group_code` | *string* | Yes | Tracking group code (trackingGroupCode in registry) |
| `tracking_password` | *string* | Yes | Tracking password (trackingPassword in registry) |
| `tracking_username` | *string* | Yes | Tracking username (trackingUsername in registry) |


#### Connect Account

**POST /v2/connections/carriers/tnt_australia**


```http
POST /v2/connections/carriers/tnt_australia HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/tnt_australia/:id**


```http
DELETE /v2/connections/carriers/tnt_australia/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### Tusk

**Connection Properties:**

`carrier_code`: `tusk`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `account_name` | *string* | Yes | Account name |
| `api_key` | *string* | Yes | API key |


#### Connect Account

**POST /v2/connections/carriers/tusk**


```http
POST /v2/connections/carriers/tusk HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/tusk/se-1234**


```http
DELETE /v2/connections/carriers/tusk/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```

### UPS

**Connection Properties:**

`carrier_code`: `ups`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `account_number` | *string* | Yes | Account number |
| `account_postal_code` | *string* | No | Account postal code |
| `account_country_code` | *string* | No | Account country code |


#### Connect Account

**POST /v2/connections/carriers/ups**


```http
POST /v2/connections/carriers/ups HTTP/1.1
Host: api.shipstation.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 V2 API. Reconnection can take place in the ShipStation V2 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 V2 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.shipstation.com/hc/en-us/articles/27535412505115) help article for details.


#### Modify UPS Settings

ShipStation V2 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 Drop-off page](/service-points) 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](/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_innovations_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 /v2/connections/carriers/ups/:id**


```http
DELETE /v2/connections/carriers/ups/se-1234 HTTP/1.1
Host: api.shipstation.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_code`: `yodel`

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | Yes | Account nickname in your system |
| `user_id` | *string* | Yes | User ID |
| `account_id` | *string* | No | Account ID |
| `password` | *string* | Yes | Account password |
| `account_id` | *string* | Yes | Account ID (accountId in registry) |
| `user_id` | *string* | Yes | Account number/user ID (accountNumber in registry) |


#### Connect Account

**POST /v2/connections/carriers/yodel**


```http
POST /v2/connections/carriers/yodel HTTP/1.1
Host: api.shipstation.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 /v2/connections/carriers/yodel/:id**


```http
DELETE /v2/connections/carriers/yodel/se-1234 HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
```