Echo Global Logistics quotes API
Used for creating and retrieving quotes.
Used for creating and retrieving quotes.
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