Skip to content

token

Obtaining and using tokens

Operations

Obtain a bearer token from Echo Global Logistics

Request

Exchanges your application credentials for an OAuth 2.0 Bearer token using the Client Credentials flow.

Submit your client_id, client_secret, grant_type, and scope as form fields. On success, the response contains the access_token and its expiration time (expires_in, in seconds).

Cache and reuse the token for its full lifetime. Only call this endpoint again after the token expires.

Bodyapplication/x-www-form-urlencoded
client_idstringrequired

The supplied client ID generated for your application

client_secretstringrequired

The supplied client secret generated for your application

Required if grant_type is client_credentials

grant_typestringrequired

The type of grant you are using to obtain a token

Value:"client_credentials"
scopestringrequired

The scope(s) being requested by the application

Scopes are space-delimited

Scopes that are granted will be returned in the access token

Required if grant_type is client_credentials

Enum:"quotes:create""tender:action""load_status:read""invoice:read""connect_api:action""loads:read""loads:action"
curl -i -X POST \
  https://auth.echo.com/token \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode client_id=string \
  --data-urlencode client_secret=string \
  --data-urlencode grant_type=client_credentials \
  --data-urlencode scope=quotes:create

Responses

Success

Bodyapplication/json
access_tokenstring

JSON Web Token (JWT) that represents a session generated for a client

expires_ininteger

Number of seconds until the session expires

token_typestring

Type of access token - always set to Bearer

scopestring

scope(s) approved with the token

Response
{ "access_token": "NWE4Nzg2ZDEtNzQyMS00ZDViLThjMjctMGQwNjlmZjU5MWNkBGjFElT7CWzl0d....", "expires_in": 3600, "token_type": "Bearer", "scope": "quotes:create" }