The uShip Furniture API provides seamless integration for white glove furniture and household goods shipments.


Getting Started

Base URLs

Environment URL Description
Sandbox https://api.ushipsandbox.com Test environment for development
Production https://api.uship.com Live production environment

Note: Sandbox and production environments require separate API keys.


Authentication

All API requests require Bearer token authentication.

Obtaining Your API Key

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

Integration Guides

Guide Description
Furniture and Home API Guide Overview and Shopify integration comparison
Direct Furniture Integrations Request body details and order of operations
Sandbox Testing Guide Comprehensive sandbox testing documentation

Support

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

Server
https://api.uship.com

Production

https://api.ushipsandbox.com

Sandbox (Testing)

Server Variables
apiKey Bearer

Use "Bearer " to authenticate.

Fields
KeyIn
AuthorizationHeader

Fixed Price

Get instant shipping quotes for furniture delivery. Use these endpoints to retrieve pricing before creating a listing.

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

Listings

Create and manage furniture shipment listings. Listings represent shipment requests that carriers can bid on or accept at a fixed price.

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
Path Params
listingIdinteger

Required. The listing ID to retrieve tracking information for

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

Retrieve Bill of Lading documents for booked shipments. The BOL serves as the official shipping contract between shipper and carrier.

Get the preSigned url for bill of lading

Auth
Headers
Authorizationstring

Required. Required Authorization header containing access token

Path Params
idstring

Required. The listing ID for which to retrieve the bill of lading

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