Error handling
The endpoints return standard HTTP status codes. These include:
| Code | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not found |
| 429 | Rate limit exceeded |
| 500 | Internal server error |
In case of an error (4xx or 5xx status), the response body generally has the following structure:
| Field | Description | Type |
|---|---|---|
| message | Description of the error condition intended for a human audience | string |
| error | Error category | string |
| errors | More detailed error messages, e. g. for invalid requests | string |
Example 400 responses
{
"errors": {
"field": [
"can't be blank"
]
}
}
{
"error": "address or coordinate not found"
}
{
"error": "building block not found"
}
Example 401 response
{
"error": "not authorized"
}
Rate limiting
The QUIS API rate limits your requests on a daily basis. The daily limit varies based on your contract.
| Header | Description |
|---|---|
| X-RateLimit-Limit | The maximum number of requests you’re permitted to make per day. |
| X-RateLimit-Remaining | The number of requests remaining in the current rate limit window. |
| X-RateLimit-Reset | The time at which the current rate limit window resets in UTC epoch seconds. |
Internal server error
The QUIS team will be notified if an internal server error is triggered (HTTP error 500). The response body can be ignored in this case.