Registry entry
Tanzania — Ordinary Passport Application (Idara ya Uhamiaji e-Immigration Portal)
The Immigration Department's (Idara ya Uhamiaji) online "Ombi la Pasipoti" (Passport Application) wizard, served unauthenticated at eservices.immigration.go.tz, for a new (first-time) ordinary passport application by an adult applicant present in mainland Tanzania. Opens Tanzania's Passport vertical, the country's sixth and last modelled vertical (following Business Formation via BRELA Form 14a, National ID via NIDA Form 2A, DMV via TRA Form MV10, Taxes via TRA ITX201.01-E, and Visa via the Washington, D.C. embassy's fillable Visa Application Form) — Tanzania now stands at 6 of 6. This is a live multi-step HTML wizard, not a downloadable PDF/AcroForm: the Immigration Department's own public forms-download page lists no ordinary passport application PDF, and the process is exclusively completed through this e-Immigration portal (see VERIFICATION.md). Models the wizard's six data-collection steps — application setup (type/contact/location), personal information (identity, national ID, photo, date and place of birth), contact and residential address, parents' information, travel purpose, and two emergency/witness contacts — plus its required-attachments checklist. Out of scope: the wizard's own subsequent Declaration ("Tamko Rasmi"), Payment ("Malipo"), and Complete ("Kamilika") steps, which were not walked this cycle to avoid completing a real payment transaction or an unnecessary additional live submission on a production government system (see VERIFICATION.md for what was and was not independently confirmed); the Renewal/electronic-passport, Lost, and Damaged application-type pathways, which the wizard's own first field offers but whose downstream steps were not independently walked (only the New/first-time pathway was); and the wizard's "Nje ya Nchi (UBALOZINI)" (abroad/at an embassy) location option, whose downstream steps likely differ from the in-Tanzania pathway modelled here. GovSchema is an independent, non-profit standards body; this document describes the request only, does not submit anything to the Government of Tanzania on an applicant's behalf, and does not imply endorsement by the United Republic of Tanzania or its Immigration Department.
Registry entry
tz/immigration/passport-application
Machine access
- Schema document
registry/tz/immigration/passport-application/1.0.0/schema.jsonapplication/schema+json- Verification record
registry/tz/immigration/passport-application/1.0.0/VERIFICATION.mdtext/markdown- Registry catalog
registry/index.jsonone record per schema id
Field reference
53 fields across 7 steps, read from the published schema.json, with names, types, requiredness, and validation as the document states them. The live government form remains the authoritative source.
Taarifa za Msingi
-
applicationTypeenum requiredThe type of passport request. Only the NEW (Ombi Jipya / new/first-time application) pathway's downstream steps were independently walked and are modelled by this schema's remaining fields; the other three values are real options on the live form but their own downstream steps were not verified this cycle (see VERIFICATION.md).
enum: NEW | FULL_EPASSPORT_REPLACEMENT | LOST | DAMAGED -
mobileNumberstring requiredThe applicant's mobile phone number, entered on the initial application-setup screen (distinct from the second contact mobile number collected later in the wizard). The live form validates it via an international phone-number widget defaulting to the Tanzania (+255) country code.
classification: pii -
applicantLocationenum requiredWhether the applicant is applying from within Tanzania or from abroad via a Tanzanian embassy/consulate. Only the in-Tanzania pathway's downstream steps were independently walked this cycle.
enum: IN_TANZANIA | ABROAD_EMBASSY -
processingTerritoryenum requiredThe territory whose Immigration office will process the application.
enum: MAINLAND | ZANZIBAR
Taarifa Binafsi
-
firstNamestring requiredThe applicant's first name.
length: 0–50classification: pii -
middleNamestring optionalThe applicant's middle name, if any.
length: 0–50classification: pii -
familyNamestring requiredThe applicant's family name/surname.
length: 0–50classification: pii -
genderenum requiredThe applicant's gender (Mume = Male, Mke = Female — the live form's own two radio-button options).
enum: MALE | FEMALEclassification: pii -
maritalStatusenum requiredThe applicant's marital status.
enum: SINGLE | MARRIED | DIVORCED | WIDOWED -
occupationstring optionalThe applicant's occupation.
length: 0–50 -
nationalIdstring optionalThe applicant's National Identification Number (NIN), for applicants who hold one.
length: 0–20classification: sensitive-pii -
zanzibarIdstring optionalThe applicant's Zanzibar Resident Identity Card number, for Zanzibar residents.
length: 0–20classification: sensitive-pii -
photofile requiredThe applicant's recent photograph. The live form's own guidelines page specifies a light-blue background. Not marked required by the initial page markup, but confirmed genuinely mandatory via a live server-side validation error ('Please upload a file.') when omitted; the server also validates the uploaded file is a real image, not merely a correctly-named one (see VERIFICATION.md).
-
dateOfBirthdate requiredThe applicant's date of birth, collected on the live form as three separate day/mwezi/mwaka (day/month/year) select menus, collapsed here to a single date field.
patternclassification: pii -
birthCountrystring requiredThe applicant's country of birth, selected from the live portal's own ~250-entry external country-reference list (confirmed values include TANZANIA and KENYA; not reproduced in full — see VERIFICATION.md). Selecting Tanzania activates a mandatory administrative-address cascade (`birthAdminTerritory` through `birthVillageOrAddressDetail` below); any other country instead requires only a single free-text `birthVillageOrAddressDetail`.
-
birthAdminTerritoryenum optionalThe Tanzanian territory (Mainland or Zanzibar) of the applicant's birthplace. Required only when `birthCountry` is Tanzania; confirmed live via the server's own 'Eneo is required.' validation message when this field is left blank with Tanzania selected.
enum: MAINLAND | ZANZIBAR -
birthAdminRegionstring optionalThe Tanzanian region of the applicant's birthplace, dependent on `birthAdminTerritory`. Required only when `birthCountry` is Tanzania; confirmed live via the server's own 'Mkoa is required.' validation message.
-
birthAdminDistrictstring optionalThe Tanzanian district of the applicant's birthplace, dependent on `birthAdminRegion`. Required only when `birthCountry` is Tanzania; confirmed live via the server's own 'Wilaya is required.' validation message.
-
birthAdminWardstring optionalThe Tanzanian ward (Kata) or, in Zanzibar, Shehia of the applicant's birthplace, dependent on `birthAdminDistrict`. Required only when `birthCountry` is Tanzania; confirmed live via the server's own 'Kata/Shehia is required.' validation message.
-
birthVillageOrAddressDetailstring requiredThe applicant's specific birthplace detail: a village/street (Mtaa/Kijiji) when `birthCountry` is Tanzania, or a full free-text birthplace address ('Anwani Kamili ya Ulipozaliwa') when born abroad. The live form re-labels this same field depending on `birthCountry` but requires it in both cases — confirmed live via the server's own 'Tafadhali Jaza Anwani Kamili ya Ulipozaliwa' validation message when tested with a foreign birth country.
Anuani ya Makazi
-
postalAddressstring optionalThe applicant's postal box address.
length: 0–100 -
contactPhoneNumberstring requiredThe applicant's contact mobile phone number for this step, distinct from `mobileNumber` collected in the initial application-setup screen.
classification: pii -
emailAddressstring optionalThe applicant's email address.
patternclassification: pii -
residenceRegionstring requiredThe Tanzanian region of the applicant's current residential address, selected from the live form's own fixed 30-region list.
-
residenceDistrictstring requiredThe district of the applicant's current residential address, dependent on `residenceRegion` (populated by the same reference AJAX endpoint used for the birth-place cascade above).
-
residenceVillagestring requiredThe village/street of the applicant's current residential address.
-
houseNumberstring optionalThe house number of the applicant's current residential address.
Habari za Wazazi
-
fatherFullNamestring requiredThe applicant's father's full name.
length: 0–100classification: pii -
fatherDateOfBirthdate requiredThe applicant's father's date of birth, collected as three separate day/month/year selects, collapsed here to a single date field.
patternclassification: pii -
fatherBirthCountrystring requiredThe applicant's father's country of birth, from the same external country-reference list as `birthCountry`.
-
fatherBirthPlaceDetailstring optionalThe applicant's father's specific birthplace detail, mirroring the applicant's own `birthVillageOrAddressDetail`. Confirmed live to become read-only (and so not fillable) once a foreign `fatherBirthCountry` is selected; whether this field (and a parallel Region/District/Ward cascade) becomes required when `fatherBirthCountry` is Tanzania, as it does for the applicant, was not independently confirmed this cycle — modelled optional pending that confirmation (see VERIFICATION.md).
-
motherFullNamestring requiredThe applicant's mother's full name.
length: 0–100classification: pii -
motherDateOfBirthdate requiredThe applicant's mother's date of birth, collected as three separate day/month/year selects, collapsed here to a single date field.
patternclassification: pii -
motherBirthCountrystring requiredThe applicant's mother's country of birth, from the same external country-reference list as `birthCountry`.
-
motherBirthPlaceDetailstring optionalThe applicant's mother's specific birthplace detail, mirroring `fatherBirthPlaceDetail` above — see that field's own description for the same disclosed, unconfirmed conditional requiredness.
Habari za Safari
-
travelPurposeenum requiredThe applicant's stated purpose for travel/holding a passport.
enum: 11 values -
visitCountrystring requiredThe country the applicant intends to visit, from the same external country-reference list as `birthCountry`.
Wakati wa Dharura
-
firstContactFullNamestring requiredFull name of the first emergency contact.
length: 0–100classification: pii -
firstContactOccupationstring requiredOccupation of the first emergency contact.
length: 0–50 -
firstContactPostalBoxstring optionalPostal box address of the first emergency contact.
length: 0–400 -
firstContactPhoneNumberstring requiredMobile phone number of the first emergency contact.
classification: pii -
firstContactTownstring requiredTown of the first emergency contact's address.
length: 0–50 -
firstContactStreetstring requiredStreet of the first emergency contact's address.
length: 0–50 -
firstContactHouseNumberstring optionalHouse number of the first emergency contact's address.
length: 0–50 -
firstContactRelationshipstring requiredThe first emergency contact's relationship to the applicant.
length: 0–50 -
secondContactFullNamestring requiredFull name of the second emergency contact.
length: 0–100classification: pii -
secondContactOccupationstring requiredOccupation of the second emergency contact.
length: 0–50 -
secondContactPostalBoxstring optionalPostal box address of the second emergency contact.
length: 0–400 -
secondContactPhoneNumberstring requiredMobile phone number of the second emergency contact.
classification: pii -
secondContactTownstring requiredTown of the second emergency contact's address.
length: 0–50 -
secondContactStreetstring requiredStreet of the second emergency contact's address.
length: 0–50 -
secondContactHouseNumberstring optionalHouse number of the second emergency contact's address.
length: 0–50 -
secondContactRelationshipstring requiredThe second emergency contact's relationship to the applicant.
length: 0–50
Verification record
This file is the source-review record for this document version, per the manual-source-review-v1 practice. It documents the provenance of the published fields and flow and states the current verification claim honestly.
Current claim
status:draftverification.method:manual-source-review-v1verification.lastVerifiedAt:2026-07-16
This is a GovSchema Standard Research cycle (GOV-3281). Tanzania stood at 5 of 6 verticals entering this cycle (Business Formation via tz/brela/company-registration-form-14a, National ID via tz/nida/application-form-2a, DMV via tz/tra/vehicle-registration, Taxes via tz/tra/itx201-01-e-individual-income-tax-return, and Visa via tz/immigration/visa-application) — Passport was the sole vertical left open and explicitly disclosed as unscreened by the prior GOV-3216 cycle (see CATALOG.md's Executive Summary entry for that cycle, "leaving only Passport open for Tanzania"). This document closes it: Tanzania now stands at 6 of 6.
Discovery
The Immigration Department's own public forms library was checked first:
`` $ curl -s https://www.immigration.go.tz/index.php/application-and-declaration-forms ``
This page lists downloadable forms for Citizenship/Naturalization, Visa, Residence Permit, Dependent Pass, and Business Pass — no ordinary passport application PDF. Tanzanian consular/embassy sites were checked next, per this same jurisdiction's own established consular-form precedent (the already-published tz/immigration/visa-application was itself sourced from the Washington, D.C. embassy). The embassy's own text states passports are lodged at Immigration HQ, a Regional/District Immigration Office, or via the e-Immigration portal — not issued or form-distributed at missions abroad. Two adjacent AcroForm PDFs were found on the embassy site (Passport_Change_of_Name_Endorsement.pdf, Passport_Child_Endorsement.pdf) but are post-issuance amendment forms, not the ordinary application — disclosed as a narrower backlog candidate for a possible future companion schema, not modelled here.
This confirmed a genuine gap (not a fetch failure): ordinary passport applications in Tanzania are handled exclusively through the online e-Immigration portal, https://eservices.immigration.go.tz.
Method: live wizard walked with a real headless browser
The portal renders each step server-side in response to the previous step's own successful POST — a static fetch cannot see anything beyond the first screen. Playwright + system Chromium was used (this environment's established recipe: executablePath /paperclip/.cache/ms-playwright/chromium-1228/chrome-linux64/chrome, LD_LIBRARY_PATH=/paperclip/chrome-sysroot/usr/lib/x86_64-linux-gnu:/paperclip/chrome-sysroot/usr/lib), with a realistic desktop Chrome User-Agent, headless.
Step 0 — apply
`` $ curl -sI https://eservices.immigration.go.tz/online/web/passport/apply HTTP/1.1 200 OK ``
Plain server-rendered HTML, no login wall. Presents 4 fields (PassportBasicDetails[ApplicationTypeID], [MobileNo], [Priority], [TerritoryID]) protected only by an invisible reCAPTCHA v3 (grecaptcha.execute("6LcJHLwUAAAAAPonDYU5WjmxbSEuUcjCXH6pBxY-", {action: "apply"}), auto-resolved client-side with no visible challenge, the resulting token silently written into a hidden field). No CAPTCHA-solving was attempted or needed — the invisible v3 check runs automatically.
Submitting this step with placeholder data (application type = New/"Ombi Jipya"; a placeholder Tanzanian mobile number; location = in-Tanzania; territory = Mainland) generated a real Reference ID in the Immigration Department's live system (e.g. 26NL-E07F-XQ16) — the portal's own "Kidokezo Muhimu" (Important Tip) guidance page explicitly instructs applicants to save this ID to resume an incomplete application later, so this is a designed, expected side effect of using the wizard at all, not an unintended one. This is disclosed here rather than concealed: verifying a live multi-step wizard (as opposed to a downloadable static form) has this trade-off, one this registry has already accepted for br/tse/requerimento-alistamento-eleitoral and si/e-uprava/vloga-za-registracijo-vozila. Only placeholder/fabricated applicant data was used throughout this verification — no real person's information was entered — and the wizard was never walked past the Attachments step (step_six; see below), so no payment was made and no application was ever completed or submitted for actual processing.
Steps 1-5 — each independently walked, each step's real rendered form captured
Each step's HTML (page.content()) was captured immediately after the previous step's SaveNext submission succeeded, and every <input>/ <select>'s id/name, its <label> text, its aria-required/required CSS class, and (for <select>) its full <option> list were read directly from the live markup:
step_one(PassportPersonalAndCitizenship[...]) — "Taarifa Binafsi" (first/middle/family name, gender as a 2-option radio, marital status, occupation, national ID, Zanzibar ID), "Utambulisho" (the photo upload), and "Tarehe na Mahali pa Kuzaliwa" (date of birth as three day/month/year<select>menus, plus a birth-country-gated address cascade).step_two(PassportContactAndResidentialAddress[...]) — "Mawasiliano" (postal address, a second contact mobile number, email) and "Anuani ya Makazi" (a Tanzania region/district/village residential address cascade, house number).step_three(PassportParentsInformation[...]) — "Habari za Wazazi": full name, date of birth (day/month/year), and birth country for both father and mother, each with its own birth-place-detail field mirroring the applicant's own.step_four(PassportTravelAndGuardian[...]) — "Habari za Safari": a single travel-purpose<select>(11 options) and a destination-country<select>.step_five(PassportEmergencyAndWitness[...]) — "Wakati wa Dharura": two full emergency-contact blocks (name, occupation, postal box, phone, town, street, house number, relationship).
Every SaveNext click engaged the wizard's real client-side and server-side validation (never bypassed or scripted around), so every field's required/requiredWhen value below reflects an actually observed validation outcome, not an inference from the initial markup alone.
The applicant's birth-place cascade: confirmed live via real server errors
A placeholder foreign birth country (Kenya, the live portal's internal country-reference-list ID 116) was deliberately used for the applicant, father, and mother in the walk-through that reached step_six, to avoid triggering three separate nested Region→District→Ward AJAX cascades (one each for applicant/father/mother) in a single session. The applicant's own cascade, however, was independently confirmed live in a separate attempt: selecting Tanzania (ID 220) for BirthCountryID and submitting without filling the dependent fields produced these real server-side error messages, one per newly-required field:
`` Eneo is required. Mkoa is required. Wilaya is required. Kata/Shehia is required. Mtaa/Kijiji is required. ``
This confirms birthAdminTerritory, birthAdminRegion, birthAdminDistrict, birthAdminWard, and birthVillageOrAddressDetail all become required specifically when birthCountry is Tanzania — modelled via requiredWhen: { field: "birthCountry", equals: "TANZANIA" } on the first four (the fifth is required unconditionally; see below). The same attempt, with a foreign country selected instead, produced:
`` Tafadhali Jaza Anwani Kamili ya Ulipozaliwa. ``
("Please fill the full address of birthplace.") against the very same underlying field (BirthVillage), which the live form dynamically re-labels from "Mtaa/Kijiji" to "Anwani Kamili ya Ulipozaliwa" depending on birthCountry — confirming birthVillageOrAddressDetail is required in both branches, just under a different label and semantics. This is modelled as a single unconditionally-required: true field, matching the live form's own actual behavior rather than a requiredWhen that would incorrectly imply it is optional for foreign-born applicants.
Not independently confirmed: whether the same five-field cascade requirement applies to fatherBirthCountry/motherBirthCountry when set to Tanzania. What was confirmed live: FatherBirthVillage/ MotherBirthVillage become read-only or disabled) once a foreign country is selected for that parent — visually and functionally consistent with the applicant's own cascade pattern, but this cycle did not select Tanzania for either parent to observe the equivalent required-field error messages. fatherBirthPlaceDetail/motherBirthPlaceDetail are therefore modelled required: false (a disclosed, most-likely-incomplete simplification, not a confirmed fact) — see "Scoping decisions" below.
Photo upload: real image-content validation, not just a filename check
The applicant-photo field (PassportPersonalAndCitizenship[Photo], a Krajee kartik/file widget) rejected a hand-built minimal PNG that had simply been renamed to .jpg, with the live error The file "mock_photo.jpg" is not an image. — confirming the server inspects real image content, not merely the file extension. A genuine small JPEG (produced with the sharp library, already present in this environment, converting the same synthetic PNG) was accepted and the step advanced. This registry's sg/ica/passport-application precedent is followed for modelling photo as a fields[] entry of type: "file" (it lives inline in the step_one form alongside scalar personal-data fields) rather than a documents[] entry, which is reserved here for the dedicated, separately-endpointed uploads in step_six.
Step 6 — step_six (Viambatanisho / Attachments), reached but not completed
The Attachments page lists exactly three mandatory documents for this application's own (server-computed) requirement set, each with its own dedicated upload endpoint:
| DocTypeID | Label (Swahili) | Modelled as | |---|---|---| | 2 | Cheti/Kiapo cha Kuzaliwa cha Mzazi wa Mwombaji | parentBirthCertificateOrAffidavit | | 1 | Cheti/Kiapo cha Kuzaliwa Mwombaji | applicantBirthCertificateOrAffidavit | | 5 | Kitambulisho cha Kazi na Barua ya Ombi la Pasipoti toka Kwa Mwajiri (Kwa Walioajiriwa) au Barua ya Utambulisho toka Serikali ya Mtaa/Afisa Mtendaji wa Kata | employmentIdOrWardIntroductionLetter |
Opening the "Weka" (Upload) modal for DocTypeID 2 confirmed the underlying mechanism: a small dedicated form (/online/web/passport/attachment?DocTypeID=2&OperationType=Insert) with hidden PassportSupportingDocs[ApplicationID]/[DocID]/[DocTypeID] fields and a single PassportSupportingDocs[document] file input — a simple one-file-per-document-type mechanism, confirming the three documents[] entries above are each an independent upload, not a single multi-file drop zone.
The page additionally lists 14 further documents that "may be required" at final submission (marriage certificate, naturalization certificate, return air ticket, employer/parent-guardian consent letters, a grandparent's birth certificate, etc.) — this is disclosed as a real, non-exhaustive supplementary list per the portal's own prose, not modelled as additional required documents[] entries, since the three above are the only ones the live page itself currently marks mandatory for this scenario.
Not reached this cycle: a real multi-part AJAX file upload through the Attachments modal's own SaveNext gate (the button stays disabled until all three uploads succeed) was attempted once; the modal's dismiss/close interaction did not cleanly release for a second attempt within the same browser session, and this cycle did not treat pushing through that automation friction as worth a second live submission. As a result, "Tamko Rasmi" (Declaration), "Malipo" (Payment), and "Kamilika" (Complete) — the three steps after Attachments, per the wizard's own left-hand step list — were never seen and are not modelled. This is disclosed as an intentional scope boundary, not a silent omission: Payment in particular is a transaction, not applicant-supplied form data, and this registry has consistently excluded payment/completion steps from other schemas' fields[] (e.g. br/tse/requerimento-alistamento-eleitoral excludes TSE's own control-number payment step).
Scoping decisions (disclosed, not fidelity gaps)
- New/first-time applications only.
applicationType's four live options (New, Full/e-passport replacement, Lost, Damaged) were all read from the initial step's own<select>, but only the New ("Ombi Jipya") pathway's downstream steps were walked and are modelled by this document's remaining fields. The other three almost certainly branch to a different, narrower flow (e.g. requesting a police-loss-report reference for the Lost pathway) not verified this cycle. - In-Tanzania applicants only.
applicantLocation's "Nje ya Nchi (UBALOZINI)" (abroad/embassy) option was seen but not walked; its downstream steps likely differ from the in-Tanzania pathway modelled here (per the discovery step above, embassies do not issue passports directly, so this option's actual flow was not investigated further). - External/dynamic reference-table fields.
birthCountry,fatherBirthCountry,motherBirthCountry, andvisitCountryare each backed by the live portal's own ~250-entry external country-reference list (confirmed values: Tanzania =220, Kenya =116, Uganda =232), not a fixed client-side enum reproducible in full. Modelled as openstringfields per this registry's established external-code-table convention (see e.g.br/tse/requerimento-alistamento-eleitoral'smaritalStatus/occupationfields).residenceRegion/residenceDistrictare similarly backed by a Tanzania-only fixed region/district reference list (confirmed 30 regions, e.g. Dar es Salaam =32, and its own districts including Ilala =8), also modelled as open strings. - Day/month/year triplets collapsed to one
datefield each. Every date of birth (dateOfBirth,fatherDateOfBirth,motherDateOfBirth) is collected on the live form as three separate<select>menus and collapsed here to a single ISOdatefield per this registry's established convention. - Father/mother birth-place-detail requiredness not independently confirmed. See the "Not independently confirmed" paragraph above;
fatherBirthPlaceDetail/motherBirthPlaceDetailare modelled optional, a disclosed, most-likely-incomplete simplification rather than a confirmed fact. - Declaration/Payment/Complete steps excluded. See "Step 6" above — these were never reached this cycle and are disclosed as out of scope for this version.
Mock test run
Two valid mock scenarios and six mutation-control fixtures are committed under conformance/tz/immigration/passport-application/1.0.0/:
application-packet-1.json— Jane Mwakasege, a mainland-resident applicant born in Tanzania (Mwanza region), exercising the full birth-place administrative cascade (birthAdminTerritorythroughbirthVillageOrAddressDetail), with both parents also born in Tanzania.application-packet-2.json— Peter Otieno, an applicant born in Kenya (a naturalised-citizen-shaped scenario), taking the simpler foreign-birth-country path with no administrative cascade required.mutation-missing-required-field.json— omits the statically requiredfamilyName.mutation-missing-birth-region-when-tanzania.json—birthCountryisTANZANIAbutbirthAdminRegionis omitted.mutation-missing-birth-village-detail.json— omits the unconditionally requiredbirthVillageOrAddressDetail.mutation-invalid-date-format.json—dateOfBirthuses a non-ISO format (14/06/1990instead of1990-06-14).mutation-invalid-email-format.json—emailAddressis not a valid email address.mutation-missing-required-document.json— omits the requiredapplicantBirthCertificateOrAffidavitdocument.
An ephemeral, from-scratch conformance checker (deriving required/ requiredWhen rules directly from this schema's own fields[]/ documents[], discarded after use, not committed to the repository) ran all 8 fixtures: both valid scenarios passed with 0 errors; all 6 mutation controls each raised exactly 1 error, on the expected field/document. The same script confirmed every requiredWhen field reference in this document resolves to a real field name (0 dangling references).
Tooling
Validated clean with node tools/validate.mjs and node tools/validate-ajv.mjs, both individually and as part of a full registry run.
View the raw record (VERIFICATION.md)
Version history
-
1.0.0draftlatestthis pagehas verification recordschema.json
Independent and non-affiliated
GovSchema is an independent, open-source project. This reference is not produced, reviewed, or endorsed by Immigration Department or any government. The authoritative source is always the live government form and its official instructions.