Table of Contents


Colin Updated by Colin

UPS is one of the world's largest shipping couriers and is well supported by the ShipStream WMS. With the UPS integration, you can:

  • Generate shipping labels for UPS domestic and international parcel services
  • Retrieve customs documents or submit paperless invoices for international shipments
  • View up-to-date tracking information and generate webhooks for tracking events
  • Validate and classify destination addresses

How to Set Up UPS

Getting started with UPS is easy, the steps from a high level are:

  1. Authorize the integration.
  2. Add one or more Shipping Accounts.
  3. Enable and configure the UPS carrier under Shipping Methods.

Step 1 - Authorize the integration

There are three methods of providing authorization for ShipStream to access a UPS account:

  1. Authorization Code
  2. Client Credentials
  3. Legacy Access Keys

The Authorization Code method allows a UPS user to authenticate securely on the UPS website without sharing any credentials to their account. This is the preferred method since it is both easy and more secure.

If you are a 3PL and would like to manage your own App, please contact our support and we can help you set up the app so that your clients can authenticate using your app instead of the ShipStream app.

The Client Credentials method requires the account holder to create an "app" via and copy the Client ID and Client Secret to the ShipStream shipping account configuration page or share these credentials with a user who has access to do so.

Sharing credentials carries the risk of accidental disclosure. For example, if you use email and either party's email gets hacked at any point in the future your account could be compromised.

The Legacy Access Keys method is the method used before 2023 in which the MyUPS username and password of the account holder were copied into the ShipStream shipping account page. This method will no longer be supported beginning June 3, 2024 so it is expected that any accounts using this method on that date will begin to throw errors and must be updated to one of the above methods (preferably well before the EOL date).

If you are using the Authorization Code method (recommended), proceed to step 1-A. Otherwise, proceed to step 1-B for Client Credentials or step 1-C for the Legacy Access Keys method.

Step 1-A - Authorization Code

You will create either a Global Integration or Merchant Integration subscription for UPS and click the Authorize button to complete authorization via the UPS website. Choose a Global Integration if this is your primary account or you are a 3PL and you will be using one ID for multiple merchants. Otherwise, choose Merchant Integration to create an authorization that can only be used by a specific merchant.

You can have only one Global Integration and any number of Merchant Integrations depending on your needs. The important thing is that the UPS shipper account configured in Step 2 is present on the profile of the user who completes the authorization step.
  1. Navigate to either System > Integrations > Global Integrations or System > Integrations > Merchant Integrations depending on your needs.
    1. For Global Integrations click UPS.
    2. For Merchant Integrations, click Add New Subscription, select the merchant that the account shall belong to, and then click UPS.
  2. Click Save Subscription.
  3. Click Authorize and complete the sign-in on the pages that follow. You will be redirected back to ShipStream upon completion and the Connection Diagnostics will show the account which successfully authenticated.
This step can be performed by a separate person from the remaining steps. For example, a 3PL can have their clients authorize an account that will then be selected in the next step so there is no need for the merchant to share any credentials with the 3PL. Just make sure that the ID used to complete the authentication step has access to all of the UPS shipper accounts that will be used by that authorization. This can be done from the profile page.
If you need to re-authenticate at some point in the future you can click Disconnect and then you will be able to click Authorize again. Doing this will not require any changes to the Shipping Accounts where this integration is selected (Step 2) even if you authenticate with a different account (for example if the previous user to complete authentication exited the company).
Step 1-B - Client Credentials

To use this method, the account holder must create a UPS "App".

  1. Navigate to and log in with the account that contains the UPS shipper accounts to be used.
  2. Click My Apps in the top right corner.
  1. Click Add Apps in the bottom left corner.
  2. Continue the wizard to complete creating the app, choosing:
    1. I need API credentials because: I want to integrate UPS technology into my business.
    2. App Name: <any name recognizable by you, for example, "ShipStream Integration">
    3. Callback URL: <leave empty>
    4. Products Included In This App: <select all products for future possibility that ShipStream may utilize them, or minimally the following:>
      1. Shipping
      2. Address Validation
      3. Authorization
      4. Tracking
  3. Upon completion, note the Client ID and Client Secret which you will need for Step 2.

Step 2 - Create a Shipping Account

  1. Add a Shipping Account in ShipStream for each UPS shipper account you wish to use, selecting the appropriate value for Access Key Type based on which route you took for Step 1.
    1. If you followed Step 1-A, you will choose Authorization Code and then select the integration instance that corresponds to the authorization completed.
    2. If you followed Step 1-B, you will choose Client Credentials and copy and paste the Client ID and Client Secret to complete the authorization.
You can change the Access Key Type of an existing account at any time. So, for example, if you are migrating from a Legacy Access Key type account to an Authorization Code account, navigate to the existing Shipping Account page to edit it instead of creating a new one.
  1. Check the other account configuration options and adjust as needed.
  2. Click Save Shipping Account.
One Authorization Code (integration subscription) can be used for any number of UPS shipper accounts as long as that ID has access to the shipper accounts in their profile, so make sure all desired shipping accounts show up in the Accounts and Payment Options page on

Step 3 - Enable and configure UPS

  1. Navigate to System > Configuration > Shipping > Shipping Methods > UPS and change Enabled to Yes.
  2. Check the other UPS configuration options and adjust as needed.
  3. Click Save Config.

You are now ready to create shipping labels with your UPS account!

How did we do?