Dynamic Fields APIs
This section details about the REST services for Dynamic fields.
MOSIP consists of various types of master data like, gender, location, individual type as part of its pre-defined schema. Now if a MOSIP adopter wants to add more master data for its UI screens, they can choose to use our dynamic fields APIs which are designed to support master data in JSON format in a single table.
Our implementation for dynamic field allows MOSIP adopters to store ina key value pair in single/multiple languages. Below is an example of Blood Group in english.
[
{
"code": "101",
"value": "A",
"langCode": "eng",
"active": true
},
{
"code": "102",
"value": "A+",
"langCode": "eng",
"active": true
},
{
"code": "103",
"value": "A-",
"langCode": "eng",
"active": true
},
{
"code": "104",
"value": "B",
"langCode": "eng",
"active": true
},
{
"code": "105",
"value": "B+",
"langCode": "eng",
"active": true
},
{
"code": "106",
"value": "B-",
"langCode": "eng",
"active": true
},
{
"code": "107",
"value": "AB",
"langCode": "eng",
"active": true
},
{
"code": "108",
"value": "AB+",
"langCode": "eng",
"active": true
},
{
"code": "109",
"value": "AB-",
"langCode": "eng",
"active": true
},
{
"code": "110",
"value": "O",
"langCode": "eng",
"active": true
},
{
"code": "111",
"value": "O+",
"langCode": "eng",
"active": true
},
{
"code": "112",
"value": "O-",
"langCode": "eng",
"active": true
},
{
"code": "113",
"value": "Don't Know",
"langCode": "eng",
"active": true
},
{
"code": "114",
"value": "Not Applicable",
"langCode": "eng",
"active": true
}
]
This API is used to create a dynamic field.
POST https://{base_url}/v1/masterdata/dynamicfields
Resource Details | Description |
---|---|
Response format | JSON |
Requires Authentication | Yes |
Name | Required | Description | Default Value | Example |
---|---|---|---|---|
id | yes | ID of the API | mosip.dynamicfield.create | |
version | yes | version of the API | | v1 |
metadata | no | any meta information for the API | | |
requesttime | yes | timestamp of the request | | 2019-12-11T06:12:25.288Z |
request | yes | request body attributes | | |
request.active | yes | enable or disable the field | | true or false |
request.dataType | yes | data type of the field value | | string or integer |
request.description | yes | description of the field | | |
request.fieldVal | yes | list of field values | | |
request.fieldVal.active | yes | the field is active or not | | true or false |
request.fieldVal.code | yes | the language code for the value | | eng or ara or fra |
request.fieldVal.value | yes | the value to be stored | | |
request.langCode | yes | the language code for the field name | | |
request.name | yes | the name of the field | | |
{
"id": "string",
"metadata": {},
"request": {
"active": true,
"dataType": "string",
"description": "string",
"fieldVal": [
{
"active": true,
"code": "string",
"langCode": "string",
"value": "string"
}
],
"langCode": "eng",
"name": "any name"
},
"requesttime": "2018-12-10T06:12:52.994Z",
"version": "string"
}
{
"errors": [
{
"errorCode": "string",
"message": "string"
}
],
"id": "string",
"metadata": {},
"response": {
"active": true,
"createdBy": "string",
"createdOn": "2020-08-10T18:43:46.767Z",
"dataType": "string",
"description": "string",
"fieldVal": [
{
"active": true,
"code": "string",
"langCode": "string",
"value": "string"
}
],
"id": "string",
"langCode": "string",
"name": "string",
"updatedBy": "string",
"updatedOn": "2020-08-10T18:43:46.767Z"
},
"responsetime": "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",
"version": "string"
}
This API is used to update a dynamic field schema completely.
Resource Details | Description |
---|---|
Response format | JSON |
Requires Authentication | Yes |
Name | Required | Description | Default Value | Example |
---|---|---|---|---|
id | yes | ID of the API | mosip.dynamicfield.create | |
version | yes | version of the API | | v1 |
metadata | no | any meta information for the API | | |
requesttime | yes | timestamp of the request | | 2019-12-11T06:12:25.288Z |
request | yes | request body attributes | | |
request.active | yes | enable or disable the field | | true or false |
request.dataType | yes | data type of the field value | | string or integer |
request.description | yes | description of the field | | |
request.fieldVal | yes | list of field values | | |
request.fieldVal.active | yes | the field is active or not | | true or false |
request.fieldVal.code | yes | the language code for the value | | eng or ara or fra |
request.fieldVal.value | yes | the value to be stored | | |
request.langCode | yes | the language code for the field name | | |
request.name | yes | the name of the field | | |
PUT https://{base_url}/v1/masterdata/dynamicfields?id={id value}
{
"id": "string",
"metadata": {},
"request": {
"active": true,
"dataType": "string",
"description": "string",
"fieldVal": [
{
"active": true,
"code": "string",
"langCode": "string",
"value": "string"
}
],
"langCode": "eng",
"name": "any name"
},
"requesttime": "2018-12-10T06:12:52.994Z",
"version": "string"
}
{
"errors": [
{
"errorCode": "string",
"message": "string"
}
],
"id": "string",
"metadata": {},
"response": {
"active": true,
"createdBy": "string",
"createdOn": "2020-08-10T18:54:17.240Z",
"dataType": "string",
"description": "string",
"fieldVal": [
{
"active": true,
"code": "string",
"langCode": "string",
"value": "string"
}
],
"id": "string",
"langCode": "string",
"name": "string",
"updatedBy": "string",
"updatedOn": "2020-08-10T18:54:17.240Z"
},
"responsetime": "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",
"version": "string"
}
This API is used to update a dynamic field value.
PUT https://dev.mosip.net/v1/masterdata/dynamicfields/values?id={id value}
Resource Details | Description |
---|---|
Response format | JSON |
Requires Authentication | Yes |
Name | Required | Description | Default Value | Example |
---|---|---|---|---|
id | yes | ID of the API | mosip.dynamicfield.create | |
version | yes | version of the API | | v1 |
metadata | no | any meta information for the API | | |
requesttime | yes | timestamp of the request | | 2019-12-11T06:12:25.288Z |
request | yes | request body attributes | | |
request.active | yes | the field is active or not | | true or false |
request.code | yes | the language code for the value | | eng or ara or fra |
request.value | yes | the value to be stored | | |
request.langCode | yes | the language code for the field name | | |
{
"id": "string",
"metadata": {},
"request": {
"active": true,
"code": "string",
"langCode": "string",
"value": "string"
},
"requesttime": "2018-12-10T06:12:52.994Z",
"version": "string"
}
{
"errors": [
{
"errorCode": "string",
"message": "string"
}
],
"id": "string",
"metadata": {},
"response": "string",
"responsetime": "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",
"version": "string"
}
This API is used to fetch dynamic fields using pagination.
GET https://dev.mosip.net/v1/masterdata/dynamicfields?orderBy={desc or asc}&pageNumber={page number}&pageSize={page size}&sortBy={field name to sort}
Resource Details | Description |
---|---|
Response format | JSON |
Requires Authentication | Yes |
NA
NA
{
"errors": [
{
"errorCode": "string",
"message": "string"
}
],
"id": "string",
"metadata": {},
"response": {
"data": [
{
"active": true,
"createdBy": "string",
"createdOn": "2020-08-10T19:05:52.427Z",
"dataType": "string",
"description": "string",
"fieldVal": [
{
"active": true,
"code": "string",
"langCode": "string",
"value": "string"
}
],
"id": "string",
"langCode": "string",
"name": "string",
"updatedBy": "string",
"updatedOn": "2020-08-10T19:05:52.427Z"
}
],
"pageNo": 0,
"totalItems": 0,
"totalPages": 0
},
"responsetime": "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",
"version": "string"
}
Last modified 1yr ago