# Obtaining advisor id
FeelGPT [AnalyzeFile API](https://emlo.cloud/documentation/feelgpt-analyze-file) endpoint requires an advisor-id as part of the request. This document explains how to get obtain an advisor-id
1\. On FeelGPT, click "Let's Start" button on your prefered advisor

2\. The advisor-id it located at the top-right of the screen

3\. Copy the advisor-id to the clipboard by clicking the "copy" icon.
## FeelGPT Get Advisors List
**advisors** is an HTTP GET enpoint to retrieve a list of all available advisors.
A call to **advisors** endpoint requires basic authentication. Please refer to [Analyze Now Authentication](https://emlo.cloud/documentation/analyze-now-applications-authenticaiton)
Here is a sample Javascript code to fetch the advisors list
[](https://docs.ado-tech.com/uploads/images/gallery/2025-03/JpLx34IZueJP8ZDr-41.png)
**analyze** is an HTTP POST enpoint to start an asynchronus process to analyze an audio file.
The analysis process status reported though a webhook calls from FeelGPT analyzer.
A call to analyze endpoint requires basic authentication. Please refer to [Analyze Now Authentication](https://emlo.cloud/documentation/analyze-now-applications-authenticaiton)
It is recommended to encrypt the callback payload data by passing an "encryptionKey" string value on the request. [Read more](https://emlo.cloud/documentation/analyze-now-encrypted-response)
Learn how to obtain the advisor-id for your prefered advisor [Here](https://emlo.cloud/documentation/feelgpt-obtaning-advisor-id)
Parameters
Param Name | Is Mandatory | Comments |
audioLanguge | yes | The spoken language in the audio file |
file | yes | a file to analyze |
analysisLanguage | yes | The language FeelGPT will use for the analysis report |
statusCallbackUrl | yes | A webhook URL for status calls from FeelGPT analysis engine |
sendPdf | no | I "true", send the analysis results in PDF format on analysis completion. The file on the callback is based64 encoded |
encryptionKey | no | Encryption key to encode the "payload" field on webhook callback |
See NodeJS sampke code
Install required libraries
```javascript
npm install axios form-data
```
[](https://docs.ado-tech.com/uploads/images/gallery/2025-03/Y9DjMYoBszoedctC-42.png)
**Explanation**
1. **Importing Libraries:**
1. `axios` for making HTTP requests.
2. `form-data` for handling form data, especially for file uploads
3. `fs` for file system operations
4. `path` for handling file paths.
2. **Creating the Form Data:**
1. A new instance of `FormData` is created.
2. Required fields are appended to the form, including the audio file using `fs.createReadStream()` to read the file from the disk.
3. **Making the Request:**
1. The `axios.post()` method sends a POST request to the specified URL.
2. Basic authentication is used via the `auth` option.
3. `form.getHeaders()` is used to set the appropriate headers for the form data.
4. **Handling the Response:**
1. The response is logged to the console.
2. Any errors are caught and logged, with detailed error information if available
3. Replace `'path\_to\_your\_audio\_file.wav'` with the actual path to your audio file. This code will send a POST request to the "analyze" endpoint with the required form data and handle the response accordingly.
**Response Structure**
Upon request reception, FeelGPT validate the request parameters. For a valid request FeelGPT will return a "reportId" identifier to be used when recieving asynchronous status updates.
For invalid parameter the response will return an error code and message which indicates the invalid param.
Sample response for a valid request
[](https://docs.ado-tech.com/uploads/images/gallery/2025-03/lOuIbrDew1t5JPGA-43.png)
Sample response for a request with an invalid parameter
[](https://docs.ado-tech.com/uploads/images/gallery/2025-03/zCFZKc8NbOEmo8fw-44.png)
Once a valid request accepped on FeelGPT, it starts sending status update to the URL provided on "statusCallbackUrl" parameter.
**Sample status callback data**
**[](https://docs.ado-tech.com/uploads/images/gallery/2025-03/3MmBGtFY9HP6tkWp-45.png)**
application: always "feelgpt".
eventDate: Time of the event in GMT timezone
payload: contain the actual event data
payload/reportId: The reportId that was provided on the response for the analysis request
payload/status: The current analysis status
encrypted: true of "encryptionKey" parameter sent on the analysis request
**Avaialble Status**
queued - The analysis request was successfully accepted, and queud for analysis
transcripting - The audio is now on transcription
analyzing - FeelGPT analyze the audio for emotions
completed - The report is ready. the "result" data contains the analysis data
pdfReady - If a PDF report was requested on the request, the payload for this status contains a PDF file in Base64 encoding