Create your first shipment

To create your first shipment through Shipwell's API, you need to know the required components to make a shipment tenderable.

Before You Begin

The examples on this page create a fake shipment with no real products or goods. All examples are written using the Shipwell Sandbox environment. Shipments created using these instructions do not include carrier assignments.

API endpoint

The following POST request is the basic form of the Shipment endpoint:
Shipment creation API endpoint
curlpythonjavascriptjava
Copy
Copied
curl --location --request POST 'https://sandbox-api.shipwell.com/v2/shipments/' \
--header 'Content-Type: application/json' \
--header 'Authorization: YOUR_AUTHORIZATION_HEADER'
--data-raw '{ SHIPMENT_DATA_JSON }'
Copy
Copied
import requests

base_path = "/v2"
host = "sandbox-api.shipwell.com"
target_url = (
    "https://"
    + host
    + base_path
    + "/shipments/"
)

headers = {
    "Authorization": "YOUR_AUTHORIZATION_HEADER",
    "Content-Type": "application/json",
}

payload = { }

response = requests.post(target_url, headers=headers, json=payload)
data = response.json()
print(data)
Copy
Copied
const payload = { };

const basePath = "/v2";
const hostPath = "sandbox-api.shipwell.com";
const targetUrl = `https://${hostPath}${basePath}/shipments/`;
const resp = await fetch(
  targetUrl,
  {
    method: "POST",
    headers: {
      "Authorization": "YOUR_AUTHORIZATION_HEADER",
      "Content-Type": "application/json"
    },
    body: JSON.stringify(payload)
  }
);

const data = await resp.json();
console.log(data);
Copy
Copied
import java.io.IOException;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

OkHttpClient client = new OkHttpClient();
String basePath = "/v2";
String host = "sandbox-api.shipwell.com";
String targetUrl = "https://" +
  host +
  base_path +
  "/shipments/";

String requestBody = "{}";

Request request = new Request.Builder()
  .url(targetUrl)
  .post(requestBody)
  .header("Authorization", "YOUR_AUTHORIZATION_HEADER")
  .header("Content-Type", "application/json")
  .build();

try (Response response = client.newCall(request).execute()) {
  if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
  response.body().string();
}
Tip
For code samples in another programming language, ask the Shipwell Developer Chat Bot to translate a code sample to the language of your choice. For example, you may ask the chatbot to "Translate this JavaScript code sample to X," where X is your desired programming language.:

Headers

The request utilizes both the Content-Type and Authorization headers. Set both to the following:
  • Content-Type: Set to application/json to ensure that the endpoint returns a JSON response
  • Authorization: Use your user token for the authorization header. To see how to find your user token, follow the instructions on the Authentication page.

x-company-id

While included in the default list of headers, x-company-id is not required to make a draft shipment. Although the Shipwell UI gives users the ability to change the customer associated with the shipment, the shipment API endpoint defaults to the company of the user creating the shipment. If you're using Postman to make API calls, uncheck x-company-id in the Headers tab.

Once you've entered your header variables, and gathered the data necessary to create a shipment, enter the data required using the syntax and options details in the next section.

Parts of shipments

The body of the shipment request is written using a similar syntax to the following examples. This section describes the individual pieces of the data body and outlines a few options within each to create your tenderable shipment.

Combine each piece into the payload of the request body before performing an HTTP POST for the API request. In the cURL examples, the --data-raw parameter will be the JSON data payload built up before posting the shipment creation API call.

Metadata

Metadata enables Shipwell to track shipments through the platform programmatically. By default, all new shipments are open: "true", indicating that the shipment has yet to be delivered. archived indicates whether or not a shipment is active and defaults to "false",.

Tags are unique identifiers used to group shipments together. While not required to make a shipment tenderable, they help categorize shipments for easy programmatic access.

Copy
Copied
   "metadata": {
       "open": true,
       "archived": false,
       "tags": []
   },

Mode

Indicates the type of transportation in which the shipment should be included by the carrier. Select one of the following:

  • FTL: Full Truckload
  • LTL: Less Than Truckload
  • VLTL: Volume Less Than Truckload
  • Drayage

For the id and codes for each mode type, see Mode.

Copy
Copied
   "mode": {
       "id": 1,
       "code": "FTL",
       "description": "Full Truckload"
   },

Equipment type

Equipment type describes what type of vehicle is needed to transport the shipment.

  • Dry Van
  • Reefer
  • Container
  • Autohauler
  • Bulk
  • Tanker
  • Curtain Side
Enter the name of the equipment type you wish to use the name parameter. So that endpoint understands the response when sharing your shipment with carriers, enter the same equipment type in the machine_readable parameter in the same syntax as the example below.
Copy
Copied
 "equipment_type": {
       "id": 1,
       "name": "Dry Van",
       "machine_readable": "DRY_VAN"
},

Service level

Service level ascribes how to look at the products in a shipment by the speed in which transportation must be given.

For the id and codes for each service level, see Service Level.

Copy
Copied
 "service_level": {
    "code": "STD",
    "id": "19"
   },

Stops

