Create Users


Here are some use cases for why third parties would want to programmatically create new uShip users.

A non-registered user must create a uShip user in order to do the following:

  • create a listing as a Service Provider or a Shipping Customer
  • book a published rate as a Shipping Customer
  • place a bid on a listing as a Service Provider (Broker or Carrier)

The uShip API promotes a native application or system experience so that users don't have to go to a uShip application or website to complete the shipment transaction.

You can create two main types of user accounts through the API.

  • Service Provider - A role such as a carrier who provides shipping services.
  • Shipper - A shipping customer with something that needs to be transported.

 

Authentication
When making v2 requests, follow the password grant flow outlined in Authentication.
Request Header
The bearer access token string is required.

POST

https://api.uship.com/v2/users/

Create a new uShip user based on the user type.

Sample Request Body


Shipper

{ 
			"user": {
				"userType": "Shipper",
				"firstName": "FirstName", 
				"lastName": "LastName", 
				"emailAddress": "UserName@email.com", 
				"password": "string", 
				"companyName": "CompanyName", 
				"homePhone": "5123334444", 
				"mobilePhone": "(512)555-1234", 
				"primaryAddress": { 
					"streetAddress": "205 Brazos St.", 
					"alternateStreetAddress": "Building 1, Suite 500", 
					"majorMunicipality": "Austin", 
					"postalCode": "78701", 
					"latitude": 30.244144, 
					"longitude": -97.76286, 
					"country": "US" 
				} 
			},
			"userPreferences": {
                               "timeZone": "America/Chicago", 
                               "currency": "USD" 
                               }
		}

Service Provider

{ 
			"user": {
				"userType" : "ServiceProvider",
				"userName" : "UserName",
				"firstName": "FirstName", 
				"lastName": "LastName", 
				"emailAddress": "UserName@email.com", 
				"password": "string", 
				"homePhone": "5123334444", 
				"mobilePhone": "(512)-555-1234",
				"companyName": "CompanyName", 
				"primaryAddress": { 
					"streetAddress": "205 Brazos St.", 
					"alternateStreetAddress": "Building 3, Suite 500", 
					"majorMunicipality": "Austin", 
					"postalCode": "78701", 
					"latitude": 30.244144, 
					"longitude": -97.76286, 
					"country": "US" 
				}
			},
			"profile": {
				"entityType": "Carrier",
				"trailerTypes": [ "Reefer","AirRideVan" ],
				"commodities": [ "Pets", "Boats", "LTL" ],
				"regions": [ "NA-USA" ]
			},			
			"userPreferences": {
				 "timeZone": "America/Chicago", 
				 "currency": "USD" 
                                }
		}

Response

Success Status: 201 Created

API Reference


User Object

Field Type Description Sample Valid Values
userType
String Required. Specify the type of user.
  • "Shipper" - The customer seeking shipping services from the uShip platform.
  • "ServiceProvider" - The general term for brokers, carriers, and those parties carrying out the shipping services booked from the uShip platform.

"Shipper" or "ServiceProvider"

userName
String Optional for Shipper role. If null, uShip generates a username for you. "Jane S."
firstname
String Required. The first name of the user. "Jane"
lastName
String Required. The last name of the user. "Smith"
emailAddress
String Required. The user's email address. The email address must be unique and cannot exist in the system. If the email address already exists, the user creation will fail. "jane@acme.com"
password
String Required. The password for the user account. Follow these guideliness to create a valid password string. Must be between 6-20 characters and respects case sensitivity. -
companyname
String Optional. The user can specify the company association. "Acme Service Provider, LLC"
homePhone
String At least one phone number is required.

"(512) 555-1234"

mobilePhone
String At least one phone number is required. "(512) 555-1234"

Address Object

For detailed information about the fields in the Primary Address wrapper, see the Route Object reference.

Required Fields

  • streetAddress
  • postalCode
  • country

Service Provider Profile Object

This object is only required to create a new a service provider user.

Field Type Description Sample Valid Values
entityType
String Please contact us at api-support@uship.com if you wish to create a user other than a carrier. "Carrier"
trailerTypes
String Which trailer types does this Service Provider use? Retrieve a list of all valid trailer type values via GET https://api.uship.com/v2/lookups/trailerTypes/. Trailer types are dependent on the commodity type. "AutoCarrier", "DryVan", "Flatbed",  OnTrailer"
commodities
String Which categories does this Service Provider provide transport? Retrieve a list of all valid commodity values via GET https://api.uship.com/v2/lookups/commodities/. Use values from parent-level commodities.
regions
String Where does this Service Provider operate? Retrieve the list of regions supported by the API via GET https://api.uship.com/v2/lookups/regions/. The depths, parentValues, and hierarchy are explained in the Regions Lookup reference https://developer.uship.com/docs/apis/oauth/lookups/Regions.

 

User Preference Object

Field Type Description Sample Valid Values
timeZone
String The regional time zone account setting on the user's uShip site.
"America/Chicago"
currency
String The three-letter ISO 4217 currency code. Obtain a list of 3-letter ISO standard values currently supported by the uShip API via GET Currencies Lookup API https://api.uship.com/v2/lookups/currencies/. "USD"

 

What Can I Do Next?


Retrieve the user index via

GET https://apidev.uship.com/v2/