Echo Global Logistics shipments API

GET and POST to shipment endpoints.

Operations 6

POST /v2/shipments/LTL Accepts an LTL shipment for creation #
POST /v2/shipments/TL Accepts a TL shipment for creation #
POST /v2/shipments/PL Accepts a PL shipment for creation #
GET /v2/shipments/{Id} Returns a shipment #
GET /v2/shipments/{Id}/status Returns shipment status #
GET /v2/shipments/{Id}/tracking Returns tracking information for a shipment #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/echo-global-shipments-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

echo-global-shipments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    name: Echo Global Logistics
    url: https://www.echo.com
    email: info@echo.com
  version: 1.0.0
  title: Echo Authorizer documents Shipments API
  description: 'All API operations require an access token to be passed in the Authorization Header for each request. The token type is an OAuth 2.0 Bearer token. To get the token you have to call the /token operation of this API and provide **client_id** and **client_secret**.


    **`Access Token Lifecycle:`** When you recieve an Access Token, it is valid for defined amount of time. The expiration time for the token is returned in the response along with the bearer token.  Developers should implement the client application in a way that  token will be requested again only after it expires. During this time you don''t have to request new token per each request, but you can simply reuse the same token to access API resources, until the token expires. The invalid token or token expiration will be indicated by HTTP Status Code 401 Unauthorized, then your application has to request new Access token.


    **`Access Token Request Rate Limiting:`** The Access Token should be used for the lifetime of the token until it has expired. Partners requesting new tokens multiple times in an hour may be subject to rate limiting.


    **`API Request Rate Limiting:`** Please do not exceed more than 3 requests per second. Partners who exceed this limit may be subject to rate limiting.'
servers:
- description: SwaggerHub API Auto Mocking
  url: https://virtserver.swaggerhub.com/echogl/Echo_Authorizer_Public/1.0.0
- description: Production environment.
  url: https://auth.echo.com
tags:
- name: shipments
  description: GET and POST to shipment endpoints.
paths:
  /v2/shipments/LTL:
    post:
      operationId: CreateShipmentLTL
      summary: Accepts an LTL shipment for creation
      description: Create a Less Than Truckload (LTL) shipment.
      tags:
      - shipments
      security:
      - basicAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ShipmentRequest'
      responses:
        '200':
          description: Shipment created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShipmentResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
  /v2/shipments/TL:
    post:
      operationId: CreateShipmentTL
      summary: Accepts a TL shipment for creation
      description: Create a Truckload (TL) shipment.
      tags:
      - shipments
      security:
      - basicAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ShipmentRequest'
      responses:
        '200':
          description: Shipment created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShipmentResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
  /v2/shipments/PL:
    post:
      operationId: CreateShipmentPL
      summary: Accepts a PL shipment for creation
      description: Create a Partial Load (PL) shipment.
      tags:
      - shipments
      security:
      - basicAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ShipmentRequest'
      responses:
        '200':
          description: Shipment created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShipmentResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
  /v2/shipments/{Id}:
    get:
      operationId: GetShipment
      summary: Returns a shipment
      description: Retrieve shipment details by shipment ID.
      tags:
      - shipments
      security:
      - basicAuth: []
      parameters:
      - name: Id
        in: path
        required: true
        schema:
          type: string
        description: The Echo shipment ID
      responses:
        '200':
          description: Shipment details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShipmentResponse'
        '401':
          description: Unauthorized
        '404':
          description: Shipment not found
  /v2/shipments/{Id}/status:
    get:
      operationId: GetShipmentStatus
      summary: Returns shipment status
      description: Retrieve the current status of a shipment.
      tags:
      - shipments
      security:
      - basicAuth: []
      parameters:
      - name: Id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Shipment status
        '401':
          description: Unauthorized
        '404':
          description: Not found
  /v2/shipments/{Id}/tracking:
    get:
      operationId: GetShipmentTracking
      summary: Returns tracking information for a shipment
      description: Retrieve real-time tracking information for a shipment.
      tags:
      - shipments
      security:
      - basicAuth: []
      parameters:
      - name: Id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Tracking information
        '401':
          description: Unauthorized
        '404':
          description: Not found
components:
  schemas:
    ShipmentRequest:
      type: object
      description: Request body for creating a shipment
      properties:
        origin:
          $ref: '#/components/schemas/Location'
        destination:
          $ref: '#/components/schemas/Location'
        pickupDate:
          type: string
          format: date
          description: Requested pickup date (YYYY-MM-DD)
        commodities:
          type: array
          items:
            $ref: '#/components/schemas/Commodity'
      required:
      - origin
      - destination
      - pickupDate
    ShipmentResponse:
      type: object
      description: Shipment response object
      properties:
        shipmentId:
          type: string
          description: Echo shipment ID
        status:
          type: string
          description: Current shipment status
        proNumber:
          type: string
          description: PRO number assigned to the shipment
    Commodity:
      type: object
      description: Freight commodity details
      properties:
        description:
          type: string
        pieces:
          type: integer
        weight:
          type: number
        weightUnit:
          type: string
          enum:
          - LB
          - KG
        freightClass:
          type: string
    Location:
      type: object
      description: Shipment location
      required:
      - companyName
      - address1
      - city
      - stateOrProvince
      - postalCode
      - country
      - locationType
      properties:
        companyName:
          type: string
        address1:
          type: string
        address2:
          type: string
        city:
          type: string
        stateOrProvince:
          type: string
          minLength: 2
          maxLength: 2
        postalCode:
          type: string
          minLength: 5
        country:
          type: string
          enum:
          - US
          - CA
          - MX
        locationType:
          type: string
          enum:
          - BUSINESS
          - CONSTRUCTIONSITE
          - RESIDENTIAL
          - TRADESHOW
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    apiKey:
      type: apiKey
      name: x-api-key
      in: header