Registry entry
North Macedonia — Application for Issuance of a Personal ID Card (Type A)
The Министерство за внатрешни работи's (МВР, Ministry of Interior of the Republic of North Macedonia) "Барање за издавање на лична карта, ТИП-А" (Application for Issuance of a Personal ID Card, Type A), published unauthenticated on МВР's own "Граѓански постапки" (Civil Procedures) services page as Образец бр. 1 (Form No. 1). This is a print-and-fill specimen with no AcroForm/Widget structure at all — every field is read directly off the rendered page. Type A is the monolingual-Macedonian variant of this application, used outside municipalities where Albanian is co-official; it also offers a checkbox request to have the form (and the applicant's own name data) prepared in Turkish, Aromanian (влашки), Serbian, Romani, or Bosnian script/language instead. A distinct bilingual Macedonian/Albanian specimen (Образец бр. 2, "ТИП-Б / LLOJI-B"), used in municipalities with official Albanian-language use per the Law on the Use of Languages, was independently confirmed this cycle to be a genuine companion document rather than a duplicate or a different ID-document type — it is out of scope for this v1.0.0 (own field set differs: adds an ethnicity/national-affiliation field and a citizenship field, drops the alternate-script request checkboxes present on Type A) and is left as a follow-up candidate. Models the application-reason selection (first issuance, expired-validity replacement, lost/stolen/damaged-duplicate, or early replacement for damage/data-change/address-change), the applicant's given name and surname (with two independent alternate-script requests: one for the form itself, one for the name data specifically), the pre-marriage surname for married applicants, both parents' names, date and place of birth, the МВР-issued personal (matičen) number, sex, current residence address, a bounded two-row parent/guardian consent block for applicants aged 15-18, the applicant's previous ID card's residence, number, and issuing authority, the application date and place, the applicant's own signature, contact-method information, the receiving official's signature, and a free-text description line for any additional required documents, plus five checkbox-gated supporting-evidence attachments as documents[] entries. 30 fields, plus 5 documents[] entries. GovSchema is an independent, non-profit standards body and is not affiliated with, endorsed by, or operated by the Government of the Republic of North Macedonia or the Министерство за внатрешни работи.
Registry entry
mk/mvr/baranje-za-izdavanje-na-lichna-karta
Machine access
- Schema document
registry/mk/mvr/baranje-za-izdavanje-na-lichna-karta/1.0.0/schema.jsonapplication/schema+json- Verification record
registry/mk/mvr/baranje-za-izdavanje-na-lichna-karta/1.0.0/VERIFICATION.mdtext/markdown- Registry catalog
registry/index.jsonone record per schema id
Field reference
30 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
-
applicationReasonenum requiredThe reason for this ID-card request, selected by circling one of four printed grounds: first issuance (1.1); replacement due to expired validity (1.2); duplicate ID card — lost, stolen, or missing (1.3); or early replacement, covering damage, personal-data change, change of address, or change of residence, among other reasons (1.4, a single option whose own parenthetical lists several triggering circumstances).
enum: firstIssuance | expiredValidityReplacement | duplicateLostStolenOrMissing | earlyReplacement -
givenNamestring requiredИме
length: 0–150classification: pii -
surnamestring requiredПрезиме
length: 0–150classification: pii -
requestedFormLanguageenum optionalAn optional request that the form itself be prepared in one of five alternate minority languages/scripts instead of Macedonian. The form's own instruction states exactly one of the five is selected. Distinct from requestedNameLanguage, which gates only the applicant's own name data rather than the whole form.
enum: turkish | aromanian | serbian | romani | bosnian -
requestedNameLanguageenum optionalAn optional request that only the applicant's own personal-name data be written in one of five alternate minority languages/scripts. The form's own instruction states exactly one of the five is selected. Distinct from requestedFormLanguage, which gates the entire form.
enum: turkish | aromanian | serbian | romani | bosnian -
maidenSurnamestring optionalFor a married applicant: the surname held before marriage. The form prints no explicit boolean gate tying this field to marital status, so it is modelled as unconditionally optional rather than an invented requiredWhen condition, per this registry's established convention for this pattern (e.g. si/mzez's legal-representative block).
length: 0–150classification: pii -
fatherNamestring requiredТатко
length: 0–150classification: pii -
motherNamestring requiredМајка
length: 0–150classification: pii -
dateOfBirthdate requiredДен, месец и година на раѓање
classification: sensitive-pii -
placeOfBirthstring requiredThe applicant's place of birth. Per the form's own parenthetical, a person born abroad also states the country here, rather than in a separate field.
length: 0–200classification: pii -
personalNumberstring requiredThe applicant's unique master citizen number (матичен број).
length: 0–20classification: sensitive-pii -
sexenum requiredПол
enum: male | femaleclassification: pii -
residenceAddressstring requiredЖивеалиште и адреса
length: 0–300classification: pii -
guardian1Namestring optionalFor an applicant aged 15-18: the first parent/guardian's name and surname, consenting to the ID-card issuance. The form prints a two-row table (bounded at 2 rows on this specimen) with no explicit boolean gate tying it to applicant age, so it is modelled as unconditionally optional rather than an invented requiredWhen condition.
length: 0–150classification: pii -
guardian1PersonalNumberstring optionalМатичен број (родител/старател 1)
length: 0–20classification: sensitive-pii -
guardian1Relationshipstring optionalСродство (родител/старател 1)
length: 0–100 -
guardian1Signaturestring optionalThe first parent/guardian's name, standing in for a physical signature, per this registry's established convention for paper-form signature blocks.
classification: pii -
guardian2Namestring optionalИме и презиме (родител/старател 2)
length: 0–150classification: pii -
guardian2PersonalNumberstring optionalМатичен број (родител/старател 2)
length: 0–20classification: sensitive-pii -
guardian2Relationshipstring optionalСродство (родител/старател 2)
length: 0–100 -
guardian2Signaturestring optionalThe second parent/guardian's name, standing in for a physical signature.
classification: pii -
previousResidenceAddressstring optionalПредходно живеалиште и адреса
length: 0–300classification: pii -
previousIdCardNumberstring optionalThe number of the applicant's previous personal ID card.
length: 0–50 -
previousIssuingAuthoritystring optionalThe authority that issued the applicant's previous personal ID card.
length: 0–200 -
applicationDatedate requiredThe date this application is submitted, printed directly alongside applicationPlace and immediately above the applicant's own signature block — modelled as an applicant-declared field, distinct from the office-completed administrative-tracking dates seen on other MVR/MZEZ sibling schemas.
-
applicationPlacestring requiredThe place this application is submitted, printed on the same line as applicationDate, separated by a comma.
length: 0–150 -
applicantSignaturestring requiredThe applicant's name, standing in for a physical signature, per this registry's established convention for paper-form signature blocks.
classification: pii -
contactInfostring optionalThe applicant's own choice of contact method (e.g. phone or email) by which МВР may reach them during processing. The bilingual Type B specimen's own instructions confirm this is the applicant's free choice, not a mandatory field.
length: 0–200classification: pii -
receivingOfficialSignaturestring optionalThe name of the official who received the application, standing in for a physical signature. Office-only.
-
otherRequiredDocumentsDescriptionstring optionalA free-text description of any additional document the applicant is attaching beyond the five enumerated supporting-evidence items, per the checklist's own final open-ended row.
length: 0–300
Verification record
This file is the source-review record for this document version, per the manual-source-review-v1 practice.
Current claim
status:draftverification.method:manual-source-review-v1verification.lastVerifiedAt:2026-07-14maturity.level:structural-reference
This is GovSchema Standard Research cycle GOV-2942 (parent GOV-2937). North Macedonia was opened as the registry's 54th jurisdiction via Taxes (GOV-2919). This document opens North Macedonia's National ID & Civic Documents vertical (4 of 6, alongside Taxes, DMV, and the concurrently-merged GOV-2939 passport schema).
Source verification (independently re-fetched and re-derived this cycle)
- Fetched file:
https://portal.mdt.gov.mk/post-documents/gragjanski-postapki-document-18rr.pdf— re-fetched fresh this cycle viacurl, not reused from any cached copy.- HTTP 200,
Content-Type: application/pdf, 1,394,396 bytes, matching the issue brief's own claim exactly. sha256:397cdd15d6facac8f849b52ccf0debc2f6bba06e51c33c0313f936b3be570f62(computed directly against this cycle's own freshly-fetched bytes).- Confirmed 2 pages via
pdfjs-dist.
- HTTP 200,
- Extracted with
pdfjs-dist(legacy/build/pdf.js, CommonJSrequire— this environment's established technique; note this specific pdfjs-dist install ships nolegacy/build/pdf.mjs, only the CommonJSpdf.jsbuild, so all scripts this cycle userequire(...)rather than theimportform used by some earlier cycles' scripts).doc.getFieldObjects()returns 0 — no AcroForm at all.page.getAnnotations()confirms 0/Widgetannotations on either page. This is a genuine print-and-fill specimen, not a flattened AcroForm.page.getTextContent()does return a real text layer (331 items on page 1, 417 on page 2), but the embedded font uses a non-standard encoding: extracted strings are a visually-plausible but wrong substitution, e.g. the header's actual printed "МИНИСТЕРСТВО ЗА" extracts as the Latin-lookalike stringMHHHCTEPCTBO 3A— and the substitution is not even a clean 1:1 Cyrillic mapping (Hstands for bothИandНdepending on position, confirmed by comparing the 12-character extracted token against the 12-character source word letter-by-letter). Raw text extraction is unusable for this specimen; every field in this schema was read directly off a rendered image, not offgetTextContent().
- Rendered every page to PNG via
pdfjs-dist+node-canvas(scale 3.0) and read all field labels, checkbox groups, and table structure directly off the rendered image. This is the same visual-decode gotcha flagged in the issue brief for the sibling passport/DMV forms from this same GOV-2937 cycle (GOV-2939/GOV-2940).
The companion ...-document-5pue.pdf — re-verified, not a duplicate
The issue brief flagged this file as possibly mis-tagged as "Type B of the same form" and asked for re-verification before authoring. Independently re-fetched this cycle:
- HTTP 200,
Content-Type: application/pdf, 1,842,608 bytes — note this does not match the issue brief's own claimed size of 869,878 bytes; the file at this URL has evidently changed since the GOV-2937 scouting pass (Last-Modified: Mon, 02 Jun 2025server-side, so the discrepancy predates this cycle rather than being a live edit during it).sha256:0247109e2a302e7805caaef38952ffafc3b451d733a0e8f753f1699ecf87ad34. - Rendered and visually read the same way as the Type A specimen. The document is genuinely Образец бр. 2 ("Form No. 2"), titled "БАРАЊЕ ЗА ИЗДАВАЊЕ НА ЛИЧНА КАРТА / KËRKESË PËR DHËNIE TË LETËRNJOFTIMIT, ТИП-Б / LLOJI-B" — a bilingual Macedonian/Albanian specimen of the same ID-card application, explicitly self-labelled "Type B" in its own header. This confirms the issue brief's suspicion that the original "Type B = duplicate" tag was wrong in a different way than expected: it is not a duplicate of Type A, and it is not a different ID-document type (e.g. not the out-of-scope "посебна лична карта" for foreign diplomatic staff) — it is a genuine, distinct, officially bilingual companion specimen of this exact form, used in municipalities where Albanian has official co-official status per the Law on the Use of Languages.
- Field-by-field comparison against Type A (both pages rendered and read): Type B keeps every Type A field except the two alternate-script request checkboxes (turski/vlashki/srpski/romski/bosanski — not needed since Type B is already the dedicated Albanian-language specimen), and adds two fields Type A does not have: "НАЦИОНАЛНА ПРИПАДНОСТ / PËRKATËSIA NACIONALE" (ethnic/national affiliation) and "ДРЖАВЈАНСТВО / SHTETËSIA" (citizenship).
- Disposition: out of scope for this v1.0.0. Modelling Type B requires its own source-of-truth-faithful schema (a merged Type A/B hybrid would violate this registry's one-schema-per-source-document convention), and this issue's own scope is the single "identity card application v1.0.0" deliverable. Left as a follow-up candidate rather than silently dropped.
Field-extraction method (visual read, no AcroForm to correlate against)
With zero widgets on the page, there are no rects to correlate against a text layer (the coordinate-correlation method used on AcroForm print specimens elsewhere in this registry does not apply here — there is nothing to correlate). Every field in fields[] was read directly off the rendered PNG for each page, cross-checked against the printed section numbering (1, 2, 2.1, 2.2, 3, 4.1–4.3, 5) that structures the form, and against the (non-widget-backed) blank lines/boxes printed for each entry. The rendered images were also cross-checked against the bilingual Type B specimen's Albanian-language captions where a Macedonian label was ambiguous (e.g. confirming "Податоци за контакт" / "Të dhëna për kontakt" is applicant's own choice of contact channel, from Type B's own filling instructions, which are absent on the Type A specimen).
Field inventory
30 fields[] entries plus 5 documents[] entries. Every field's exact source-form section/label reference is listed inline in schema.json's own sourceRef. Summary by section:
| Form section | Fields | |---|---| | 1. Причина за барање | applicationReason | | 2.1 Applicant name | givenName, surname | | 2.2 Alternate-script requests | requestedFormLanguage, requestedNameLanguage | | Married-applicant / parents / birth / residence | maidenSurname, fatherName, motherName, dateOfBirth, placeOfBirth, personalNumber, sex, residenceAddress | | 3. Guardian consent (bounded 2-row table) | guardian1Name, guardian1PersonalNumber, guardian1Relationship, guardian1Signature, guardian2Name, guardian2PersonalNumber, guardian2Relationship, guardian2Signature | | 4. Previous document | previousResidenceAddress, previousIdCardNumber, previousIssuingAuthority | | Submission / signoff | applicationDate, applicationPlace, applicantSignature, contactInfo, receivingOfficialSignature | | 5. Attachments | otherRequiredDocumentsDescription (free-text row) + 5 documents[] entries |
Judgment calls
applicationReasonmodelled as a single 4-value enum, not four booleans. The form's own instruction reads "да се заокружи еден од основите" (circle one of the grounds) — no checkbox glyphs are printed for 1.1–1.4 (unlike section 2.2's explicit□checkboxes), confirming single-selection semantics.requestedFormLanguageandrequestedNameLanguagemodelled as two independent optional enums, not one. The form prints two visually separate checkbox rows with two separate instructions ("Барам образецот да биде изготвен..." vs. "Барам податоците за личното име... да бидат испишани..."), each independently stating "се одбира еден" (one is selected) — an applicant could request one, both, or neither.- Guardian consent block bounded at 2 rows, not treated as an open-ended repeating group. The printed table shows exactly two numbered rows (1, 2) with no continuation notation. Modelled via the
guardian1*/guardian2*numbered-field convention already established in this registry (e.g.rw/dgie'schild1*/child2*/... fields), allrequired: falsesince the form ties this block to applicant age (15–18) with no explicit boolean gate to invent arequiredWhencondition against. applicationDate/applicationPlacemodelled as applicant-declared (required: true), not office-completed. Unlike the si/mzez sibling schema's own administrative-tracking date fields (office-completed,required: false), this form's "Датум и место на поднесување" line sits directly beside the applicant's own signature block, not inside an office-only administrative-tracking row — a genuine structural difference between the two forms, not a copied assumption.documents[]used for the five starred/unstarred attachment-checklist rows,handlingused instead of a free-textdescriptionfor the ex-officio explanation. The v0.3 meta-schema'sdocumentdef has nodescriptionproperty (additionalProperties: false); an earlier draft of this file incorrectly included one and was caught bytools/validate-ajv.mjs(see Conformance below) before being fixed by folding the explanation intosourceRefand using thehandlingslug (starred-obtained-ex-officio-by-mvr/applicant-provided-not-starred) to distinguish the two categories.- The final attachment-checklist row ("Други документи неопходни за постапката ___") modelled as a plain string field (
otherRequiredDocumentsDescription), not adocuments[]entry. Unlike the other five rows, this row is a blank line for the applicant to name an unlisted document, not itself a specific attachment — adocuments[]entry would have no fixedlabel/categoryto describe. - Signature fields modelled as
type: string. No signature field is adocuments[]image attachment on this print-and-fill specimen; each stands in for a physical signature, per this registry's established convention for paper-form signature blocks. - "УПАТСТВО ЗА ПОПОЛНУВАЊЕ..." (filling instructions) excluded entirely. Pure instructional prose on both specimens, not a field.
Dead ends (carried from the issue brief, not re-screened this cycle)
The МВР "посебна лична карта" (special ID card) form remains confirmed out of scope — issued only to foreign diplomatic/consular staff accredited in North Macedonia, not to MK citizens. Not re-verified this cycle; carried as-is from the GOV-2937 scouting pass.
Conformance
node tools/validate.mjs— passes (442/442).node tools/validate-ajv.mjs— passes against the v0.3 meta-schema (this document specifically; caught and fixed thedocuments[].descriptionadditional-property violation described in judgment call 5 above before this pass was clean).- Mock conformance test scenarios authored as real fixtures under
conformance/mk/mvr/baranje-za-izdavanje-na-lichna-karta/1.0.0/, per GSP-0016's establishedpayloads-style convention (matching the fixture-naming pattern already landed this same cycle for the siblingmk/mvr/baranje-za-izdavanje-pasoshschema): two valid scenarios (valid-first-issuance-adult, an adult first-issuance case; andvalid-duplicate-minor-guardian-language-request, a minor's guardian filing a lost/stolen duplicate with an alternate-script request and the previous-document section populated) and three mutation-control cases (mutation-control-missing-static-required-personal-number,mutation-control-invalid-enum-application-reason, andmutation-control-invalid-enum-requested-form-language— the last deliberately usingalbanian, a value excluded from this field's enum precisely because Albanian has its own dedicated Type B specimen). This schema has norequiredWhen/conditional logic anywhere (every field's requiredness is static — see judgment call 3, guardian block), so no conditional-violation fixture applies here, unlike the passport sibling. All 5 fixtures independently re-verified againstschema.jsonwith an ad hoc checker (not a permanent repo tool —tools/conformance-runner.mjsremains out of scope per GSP-0016 §"Out of scope"): both valid scenarios produce 0 errors, and each mutation-control scenario produces exactly its own declaredexpectedErrorCount/expectedViolation. tools/govschema-client/registry-index.jsonregenerated vianpm run build-indexand diffed — only this document's entry added.
GovSchema is an independent, non-profit standards body and is not affiliated with, endorsed by, or operated by the Government of the Republic of North Macedonia or the Министерство за внатрешни работи.
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 Министерство за внатрешни работи or any government. The authoritative source is always the live government form and its official instructions.