> 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/installation/api-access-key.md).

# API Access Key

## **ADMIN ONLY**

Only the administrator can generate the API key and secret. The steps for doing this is as follows.

Keycloak console will be available at `https://<host-name>/auth`.  The admin will log in using the username and password secret.

### Step 1: Import Realm (If not already done)

1. Open the Keycloak console
2. Near the top-left corner in the realm drop down menu, select **Add Realm**.
3. Select the [ifix-realm.json](https://github.com/egovernments/iFix-Dev/blob/develop/core/keycloak/ifix-realm.json) file.
4. After the realm gets created, select the `ifix` realm from the drop-down near the top-left corner.

### Creating Clients

1. Remember to select the `ifix` realm from the Keycloak console before proceeding.
2. From the Clients section of Keycloak Admin Console, create a client.
3. Provide a unique username for the client.
4. Go to the client's settings
5. Change Access Type to **confidential**
6. Turn on **Service Account Enabled**
7. In the **Valid Redirect URIs** field provide the root URL of the iFIX Instance. (Not important for our purposes but need to set it because it is mandatory)
8. And Save these changes
9. In the **Service Account Roles** tab, assign the role "fiscal-event-producer"
10. In the **Mappers** tab, create a new mapper to associate the client with a tenantId
    1. Select `Mapper Type` to be "Hardcoded claim"
    2. In `Token Claim Name`, write "tenantId"
    3. In `Claim value`, write the under which the client is being created. (For example, "pb")
    4. Set `Name` same as `Token Claim Name` i.e. "tenantId"
    5. Select `Claim Json Type` to be "String"

Now you can get the credentials from the **Credentials** tab and configure them in the client's system.

> [![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/installation/api-access-key.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.
