Files
smoa/docs/schemas/credential-payload-aamva_dlid.schema.json
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

88 lines
2.7 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://smoa.dev/schemas/credential-payload-aamva_dlid.schema.json",
"title": "Credential sync payload — AAMVA DL/ID",
"description": "JSON shape for CredentialSyncRequest.payload only (credentialType on the sync request body). Use when request.credentialType is aamva_dlid. Aligns with com.smoa.core.barcode.formats.AAMVACredential.",
"type": "object",
"required": [
"documentDiscriminator",
"firstName",
"lastName",
"address",
"city",
"state",
"zipCode",
"dateOfBirth",
"expirationDate",
"issueDate",
"licenseNumber"
],
"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"
},
"documentDiscriminator": {
"type": "string",
"description": "AAMVA document discriminator / instance id."
},
"firstName": { "type": "string" },
"middleName": { "type": "string" },
"lastName": { "type": "string" },
"address": { "type": "string" },
"city": { "type": "string" },
"state": {
"type": "string",
"description": "Subnational issuer code (e.g. US state, CA province) — national conventions apply."
},
"zipCode": {
"type": "string",
"description": "Postal code in issuing jurisdiction format."
},
"dateOfBirth": {
"type": "string",
"pattern": "^\\d{8}$",
"description": "YYYYMMDD."
},
"expirationDate": {
"type": "string",
"pattern": "^\\d{8}$",
"description": "YYYYMMDD."
},
"issueDate": {
"type": "string",
"pattern": "^\\d{8}$",
"description": "YYYYMMDD."
},
"licenseNumber": { "type": "string" },
"restrictions": { "type": "string" },
"endorsements": { "type": "string" },
"vehicleClass": { "type": "string" },
"height": {
"type": "string",
"description": "e.g. FTIN or metric per jurisdiction."
},
"weight": {
"type": "string",
"description": "e.g. LBS or KG per jurisdiction."
},
"eyeColor": { "type": "string" },
"hairColor": { "type": "string" },
"sex": {
"type": "string",
"enum": ["M", "F", "X"],
"description": "AAMVA allows X for unspecified/non-binary where adopted."
},
"extensions": {
"type": "object",
"description": "Jurisdiction-specific element codes, REAL ID flags, or non-AAMVA national DL profiles.",
"additionalProperties": true
}
},
"additionalProperties": false
}