uShip Furniture API Reference (v2)

Download OpenAPI specification:

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

transit status changed webhook Webhook

Authorizations:
Bearer
Request Body schema: application/json

Information about the booked transit status change

specversion
string
Value: "1.0"

The version of the CloudEvents specification which the event uses. See https://github.com/cloudevents/spec/blob/main/cloudevents/spec.md#specversion

source
string <uri>

Identifies the context in which an event happened. See https://github.com/cloudevents/spec/blob/main/cloudevents/spec.md#source-1

id
time
string <date-time>

Timestamp of when the occurrence happened in ISO-8601 format. See https://github.com/cloudevents/spec/blob/main/cloudevents/spec.md#time

type
string
Value: "Shipment.TransitStatusChanged/v1"

Type of event related to the originating occurrence. See https://github.com/cloudevents/spec/blob/main/cloudevents/spec.md#type

object

Responses

Request samples

Content type
application/json
{
  • "specversion": "1.0",
  • "source": "http://example.com",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "time": "2019-08-24T14:15:22Z",
  • "type": "Shipment.TransitStatusChanged/v1",
  • "data": {
    }
}

Fixed Price

Retrieve shipping cost

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

Authorizations:
Bearer
header Parameters
Content-Type
string

application/x-www-form-urlencoded

Request Body schema: application/json
required

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

source
required
string

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

object

Amount of protection declared for shipment

originPostalCode
required
string

Required. Origin zip code

destinationPostalCode
required
string

Required. Destination zip code

required
Array of objects

Required. items

userId
string

userId for pricing estimates

priceCorrelationId
string

priceCorrelationId to correlate the estimated price with the listing

commodity
string

commodity of the shipment

originCountryCode
string

country code where the shipment is originating

destinationCountryCode
string

country code where the shipment is destined

Responses

Request samples

Content type
application/json
{
  • "source": "Example value",
  • "insurance": {
    },
  • "originPostalCode": "78701",
  • "destinationPostalCode": "90210",
  • "items": [
    ],
  • "userId": "string",
  • "priceCorrelationId": "string",
  • "commodity": "string",
  • "originCountryCode": "string",
  • "destinationCountryCode": "string"
}

Response samples

Content type
application/json
{
  • "price": 0,
  • "nypAmount": 0,
  • "priceCorrelationId": "360d80fc-b677-4f86-b086-c436ed17ed2f",
  • "insuranceQuote": {
    },
  • "coverageAmount": {
    }
}

Listings

Retrieve listing contacts

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

Authorizations:
Bearer
path Parameters
listingId
required
integer
Example: 12345

Required. listingId

Responses

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.

Authorizations:
Bearer
path Parameters
listingId
required
integer
Example: 12345

Required. listingId

Responses

Creating an IHD Listing

Authorizations:
Bearer
header Parameters
Content-Type
string

application/x-www-form-urlencoded

Request Body schema: application/json
required

Request body for v2 Listings POST request

title
required
string

Required. A title for the listing

description
string

A description for the listing

confidentialDescription
string

A confidential description only seen by the driver

object

Pricing information for a listing. Only one of these properties should be used

object

Amount of protection declared for shipment

required
object

Required. route

required
Array of objects

Required. items

requestedRateTypes
string
Array of objects

Reference numbers associated with the listing. When using Type='Other', you can provide a custom label via referenceNumberLabel which will be combined with the number value as '{referenceNumberLabel} - {number}' (max 60 chars total).

serviceTypes
Array of strings
Items Enum: "BlanketWrap" "LtlTransportOnly" "LtlFreightPackaging"

A list of requested service types for the shipment

gallery
Array of strings

Responses

Request samples

Content type
application/json
{
  • "title": "Furniture Shipment",
  • "description": "string",
  • "confidentialDescription": "string",
  • "pricing": {
    },
  • "insurance": {
    },
  • "route": {
    },
  • "items": [
    ],
  • "requestedRateTypes": "string",
  • "referenceNumbers": [
    ],
  • "serviceTypes": [
    ],
  • "gallery": [
    ]
}

