---
# System prepended metadata

title: E-KYC using Block Chain Documentation

---


 # E-KYC using Block Chain Documentation
 ## Models
 ### 1. Users 
 ```javascript=1
 const UserSchema = new Schema({
    name: {
        type: String,
        required: true,
    },
    username: {
        type: String,
        required: true,
    },
    password: {
        type: String,
        required: true,
    },
   date: {
        type: String,
        default: Date.now,
    },
    })
```
  ### 2. Institutions 
 ```javascript=1
 const InstitutionSchema = new Schema({
    name: {
        type: String,
        required: true,
    },
    password: {
        type: String,
        required: true,
    },
   date: {
        type: String,
        default: Date.now,
    },
    })
```


    
## End points
### **1.Clients**

#### 1.1 
| Name      | Type |  Request              |   Response  |
| --------- |:---- | --- | ---             |
| /registerClient | post | email, name, password, DOB, ID number |   jwt token |

<br/>


| Status Codes          | Message             |
| ----------------- |:----------------------- |
| 200          | Success |
| 400               | Email Already Exists
| 500               | Internal Server Error|
 :bulb: **what it does:** help register a new user by adding the details in the user table 


#### 1.2
| Name      | Type |  Request              |   Response  |
| --------- |:---- | --- | ---             |
| /login | post | email, password, user type |   jwt token |

<br/>


| Status Codes | Message                     |
| ------------ |:--------------------------- |
| 200          | Success |
| 404          | Email Does not Exist        |
| 401             |Invalid Credentials       |
| 500               | Internal Server Error|

:bulb: **what it does:** helps login a registered user by matching the password
<br/>
#### 1.3
| Name      | Type |  Request              |   Response  |
| --------- |:---- | --- | ---             |
| /getClientData | get | org number,ledger user,ledger ID |  client details |

<br/>


| Status Codes | Message                     |
| ------------ |:--------------------------- |
| 200          | Success |
| 404          | Client Does not Exist        |
| 401             |Invalid Credentials       |
| 500               | Internal Server Error|

:bulb: **what it does:** returns data of the client
<br/>
### **2. Institutions**

#### 2.1
| Name      | Type |  Request              |   Response  |
| --------- |:---- | --- | ---             |
| /registerInstitution| post | name, password |jwt token  |

<br/>


| Status Codes | Message           |
| ------------ |:----------------- |
| 200          | Success |
| 401             |Authorization Error                   |
| 500               | Internal Server Error|


:bulb: **what it does:** Registers a new financial institution
<br/>
#### 2.2
| Name      | Type |  Request              |   Response  |
| --------- |:---- | --- | ---             |
| /getInstitutionData| get | org number,ledger user |Financial Institution Data  |

<br/>


| Status Codes | Message           |
| ------------ |:----------------- |
| 200          | Success |
| 404             |Data Not found                   |
| 500               | Internal Server Error|


:bulb: **what it does:** Gets details of  financial institution
<br/>



### FLOW CHART
![](https://i.imgur.com/MxNTkSn.png)


![](https://i.imgur.com/uhUTXCG.png)
























