# Errors

Canonical URL: https://doc.roote.ai/roote-api/errors



ROOTE returns structured errors where the endpoint contract documents them. This is not an exhaustive taxonomy.

## Error shape [#error-shape]

```json
{ "error": { "code": "invalid_coordinates", "message": "Latitude and longitude are invalid." } }
```

## Documented examples [#documented-examples]

| Code                  | Associated request                                                                                                        |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| `missing_query`       | A required search query is absent or empty.                                                                               |
| `no_results`          | A contract explicitly reports no result as an error. Geography endpoints may instead return HTTP 200 with an empty array. |
| `invalid_coordinates` | Latitude or longitude is missing, out of range, or incomplete.                                                            |
| `rate_limited`        | The current request limit has been exceeded.                                                                              |

## Empty and partial responses [#empty-and-partial-responses]

An empty result is not always an error. Geography can return `results: []`; Nearby Mobility distinguishes `available`, `empty`, and `none`; Nearby Services distinguishes `success`, `empty`, and `partial`. Preserve these distinctions.