Stops tell the carrier where to pick up and drop off each shipment. original_index determines the order in which locations in a stop are categorized, starting from 0.For a shipment to be tenderable, all shipments require at least one pickup destination and one dropoff destination, ascribed by the is_pickup and is_dropoff parameters. The location parameter tells the API the address and points of contact of each stop. Each location requires a location_name and an address. location_type tells the API what type of location the stop is, whether it's a business or a trade show. This is defined by the Business Type ids. point_of_contact indicated the contact person for each location, including contact information. Each contact includes contact preferences, which indicate when the contact wants to be updated in regard to shipment updates, set to either true or false. The example contains some commonly used preferences. planned_date, planned_time_window_end, and planned_time_window_start tell each carrier the data, start time, and end time that a shipment can be picked up or dropped off. The date uses a YYYY-MM-DD format, and time follows a typical UTC format hh:mm:ss. Remember to give a date and time in the future. Otherwise, the API call will return an Invalid Input error.
jsonjson
Copy
Copied
 "stops": [ 
    {
        "ordinal_index": 0,
        "is_pickup": true,
        "location": {
            "location_name": "Pickup Company",
            "address": {
               "address_1": "515 Congress Ave",
               "city": "Austin",
               "state_province": "TX",
               "postal_code": "78701",
               "country": "US"
               },     
           "location_type": {
                   "id": "1",
                   "name": "Business (with dock or forklift)"
               },
           "point_of_contacts": [
                   {
                       "preferences": {
                            "cancellation": false,
                            "delayed": false,
                            "delivered": false,
                            "eta_changed": false
                       },      
                       "email": "nathaniel.archer@shipwell.com",
                       "first_name": "Nathaniel",
                       "last_name": "Archer",
                       "phone_number": "5122335667" 
                   }
               ]
           },
       "planned_date": "2020-12-24",
       "planned_time_window_end": "10:00:00",
       "planned_time_window_start": "08:00:00"
       },
       {
           "ordinal_index": 1,
           "is_dropoff": true,
           "location": {
               "location_name": "Dropoff Company",
               "address": {
                   "address_1": "5100 Congress Ave",
                   "city": "Austin",
                   "state_province": "TX",
                   "postal_code": "78701",
                   "country": "US"
               },
               "location_type": {
                   "id": "1",
                   "name": "Business (with dock or forklift)"
               },
               "point_of_contacts": [
                   {
                       "preferences": {
                            "cancellation": false,
                            "delayed": false,
                            "delivered": false,
                            "eta_changed": false
                       },      
                       "email": "nathaniel.archer3@shipwell.com",
                       "first_name": "Nathaniel",
                       "last_name": "Archer",
                       "phone_number": "5122335668" 
                   }
               ]
           },
           "planned_date": "2020-12-25",
           "planned_time_window_end": "10:00:00",
           "planned_time_window_start": "08:00:00"
       }
     ],  
Copy
Copied
"line_items": {
   "description": "Paper Clips",
   "total_packages": "10",
   "package_weight": "6890",
   "weight_unit": "LB"
},

Line items and products

The last required piece to make a shipment tenderable are the line items, or products, contained in each shipment. Each line item requires the following information:

  • description: A description of the product of line item
  • total_packages: The number of packages the line item is packed into
  • package_weight: The weigh of the package
  • weight_unit: The unit of measurement used to weigh the package. Supported units at LB and KG.
Copy
Copied
"line_items": {
   "description": "Paper Clips",
   "total_packages": "10",
   "package_weight": "6890",
   "weight_unit": "LB"
},

Example shipment request

The following is an example shipment POST request, using the minimum required parts of shipment. There are additional properties for shipments, but the following is the basic required data to create a shipment.
Example request
curlpythonjavascriptjava
Copy
Copied
curl --location --request POST 'https://sandbox-api.shipwell.com/v2/shipments/' \
--header 'Content-Type: application/json' \
--header 'Authorization: YOUR_AUTHORIZATION_HEADER' \
--data-raw '{
 "metadata": {
   "open": true,
   "archived": false,
    "tags": []
   },
 "mode": {
   "id": 1,
   "code": "FTL",
   "description": "Full Truckload"
   },
 "equipment_type": {
    "id": 1,
    "name": "Dry Van",
    "machine_readable": "DRY_VAN"
},
 "service_level": {
    "code": "STD",
    "id": "19"
 },
 "stops": [ 
    {
        "ordinal_index": 0,
        "is_pickup": true,
        "location": {
            "location_name": "Pickup Company",
            "address": {
               "address_1": "515 Congress Ave",
               "city": "Austin",
               "state_province": "TX",
               "postal_code": "78701",
               "country": "US"
               },     
           "location_type": {
                   "id": "1",
                   "name": "Business (with dock or forklift)"
               },
           "point_of_contacts": [
                   {
                       "preferences": {
                            "cancellation": false,
                            "delayed": false,
                            "delivered": false,
                            "eta_changed": false
                       },      
                       "email": "nathaniel.archer@shipwell.com",
                       "first_name": "Nathaniel",
                       "last_name": "Archer",
                       "phone_number": "5122335667" 
                   }
               ]
           },
       "planned_date": "2020-12-24",
       "planned_time_window_end": "10:00:00",
       "planned_time_window_start": "08:00:00"
       },
       {
           "ordinal_index": 1,
           "is_dropoff": true,
           "location": {
               "location_name": "Dropoff Company",
               "address": {
                   "address_1": "5100 Congress Ave",
                   "city": "Austin",
                   "state_province": "TX",
                   "postal_code": "78701",
                   "country": "US"
               },
               "location_type": {
                   "id": "1",
                   "name": "Business (with dock or forklift)"
               },
               "point_of_contacts": [
                   {
                       "preferences": {
                            "cancellation": false,
                            "delayed": false,
                            "delivered": false,
                            "eta_changed": false
                       },      
                       "email": "nathaniel.archer3@shipwell.com",
                       "first_name": "Nathaniel",
                       "last_name": "Archer",
                       "phone_number": "5122335668"
                   }
               ]
           },
           "planned_date": "2020-12-25",
           "planned_time_window_end": "10:00:00",
           "planned_time_window_start": "08:00:00"
       }
     ],
     "line_items": [
       {
        "description": "Paper Clips",
        "total_packages": "10",
        "package_weight": "6890",
        "weight_unit": "LB"
       }
     ]
}'
Copy
Copied
import requests

base_path = "/v2"
host = "sandbox-api.shipwell.com"
target_url = (
    "https://"
    + host
    + base_path
    + "/shipments/"
)

headers = {
    "Authorization": "YOUR_AUTHORIZATION_HEADER",
    "Content-Type": "application/json",
}

