Registry entry
Slovakia — Application for a Citizen ID Card via Consular Office (Žiadosť o občiansky preukaz)
The Slovak Republic's live HTML eForm "Žiadosť o občiansky preukaz" (Application for a Citizen ID Card), dataset `MZV.RequestIdentityCard` v2.3, published on the national eGovernment portal `slovensko.sk` and filed via a Slovak diplomatic or consular office abroad (zastupiteľský úrad SR) under the authority of the Ministerstvo zahraničných vecí a európskych záležitostí SR (Ministry of Foreign and European Affairs), a sibling channel to the domestic, Ministry of Interior-issued občiansky preukaz. Legal basis: zákon č. 224/2006 Z.z. o občianskych preukazoch (Act on Citizen Identity Cards) and zákon č. 122/2013 Z.z. o ochrane osobných údajov (Personal Data Protection Act). Opens Slovakia's National ID & Civic Documents vertical (1 of 6). **Scope**: per the form's own printed notice ("UPOZORNENIE"), this consular channel accepts requests only from an applicant who has already held a citizen ID card issued after 2008-07-01 — a first-time domestic application must be filed within Slovakia in person and is out of scope for this document. This is therefore a renewal/replacement-via-embassy schema, not a first-issuance schema. Models all 62 `fields[]` the live eForm exposes across its ten visible sections: the submitting contact's own information (which auto-copies into the applicant's identity fields unless a legal representative or authorized person is filing on the applicant's behalf), the applicant's personal/identity data, the applicant's legal capacity, the reason for the request, the applicant's previous ID card and any other currently valid Slovak identification document, the applicant's birth data and permanent Slovak address, an optional legal-representative (zákonný zástupca) section — genuinely gated by a client-side visibility toggle bound to its own checkbox, not an inferred condition — mirroring the applicant's own identity/birth/document/address fields, and a final data-accuracy confirmation. Also models 4 `documents[]` entries transcribed from the form's own 'Potrebné doklady' (required documents) notice. This document is authored at `structural-reference` maturity: the live eForm's own client-side structure (labels, jQuery-validate rules, and codelist/visibility bindings) is fully transcribed, but no live submission through a consular office was attempted. GovSchema is an independent, non-profit standards body and is not affiliated with, endorsed by, or operated by the Government of the Slovak Republic, the Ministry of Foreign and European Affairs of the Slovak Republic, or any Slovak diplomatic or consular office.
Registry entry
sk/mzv/ziadost-o-obciansky-preukaz
Authoritative source eForm dataset MZV.RequestIdentityCard v2.3, form.10.html
Machine access
- Schema document
registry/sk/mzv/ziadost-o-obciansky-preukaz/1.0.0/schema.jsonapplication/schema+json- Verification record
registry/sk/mzv/ziadost-o-obciansky-preukaz/1.0.0/VERIFICATION.mdtext/markdown- Registry catalog
registry/index.jsonone record per schema id
Field reference
62 fields, 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.
Fields
-
submissionOfficestring requiredThe Slovak diplomatic/consular office (zastupiteľský úrad SR) the request is submitted to. Populated from the platform's 'ZU' server-side codelist via a dynamic combobox widget (FormHelper.setupDynamicCombobox), not an embedded static list.
length: 0–255 -
contactGivenNamestring requiredMeno
length: 0–255 -
contactFamilyNamestring requiredPriezvisko
length: 0–255 -
contactEmailstring requiredValidated client-side against the platform's AddressRegEx pattern.
patternlength: 0–255 -
contactPhoneCountryCodestring requiredPhone number's country calling-code prefix. Populated from the platform's 'PHONE_TYPE' server-side codelist via a dynamic combobox widget.
length: 0–255 -
contactPhoneNumberstring requiredValidated client-side against the platform's FormattedNumberRegEx pattern.
length: 0–20 -
contactAddressCountrystring requiredPopulated from the platform's 'STATE' server-side codelist via a dynamic combobox widget; the Municipality field below is bound to this selection (FormHelper.bindMunicipalityToCountry).
length: 0–255 -
contactAddressMunicipalitystring requiredPopulated from the platform's 'MUNICIPALITY' server-side codelist, cascading from contactAddressCountry.
length: 0–255 -
contactAddressStreetstring requiredUlica
length: 0–255 -
contactAddressPropertyRegistrationNumberstring requiredSúpisné číslo
length: 0–20 -
contactAddressBuildingNumberstring optionalOrientačné číslo
length: 0–10 -
contactAddressPostalCodestring requiredPSČ
length: 0–10 -
contactAddressUnitstring optionalČasť budovy
length: 0–255 -
filledByRepresentativeOrAuthorizedPersonboolean optionalWhen unchecked (default), the applicant-identity fields applicantGivenName/applicantFamilyName below are auto-copied from contactGivenName/contactFamilyName and disabled client-side (FormHelper's CopyValuesAcrossForm), i.e. the contact person and the applicant are the same person. When checked, those two fields are cleared and become independently editable, since the person completing the form (a legal representative or authorized person) is not the applicant themself.
-
applicantTitlePrefixstring optionalPopulated from the platform's 'PREFIX' server-side codelist.
length: 0–20 -
applicantTitlePostfixstring optionalPopulated from the platform's 'POSTFIX' server-side codelist.
length: 0–20 -
applicantGivenNamestring requiredAuto-copied from contactGivenName and disabled unless filledByRepresentativeOrAuthorizedPerson is checked — see that field's description.
length: 0–255 -
applicantFamilyNamestring requiredAuto-copied from contactFamilyName and disabled unless filledByRepresentativeOrAuthorizedPerson is checked.
length: 0–255 -
applicantBirthFamilyNamestring optionalBirth/maiden surname, when different from the current surname.
length: 0–255 -
applicantSexstring requiredPopulated from the platform's 'SEX' server-side codelist via a dynamic combobox widget; the codelist's exact value set is not embedded in the form's static client-side markup.
length: 0–255 -
applicantNationalitystring requiredPopulated from the platform's 'NATIONALITY' server-side codelist via a dynamic combobox widget.
length: 0–255 -
applicantLegalCapacityboolean requiredWhether the applicant is legally capable (rendered as an Áno/Nie radio group on the form: Áno=true, Nie=false). If the application is filed by an authorized person, this states the information regarding the applicant on whose behalf they act.
-
requestReasonstring requiredPopulated from the platform's 'REASON_OP' server-side codelist (e.g. expiry, loss, theft, damage, or personal-data change) via a dynamic combobox widget.
length: 0–255 -
previousIdentityCardNumberstring optionalValidated client-side against the platform's PreviousIdentytyCardNumberValidator.
length: 0–64 -
previousIdentityCardIssuedDatedate optionalValidated client-side to not be a future date (FormHelper.dateValidationNotInFuture).
-
applicantBirthCountrystring requiredPopulated from the platform's 'STATE' server-side codelist; applicantBirthCounty and applicantBirthMunicipality are bound to this selection (FormHelper.bindMunicipalityToCountry).
length: 0–255 -
applicantBirthCountystring requiredPopulated from the platform's 'COUNTY' server-side codelist, cascading from applicantBirthCountry.
length: 0–255 -
applicantBirthMunicipalitystring requiredPopulated from the platform's 'MUNICIPALITY' server-side codelist, cascading from applicantBirthCountry.
length: 0–255 -
applicantBirthDatedate requiredValidated client-side to not be a future date (FormHelper.dateValidationNotInFuture).
-
applicantBirthNumberstring optionalSlovak birth number (rodné číslo), the national personal identifier. Validated client-side against the platform's PersonalNumberValidator (cross-checked against applicantBirthDate).
length: 0–64 -
applicantBirthNumberNotYetAssignedboolean optionalCheck if the applicant does not yet have an assigned Slovak birth number.
-
applicantCurrentIdDocumentTypestring optionalType of the applicant's currently valid Slovak identification document (e.g. an existing citizen ID card or passport used to establish identity for this request). Populated from the platform's 'VALID_DOCUMENT' server-side codelist.
length: 0–255 -
applicantCurrentIdDocumentNumberstring optionalValidated client-side against the platform's DocumentNumberValidator/DocumentNumberTypeValidator (cross-checked against applicantCurrentIdDocumentType).
length: 0–64 -
applicantAddressCountrystring requiredRestricted to Slovakia by the widget's own configuration (FormHelper.setSlovakiaOnlyCombobox), consistent with this section's own heading ('Adresa trvalého bydliska v SR' — permanent residence address in the Slovak Republic).
length: 0–255 -
applicantAddressMunicipalitystring requiredPopulated from the platform's 'MUNICIPALITY' server-side codelist.
length: 0–255 -
applicantAddressStreetstring requiredUlica
length: 0–255 -
applicantAddressPropertyRegistrationNumberstring requiredSúpisné číslo
length: 0–20 -
applicantAddressBuildingNumberstring optionalOrientačné číslo
length: 0–10 -
applicantAddressPostalCodestring requiredPSČ
length: 0–10 -
applicantAddressUnitstring optionalČasť budovy
length: 0–255 -
deputyRepresentativeNeededboolean optionalToggles visibility of the entire legal-representative (zákonný zástupca) section below, client-side (SwitchSections binds this checkbox to the section's container, #layoutRow123) — completed when the applicant is a minor or otherwise requires a legal representative.
-
deputyGivenNamestring optionalMeno
length: 0–255 -
deputyFamilyNamestring optionalPriezvisko
length: 0–255 -
deputyBirthFamilyNamestring optionalRodné priezvisko
length: 0–255 -
deputySexstring optionalPopulated from the platform's 'SEX' server-side codelist.
length: 0–255 -
deputyNationalitystring optionalPopulated from the platform's 'NATIONALITY' server-side codelist.
length: 0–255 -
deputyBirthCountrystring optionalPopulated from the platform's 'STATE' server-side codelist; deputyBirthCounty/deputyBirthMunicipality are bound to this selection.
length: 0–255 -
deputyBirthCountystring optionalPopulated from the platform's 'COUNTY' server-side codelist, cascading from deputyBirthCountry.
length: 0–255 -
deputyBirthMunicipalitystring optionalPopulated from the platform's 'MUNICIPALITY' server-side codelist, cascading from deputyBirthCountry.
length: 0–255 -
deputyBirthDatedate optionalValidated client-side against both FormHelper.validateAge (the legal representative must be an adult) and dateValidationNotInFuture.
-
deputyBirthNumberstring optionalValidated client-side against the platform's PersonalNumberValidatorDeputy (cross-checked against deputyBirthDate).
length: 0–64 -
deputyBirthNumberNotYetAssignedboolean optionalCheck if the legal representative does not have a Slovak birth number.
-
deputyCurrentIdDocumentTypestring optionalPopulated from the platform's 'VALID_DOCUMENT' server-side codelist.
length: 0–255 -
deputyCurrentIdDocumentNumberstring optionalValidated client-side against the platform's DeputyDocumentNumberValidator/DeputyDocumentNumberTypeValidator.
length: 0–64 -
deputyAddressCountrystring optionalPopulated from the platform's 'STATE' server-side codelist; deputyAddressMunicipality is bound to this selection.
length: 0–255 -
deputyAddressMunicipalitystring optionalPopulated from the platform's 'MUNICIPALITY' server-side codelist, cascading from deputyAddressCountry.
length: 0–255 -
deputyAddressStreetstring optionalUlica
length: 0–255 -
deputyAddressPropertyRegistrationNumberstring optionalSúpisné číslo
length: 0–20 -
deputyAddressBuildingNumberstring optionalOrientačné číslo
length: 0–10 -
deputyAddressPostalCodestring optionalPSČ
length: 0–10 -
deputyAddressUnitstring optionalČasť budovy
length: 0–255 -
dataAccuracyConfirmationboolean requiredFinal sworn confirmation of the accuracy of the entered data, required before submission.
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 states the current verification claim honestly.
Current claim
status:draftverification.method:manual-source-review-v1verification.lastVerifiedAt:2026-07-14
This is a GovSchema Standard Research cycle (GOV-3019, child issue GOV-3014), pre-scouted during GOV-3010's parallel-verticals screening pass. Slovakia stood at 3 of 6 verticals (Business Formation, Taxes, DMV) at the start of this issue. This document opens Slovakia's National ID & Civic Documents vertical (1 of 6, now 4 of 6 overall).
Scouting handoff
GOV-3010's scouting note (re-verified from scratch this cycle, not trusted as-is) identified slovensko.sk's MZV.RequestIdentityCard eForm as a strong candidate: a live HTML eForm requiring no login/CAPTCHA to view, namespace http://schemas.gov.sk/form/MZV.RequestIdentityCard/2.3, filed via a Slovak consular office abroad. The scouting note estimated "~89 fieldLabel elements (many hidden/duplicate autocomplete-support fields — expect ~50-60 real fillable fields)" and flagged that this consular channel covers renewal/replacement only, not first-time domestic issuance. Both of these were independently confirmed this cycle (see below); the exact real field count (62, not an estimated range) was derived from scratch.
Source re-verification (Phase 1)
- URL:
https://www.slovensko.sk/static/eForm/dataset/MZV.RequestIdentityCard/2.3/Content/form.10.html - Retrieved / reviewed: 2026-07-14, independently re-fetched this cycle with
curl -s, not trusted from the scouting report as-is. - HTTP status:
200. Content-Type:text/html. Size:110,026bytes. sha256:dbae62ee009a542df4ff7ec8e86994a081313417624b40ff0f8824a2c1f883b2— independently computed this cycle withsha256sumagainst a fresh download. - File type: a genuine, live, interactive HTML eForm (
<form id="RequestIdentityCard">), not a PDF/AcroForm. Confirmed via direct inspection of the raw HTML:<title>Žiadosť o občiansky preukaz</title>, 91fieldLabelelements total (including hidden autocomplete-support companions — see below), 0<select>/<textarea>elements (every dropdown-like field is a text<input>bound to a client-side autocomplete/codelist widget instead), 5 checkbox inputs, and one 2-option radio group. - Extraction method: independent, from-scratch regex/structural parsing of the raw HTML this cycle (Python's
remodule — nobs4/lxmlavailable in this environment), cross-checked against the page's own embedded jQuery-validaterules: { ... }configuration object (a client-side validation ruleset literally present in the page's<script>content, giving an authoritativerequired/maxlength/ custom-validator-name inventory per field name) and its parallelmessages: { ... }object (human-readable Slovak labels confirming which fields are required). This rules block is the authoritative source for every field'srequiredstatus inschema.json— not an inference from the visible<label>markup alone.
Field inventory (Phase 2)
91 fieldLabel elements exist in the raw HTML; 62 are real, applicant- facing fields modelled in schema.json. The remaining 29 are MzvHidden*-prefixed autocomplete-support companions (each visible field bound to a dynamic combobox widget has a paired hidden field that stores the widget's internal code value) — confirmed via FormHelper.setupDynamicCombobox(...) calls in the page's own script, not modelled as separate schema fields since they carry no independent applicant-facing meaning.
Ten form sections (confirmed via the page's own headercorrection
section-caption markup, an authoritative structural signal, not inferred from field-name prefixes alone)
| Section (Slovak caption) | Field count | Modelled scope | |---|---|---| | (header, no caption) | 1 (submissionOffice) | Full | | Kontaktné informácie žiadateľa (contact info) | 12 fields + 1 checkbox | Full | | Informácie o žiadateľovi (applicant info) | 11 | Full | | Dátum a miesto narodenia — applicant birth | 6 | Full | | Platný identifikačný doklad SR — applicant's current valid ID | 2 | Full | | Adresa trvalého bydliska v SR — applicant permanent address | 7 | Full | | Zákonný zástupca — legal representative identity | 1 checkbox + 5 | Full, gated (see below) | | Dátum a miesto narodenia — deputy birth | 6 | Full, gated | | Platný identifikačný doklad SR — deputy's current valid ID | 2 | Full, gated | | Adresa trvalého bydliska — deputy permanent address | 7 | Full, gated | | Potvrdenie vyplnených údajov (confirmation) | 1 | Full |
1 + 13 + 11 + 6 + 2 + 7 + 6 + 6 + 2 + 7 + 1 = 62, matching schema.json's fields[] length exactly (the "Kontaktné informácie" row above is 13 total: 12 data fields + filledByRepresentativeOrAuthorizedPerson).
Documents
4 documents[] entries, transcribed verbatim from the "Potrebné doklady" (required documents) section's own notice text, which also contains this eForm's scope-defining caveat (quoted in full below):
> UPOZORNENIE: Žiadosť o vyhotovenie občianskeho preukazu prostredníctvom > zastupiteľského úradu Slovenskej republiky môže byť prijatá iba za > predpokladu, že žiadateľ už bol držiteľom občianskeho preukazu vydaného > po 01.07.2008.
("NOTICE: An application for issuance of a citizen ID card through a diplomatic/consular office of the Slovak Republic may only be accepted provided the applicant has already held a citizen ID card issued after 01.07.2008.") — confirming the scouting note's caveat precisely. This is therefore modelled as a renewal/replacement-via-embassy schema; a first-time domestic application is out of scope, matching this registry's established practice of disclosing narrower-than-full-process scope rather than fabricating coverage the form itself does not provide.
Judgment calls disclosed
- The legal-representative (Zákonný zástupca) section's
visibleWhen/requiredWhengating is a directly confirmed client-side behavior, not an inference. The page's own script contains:$(document).ready(function() { SwitchSections({ '#DeputyCheckbox': ['#layoutRow123'] }, 'main', true); });— an explicit binding of theDeputyCheckboxfield to the visibility of the entire deputy-section container. All Deputy-section fields markedrequired: truein the page's ownrulesblock (deputyGivenName,deputyFamilyName,deputySex,deputyNationality,deputyBirthCountry/County/Municipality/Date, and the deputy's permanent-address fields) are modelled withrequiredWhen/visibleWhen: { field: "deputyRepresentativeNeeded", equals: true }; the remaining optional deputy fields (birth number, current-ID-document type/number, building number, unit) carryvisibleWhenonly, matching their own staticrequired: false. filledByRepresentativeOrAuthorizedPerson(PersonCheckbox) does NOT gate visibility or requiredness — it triggers a value-copy/disable behavior instead, and is modelled with adescription, notrequiredWhen. The page's own script shows this checkbox bound toCopyValuesAcrossForm(notSwitchSections): when unchecked (the default),applicantGivenName/applicantFamilyNameare continuously copied fromcontactGivenName/contactFamilyNameand disabled; when checked, they are cleared and become independently editable. Both fields remain visible andrequired: trueper the staticrulesblock regardless of this checkbox's state — encoding arequiredWhen/visibleWhenhere would misrepresent what the page's own script actually does.- **
applicantBirthNumberNotYetAssigned/deputyBirthNumberNotYetAssigned(BirthNumberFlagSection*) are modelled as plain optional booleans with adescription, not arequiredWhenon their paired birth-number field.** The page's script calls aFormHelper.disableMandatoryFieldByCheckbox(...)helper for each pair — a function name strongly suggesting the birth- number field becomes non-mandatory only when its flag is checked (i.e. normally required) — but the page's own staticrulesblock shows bothapplicantBirthNumber/deputyBirthNumberasrequired: falseunconditionally, with no dynamically-added rule visible in the static markup extracted this cycle. Rather than assert arequiredWhenrelationship inferred solely from a helper function's name (the registry's established caution around the priornotEquals ""incident), both birth-number fields are modelled per the static rules (required: false) with adescriptiondisclosing the checkbox's likely purpose. - **
applicantSex/applicantNationality/deputySex/deputyNationality/requestReason/applicantCurrentIdDocumentType/deputyCurrentIdDocumentType/submissionOffice/contactPhoneCountryCode/Country/Municipality/Countyfields are modelled astype: "string", nottype: "enum".* Each is bound to a server-side codelist viaFormHelper.setupDynamicCombobox(...)(codelist keysSEX,NATIONALITY,REASON_OP,VALID_DOCUMENT,ZU,PHONE_TYPE,STATE,MUNICIPALITY,COUNTY, confirmed directly in the page's own script), meaning the exact value set is fetched dynamically from the platform and is not enumerable from the form's static client-side markup. Each field'sdescriptionnames the exact codelist key its widget binds to, rather than fabricating anenumlist this cycle could not verify. applicantAddressCountrycarries a description noting it is restricted to Slovakia, perFormHelper.setSlovakiaOnlyCombobox(...)in the page's own script — consistent with this section's own heading, "Adresa trvalého bydliska v SR" (permanent residence address in the Slovak Republic). Not modelled as a fixed/constvalue, since the client-side widget configuration is not proof of a hard server-side enforcement rule.applicantLegalCapacityis modelled astype: "boolean", matching the page's ownclass="xsd_boolean radioButtonList"markup for this field (a two-option Áno/Nie radio group withvalue="1"/value="0"), consistent with this registry's established boolean-radio-group convention.lossTheftProof/nameChangeCertificatedocuments are modelled asrequired: falsewithout arequiredWhen. The "Potrebné doklady" notice states these apply only when the request reason is loss/theft or a name change respectively, butrequestReason's exact codelist values are not known this cycle (judgment call 4) — a formalrequiredWhentied to an unverified literal string would be speculative. Disclosed here instead of encoded.
Conformance fixtures (Phase 3)
10 fixtures committed under conformance/sk/mzv/ziadost-o-obciansky-preukaz/1.0.0/: 2 valid (an adult applicant filing their own request with no legal representative, and a minor applicant's request filed by a legal-representative deputy, both with the deputy section's conditional fields exercised in the second) plus 8 mutation-control fixtures, each derived from a valid fixture by a single targeted mutation. All 10 were run against a from-scratch, ephemeral field-by-field conformance checker (derived from this schema's own fields[]/documents[], evaluating visibleWhen/requiredWhen conditions; not committed to the repo) before being finalized: both valid fixtures produced 0 errors, and each of the 8 mutation-control fixtures produced exactly 1 error — a missing required field (×3, covering the applicant section, the final confirmation, and a requiredWhen-gated deputy field), a missing required document, an invalid boolean type, an invalid date format, a pattern violation (email), and a maxLength violation.
Structural validation
node tools/validate.mjs registry/sk/mzv/ziadost-o-obciansky-preukaz/1.0.0/schema.json— ok.node tools/validate-ajv.mjs registry/sk/mzv/ziadost-o-obciansky-preukaz/1.0.0/schema.json(ajv 2020-12 againstspec/v0.3) — ok.- Full-registry re-run after adding this document: see the accompanying PR for the exact document count.
Maturity
structural-reference: the live eForm's own client-side structure (labels, validation rules, codelist/visibility bindings) is fully transcribed, but no live submission through a Slovak consular office was attempted. GovSchema is an independent, non-profit standards body and is not affiliated with, endorsed by, or operated by the Government of the Slovak Republic, the Ministry of Foreign and European Affairs of the Slovak Republic, or any Slovak diplomatic or consular office.
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 Zastupiteľský úrad Slovenskej republiky (Slovak diplomatic/consular office) or any government. The authoritative source is always the live government form and its official instructions.