> For the complete documentation index, see [llms.txt](https://docs.gpt4business.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.gpt4business.ai/getting-started/apis/message-ai-agent.md).

# Message AI Agent

### Send a Message to AI Agent

You can interact with this API by sending a `POST` request. This allows you to send messages, receive replies, and more.

***

### **API Endpoint**

The following endpoint/URL should be used in order to access this API:

```
https://admin.gpt4business.ai/en/chatbot/api/v1/message/
```

***

### **Request Headers**

The API must have the following request headers:

```
Content-Type: application/json
Authorization: Token <Your-API-Token>
```

***

### **Request Body**

The API requires the following parameters in the request body:

* **`chatbot_uuid`** (Type: UUID, Required)

  Unique identifier (UUID) of the chatbot. You can find this UUID on the chatbot's detail page.
*
* **`query`** (Type: String, Required)

  Message or query the user intends to send to the chatbot. Must be under 5000 characters.
*
* **`user_key`** (Type: String, Required)

  A unique identifier/string, used to distinguish users interacting with the chatbot.

***

### **Request Example**

Here's an example of the request:

PythonJavaScriptCurl/Shell

```
import requests

# Define the API endpoint
url = "https://admin.gpt4business.ai/en/chatbot/api/v1/message/"

# Set the headers for the request
headers = {
    'Authorization': 'Token <YOUR-API-TOKEN>',
    'Content-Type': 'application/json'
}

# Construct the data payload
data = {
    "chatbot_uuid": "12345678-1234-5678-1234-567812345678",
    "query": "Your message/string here.",
    "user_key": "Your message/string here.",
}

# Make the API request
response = requests.post(url, headers=headers, json=data)

# Check the response
if response.status_code == 200:
    print("response:", response.json().get('data'))
else:
    error_data = response.json()
    print("Error:", error_data.get('message', '') + error_data.get('error', ''))
```

***

### **Response Example**

Here's an example of the response:

JSON

```
{
    "message": "AI Agent successfully answered.",
    "data": {
        "answer": "If you have a specific question or need assistance with something, please let me know and I`ll be happy to help.",
        "chat_id": 634
    }
}
```

***

### **Error Handling**

It's essential to handle any non-200 status codes (e.g., 400, 404, 500) returned by the API. In the event of an error, the API will provide a structured response as shown below:

JSON

```
// Response when no token is provided
{
    "detail": "Authentication credentials were not provided."
}
        
```

JSON

```
// Response when API parameters are incorrect
{
    "message": "The provided parameters are not valid. Please check and try again.",
    "errors": {
        "chatbot_uuid": [
            "This field is required."
        ]
    }
}
                                    
```
