openapi: 3.0.1
servers:
  - url: https://api.route.com/v1
info:
  title: Route App API
  version: 1.0.1
  x-logo:
    url: "https://route-cdn.s3.amazonaws.com/route-widget/images/RouteLogoKiona.png"
  description: |
    # Introduction
    The Route API provides the ability to enable package insurance.

    This reference is designed to assist application developers and system
    administrators. Each endpoint includes descriptions, request syntax, and
    examples using standard HTTP requests. Response data is returned in JSON
    format.

    # Getting Started

    To get started with the Route API, you will need access to the Public, Secret, and Stage tokens associated with your
    Route merchant account:

    [CLICK HERE TO CREATE ACCOUNT](https://dashboard.route.com/onboarding/account-creation "Route Account Creation")

    The Public API Key will be used on your client side in conjunction with the Route widget
    to fetch and return a quote.

    The Prod API Secret will be used server side to interact with secure Route
    endpoints to create and update customer-insured orders.

    The Stage API Secret will be used server side to test compliance with the Route endpoints.

    [<img src="./API Flowchart.png" alt="drawing" width="600"/>](https://api.route.com/docs/API%20Flowchart.png)


    ## Client Code CDN
    Please use the following link to embed our widget

    [LINK TO EMBED WIDGET](https://cdn.routeapp.io/route-widget/stable/route-widget-stable.min.js "Route CDN")

    To use the client, you must import the routeapp function found in the route-widget-stable.min.js file. This file will allow you access
    to the insurance quote API call as well as the ability to embed the Route widget. The checkbox widget is embedded by adding an
    associated container with a class id equal to `RouteWidget`, which will give customers the ability to view additional details via an information popup of Route's shipment protection.

    ### Set up:

    1) Add the route-widget-stable.min.js script file to your code base (found at the link above).

    2) Import the route-widget-stable.min.js file:

    ```javascript
      import routeapp from "./route-widget-stable.min.js";
    ```

    3) Add the div container where you would like your customers to have the option to add shipping insurance via the Route widget checkbox. This is typically on the checkout page but could also
    be included on the cart:

    ```javascript
      <div id="RouteWidget"></div>
    ```

     - If your platform is looking to have the route widget as an **opt-in** system you can add the following to the Route
    container. **This is not recommended.**

      ```javascript
      <div id="RouteWidget" data-default-checked="false"></div>
    ```

    4) Use the `routeapp.get_quote` and `routeapp.on_insured_change` methods to manage and track customer's shipping protection selections

    5) Add hooks into your server-side code to submit Route insured orders and order updates to the applicable Route orders APIs

    ### Routeapp Methods Overview:
    The client script exposes the following methods:

     - routeapp.get_quote
     - routeapp.on_insured_change

    Both methods are namespaced within `routeapp` and will require a callback function. The callback function will receive a JSON object
    response containing the following:

      - `currency` will contain a string, which is used to verify your quote is being received in the correct currency, if the currency is not explicitly provided to get the quote the default brand currency will be used.

      - `insurance_price` will contain a number value, which is the quoted Route insurance amount. This value is specific
      to a brand/cart. Depending on the store, an insurance price may be dynamic to the cart subtotal or a constant value across all carts.

      - `insurance_selected` will contain a boolean value (true/false), which will give the current status of if a customer
      is including Route shipping insurance to an order.

    ### routeapp.get_quote

    The `routeapp.get_quote` method requires a Public API Key, the order subtotal, the order's three-letter currency code, and a callback. The required callback will receive a JSON response
    object containing values for `currency`, `insurance_price`, and `insurance_selected`.

    ```javascript
    routeapp.get_quote('YOUR-PUBLIC-KEY', subtotal, currency, callback)
    ```

    ### routeapp.on_insured_change

    This method deals with tracking a users interaction of "checking" and "un-checking" the Route
    insurance checkbox. If the checkbox is "checked", the required callback will receive a JSON response
    object containing values for `currency`, `insurance_price`, and `insurance_selected` else if the checkbox is `unchecked`
    the response will return `insurance_selected` as equalling 'false'.


    ```javascript
    routeapp.on_insured_change(callback)
    ```

    ## Full Coverage Merchant

    If you are a full coverage merchant, you will import a different file into your website. This file will render Route's static asset instead of rendering our checkbox.

    [LINK TO FULL COVERAGE WIDGET](https://route-cdn.s3.amazonaws.com/route-widget-shopify/route-widget-static.min.js "Route Full Coverage Widget")

    In order to render Route's static asset, you must include the following div container on your page:

    ```
    <div class="route-div"></div>
    ```

    The script will render the asset inside this container.

    ## Server Code
    To ensure secure access with the Route API, servers calling our backend APIs need to authenticate with a unique
    Prod API Secret on a header passed with the HTTP request: `{token: 'YOUR-PROD-API-SECRET'}`.

    All of the following endpoints need to be connected to your backend system to ensure accurate Route insurance
    order tracking of content and status.

    ```javascript
    POST https://api.route.com/v1/orders;                               // Informs system of order created
    POST https://api.route.com/v1/orders/YOUR-SOURCE-ORDER-ID;          // Informs system of order updated
    POST https://api.route.com/v1/orders/YOUR-SOURCE-ORDER-ID/cancel;   // Informs system of order cancellation
    POST https://api.route.com/v1/shipments;                           // Informs system that a shipment has been initiated
    POST https://api.route.com/v1/shipments/ORDER-TRACKING-NUMBER;          // Informs system that a shipment has been updated
    POST https://api.route.com/v1/shipments/ORDER-TRACKING-NUMBER/cancel;   // Informs system that a shipment has been cancelled
    ```


    ### Order Complete
    The `https://api.route.com/v1/orders` endpoint should be called after an order has been completed and assigned a unique order ID in your own system, called `source_order_id`, which ID will be passed on the request body. Include a request header "token" containing the Prod API Secret.

    ```javascript
    var axios = require('axios');

     axios({
        method: 'POST',
        url: 'https://api.route.com/v1/orders',
        headers: {
            'Content-Type': 'application/json',
            'token': 'YOUR-PROD-API-SECRET'
        },
        body: {
            source_order_id: sourceOrderId,
            subtotal: subtotalValue,
            taxes: taxesValue,
            insurance_selected: insuranceSelectedValue,
            customer_details: customerDetailsObject,
            shipping_details: shippingDetailsObject,
            line_items: lineItemsJSONArray,
            source_created_on: sourceCreatedOn,
            source_updated_on: sourceUpdatedOn
        }
    })
    ```

    ### Full Coverage Merchant

    If you are a full coverage merchant, you must always send    `insurance_selected: true` on your order payload. That's how you ensure all your orders are protected by Route.

    Your payload will be the same as the order creation, but sending `insurance_selected: true`:

    ```javascript
    var axios = require('axios');

     axios({
        method: 'POST',
        url: 'https://api.route.com/v1/orders',
        headers: {
            'Content-Type': 'application/json',
            'token': 'YOUR-PROD-API-SECRET'
        },
        body: {
            source_order_id: sourceOrderId,
            subtotal: subtotalValue,
            taxes: taxesValue,
            insurance_selected: true,
            customer_details: customerDetailsObject,
            shipping_details: shippingDetailsObject,
            line_items: lineItemsJSONArray,
            source_created_on: sourceCreatedOn,
            source_updated_on: sourceUpdatedOn
        }
    })
    ```

    This rule also applies to any **update** request. To avoid losing coverage, make sure you are always sending `insurance_selected: true` on your payload.

    ### Order updated
    The `https://api.route.com/v1/orders/YOUR-SOURCE-ORDER-ID` endpoint should be called if any order details have been changed after a Route order has been created. Include the customer's affiliated source_order_id as a parameter on the URL and pass a request header "token" containing the Prod API Secret.

    ```javascript
    var axios = require('axios');

    axios({
        method: 'POST',
        url: 'https://api.route.com/v1/orders/YOUR-SOURCE-ORDER-ID',
        headers: {
            'Content-Type': 'application/json',
            'token': 'YOUR-PROD-API-SECRET'
        },
        body: {
            subtotal: subtotalValue,
            taxes: taxesValue,
            insurance_selected: insuranceSelectedValue,
            customer_details: customerDetailsObject,
            shipping_details: shippingDetailsObject,
            line_items: lineItemsJSONArray,
            source_created_on: sourceCreatedOn,
            source_updated_on: sourceUpdatedOn
        }
    })
    ```


    ### Order canceled
    The `https://api.route.com/v1/orders/YOUR-SOURCE-ORDER-ID/cancel` endpoint should be called if an order has been cancelled. Include the customer's affiliated source_order_id as a parameter on the URL and pass a request header "token" containing the Prod API Secret.

    ```javascript
    var axios = require('axios');


    axios({
        method: 'POST',
        url: 'https://api.route.com/v1/orders/YOUR-SOURCE-ORDER-ID/cancel',
        headers: {'Content-Type': 'application/json', 'token': 'YOUR-PROD-API-SECRET'}
    })

    ```

    ### Shipment Created
    The `https://api.route.com/v1/shipments` endpoint should be called when an shipment has been created. Pass a request header "token" containing the Prod API Secret.

    ```javascript
    var axios = require('axios');

     axios({
        method: 'POST',
        url: 'https://api.route.com/v1/shipments',
        headers: {
            'Content-Type': 'application/json',
            'token': 'YOUR-PROD-API-SECRET'
        },
        body: {
            tracking_number: trackingNumber,
            source_order_id: sourceOrderId,
            source_product_ids: itemsIdArr,
            courier_id: courierIdValue
        }
    })
    ```

    ### Shipment Updated
    The `https://api.route.com/v1/shipments/ORDER-TRACKING-NUMBER` endpoint should be called when an shipment's details or contents have been changed. Any source_product_ids that are added to the source_product_ids array on an update must be existing order items, if source_product_ids are missing from the array when others are present, the missing source_product_ids will be removed from the listed shipment.
    Include the order's affiliated tracking_number as a parameter on the URL and pass a request header "token" containing the Prod API Secret.

    ```javascript
    var axios = require('axios');

     axios({
        method: 'POST',
        url: 'https://api.route.com/v1/shipments/ORDER-TRACKING-NUMBER',
        headers: {
            'Content-Type': 'application/json',
            'token': 'YOUR-PROD-API-SECRET'
        },
        body: {
            source_order_id: sourceOrderId,
            source_product_ids: itemsIdArr,
            courier_id: courierIdValue
        }
    })
    ```

    ### Shipment Cancelled
    The `https://api.route.com/v1/shipments/ORDER-TRACKING-NUMBER/cancel` endpoint should be called when a shipment or part of shipment has been cancelled. If a source_order_id is provided with no source_product_ids, all source_product_ids will be removed from the shipment. If source_product_ids are provided, only those items will be removed from the shipment. A cancelled shipment that has no source_order_id and no source_product_ids will cancel the shipment and all associated items.
    Include the customer's affiliated source_order_id and the order's tracking_number as parameters on the URL and pass a request header "token" containing the Prod API Secret.

    ```javascript
    var axios = require('axios');

     axios({
        method: 'POST',
        url: 'https://api.route.com/v1/shipments/ORDER-TRACKING-NUMBER/cancel',
        headers: {
            'Content-Type': 'application/json',
            'token': 'YOUR-PROD-API-SECRET'
        }
    })
    ```
    ### Testing
    To test these endpoints, use your Stage API Secret (found in your Route Dashboard) on the request header, passed as "token".

    `{token: 'YOUR-STAGE-API-SECRET'}`

    You will receive a response status of '200' or '201' if your endpoints are implemented correctly.
    Once your endpoints have been tested and are all receiving status '200' or '201', switch to your Prod API Secret for production use.

    ## Merchant Preferences

    Each merchant has its own `merchant_preferences` field stored in our database. You can make a `GET` request to the `v1/merchants/` endpoint to retrieve the preferences of a specific merchant.

    ```javascript
    var axios = require('axios');

     axios({
        method: 'POST',
        url: 'https://api.route.com/v1/merchants',
        headers: {
            'Content-Type': 'application/json',
            'token': 'YOUR-PROD-API-SECRET'
        }
    })
    ```

    You will receive the following output
    ```
    [{
      ...
      "merchant_preferences": {
            "merchant_supplied_insurance": true
        }
      ...
    }]
    ```

    The `merchant_preferences` field stores the full coverage _(merchant_supplied_insurance)_ flag. If the merchant is a full coverage merchant, you should expect the `merchant_supplied_insurance` to be true. These settings can be changed at [Route's Brand Portal](https://dashboard.route.com/ "Route Dashboard").

    ## Quote API

    Route offers a quote endpoint to calculate the Route protection amount for an order. You can make a `GET` request to the `v1/quote/` endpoint to retrieve the quote information.

    We strongly recommend using the public token on this request if you are exposing the request on your front-end application.

    You must send the subtotal that will be used to calculate the protection amount and the currency - we will default to your store's currency if no currency is sent in the attributes.

    ```javascript
    var axios = require('axios');

     axios({
        method: 'GET',
        url: 'https://api.route.com/v1/quote?subtotal=100&currency=USD',
        headers: {
            'Content-Type': 'application/json',
            'token': 'YOUR-PROD-API-PUBLIC-KEY'
        }
    })
    ```

    You will receive the following output
    ```
    {
        "currency": "USD",
        "insurance_price": 1.5,
        "subtotal_usd": "100"
    }
    ```

    ## Arguments

    #### `source_order_id`
    The source_order_id argument should contain the unique Order ID/number associated with your own system. This object should contain the following property:
    ```javascript
    {
        source_order_id: ''              // * Required
    }
    ```

    #### `subtotal`
    The subtotal argument should be pretax and not include the Route shipping quote. If you have added Route to your cart prior to checkout, you will need to remove that value from the total
    ```javascript
    {
          subtotal: 0,                    // * Required
    }
    ```

    #### `currency`
    The currency argument should be a three-letter ISO 4217 currency code. If not provided, the default brand currency supplied at account creation will be used.
    ```javascript
    {
          currency: 'USD',
    }
    ```

    #### `taxes`
    The taxes argument will be the taxes added to the order
    ```javascript
    {
          taxes: 0,                     // * Required
    }
    ```

    #### `insurance_selected`
    The insurance_selected value will be a true/false value that reflects whether a customer is choosing to insure the order or not.

    ```javascript
    {
        insurance_selected: true            // * Required
    }
    ```

    #### `customer_details`
    The customer_details argument should contain the customer info for the order. This object should contain the following properties:
    ```javascript
    {
        customer_details: {
          first_name: '',                // * Required
          last_name: '',                 // * Required
          email: ''                      // * Required
        }
    }
    ```

    #### `shipping_details`
    The shipping_details argument should contain the shipping info for the order. This object should contain the following properties:
    ```javascript
    {
        shipping_details: {               // * Required
          first_name: '',
          last_name: '',
          street_address1: '',
          street_address2: '',
          province: '',      // state
          city: '',
          zip: '',
          country_code: '',  // eg. "US"
      }
    }
    ```

    #### `billing_address`
    The billing_address argument is optional and should contain the billing address for the order.
    ```javascript
    {
        billing_address: {               // Optional
          first_name: '',
          last_name: '',
          street_address1: '',
          street_address2: '',
          province: '',      // state
          city: '',
          zip: '',
          country_code: '',  // eg. "US"
      }
    }
    ```

    #### `line_items`
    The items argument should contain a list of objects that describe the items being purchased. The object below describes the entire available object for an order item, with example data. If you are unable to fill all of these items, that is fine, but the indicated fields are required.
    ```javascript
    {
        line_items:
          [
              {
                source_product_id: '',   // * Required - This your your store's product ID
                sku: '',                 // * Required
                name: '',                // * Required
                price: 0,                // * Required
                quantity: 0,             // * Required
                image_url: '',           // * Required
                upc: ''
              },
              {
                source_product_id: '',   // * Required - This your your store's product ID
                sku: '',                 // * Required
                name: '',                // * Required
                price: 0 ,               // * Required
                quantity: 0,             // * Required
                image_url: '',           // * Required
                upc: ''
              }
          ]
    }
    ```

    #### `source_created_on`
    The source_created_on argument would be the created timestamp of your order record. Note, the accepted timestamp format is ISO 8601
    ```javascript
    {
      source_created_on: ''         // * Required
    }
    ```

    #### `source_update_on`
    The source_updated_on argument would be the updated timestamp of your order record. Note, the accepted timestamp format is ISO 8601
    ```javascript
    {
      source_updated_on: ''         // * Required
    }
    ```

    #### `tracking_number`
    The tracking_number argument is the courier-given tracking number for a specific shipment.
    ```javascript
    {
        tracking_number: ''         // * Required
    }
    ```

    #### `source_product_ids`
    The source_product_ids argument should contain the list of product Ids included in the shipment.
    ```javascript
    {
        source_product_ids: ['','','']         // * Required

    }
    ```

    #### `courier_id`
    The courier_id will be come from the list of acceptable courier Id's found in the drop down below
    ```javascript
    {
          courier_id:'',
    }
    ```



    <details>
    <summary>List of acceptable courier_id</summary>
    <br>
    <table>
    <tr>
        <td>Courier ID</td>
         <td>Courier Name</td>
    </tr>
         <tr>
              <td>007ex</td>
              <td>007EX</td>
            </tr>
            <tr>
              <td>17postservice</td>
              <td>17 Post Service</td>
            </tr>
            <tr>
              <td>2go</td>
              <td>2GO</td>
            </tr>
            <tr>
              <td>360lion</td>
              <td>360 Lion Express</td>
            </tr>
            <tr>
              <td>4-72</td>
              <td>4-72 Entregando</td>
            </tr>
            <tr>
              <td>4px</td>
              <td>4PX</td>
            </tr>
            <tr>
              <td>aduiepyle</td>
              <td>A Duie Pyle</td>
            </tr>
            <tr>
              <td>aaa-cooper</td>
              <td>AAA Cooper</td>
            </tr>
            <tr>
              <td>abcustom</td>
              <td>AB Custom Group</td>
            </tr>
            <tr>
              <td>abf</td>
              <td>ABF Freight</td>
            </tr>
            <tr>
              <td>abxexpress-my</td>
              <td>ABX Express</td>
            </tr>
            <tr>
              <td>acscourier</td>
              <td>ACS Courier</td>
            </tr>
            <tr>
              <td>acsworldwide</td>
              <td>ACS Worldwide Express</td>
            </tr>
            <tr>
              <td>adsone</td>
              <td>ADSOne</td>
            </tr>
            <tr>
              <td>air21</td>
              <td>AIR21</td>
            </tr>
            <tr>
              <td>alljoy</td>
              <td>ALLJOY SUPPLY CHAIN CO.</td>
            </tr>
            <tr>
              <td>apc-overnight</td>
              <td>APC Overnight</td>
            </tr>
            <tr>
              <td>apc-overnight-connum</td>
              <td>APC Overnight Consignment Number</td>
            </tr>
            <tr>
              <td>apc</td>
              <td>APC Postal Logistics</td>
            </tr>
            <tr>
              <td>asm</td>
              <td>ASM</td>
            </tr>
            <tr>
              <td>adicional</td>
              <td>Adicional Logistics</td>
            </tr>
            <tr>
              <td>aersure</td>
              <td>Aersure</td>
            </tr>
            <tr>
              <td>airpak-express</td>
              <td>Airpak Express</td>
            </tr>
            <tr>
              <td>airspeed</td>
              <td>Airspeed International Corporation</td>
            </tr>
            <tr>
              <td>alfatrex</td>
              <td>AlfaTrex</td>
            </tr>
            <tr>
              <td>alliedexpress</td>
              <td>Allied Express</td>
            </tr>
            <tr>
              <td>always-express</td>
              <td>Always Express</td>
            </tr>
            <tr>
              <td>amazon-fba-us</td>
              <td>Amazon FBA USA</td>
            </tr>
            <tr>
              <td>amazon</td>
              <td>Amazon Ground</td>
            </tr>
            <tr>
              <td>an-post</td>
              <td>An Post</td>
            </tr>
            <tr>
              <td>antron</td>
              <td>Antron Express</td>
            </tr>
            <tr>
              <td>aprisaexpress</td>
              <td>Aprisa Express</td>
            </tr>
            <tr>
              <td>aquiline</td>
              <td>Aquiline</td>
            </tr>
            <tr>
              <td>aramex</td>
              <td>Aramex</td>
            </tr>
            <tr>
              <td>arrowxl</td>
              <td>Arrow XL</td>
            </tr>
            <tr>
              <td>asendia-de</td>
              <td>Asendia Germany</td>
            </tr>
            <tr>
              <td>asendia-hk</td>
              <td>Asendia HK</td>
            </tr>
            <tr>
              <td>skypostal</td>
              <td>Asendia HK – Premium Service (LATAM)</td>
            </tr>
            <tr>
              <td>asendia-uk</td>
              <td>Asendia UK</td>
            </tr>
            <tr>
              <td>asendia-usa</td>
              <td>Asendia USA</td>
            </tr>
            <tr>
              <td>aupost-china</td>
              <td>AuPost China</td>
            </tr>
            <tr>
              <td>australia-post</td>
              <td>Australia Post</td>
            </tr>
            <tr>
              <td>australia-post-api</td>
              <td>Australia Post API</td>
            </tr>
            <tr>
              <td>austrian-post</td>
              <td>Austrian Post (Express)</td>
            </tr>
            <tr>
              <td>austrian-post-registered</td>
              <td>Austrian Post (Registered)</td>
            </tr>
            <tr>
              <td>bh-worldwide</td>
              <td>B&H Worldwide</td>
            </tr>
            <tr>
              <td>b2ceurope</td>
              <td>B2C Europe</td>
            </tr>
            <tr>
              <td>bjshomedelivery</td>
              <td>BJS Distribution</td>
            </tr>
            <tr>
              <td>brt-it</td>
              <td>BRT Bartolini</td>
            </tr>
            <tr>
              <td>brt-it-parcelid</td>
              <td>BRT Bartolini(Parcel ID)</td>
            </tr>
            <tr>
              <td>brt-it-sender-ref</td>
              <td>BRT Bartolini(Sender Reference)</td>
            </tr>
            <tr>
              <td>belpost</td>
              <td>Belpost</td>
            </tr>
            <tr>
              <td>bert-fr</td>
              <td>Bert Transport</td>
            </tr>
            <tr>
              <td>800bestex</td>
              <td>Best Express</td>
            </tr>
            <tr>
              <td>bestwayparcel</td>
              <td>Best Way Parcel</td>
            </tr>
            <tr>
              <td>birdsystem</td>
              <td>BirdSystem</td>
            </tr>
            <tr>
              <td>bluestar</td>
              <td>Blue Star</td>
            </tr>
            <tr>
              <td>bluecare</td>
              <td>Bluecare Express Ltd</td>
            </tr>
            <tr>
              <td>bluedart</td>
              <td>Bluedart</td>
            </tr>
            <tr>
              <td>bneed</td>
              <td>Bneed</td>
            </tr>
            <tr>
              <td>bondscouriers</td>
              <td>Bonds Couriers</td>
            </tr>
            <tr>
              <td>boxc</td>
              <td>BoxC</td>
            </tr>
            <tr>
              <td>bpost</td>
              <td>Bpost</td>
            </tr>
            <tr>
              <td>bpost-international</td>
              <td>Bpost international</td>
            </tr>
            <tr>
              <td>brazil-correios</td>
              <td>Brazil Correios</td>
            </tr>
            <tr>
              <td>bgpost</td>
              <td>Bulgarian Posts</td>
            </tr>
            <tr>
              <td>buylogic</td>
              <td>Buylogic</td>
            </tr>
            <tr>
              <td>chrobinson</td>
              <td>C.H. Robinson Worldwide</td>
            </tr>
            <tr>
              <td>cae-delivers</td>
              <td>CAE Delivers</td>
            </tr>
            <tr>
              <td>cbl-logistica</td>
              <td>CBL Logistics</td>
            </tr>
            <tr>
              <td>cj-malaysia</td>
              <td>CJ Century</td>
            </tr>
            <tr>
              <td>cj-malaysia-international</td>
              <td>CJ Century (International)</td>
            </tr>
            <tr>
              <td>cj-gls</td>
              <td>CJ GLS</td>
            </tr>
            <tr>
              <td>cj-korea-thai</td>
              <td>CJ Korea Express</td>
            </tr>
            <tr>
              <td>cjlogistics</td>
              <td>CJ Logistics International</td>
            </tr>
            <tr>
              <td>cj-philippines</td>
              <td>CJ Transnational Philippines</td>
            </tr>
            <tr>
              <td>cnexps</td>
              <td>CNE Express</td>
            </tr>
            <tr>
              <td>cambodia-post</td>
              <td>Cambodia Post</td>
            </tr>
            <tr>
              <td>canada-post</td>
              <td>Canada Post</td>
            </tr>
            <tr>
              <td>canpar</td>
              <td>Canpar Courier</td>
            </tr>
            <tr>
              <td>celeritas</td>
              <td>Celeritas Transporte</td>
            </tr>
            <tr>
              <td>champion-logistics</td>
              <td>Champion Logistics</td>
            </tr>
            <tr>
              <td>china-ems</td>
              <td>China EMS (ePacket)</td>
            </tr>
            <tr>
              <td>china-post</td>
              <td>China Post</td>
            </tr>
            <tr>
              <td>chitchats</td>
              <td>Chit Chats</td>
            </tr>
            <tr>
              <td>chronopost-france</td>
              <td>Chronopost France</td>
            </tr>
            <tr>
              <td>chronopost-portugal</td>
              <td>Chronopost Portugal</td>
            </tr>
            <tr>
              <td>citylinkexpress</td>
              <td>City-Link Express</td>
            </tr>
            <tr>
              <td>clevy-links</td>
              <td>Clevy Links</td>
            </tr>
            <tr>
              <td>cloudwish-asia</td>
              <td>Cloudwish Asia</td>
            </tr>
            <tr>
              <td>colis-prive</td>
              <td>Colis Privé</td>
            </tr>
            <tr>
              <td>colissimo</td>
              <td>Colissimo</td>
            </tr>
            <tr>
              <td>collectplus</td>
              <td>Collect+</td>
            </tr>
            <tr>
              <td>collectco</td>
              <td>CollectCo</td>
            </tr>
            <tr>
              <td>con-way</td>
              <td>Con-way Freight</td>
            </tr>
            <tr>
              <td>copa-courier</td>
              <td>Copa Airlines Courier</td>
            </tr>
            <tr>
              <td>correos-chile</td>
              <td>Correos Chile</td>
            </tr>
            <tr>
              <td>correosexpress</td>
              <td>Correos Express</td>
            </tr>
            <tr>
              <td>spain-correos-es</td>
              <td>Correos de España</td>
            </tr>
            <tr>
              <td>correos-de-mexico</td>
              <td>Correos de Mexico</td>
            </tr>
            <tr>
              <td>costmeticsnow</td>
              <td>Cosmetics Now</td>
            </tr>
            <tr>
              <td>courierit</td>
              <td>Courier IT</td>
            </tr>
            <tr>
              <td>courier-plus</td>
              <td>Courier Plus</td>
            </tr>
            <tr>
              <td>courierpost</td>
              <td>CourierPost</td>
            </tr>
            <tr>
              <td>couriers-please</td>
              <td>Couriers Please</td>
            </tr>
            <tr>
              <td>cuckooexpress</td>
              <td>Cuckoo Express</td>
            </tr>
            <tr>
              <td>cyprus-post</td>
              <td>Cyprus Post</td>
            </tr>
            <tr>
              <td>dao365</td>
              <td>DAO365</td>
            </tr>
            <tr>
              <td>dbschenker-se</td>
              <td>DB Schenker</td>
            </tr>
            <tr>
              <td>dbschenker-sv</td>
              <td>DB Schenker Sweden</td>
            </tr>
            <tr>
              <td>ddexpress</td>
              <td>DD Express Courier</td>
            </tr>
            <tr>
              <td>deliveryontime</td>
              <td>DELIVERYONTIME LOGISTICS PVT LTD</td>
            </tr>
            <tr>
              <td>dex-i</td>
              <td>DEX-I</td>
            </tr>
            <tr>
              <td>dhl-deliverit</td>
              <td>DHL 2-Mann-Handling</td>
            </tr>
            <tr>
              <td>dhl-active-tracing</td>
              <td>DHL Active Tracing</td>
            </tr>
            <tr>
              <td>dhl-benelux</td>
              <td>DHL Benelux</td>
            </tr>
            <tr>
              <td>dhl</td>
              <td>DHL Express</td>
            </tr>
            <tr>
              <td>dhl-pieceid</td>
              <td>DHL Express (Piece ID)</td>
            </tr>
            <tr>
              <td>dhl-global-forwarding</td>
              <td>DHL Global Forwarding</td>
            </tr>
            <tr>
              <td>dhl-hk</td>
              <td>DHL Hong Kong</td>
            </tr>
            <tr>
              <td>dhl-nl</td>
              <td>DHL Netherlands</td>
            </tr>
            <tr>
              <td>dhlparcel-nl</td>
              <td>DHL Parcel NL</td>
            </tr>
            <tr>
              <td>dhlparcel-es</td>
              <td>DHL Parcel Spain</td>
            </tr>
            <tr>
              <td>dhl-poland</td>
              <td>DHL Poland Domestic</td>
            </tr>
            <tr>
              <td>dhl-es</td>
              <td>DHL Spain Domestic</td>
            </tr>
            <tr>
              <td>dhl-supply-chain-au</td>
              <td>DHL Supply Chain Australia</td>
            </tr>
            <tr>
              <td>dhl-global-mail-asia</td>
              <td>DHL eCommerce Asia</td>
            </tr>
            <tr>
              <td>dhl-global-mail</td>
              <td>DHL eCommerce US</td>
            </tr>
            <tr>
              <td>dmm-network</td>
              <td>DMM Network</td>
            </tr>
            <tr>
              <td>dpd</td>
              <td>DPD</td>
            </tr>
            <tr>
              <td>dpd-fr-reference</td>
              <td>DPD France</td>
            </tr>
            <tr>
              <td>exapaq</td>
              <td>DPD France</td>
            </tr>
            <tr>
              <td>dpd-de</td>
              <td>DPD Germany</td>
            </tr>
            <tr>
              <td>dpd-hk</td>
              <td>DPD HK</td>
            </tr>
            <tr>
              <td>dpd-ireland</td>
              <td>DPD Ireland</td>
            </tr>
            <tr>
              <td>interlink-express</td>
              <td>DPD Local</td>
            </tr>
            <tr>
              <td>interlink-express-reference</td>
              <td>DPD Local reference</td>
            </tr>
            <tr>
              <td>dpd-poland</td>
              <td>DPD Poland</td>
            </tr>
            <tr>
              <td>dpd-ro</td>
              <td>DPD Romania</td>
            </tr>
            <tr>
              <td>dpd-ru</td>
              <td>DPD Russia</td>
            </tr>
            <tr>
              <td>dpd-uk</td>
              <td>DPD UK</td>
            </tr>
            <tr>
              <td>dpe-express</td>
              <td>DPE Express</td>
            </tr>
            <tr>
              <td>dpe-za</td>
              <td>DPE South Africa</td>
            </tr>
            <tr>
              <td>dpex</td>
              <td>DPEX</td>
            </tr>
            <tr>
              <td>szdpex</td>
              <td>DPEX China</td>
            </tr>
            <tr>
              <td>dsv</td>
              <td>DSV</td>
            </tr>
            <tr>
              <td>dtdc-au</td>
              <td>DTDC Australia</td>
            </tr>
            <tr>
              <td>dtdc-express</td>
              <td>DTDC Express Global PTE LTD</td>
            </tr>
            <tr>
              <td>dtdc</td>
              <td>DTDC India</td>
            </tr>
            <tr>
              <td>danske-fragt</td>
              <td>Danske Fragtmænd</td>
            </tr>
            <tr>
              <td>dawnwing</td>
              <td>Dawn Wing</td>
            </tr>
            <tr>
              <td>dylt</td>
              <td>Daylight Transport</td>
            </tr>
            <tr>
              <td>dayton-freight</td>
              <td>Dayton Freight</td>
            </tr>
            <tr>
              <td>delcart-in</td>
              <td>Delcart</td>
            </tr>
            <tr>
              <td>delhivery</td>
              <td>Delhivery</td>
            </tr>
            <tr>
              <td>deltec-courier</td>
              <td>Deltec Courier</td>
            </tr>
            <tr>
              <td>demandship</td>
              <td>DemandShip</td>
            </tr>
            <tr>
              <td>detrack</td>
              <td>Detrack</td>
            </tr>
            <tr>
              <td>dhl-germany</td>
              <td>Deutsche Post DHL</td>
            </tr>
            <tr>
              <td>deutsch-post</td>
              <td>Deutsche Post Mail</td>
            </tr>
            <tr>
              <td>dimerco</td>
              <td>Dimerco Express Group</td>
            </tr>
            <tr>
              <td>directfreight-au</td>
              <td>Direct Freight Express</td>
            </tr>
            <tr>
              <td>directlink</td>
              <td>Direct Link</td>
            </tr>
            <tr>
              <td>directlog</td>
              <td>Directlog</td>
            </tr>
            <tr>
              <td>doora</td>
              <td>Doora Logistics</td>
            </tr>
            <tr>
              <td>dotzot</td>
              <td>Dotzot</td>
            </tr>
            <tr>
              <td>dynamic-logistics</td>
              <td>Dynamic Logistics</td>
            </tr>
            <tr>
              <td>ec-firstclass</td>
              <td>EC-Firstclass</td>
            </tr>
            <tr>
              <td>ecms</td>
              <td>ECMS International Logistics Co.</td>
            </tr>
            <tr>
              <td>efs</td>
              <td>EFS (E-commerce Fulfillment Service)</td>
            </tr>
            <tr>
              <td>elta-courier</td>
              <td>ELTA Hellenic Post</td>
            </tr>
            <tr>
              <td>empsexpress</td>
              <td>EMPS Express</td>
            </tr>
            <tr>
              <td>ep-box</td>
              <td>EP-Box</td>
            </tr>
            <tr>
              <td>ezship</td>
              <td>EZship</td>
            </tr>
            <tr>
              <td>easy-mail</td>
              <td>Easy Mail</td>
            </tr>
            <tr>
              <td>ecargo-asia</td>
              <td>Ecargo</td>
            </tr>
            <tr>
              <td>echo</td>
              <td>Echo</td>
            </tr>
            <tr>
              <td>ecom-express</td>
              <td>Ecom Express</td>
            </tr>
            <tr>
              <td>ekart</td>
              <td>Ekart</td>
            </tr>
            <tr>
              <td>emirates-post</td>
              <td>Emirates Post</td>
            </tr>
            <tr>
              <td>endeavour-delivery</td>
              <td>Endeavour Delivery</td>
            </tr>
            <tr>
              <td>ensenda</td>
              <td>Ensenda</td>
            </tr>
            <tr>
              <td>envialia</td>
              <td>Envialia</td>
            </tr>
            <tr>
              <td>equick-cn</td>
              <td>Equick China</td>
            </tr>
            <tr>
              <td>estafeta</td>
              <td>Estafeta</td>
            </tr>
            <tr>
              <td>estes</td>
              <td>Estes</td>
            </tr>
            <tr>
              <td>eurodis</td>
              <td>Eurodis</td>
            </tr>
            <tr>
              <td>expeditors</td>
              <td>Expeditors</td>
            </tr>
            <tr>
              <td>expeditors-api</td>
              <td>Expeditors API</td>
            </tr>
            <tr>
              <td>expresssale</td>
              <td>Expresssale</td>
            </tr>
            <tr>
              <td>fercam</td>
              <td>FERCAM Logistics & Transport</td>
            </tr>
            <tr>
              <td>fmx</td>
              <td>FMX</td>
            </tr>
            <tr>
              <td>fastrak-th</td>
              <td>Fastrak Services</td>
            </tr>
            <tr>
              <td>fastway-au</td>
              <td>Fastway Australia</td>
            </tr>
            <tr>
              <td>fastway-ireland</td>
              <td>Fastway Ireland</td>
            </tr>
            <tr>
              <td>fastway-nz</td>
              <td>Fastway New Zealand</td>
            </tr>
            <tr>
              <td>fastway-za</td>
              <td>Fastway South Africa</td>
            </tr>
            <tr>
              <td>fedex</td>
              <td>FedEx</td>
            </tr>
            <tr>
              <td>fedex-freight</td>
              <td>FedEx Freight</td>
            </tr>
            <tr>
              <td>fedex-fims</td>
              <td>FedEx International MailService</td>
            </tr>
            <tr>
              <td>opek</td>
              <td>FedEx Poland Domestic</td>
            </tr>
            <tr>
              <td>fedex-uk</td>
              <td>FedEx UK</td>
            </tr>
            <tr>
              <td>fedex-crossborder</td>
              <td>Fedex Cross Border</td>
            </tr>
            <tr>
              <td>fetchr</td>
              <td>Fetchr</td>
            </tr>
            <tr>
              <td>first-flight</td>
              <td>First Flight Couriers</td>
            </tr>
            <tr>
              <td>first-logistics</td>
              <td>First Logistics</td>
            </tr>
            <tr>
              <td>flytexpress</td>
              <td>Flyt Express</td>
            </tr>
            <tr>
              <td>gdex</td>
              <td>GDEX</td>
            </tr>
            <tr>
              <td>geodis-calberson-fr</td>
              <td>GEODIS - Distribution & Express</td>
            </tr>
            <tr>
              <td>gls</td>
              <td>GLS</td>
            </tr>
            <tr>
              <td>gls-croatia</td>
              <td>GLS Croatia</td>
            </tr>
            <tr>
              <td>gls-cz</td>
              <td>GLS Czech Republic</td>
            </tr>
            <tr>
              <td>gls-slovakia</td>
              <td>GLS General Logistics Systems Slovakia s.r.o.</td>
            </tr>
            <tr>
              <td>gls-italy</td>
              <td>GLS Italy</td>
            </tr>
            <tr>
              <td>gls-netherlands</td>
              <td>GLS Netherlands</td>
            </tr>
            <tr>
              <td>gls-spain</td>
              <td>GLS Spain</td>
            </tr>
            <tr>
              <td>gsi-express</td>
              <td>GSI EXPRESS</td>
            </tr>
            <tr>
              <td>gso</td>
              <td>GSO</td>
            </tr>
            <tr>
              <td>gati-kwe</td>
              <td>Gati-KWE</td>
            </tr>
            <tr>
              <td>taxydromiki</td>
              <td>Geniki Taxydromiki</td>
            </tr>
            <tr>
              <td>geodis-espace</td>
              <td>Geodis E-space</td>
            </tr>
            <tr>
              <td>ghn</td>
              <td>Giao hàng nhanh</td>
            </tr>
            <tr>
              <td>globegistics</td>
              <td>Globegistics Inc.</td>
            </tr>
            <tr>
              <td>gofly</td>
              <td>GoFly</td>
            </tr>
            <tr>
              <td>gojavas</td>
              <td>GoJavas</td>
            </tr>
            <tr>
              <td>greyhound</td>
              <td>Greyhound</td>
            </tr>
            <tr>
              <td>hx-express</td>
              <td>HX Express</td>
            </tr>
            <tr>
              <td>hermes-de</td>
              <td>Hermes Germany</td>
            </tr>
            <tr>
              <td>hermes-it</td>
              <td>Hermes Italy</td>
            </tr>
            <tr>
              <td>hermes</td>
              <td>Hermesworld</td>
            </tr>
            <tr>
              <td>hipshipper</td>
              <td>Hipshipper</td>
            </tr>
            <tr>
              <td>holisol</td>
              <td>Holisol</td>
            </tr>
            <tr>
              <td>hong-kong-post</td>
              <td>Hong Kong Post</td>
            </tr>
            <tr>
              <td>hrvatska-posta</td>
              <td>Hrvatska Pošta</td>
            </tr>
            <tr>
              <td>hh-exp</td>
              <td>Hua Han Logistics</td>
            </tr>
            <tr>
              <td>hunter-express</td>
              <td>Hunter Express</td>
            </tr>
            <tr>
              <td>idexpress</td>
              <td>IDEX</td>
            </tr>
            <tr>
              <td>imexglobalsolutions</td>
              <td>IMEX Global Solutions</td>
            </tr>
            <tr>
              <td>imxmail</td>
              <td>IMX Mail</td>
            </tr>
            <tr>
              <td>instant</td>
              <td>INSTANT (Tiong Nam Ebiz Express Sdn Bhd)</td>
            </tr>
            <tr>
              <td>postur-is</td>
              <td>Iceland Post</td>
            </tr>
            <tr>
              <td>inpost-paczkomaty</td>
              <td>InPost Paczkomaty</td>
            </tr>
            <tr>
              <td>india-post</td>
              <td>India Post Domestic</td>
            </tr>
            <tr>
              <td>india-post-int</td>
              <td>India Post International</td>
            </tr>
            <tr>
              <td>inexpost</td>
              <td>Inexpost</td>
            </tr>
            <tr>
              <td>descartes</td>
              <td>Innovel</td>
            </tr>
            <tr>
              <td>international-seur</td>
              <td>International Seur</td>
            </tr>
            <tr>
              <td>intexpress</td>
              <td>Internet Express</td>
            </tr>
            <tr>
              <td>israel-post</td>
              <td>Israel Post</td>
            </tr>
            <tr>
              <td>israel-post-domestic</td>
              <td>Israel Post Domestic</td>
            </tr>
            <tr>
              <td>italy-sda</td>
              <td>Italy SDA</td>
            </tr>
            <tr>
              <td>jtexpress</td>
              <td>J&T EXPRESS MALAYSIA</td>
            </tr>
            <tr>
              <td>j-net</td>
              <td>J-Net</td>
            </tr>
            <tr>
              <td>jcex</td>
              <td>JCEX</td>
            </tr>
            <tr>
              <td>jinsung</td>
              <td>JINSUNG TRADING</td>
            </tr>
            <tr>
              <td>jne</td>
              <td>JNE</td>
            </tr>
            <tr>
              <td>bh-posta</td>
              <td>JP BH Pošta</td>
            </tr>
            <tr>
              <td>jx</td>
              <td>JX</td>
            </tr>
            <tr>
              <td>jam-express</td>
              <td>Jam Express</td>
            </tr>
            <tr>
              <td>janco</td>
              <td>Janco Ecommerce</td>
            </tr>
            <tr>
              <td>janio</td>
              <td>Janio Asia</td>
            </tr>
            <tr>
              <td>japan-post</td>
              <td>Japan Post</td>
            </tr>
            <tr>
              <td>jayonexpress</td>
              <td>Jayon Express (JEX)</td>
            </tr>
            <tr>
              <td>jersey-post</td>
              <td>Jersey Post</td>
            </tr>
            <tr>
              <td>jet-ship</td>
              <td>Jet-Ship Worldwide</td>
            </tr>
            <tr>
              <td>jocom</td>
              <td>Jocom</td>
            </tr>
            <tr>
              <td>k1-express</td>
              <td>K1 Express</td>
            </tr>
            <tr>
              <td>kgmhub</td>
              <td>KGM Hub</td>
            </tr>
            <tr>
              <td>knuk</td>
              <td>KNAirlink Aerospace Domestic Network</td>
            </tr>
            <tr>
              <td>kurasi</td>
              <td>KURASI</td>
            </tr>
            <tr>
              <td>kangaroo-my</td>
              <td>Kangaroo Worldwide Express</td>
            </tr>
            <tr>
              <td>kerryttc-vn</td>
              <td>Kerry Express (Vietnam) Co Ltd</td>
            </tr>
            <tr>
              <td>tgx</td>
              <td>Kerry Express Hong Kong</td>
            </tr>
            <tr>
              <td>kerry-logistics</td>
              <td>Kerry Express Thailand</td>
            </tr>
            <tr>
              <td>kerrytj</td>
              <td>Kerry TJ Logistics</td>
            </tr>
            <tr>
              <td>kiala</td>
              <td>Kiala</td>
            </tr>
            <tr>
              <td>kpost</td>
              <td>Korea Post</td>
            </tr>
            <tr>
              <td>korea-post</td>
              <td>Korea Post EMS</td>
            </tr>
            <tr>
              <td>ky-express</td>
              <td>Kua Yue Express</td>
            </tr>
            <tr>
              <td>kn</td>
              <td>Kuehne + Nagel</td>
            </tr>
            <tr>
              <td>lbcexpress</td>
              <td>LBC Express</td>
            </tr>
            <tr>
              <td>lht-express</td>
              <td>LHT Express</td>
            </tr>
            <tr>
              <td>la-poste-colissimo</td>
              <td>La Poste</td>
            </tr>
            <tr>
              <td>landmark-global</td>
              <td>Landmark Global</td>
            </tr>
            <tr>
              <td>lao-post</td>
              <td>Lao Post</td>
            </tr>
            <tr>
              <td>lasership</td>
              <td>LaserShip</td>
            </tr>
            <tr>
              <td>latvijas-pasts</td>
              <td>Latvijas Pasts</td>
            </tr>
            <tr>
              <td>lietuvos-pastas</td>
              <td>Lietuvos Paštas</td>
            </tr>
            <tr>
              <td>line</td>
              <td>Line Clear Express & Logistics Sdn Bhd</td>
            </tr>
            <tr>
              <td>linkbridge</td>
              <td>Link Bridge(BeiJing)international logistics co.</td>
            </tr>
            <tr>
              <td>lion-parcel</td>
              <td>Lion Parcel</td>
            </tr>
            <tr>
              <td>lwe-hk</td>
              <td>Logistic Worldwide Express</td>
            </tr>
            <tr>
              <td>lonestar</td>
              <td>Lone Star Overnight</td>
            </tr>
            <tr>
              <td>lotte</td>
              <td>Lotte Global Logistics</td>
            </tr>
            <tr>
              <td>m-xpress</td>
              <td>M Xpress Sdn Bhd</td>
            </tr>
            <tr>
              <td>collivery</td>
              <td>MDS Collivery Pty (Ltd)</td>
            </tr>
            <tr>
              <td>mrw-spain</td>
              <td>MRW</td>
            </tr>
            <tr>
              <td>mxe</td>
              <td>MXE Express</td>
            </tr>
            <tr>
              <td>magyar-posta</td>
              <td>Magyar Posta</td>
            </tr>
            <tr>
              <td>mailamericas</td>
              <td>MailAmericas</td>
            </tr>
            <tr>
              <td>mailplus</td>
              <td>MailPlus</td>
            </tr>
            <tr>
              <td>mailplus-jp</td>
              <td>MailPlus</td>
            </tr>
            <tr>
              <td>mainfreight</td>
              <td>Mainfreight</td>
            </tr>
            <tr>
              <td>mainway</td>
              <td>Mainway</td>
            </tr>
            <tr>
              <td>malaysia-post-posdaftar</td>
              <td>Malaysia Post - Registered</td>
            </tr>
            <tr>
              <td>malaysia-post</td>
              <td>Malaysia Post EMS / Pos Laju</td>
            </tr>
            <tr>
              <td>mara-xpress</td>
              <td>Mara Xpress</td>
            </tr>
            <tr>
              <td>matdespatch</td>
              <td>Matdespatch</td>
            </tr>
            <tr>
              <td>matkahuolto</td>
              <td>Matkahuolto</td>
            </tr>
            <tr>
              <td>megasave</td>
              <td>Megasave</td>
            </tr>
            <tr>
              <td>aeroflash</td>
              <td>Mexico AeroFlash</td>
            </tr>
            <tr>
              <td>mexico-redpack</td>
              <td>Mexico Redpack</td>
            </tr>
            <tr>
              <td>mexico-senda-express</td>
              <td>Mexico Senda Express</td>
            </tr>
            <tr>
              <td>mikropakket</td>
              <td>Mikropakket</td>
            </tr>
            <tr>
              <td>mondialrelay</td>
              <td>Mondial Relay</td>
            </tr>
            <tr>
              <td>mypostonline</td>
              <td>Mypostonline</td>
            </tr>
            <tr>
              <td>nacex-spain</td>
              <td>NACEX Spain</td>
            </tr>
            <tr>
              <td>newzealand-couriers</td>
              <td>NEW ZEALAND COURIERS</td>
            </tr>
            <tr>
              <td>nanjingwoyuan</td>
              <td>Nanjing Woyuan</td>
            </tr>
            <tr>
              <td>national-sameday</td>
              <td>National Sameday</td>
            </tr>
            <tr>
              <td>nationwide-my</td>
              <td>Nationwide Express</td>
            </tr>
            <tr>
              <td>new-zealand-post</td>
              <td>New Zealand Post</td>
            </tr>
            <tr>
              <td>newgistics</td>
              <td>Newgistics</td>
            </tr>
            <tr>
              <td>tntpost-it</td>
              <td>Nexive (TNT Post Italy)</td>
            </tr>
            <tr>
              <td>nhans-solutions</td>
              <td>Nhans Solutions</td>
            </tr>
            <tr>
              <td>nipost</td>
              <td>NiPost</td>
            </tr>
            <tr>
              <td>nightline</td>
              <td>Nightline</td>
            </tr>
            <tr>
              <td>nim-express</td>
              <td>Nim Express</td>
            </tr>
            <tr>
              <td>ninjavan</td>
              <td>Ninja Van</td>
            </tr>
            <tr>
              <td>ninjavan-id</td>
              <td>Ninja Van Indonesia</td>
            </tr>
            <tr>
              <td>ninjavan-my</td>
              <td>Ninja Van Malaysia</td>
            </tr>
            <tr>
              <td>ninjavan-philippines</td>
              <td>Ninja Van Philippines</td>
            </tr>
            <tr>
              <td>ninjavan-thai</td>
              <td>Ninja Van Thailand</td>
            </tr>
            <tr>
              <td>norsk-global</td>
              <td>Norsk Global</td>
            </tr>
            <tr>
              <td>nova-poshta</td>
              <td>Nova Poshta</td>
            </tr>
            <tr>
              <td>nova-poshtaint</td>
              <td>Nova Poshta (International)</td>
            </tr>
            <tr>
              <td>oca-ar</td>
              <td>OCA Argentina</td>
            </tr>
            <tr>
              <td>ocs</td>
              <td>OCS ANA Group</td>
            </tr>
            <tr>
              <td>osm-worldwide</td>
              <td>OSM Worldwide</td>
            </tr>
            <tr>
              <td>old-dominion</td>
              <td>Old Dominion Freight Line</td>
            </tr>
            <tr>
              <td>omniparcel</td>
              <td>Omni Parcel</td>
            </tr>
            <tr>
              <td>omniva</td>
              <td>Omniva</td>
            </tr>
            <tr>
              <td>ontrac</td>
              <td>OnTrac</td>
            </tr>
            <tr>
              <td>oneworldexpress</td>
              <td>One World Express</td>
            </tr>
            <tr>
              <td>palexpress</td>
              <td>PAL Express Limited</td>
            </tr>
            <tr>
              <td>pfcexpress</td>
              <td>PFC Express</td>
            </tr>
            <tr>
              <td>pickupp-mys</td>
              <td>PICK UPP</td>
            </tr>
            <tr>
              <td>pickupp-sgp</td>
              <td>PICK UPP</td>
            </tr>
            <tr>
              <td>pixsell</td>
              <td>PIXSELL LOGISTICS</td>
            </tr>
            <tr>
              <td>mglobal</td>
              <td>PT MGLOBAL LOGISTICS INDONESIA</td>
            </tr>
            <tr>
              <td>ptt-posta</td>
              <td>PTT Posta</td>
            </tr>
            <tr>
              <td>paack-webhook</td>
              <td>Paack</td>
            </tr>
            <tr>
              <td>packlink</td>
              <td>Packlink</td>
            </tr>
            <tr>
              <td>pandulogistics</td>
              <td>Pandu Logistics</td>
            </tr>
            <tr>
              <td>panther</td>
              <td>Panther</td>
            </tr>
            <tr>
              <td>panther-order-number</td>
              <td>Panther Order Number</td>
            </tr>
            <tr>
              <td>panther-reference</td>
              <td>Panther Reference</td>
            </tr>
            <tr>
              <td>paquetexpress</td>
              <td>Paquetexpress</td>
            </tr>
            <tr>
              <td>parcel-force</td>
              <td>Parcel Force</td>
            </tr>
            <tr>
              <td>parcelpost-sg</td>
              <td>Parcel Post Singapore</td>
            </tr>
            <tr>
              <td>parcel2go</td>
              <td>Parcel2Go</td>
            </tr>
            <tr>
              <td>parcelpoint</td>
              <td>ParcelPoint Pty Ltd</td>
            </tr>
            <tr>
              <td>parcelled-in</td>
              <td>Parcelled.in</td>
            </tr>
            <tr>
              <td>ppbyb</td>
              <td>PayPal Package</td>
            </tr>
            <tr>
              <td>pickup</td>
              <td>Pickupp</td>
            </tr>
            <tr>
              <td>pickupp-vnm</td>
              <td>Pickupp Vietnam</td>
            </tr>
            <tr>
              <td>pilot-freight</td>
              <td>Pilot Freight Services</td>
            </tr>
            <tr>
              <td>pitney-bowes</td>
              <td>Pitney Bowes</td>
            </tr>
            <tr>
              <td>poczta-polska</td>
              <td>Poczta Polska</td>
            </tr>
            <tr>
              <td>pony-express</td>
              <td>Pony express</td>
            </tr>
            <tr>
              <td>portugal-ctt</td>
              <td>Portugal CTT</td>
            </tr>
            <tr>
              <td>portugal-seur</td>
              <td>Portugal Seur</td>
            </tr>
            <tr>
              <td>pos-indonesia</td>
              <td>Pos Indonesia Domestic</td>
            </tr>
            <tr>
              <td>pos-indonesia-int</td>
              <td>Pos Indonesia Int'l</td>
            </tr>
            <tr>
              <td>post-serbia</td>
              <td>Post Serbia</td>
            </tr>
            <tr>
              <td>post-slovenia</td>
              <td>Post of Slovenia</td>
            </tr>
            <tr>
              <td>post56</td>
              <td>Post56</td>
            </tr>
            <tr>
              <td>postnl</td>
              <td>PostNL Domestic</td>
            </tr>
            <tr>
              <td>postnl-international</td>
              <td>PostNL International</td>
            </tr>
            <tr>
              <td>postnl-3s</td>
              <td>PostNL International 3S</td>
            </tr>
            <tr>
              <td>danmark-post</td>
              <td>PostNord Denmark</td>
            </tr>
            <tr>
              <td>postnord</td>
              <td>PostNord Logistics</td>
            </tr>
            <tr>
              <td>sweden-posten</td>
              <td>PostNord Sweden</td>
            </tr>
            <tr>
              <td>poste-italiane</td>
              <td>Poste Italiane</td>
            </tr>
            <tr>
              <td>posten-norge</td>
              <td>Posten Norge / Bring</td>
            </tr>
            <tr>
              <td>posti</td>
              <td>Posti</td>
            </tr>
            <tr>
              <td>posta-romana</td>
              <td>Poșta Română</td>
            </tr>
            <tr>
              <td>professional-couriers</td>
              <td>Professional Couriers</td>
            </tr>
            <tr>
              <td>purolator</td>
              <td>Purolator</td>
            </tr>
            <tr>
              <td>qualitypost</td>
              <td>QualityPost</td>
            </tr>
            <tr>
              <td>quantium</td>
              <td>Quantium</td>
            </tr>
            <tr>
              <td>qxpress</td>
              <td>Qxpress</td>
            </tr>
            <tr>
              <td>raf</td>
              <td>RAF Philippines</td>
            </tr>
            <tr>
              <td>ramgroup-za</td>
              <td>RAM</td>
            </tr>
            <tr>
              <td>rl-carriers</td>
              <td>RL Carriers</td>
            </tr>
            <tr>
              <td>rpd2man</td>
              <td>RPD2man Deliveries</td>
            </tr>
            <tr>
              <td>rpx</td>
              <td>RPX Indonesia</td>
            </tr>
            <tr>
              <td>rpxonline</td>
              <td>RPX Online</td>
            </tr>
            <tr>
              <td>rrdonnelley</td>
              <td>RRD International Logistics U.S.A</td>
            </tr>
            <tr>
              <td>rzyexpress</td>
              <td>RZY Express</td>
            </tr>
            <tr>
              <td>raben-group</td>
              <td>Raben Group</td>
            </tr>
            <tr>
              <td>raiderex</td>
              <td>RaidereX</td>
            </tr>
            <tr>
              <td>rcl</td>
              <td>Red Carpet Logistics</td>
            </tr>
            <tr>
              <td>redur-es</td>
              <td>Redur Spain</td>
            </tr>
            <tr>
              <td>rincos</td>
              <td>Rincos</td>
            </tr>
            <tr>
              <td>roadbull</td>
              <td>Roadbull Logistics</td>
            </tr>
            <tr>
              <td>rocketparcel</td>
              <td>Rocket Parcel International</td>
            </tr>
            <tr>
              <td>russian-post</td>
              <td>Russian Post</td>
            </tr>
            <tr>
              <td>ruston</td>
              <td>Ruston</td>
            </tr>
            <tr>
              <td>sfb2c</td>
              <td>S.F International</td>
            </tr>
            <tr>
              <td>sf-express</td>
              <td>S.F. Express</td>
            </tr>
            <tr>
              <td>sailpost</td>
              <td>SAILPOST</td>
            </tr>
            <tr>
              <td>sap-express</td>
              <td>SAP EXPRESS</td>
            </tr>
            <tr>
              <td>sekologistics</td>
              <td>SEKO Logistics</td>
            </tr>
            <tr>
              <td>seko-sftp</td>
              <td>SEKO Worldwide</td>
            </tr>
            <tr>
              <td>sf-express-webhook</td>
              <td>SF Express (Webhook)</td>
            </tr>
            <tr>
              <td>sfcservice</td>
              <td>SFC Service</td>
            </tr>
            <tr>
              <td>sgt-it</td>
              <td>SGT Corriere Espresso</td>
            </tr>
            <tr>
              <td>shreetirupati</td>
              <td>SHREE TIRUPATI COURIER SERVICES PVT. LTD.</td>
            </tr>
            <tr>
              <td>skybox</td>
              <td>SKYBOX</td>
            </tr>
            <tr>
              <td>smsa-express</td>
              <td>SMSA Express</td>
            </tr>
            <tr>
              <td>spoton</td>
              <td>SPOTON Logistics Pvt Ltd</td>
            </tr>
            <tr>
              <td>srekorea</td>
              <td>SRE Korea</td>
            </tr>
            <tr>
              <td>sto</td>
              <td>STO Express</td>
            </tr>
            <tr>
              <td>safexpress</td>
              <td>Safexpress</td>
            </tr>
            <tr>
              <td>sagawa</td>
              <td>Sagawa</td>
            </tr>
            <tr>
              <td>saia-freight</td>
              <td>Saia LTL Freight</td>
            </tr>
            <tr>
              <td>saudi-post</td>
              <td>Saudi Post</td>
            </tr>
            <tr>
              <td>scudex-express</td>
              <td>Scudex Express</td>
            </tr>
            <tr>
              <td>seino</td>
              <td>Seino</td>
            </tr>
            <tr>
              <td>sending</td>
              <td>Sending Transporte Urgente y Comunicacion</td>
            </tr>
            <tr>
              <td>sendit</td>
              <td>Sendit</td>
            </tr>
            <tr>
              <td>sendle</td>
              <td>Sendle</td>
            </tr>
            <tr>
              <td>dajin</td>
              <td>Shanghai Aqrum Chemical Logistics Co.Ltd</td>
            </tr>
            <tr>
              <td>kwt</td>
              <td>Shenzhen Jinghuada Logistics Co.</td>
            </tr>
            <tr>
              <td>shippify</td>
              <td>Shippify</td>
            </tr>
            <tr>
              <td>shippit</td>
              <td>Shippit</td>
            </tr>
            <tr>
              <td>shiptor</td>
              <td>Shiptor</td>
            </tr>
            <tr>
              <td>shopfans</td>
              <td>ShopfansRU LLC</td>
            </tr>
            <tr>
              <td>shree-maruti</td>
              <td>Shree Maruti Courier Services Pvt Ltd</td>
            </tr>
            <tr>
              <td>simplypost</td>
              <td>SimplyPost</td>
            </tr>
            <tr>
              <td>singapore-post</td>
              <td>Singapore Post</td>
            </tr>
            <tr>
              <td>singapore-speedpost</td>
              <td>Singapore Speedpost</td>
            </tr>
            <tr>
              <td>siodemka</td>
              <td>Siodemka</td>
            </tr>
            <tr>
              <td>skynet</td>
              <td>SkyNet Malaysia</td>
            </tr>
            <tr>
              <td>skynetworldwide</td>
              <td>SkyNet Worldwide Express</td>
            </tr>
            <tr>
              <td>skynetworldwide-uae</td>
              <td>SkyNet Worldwide Express UAE</td>
            </tr>
            <tr>
              <td>sky-postal</td>
              <td>SkyPostal</td>
            </tr>
            <tr>
              <td>skynet-za</td>
              <td>Skynet World Wide Express South Africa</td>
            </tr>
            <tr>
              <td>skynetworldwide-uk</td>
              <td>Skynet Worldwide Express UK</td>
            </tr>
            <tr>
              <td>smooth</td>
              <td>Smooth Couriers</td>
            </tr>
            <tr>
              <td>sapo</td>
              <td>South African Post Office</td>
            </tr>
            <tr>
              <td>sefl</td>
              <td>Southeastern Freight Lines</td>
            </tr>
            <tr>
              <td>spanish-seur</td>
              <td>Spanish Seur</td>
            </tr>
            <tr>
              <td>specialisedfreight-za</td>
              <td>Specialised Freight</td>
            </tr>
            <tr>
              <td>speedcouriers-gr</td>
              <td>Speed Couriers</td>
            </tr>
            <tr>
              <td>speedexcourier</td>
              <td>Speedex Courier</td>
            </tr>
            <tr>
              <td>star-track-courier</td>
              <td>Star Track Courier</td>
            </tr>
            <tr>
              <td>star-track-express</td>
              <td>Star Track Express</td>
            </tr>
            <tr>
              <td>star-track</td>
              <td>StarTrack</td>
            </tr>
            <tr>
              <td>sypost</td>
              <td>Sunyou Post</td>
            </tr>
            <tr>
              <td>swiss-post</td>
              <td>Swiss Post</td>
            </tr>
            <tr>
              <td>taqbin-hk</td>
              <td>TAQBIN Hong Kong</td>
            </tr>
            <tr>
              <td>taqbin-my</td>
              <td>TAQBIN Malaysia</td>
            </tr>
            <tr>
              <td>taqbin-sg</td>
              <td>TAQBIN Singapore</td>
            </tr>
            <tr>
              <td>tcs</td>
              <td>TCS</td>
            </tr>
            <tr>
              <td>tipsa</td>
              <td>TIPSA</td>
            </tr>
            <tr>
              <td>tnt</td>
              <td>TNT</td>
            </tr>
            <tr>
              <td>tnt-au</td>
              <td>TNT Australia</td>
            </tr>
            <tr>
              <td>tnt-fr</td>
              <td>TNT France</td>
            </tr>
            <tr>
              <td>tnt-it</td>
              <td>TNT Italy</td>
            </tr>
            <tr>
              <td>tnt-reference</td>
              <td>TNT Reference</td>
            </tr>
            <tr>
              <td>tnt-uk</td>
              <td>TNT UK</td>
            </tr>
            <tr>
              <td>tnt-uk-reference</td>
              <td>TNT UK Reference</td>
            </tr>
            <tr>
              <td>tnt-click</td>
              <td>TNT-Click Italy</td>
            </tr>
            <tr>
              <td>taiwan-post</td>
              <td>Taiwan Post</td>
            </tr>
            <tr>
              <td>sic-teliway</td>
              <td>Teliway SIC Express</td>
            </tr>
            <tr>
              <td>temando</td>
              <td>Temando</td>
            </tr>
            <tr>
              <td>thailand-post</td>
              <td>Thailand Thai Post</td>
            </tr>
            <tr>
              <td>thecourierguy</td>
              <td>The Courier Guy</td>
            </tr>
            <tr>
              <td>tiki</td>
              <td>Tiki</td>
            </tr>
            <tr>
              <td>toll-ipec</td>
              <td>Toll IPEC</td>
            </tr>
            <tr>
              <td>toll-priority</td>
              <td>Toll Priority</td>
            </tr>
            <tr>
              <td>tolos</td>
              <td>Tolos</td>
            </tr>
            <tr>
              <td>tophatterexpress</td>
              <td>Tophatter Express</td>
            </tr>
            <tr>
              <td>total-express</td>
              <td>Total Express</td>
            </tr>
            <tr>
              <td>trakpak</td>
              <td>TrakPak</td>
            </tr>
            <tr>
              <td>trans-kargo</td>
              <td>Trans Kargo Internasional</td>
            </tr>
            <tr>
              <td>transmission-nl</td>
              <td>TransMission</td>
            </tr>
            <tr>
              <td>tuffnells</td>
              <td>Tuffnells Parcels Express</td>
            </tr>
            <tr>
              <td>ubi-logistics</td>
              <td>UBI Smart Parcel</td>
            </tr>
            <tr>
              <td>uk-mail</td>
              <td>UK Mail</td>
            </tr>
            <tr>
              <td>ups</td>
              <td>UPS</td>
            </tr>
            <tr>
              <td>ups-freight</td>
              <td>UPS Freight</td>
            </tr>
            <tr>
              <td>ups-mi</td>
              <td>UPS Mail Innovations</td>
            </tr>
            <tr>
              <td>usf-reddaway</td>
              <td>USF Reddaway</td>
            </tr>
            <tr>
              <td>usps</td>
              <td>USPS</td>
            </tr>
            <tr>
              <td>usps-webhook</td>
              <td>USPS Informed Visibility - Webhook</td>
            </tr>
            <tr>
              <td>ukrposhta</td>
              <td>UkrPoshta</td>
            </tr>
            <tr>
              <td>uds</td>
              <td>United Delivery Service</td>
            </tr>
            <tr>
              <td>courex</td>
              <td>Urbanfox</td>
            </tr>
            <tr>
              <td>urgent-cargus</td>
              <td>Urgent Cargus</td>
            </tr>
            <tr>
              <td>vnpost</td>
              <td>Vietnam Post</td>
            </tr>
            <tr>
              <td>vnpost-ems</td>
              <td>Vietnam Post EMS</td>
            </tr>
            <tr>
              <td>viettelpost</td>
              <td>ViettelPost</td>
            </tr>
            <tr>
              <td>wmg</td>
              <td>WMG Delivery</td>
            </tr>
            <tr>
              <td>wahana</td>
              <td>Wahana</td>
            </tr>
            <tr>
              <td>wanbexpress</td>
              <td>WanbExpress</td>
            </tr>
            <tr>
              <td>watkins-shepard</td>
              <td>Watkins Shepard</td>
            </tr>
            <tr>
              <td>wedo</td>
              <td>WeDo Logistics</td>
            </tr>
            <tr>
              <td>wepost</td>
              <td>WePost Logistics</td>
            </tr>
            <tr>
              <td>westbank-courier</td>
              <td>West Bank Courier</td>
            </tr>
            <tr>
              <td>whistl</td>
              <td>Whistl</td>
            </tr>
            <tr>
              <td>wise-express</td>
              <td>Wise Express</td>
            </tr>
            <tr>
              <td>wiseloads</td>
              <td>Wiseloads</td>
            </tr>
            <tr>
              <td>wishpost</td>
              <td>WishPost</td>
            </tr>
            <tr>
              <td>xdp-uk</td>
              <td>XDP Express</td>
            </tr>
            <tr>
              <td>xdp-uk-reference</td>
              <td>XDP Express Reference</td>
            </tr>
            <tr>
              <td>xl-express</td>
              <td>XL Express</td>
            </tr>
            <tr>
              <td>xq-express</td>
              <td>XQ Express</td>
            </tr>
            <tr>
              <td>xend</td>
              <td>Xend Express</td>
            </tr>
            <tr>
              <td>xpert-delivery</td>
              <td>Xpert Delivery</td>
            </tr>
            <tr>
              <td>xpost</td>
              <td>Xpost.ph</td>
            </tr>
            <tr>
              <td>xpressbees</td>
              <td>XpressBees</td>
            </tr>
            <tr>
              <td>yrc</td>
              <td>YRC</td>
            </tr>
            <tr>
              <td>yto</td>
              <td>YTO Express</td>
            </tr>
            <tr>
              <td>yakit</td>
              <td>Yakit</td>
            </tr>
            <tr>
              <td>taqbin-jp</td>
              <td>Yamato Japan</td>
            </tr>
            <tr>
              <td>yanwen</td>
              <td>Yanwen</td>
            </tr>
            <tr>
              <td>yodel</td>
              <td>Yodel Domestic</td>
            </tr>
            <tr>
              <td>yodel-international</td>
              <td>Yodel International</td>
            </tr>
            <tr>
              <td>yunexpress</td>
              <td>Yun Express</td>
            </tr>
            <tr>
              <td>yundaex</td>
              <td>Yunda Express</td>
            </tr>
            <tr>
              <td>zjs-express</td>
              <td>ZJS International</td>
            </tr>
            <tr>
              <td>zto-express</td>
              <td>ZTO Express</td>
            </tr>
            <tr>
              <td>zepto-express</td>
              <td>ZeptoExpress</td>
            </tr>
            <tr>
              <td>zinc</td>
              <td>Zinc</td>
            </tr>
            <tr>
              <td>zyllem</td>
              <td>Zyllem</td>
            </tr>
            <tr>
              <td>acommerce</td>
              <td>aCommerce</td>
            </tr>
            <tr>
              <td>alphafast</td>
              <td>alphaFAST</td>
            </tr>
            <tr>
              <td>cpacket</td>
              <td>cPacket</td>
            </tr>
            <tr>
              <td>efex</td>
              <td>eFEx (E-Commerce Fulfillment & Express)</td>
            </tr>
            <tr>
              <td>eparcel-kr</td>
              <td>eParcel Korea</td>
            </tr>
            <tr>
              <td>etotal</td>
              <td>eTotal Solution Limited</td>
            </tr>
            <tr>
              <td>i-parcel</td>
              <td>i-parcel</td>
            </tr>
            <tr>
              <td>myhermes-uk</td>
              <td>myHermes UK</td>
            </tr>
            <tr>
              <td>wndirect</td>
              <td>wnDirect</td>
            </tr>
            <tr>
              <td>ceska-posta</td>
              <td>Česká Pošta</td>
            </tr>
    </table>
    </details>

    # Responses Codes

    Actions will return one following HTTP response status codes:

    | STATUS  | DESCRIPTION |
    |---------|-------------|
    | 200 OK  | The request was successful. |
    | 201 OK  | The request was successful. |
    | 204 No Content | The server successfully fulfilled the request and there is no additional content to send. |
    | 400 Bad Request | You submitted an invalid request (missing parameters, etc.). |
    | 401 Unauthorized | You failed to authenticate for this resource. |
    | 403 Forbidden | You are authenticated, but don't have permission to do this. |
    | 404 Not Found | The resource you're requesting does not exist. |
    | 409 Conflict Error | Creation of an object already exists. |
    | 429 Too Many Requests | You've hit a rate limit. |
    | 500 Internal Server Error | Please [open a Support Ticket](#operation/createTicket). |

    # Examples
    ## Client

    ```javascript
    // In this example, the Public API Key is "9b8c0778-312a-4a79-b7f1-00067396faa1" the subtotal is $12.34, and the currency is 'CAD' for Canadian Dollars
        routeapp.get_quote("9b8c0778-312a-4a79-b7f1-00067396faa1", 12.34, "CAD", function(insurance_details){
          // insurance_details.currency         // This is the currency that was provided when the call was made
          // insurance_details.insurance_price  // This is the quoted amount from Route
          // insurance_details.insurance_selected   // This will indicate if insurance is selected or not
          // TODO: If insurance_details.insurance_selected response is true, add the Route insurance to order total

        })

        // The following will provide a status of user interactions with the checkbox on the widget

        routeapp.on_insured_change(function(insurance_details){
            if (insurance_details.insurance_selected) {
                // insurance_details.insurance_price  // This is the quoted amount from Route and will only be provided on a widget checkbox "click" to select
                // TODO: Add the Route insurance to order total and/or to cart
            }
            else {
              // will fire on widget checkbox "click" deselect
              // TODO: Remove Route insurance from total and/or cart
            }
        });
    ```

    ## Server - Orders

    ```javascript
      // When order is completed and a source order ID is assigned from your store, call this endpoint

        var axios = require('axios');

        axios({
          method: 'POST',
          url: 'https://api.route.com/v1/orders',
          headers: {
              'Content-Type': 'application/json',
              'token': '00000-11111-22222-33333'
          },
          body: {
              source_order_id: 1234,
              subtotal: 35.79,
              currency: 'USD',
              taxes: 2.59,
              insurance_selected: true,
              customer_details: {
                first_name: 'John',
                last_name: 'Doe',
                email: "john.doe@email.com"
                },
              shipping_details: {
                first_name: 'John',
                last_name: 'Doe',
                street_address1: '1234 N 5678 W',
                street_address2: '',
                city: 'Lehi',
                province: 'Utah',
                country_code: 'US',
                zip: '84043'
                },
              line_items: [
                {
                  source_product_id: 1234567,
                  sku: '1234',
                  name: 'Mauve Linen Tote Bag',
                  price: 12.34,
                  quantity: 1,
                  upc: 1234,
                  image_url: 'https://exampleimageurl.com'
                  },
                {
                  source_product_id: 2345678,
                  sku: '2345',
                  name: 'Beige Clutch Bag',
                  price: 23.45,
                  quantity: 1,
                  upc: 2345,
                  image_url: 'https://exampleimageurl.com'
                },
              source_created_on: '2012-03-13T16:09:55-04:00',
              source_updated_on: '2012-03-13T16:09:55-04:00'
              ]
          }
        })


     // If order is updated, call this endpoint provided with the customer's source order ID as a parameter on the URL

        axios({
          method: 'POST',
          url: 'https://api.route.com/v1/orders/12345',
          headers: {
              'Content-Type': 'application/json',
              'token': '00000-11111-22222-33333'
          },
          body: {
              subtotal: 12.34,
              taxes: 0.90,
              currency: 'USD',
              insurance_selected: true,
              customer_details: {
                first_name: 'John',
                last_name: 'Doe',
                email: "john.doe@email.com"
                },
              shipping_details: {
                first_name: 'John',
                last_name: 'Doe',
                street_address1: '1234 N 5678 W',
                street_address2: '',
                city: 'Lehi',
                province: 'Utah',
                country_code: 'US',
                zip: '84043'
                },
              line_items: [
                {
                  source_product_id: 1234567,
                  sku: '1234',
                  name: 'Mauve Linen Tote Bag',
                  price: 12.34,
                  quantity: 1,
                  upc: '1234',
                  image_url: 'https://exampleimageurl.com'
                }
              ],
              source_created_on: '2012-03-13T16:09:55-04:00',
              source_updated_on: '2012-03-13T16:09:55-04:00'
          }
        })

      // If order is canceled, call this endpoint provided with the customer's source order ID as a parameter on the URL

        axios({
          method: 'POST',
          url: 'https://api.route.com/v1/orders/12345/cancel',
          headers: {
              'Content-Type': 'application/json',
              'token': '00000-11111-22222-33333'
          }
        })

    ```

    ## Server - Shipments

    ```javascript
      // When order has been assigned a tracking number from a courier, call this endpoint to update the Route order to include tracking information - this information is needed for claims filed and for Route Visual Tracking. If shipment is updated, call this endpoint provided with any updated information.

        var axios = require('axios');

        axios({
          method: 'POST',
          url: 'https://api.route.com/v1/shipments/0123456',
          headers: {
              'Content-Type': 'application/json',
              'token': '00000-11111-22222-33333'
          },
          body: {
              source_order_id: 12345,
              source_product_ids: [1234],
              courier_id: "usps"
          }
        })

      // If a shipment is canceled, call this endpoint provided with the shipment's tracking number as parameters on the URL

        var axios = require('axios');

        axios({
          method: 'POST',
          url: 'https://api.route.com/v1/shipments/0123456/cancel',
          headers: {
              'Content-Type': 'application/json',
              'token': '00000-11111-22222-33333'
          },
          body: {
              source_order_id: 12345,
              source_product_ids: [1234]
          }
        })

    ```

    ## Testing

    ```javascript
    // All endpoints can be tested using your brand's Stage API Secret, instead of the Prod API Secret, in the header

        var axios = require('axios');

        axios({
          method: 'POST',
          url: 'https://api.route.com/v1/orders',
          headers: {
              'Content-Type': 'application/json',
              'token': 'test-00000-11111-22222-33333'
          },
          body: {
              source_order_id: 1234,
              subtotal: 35.79,
              taxes: 2.59,
              currency: 'USD',
              insurance_selected: true,
              customer_details: {
                first_name: 'John',
                last_name: 'Doe',
                email: "john.doe@email.com"
                },
              shipping_details: {
                first_name: 'John',
                last_name: 'Doe',
                street_address1: '1234 N 5678 W',
                street_address2: '',
                city: 'Lehi',
                province: 'Utah',
                country_code: 'US',
                zip: '84043'
                },
              line_items: [
                {
                  source_product_id: 1234567,
                  sku: '1234',
                  name: 'Mauve Linen Tote Bag',
                  price: 12.34,
                  quantity: 1,
                  image_url: 'https://exampleimageurl.com',
                  upc: '1234'
                  },
                {
                  source_product_id: 2345678,
                  sku: '2345',
                  name: 'Beige Clutch Bag',
                  price: 23.45,
                  quantity: 1,
                  image_url: 'https://exampleimageurl.com',
                  upc: '2345'}
              ],
              source_created_on: '2012-03-13T16:09:55-04:00',
              source_updated_on: '2012-03-13T16:09:55-04:00'
          }
        })

      // An incorrectly implemented post test to this endpoint will receive a status code 400 { "result": "Missing Required Fields: [ ... ]" }
    ```

    # General Data Protection Regulation (GDPR)
      ### Your Rights
      You have the right to request we not process your personal data for marketing purposes. We will make every attempt to inform you (prior to collecting your data) whether we intend to use your data for such purposes or if we intend to disclose your information to any third party for such purposes. You can exercise your right to prevent such processing by checking the relevant boxes on any forms we use to collect your data. You can also exercise said right at any time by contacting us at privacy@route.com.
      ### Access To Information (Subject Access Requests)
      You have the right to access personal information about you that is held by us (this is known as a "Subject Access Request" under the GDPR). You can exercise this right at any time by contacting us at privacy@route.com from the email address associated with your request. If you have an account with us, or if we hold any personal information pertaining to you, we will provide this summary in an electronic, machine-readable format (such as CSV) within 30 days of the request. There is no fee associated with the processing or delivery of said request.
      ### Right To Erasure
      You have the right to request erasure of all data and/or personal information we hold about you. We will make every reasonable attempt to remove all of said information from our systems, including backups (where technically feasible), within 30 days of the request. You can exercise this right at any time by contacting us at privacy@route.com. We may retain certain specific information, as required by law. There is no fee associated with the processing of said request.
      ### Withdrawal Of Consent
      You have the right to withdraw your consent for data processing and storage at any time, including (but not limited to) your consent to be contacted by us. You may exercise this right at any time by contacting us at privacy@route.com or by unchecking the relevant box(es) in our registration form, and/or forms displayed in your Account Settings.

components:
  securitySchemes:
    Public_API_Key:
      type: apiKey
      in: header
      name: key
      description: "The Public API Key is used to receive a Route insurance quote on the client side and can be found on your Route Dashboard with your brand login. Please contact us if you have any question about your account. support@routeapp.io"
    Prod_API_Secret:
      type: apiKey
      in: header
      name: key
      description: |
        The Prod API Secret is used to securely create, update, and cancel an order in the Route system. This token is to be hidden from the client in order to keep it secure, as information passed with
        this token will be about customer orders. This token can also be found on your Route Dashboard with your brand login. Please contact us if you have any question about your account. support@routeapp.io
    Stage_API_Secret:
      type: apiKey
      in: header
      name: key
      description: |
        The Stage API Secret is used to test the create, update, and cancel order endpoints in a test environment to verify endpoints are passing all tests before switching to production. This token can also be found on your Route Dashboard with your brand login. Please contact us if you have any question about your account. support@routeapp.io
  schemas:
    LineItem:
      type: object
      properties:
        source_product_id:
          type: string
          description: |
            Unique identifier for the product
        source_id:
          type: string
          description: |
            Unique identifier for the line item
        sku:
          type: string
        name:
          type: string
          description: "Name of product"
        price:
          type: number
        quantity:
          type: integer
          description: "Quantity of this item"
        upc:
          type: "string"
        image_url:
          type: "string"
          description: "URL to display the item image."
    AbbreviatedLineItem:
      type: object
      properties:
        source_id:
          type: string
          description: |
            Unique identifier for the line item
        quantity:
          type: integer
          description: "Quantity of this item"

paths:
  /orders:
    post:
      security:
        - Prod_API_Secret: []
      operationId: order_create
      summary: Create Order
      description: Creates a new Route order.
      tags:
        - API Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              required:
                - customer_details
                - insurance_selected
                - line_items
                - shipping_details
                - source_order_id
                - source_created_on
                - subtotal
                - taxes
              properties:
                source_order_id:
                  description: >
                    A unique order id provided by the store.
                  type: string
                  example: "123456"
                subtotal:
                  description: "The sum of the cart’s line-item prices. The subtotal doesn’t include taxes (unless taxes are included in the prices), cart discounts, or shipping costs."
                  type: number
                  format: double
                  example: 35.79
                order_total:
                  description: "The total price of all of the items in the cart after discounts, shipping, and taxes have been applied."
                  type: number
                  format: double
                  example: 42.67
                shipping_total:
                  description: "The shipping price of an order."
                  type: number
                  format: double
                  example: 5.00
                discounts_total:
                  description: "The total value of all discounts applied to the order."
                  type: number
                  format: double
                  example: 0.00
                taxes:
                  description: "The taxes applied to the subtotal."
                  type: number
                  format: double
                  example: 0.90
                currency:
                  description: "The order's three-letter ISO 4217 code"
                  type: string
                  example: "USD"
                insurance_selected:
                  description: "Status of if customer is insuring order."
                  type: boolean
                  example: true
                customer_details:
                  description: >
                    Provide a JSON object to create a Customer specific for this order.
                  type: object
                  properties:
                    first_name:
                      description: "Customer's first name."
                      example: "John"
                      type: string
                    last_name:
                      description: "Customer's last name."
                      example: "Doe"
                      type: string
                    email:
                      description: "Customer's email address."
                      example: "john@doe.com"
                      type: string
                shipping_details:
                  description: >
                    Provide a JSON object to provide shipping destination details.
                  type: object
                  properties:
                    first_name:
                      description: "Customer's first name."
                      example: "John"
                      type: string
                    last_name:
                      description: "Customer's last name."
                      example: "Doe"
                      type: string
                    street_address1:
                      description: "Customer's street address"
                      example: "123 Elm St."
                      type: string
                    street_address2:
                      description: "Customer's street address"
                      example: "Suite #110"
                      type: string
                    city:
                      description: "Customer's city"
                      example: "Seattle"
                      type: string
                    province:
                      description: "Customer's province"
                      example: "Washington"
                      type: string
                    zip:
                      description: "Customer's zip code"
                      example: "55555"
                      type: string
                    country_code:
                      description: "Customer's 2-digit country code"
                      example: "US"
                      type: string
                billing_address:
                  description: >
                    Optional billing address for the order.
                  type: object
                  properties:
                    first_name:
                      description: "Customer's first name."
                      example: "John"
                      type: string
                    last_name:
                      description: "Customer's last name."
                      example: "Doe"
                      type: string
                    street_address1:
                      description: "Customer's street address"
                      example: "123 Elm St."
                      type: string
                    street_address2:
                      description: "Customer's street address"
                      example: "Suite #110"
                      type: string
                    city:
                      description: "Customer's city"
                      example: "Seattle"
                      type: string
                    province:
                      description: "Customer's province"
                      example: "Washington"
                      type: string
                    zip:
                      description: "Customer's zip code"
                      example: "55555"
                      type: string
                    country_code:
                      description: "Customer's 2-digit country code"
                      example: "US"
                      type: string
                line_items:
                  description: >
                    Line item details stored as a JSON array.
                  type: array
                  example:
                    [
                      {
                        source_id: "ABC123",
                        source_product_id: 1234567,
                        sku: "12345",
                        name: "Mauve Linen Tote Bag",
                        price: 12.34,
                        quantity: 1,
                        upc: "1234",
                        image_url: "https://exampleimageurl.com",
                      },
                      {
                        source_id: "ASDF787",
                        source_product_id: 2345678,
                        sku: "23456",
                        name: "Beige Clutch Bag",
                        price: 23.45,
                        quantity: 1,
                        upc: "1234",
                        image_url: "https://exampleimageurl.com",
                      },
                    ]
                  items:
                    $ref: "#/components/schemas/LineItem"
                source_created_on:
                  description: >
                    Date and time (ISO 8601 format) that order was created
                  example: "2012-03-13T16:09:55-04:00"
                  type: string
                  format: date-time
                source_updated_on:
                  description: >
                    Date and time (ISO 8601 format) that order was updated
                  example: "2012-03-13T16:09:55-04:00"
                  type: string
                  format: date-time
      responses:
        "201":
          description: "Returns the Route order object."
          content:
            application/json:
              schema:
                properties:
                  amount_covered:
                    description: "The monetary value covered by Route Protection"
                    type: number
                    format: double
                    example: 35.79
                  amount_covered_usd:
                    description: "The monetary value covered by Route Protection in USD"
                    type: number
                    format: double
                    example: 35.79
                  created_on:
                    description: >
                      Date and time (ISO 8601 format) that order was created
                    example: "2012-03-13T16:09:55-04:00"
                    type: string
                    format: date-time
                  currency:
                    description: "The three-letter ISO 4217 code for the currency used in the order"
                    type: string
                    example: "USD"
                  email_account_id:
                    description: "Unique ID for customer's email address."
                    example: "email_adf329cKK29cadkji"
                    type: string
                  exchange_rate:
                    description: "The exchange rate from USD to currency used for purchase"
                    type: number
                    format: double
                    example: 1
                  first_name:
                    description: "Customer's first name."
                    example: "John"
                    type: string
                  has_pii:
                    description: "Status of PII"
                    type: boolean
                    example: false
                  insured_selected:
                    description: "Status of insurance selected"
                    type: string
                    example: "insured_selected"
                  last_name:
                    description: "Customer's last name."
                    example: "Doe"
                    type: string
                  merchant_id:
                    description: "Unique ID for online merchant"
                    type: string
                    example: "merch_023add5"
                  order_number:
                    description: "Unique string given to order by Route"
                    type: string
                    example: "RTC3ADQS13NC5F92GLQ5O0"
                  paid_to_insure:
                    description: "The amount paid to insure order"
                    type: number
                    format: double
                    example: 0.98
                  paid_to_insure_usd:
                    description: "The amount paid to insure order in USD"
                    type: number
                    format: double
                    example: 0.98
                  platform_id:
                    description: "Unique string identifing ecommmerce platform"
                    type: string
                    example: "Shopify"
                  source_created_on:
                    description: >
                      Date and time (ISO 8601 format) that order was created
                    example: "2012-03-13T16:09:55-04:00"
                    type: string
                    format: date-time
                  source_order_id:
                    description: >
                      A unique order id provided by the store.
                    type: string
                    example: "123456"
                  status:
                    description: "Status of order"
                    type: string
                    example: "created"
                  subtotal:
                    description: "The sum of the cart’s line-item prices. The subtotal doesn’t include taxes (unless taxes are included in the prices), cart discounts, or shipping costs."
                    type: number
                    format: double
                    example: 35.79
                  subtotal_usd:
                    description: "The sum of the cart’s line-item prices in USD. The subtotal doesn’t include taxes (unless taxes are included in the prices), cart discounts, or shipping costs."
                    type: number
                    format: double
                    example: 35.79
                  taxes:
                    description: "The taxes applied to the subtotal."
                    type: number
                    format: double
                    example: 0.90
                  taxes_usd:
                    description: "The taxes applied to the subtotal in USD."
                    type: number
                    format: double
                    example: 0.90

  /orders/{source_order_id}:
    post:
      security:
        - Prod_API_Secret: []
      operationId: order_update
      summary: Update Order
      description: If an order has been changed in any way - pass the updated information as a property in the relevant object on the request body, with the source order ID as a parameter on the request URL.
      tags:
        - API Endpoints
      parameters:
        - name: source_order_id
          in: query
          description: the platform order ID from the source platform
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                subtotal:
                  description: "The sum of the cart’s line-item prices. The subtotal doesn’t include taxes (unless taxes are included in the prices), cart discounts, or shipping costs."
                  type: number
                  format: double
                  example: 35.79
                order_total:
                  description: "The total price of all of the items in the cart after discounts, shipping, and taxes have been applied."
                  type: number
                  format: double
                  example: 42.67
                shipping_total:
                  description: "The shipping price of an order."
                  type: number
                  format: double
                  example: 5.00
                discounts_total:
                  description: "The total value of all discounts applied to the order."
                  type: number
                  format: double
                  example: 0.00
                taxes:
                  description: "The taxes applied to the subtotal."
                  type: number
                  format: double
                  example: 0.90
                currency:
                  description: "The order's three-letter ISO 4217 code"
                  type: string
                  example: "USD"
                insurance_selected:
                  description: "Status of if customer is insuring order."
                  type: boolean
                  example: true
                shipping_details:
                  description: >
                    Provide a JSON object to provide shipping destination details.
                  type: object
                  properties:
                    first_name:
                      description: "Customer's first name."
                      example: "John"
                      type: string
                    last_name:
                      description: "Customer's last name."
                      example: "Doe"
                      type: string
                    street_address1:
                      description: "Customer's street address"
                      example: "123 Elm St."
                      type: string
                    street_address2:
                      description: "Customer's street address"
                      example: "Suite #110"
                      type: string
                    city:
                      description: "Customer's city"
                      example: "Seattle"
                      type: string
                    province:
                      description: "Customer's province"
                      example: "Washington"
                      type: string
                    zip:
                      description: "Customer's zip code"
                      example: "55555"
                      type: string
                    country_code:
                      description: "Customer's 2-digit country code"
                      example: "US"
                      type: string
                billing_address:
                  description: >
                    Optional billing address for the order.
                  type: object
                  properties:
                    first_name:
                      description: "Customer's first name."
                      example: "John"
                      type: string
                    last_name:
                      description: "Customer's last name."
                      example: "Doe"
                      type: string
                    street_address1:
                      description: "Customer's street address"
                      example: "123 Elm St."
                      type: string
                    street_address2:
                      description: "Customer's street address"
                      example: "Suite #110"
                      type: string
                    city:
                      description: "Customer's city"
                      example: "Seattle"
                      type: string
                    province:
                      description: "Customer's province"
                      example: "Washington"
                      type: string
                    zip:
                      description: "Customer's zip code"
                      example: "55555"
                      type: string
                    country_code:
                      description: "Customer's 2-digit country code"
                      example: "US"
                      type: string
                line_items:
                  description: >
                    Line item details stored as a JSON array.
                  type: array
                  example:
                    [
                      {
                        source_id: "ABC123",
                        source_product_id: 1234567,
                        sku: "12345",
                        name: "Mauve Linen Tote Bag",
                        price: 12.34,
                        quantity: 1,
                        upc: "1234",
                        image_url: "https://exampleimageurl.com",
                      },
                      {
                        source_id: "ASDF787",
                        source_product_id: 2345678,
                        sku: "23456",
                        name: "Beige Clutch Bag",
                        price: 23.45,
                        quantity: 1,
                        upc: "1234",
                        image_url: "https://exampleimageurl.com",
                      },
                    ]
                  items:
                    $ref: "#/components/schemas/LineItem"
                source_created_on:
                  description: >
                    Date and time (ISO 8601 format) that order was created
                  example: "2012-03-13T16:09:55-04:00"
                  type: string
                  format: date-time
                source_updated_on:
                  description: >
                    Date and time (ISO 8601 format) that order was updated
                  example: "2012-03-13T16:09:55-04:00"
                  type: string
                  format: date-time
      responses:
        "200":
          description: "Returns the Route order object."
          content:
            application/json:
              schema:
                properties:
                  amount_covered:
                    description: "The monetary value covered by Route Protection"
                    type: number
                    format: double
                    example: 35.79
                  amount_covered_usd:
                    description: "The monetary value covered by Route Protection in USD"
                    type: number
                    format: double
                    example: 35.79
                  created_on:
                    description: >
                      Date and time (ISO 8601 format) that order was created
                    example: "2012-03-13T16:09:55-04:00"
                    type: string
                    format: date-time
                  currency:
                    description: "The three-letter ISO 4217 code for the currency used in the order"
                    type: string
                    example: "USD"
                  email_account_id:
                    description: "Unique ID for customer's email address."
                    example: "email_adf329cKK29cadkji"
                    type: string
                  exchange_rate:
                    description: "The exchange rate from USD to currency used for purchase"
                    type: number
                    format: double
                    example: 1
                  first_name:
                    description: "Customer's first name."
                    example: "John"
                    type: string
                  has_pii:
                    description: "Status of PII"
                    type: boolean
                    example: false
                  id:
                    description: "Unique order ID"
                    type: string
                    example: "order_jmWRhE8kGKkUzcc2rgCTEhJp4NcuiaXek7"
                  insured_status:
                    description: "Status of insurance selected"
                    type: string
                    example: "insured_selected"
                  last_name:
                    description: "Customer's last name."
                    example: "Doe"
                    type: string
                  merchant_id:
                    description: "Unique ID for online merchant"
                    type: string
                    example: "merch_023add5"
                  order_number:
                    description: "Unique string given to the order by Route"
                    type: string
                    example: "RTC3ADQS13NC5F92GLQ5O0"
                  paid_to_insure:
                    description: "The amount paid to insure order"
                    type: number
                    format: double
                    example: 0.98
                  paid_to_insure_usd:
                    description: "The amount paid to insure order in USD"
                    type: number
                    format: double
                    example: 0.98
                  platform_id:
                    description: "Unique string identifing ecommmerce platform"
                    type: string
                    example: "Shopify"
                  source_created_on:
                    description: >
                      Date and time (ISO 8601 format) that order was created
                    example: "2012-03-13T16:09:55-04:00"
                    type: string
                    format: date-time
                  source_order_id:
                    description: >
                      A unique order id provided by the store.
                    type: string
                    example: "123456"
                  status:
                    description: "Status of order"
                    type: string
                    example: "created"
                  subtotal:
                    description: "The sum of the cart’s line-item prices. The subtotal doesn’t include taxes (unless taxes are included in the prices), cart discounts, or shipping costs."
                    type: number
                    format: double
                    example: 35.79
                  subtotal_usd:
                    description: "The sum of the cart’s line-item prices in USD. The subtotal doesn’t include taxes (unless taxes are included in the prices), cart discounts, or shipping costs."
                    type: number
                    format: double
                    example: 35.79
                  taxes:
                    description: "The taxes applied to the subtotal."
                    type: number
                    format: double
                    example: 0.90
                  taxes_usd:
                    description: "The taxes applied to the subtotal in USD."
                    type: number
                    format: double
                    example: 0.90
                  updated_on:
                    description: "Date and time (ISO 8601 format) that order was updated"


  /orders/{source_order_id}/cancel:
    post:
      security:
        - Prod_API_Secret: []
      operationId: order_cancel
      summary: Cancel Order
      description: Call endpoint if order has been canceled with the source order id.
      tags:
        - API Endpoints
      parameters:
        - name: source_order_id
          in: query
          description: a source_order_id from the platform order
          required: true
          schema:
            type: string

      responses:
        "200":
          description: "Returns the canceled Route order object."
          content:
            application/json:
              schema:
                properties:
                  id:
                    description: "Unique order ID"
                    type: string
                    example: "order_jmWRhE8kGKkUzcc2rgCTEhJp4NcuiaXek7"
                  created_on:
                    description: >
                      Date and time (ISO 8601 format) the order was created
                    example: "2012-03-13T16:09:55-04:00"
                    type: string
                    format: date-time
                  updated_on:
                    description: >
                      Date and time (ISO 8601 format) of last order update
                    example: "2012-03-13T16:09:55-04:00"
                    type: string
                    format: date-time
                  cancelled_on:
                    description: >
                      Date and time (ISO 8601 format) the order was cancelled
                    example: "2012-03-13T16:09:55-04:00"
                    type: string
                    format: date-time
                  order_total:
                    description: "The total price of all of the items in the cart after discounts, shipping, and taxes have been applied."
                    type: number
                    format: double
                    example: 42.67
                  order_total_usd:
                    description: "The total price of all of the items in the cart, in USD, after discounts, shipping, and taxes have been applied."
                    type: number
                    format: double
                    example: 42.67
                  shipping_total:
                    description: "The shipping price of an order."
                    type: number
                    format: double
                    example: 5.00
                  shipping_total_usd:
                    description: "The shipping price, in USD, of an order."
                    type: number
                    format: double
                    example: 5.00
                  discounts_total:
                    description: "The total value of all discounts applied to the order."
                    type: number
                    format: double
                    example: 0.00
                  discounts_total_usd:
                    description: "The total value of all discounts, in USD, applied to the order."
                    type: number
                    format: double
                    example: 0.00
                  order_number:
                    description: "Unique string given to the order by Route"
                    type: string
                    example: "RTC3ADQS13NC5F92GLQ5O0"
                  amount_covered:
                    description: "The monetary value covered by Route Protection"
                    type: number
                    format: double
                    example: 35.79
                  currency:
                    description: "The order's three-letter ISO 4217 code"
                    type: string
                    example: "USD"
                  line_items:
                    description: >
                      Line item details stored as a JSON array.
                    type: array
                    example:
                      [
                        {
                          image_url: "https://exampleimageurl.com",
                          is_insured: true,
                          name: "Mauve Linen Tote Bag",
                          price: 12.34,
                          price_usd: 12.34,
                          quantity: 1,
                          sku: "12345",
                          source_id: "ABC123",
                          source_product_id: 1234567,
                        },
                        {
                          image_url: "https://exampleimageurl.com",
                          is_insured: true,
                          name: "Beige Clutch Bag",
                          price: 23.45,
                          price_usd: 23.45,
                          quantity: 1,
                          sku: "12345",
                          source_id: "ASDF787",
                          source_product_id: 2345678,
                        },
                      ]
                    items:
                      $ref: "#/components/schemas/LineItem"
                  shipping_details:
                    description: >
                      Provide a JSON object to provide shipping destination details.
                    type: object
                    properties:
                      city:
                        description: "Customer's city"
                        example: "Seattle"
                        type: string
                      country_code:
                        description: "Customer's 2-digit country code"
                        example: "US"
                        type: string
                      first_name:
                        description: "Customer's first name."
                        example: "John"
                        type: string
                      last_name:
                        description: "Customer's last name."
                        example: "Doe"
                        type: string
                      province:
                        description: "Customer's province"
                        example: "Washington"
                        type: string
                      street_address1:
                        description: "Customer's street address"
                        example: "123 Elm St."
                        type: string
                      zip:
                        description: "Customer's zip code"
                        example: "55555"
                        type: string
                  merchant_id:
                    description: "Unique ID for online merchant"
                    type: string
                    example: "merch_023add5"
                  paid_to_insure:
                    description: "The amount paid to insure order"
                    type: number
                    format: double
                    example: 0.98
                  source:
                    description: "Source"
                    type: string
                    example: null
                  source_created_on:
                    description: >
                      Date and time (ISO 8601 format) that order was created
                    example: "2012-03-13T16:09:55-04:00"
                    type: string
                    format: date-time
                  source_updated_on:
                    description: >
                      Date and time (ISO 8601 format) that order was updated
                    example: "2012-03-13T16:09:55-04:00"
                    type: string
                    format: date-time
                  source_order_id:
                    description: >
                      A unique order id provided by the store.
                    type: string
                    example: "123456"
                  source_order_number:
                    description: >
                      A unique string provided by the store.
                    type: string
                    example: null
                  status:
                    description: "Status of order"
                    type: string
                    example: "cancelled"
                  subtotal:
                    description: "The sum of the cart’s line-item prices. The subtotal doesn’t include taxes (unless taxes are included in the prices), cart discounts, or shipping costs."
                    type: number
                    format: double
                    example: 35.79
                  taxes:
                    description: "The taxes applied to the subtotal."
                    type: number
                    format: double
                    example: 0.90
                  amount_covered_usd:
                    description: "The monetary value, in USD, covered by Route Protection"
                    type: number
                    format: double
                    example: 35.79
                  paid_to_insure_usd:
                    description: "The amount paid, in USD, to insure order"
                    type: number
                    format: double
                    example: 0.98
                  subtotal_usd:
                    description: "The sum of the cart’s line-item prices in USD. The subtotal doesn’t include taxes (unless taxes are included in the prices), cart discounts, or shipping costs."
                    type: number
                    format: double
                    example: 35.79
                  taxes_usd:
                    description: "The taxes applied to the subtotal in USD."
                    type: number
                    format: double
                    example: 0.90
                  first_name:
                    description: "Customer's first name."
                    example: "John"
                    type: string
                  last_name:
                    description: "Customer's last name."
                    example: "Doe"
                    type: string
                  email_account_id:
                    description: "Unique string identifying customer's email address."
                    example: "email_c9wmgCKjmLHARbF3cf2NQaIEV3iB2771vX"
                    type: string
                  platform_id:
                    description: "Unique string identifing ecommmerce platform"
                    type: string
                    example: "Shopify"
                  exchange_rate:
                    description: "The exchange rate from USD to currency used for purchase"
                    type: number
                    format: double
                    example: 1
                  insured_status:
                    description: "Status of insurance selected"
                    type: string
                    example: "insured_selected"
                  has_pii:
                    description: "Status of PII for order"
                    type: boolean
                    example: false
                  parent_id:
                    description: "Id for parent transaction"
                    type: string
                    example: null

  /shipments:
    post:
      security:
        - Prod_API_Secret: []
      operationId: shipment_create
      summary: Create Shipment
      description: After the shipment process has been started and a tracking number is available, provide that information to Route with this endpoint. Tracking information is used in conjunction with filed claims and Route Visual Tracking. If quantity of a product in a shipment is more than one, duplicate the source_product_id the appropriate amount as in the shipment. Example ([1234, 1234] would indicate two items with the source_product_id of '1234' are in this shipment).
      tags:
        - API Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                tracking_number:
                  description: "The tracking number for the shipment"
                  example: "57656757656756757"
                  type: string
                source_order_id:
                  description: >
                    A unique order id provided by the store.
                  type: string
                  example: "123456"
                source_product_ids:
                  description: >
                    List of all associated source_product_id's in shipment
                  type: array
                  format: string
                  example: ["1234", "2334", "4566"]
                courier_id:
                  description: "The courier ID for the shipment's courier"
                  example: "fedex"
                  type: string
                line_items:
                  description: >
                    List of line item ids and quanitity.
                  type: array
                  example:
                    [
                      {
                        source_id: "ABC123",
                        quantity: 1,
                      },
                      {
                        source_id: "ASDF787",
                        quantity: 1,
                      },
                    ]
                  items:
                    $ref: "#/components/schemas/LineItem"

      responses:
        "200":
          description: "Returns the created Route shipments object."
          content:
            application/json:
              schema:
                properties:
                  id:
                    description: >
                      A unique order id provided by the store.
                    type: string
                    example: "123456"
                  created_on:
                      description: >
                        Date and time (ISO 8601 format) that shipment was created
                      example: "2012-03-13T16:09:55-04:00"
                      type: string
                      format: date-time
                  updated_on:
                    description: >
                      Date and time (ISO 8601 format) of the last shipment update
                    example: "2012-03-13T16:09:55-04:00"
                    type: string
                    format: date-time
                  canceled_on:
                    description: >
                      Date and time (ISO 8601 format) that shipment was canceled
                    example: null
                    type: string
                    format: date-time
                  deliver_status:
                    description: "The current status of the delivery process for the shipment"
                    example: "Active"
                    type: string
                  tracking_registration_status:
                    description: "The status of the tracking registration for the shipment"
                    example: "Active"
                    type: string
                  tracking_number:
                    description: "The tracking number for the shipment"
                    example: "57656757656756757"
                    type: string
                  tracking_number_override:
                    description: "The tracking number override for the shipment"
                    example: "57237888889756757"
                    type: string
                  tracking_url:
                    description: "The tracking url for the shipment"
                    example: "https://www.trackexample.com/trackexampleabc"
                    type: string
                  courier:
                    description: "The courier ID for the shipment's courier"
                    example: "fedex"
                    type: string
                  expected_delivery_date:
                    description: "Date and time (ISO 8601 format) of estimated arrival of shipment"
                    example: "1999-12-31T23:59:59"
                    type: string
                    format: date-time
                  merchant_id:
                    description: "Unique ID for online merchant"
                    type: string
                    example: "merch_023add5"
                  checkpoints:
                    description: List of all shipment milestones
                    example: []
                    type: array
                  merchant_messages:
                    description: List of messages from merchant pertaining shipment
                    example: ["Thanks for the purchase!", "Just Sent", "Should be arriving soon!" ]
                    type: array

  /shipments/{tracking_number}:
    post:
      security:
        - Prod_API_Secret: []
      operationId: shipment_update
      summary: Update Shipment
      description: If a product is being added to a shipment, include existing source_product_ids and the new product source_product_id. If a product is being removed from a shipment, include only source_product_ids that will be in the package. If quantity of a product is more than one, duplicate the source_product_id the appropriate amount as in the shipment. Example ([1234, 1234] would indicate two items with the source_product_id of '1234' are in this shipment).
      tags:
        - API Endpoints
      parameters:
        - name: tracking_number
          in: path
          description: tracking number or route shipment ID
          required: true
          schema:
            type: string
        - name: merchant_id
          in: query
          description: merchant_id, if called using a user token
          required: false
          schema:
            type: string
        - name: source_order_id
          in: query
          description: a source_order_id from the order in the shipment, helps with accuracy
          required: false
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                source_order_id:
                  description: >
                    A unique order id provided by the store.
                  type: string
                  example: "123456"
                source_product_ids:
                  description: >
                    List of all associated source_product_id's in shipment
                  type: array
                  format: string
                  example: ["1234", "2334", "4566"]
                courier_id:
                  description: "The courier ID for the shipment's courier"
                  example: "fedex"
                  type: string
                line_items:
                  description: >
                    List of line item ids and quanitity.
                  type: array
                  example:
                    [
                      {
                        source_id: "ABC123",
                        quantity: 1,
                      },
                      {
                        source_id: "ASDF787",
                        quantity: 1,
                      },
                    ]
                  items:
                    $ref: "#/components/schemas/LineItem"

      responses:
        "200":
          description: "Returns the updated Route shipments object."
          content:
            application/json:
              schema:
                properties:
                  id:
                    description: >
                      A unique order id provided by the store.
                    type: string
                    example: "123456"
                  created_on:
                      description: >
                        Date and time (ISO 8601 format) that shipment was created
                      example: "2012-03-13T16:09:55-04:00"
                      type: string
                      format: date-time
                  updated_on:
                    description: >
                      Date and time (ISO 8601 format) of the last shipment update
                    example: "2012-03-13T16:09:55-04:00"
                    type: string
                    format: date-time
                  canceled_on:
                    description: >
                      Date and time (ISO 8601 format) that shipment was canceled
                    example: null
                    type: string
                    format: date-time
                  deliver_status:
                    description: "The current status of the delivery process for the shipment"
                    example: "Active"
                    type: string
                  tracking_registration_status:
                    description: "The status of the tracking registration for the shipment"
                    example: "Active"
                    type: string
                  tracking_number:
                    description: "The tracking number for the shipment"
                    example: "57656757656756757"
                    type: string
                  tracking_number_override:
                    description: "The tracking number override for the shipment"
                    example: "57237888889756757"
                    type: string
                  tracking_url:
                    description: "The tracking url for the shipment"
                    example: "https://www.trackexample.com/trackexampleabc"
                    type: string
                  courier:
                    description: "The courier ID for the shipment's courier"
                    example: "fedex"
                    type: string
                  expected_delivery_date:
                    description: "Date and time (ISO 8601 format) of estimated arrival of shipment"
                    example: "1999-12-31T23:59:59"
                    type: string
                    format: date-time
                  merchant_id:
                    description: "Unique ID for online merchant"
                    type: string
                    example: "merch_023add5"
                  checkpoints:
                    description: List of all shipment milestones
                    example: []
                    type: array
                  merchant_messages:
                    description: List of messages from merchant pertaining shipment
                    example: ["Thanks for the purchase!", "Just Sent", "Should be arriving soon!" ]
                    type: array

    get:
      security:
        - Prod_API_Secret: []
      operationId: shipment_read
      summary: Read Shipment
      description: Get most recent existing shipment, based on provided parameters
      tags:
        - API Endpoints
      parameters:
        - name: tracking_number
          in: path
          description: tracking number or route shipment ID
          required: true
          schema:
            type: string
        - name: merchant_id
          in: query
          description: merchant_id, if called using a user token
          required: false
          schema:
            type: string
        - name: source_order_id
          in: query
          description: a source_order_id from the order in the shipment, helps with accuracy
          required: false
          schema:
            type: string

      responses:
        "200":
          description: "Returns the Route shipments object."
          content:
            application/json:
              schema:
                properties:
                  created_on:
                      description: >
                        Date and time (ISO 8601 format) that shipment was created
                      example: "2012-03-13T16:09:55-04:00"
                      type: string
                      format: date-time
                  id:
                    description: >
                      A unique order id provided by the store.
                    type: string
                    example: "123456"
                  merchant_id:
                    description: "Unique ID for online merchant"
                    type: string
                    example: "merch_023add5"
                  merchant_messages:
                    description: List of messages from merchant pertaining shipment
                    example: ["Thanks for the purchase!", "Just Sent", "Should be arriving soon!" ]
                    type: array
                  tracking:
                    description: An object filled with tracking details
                    type: object
                    example: {
                      courier: "fedex",
                      status: "Pending",
                      tracking_number: "57656757656756757"
                    }
                  updated_on:
                    description: >
                      Date and time (ISO 8601 format) of the last shipment update
                    example: "2012-03-13T16:09:55-04:00"
                    type: string
                    format: date-time

  /shipments/{tracking_number}/cancel:
    post:
      security:
        - Prod_API_Secret: []
      operationId: shipment_cancel
      summary: Cancel Shipment
      description: Use this endpoint to cancel a shipment.
      tags:
        - API Endpoints
      parameters:
        - name: tracking_number
          in: path
          description: tracking number or route shipment ID
          required: true
          schema:
            type: string
        - name: merchant_id
          in: query
          description: merchant_id, if called using a user token
          required: false
          schema:
            type: string
        - name: source_order_id
          in: query
          description: a source_order_id from the order in the shipment, helps with accuracy
          required: false
          schema:
            type: string

      responses:
        "200":
          description: "Returns the Route shipment object."
