Echo Global Logistics quotes API

Used for creating and retrieving quotes.

OpenAPI Specification

echo-global-quotes-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  contact:
    name: Echo Global Logistics
    url: https://www.echo.com
    email: info@echo.com
  version: 1.0.0
  title: Echo Authorizer documents quotes 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: quotes
  description: Used for creating and retrieving quotes.
paths:
  /v2/quotes/{id}:
    get:
      operationId: Quote_v2.show
      description: Used for retrieving quotes.
      summary: Used for retrieving quotes.
      tags:
      - quotes
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                description: A quote response
                type: object
                required:
                - quote
                properties:
                  quote:
                    type: object
                    allOf:
                    - required:
                      - status
                      - quoteNumber
                      - quoteKey
                      - quoteId
                      - createdDate
                      - expirationDate
                      - stops
                      - serviceOptions
                      type: object
                      properties:
                        status:
                          type: string
                          description: The status of the quote.
                          enum:
                          - pending
                          - open
                        quoteId:
                          type: string
                          description: Human-readable quote number.
                          example: AB35C7CX98
                        quoteKey:
                          type: string
                          description: The unique key of the quote
                          example: 42a815ef1b444504b422b0dc24e44f8a
                        quoteNumber:
                          type: string
                          description: Human-readable quote number.
                          example: AB35C7CX98
                        createdDate:
                          type: string
                          format: date-time
                          description: The creation date of the quote. (RFC 3339)
                        expirationDate:
                          type: string
                          description: The expiration date of the quote. (RFC 3339)
                          format: date-time
                          example: '2019-05-09T18:43:21.226-06:00'
                        stops:
                          type: array
                          minItems: 2
                          items:
                            type: object
                            properties:
                              stopNumber:
                                type: integer
                                minimum: 1
                                example: 1
                              stopType:
                                type: string
                                enum:
                                - pick
                                - drop
                              postalCode:
                                type: string
                                minLength: 5
                              country:
                                type: string
                                enum:
                                - us
                              serviceWindow:
                                type: object
                                properties:
                                  startDate:
                                    type: string
                                    format: date
                        serviceOptions:
                          type: array
                          items:
                            type: object
                            properties:
                              serviceOptionId:
                                type: integer
                                example: 1
                              currencyType:
                                type: string
                                enum:
                                - usd
                              transitTimeInDays:
                                type: integer
                                example: 3
                              totalMileage:
                                type: number
                                example: 2075
                              pickupDate:
                                type: string
                                format: date
                              mode:
                                type: string
                                enum:
                                - tl
                              totalCost:
                                type: number
                              equipment:
                                type: string
                                enum:
                                - van_dry_53
                                - reefer_53
                                - flatbed_48
                              isHazmat:
                                type: boolean
                                default: false
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden Invalid Token or API Key
        '404':
          description: Not found
        '500':
          description: Server not found
        '503':
          description: Service unavailable
      security:
      - customer_api_authorizer_get: []
  /v2/quotes:
    post:
      operationId: Quote_v2.create
      description: Used for creating quotes.
      summary: Used for creating quotes.
      tags:
      - quotes
      parameters:
      - in: header
        name: X-Echo-Channel-Id
        schema:
          type: string
        required: false
      - in: header
        name: X-Echo-System-Id
        schema:
          type: string
        required: false
      requestBody:
        content:
          application/json:
            schema:
              description: A quote request
              type: object
              required:
              - modes
              - stops
              properties:
                modes:
                  type: array
                  items:
                    type: string
                    enum:
                    - tl
                stops:
                  type: array
                  minItems: 2
                  items:
                    type: object
                    properties:
                      stopNumber:
                        type: integer
                        minimum: 1
                      stopType:
                        type: string
                        enum:
                        - pick
                        - drop
                      postalCode:
                        type: string
                        minLength: 5
                      country:
                        type: string
                        enum:
                        - us
                      serviceWindow:
                        type: object
                        properties:
                          startDate:
                            type: string
                            format: date
                equipment:
                  type: string
                  enum:
                  - van_dry_53
                  - reefer_53
                  - flatbed_48
                isHazmat:
                  type: boolean
                  default: false
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Invalid token or API key
        '404':
          description: Not found
        '422':
          description: Service options not found
        '500':
          description: Server not found
        '502':
          description: Bad gateway
        '503':
          description: Service unavailable
      security:
      - customer_api_authorizer_post: []
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    apiKey:
      type: apiKey
      name: x-api-key
      in: header