# Master Data Biometric APIs

## Introduction

This section details about the service APIs in the biometric types and biometric attributes modules

* [Biometric Types API](#biometric-types)
* [Biometrics Attributes API](#biometric-attributes)

## Biometric types

* [POST /biometrictypes](#post-biometrictypes)
* [GET /biometrictypes](#get-biometrictypes)
* [GET /biometrictypes/{id}/{languagecode}](#get-biometrictypes-id-languagecode)
* [GET /biometrictypes/{languagecode}](#get-biometrictypes-id-languagecode)

### POST /biometrictypes

This service will create a biometric types which would be used in MOSIP platform.

#### Resource URL

`POST /biometrictypes`

#### Resource details

| Resource Details        | Description |
| ----------------------- | ----------- |
| Response format         | JSON        |
| Requires Authentication | Yes         |

#### Parameters

| Name          | Required | Description                  | Default Value | Example |
| ------------- | -------- | ---------------------------- | ------------- | ------- |
| biometrictype | Yes      | Array of the biometric types |               |         |

#### Example Request

```
{
  "id": "io.mosip.masterdata.biometrictypes.create",
  "metadata": {},
  "request": {
    "code": "FNR",
    "description": "Finger prints of the applicant",
    "isActive": true,
    "langCode": "eng",
    "name": "Fingerprint"
  },
  "requesttime": "2020-05-02T07:37:35.618Z",
  "version": "1.0"
}
```

#### Example Response

```
{
  "id": "io.mosip.masterdata.biometrictypes.create",
  "version": "1.0",
  "responsetime": "2020-05-02T07:37:35.618Z",
  "metadata": null,
  "response": {
    "code": "FNR",
    "langCode": "eng"
  },
  "errors": null
}
```

**Response code: 200 Ok**

#### Failure details

| Error Code  | Error Message                                         | Error Description   |
| ----------- | ----------------------------------------------------- | ------------------- |
| KER-MSD-105 | Error occurred while inserting biometric type details | Insertion Exception |

### GET /biometrictypes

This service will fetch all the biometric types in MOSIP platform.

#### Resource URL

`GET /biometrictypes`

#### Resource details

| Resource Details        | Description |
| ----------------------- | ----------- |
| Response format         | JSON        |
| Requires Authentication | Yes         |

#### Parameters

| Name            | Required | Description          | Default Value | Example |
| --------------- | -------- | -------------------- | ------------- | ------- |
| biometrictypeid | Yes      | Code of the language |               |         |
| biometrictype   | Yes      | Name of the language |               |         |

#### Example Response

```
{
  "id": null,
  "version": null,
  "responsetime": "2020-05-02T07:41:40.882Z",
  "metadata": null,
  "response": {
    "biometrictypes": [
      {
        "code": "FNR",
        "name": "Fingerprint",
        "description": "Finger prints of the applicant",
        "langCode": "eng",
        "isActive": true
      }
    ]
  },
  "errors": null
}
```

**Response code: 200 Ok**

### GET /biometrictypes/{id}/{languagecode}

This service will fetch all the biometric types based on id and language code.

#### Resource URL

`GET /biometrictypes/{id}/{languagecode}`

#### Resource details

| Resource Details        | Description |
| ----------------------- | ----------- |
| Response format         | JSON        |
| Requires Authentication | Yes         |

#### Parameters

| Name            | Required | Description          | Default Value | Example |
| --------------- | -------- | -------------------- | ------------- | ------- |
| biometrictypeid | Yes      | Code of the language |               |         |
| biometrictype   | Yes      | Name of the language |               |         |

#### Example Request

```
https://{base_url}/v1/masterdata/biometrictypes/FNR/eng
```

#### Success Response

```
{
  "id": null,
  "version": null,
  "responsetime": "2020-05-02T07:46:57.974Z",
  "metadata": null,
  "response": {
    "biometrictypes": [
      {
        "code": "FNR",
        "name": "Fingerprint",
        "description": "Finger prints of the applicant",
        "langCode": "eng",
        "isActive": true
      }
    ]
  },
  "errors": null
}
```

**Response code: 200 Ok**

#### Error Response

```
{
  "id": null,
  "version": null,
  "responsetime": "2020-05-02T07:48:34.076Z",
  "metadata": null,
  "response": null,
  "errors": [
    {
      "errorCode": "KER-MSD-006",
      "message": "Biometric Type not found"
    }
  ]
}
```

**Response code: 200 Ok**

#### Failure details

| Error Code  | Error Message                                 | Error Description |
| ----------- | --------------------------------------------- | ----------------- |
| KER-MSD-005 | Error occurred while fetching Biometric Types | Fetch Exception   |
| KER-MSD-006 | Biometric Type not found                      | Data not found    |

### GET /biometrictypes/{languagecode}

This service will fetch all the biometric types based on language code.

#### Resource URL

`GET /biometrictypes/{languagecode}`

#### Resource details

| Resource Details        | Description |
| ----------------------- | ----------- |
| Response format         | JSON        |
| Requires Authentication | Yes         |

#### Parameters

| Name            | Required | Description          | Default Value | Example |
| --------------- | -------- | -------------------- | ------------- | ------- |
| biometrictypeid | Yes      | Code of the language |               |         |
| biometrictype   | Yes      | Name of the language |               |         |

#### Example Request

```
https://{base_url}/v1/masterdata/biometrictypes/eng
```

#### Success Response

```
{
  "id": null,
  "version": null,
  "responsetime": "2020-05-02T07:46:57.974Z",
  "metadata": null,
  "response": {
    "biometrictypes": [
      {
        "code": "FNR",
        "name": "Fingerprint",
        "description": "Finger prints of the applicant",
        "langCode": "eng",
        "isActive": true
      }
    ]
  },
  "errors": null
}
```

**Response code: 200 Ok**

#### Error Response

```
{
  "id": null,
  "version": null,
  "responsetime": "2020-05-02T07:48:34.076Z",
  "metadata": null,
  "response": null,
  "errors": [
    {
      "errorCode": "KER-MSD-006",
      "message": "Biometric Type not found"
    }
  ]
}
```

**Response code: 200 Ok**

#### Failure details

| Error Code  | Error Message                                 | Error Description |
| ----------- | --------------------------------------------- | ----------------- |
| KER-MSD-005 | Error occurred while fetching Biometric Types | Fetch Exception   |
| KER-MSD-006 | Biometric Type not found                      | Data not found    |

***

## Biometric Attributes

* [POST /biometricattributes](#post-biometricattributes)
* [GET /biometricattributes/{biometricatributeid}/{languagecode}](#get-biometricattributes-biometricatributeid-languagecode)
* [GET /getbiometricattributesbyauthtype/{languagecode}/{biometrictypeid}](#get-getbiometricattributesbyauthtype-languagecode-biometrictypeid)

### POST /biometricattributes

This service will create a biometric attribute which will be used in the MOSIP platform.

#### Resource URL

`POST /biometricattributes`

#### Resource details

| Resource Details        | Description |
| ----------------------- | ----------- |
| Response format         | JSON        |
| Requires Authentication | Yes         |

#### Parameters

| Name               | Required | Description                       | Default Value | Example |
| ------------------ | -------- | --------------------------------- | ------------- | ------- |
| biometricattribute | Yes      | Array of the biometric attributes |               |         |

#### Example Request

```
{
  "id": "io.mosip.masterdata.biometricattribute.create",
  "metadata": {},
  "request": {
    "biometricTypeCode": "FNR",
    "code": "TM",
    "description": "Print of Left and Right Thumbs",
    "isActive": true,
    "langCode": "eng",
    "name": "Thumbs"
  },
  "requesttime": "2018-12-10T06:12:52.994Z",
  "version": "1.0"
}
```

#### Example Response

```
{
  "id": "io.mosip.masterdata.biometricattribute.create",
  "version": "1.0",
  "responsetime": "2020-05-02T07:59:37.634Z",
  "metadata": null,
  "response": {
    "code": "TM",
    "langCode": "eng"
  },
  "errors": null
}
```

**Response code: 200 Ok**

### GET /biometricattributes/{biometricatributeid}/{languagecode}

This service will fetch the list of biometric attributes using biometric attribute code and language code.

#### Resource URL

`GET /biometricattributes/{biometricatributeid}/{languagecode}`

#### Resource details

| Resource Details        | Description |
| ----------------------- | ----------- |
| Response format         | JSON        |
| Requires Authentication | Yes         |

#### Parameters

| Name                | Required | Description          | Default Value | Example |
| ------------------- | -------- | -------------------- | ------------- | ------- |
| biometricatributeid | Yes      | Code of the language |               |         |
| biometricattribute  | Yes      | Name of the language |               |         |

#### Example Request

```
https://{base_ur}/v1/masterdata/biometricattributes/TM/eng
```

#### Example Response

```
{
  "id": null,
  "version": null,
  "responsetime": "2020-05-02T07:59:14.845Z",
  "metadata": null,
  "response": {
    "biometricattributes": [
      {
        "code": "TM",
        "name": "Thumbs",
        "description": "Print of Left and Right Thumbs",
        "biometricTypeCode": "FNR",
        "langCode": "eng",
        "isActive": true
      }
    ]
  },
  "errors": null
}
```

**Response code: 200 Ok**

### GET /getbiometricattributesbyauthtype/{languagecode}/{biometrictypeid}

This service will provides fetch a list of Biometrics based on the biometric type and language code.

#### Resource URL

`GET /getbiometricattributesbyauthtype/{languagecode}/{biometrictypeid}`

#### Resource details

| Resource Details        | Description |
| ----------------------- | ----------- |
| Response format         | JSON        |
| Requires Authentication | Yes         |

#### Parameters

| Name            | Required | Description                   | Default Value | Example |
| --------------- | -------- | ----------------------------- | ------------- | ------- |
| biometrictypeid | Yes      | Id of the biometric auth type |               |         |

#### Example Request

```
https://{base_url}/v1/masterdata/getbiometricattributesbyauthtype/eng/FNR
```

#### Success Response

```
{
  "id": null,
  "version": null,
  "responsetime": "2020-05-02T07:59:14.845Z",
  "metadata": null,
  "response": {
    "biometricattributes": [
      {
        "code": "TM",
        "name": "Thumbs",
        "description": "Print of Left and Right Thumbs",
        "biometricTypeCode": "FNR",
        "langCode": "eng",
        "isActive": true
      }
    ]
  },
  "errors": null
}
```

**Response code: 200 Ok**

#### Failure Response

```
{
  "id": null,
  "version": null,
  "responsetime": "2020-05-02T08:07:35.413Z",
  "metadata": null,
  "response": null,
  "errors": [
    {
      "errorCode": "KER-MSD-004",
      "message": "BiometricAttribute not found"
    }
  ]
}
```

**Response code: 200 Ok**

**Failure details**

| Error Code  | Error Message                                      | Error Description |
| ----------- | -------------------------------------------------- | ----------------- |
| KER-MSD-004 | BiometricAttribute not found                       | Data Not Found    |
| KER-MSD-003 | Error occurred while fetching BiometricAttributes  | Fetch Issue       |
| KER-APP-103 | Error occurred while inserting BiometricAttributes | Insertion Issues  |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mosip.io/1.1.5/apis/master-data-biometric-apis.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
