> For the complete documentation index, see [llms.txt](https://docs.digit.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digit.org/public-finance/v2.3/platform/configuration/services/master-data-setup/domain-services/ifix-core-master-data-service.md).

# iFIX Core Master Data Service

## Overview <a href="#overview" id="overview"></a>

Master data service maintains information about Government and Chart of Accounts. We can create these details and search for the same details based on the given parameters/request data.

### Version <a href="#version" id="version"></a>

Current version : 2.0.0

## Prerequisites <a href="#prerequisites" id="prerequisites"></a>

Before we proceed with the configuration, make sure the following pre-requisites are met:

1. Java 8
2. MongoDB instance

## Features <a href="#features" id="features"></a>

It creates secure endpoints for the master data service. The access token is required to create any master data.

The subsequent sections on this page discuss the service details maintained by the IFIX core master data service.

### Government <a href="#government" id="government"></a>

This service provides the capabilities to maintain the Government details and allow users to Create and Search data. For creating the Government, we need a unique Id for the Government and a name for the same. Optionally, we can pass some additional details as part of the attribute. In the case of search, passing the unique ID(s) as search parameters can give you all the details of the required Government.

### **API List**

| **Title**               | **Link**                                                      |
| ----------------------- | ------------------------------------------------------------- |
| /government/v1/\_create | <https://www.getpostman.com/collections/1b2abbca3f6c290b57d9> |
| /government/v1/\_search | <https://www.getpostman.com/collections/1b2abbca3f6c290b57d9> |

### Chart Of Account <a href="#chart-of-account" id="chart-of-account"></a>

This service provides the capabilities to maintain the Chart of Account (COA) details and support create and search of COA. The following information is passed while creating the Chart of Accounts - Government Id, majorHead, subMajorHead, minorHead, subHead, groupHead, objectHead and corresponding head names & types. A unique code named COACode is generated by combining (concatenating) majorHead, subMajorHead, minorHead, subHead, groupHead, objectHead with a hyphen ("-") and stored with the given request.\
Searching the details for COA is done based on the given search parameters like the Chart of Account IDs, COACodes, Government ID, majorHead, subMajorHead, minorHead, subHead, groupHead, objectHead.

### **API List**

| **Title**                   | **Link**                                                      |
| --------------------------- | ------------------------------------------------------------- |
| /chartOfAccount/v1/\_create | <https://www.getpostman.com/collections/1b2abbca3f6c290b57d9> |
| /chartOfAccount/v1/\_search | <https://www.getpostman.com/collections/1b2abbca3f6c290b57d9> |

## Interaction Diagram <a href="#interaction-diagram" id="interaction-diagram"></a>

![](/files/6s9uQOSbUQmlT9AYQjMO)

## Environment <a href="#environment" id="environment"></a>

No environment variables are required specific to the environment (migration).

## Configurations and Setup <a href="#configurations-and-setup" id="configurations-and-setup"></a>

1. Update the DB and URI configurations in the dev.yaml, qa.yaml, prod.yaml file.
2. Make sure the keycloak server is up and running and has been configured with the required client ID.

## References and Notes <a href="#references-and-notes" id="references-and-notes"></a>

| **Title**          | **Link**                                                                                                                                                                                               |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Swagger Yaml       | [ReDoc Interactive Demo](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/misdwss/iFix-Dev/develop/domain-services/ifix-master-data-service/ifix-master-data-service-2.0.0.yaml) |
| Postman collection | <https://www.getpostman.com/collections/1b2abbca3f6c290b57d9>                                                                                                                                          |

&#x20;

> [![Creative Commons License](https://i.creativecommons.org/l/by/4.0/80x15.png)*​*](http://creativecommons.org/licenses/by/4.0/)*All content on this page by* [*eGov Foundation*](https://egov.org.in/) *is licensed under a* [*Creative Commons Attribution 4.0 International License*](http://creativecommons.org/licenses/by/4.0/)*.*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.digit.org/public-finance/v2.3/platform/configuration/services/master-data-setup/domain-services/ifix-core-master-data-service.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
