# Get data of a Datasource

Endpoint Name: `getdatasourcebyname`

Request type : `POST`

Authorization: Bearer token as header

Endpoint Details: The `getdatasourcebynameendpoint` will be used to get data of datasource.

<table data-header-hidden><thead><tr><th width="120"></th><th></th></tr></thead><tbody><tr><td>Method</td><td>URL</td></tr><tr><td>POST</td><td><code>URL/access/klearstack/getdatasourcebyname</code></td></tr></tbody></table>

### Request Body

<table data-header-hidden><thead><tr><th width="160.72723388671875"></th><th width="99.90899658203125"></th><th width="91.63629150390625"></th><th></th></tr></thead><tbody><tr><td>Params</td><td>Values</td><td>Required</td><td>Description</td></tr><tr><td>company_name</td><td>string</td><td>Yes</td><td>Name of the company for which the user is logging in</td></tr><tr><td>datasource_name </td><td>string </td><td>Yes</td><td>Name of the datasource</td></tr><tr><td>page_index</td><td>string</td><td>Yes</td><td>Page number of Paginated data</td></tr><tr><td>items_per_page</td><td>string</td><td>Yes</td><td>Number or records per page is required (Max : 100)</td></tr></tbody></table>

### Shell (cURL)

* Request Body

```bash
curl --location "URL/access/klearstack/getdatasourcebyname" \
  --header "Authorization: Bearer your_token_here" \
  --form "company_name=Replace_Company_Name_Here" \
  --form "datasource_name=Replace_Datasource_Name_Here" \
  --form "page_index=Replace_Page_Index_Here" \
  --form "items_per_page=Replace_Items_Per_Page_Here"
```

### Python

* Request Body

```python
import requests

url = "URL/access/klearstack/getdatasourcebyname"

payload = {'company_name': 'Replace_Company_Name_Here',
'datasource_name': 'Replace_Datasource_Name_Here',
'page_index': 'Replace_Page_Index_Here',
'items_per_page': 'Replace_Items_Per_Page_Here'}
files=[

]
headers = {
  'Authorization': 'Bearer your_token_here'
}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)

```

### Java (OkHttp)

* Request Body

```java
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
  .addFormDataPart("company_name", "Replace_Your_Company_Name_Here")
  .addFormDataPart("datasource_name", "Replace_Your_Datasource_Name_Here")
  .addFormDataPart("page_index", "Replace_Your_Page_Index_Here")
  .addFormDataPart("items_per_page", "Replace_Your_Items_Per_Page_Here")
  .build();
Request request = new Request.Builder()
  .url("URL/access/klearstack/getdatasourcebyname")
  .method("POST", body)
  .addHeader("Authorization", "Bearer Replace_Your_Token_Here")
  .build();
Response response = client.newCall(request).execute();
```

### Node.js (Axios)

* Request Body

```javascript
const axios = require('axios');
const FormData = require('form-data');

let formData = new FormData();
formData.append('company_name', 'Replace_Your_Company_Name_Here');
formData.append('datasource_name', 'Replace_Your_Datasource_Name_Here');
formData.append('page_index', 'Replace_Your_Page_Index_Here');
formData.append('items_per_page', 'Replace_Your_Items_Per_Page_Here');

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'URL/access/klearstack/getdatasourcebyname',
  headers: { 
    'Authorization': 'Bearer Replace_Your_Token_Here', 
    ...formData.getHeaders()
  },
  data: formData
};

axios.request(config)
  .then((response) => {
    console.log(JSON.stringify(response.data));
  })
  .catch((error) => {
    console.log(error);
  });
```

### JavaScript (XHR)

* Request Body

```javascript
// WARNING: For POST requests, body is set to null by browsers.

var formData = new FormData();
formData.append("company_name", "Replace_Your_Company_Name_Here");
formData.append("datasource_name", "Replace_Your_Datasource_Name_Here");
formData.append("page_index", "Replace_Your_Page_Index_Here");
formData.append("items_per_page", "Replace_Your_Items_Per_Page_Here");

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function() {
  if(this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "URL/access/klearstack/getdatasourcebyname");
xhr.setRequestHeader("Authorization", "Bearer Replace_Your_Token_Here");

xhr.send(formData);
```

### API Response&#x20;

<table data-header-hidden><thead><tr><th width="137"></th><th></th></tr></thead><tbody><tr><td>Status code</td><td>Example Response</td></tr><tr><td>200</td><td><p>{</p><p>    "DataSourceName": "vendor email",</p><p>    "DataSourceType": "excel_or_csv",</p><p>    "DataSourceStatus": "true",</p><p>    "Total_fields": 596,</p><p>    "Page_number": 1,</p><p>    "fields": [</p><p>        {</p><p>            "name": "USER_FIRST_NAME",</p><p>            "datatype": "string"</p><p>        },</p><p>        {</p><p>            "name": "USER_LAST_NAME",</p><p>            "datatype": "string"</p><p>        },</p><p>        {</p><p>            "name": "email",</p><p>            "datatype": "string"</p><p>        },</p><p>       </p><p>    ],</p><p>    "data": [</p><p>        {</p><p>            "_id": {</p><p>                "$oid": "644ba49a6f4023afbca88c94"</p><p>            },</p><p>            "USER_FIRST_NAME": "Marti",</p><p>            "USER_LAST_NAME": "URIB",</p><p>            "email": "martin@colibriflowers.com"</p><p>        },</p><p>        {</p><p>            "_id": {</p><p>                "$oid": "644ba49a6f4023afbca88c95"</p><p>            },</p><p>            "USER_FIRST_NAME": "Ana Lucia",</p><p>            "USER_LAST_NAME": "Andrade",</p><p>            "email": "aandrade@equatoroses.com"</p><p>        }</p><p>    ],</p><p>   “release_version”:”7.8.9”</p><p>}</p></td></tr></tbody></table>
