API reference / Applications

post/v1/applications/lookup

Look up an application by reference and email

Operation
lookupApplication
Authentication
API key

For the public status tracker. The reference is not a secret — `HV-` plus six characters is about a billion combinations — so the email is the second factor and both are matched. A reference that does not exist and a reference whose email does not match return the same 404, so the endpoint cannot be used to confirm that a reference is real.

The response is an allowlist: it carries the status, the party size and the frozen total, and never `form_data`, which holds every passport number and date of birth on the application.

Request

Body

referencestringrequired

The reference from the confirmation email.

example: HV-QYFHW6M4D8

emailstringrequired

The address the application was made with.

Responses

200The application, as much of it as a reference and an address unlock.
referencestringrequired
government_referencestringnullrequired
destination_iso3stringrequired
statusstringrequired

one of: draftawaiting_paymentpaidsubmittedunder_reviewapprovedrejectedcancelledexpired

service_tierstringnullrequired
travellersintegerrequired

The party size including the lead.

currencystringrequired
total_centsintegerrequired
created_atstringrequired
submitted_atstringnullrequired
decided_atstringnullrequired
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 POST https://api.haavisa.com/v1/applications/lookup \
  -H "Authorization: Bearer $HAAVISA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "reference": "HV-QYFHW6M4D8",
    "email": "<email>"
  }'

More in Applications

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