---
title: Master Data
slug: generic-onboarding/master-data
docTags: 
createdAt: 2024-01-16T09:34:46.128Z
---

All the global master data files are uploaded and managed here. Managing and maintaining a master can be a difficult task. Users were dependent on how to create and add new masters. Also, there was no option to reuse an existing master.

**There are 2 ways how masters can be uploaded:**

1. Master Management Portal
2. Upload master's via API

***

# Master Management Portal

The file containing the master data can be uploaded to the [admin portal](docId\:JBnPsO4-VmjZos6Z-MB5R) by uploading a csv or xlsx file. Once this file is uploaded it can be seen on the portal with details like master name, file size, description, the date it was last updated on, etc. The uploaded master file(s) can be edited as well as removed according to requirement.

### Creating New Master Data in Admin&#x20;

1. Go to the 'Master Data' section under the 'Grants\&Config' tab.
2. Choose the 'Create New' option.
3. Enter the 'Master Name' and 'Description'.
4. Upload the master file from your device.
5. Click on 'Save'

![](https://api.archbee.com/api/optimize/w0YdjmC6Uxu0AJ6sPj9OT/Il5ffUxIevhZHwEcpZT3n_master.gif "Creating a new master data")

This master data can be used in the [Conditional Dropdown](docId\:hOMWMOUMcVeN8VSkceJ-w) element. If the realm has no master data file present in it then the master upload will not work for the element.

![](https://api.archbee.com/api/optimize/w0YdjmC6Uxu0AJ6sPj9OT/vQA5_tTKYH-Nwix1e4jvf_conditional-master.gif "Using master data in conditional dropdown")

***

# Uploading Masters Using APIs?

There are 2 simple steps to upload masters:

1. Login
2. Upload

## Login Master

**Why Login?**

The user who is uploading a master needs to be authorized to upload a master, if there is no authorization the same can lead to unauthorized access and potential harm.

### Request

```json
curl --location --request POST 'https://go-preproduction.signzy.app/api/backopsusers/login' \
--header 'Content-Type: application/json' \
--data-raw '{
    "username": "..username..",
    "password": "..password..",
    "realm" : "..realm_name.."
}'
```

### Response

```json
{
    "userId": "..userid..",
    "applicationId": "..app_id..",
    "id": "..auth_toke..",
    "data": {
        "id": "..id..",
        "name": "..name..",
        "username": "..username..",
        "email": "..email..",
        "mobile": "XXXXXXXXXXXX",
        "realm": "..realm_name..",
        "isDormant": true/false,
        "applicationId": ".appid..",
}
```

## Upload Master

### Request

```json
curl --location --request POST 'https://backops-go-preproduction.signzy.app/api/master-buckets' \
--header 'Content-Type: application/json' \
--header 'Authorization: ..auth_token..' \
--data-raw '{
    "link": "persist link for the master sheet(xls)",
    "type": "conditionalDropDown",
    "applicationId": "..application id of the realm",
    "name": "..Master Name.."
}'
```

### Response

:::CodeblockTabs
```json
{
    "message": "We have recieved your request, you can check status for further updates",
    "status": 200
}
```

400

```json
```

422

```json
{
    "error": {
        "statusCode": 422,
        "name": "UnprocessableEntityError",
        "message": "The request body is invalid. See error object `details` property for more info.",
        "code": "VALIDATION_FAILED",
        "details": [
            {
                "path": "/type",
                "code": "enum",
                "message": "must be equal to one of the allowed values",
                "info": {
                    "allowedValues": [
                        "conditionalDropDown"
                    ]
                }
            }
        ]
    }
}
```
:::

:::hint{type="info"}
### Getting help

Please feel free to contact us if you have any questions, require clarification, or have ideas for how to make the documents or any of our services better.


You can reach out to us at [help@signzy.com](#).
:::

