Site Logo

Create an account

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

When creating a ShipEngine 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.

ShipEngine Login

ShipEngine accounts that are created via the Partner API cannot log into the ShipEngine dashboard by default. Instead, everything that a user might normally do in the ShipEngine 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 ShipEngine - if the email is already in use by another account, you will receive an error.

Request Body

The following table lists the parameters 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 here.
emailstring50A unique email that can be used to log into the ShipEngine dashboard. This will always be null in the response. (Optional)
passwordstring128Minimum 7 characters. A password that can be used to log into the ShipEngine dashboard. This is not in the response. (Optional)

Example Request

To create a ShipEngine 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"
}
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 which you can begin using immediately. If this key is ever compromised you can always delete it and then create a new one.