Files
smoa/docs/schemas/credential-payload-mil_std_129.schema.json
T
defiQUG a2dc194a49 Monorepo: Gitea CI, docs, auth/sync, backend APIs, gitignore
- Add Gitea Actions workflow; point README to gitea.d-bis.org/Sankofa_Phoenix/SMOA
- Expand .gitignore for Spring H2 data, secrets, Kotlin .kotlin/, tooling
- Track docs/api/generated ReDoc bundle; refresh api docs README
- Android: network/auth/sync, UI shell, tests; backend credentials/integrity APIs
- Docs, scripts (generate-api-docs), modules and core updates

Made-with: Cursor
2026-03-23 20:19:24 -07:00

78 lines
2.7 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://smoa.dev/schemas/credential-payload-mil_std_129.schema.json",
"title": "Credential sync payload — MIL-STD-129 style military ID",
"description": "JSON shape for CredentialSyncRequest.payload only (credentialType on the sync request body). Use when request.credentialType is mil_std_129. Aligns with com.smoa.core.barcode.formats.MILSTD129Credential.",
"type": "object",
"required": [
"serviceCode",
"lastName",
"firstName",
"socialSecurityNumber",
"dateOfBirth",
"expirationDate",
"issueDate",
"cardNumber"
],
"properties": {
"completeCredentialDomain": {
"type": "string",
"enum": ["payment", "piv_pki", "nfc_access", "mobile"],
"description": "Optional mirror of Complete Credential CredentialRef.domain."
},
"issuingAuthority": {
"$ref": "credential-authority.schema.json#/$defs/IssuingAuthorityContext",
"description": "Use government.serviceBranch, ministryOrDepartment (defense), and organizationalUnit (command) for multi-country defense organizations."
},
"serviceCode": {
"type": "string",
"description": "National service branch or component code (army, navy, air force, gendarmerie, etc.)."
},
"rank": { "type": "string" },
"lastName": { "type": "string" },
"firstName": { "type": "string" },
"middleInitial": {
"type": "string",
"maxLength": 4,
"description": "Single letter or short form used on ID."
},
"socialSecurityNumber": {
"type": "string",
"description": "National military ID number, service number, or last-4 style surrogate per policy; do not use full PII where prohibited."
},
"dateOfBirth": {
"type": "string",
"pattern": "^\\d{8}$",
"description": "YYYYMMDD."
},
"expirationDate": {
"type": "string",
"pattern": "^\\d{8}$",
"description": "YYYYMMDD."
},
"issueDate": {
"type": "string",
"pattern": "^\\d{8}$",
"description": "YYYYMMDD."
},
"cardNumber": {
"type": "string",
"description": "Document serial or PAN printed on the card."
},
"unit": {
"type": "string",
"description": "Unit, ship, squadron, station, or major command text."
},
"clearanceLevel": {
"type": "string",
"description": "National classification marking as shown or as tokenized for sync (policy-dependent)."
},
"extensions": {
"type": "object",
"description": "Coalition badge codes, NATO stock number refs, or country-specific pay grade / MOS fields.",
"additionalProperties": true
}
},
"additionalProperties": false
}