API reference

168 operations across 21 areas. Generated from the OpenAPI document, which is generated from the schemas the API validates with — so a field here cannot disagree with the API.

Base URL https://api.haavisa.com. All requests and responses are JSON. Send your key as Authorization: Bearer or x-api-key.

Requirements

Eligibility and the rules behind it.

Products

The catalogue of purchasable products.

Applications

The draft, submission and decision lifecycle.

Health

Unauthenticated liveness and readiness.

JSON:API

The `/v3` surface. The same questions as `/v1` in the envelope another provider’s clients already parse — `{ meta, data: [{ id, type, attributes }] }` and JSON:API error documents. A separate version rather than content negotiation, because those clients send no `Accept` header to negotiate with.

Reference

Captured government reference data — ports, airlines, countries, document requirements. Read-only, and each response carries the capture it came from.

Partner

Partner self-service. Scoped to the calling key’s own tenant.

Billing

Statements of charges, computed from the ledger.

Partner auth

Sign-in for the partner portal. Public by necessity — a browser has no API key.

Webhooks

Partner-facing event delivery. Signed, retried, and logged.

Documents

Presigned upload, async validation, and short-lived retrieval.

Payments

Provider selection, authorisation and provider callbacks.

Admin

Internal. Requires `projects:write`, which no partner key is ever issued.

get/v1/admin/activityAPI key

Search the audit log

get/v1/admin/applicant-usersAPI key

Search the applicant directory

post/v1/admin/applicantsAPI key

Create an applicant account by hand

get/v1/admin/applicationsAPI key

The operations queue

get/v1/admin/applications/{id}API key

One application in full

post/v1/admin/applications/{id}/decision-documentAPI key

Attach an authority decision PDF

post/v1/admin/applications/{id}/documents-requestAPI key

Ask the applicant for more documents

post/v1/admin/applications/{id}/documents-request/{requestId}/reviewAPI key

Accept, reject or cancel a requested replacement

get/v1/admin/applications/{id}/documents/{documentId}API key

Fetch one uploaded application document

post/v1/admin/applications/{id}/emailAPI key

Email the applicant about their application

get/v1/admin/applications/{id}/evidence/{filename}API key

Fetch one submission evidence screenshot

post/v1/admin/applications/{id}/government-paymentAPI key

Hand the government its fee

post/v1/admin/applications/{id}/government-payment/recordAPI key

Record a portal quote, uncertain payment, receipt or reconciliation

post/v1/admin/applications/{id}/requirements/reviewAPI key

Verify a requirement or record an evidenced exemption

post/v1/admin/applications/{id}/status-checkAPI key

Ask the portal about this application now

post/v1/admin/applications/{id}/submissionAPI key

Record a government submission

post/v1/admin/applications/{id}/submission/enqueueAPI key

Queue a browser submission

get/v1/admin/applications/{id}/timelineAPI key

Everything that happened to one application

get/v1/admin/automationAPI key

Read submission and status-check queues

get/v1/admin/customersAPI key

Search applicant customers

get/v1/admin/customers/{id}API key

One applicant account, with the applications it owns

post/v1/admin/customers/{id}/verification-emailAPI key

Re-send the address-verification email

get/v1/admin/documentsAPI key

List applicant documents

get/v1/admin/government-paymentsAPI key

List government fee handoffs

get/v1/admin/mailboxAPI key

List messages from a Postern inbox

get/v1/admin/mailbox/{source}/{messageId}API key

Read a matched Postern message

get/v1/admin/notificationsAPI key

Messages that did not land

post/v1/admin/notifications/{id}/requeueAPI key

Put one message back in the worker’s path

get/v1/admin/operatorsAPI key

List operations team access

post/v1/admin/operatorsAPI key

Add an operations user

patch/v1/admin/operators/{email}API key

Change an operations role or access state

post/v1/admin/operators/{email}/invitationAPI key

Re-send an operator’s invitation

get/v1/admin/operators/authorization/{email}API key

Resolve an operations user

get/v1/admin/payment-recoveryAPI key

List abandoned payment attempts

post/v1/admin/payment-recovery/{id}/remindAPI key

Send a checkout reminder

get/v1/admin/paymentsAPI key

Recent payments

patch/v1/admin/products/{code}/availabilityAPI key

Show or hide one product

patch/v1/admin/products/{code}/pricingAPI key

Update a product government fee

patch/v1/admin/service-tiers/{id}/pricingAPI key

Update a service tier fee

get/v1/admin/statsAPI key

Queue and revenue totals

post/v1/admin/stripe/catalog/syncAPI key

Push the catalogue and service tiers to Stripe

get/v1/admin/system/submission-workerAPI key

Read the submission worker control

patch/v1/admin/system/submission-workerAPI key

Enable or pause government submission processing

get/v1/admin/visa-dataAPI key

Read visa data and price catalogue

patch/v1/admin/visa-data/{destination}/availabilityAPI key

Show or hide every product for one destination

post/v1/admin/visa-data/{destination}/requirementsAPI key

Publish a new version of a destination’s document requirements

post/v1/admin/visa-data/{destination}/sourcesAPI key

Add a visa data source

delete/v1/admin/visa-data/sources/{id}API key

Remove a visa data source

patch/v1/admin/visa-data/sources/{id}API key

Update a visa data source

get/v1/checkout-returnAPI key

Resolve a Stripe checkout return

get/v1/rules/freshnessAPI key

Which eligibility answers are past their re-verification cadence

get/v2/projectsAPI key

List tenants

post/v2/projectsAPI key

Create a tenant

get/v2/projects/{id}API key

Fetch a tenant and its keys

put/v2/projects/{id}API key

Reconfigure a tenant

delete/v2/projects/{id}/keys/{prefix}API key

Revoke any tenant’s key

get/v2/projects/{id}/usersAPI key

List a tenant’s portal users

post/v2/projects/{id}/usersAPI key

Invite a partner user

Support

Account

Rules

Accounts

Messaging

Analytics

Notifications