payload = {
   "metadata": {
      "open": True,
      "archived": False,
      "tags": [

      ]
   },
   "mode": {
      "id": 1,
      "code": "FTL",
      "description": "Full Truckload"
   },
   "equipment_type": {
      "id": 1,
      "name": "Dry Van",
      "machine_readable": "DRY_VAN"
   },
   "service_level": {
      "code": "STD",
      "id": "19"
   },
   "stops": [
      {
         "ordinal_index": 0,
         "is_pickup": True,
         "location": {
            "location_name": "Pickup Company",
            "address": {
               "address_1": "515 Congress Ave",
               "city": "Austin",
               "state_province": "TX",
               "postal_code": "78701",
               "country": "US"
            },
            "location_type": {
               "id": "1",
               "name": "Business (with dock or forklift)"
            },
            "point_of_contacts": [
               {
                  "preferences": {
                     "cancellation": True,
                     "delayed": False ,
                     "delivered": False,
                     "eta_changed": False
                  },
                  "email": "nathaniel.archer@shipwell.com",
                  "first_name": "Nathaniel",
                  "last_name": "Archer",
                  "phone_number": "5122335667"
               }
            ]
         },
         "planned_date": "2020-12-24",
         "planned_time_window_end": "10: 00: 00",
         "planned_time_window_start": "08: 00: 00"
      },
      {
         "ordinal_index": 1,
         "is_dropoff": True,
         "location": {
            "location_name": "Dropoff Company",
            "address": {
               "address_1": "5100 Congress Ave",
               "city": "Austin",
               "state_province": "TX",
               "postal_code": "78701",
               "country": "US"
            },
            "location_type": {
               "id": "1",
               "name": "Business (with dock or forklift)"
            },
            "point_of_contacts": [
               {
                  "preferences": {
                     "cancellation": False,
                     "delayed": False,
                     "delivered": False,
                     "eta_changed": False
                  },
                  "email": "nathaniel.archer3@shipwell.com",
                  "first_name": "Nathaniel",
                  "last_name": "Archer",
                  "phone_number": "5122335668"
               }
            ]
         },
         "planned_date": "2020-12-25",
         "planned_time_window_end": "10: 00: 00",
         "planned_time_window_start": "08: 00: 00"
      }
   ],
   "line_items": [
      {
         "description": "Paper Clips",
         "total_packages": "10",
         "package_weight": "6890",
         "weight_unit": "LB"
      }
   ]
}

response = requests.post(target_url, headers=headers, json=payload)
data = response.json()
print(data)
Copy
Copied
const payload = {
 "metadata": {
   "open": true,
   "archived": false,
    "tags": []
   },
 "mode": {
   "id": 1,
   "code": "FTL",
   "description": "Full Truckload"
   },
 "equipment_type": {
    "id": 1,
    "name": "Dry Van",
    "machine_readable": "DRY_VAN"
},
 "service_level": {
    "code": "STD",
    "id": "19"
 },
 "stops": [
    {
        "ordinal_index": 0,
        "is_pickup": true,
        "location": {
            "location_name": "Pickup Company",
            "address": {
               "address_1": "515 Congress Ave",
               "city": "Austin",
               "state_province": "TX",
               "postal_code": "78701",
               "country": "US"
               },
           "location_type": {
                   "id": "1",
                   "name": "Business (with dock or forklift)"
               },
           "point_of_contacts": [
                   {
                       "preferences": {
                            "cancellation": false,
                            "delayed": false,
                            "delivered": false,
                            "eta_changed": false
                       },
                       "email": "nathaniel.archer@shipwell.com",
                       "first_name": "Nathaniel",
                       "last_name": "Archer",
                       "phone_number": "5122335667"
                   }
               ]
           },
       "planned_date": "2020-12-24",
       "planned_time_window_end": "10:00:00",
       "planned_time_window_start": "08:00:00"
       },
       {
           "ordinal_index": 1,
           "is_dropoff": true,
           "location": {
               "location_name": "Dropoff Company",
               "address": {
                   "address_1": "5100 Congress Ave",
                   "city": "Austin",
                   "state_province": "TX",
                   "postal_code": "78701",
                   "country": "US"
               },
               "location_type": {
                   "id": "1",
                   "name": "Business (with dock or forklift)"
               },
               "point_of_contacts": [
                   {
                       "preferences": {
                            "cancellation": false,
                            "delayed": false,
                            "delivered": false,
                            "eta_changed": false
                       },
                       "email": "nathaniel.archer3@shipwell.com",
                       "first_name": "Nathaniel",
                       "last_name": "Archer",
                       "phone_number": "5122335668"
                   }
               ]
           },
           "planned_date": "2020-12-25",
           "planned_time_window_end": "10:00:00",
           "planned_time_window_start": "08:00:00"
       }
     ],
     "line_items": [
       {
        "description": "Paper Clips",
        "total_packages": "10",
        "package_weight": "6890",
        "weight_unit": "LB"
       }
     ]
};

const basePath = "/v2";
const hostPath = "sandbox-api.shipwell.com";
const targetUrl = `https://${hostPath}${basePath}/shipments/`;
const resp = await fetch(
  targetUrl,
  {
    method: "POST",
    headers: {
      "Authorization": "YOUR_AUTHORIZATION_HEADER",
      "Content-Type": "application/json"
    },
    body: JSON.stringify(payload)
  }
);

const data = await resp.json();
console.log(data);
Copy
Copied
import java.io.IOException;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

OkHttpClient client = new OkHttpClient();
String basePath = "/v2";
String host = "sandbox-api.shipwell.com";
String targetUrl = "https://" +
  host +
  base_path +
  "/shipments/";

String requestBody = "{\n \"metadata\": {\n \"open\": true,\n \"archived\": false,\n \"tags\": []\n },\n \"mode\": {\n \"id\": 1,\n \"code\": \"FTL\",\n \"description\": \"Full Truckload\"\n },\n \"equipment_type\": {\n \"id\": 1,\n \"name\": \"Dry Van\",\n \"machine_readable\": \"DRY_VAN\"\n},\n \"service_level\": {\n \"code\": \"STD\",\n \"id\": \"19\"\n },\n \"stops\": [\n {\n \"ordinal_index\": 0,\n \"is_pickup\": true,\n \"location\": {\n \"location_name\": \"Pickup Company\",\n \"address\": {\n \"address_1\": \"515 Congress Ave\",\n \"city\": \"Austin\",\n \"state_province\": \"TX\",\n \"postal_code\": \"78701\",\n \"country\": \"US\"\n },\n \"location_type\": {\n  \"id\": \"1\",\n  \"name\": \"Business (with dock or forklift)\"\n },\n \"point_of_contacts\": [\n  {\n  \"preferences\": {\n  \"cancellation\": false,\n  \"delayed\": false,\n  \"delivered\": false,\n  \"eta_changed\": false\n  },\n  \"email\": \"nathaniel.archer@shipwell.com\",\n  \"first_name\": \"Nathaniel\",\n  \"last_name\": \"Archer\",\n  \"phone_number\": \"5122335667\"\n  }\n ]\n },\n \"planned_date\": \"2020-12-24\",\n \"planned_time_window_end\": \"10:00:00\",\n \"planned_time_window_start\": \"08:00:00\"\n },\n {\n \"ordinal_index\": 1,\n \"is_dropoff\": true,\n \"location\": {\n \"location_name\": \"Dropoff Company\",\n \"address\": {\n  \"address_1\": \"5100 Congress Ave\",\n  \"city\": \"Austin\",\n  \"state_province\": \"TX\",\n  \"postal_code\": \"78701\",\n  \"country\": \"US\"\n },\n \"location_type\": {\n  \"id\": \"1\",\n  \"name\": \"Business (with dock or forklift)\"\n },\n \"point_of_contacts\": [\n  {\n  \"preferences\": {\n  \"cancellation\": false,\n  \"delayed\": false,\n  \"delivered\": false,\n  \"eta_changed\": false\n  },\n  \"email\": \"nathaniel.archer3@shipwell.com\",\n  \"first_name\": \"Nathaniel\",\n  \"last_name\": \"Archer\",\n  \"phone_number\": \"5122335668\"\n  }\n ]\n },\n \"planned_date\": \"2020-12-25\",\n \"planned_time_window_end\": \"10:00:00\",\n \"planned_time_window_start\": \"08:00:00\"\n }\n ],\n \"line_items\": [\n {\n \"description\": \"Paper Clips\",\n \"total_packages\": \"10\",\n \"package_weight\": \"6890\",\n \"weight_unit\": \"LB\"\n }\n ]\n}";

