The Pre-Registration UI-spec file pre-registration-demographic.json was previously included in the mosip-config repository in version 1.1.5.*, but starting from version 1.2.0, it should be manually published using the master data UI-spec API.
Go to Swagger clientIdSecretKey to get the Authentication token:
Go to Swagger defineUISpec to define the new UI Specifications
Go to publishUISpec to Publish the newly defined UI Spec
Once done, check the master.ui_spec table.
The document provides details about all UI spec attributes. This document can be referred to in order to identify the changes between versions 1.1.5 and 1.2.0.1.
The following new attributes have been added:
subType (optional - for dynamic dropdowns)
transliteration (mandatory to enable transliteration)
locationHierarchyLevel (mandatory to be added in each location dropdown to indicate the location hierarchy level)
parentLocCode (mandatory to be added in the topmost dropdown in the location hierarchy to indicate the parent for it. It can also be omitted, in which case the mosip.country.code property will be used)
gender Attribute should be mandatory, and the parameter required should be true
The control type for the date of birth should be changed to ageDate
The labelName should be provided with the "languageCode" as the "key" and the label as the "value". Example: {"labelName": { "eng": "Date Of Birth", "ara": "تاريخ الولادة", "fra": "Date de naissance" }}
visibleCondition (optional)
requiredCondition (optional)
alignmentGroup (optional)
containerStyle (optional)
headerStyle (optional)
changeAction (optional)
{env_url}/v1/authmanager/swagger-ui/index.html?configUrl=/v1/authmanager/v3/api-docs/swagger-config#/authmanager/clientIdSecretKey
"request": {
"clientId": "mosip-reg-client",
"secretKey": {secret_key},
"appId": "admin"
} {env_url}/v1/masterdata/swagger-ui/index.html?configUrl=/v1/masterdata/v3/api-docs/swagger-config#/ui-spec-controller/defineUISpec"
request": {
"identitySchemaId": {id of latest identity schema},
"domain": "pre-registration",
"type": "schema",
"title": "Pre-registration UI Specification",
"description": "Pre-registration UI Specification",
"jsonspec": {Add New UI Spec}
} {env_url}/v1/masterdata/swagger-ui/index.html?configUrl=/v1/masterdata/v3/api-docs/swagger-config#/ui-spec-controller/publishUISpec
get the id from the defineUISpec response and add it in request
"request": {
"id": "{}",
"effectiveFrom": "2022-07-28T08:42:07.706Z"
} {
"identity": [{
"id": "IDSchemaVersion",
"description": "ID Schema Version",
"type": "number",
"controlType": null,
"fieldType": "default",
"inputRequired": false,
"validators": [],
"required": true
},
{
"id": "fullName",
"description": "Enter Full Name",
"labelName": {
"eng": "Full Name",
"ara": "الاسم الكامل",
"fra": "Nom complet"
},
"controlType": "textbox",
"inputRequired": true,
"fieldType": "default",
"type": "simpleType",
"validators": [{
"type": "regex",
"validator": "^(?=.{0,50}$).*",
"arguments": [
]
}],
"required": true
},
{
"id": "dateOfBirth",
"description": "Enter DOB",
"labelName": {
"eng": "Date Of Birth",
"ara": "تاريخ الولادة",
"fra": "Date de naissance"
},
"controlType": "date",
"inputRequired": true,
"fieldType": "default",
"type": "string",
"validators": [],
"required": true
},
{
"id": "gender",
"description": "Enter Gender",
"labelName": {
"eng": "Gender",
"ara": "جنس",
"fra": "Le genre"
},
"controlType": "dropdown",
"inputRequired": true,
"fieldType": "dynamic",
"type": "simpleType",
"validators": [
],
"required": true
},
{
"id": "residenceStatus",
"description": "Residence status",
"labelName": {
"eng": "Residence Status",
"ara": "حالة الإقامة",
"fra": "Statut de résidence"
},
"controlType": "dropdown",
"inputRequired": true,
"fieldType": "dynamic",
"type": "simpleType",
"validators": [
],
"required": true
},
{
"id": "addressLine1",
"description": "addressLine1",
"labelName": {
"eng": "Address Line1",
"ara": "العنوان السطر 1",
"fra": "Adresse 1"
},
"controlType": "textbox",
"inputRequired": true,
"fieldType": "default",
"type": "simpleType",
"validators": [{
"type": "regex",
"validator": "^(?=.{0,50}$).*",
"arguments": [
]
}],
"required": true
},
{
"id": "addressLine2",
"description": "addressLine2",
"labelName": {
"eng": "Address Line2",
"ara": "العنوان السطر 2",
"fra": "Adresse 2"
},
"controlType": "textbox",
"inputRequired": true,
"fieldType": "default",
"type": "simpleType",
"validators": [{
"type": "regex",
"validator": "^(?=.{0,50}$).*",
"arguments": [
]
}],
"required": false
},
{
"id": "addressLine3",
"description": "addressLine3",
"labelName": {
"eng": "Address Line3",
"ara": "العنوان السطر 3",
"fra": "Adresse 3"
},
"controlType": "textbox",
"inputRequired": true,
"fieldType": "default",
"type": "simpleType",
"validators": [{
"type": "regex",
"validator": "^(?=.{0,50}$).*",
"arguments": [
]
}],
"required": false
},
{
"id": "region",
"description": "region",
"labelName": {
"eng": "Region",
"ara": "منطقة",
"fra": "Région"
},
"controlType": "dropdown",
"inputRequired": true,
"fieldType": "default",
"type": "simpleType",
"validators": [{
"type": "regex",
"validator": "^(?=.{0,50}$).*",
"arguments": [
]
}],
"required": true
},
{
"id": "province",
"description": "province",
"labelName": {
"eng": "Province",
"ara": "المحافظة",
"fra": "Province"
},
"controlType": "dropdown",
"inputRequired": true,
"fieldType": "default",
"type": "simpleType",
"validators": [{
"type": "regex",
"validator": "^(?=.{0,50}$).*",
"arguments": [
]
}],
"required": true
},
{
"id": "city",
"description": "city",
"labelName": {
"eng": "City",
"ara": "مدينة",
"fra": "Ville"
},
"controlType": "dropdown",
"inputRequired": true,
"fieldType": "default",
"type": "simpleType",
"validators": [{
"type": "regex",
"validator": "^(?=.{0,50}$).*",
"arguments": [
]
}],
"required": true
},
{
"id": "zone",
"description": "zone",
"labelName": {
"eng": "Zone",
"ara": "منطقة",
"fra": "Zone"
},
"controlType": "dropdown",
"inputRequired": true,
"fieldType": "default",
"type": "simpleType",
"validators": [
],
"required": true
},
{
"id": "postalCode",
"description": "postalCode",
"labelName": {
"eng": "Postal Code",
"ara": "الكود البريدى",
"fra": "code postal"
},
"controlType": "dropdown",
"inputRequired": true,
"fieldType": "default",
"type": "string",
"validators": [{
"type": "regex",
"validator": "^[(?i)A-Z0-9]{5}$|^NA$",
"arguments": [
]
}],
"required": true
},
{
"id": "phone",
"description": "phone",
"labelName": {
"eng": "Phone",
"ara": "هاتف",
"fra": "Téléphone"
},
"controlType": "textbox",
"inputRequired": true,
"fieldType": "default",
"type": "string",
"validators": [{
"type": "regex",
"validator": "^([6-9]{1})([0-9]{9})$",
"arguments": [
]
}],
"required": true
},
{
"id": "email",
"description": "email",
"labelName": {
"eng": "Email",
"ara": "البريد الإلكتروني",
"fra": "Email"
},
"controlType": "textbox",
"inputRequired": true,
"fieldType": "default",
"type": "string",
"validators": [{
"type": "regex",
"validator": "^[\\w-\\+]+(\\.[\\w]+)*@[\\w-]+(\\.[\\w]+)*(\\.[a-zA-Z]{2,})$",
"arguments": [
]
}],
"required": true
},
{
"id": "proofOfAddress",
"description": "proofOfAddress",
"labelName": [{
"value": "Address Proof",
"language": "eng"
}],
"controlType": "fileupload",
"inputRequired": true,
"validators": [
],
"required": false
},
{
"id": "proofOfIdentity",
"description": "proofOfIdentity",
"labelName": [{
"value": "Identity Proof",
"language": "eng"
}],
"controlType": "fileupload",
"inputRequired": true,
"validators": [
],
"required": true
},
{
"id": "proofOfRelationship",
"description": "proofOfRelationship",
"labelName": [{
"value": "Relationship Proof",
"language": "eng"
}],
"controlType": "fileupload",
"inputRequired": true,
"validators": [
],
"required": true
},
{
"id": "proofOfDateOfBirth",
"description": "proofOfDateOfBirth",
"labelName": [{
"value": "DOB Proof",
"language": "eng"
}],
"controlType": "fileupload",
"inputRequired": true,
"validators": [
],
"required": true
},
{
"id": "proofOfException",
"description": "proofOfException",
"labelName": [{
"value": "Exception Proof",
"language": "eng"
}],
"controlType": "fileupload",
"inputRequired": true,
"validators": [
],
"required": true
}
],
"locationHierarchy": ["region", "province", "city", "zone", "postalCode"]
}{
"identity": {
"identity": [{
"id": "IDSchemaVersion",
"description": "ID Schema Version",
"type": "number",
"controlType": null,
"fieldType": "default",
"inputRequired": false,
"validators": [],
"required": true
}, {
"id": "fullName",
"description": "Enter Full Name",
"labelName": {
"eng": "Full Name",
"ara": "الاسم الكامل",
"fra": "Nom complet"
},
"controlType": "textbox",
"inputRequired": true,
"fieldType": "default",
"type": "simpleType",
"validators": [{
"type": "regex",
"validator": "^(?=.{0,50}$).*",
"arguments": []
}],
"required": true,
"transliteration": true
}, {
"id": "dateOfBirth",
"description": "Enter DOB",
"labelName": {
"eng": "Date Of Birth",
"ara": "تاريخ الولادة",
"fra": "Date de naissance"
},
"controlType": "ageDate",
"inputRequired": true,
"fieldType": "default",
"type": "string",
"validators": [],
"required": true
}, {
"id": "gender",
"description": "Enter Gender",
"labelName": {
"eng": "Gender",
"ara": "جنس",
"fra": "Le genre"
},
"controlType": "dropdown",
"inputRequired": true,
"fieldType": "dynamic",
"subType": "gender",
"type": "simpleType",
"validators": [],
"required": true
}, {
"id": "residenceStatus",
"description": "Residence status",
"labelName": {
"eng": "Residence Status",
"ara": "حالة الإقامة",
"fra": "Statut de résidence"
},
"controlType": "dropdown",
"inputRequired": true,
"fieldType": "dynamic",
"subType": "residenceStatus",
"type": "simpleType",
"validators": [],
"required": true
}, {
"id": "addressLine1",
"description": "addressLine1",
"labelName": {
"eng": "Address Line1",
"ara": "العنوان السطر 1",
"fra": "Adresse 1"
},
"controlType": "textbox",
"inputRequired": true,
"fieldType": "default",
"type": "simpleType",
"validators": [{
"type": "regex",
"validator": "^(?=.{0,50}$).*",
"arguments": []
}],
"required": true,
"transliteration": true
}, {
"id": "addressLine2",
"description": "addressLine2",
"labelName": {
"eng": "Address Line2",
"ara": "العنوان السطر 2",
"fra": "Adresse 2"
},
"controlType": "textbox",
"inputRequired": true,
"fieldType": "default",
"type": "simpleType",
"validators": [{
"type": "regex",
"validator": "^(?=.{0,50}$).*",
"arguments": []
}],
"required": false,
"transliteration": true
}, {
"id": "addressLine3",
"description": "addressLine3",
"labelName": {
"eng": "Address Line3",
"ara": "العنوان السطر 3",
"fra": "Adresse 3"
},
"controlType": "textbox",
"inputRequired": true,
"fieldType": "default",
"type": "simpleType",
"validators": [{
"type": "regex",
"validator": "^(?=.{0,50}$).*",
"arguments": []
}],
"required": false,
"transliteration": true
}, {
"id": "region",
"description": "region",
"labelName": {
"eng": "Region",
"ara": "منطقة",
"fra": "Région"
},
"controlType": "dropdown",
"inputRequired": true,
"fieldType": "default",
"type": "simpleType",
"validators": [{
"type": "regex",
"validator": "^(?=.{0,50}$).*",
"arguments": []
}],
"parentLocCode": "MOR",
"locationHierarchyLevel": 1,
"required": true
}, {
"id": "province",
"description": "province",
"labelName": {
"eng": "Province",
"ara": "المحافظة",
"fra": "Province"
},
"controlType": "dropdown",
"inputRequired": true,
"fieldType": "default",
"type": "simpleType",
"validators": [{
"type": "regex",
"validator": "^(?=.{0,50}$).*",
"arguments": []
}],
"locationHierarchyLevel": 2,
"required": true
}, {
"id": "city",
"description": "city",
"labelName": {
"eng": "City",
"ara": "مدينة",
"fra": "Ville"
},
"controlType": "dropdown",
"inputRequired": true,
"fieldType": "default",
"type": "simpleType",
"validators": [{
"type": "regex",
"validator": "^(?=.{0,50}$).*",
"arguments": []
}],
"locationHierarchyLevel": 3,
"required": true
}, {
"id": "zone",
"description": "zone",
"labelName": {
"eng": "Zone",
"ara": "منطقة",
"fra": "Zone"
},
"controlType": "dropdown",
"inputRequired": true,
"fieldType": "default",
"type": "simpleType",
"validators": [],
"locationHierarchyLevel": 4,
"required": true
}, {
"id": "postalCode",
"description": "postalCode",
"labelName": {
"eng": "Postal Code",
"ara": "الكود البريدى",
"fra": "code postal"
},
"controlType": "dropdown",
"inputRequired": true,
"fieldType": "default",
"type": "string",
"validators": [{
"type": "regex",
"validator": "^[(?i)A-Z0-9]{5}$|^NA$",
"arguments": []
}],
"locationHierarchyLevel": 5,
"required": true
}, {
"id": "phone",
"description": "phone",
"labelName": {
"eng": "Phone",
"ara": "هاتف",
"fra": "Téléphone"
},
"controlType": "textbox",
"inputRequired": true,
"fieldType": "default",
"type": "string",
"validators": [{
"type": "regex",
"validator": "^([6-9]{1})([0-9]{9})$",
"arguments": []
}],
"required": true
}, {
"id": "email",
"description": "email",
"labelName": {
"eng": "Email",
"ara": "البريد الإلكتروني",
"fra": "Email"
},
"controlType": "textbox",
"inputRequired": true,
"fieldType": "default",
"type": "string",
"validators": [{
"type": "regex",
"validator": "^[\\w-\\+]+(\\.[\\w]+)*@[\\w-]+(\\.[\\w]+)*(\\.[a-zA-Z]{2,})$",
"arguments": []
}],
"required": true
}, {
"id": "proofOfAddress",
"description": "proofOfAddress",
"labelName": {
"ara": "إثبات العنوان",
"fra": "Address Proof",
"eng": "Address Proof"
},
"controlType": "fileupload",
"inputRequired": true,
"validators": [],
"subType": "POA",
"required": false
}, {
"id": "proofOfIdentity",
"description": "proofOfIdentity",
"labelName": {
"ara": "إثبات الهوية",
"fra": "Identity Proof",
"eng": "Identity Proof"
},
"controlType": "fileupload",
"inputRequired": true,
"validators": [],
"subType": "POI",
"required": true
}, {
"id": "proofOfRelationship",
"description": "proofOfRelationship",
"labelName": {
"ara": "إثبات العلاقة",
"fra": "Relationship Proof",
"eng": "Relationship Proof"
},
"controlType": "fileupload",
"inputRequired": true,
"validators": [],
"subType": "POR",
"required": true
}, {
"id": "proofOfDateOfBirth",
"description": "proofOfDateOfBirth",
"labelName": {
"ara": "دليل DOB",
"fra": "DOB Proof",
"eng": "DOB Proof"
},
"controlType": "fileupload",
"inputRequired": true,
"validators": [],
"subType": "POB",
"required": true
}, {
"id": "proofOfException",
"description": "proofOfException",
"labelName": {
"ara": "إثبات الاستثناء",
"fra": "Exception Proof",
"eng": "Exception Proof"
},
"controlType": "fileupload",
"inputRequired": true,
"validators": [],
"subType": "POE",
"required": true
}],
"locationHierarchy": ["region", "province", "city", "zone", "postalCode"]
}
}