The uShip Furniture API provides seamless integration for authentication, rate retrieval, listing management, and tracking for furniture and household goods shipments.

🏖️ Testing Environment

Always test your integration in sandbox before deploying to production.

  • 🏖️ Sandbox (Recommended for Testing): https://api.ushipsandbox.com
  • 🚀 Production: https://api.uship.com

Note: Sandbox and production environments require separate API keys.

Authentication

This API uses Self Service API Keys with Bearer token authentication (replacing legacy OAuth).

To obtain your API Key:

  1. Navigate to API Key Generation Page
  2. Generate your API key (specify sandbox or production)
  3. Include in the Authorization header: Authorization: Bearer <Your API Key>

Integration Guides

For detailed implementation guidance:

For questions or support, contact: apisupport@uship.com

Server
https://api.uship.com
https://api.ushipsandbox.com
Server Variables
apiKey Bearer

Use "Bearer " to authenticate.

Fields
KeyIn
AuthorizationHeader

Fixed Price

Retrieve shipping cost

Provides fixed price information for the cost of a carrier shipping household goods in the US and Canada only.

Auth
Headers
Content-Typestring

application/x-www-form-urlencoded

Request Body

Container for items to be rated and shipped. Used to wrap multiple or single items for rating.

objectobject

Request body for the FixedPrice API

sourcestring

Required. The shipper's alpha numeric company name all lower case and together, no special characters

insuranceobject

Amount of protection declared for shipment

coverageAmountobject

Required. coverage amount

amountnumber

Required. Amount of coverage desired

currencyTypestring

Currency referenced, example USD

originPostalCodestring

Required. Origin zip code

destinationPostalCodestring

Required. Destination zip code

itemsarray[object]

Required. items

heightInMetersnumber

Required. The height of the object in meters

widthInMetersnumber

Required. The width of the object in meters

lengthInMetersnumber

Required. The length of the object in meters

weightInGramsint32

The weight of the object in grams

unitCountint32

Required. unit count

userIdstring

userId for pricing estimates

priceCorrelationIdstring

priceCorrelationId to correlate the estimated price with the listing

commoditystring

commodity of the shipment

originCountryCodestring

country code where the shipment is originating

destinationCountryCodestring

country code where the shipment is destined

POST /v2/fixedprice
Copy
Responses
200

OK

objectobject

Fixed Price Response Model

pricenumber

Total price including uShip service charges

nypAmountnumber

Name your price which is total price excluding uShip service charges

priceCorrelationIduuid

User generated UUID/GUID

insuranceQuoteobject
premiumobject

The cost for protection coverage (This should be added to shipment pricing in listing)

amountnumber
currencyTypestring
coverageAmountobject
amountnumber
currencyTypestring
400

Invalid or missing parameter.

401

Unauthorized

Response
Copy

Retrieve listing contacts

This endpoint allows you to retrieve contact information associated with the shipper and service provider after listing has been booked

Auth
Path Params
listingIdinteger

Required. listingId

GET /v2/listings/{listingId}/contacts
Copy
Responses
200

200 OK

Retrieve tracking info

This endpoint allows you to retrieve latitude/longitude values, transit status, and the most recent location or address. If a recent location is not provided, these will be absent from the response.

Auth
Headers
client_idstring

Required. The unique ID provided to you by uShip for integrating

client_secretstring

Required. The unique ID secret provided alongside your client ID by uShip

Path Params
listingIdinteger

Required. listingId

GET /v2/listings/{listingId}/track
Copy
Responses
200

200 OK

Creating an IHD Listing

Auth
Headers
Content-Typestring

application/x-www-form-urlencoded

Request Body

Request body for v2 Listings POST request

POST /v2/listings
Responses
201

Created

objectobject

Created

401

Unauthorized

Response
Copy

Retrieves IHD listing by ID

Auth
Path Params
listingIdnumber

Required. ID provided when IHD listing is created

GET /v2/listings/{listingId}
Copy
Responses
200

Succesfully retrieved

401

Invalid credentials

Response
Copy

Edits IHD listing by ID

Auth
Path Params
idinteger

Required. ID of the listing to update

Request Body

Listing update model containing the fields to update

PUT /v2/listings/{listingId}
Responses
204

Confirms the edit was successful

No response body
401

Credentials are invalid

Response
Copy

Delete IHD listing by ID

Auth
Path Params
listingIdinteger

Required. ID of the listing to delete

DELETE /v2/listings/{listingId}
Copy
Responses
204

No Content

No response body
401

Missing or invalid x-api-key.

403

Listing cannot be deleted because it has already been Booked.

404

Listing does not exist or isn't accessible with your key.

Response
Copy

Bill Of Lading

Get the preSigned url for bill of lading

Auth
Headers
Authorizationstring

Required. Required Authorization header containing access token

Path Params
idstring

Required. id

GET /v2/listings/{id}/billoflading
Copy
Responses
200

200 response

v2ListingBillofLadingGet200Responseobject
billOfLadingNumbernumber
documentobject

pre-signed url to access the bill of lading

hrefstring

pre-signed url

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal server error

Response
Copy

transit status changed webhook

Request Body

Information about the booked transit status change

POST ShipmentTransitStatusChanged
Copy
Responses
200

Return a 200 status to indicate that the data was received successfully

No response body
Response
Copy