# 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

![](https://nms-documentation-images.s3.eu-west-1.amazonaws.com/20400d65-7c4f-4962-b7c2-6842f4fd17db.png)

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

![](https://nms-documentation-images.s3.eu-west-1.amazonaws.com/d9408cdc-64de-4551-b751-6dfbd84ffbba.png)

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  
[![41.png](https://docs.ado-tech.com/uploads/images/gallery/2025-03/scaled-1680-/JpLx34IZueJP8ZDr-41.png)](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

<table border="1" id="bkmrk-param-name-is-mandat"><colgroup><col></col><col></col><col></col></colgroup><tbody><tr><td>Param Name</td><td>Is Mandatory</td><td>Comments</td></tr><tr><td>audioLanguge</td><td>yes</td><td>The spoken language in the audio file</td></tr><tr><td>file</td><td>yes</td><td>a file to analyze</td></tr><tr><td>analysisLanguage</td><td>yes</td><td>The language FeelGPT will use for the analysis report</td></tr><tr><td>statusCallbackUrl</td><td>yes</td><td>A webhook URL for status calls from FeelGPT analysis engine</td></tr><tr><td>sendPdf</td><td>no</td><td>I "true", send the analysis results in PDF format on analysis completion. The file on the callback is based64 encoded</td></tr><tr><td>encryptionKey</td><td>no</td><td>Encryption key to encode the "payload" field on webhook callback</td></tr></tbody></table>

See NodeJS sampke code

Install required libraries

```javascript
npm install axios form-data
```

[![42.png](https://docs.ado-tech.com/uploads/images/gallery/2025-03/scaled-1680-/Y9DjMYoBszoedctC-42.png)](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

[![43.png](https://docs.ado-tech.com/uploads/images/gallery/2025-03/scaled-1680-/lOuIbrDew1t5JPGA-43.png)](https://docs.ado-tech.com/uploads/images/gallery/2025-03/lOuIbrDew1t5JPGA-43.png)

Sample response for a request with an invalid parameter

[![44.png](https://docs.ado-tech.com/uploads/images/gallery/2025-03/scaled-1680-/zCFZKc8NbOEmo8fw-44.png)](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**

**[![45.png](https://docs.ado-tech.com/uploads/images/gallery/2025-03/scaled-1680-/3MmBGtFY9HP6tkWp-45.png)](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