API reference / Reference

get/v1/entry-points

Ports of entry, joined to the airports behind them

Operation
listEntryPoints
Authentication
API key

`/v1/ports` answers what a government’s own form accepts; `/v1/airports` answers where an airport is. This is both at once — *"my passenger lands at NBO, is that a valid entry point?"* — which is the question a partner validating a booking actually has.

**`resolved_by` says which code scheme `value` turned out to be.** A gazetted list does not promise IATA, and one of ours uses ICAO: Kenya’s Isiolo is `hkis`, its ICAO code, because it has no IATA code at all.

`unresolved` lists values nothing matched. It is empty for all four destinations today, and an empty array is the signal that the capture and the airport set still agree.

Request

Parameters

destination_iso3queryrequiredstring
typequerystring
qquerystring

Responses

200The destination’s entry points, each joined where an airport matches.
destination_iso3stringrequired

one of: ETHSOMDJIKEN

countrystringrequired
sourcestringrequired
updatedstringnullrequired
landlockedbooleanrequired
entry_pointsEntryPoint[]required
unresolvedstring[]required
next_cursorstringnullrequired
400The request body or query failed validation.
errorobjectrequired
401No key, an unknown key, a revoked key, or a key whose tenant is not active. All four return an identical body on purpose: distinguishing them would let a caller discover which partners we have.
errorobjectrequired
403The key is valid but does not hold the scope this route requires.
errorobjectrequired
404Not found, or not yours. A resource belonging to another tenant answers 404 rather than 403, because 403 would confirm the record exists.
errorobjectrequired

Example

curl
curl -X GET https://api.haavisa.com/v1/entry-points \
  -H "Authorization: Bearer $HAAVISA_API_KEY"?destination_iso3=<destination_iso3>

More in Reference

Something unclear? The eligibility guide explains the model behind the answers; the errors guide covers the envelope.