When Echo receives a request to the EchoSync Pricing API, different HTTP status codes can be returned depending on the request and its processing.
| Status Code | Description |
|---|---|
200 OK | The request was successfully processed. |
400 Bad Request | The request cannot be processed due to validation errors. Invalid request format, enum values, stop sequences, missing required fields for partial mode, or date/postal code format errors. Check the details array for specific validation failures. |
401 Unauthorized | Authentication credentials are missing or invalid. The access token is expired, invalid, or not provided in the Authorization header. Request a new token using your client credentials. |
403 Forbidden | Valid credentials provided but account lacks API access permissions. Contact your Echo Account Team to verify permissions. |
404 Not Found | GET only: The quote ID or quote key does not exist, has been deleted, or has expired. |
422 Unprocessable Entity | POST only: The request is valid but a quote could not be generated. No carriers available for the route, unserviceable postal codes, dates outside acceptable range, or equipment type unavailable. Verify postal codes, adjust dates (1-30 days typically works best), or try different equipment types. |
500 Internal Server Error | An internal error occurred in Echo's systems. Retry your request. If the issue persists, contact support with error codes and timestamps. |
502 Bad Gateway | The server received an invalid response from upstream services. Typically requires a fix on Echo's systems. Check status and retry. |
503 Service Unavailable | The server is temporarily unavailable. Service is down for maintenance or experiencing issues. Retry with exponential backoff. |
- Verify case-sensitive values:
pick,drop(stop.stopType)
- Number stops: 1, 2 (no gaps)
- First stop must be
pick, second stop must bedrop
- Add
locationTypeto all stops - Include
freight.handlingUnitswith packages - Each package must have
freightClass
- Dates:
yyyy-MM-ddformat - US postal codes: 5 digits or 9 digits with hyphen
- Canadian postal codes:
A1A 1A1,A1A1A1
- Request new access token (10-hour lifetime)
- Verify header:
Authorization: Bearer {token} - Check credentials are correct
- Verify quote ID/key is correct
- Check quote hasn't expired (Refer to expirationDate in response)
- Confirm using correct API version (V1 or V2)
- Validate postal codes exist and are correctly formatted
- Try nearby major cities to test route serviceability
- Adjust pickup dates (1-30 days out recommended)
- Try different equipment types
- Verify account-level pricing rules are not preventing quote generation for the requested lane or equipment type with Echo account representative.
All error responses include a details array with specific error messages:
message- High-level error descriptioncode- Error code identifierdetail- General error contextdetails- Array of specific validation errorsstatus- HTTP status code
The details array provides actionable information to resolve validation issues.