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:
https://direct.ship-api.com/upsAuthentication
Every request must include the Ship-API authorization header, in addition to the normal UPS headers.
ship-api-authorization: Bearer YOUR_SHIP_API_KEYship-api-authorization: Bearer xjxjx9393939aks...djkldjThis 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:
POST https://direct.ship-api.com/ups/security/v1/oauth/tokenUse 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:
POST https://direct.ship-api.com/ups/api/rating/v1/RateRequired headers are the normal UPS headers plus the ship-api-authorization header.
UPS Shipping API
Keep the normal UPS Shipping API path after the Direct base URL:
POST https://direct.ship-api.com/ups/api/shipments/v1/shipRequired headers are the normal UPS headers plus the ship-api-authorization header.
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.
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/jsonThe request body should follow the normal UPS Rating API format.
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/jsonThe 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:
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.
https://wwwcie.ups.com/api/rating/v1/Ratehttps://direct.ship-api.com/ups/api/rating/v1/RateSummary
To integrate UPS through Ship-API Direct:
- 1Use https://direct.ship-api.com/ups as the UPS base URL.
- 2Keep the normal UPS API paths.
- 3Keep the normal UPS headers and request body.
- 4Add the ship-api-authorization header to every request.
- 5Ship-API will inject required UPS configuration where needed.
For UPS API details, use the official UPS Developer Portal.