> For the complete documentation index, see [llms.txt](https://docs.bdb.ai/administrative-settings-4/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bdb.ai/administrative-settings-4/admin-panel-options/api-client-registration.md).

# API Client Registration

{% hint style="success" %}
*Check out the given illustration to configure a new Internal API Client Registration.*
{% endhint %}

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBxju1xjBIIexZfulhFPA%2Fuploads%2Fxjm8c1OVzK5LmcTvDWoi%2FInternal%20API%20Client.mp4?alt=media&token=b779cce4-d5e0-4275-a99c-eac2ef7184ce>" %}
***Configuring a new Internal API Client***
{% endembed %}

The API Client Registration option helps the user to register and save the specific details of API Clients. The API Client Registration form requires a specific data set link published as a service to complete the registration process.

## Registering an API Client

* Navigate to the ***Admin Module.***
* Click the **API Client Registration** option from the side navigation bar.​

<figure><img src="https://content.gitbook.com/content/Bxju1xjBIIexZfulhFPA/blobs/hgH8w1NuUJypkDy5YoFc/image.png" alt=""><figcaption></figcaption></figure>

* The ***API Client Registration*** ***page*** opens.
* Click the ***New*** option to create new client registration.

<figure><img src="https://content.gitbook.com/content/Bxju1xjBIIexZfulhFPA/blobs/YTMYVSdtZ5MdIdzRQWDb/image.png" alt=""><figcaption></figcaption></figure>

* There are two **Authentication** types available to be selected by the user: **Internal** or **External** (The user can select any one of them).

<figure><img src="https://content.gitbook.com/content/Bxju1xjBIIexZfulhFPA/blobs/NTQ9tEM7koGUNczMIDdr/image.png" alt=""><figcaption></figcaption></figure>

### Internal Client Registration <a href="#internal-client-registration" id="internal-client-registration"></a>

If **Internal** option is selected **Authentication** will happen from the platform side by using client id, client secret & app name.

* Select ***Internal*** as the authentication option.
* Provide the following information:
  * Client Name
  * Client Email
  * App Name
  * Request Per Hour
  * Request Per Day
  * Select API Type: Select either of the options: ***Data as API*** or ***Model as API***

{% hint style="info" %}
*<mark style="color:green;">Please Note:</mark>  The user can select any one of the given choices for the Select Api Type field. The supported API types for that fields are:*&#x20;

* Data as API

* Model as API

* AI as API

* Widget as API
  {% endhint %}

* After selecting one option from the ***Select API Type***, the ***Select the Services Entitled*** field appears The user can select multiple options of the chosen API Type by using this field.

* Click the ***Save*** option.

<figure><img src="https://content.gitbook.com/content/Bxju1xjBIIexZfulhFPA/blobs/g7bmHwNjE8VFZ8OAlSpW/image.png" alt=""><figcaption></figcaption></figure>

* A notification message appears.
* The created API Client gets listed at the top of the displayed ***Client List***.

<figure><img src="https://content.gitbook.com/content/Bxju1xjBIIexZfulhFPA/blobs/UVu3o2qH0RKaJpRhz02m/image.png" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
*<mark style="color:green;">Please Note:</mark>*

* *The **client id** and **client secret** will be automatically generated by the platform while saving the **API Client Registration**.*
* *Both **Data as API** & **Model as API** support Internal Authentication. So the user needs to select either one of them in **Select API Type**.*
  {% endhint %}

### External Client Registration  <a href="#external-client-registration" id="external-client-registration"></a>

The **External** option does not support **Authentication** by using client id, client secret, and app name. The user needs to authenticate by providing the secret Key and Values/Mapping key. The authentication will consider only if the selected ***Validation Type*** is ***Validated.***

* Select the ***External*** option.
* Provide the following details:
  * Client Name
  * Client Email
  * Select the entitled services from the drop-down menu.
* Provide Key, Validation Type and Value/Mapping Key.
* Click the ***Save*** option.

<figure><img src="https://content.gitbook.com/content/Bxju1xjBIIexZfulhFPA/blobs/8VgMwqoWQfhNS2eRVcPl/image.png" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
*<mark style="color:green;">Please Note:</mark> The **Select the Services Entitled** will display the data sets published as service* *from the **Data Center** module of the platform.*
{% endhint %}

* A notification message appears.
* The ***API Client*** details get saved at the top of the displayed ***Client List.***

<figure><img src="https://content.gitbook.com/content/Bxju1xjBIIexZfulhFPA/blobs/ZsdXEqFe29SutPHLwBMz/image.png" alt=""><figcaption></figcaption></figure>

## **How to call the API from POSTMAN**  <a href="#how-to-call-the-api-from-postman" id="how-to-call-the-api-from-postman"></a>

### **Internal Authentication API** <a href="#how-to-call-the-api-from-postman" id="how-to-call-the-api-from-postman"></a>

* Click the ***Edit*** option for the saved API Client Registration.
* The API Client Registration form reopens.
* The user can get the ***Client Id***, ***Client Secret***, and ***App Name***.

<figure><img src="https://content.gitbook.com/content/Bxju1xjBIIexZfulhFPA/blobs/03vP6wFzAgFHgUGFeL6v/image.png" alt=""><figcaption></figcaption></figure>

* Pass the ***Client id, Client Secret Key,*** and ***App Name*** in the ***Postman GET/ POST*** call to get the response.

<figure><img src="https://content.gitbook.com/content/Bxju1xjBIIexZfulhFPA/blobs/tv1Gy4XsbSPrSlPxEGG1/image.png" alt=""><figcaption></figcaption></figure>

### **External Authentication API**

* Click on the ***Edit*** option for the saved External API Client.
* The API Client Registration form reopens.
* Select the entitled Service.
* The user can get the following information about the API Service:

  * Key
  * Validation Type
  * Value/ Mapping Key

  &#x20;    &#x20;

  <figure><img src="https://content.gitbook.com/content/Bxju1xjBIIexZfulhFPA/blobs/6tGL4RbYMrVZZTO56gdM/image.png" alt=""><figcaption></figcaption></figure>
* Pass the mapping key value in the ***Postman GET/POST*** call to get the response.

<figure><img src="https://content.gitbook.com/content/Bxju1xjBIIexZfulhFPA/blobs/XcmAnRTAwopgUkxwQ8kB/image.png" alt=""><figcaption></figcaption></figure>
