Shipment

Schema for an Echo Global Logistics shipment (LTL, TL, or PL)

FreightLogisticsShippingLTLTruckloadFreight BrokerageTransportationSupply Chain

Properties

Name Type Description
shipmentId string Echo-assigned shipment identifier
proNumber string PRO number assigned to the shipment
mode string Shipment mode
status string Current shipment status
pickupDate string Requested or confirmed pickup date (YYYY-MM-DD)
origin object
destination object
commodities array
accessorials array List of accessorial service codes
referenceNumbers array
View JSON Schema on GitHub

JSON Schema

shipment.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/echo-global/main/json-schema/shipment.json",
  "title": "Shipment",
  "description": "Schema for an Echo Global Logistics shipment (LTL, TL, or PL)",
  "type": "object",
  "required": ["origin", "destination", "pickupDate", "mode"],
  "properties": {
    "shipmentId": {
      "type": "string",
      "description": "Echo-assigned shipment identifier"
    },
    "proNumber": {
      "type": "string",
      "description": "PRO number assigned to the shipment"
    },
    "mode": {
      "type": "string",
      "description": "Shipment mode",
      "enum": ["LTL", "TL", "PL"]
    },
    "status": {
      "type": "string",
      "description": "Current shipment status"
    },
    "pickupDate": {
      "type": "string",
      "format": "date",
      "description": "Requested or confirmed pickup date (YYYY-MM-DD)"
    },
    "origin": {
      "$ref": "#/definitions/Location"
    },
    "destination": {
      "$ref": "#/definitions/Location"
    },
    "commodities": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/definitions/Commodity"
      }
    },
    "accessorials": {
      "type": "array",
      "description": "List of accessorial service codes",
      "items": {
        "type": "string"
      }
    },
    "referenceNumbers": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/ReferenceNumber"
      }
    }
  },
  "definitions": {
    "Location": {
      "type": "object",
      "description": "Shipment location (origin or destination)",
      "required": ["companyName", "address1", "city", "stateOrProvince", "postalCode", "country", "locationType"],
      "properties": {
        "companyName": {
          "type": "string",
          "maxLength": 60
        },
        "address1": {
          "type": "string",
          "maxLength": 60
        },
        "address2": {
          "type": "string",
          "maxLength": 60
        },
        "city": {
          "type": "string",
          "minLength": 2,
          "maxLength": 60
        },
        "stateOrProvince": {
          "type": "string",
          "minLength": 2,
          "maxLength": 2,
          "description": "Two-letter state or province code"
        },
        "postalCode": {
          "type": "string",
          "minLength": 5
        },
        "country": {
          "type": "string",
          "enum": ["US", "CA", "MX"]
        },
        "locationType": {
          "type": "string",
          "enum": ["BUSINESS", "CONSTRUCTIONSITE", "RESIDENTIAL", "TRADESHOW"],
          "description": "Type of location for accessorial assessment"
        },
        "contact": {
          "$ref": "#/definitions/Contact"
        }
      }
    },
    "Contact": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "email": {
          "type": "string",
          "format": "email"
        }
      }
    },
    "Commodity": {
      "type": "object",
      "description": "Freight commodity line item",
      "required": ["description", "pieces", "weight"],
      "properties": {
        "description": {
          "type": "string",
          "maxLength": 100
        },
        "pieces": {
          "type": "integer",
          "minimum": 1
        },
        "packageType": {
          "type": "string",
          "description": "Type of packaging (e.g., PLT, BOX, CRT)"
        },
        "weight": {
          "type": "number",
          "minimum": 0.1
        },
        "weightUnit": {
          "type": "string",
          "enum": ["LB", "KG"],
          "default": "LB"
        },
        "length": {
          "type": "number",
          "description": "Length in inches"
        },
        "width": {
          "type": "number",
          "description": "Width in inches"
        },
        "height": {
          "type": "number",
          "description": "Height in inches"
        },
        "freightClass": {
          "type": "string",
          "description": "NMFC freight class",
          "enum": ["50", "55", "60", "65", "70", "77.5", "85", "92.5", "100", "110", "125", "150", "175", "200", "250", "300", "400", "500"]
        },
        "nmfcNumber": {
          "type": "string",
          "description": "NMFC item number"
        },
        "isHazmat": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "ReferenceNumber": {
      "type": "object",
      "required": ["type", "value"],
      "properties": {
        "type": {
          "type": "string",
          "enum": ["purchase_order", "bill_of_lading", "order", "customer_reference", "pro_number"]
        },
        "value": {
          "type": "string"
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/shipment"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.