Site Logo

🎉 ShipEngine is becoming ShipStation API 🎉

Over the next few months you'll notice the ShipEngine website, documentation portal, and dashboard being rebranded as ShipStation API. For our ShipEngine customers, you don't need to take any action or change any of your integrations in any way. All endpoints will remain the same and continue to function as they always have.

To learn more about what's coming, review our New ShipStation API page.

Create an Account

ShipStation's Partner API allows you to programmatically create ShipStation API accounts for your customers. You can then make ShipStation API calls on behalf of your customers.

When creating a ShipStation API account, you can optionally include a unique external_account_id, which can be your own ID for that customer. This will allow you to retrieve the account using the external ID later.

ShipStation API Login

ShipStation API accounts that are created via the Partner API cannot log into the ShipStation API dashboard by default. Instead, everything that a user might normally do in the dashboard is instead done via the API. The most obvious example of this is connecting a carrier account.

Email and Password

You can specify an email and password that will allow direct login access to this account. The password must be at least 7 characters long. The email must be unique and not in use by any other accounts associated with ShipStation API - if the email is already in use by another account, you will receive an error.

Request Body Properties

The following table lists the properties required for this endpoint. To see a sample of a full request, see the Example Request section below.

NameTypeMax LengthDescription
first_namestring24First name of account owner. This will always be null in the response. (Optional)
last_namestring24Last name of account owner. This will always be null in the response. (Optional)
company_namestring50Company name of account owner. This will always be null in the response. (Optional)
external_account_idstring128A unique ID that can be used to list the account. (Optional)
origin_country_codestring2Must be capitalized. Valid values for this field can be found on our supported countries page.
emailstring50A unique email that can be used to log into the ShipStation API dashboard. This will always be null in the response. (Optional)
passwordstring128Minimum 7 characters. A password that can be used to log into the ShipStation API dashboard. This is not in the response. (Optional)

Example Request & Response

To create a ShipStation API account, you'll send a POST request to the /v1/partners/accounts endpoint containing information about your customer's account.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
POST /v1/partners/accounts HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"first_name": "John",
"last_name": "Doe",
"company_name": "Acme Corp.",
"external_account_id": "819748723192",
"origin_country_code": "US",
"email": "Must be Unique",
"password": "Must be at least 7 characters"
}

Example response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"api_key": {
"encrypted_api_key": "ie3IlOJ01tTirwbezeOsiC6aYMy5AxpaWtEGbmWGX3E",
"created_at": "2023-12-04T23:06:39.197Z",
"description": "Account API Key",
"account_id": 12345,
"api_key_id": 4069
},
"account_id": 12345,
"external_account_id": "Very Real ID",
"created_at": "2023-12-04T23:06:39.197Z",
"modified_at": "2023-12-04T23:06:39.197Z",
"active": true,
"email": null,
"company_name": null,
"first_name": null,
"last_name": null,
"origin_country_code": "US"
}

Each account is created with an API key you can begin using immediately. If this key is ever compromised you can always delete it and then create a new one.