| 400 | bad input_mint, bad output_mint | The quote mint is not base58 and not a known symbol | Fix the mint |
| 400 | invalid input_mint, invalid output_mint, invalid user_wallet | A swap mint or the wallet did not parse | Fix the request |
| 400 | bad mint | The path mint on /v1/token/{mint} or /v1/pools/{mint} is not base58 | Send the mint address, not a symbol |
| 400 | plain text, not JSON | A required parameter is missing or has the wrong type, for example Query deserialize error: missing field … | Fix the request |
| 401 | unauthorized | The key is missing or wrong | Only applies once keys are issued |
| 404 | no_route | No path between the tokens with enough liquidity | Try a smaller amount, raise max_hops, or lower min_liquidity. A new token may have no pool yet |
| 422 | price_impact_too_high | Every route exceeds max_price_impact_bps | Reduce the size, or raise the ceiling if the impact is acceptable |
| 422 | round_trip_unsound | Swapping the output straight back would profit, which signals stale or broken pool state | Do not force it. Retry shortly; the pool usually updates within a slot |
| 500 | varies, with pool | The route could not be compiled into a transaction | Retry. Report the pool if it persists |
| 503 | compute pool unavailable | Quote capacity is exhausted | Retry with backoff |