Request request = new Request.Builder()
  .url(targetUrl)
  .post(requestBody)
  .header("Authorization", "YOUR_AUTHORIZATION_HEADER")
  .header("Content-Type", "application/json")
  .build();

try (Response response = client.newCall(request).execute()) {
  if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
  response.body().string();
}

Shipment response

After sending the request, the shipment endpoint should respond with a JSON package similar to the following. Notice how each value not indicated by the POST request contains a null value. These parameters are either irrelevant to the shipment you created or will change as the shipment is tendered and continues its way through the Shipment lifecycle.
Copy
Copied
{
    "id": "caaad729-4b6f-49bf-8f93-b9f3de73b6e8",
    "auction_stats": {
        "negotiations": 0,
        "quotes": 0,
        "declined_quotes": 0,
        "messages": 0,
        "most_recent_quote_created_at": null,
        "visible_companies": 0,
        "lowest_bid": null
    },
    "current_carrier": null,
    "customer": {
        "id": "6c6d1cef-580d-472d-9458-c03d84ea4bd1",
        "name": "Shipwell Sandbox",
        "dba_name": null,
        "is_shipwell": false,
        "created_at": "2020-02-21T00:31:36.935076Z",
        "updated_at": "2020-03-19T18:10:22.812172Z",
        "brokerage": "11aadf34-c2a2-4b26-9032-2ab8e4c068e7",
        "shipper": null,
        "carrier": null,
        "primary_email": "kenny+test@shipwell.com",
        "billing_email": "greg+sandbox@shipwell.com",
        "billing_emails": null
    },
    "documents_count": 0,
    "equipment_type": {
        "id": 1,
        "name": "Dry Van",
        "machine_readable": "DRY_VAN"
    },
    "external_tracking_link": "https://sandbox.shipwell.com/tracking/caaad729-4b6f-49bf-8f93-b9f3de73b6e8/?key=ORaW7Q3ZsonlBBEIRM3zTOgWeYtmAhsm",
    "line_items": [
        {
            "id": "27d186cf-2ffa-4d6f-96ce-e20848ae1eca",
            "formatted_description": "68,900 lb (31,252.51429 kg), Paper Clips",
            "insured_value": null,
            "value_per_piece": null,
            "deleted_at": null,
            "created_at": "2020-08-26T17:07:24.503043Z",
            "updated_at": "2020-08-26T17:07:24.503915Z",
            "custom_data": null,
            "piece_type": null,
            "package_type": null,
            "freight_class": null,
            "provider_specific_packaging": null,
            "nmfc_item_code": null,
            "nmfc_sub_code": null,
            "stackable": false,
            "hazmat_hazard_class": null,
            "hazmat_identification_number": null,
            "hazmat_proper_shipping_name": null,
            "hazmat_packing_group": null,
            "height": null,
            "length": null,
            "width": null,
            "length_unit": "IN",
            "value_per_piece_currency": "USD",
            "package_weight": 6890.0,
            "weight_unit": "LB",
            "refrigeration_required": false,
            "refrigeration_min_temp": null,
            "refrigeration_max_temp": null,
            "temp_unit": "F",
            "country_of_manufacture": null,
            "product_ref": null,
            "description": "Paper Clips",
            "total_packages": 10,
            "total_pieces": null,
            "insured_value_currency": "USD",
            "dry_ice_weight": null,
            "dry_ice_weight_unit": "LB",
            "purchase_order": null
        }
    ],
    "markup": null,
    "metadata": {
        "open": true,
        "archived": false,
        "tags": [],
        "alert_level": null,
        "alert_message": null,
        "automation_enabled": false,
        "max_buy_amount": null,
        "max_buy_amount_currency": "USD",
        "bill_to_override": null,
        "load_board_enabled": false,
        "buy_it_now_amount": null,
        "buy_it_now_amount_currency": "USD",
        "load_board_id": "LIDPMGQC7",
        "has_open_auction": false,
        "pending_tender_acceptance": false,
        "custom_reference_values": [
            {
                "id": "f1de337b-75fc-4156-839f-ddc5bf517049",
                "value": null,
                "custom_reference": "0190f928-9b6a-4553-a50c-3633376a3bb3",
                "custom_reference_name": "Priority"
            }
        ]
    },
    "mode": {
        "id": 1,
        "code": "FTL",
        "description": "Full Truckload"
    },
    "next_planned_stop_id": "d4a02943-8c1a-4ffd-9397-cc5bda2825bc",
    "notes_count": 0,
    "parcel_pickup_status": null,
    "service_level": {
        "id": 19,
        "code": "STD",
        "description": "Standard Service"
    },
    "state": "draft",
    "stops": [
        {
            "id": "d4a02943-8c1a-4ffd-9397-cc5bda2825bc",
            "location": {
                "id": "49338b99-04c8-4aad-af25-3fa839ac9711",
                "point_of_contacts": [
                    {
                        "id": "a0a2c12c-788b-4cda-8e88-cee8c1078001",
                        "full_name": "Nathaniel Archer",
                        "preferences": {
                            "cancellation": false,
                            "delayed": false,
                            "delivered": false,
                            "eta_changed": false,
                            "picked_up": false,
                            "receive_bol_on_shipment_booked": false,
                            "shipment_booked": false
                        },
                        "created_at": "2020-08-26T17:07:23.858262Z",
                        "updated_at": "2020-08-26T17:07:23.859233Z",
                        "first_name": "Nathaniel",
                        "last_name": "Archer",
                        "job_title": null,
                        "phone_number": "+15122335667",
                        "email": "nathaniel.archer@shipwell.com"
                    }
                ],
                "address": {
                    "id": "475556e2-3a4e-48bb-98bc-ee1b87a822ea",
                    "formatted_address": "515 Congress Ave, Austin, TX 78701, US",
                    "created_at": "2020-08-26T17:07:23.248985Z",
                    "updated_at": "2020-08-26T17:07:23.849520Z",
                    "address_1": "515 Congress Ave",
                    "address_2": null,
                    "city": "Austin",
                    "state_province": "TX",
                    "postal_code": "78701",
                    "country": "US",
                    "phone_number": null,
                    "timezone": "America/Chicago",
                    "latitude": 30.2677416,
                    "longitude": -97.7426039
                },
                "location_type": {
                    "id": 1,
                    "name": "Business (with dock or forklift)"
                },
                "identification_code": null,
                "created_at": "2020-08-26T17:07:23.851322Z",
                "updated_at": "2020-08-26T17:07:23.852220Z",
                "custom_data": null,
                "location_name": "Pickup Company",
                "company_name": null,
                "dock_hours_start": null,
                "dock_hours_end": null,
                "dock_external_id": null,
                "notes": null
            },
            "accessorials": [],
            "appointment_type": null,
            "carrier_specified_eta": {
                "created_at": "2020-08-26T17:07:23.861044Z",
                "updated_at": "2020-08-26T17:07:23.862154Z",
                "initial_window_start": null,
                "initial_window_end": null,
                "running_window_start": null,
                "running_window_end": null,
                "overridden_initial_window_start": null,
                "overridden_initial_window_end": null
            },
            "predictive_model_eta": {
                "created_at": "2020-08-26T17:07:23.864032Z",
                "updated_at": "2020-08-26T17:07:23.865235Z",
                "initial_window_start": null,
                "initial_window_end": null,
                "running_window_start": null,
                "running_window_end": null,
                "overridden_initial_window_start": null,
                "overridden_initial_window_end": null
            },
            "display_eta_window": "Thu Dec 24, 08:00-10:00 CST",
            "display_planned_window": "Thu Dec 24, 08:00-10:00 CST",
            "display_schedule": "Thu Dec 24 between 08:00-10:00 CST",
            "created_at": "2020-08-26T17:07:23.860579Z",
            "updated_at": "2020-08-26T17:07:23.868389Z",
            "planned_date": "2020-12-24",
            "planned_time_window_start": "08:00:00",
            "planned_time_window_end": "10:00:00",
            "confirmed_arrival_at": null,
            "confirmed_departure_at": null,
            "unconfirmed_arrival_at": null,
            "unconfirmed_departure_at": null,
            "ordinal_index": 0,
            "is_pickup": true,
            "is_dropoff": false,
            "on_time": null,
            "exclude_on_time": true,
            "on_time_exclusion_reason": null,
            "instructions": null,
            "internal_notes": null,
            "driver_pickup_confirmation_initial_job_id": null,
            "driver_pickup_confirmation_no_response_job_id": null,
            "driver_stop_completion_initial_job_id": null,
            "driver_stop_completion_second_job_id": null,
            "driver_stop_completion_no_response_job_id": null,
            "driver_stop_completion_enter_no_exit_geofence_job_id": null,
            "driver_stop_completion_never_enter_geofence_job_id": null,
            "status": null,
            "status_reason_code": null,
            "eta_overridden_by": null
        },
        {
            "id": "d08718c4-77b4-43c7-8075-c62c317b4716",
            "location": {
                "id": "95f96beb-5a44-43e9-a7ba-47dea6dfeb54",
                "point_of_contacts": [
                    {
                        "id": "1ddb1055-d7b2-4745-8e28-27152d26240f",
                        "full_name": "Nathaniel Archer",
                        "preferences": {
                            "cancellation": false,
                            "delayed": false,
                            "delivered": false,
                            "eta_changed": false,
                            "picked_up": false,
                            "receive_bol_on_shipment_booked": false,
                            "shipment_booked": false
                        },
                        "created_at": "2020-08-26T17:07:24.406975Z",
                        "updated_at": "2020-08-26T17:07:24.408488Z",
                        "first_name": "Nathaniel",
                        "last_name": "Archer",
                        "job_title": null,
                        "phone_number": "+15122335668",
                        "email": "nathaniel.archer3@shipwell.com"
                    }
                ],
                "address": {
                    "id": "255ad837-77f0-4cd0-8992-8e65f4168620",
                    "formatted_address": "5100 Congress Ave, Austin, TX 78701, US",
                    "created_at": "2020-08-26T17:07:23.970160Z",
                    "updated_at": "2020-08-26T17:07:24.393264Z",
                    "address_1": "5100 Congress Ave",
                    "address_2": null,
                    "city": "Austin",
                    "state_province": "TX",
                    "postal_code": "78701",
                    "country": "US",
                    "phone_number": null,
                    "timezone": "America/Chicago",
                    "latitude": 30.2718005,
                    "longitude": -97.7414332
                },
                "location_type": {
                    "id": 1,
                    "name": "Business (with dock or forklift)"
                },
                "identification_code": null,
                "created_at": "2020-08-26T17:07:24.395323Z",
                "updated_at": "2020-08-26T17:07:24.396763Z",
                "custom_data": null,
                "location_name": "Dropoff Company",
                "company_name": null,
                "dock_hours_start": null,
                "dock_hours_end": null,
                "dock_external_id": null,
                "notes": null
            },
            "accessorials": [],
            "appointment_type": null,
            "carrier_specified_eta": {
                "created_at": "2020-08-26T17:07:24.410819Z",
                "updated_at": "2020-08-26T17:07:24.412472Z",
                "initial_window_start": null,
                "initial_window_end": null,
                "running_window_start": null,
                "running_window_end": null,
                "overridden_initial_window_start": null,
                "overridden_initial_window_end": null
            },
            "predictive_model_eta": {
                "created_at": "2020-08-26T17:07:24.415313Z",
                "updated_at": "2020-08-26T17:07:24.416991Z",
                "initial_window_start": null,
                "initial_window_end": null,
                "running_window_start": null,
                "running_window_end": null,
                "overridden_initial_window_start": null,
                "overridden_initial_window_end": null
            },
            "display_eta_window": "Fri Dec 25, 08:00-10:00 CST",
            "display_planned_window": "Fri Dec 25, 08:00-10:00 CST",
            "display_schedule": "Fri Dec 25 between 08:00-10:00 CST",
            "created_at": "2020-08-26T17:07:24.410213Z",
            "updated_at": "2020-08-26T17:07:24.421664Z",
            "planned_date": "2020-12-25",
            "planned_time_window_start": "08:00:00",
            "planned_time_window_end": "10:00:00",
            "confirmed_arrival_at": null,
            "confirmed_departure_at": null,
            "unconfirmed_arrival_at": null,
            "unconfirmed_departure_at": null,
            "ordinal_index": 1,
            "is_pickup": false,
            "is_dropoff": true,
            "on_time": null,
            "exclude_on_time": true,
            "on_time_exclusion_reason": null,
            "instructions": null,
            "internal_notes": null,
            "driver_pickup_confirmation_initial_job_id": null,
            "driver_pickup_confirmation_no_response_job_id": null,
            "driver_stop_completion_initial_job_id": null,
            "driver_stop_completion_second_job_id": null,
            "driver_stop_completion_no_response_job_id": null,
            "driver_stop_completion_enter_no_exit_geofence_job_id": null,
            "driver_stop_completion_never_enter_geofence_job_id": null,
            "status": null,
            "status_reason_code": null,
            "eta_overridden_by": null
        }
    ],
    "timeline_last_updated_at": null,
    "total_miles": null,
    "total_weight_override": {
        "value": null,
        "unit": "LB"
    },
    "shipment_pickup": null,
    "fedex_specific_options": null,
    "ups_specific_options": null,
    "usps_specific_options": null,
    "current_address": {
        "id": "c953cd68-8613-480a-879d-dbdac9d3b820",
        "created_at": "2020-08-26T17:07:25.491949Z",
        "updated_at": "2020-08-26T17:07:25.493557Z",
        "address_1": null,
        "address_2": null,
        "city": null,
        "state_province": null,
        "postal_code": null,
        "country": "",
        "phone_number": null,
        "timezone": null,
        "latitude": null,
        "longitude": null,
        "reported_at": null,
        "shipment": "caaad729-4b6f-49bf-8f93-b9f3de73b6e8"
    },
    "relationship_to_customer": {
        "id": "35d574cf-1f2d-405c-bc9b-97959aa12a05",
        "created_at": "2020-08-26T17:07:24.852699Z",
        "vendor": {
            "id": "6c6d1cef-580d-472d-9458-c03d84ea4bd1",
            "name": "Shipwell Sandbox",
            "dba_name": null,
            "primary_phone_number": "+12345678901",
            "primary_email": "kenny+test@shipwell.com",
            "mailing_address": {
                "id": "cb32702e-85fc-4073-afdd-ffeae16995b6",
                "address_1": "515 Congress Ave",
                "address_2": "Unit 2650",
                "city": "Austin",
                "state_province": "TX",
                "postal_code": "78701",
                "country": "US",
                "phone_number": null,
                "latitude": 30.2677416,
                "longitude": -97.7426039,
                "timezone": "America/Chicago",
                "formatted_address": "515 Congress Ave Unit 2650, Austin, TX 78701, US",
                "created_at": "2020-03-19T15:09:13.901434Z",
                "updated_at": "2020-03-19T18:10:22.770122Z"
            },
            "billing_address": {
                "id": "e8b486bb-9f6f-49b5-a9a2-bb8d68db8e36",
                "address_1": "515 Congress Ave",
                "address_2": "Unit 2650",
                "city": "Austin",
                "state_province": "TX",
                "postal_code": "78701",
                "country": "US",
                "phone_number": null,
                "latitude": 30.2677416,
                "longitude": -97.7426039,
                "timezone": "America/Chicago",
                "formatted_address": "515 Congress Ave Unit 2650, Austin, TX 78701, US",
                "created_at": "2020-03-19T15:09:13.906869Z",
                "updated_at": "2020-03-19T18:10:22.778053Z"
            },
            "identifying_codes": [
                {
                    "id": "04ee2ebd-0dcd-4083-853d-e082e51b7d4f",
                    "type": "USDOT",
                    "value": "123351",
                    "created_at": "2020-03-19T18:10:22.796772Z",
                    "updated_at": "2020-03-19T18:10:22.797273Z"
                },
                {
                    "id": "23d61cb1-af0e-449d-a16d-6deec1a83900",
                    "type": "SCAC",
                    "value": "BEST1",
                    "created_at": "2020-03-19T18:10:22.806397Z",
                    "updated_at": "2020-03-19T18:10:22.806831Z"
                }
            ],
            "created_at": "2020-02-21T00:31:36.935076Z",
            "updated_at": "2020-03-19T18:10:22.812172Z",
            "brokerage": {
                "id": "11aadf34-c2a2-4b26-9032-2ab8e4c068e7",
                "dba_name": null,
                "primary_phone_number": null,
                "primary_email": null,
                "mailing_address": null,
                "billing_address": null,
                "created_at": "2020-02-21T00:31:36.955969Z",
                "updated_at": "2020-03-19T18:10:22.785555Z",
                "is_3pl": false
            },
            "shipper": null,
            "carrier": null,
            "feature_flags": {
                "company": "6c6d1cef-580d-472d-9458-c03d84ea4bd1",
                "datadocks_enabled": false,
                "can_book_manual_shipments": true,
                "can_initiate_mobile_ping_tracking": false,
                "can_override_bill_to_for_automated_ltl": false,
                "purchase_orders_enabled": true,
                "analytics_enabled": false,
                "uses_3pl_quoting_flow": true,
                "carrier_prioritization_enabled": false,
                "invoicing_enabled": false,
                "load_board_enabled": true,
                "show_load_board": true,
                "credit_limit_enabled": true,
                "integrations_enabled": false,
                "fedex_enabled": false,
                "ftl_instant_rates_enabled": false,
                "supplier_invites_enabled": true,
                "triumph_pay_enabled": false,
                "ups_enabled": false,
                "freightwaves_driver_texts_enabled": false,
                "new_dashboard_enabled": true,
                "contracts_enabled": true,
                "usps_enabled": false,
                "historical_pricing_enabled": true,
                "policies_enabled": true,
                "rmis_enabled": false,
                "send_shipwell_network_enabled": true,
                "bid_manager_enabled": false,
                "ch_robinson_enabled": false,
                "edi_invoicing_enabled": false,
                "netsuite_enabled": false,
                "stop_status_enabled": false
            },
            "billing_email": "greg+sandbox@shipwell.com",
            "billing_emails": null,
            "insurance_expires_at": null,
            "insurance_validated_at": null,
            "insurance_policy_number": null,
            "insurance_provider_name": null,
            "insurance_provider_phone": null,
            "is_shipwell": false,
            "custom_data": null
        },
        "customer": {
            "id": "6c6d1cef-580d-472d-9458-c03d84ea4bd1",
            "name": "Shipwell Sandbox",
            "dba_name": null,
            "primary_phone_number": "+12345678901",
            "primary_email": "kenny+test@shipwell.com",
            "mailing_address": {
                "id": "cb32702e-85fc-4073-afdd-ffeae16995b6",
                "address_1": "515 Congress Ave",
                "address_2": "Unit 2650",
                "city": "Austin",
                "state_province": "TX",
                "postal_code": "78701",
                "country": "US",
                "phone_number": null,
                "latitude": 30.2677416,
                "longitude": -97.7426039,
                "timezone": "America/Chicago",
                "formatted_address": "515 Congress Ave Unit 2650, Austin, TX 78701, US",
                "created_at": "2020-03-19T15:09:13.901434Z",
                "updated_at": "2020-03-19T18:10:22.770122Z"
            },
            "billing_address": {
                "id": "e8b486bb-9f6f-49b5-a9a2-bb8d68db8e36",
                "address_1": "515 Congress Ave",
                "address_2": "Unit 2650",
                "city": "Austin",
                "state_province": "TX",
                "postal_code": "78701",
                "country": "US",
                "phone_number": null,
                "latitude": 30.2677416,
                "longitude": -97.7426039,
                "timezone": "America/Chicago",
                "formatted_address": "515 Congress Ave Unit 2650, Austin, TX 78701, US",
                "created_at": "2020-03-19T15:09:13.906869Z",
                "updated_at": "2020-03-19T18:10:22.778053Z"
            },
            "identifying_codes": [
                {
                    "id": "04ee2ebd-0dcd-4083-853d-e082e51b7d4f",
                    "type": "USDOT",
                    "value": "123351",
                    "created_at": "2020-03-19T18:10:22.796772Z",
                    "updated_at": "2020-03-19T18:10:22.797273Z"
                },
                {
                    "id": "23d61cb1-af0e-449d-a16d-6deec1a83900",
                    "type": "SCAC",
                    "value": "BEST1",
                    "created_at": "2020-03-19T18:10:22.806397Z",
                    "updated_at": "2020-03-19T18:10:22.806831Z"
                }
            ],
            "created_at": "2020-02-21T00:31:36.935076Z",
            "updated_at": "2020-03-19T18:10:22.812172Z",
            "brokerage": {
                "id": "11aadf34-c2a2-4b26-9032-2ab8e4c068e7",
                "dba_name": null,
                "primary_phone_number": null,
                "primary_email": null,
                "mailing_address": null,
                "billing_address": null,
                "created_at": "2020-02-21T00:31:36.955969Z",
                "updated_at": "2020-03-19T18:10:22.785555Z",
                "is_3pl": false
            },
            "shipper": null,
            "carrier": null,
            "feature_flags": {
                "company": "6c6d1cef-580d-472d-9458-c03d84ea4bd1",
                "datadocks_enabled": false,
                "can_book_manual_shipments": true,
                "can_initiate_mobile_ping_tracking": false,
                "can_override_bill_to_for_automated_ltl": false,
                "purchase_orders_enabled": true,
                "analytics_enabled": false,
                "uses_3pl_quoting_flow": true,
                "carrier_prioritization_enabled": false,
                "invoicing_enabled": false,
                "load_board_enabled": true,
                "show_load_board": true,
                "credit_limit_enabled": true,
                "integrations_enabled": false,
                "fedex_enabled": false,
                "ftl_instant_rates_enabled": false,
                "supplier_invites_enabled": true,
                "triumph_pay_enabled": false,
                "ups_enabled": false,
                "freightwaves_driver_texts_enabled": false,
                "new_dashboard_enabled": true,
                "contracts_enabled": true,
                "usps_enabled": false,
                "historical_pricing_enabled": true,
                "policies_enabled": true,
                "rmis_enabled": false,
                "send_shipwell_network_enabled": true,
                "bid_manager_enabled": false,
                "ch_robinson_enabled": false,
                "edi_invoicing_enabled": false,
                "netsuite_enabled": false,
                "stop_status_enabled": false
            },
            "billing_email": "greg+sandbox@shipwell.com",
            "billing_emails": null,
            "insurance_expires_at": null,
            "insurance_validated_at": null,
            "insurance_policy_number": null,
            "insurance_provider_name": null,
            "insurance_provider_phone": null,
            "is_shipwell": false,
            "custom_data": null
        },
        "customer_charge_line_items": [],
        "vendor_charge_line_items": [],
        "is_assigned_carrier": false,
        "vendor_point_of_contact": null,
        "send_point_of_contact_email": false
    },
    "relationship_to_vendor": null,
    "accessorials": [],
    "equipment_config": null,
    "most_recently_awarded_quote_id": null,
    "most_recently_awarded_tender_id": null,
    "most_recently_awarded_quote": null,
    "most_recently_awarded_tender": null,
    "next_planned_stop": {
        "id": "d4a02943-8c1a-4ffd-9397-cc5bda2825bc",
        "location": {
            "id": "49338b99-04c8-4aad-af25-3fa839ac9711",
            "point_of_contacts": [
                {
                    "id": "a0a2c12c-788b-4cda-8e88-cee8c1078001",
                    "full_name": "Nathaniel Archer",
                    "preferences": {
                        "cancellation": false,
                        "delayed": false,
                        "delivered": false,
                        "eta_changed": false,
                        "picked_up": false,
                        "receive_bol_on_shipment_booked": false,
                        "shipment_booked": false
                    },
                    "created_at": "2020-08-26T17:07:23.858262Z",
                    "updated_at": "2020-08-26T17:07:23.859233Z",
                    "first_name": "Nathaniel",
                    "last_name": "Archer",
                    "job_title": null,
                    "phone_number": "+15122335667",
                    "email": "nathaniel.archer@shipwell.com"
                }
            ],
            "address": {
                "id": "475556e2-3a4e-48bb-98bc-ee1b87a822ea",
                "formatted_address": "515 Congress Ave, Austin, TX 78701, US",
                "created_at": "2020-08-26T17:07:23.248985Z",
                "updated_at": "2020-08-26T17:07:23.849520Z",
                "address_1": "515 Congress Ave",
                "address_2": null,
                "city": "Austin",
                "state_province": "TX",
                "postal_code": "78701",
                "country": "US",
                "phone_number": null,
                "timezone": "America/Chicago",
                "latitude": 30.2677416,
                "longitude": -97.7426039
            },
            "location_type": {
                "id": 1,
                "name": "Business (with dock or forklift)"
            },
            "identification_code": null,
            "created_at": "2020-08-26T17:07:23.851322Z",
            "updated_at": "2020-08-26T17:07:23.852220Z",
            "custom_data": null,
            "location_name": "Pickup Company",
            "company_name": null,
            "dock_hours_start": null,
            "dock_hours_end": null,
            "dock_external_id": null,
            "notes": null
        },
        "accessorials": [],
        "appointment_type": null,
        "carrier_specified_eta": {
            "created_at": "2020-08-26T17:07:23.861044Z",
            "updated_at": "2020-08-26T17:07:23.862154Z",
            "initial_window_start": null,
            "initial_window_end": null,
            "running_window_start": null,
            "running_window_end": null,
            "overridden_initial_window_start": null,
            "overridden_initial_window_end": null
        },
        "predictive_model_eta": {
            "created_at": "2020-08-26T17:07:23.864032Z",
            "updated_at": "2020-08-26T17:07:23.865235Z",
            "initial_window_start": null,
            "initial_window_end": null,
            "running_window_start": null,
            "running_window_end": null,
            "overridden_initial_window_start": null,
            "overridden_initial_window_end": null
        },
        "display_eta_window": "Thu Dec 24, 08:00-10:00 CST",
        "display_planned_window": "Thu Dec 24, 08:00-10:00 CST",
        "display_schedule": "Thu Dec 24 between 08:00-10:00 CST",
        "created_at": "2020-08-26T17:07:23.860579Z",
        "updated_at": "2020-08-26T17:07:23.868389Z",
        "planned_date": "2020-12-24",
        "planned_time_window_start": "08:00:00",
        "planned_time_window_end": "10:00:00",
        "confirmed_arrival_at": null,
        "confirmed_departure_at": null,
        "unconfirmed_arrival_at": null,
        "unconfirmed_departure_at": null,
        "ordinal_index": 0,
        "is_pickup": true,
        "is_dropoff": false,
        "on_time": null,
        "exclude_on_time": true,
        "on_time_exclusion_reason": null,
        "instructions": null,
        "internal_notes": null,
        "driver_pickup_confirmation_initial_job_id": null,
        "driver_pickup_confirmation_no_response_job_id": null,
        "driver_stop_completion_initial_job_id": null,
        "driver_stop_completion_second_job_id": null,
        "driver_stop_completion_no_response_job_id": null,
        "driver_stop_completion_enter_no_exit_geofence_job_id": null,
        "driver_stop_completion_never_enter_geofence_job_id": null,
        "status": null,
        "status_reason_code": null,
        "eta_overridden_by": null
    },
    "rfqs": [],
    "state_updated_at": "2020-08-26T17:07:23.144539Z",
    "timeline_events": [],
    "additional_bol_recipients": [],
    "total_declared_value": null,
    "custom_data": null,
    "deleted_at": null,
    "created_at": "2020-08-26T17:07:23.134376Z",
    "updated_at": "2020-08-26T17:07:24.777631Z",
    "reference_id": "SK799X",
    "group_id": null,
    "name": null,
    "created_by_source": "SHIPWELL_WEB",
    "est_trip_miles": null,
    "final_trip_miles": null,
    "total_linear_feet": null,
    "description": null,
    "significantly_modified_at": null,
    "label_last_printed_at": null,
    "temperature_upper_limit": null,
    "temperature_lower_limit": null,
    "cancellation_reason": null,
    "delayed": false,
    "notes_for_carrier": null,
    "preferred_currency": "USD",
    "bol_number": null,
    "customer_reference_number": null,
    "pickup_number": null,
    "pro_number": null,
    "purchase_order_number": null,
    "capacity_provider_customer_reference_number": null,
    "tracking_number": null,
    "total_declared_value_currency": "USD",
    "drayage_estimated_arrival_date": null,
    "drayage_release_date": null,
    "drayage_last_free_date": null,
    "drayage_container_return_date": null,
    "drayage_booking_number": null,
    "drayage_chassis_number": null,
    "drayage_container_number": null,
    "drayage_seal_number": null,
    "created_by_user": "2fd8c238-05d4-42b2-90a7-2341de37eb73",
    "dispatch_jobs": [
        {
            "created_at": "2020-08-26T17:07:23.134376Z",
            "error_message": "string",
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "status": "PROCESSING"
        }
    ]
}

List all shipments

After creating multiple shipments, use the GET /v2/shipments/ endpoint to receive a list of all shipments. Remember that Shipwell only responds with shipments for the company of the user making the request.

The shipment response sorts shipments based on the date they were created, starting with the latest shipment. To change the sort order in which the response appears, use the ordering parameter with the column for wish to sort the shipment response. Only columns that use integers prepend with - for descending or + for ascending can be used to order the shipment response.

Dispatch Jobs

When enabled for a shipment, the dispatch_jobs property of a shipment will contain information about the background task used to award, assign, and dispatch the shipment through the carrier's API. The status of the most recent dispatch job can be obtained by using the GET /v2/shipments/<shipment_id> API to have the latest representation of a shipment and inspecting the most recent dispatch job (defined by the created_at timestamp). The final status will be either SUCCESS or ERROR.
Copyright © Shipwell 2024. All right reserved.