Skip to content
Last updated

Response Status Codes

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 OKThe request was successfully processed.
400 Bad RequestThe 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 UnauthorizedAuthentication 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 ForbiddenValid credentials provided but account lacks API access permissions. Contact your Echo Account Team to verify permissions.
404 Not FoundGET only: The quote ID or quote key does not exist, has been deleted, or has expired.
422 Unprocessable EntityPOST 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 ErrorAn internal error occurred in Echo's systems. Retry your request. If the issue persists, contact support with error codes and timestamps.
502 Bad GatewayThe server received an invalid response from upstream services. Typically requires a fix on Echo's systems. Check status and retry.
503 Service UnavailableThe server is temporarily unavailable. Service is down for maintenance or experiencing issues. Retry with exponential backoff.

Common Resolution Steps

400 Bad Request (POST)

Invalid enum values

  • Verify case-sensitive values: pick, drop (stop.stopType)

Stop sequence errors

  • Number stops: 1, 2 (no gaps)
  • First stop must be pick, second stop must be drop

Partial mode missing requirements

  • Add locationType to all stops
  • Include freight.handlingUnits with packages
  • Each package must have freightClass

Date/postal code format

  • Dates: yyyy-MM-dd format
  • US postal codes: 5 digits or 9 digits with hyphen
  • Canadian postal codes: A1A 1A1, A1A1A1

401 Unauthorized

  • Request new access token (10-hour lifetime)
  • Verify header: Authorization: Bearer {token}
  • Check credentials are correct

404 Not Found (GET)

  • Verify quote ID/key is correct
  • Check quote hasn't expired (Refer to expirationDate in response)
  • Confirm using correct API version (V1 or V2)

422 Unprocessable Entity (POST)

  • 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.

Error Response Format

All error responses include a details array with specific error messages:

  • message - High-level error description
  • code - Error code identifier
  • detail - General error context
  • details - Array of specific validation errors
  • status - HTTP status code

The details array provides actionable information to resolve validation issues.