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

Jurisdiction
Slovakia · national
Version
1.0.0
Verification
draft

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
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

  • submissionOffice string required

    The 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
  • contactGivenName string required

    Meno

    length: 0–255
  • contactFamilyName string required

    Priezvisko

    length: 0–255
  • contactEmail string required

    Validated client-side against the platform's AddressRegEx pattern.

    patternlength: 0–255
  • contactPhoneCountryCode string required

    Phone number's country calling-code prefix. Populated from the platform's 'PHONE_TYPE' server-side codelist via a dynamic combobox widget.

    length: 0–255
  • contactPhoneNumber string required

    Validated client-side against the platform's FormattedNumberRegEx pattern.

    length: 0–20
  • contactAddressCountry string required

    Populated 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
  • contactAddressMunicipality string required

    Populated from the platform's 'MUNICIPALITY' server-side codelist, cascading from contactAddressCountry.

    length: 0–255
  • contactAddressStreet string required

    Ulica

    length: 0–255
  • contactAddressPropertyRegistrationNumber string required

    Súpisné číslo

    length: 0–20
  • contactAddressBuildingNumber string optional

    Orientačné číslo

    length: 0–10
  • contactAddressPostalCode string required

    PSČ

    length: 0–10
  • contactAddressUnit string optional

    Časť budovy

    length: 0–255
  • filledByRepresentativeOrAuthorizedPerson boolean optional

    When 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.

  • applicantTitlePrefix string optional

    Populated from the platform's 'PREFIX' server-side codelist.

    length: 0–20
  • applicantTitlePostfix string optional

    Populated from the platform's 'POSTFIX' server-side codelist.

    length: 0–20
  • applicantGivenName string required

    Auto-copied from contactGivenName and disabled unless filledByRepresentativeOrAuthorizedPerson is checked — see that field's description.

    length: 0–255
  • applicantFamilyName string required

    Auto-copied from contactFamilyName and disabled unless filledByRepresentativeOrAuthorizedPerson is checked.

    length: 0–255
  • applicantBirthFamilyName string optional

    Birth/maiden surname, when different from the current surname.

    length: 0–255
  • applicantSex string required

    Populated 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
  • applicantNationality string required

    Populated from the platform's 'NATIONALITY' server-side codelist via a dynamic combobox widget.

    length: 0–255
  • applicantLegalCapacity boolean required

    Whether 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.

  • requestReason string required

    Populated 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
  • previousIdentityCardNumber string optional

    Validated client-side against the platform's PreviousIdentytyCardNumberValidator.

    length: 0–64
  • previousIdentityCardIssuedDate date optional

    Validated client-side to not be a future date (FormHelper.dateValidationNotInFuture).

  • applicantBirthCountry string required

    Populated from the platform's 'STATE' server-side codelist; applicantBirthCounty and applicantBirthMunicipality are bound to this selection (FormHelper.bindMunicipalityToCountry).

    length: 0–255
  • applicantBirthCounty string required

    Populated from the platform's 'COUNTY' server-side codelist, cascading from applicantBirthCountry.

    length: 0–255
  • applicantBirthMunicipality string required

    Populated from the platform's 'MUNICIPALITY' server-side codelist, cascading from applicantBirthCountry.

    length: 0–255
  • applicantBirthDate date required

    Validated client-side to not be a future date (FormHelper.dateValidationNotInFuture).

  • applicantBirthNumber string optional

    Slovak birth number (rodné číslo), the national personal identifier. Validated client-side against the platform's PersonalNumberValidator (cross-checked against applicantBirthDate).

    length: 0–64
  • applicantBirthNumberNotYetAssigned boolean optional

    Check if the applicant does not yet have an assigned Slovak birth number.

  • applicantCurrentIdDocumentType string optional

    Type 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
  • applicantCurrentIdDocumentNumber string optional

    Validated client-side against the platform's DocumentNumberValidator/DocumentNumberTypeValidator (cross-checked against applicantCurrentIdDocumentType).

    length: 0–64
  • applicantAddressCountry string required

    Restricted 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
  • applicantAddressMunicipality string required

    Populated from the platform's 'MUNICIPALITY' server-side codelist.

    length: 0–255
  • applicantAddressStreet string required

    Ulica

    length: 0–255
  • applicantAddressPropertyRegistrationNumber string required

    Súpisné číslo

    length: 0–20
  • applicantAddressBuildingNumber string optional

    Orientačné číslo

    length: 0–10
  • applicantAddressPostalCode string required

    PSČ

    length: 0–10
  • applicantAddressUnit string optional

    Časť budovy

    length: 0–255
  • deputyRepresentativeNeeded boolean optional

    Toggles 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.

  • deputyGivenName string optional

    Meno

    length: 0–255
  • deputyFamilyName string optional

    Priezvisko

    length: 0–255
  • deputyBirthFamilyName string optional

    Rodné priezvisko

    length: 0–255
  • deputySex string optional

    Populated from the platform's 'SEX' server-side codelist.

    length: 0–255
  • deputyNationality string optional

    Populated from the platform's 'NATIONALITY' server-side codelist.

    length: 0–255
  • deputyBirthCountry string optional

    Populated from the platform's 'STATE' server-side codelist; deputyBirthCounty/deputyBirthMunicipality are bound to this selection.

    length: 0–255
  • deputyBirthCounty string optional

    Populated from the platform's 'COUNTY' server-side codelist, cascading from deputyBirthCountry.

    length: 0–255
  • deputyBirthMunicipality string optional

    Populated from the platform's 'MUNICIPALITY' server-side codelist, cascading from deputyBirthCountry.

    length: 0–255
  • deputyBirthDate date optional

    Validated client-side against both FormHelper.validateAge (the legal representative must be an adult) and dateValidationNotInFuture.

  • deputyBirthNumber string optional

    Validated client-side against the platform's PersonalNumberValidatorDeputy (cross-checked against deputyBirthDate).

    length: 0–64
  • deputyBirthNumberNotYetAssigned boolean optional

    Check if the legal representative does not have a Slovak birth number.

  • deputyCurrentIdDocumentType string optional

    Populated from the platform's 'VALID_DOCUMENT' server-side codelist.

    length: 0–255
  • deputyCurrentIdDocumentNumber string optional

    Validated client-side against the platform's DeputyDocumentNumberValidator/DeputyDocumentNumberTypeValidator.

    length: 0–64
  • deputyAddressCountry string optional

    Populated from the platform's 'STATE' server-side codelist; deputyAddressMunicipality is bound to this selection.

    length: 0–255
  • deputyAddressMunicipality string optional

    Populated from the platform's 'MUNICIPALITY' server-side codelist, cascading from deputyAddressCountry.

    length: 0–255
  • deputyAddressStreet string optional

    Ulica

    length: 0–255
  • deputyAddressPropertyRegistrationNumber string optional

    Súpisné číslo

    length: 0–20
  • deputyAddressBuildingNumber string optional

    Orientačné číslo

    length: 0–10
  • deputyAddressPostalCode string optional

    PSČ

    length: 0–10
  • deputyAddressUnit string optional

    Časť budovy

    length: 0–255
  • dataAccuracyConfirmation boolean required

    Final 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: draft
  • verification.method: manual-source-review-v1
  • verification.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,026 bytes. sha256: dbae62ee009a542df4ff7ec8e86994a081313417624b40ff0f8824a2c1f883b2 — independently computed this cycle with sha256sum against 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>, 91 fieldLabel elements 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 re module — no bs4/lxml available in this environment), cross-checked against the page's own embedded jQuery-validate rules: { ... } configuration object (a client-side validation ruleset literally present in the page's <script> content, giving an authoritative required/maxlength/ custom-validator-name inventory per field name) and its parallel messages: { ... } object (human-readable Slovak labels confirming which fields are required). This rules block is the authoritative source for every field's required status in schema.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

  1. The legal-representative (Zákonný zástupca) section's visibleWhen/ requiredWhen gating 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 the DeputyCheckbox field to the visibility of the entire deputy-section container. All Deputy-section fields marked required: true in the page's own rules block (deputyGivenName, deputyFamilyName, deputySex, deputyNationality, deputyBirthCountry/County/ Municipality/Date, and the deputy's permanent-address fields) are modelled with requiredWhen/visibleWhen: { field: "deputyRepresentativeNeeded", equals: true }; the remaining optional deputy fields (birth number, current-ID-document type/number, building number, unit) carry visibleWhen only, matching their own static required: false.
  2. filledByRepresentativeOrAuthorizedPerson (PersonCheckbox) does NOT gate visibility or requiredness — it triggers a value-copy/disable behavior instead, and is modelled with a description, not requiredWhen. The page's own script shows this checkbox bound to CopyValuesAcrossForm (not SwitchSections): when unchecked (the default), applicantGivenName/applicantFamilyName are continuously copied from contactGivenName/contactFamilyName and disabled; when checked, they are cleared and become independently editable. Both fields remain visible and required: true per the static rules block regardless of this checkbox's state — encoding a requiredWhen/ visibleWhen here would misrepresent what the page's own script actually does.
  3. **applicantBirthNumberNotYetAssigned/deputyBirthNumberNotYetAssigned (BirthNumberFlagSection*) are modelled as plain optional booleans with a description, not a requiredWhen on their paired birth-number field.** The page's script calls a FormHelper.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 static rules block shows both applicantBirthNumber/deputyBirthNumber as required: false unconditionally, with no dynamically-added rule visible in the static markup extracted this cycle. Rather than assert a requiredWhen relationship inferred solely from a helper function's name (the registry's established caution around the prior notEquals "" incident), both birth-number fields are modelled per the static rules (required: false) with a description disclosing the checkbox's likely purpose.
  4. **applicantSex/applicantNationality/deputySex/deputyNationality/ requestReason/applicantCurrentIdDocumentType/ deputyCurrentIdDocumentType/submissionOffice/ contactPhoneCountryCode/Country/Municipality/County fields are modelled as type: "string", not type: "enum".* Each is bound to a server-side codelist via FormHelper.setupDynamicCombobox(...) (codelist keys SEX, 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's description names the exact codelist key its widget binds to, rather than fabricating an enum list this cycle could not verify.
  5. applicantAddressCountry carries a description noting it is restricted to Slovakia, per FormHelper.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/const value, since the client-side widget configuration is not proof of a hard server-side enforcement rule.
  6. applicantLegalCapacity is modelled as type: "boolean", matching the page's own class="xsd_boolean radioButtonList" markup for this field (a two-option Áno/Nie radio group with value="1"/value="0"), consistent with this registry's established boolean-radio-group convention.
  7. lossTheftProof/nameChangeCertificate documents are modelled as required: false without a requiredWhen. The "Potrebné doklady" notice states these apply only when the request reason is loss/theft or a name change respectively, but requestReason's exact codelist values are not known this cycle (judgment call 4) — a formal requiredWhen tied 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.jsonok.
  • node tools/validate-ajv.mjs registry/sk/mzv/ziadost-o-obciansky-preukaz/1.0.0/schema.json (ajv 2020-12 against spec/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.0 draft latest this page has verification record schema.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.