Check an address
POST /v1/addresses/validate — find out if an address is accurate enough.
/v1/addresses/validate10 req/sRequest
{
"street": "Sortedam Dossering 55",
"city": "Copenhagen",
"postcode": "2100"
}Response
{
"valid": true,
"coordinates": { "latitude": 55.6928, "longitude": 12.5701 },
"normalized": {
"street": "Sortedam Dossering 55",
"city": "Kobenhavn O",
"postcode": "2100"
}
}If Univooz cannot find the address:
{
"valid": false,
"reason": "address_low_confidence",
"message": "The address resolved only to an approximate location."
}A bad address gives 200 with valid: false. It is not an error. This endpoint is a
check.
reason is address_not_found,
address_ambiguous or
address_low_confidence — the same codes that
POST /v1/orders gives. So one part of your code can handle both.
normalized is the corrected form. Univooz stores nothing.
Errors
| Status | Code |
|---|---|
| 400 | invalid_request |
| 401 | invalid_api_key |
| 413 | request_too_large |
| 429 | rate_limit_exceeded |
Use it at the correct time
Call this when your user types the address, not when you create the order.
A person is present then, and can correct a mistake. This is the difference between a corrected address and a failed delivery.
Univooz uses the same search, the same country and the same stored results as
POST /v1/orders. So an address that passes here also passes at creation, and the order does
not pay for a second search.