~/ship-api

direct.ship-api.com/ups

UPS via Ship-API Direct

Direct is a proxy in front of UPS. Instead of calling UPS directly, you point the same request at Ship-API Direct. We forward it to UPS and inject the carrier credentials and account configuration where needed, so your integration carries one set of keys instead of one per carrier.

Overview

Ship-API Direct lets you connect to UPS through one proxy endpoint. Instead of calling the UPS API directly, you send the request to Direct. Ship-API forwards it to UPS and injects the required configuration, such as client credentials, account number, or other agreed settings. You keep the normal UPS API structure: same headers, request body, and response handling.

Base URL

Take the carrier name onto the Direct host. Every UPS request goes through this base:

Base URL
https://direct.ship-api.com/ups

Authentication

Every request must include the Ship-API authorization header, in addition to the normal UPS headers.

Header
ship-api-authorization: Bearer YOUR_SHIP_API_KEY
Example
ship-api-authorization: Bearer xjxjx9393939aks...djkldj

This header is required in addition to the normal UPS authentication headers.

You do not call UPS's own OAuth and credential APIs. You hit the Direct endpoints below with your Ship-API key, and Ship-API exchanges credentials with UPS for you.

How requests work

Use the normal UPS API paths. The only change is the host. UPS uses OAuth 2.0, so for an access token, instead of calling UPS directly you call:

OAuth token
POST https://direct.ship-api.com/ups/security/v1/oauth/token

Use the normal UPS OAuth request format. See the UPS OAuth documentation.

UPS Rating API

Keep the normal UPS Rating API path after the Direct base URL:

Rating API
POST https://direct.ship-api.com/ups/api/rating/v1/Rate

Required headers are the normal UPS headers plus the ship-api-authorization header.

UPS Rating API documentation

UPS Shipping API

Keep the normal UPS Shipping API path after the Direct base URL:

Shipping API
POST https://direct.ship-api.com/ups/api/shipments/v1/ship

Required headers are the normal UPS headers plus the ship-api-authorization header.

UPS Shipping API documentation

Paths mirror UPS's own API. Use the UPS endpoint and version you target; keep the path and swap the host for the Direct base.

Build against the UPS Web Services interface reference and point the same calls at Direct.

Example requests

The request body and normal UPS headers stay the same; the ship-api-authorization header is added on top.

Rating API request
POST https://direct.ship-api.com/ups/api/rating/v1/Rate

Authorization: Bearer UPS_ACCESS_TOKEN
ship-api-authorization: Bearer YOUR_SHIP_API_KEY
Content-Type: application/json

The request body should follow the normal UPS Rating API format.

Shipping API request
POST https://direct.ship-api.com/ups/api/shipments/v1/ship

Authorization: Bearer UPS_ACCESS_TOKEN
ship-api-authorization: Bearer YOUR_SHIP_API_KEY
Content-Type: application/json

The request body should follow the normal UPS Shipping API format.

How Ship-API handles the request

You send the request to the Direct base URL with the normal UPS API path:

Request URL
https://direct.ship-api.com/ups/{ups-api-path}

Ship-API then forwards the request to UPS. Where required, it injects or manages the UPS-specific credentials and settings. This can include:

  • UPS client ID
  • UPS client secret
  • UPS shipper account number
  • Other agreed UPS configuration

You do not need to send these values unless specifically agreed.

Important notes

Use the normal UPS documentation for request bodies, response handling, error handling, and required headers. The only difference is the endpoint URL and the added ship-api-authorization header.

Normal endpoint
https://wwwcie.ups.com/api/rating/v1/Rate
Ship-API Direct endpoint
https://direct.ship-api.com/ups/api/rating/v1/Rate

Summary

To integrate UPS through Ship-API Direct:

  1. 1Use https://direct.ship-api.com/ups as the UPS base URL.
  2. 2Keep the normal UPS API paths.
  3. 3Keep the normal UPS headers and request body.
  4. 4Add the ship-api-authorization header to every request.
  5. 5Ship-API will inject required UPS configuration where needed.

For UPS API details, use the official UPS Developer Portal.