Response samples

Content type
application/json
{ }

Retrieves IHD listing by ID

Authorizations:
Bearer
path Parameters
listingId
required
number
Example: 12345

Required. ID provided when IHD listing is created

Responses

Response samples

Content type
application/json
{
  • "status": {
    },
  • "paymentStatus": {
    },
  • "transitStatus": {
    },
  • "isAuction": true,
  • "auctionTargetPrice": {
    },
  • "acceptedBidPrice": {
    },
  • "totalCost": {
    },
  • "bookingDeposit": {
    },
  • "priceDetails": {
    },
  • "commodity": "New Commercial Goods",
  • "parentCommodity": "LTL Freight",
  • "topLevelCommodity": "LTL Freight",
  • "expiresOn": "2023-07-21T10:54:35",
  • "totalBidsPlaced": 1,
  • "isDefaultImage": true,
  • "checksum": "c9f0a65b38c61405",
  • "createdOn": "2023-07-20T10:54:35-05:00",
  • "lastUpdatedOn": "2023-07-20T10:54:35-05:00",
  • "bookedOn": "2023-07-20T10:54:38",
  • "serviceProvider": {
    },
  • "billOfLadingNumber": 2665349,
  • "minimumBidAmount": {
    },
  • "quoteRequestId": "64b9546806a13f0638323de9",
  • "commodityType": {
    },
  • "parentCommodityType": {
    },
  • "topLevelCommodityType": {
    },
  • "serviceTypes": [ ],
  • "referenceNumbers": [
    ],
  • "listingId": 675712978,
  • "title": "Boat motor parts",
  • "description": "",
  • "route": {
    },
  • "lister": {
    },
  • "items": [
    ],
  • "accessorials": [ ],
  • "totalWeightInGrams": {
    },
  • "links": [
    ]
}

Edits IHD listing by ID

Authorizations:
Bearer
path Parameters
id
required
integer
Example: 1

Required. ID of the listing to update

Request Body schema: application/json
required

Listing update model containing the fields to update

checksum
string

Checksum for concurrency control

title
string

Listing title

description
string

Listing description

object (RouteModel)

Container for route destinations and other route information

isAuction
boolean

Whether this listing is an auction

isDutchAuction
boolean

Whether this listing is a Dutch auction

object (PriceModel)

The details of a price and recommended formatting

object (PriceModel)

The details of a price and recommended formatting

items
Array of objects

Collection of listing items

Array of objects (EnumModel)

Service types for the listing

Array of objects (ReferenceNumber)

Reference numbers associated with the listing

object

Additional attributes for the listing

isItineraryMandatory
boolean

Whether itinerary is mandatory for this listing

importSource
string

The URI of a listing-like resource from which a listing might be created or updated

Responses

Request samples

Content type
application/json
{
  • "checksum": "string",
  • "title": "string",
  • "description": "string",
  • "route": {
    },
  • "isAuction": true,
  • "isDutchAuction": true,
  • "namedPrice": {
    },
  • "offerPrice": {
    },
  • "items": [
    ],
  • "serviceTypes": [
    ],
  • "referenceNumbers": [
    ],
  • "attributes": {
    },
  • "isItineraryMandatory": true,
  • "importSource": "string"
}

Delete IHD listing by ID

Authorizations:
None
path Parameters
listingId
required
integer
Example: 12345

Required. ID of the listing to delete

Responses

Bill of Lading

Get the preSigned url for bill of lading

Authorizations:
Bearer
path Parameters
id
required
string
Example: Example value

Required. id

header Parameters
Authorization
required
string
Example: Example value

Required. Required Authorization header containing access token

Responses

Response samples

Content type
application/json
{
  • "billOfLadingNumber": 0,
  • "document": {
    }
}