curl --request POST \
--url https://api.example.com/api/v1/enrichment-chat/message \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"session_id": "<string>",
"message": "<string>",
"context": {}
}
'import requests
url = "https://api.example.com/api/v1/enrichment-chat/message"
payload = {
"session_id": "<string>",
"message": "<string>",
"context": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({session_id: '<string>', message: '<string>', context: {}})
};
fetch('https://api.example.com/api/v1/enrichment-chat/message', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/enrichment-chat/message",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'session_id' => '<string>',
'message' => '<string>',
'context' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/enrichment-chat/message"
payload := strings.NewReader("{\n \"session_id\": \"<string>\",\n \"message\": \"<string>\",\n \"context\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v1/enrichment-chat/message")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"session_id\": \"<string>\",\n \"message\": \"<string>\",\n \"context\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/enrichment-chat/message")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"session_id\": \"<string>\",\n \"message\": \"<string>\",\n \"context\": {}\n}"
response = http.request(request)
puts response.read_body{
"session_id": "<string>",
"message": {
"role": "<string>",
"content": "<string>",
"id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"metadata": {}
},
"action": "<string>",
"suggested_fields": [
"<string>"
],
"processing_status": {},
"credits_estimated": 123,
"rate_limit_remaining": 123,
"response_time_ms": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Send Enrichment Message
Send a message in the enrichment chat session with enhanced processing.
Enhanced version with comprehensive validation, monitoring, and optimized resource management for enrichment chat interactions.
Features:
- Input validation and sanitization
- Rate limiting and credit estimation
- Performance monitoring and logging
- Comprehensive error handling
- Processing session integration
Args: request: Validated chat request with session ID and user message current_user: Authenticated user information enrichment_chat_service: Service for managing chat sessions
Returns: EnrichmentChatResponse: Enhanced response with timing and status information
Raises: HTTPException: For validation errors, rate limits, or processing failures
curl --request POST \
--url https://api.example.com/api/v1/enrichment-chat/message \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"session_id": "<string>",
"message": "<string>",
"context": {}
}
'import requests
url = "https://api.example.com/api/v1/enrichment-chat/message"
payload = {
"session_id": "<string>",
"message": "<string>",
"context": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({session_id: '<string>', message: '<string>', context: {}})
};
fetch('https://api.example.com/api/v1/enrichment-chat/message', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/enrichment-chat/message",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'session_id' => '<string>',
'message' => '<string>',
'context' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/enrichment-chat/message"
payload := strings.NewReader("{\n \"session_id\": \"<string>\",\n \"message\": \"<string>\",\n \"context\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v1/enrichment-chat/message")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"session_id\": \"<string>\",\n \"message\": \"<string>\",\n \"context\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/enrichment-chat/message")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"session_id\": \"<string>\",\n \"message\": \"<string>\",\n \"context\": {}\n}"
response = http.request(request)
puts response.read_body{
"session_id": "<string>",
"message": {
"role": "<string>",
"content": "<string>",
"id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"metadata": {}
},
"action": "<string>",
"suggested_fields": [
"<string>"
],
"processing_status": {},
"credits_estimated": 123,
"rate_limit_remaining": 123,
"response_time_ms": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Request model for enrichment chat interactions with enhanced validation.
Response
Successful Response
Enhanced response model for enrichment chat interactions.
Session identifier
Assistant's response message
Show child attributes
Show child attributes
Action to trigger in frontend (e.g., 'requestUpload', 'startProcessing')
Suggested fields to enrich based on user query
Status of ongoing enrichment processing
Estimated credits required for suggested operations
Remaining rate limit for user
Response time in milliseconds