Build custom integrations with AgenticPortals' powerful API.
The AgenticPortals API allows you to integrate our AI-powered conversational capabilities into your own applications, products, or services. Use our API to:
https://api.agenticportals.com/v1
The current version is v1
. When we make backwards-incompatible changes to the API, we will release a new version. We'll provide ample notice before deprecating any existing API versions.
The AgenticPortals API uses API keys for authentication. To obtain an API key, login to your account dashboard and navigate to the API Settings section.
All API requests must include your API key in the HTTP header:
Authorization: Bearer YOUR_API_KEY
curl -X GET "https://api.agenticportals.com/v1/faqs" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
To ensure service stability, the API enforces rate limits based on your subscription plan:
Plan | Rate Limit | Burst Limit |
---|---|---|
Starter | 60 requests/minute | 100 requests/minute |
Professional | 300 requests/minute | 500 requests/minute |
Enterprise | 1,000 requests/minute | 2,000 requests/minute |
The API includes rate limit information in the response headers:
X-RateLimit-Limit
: Total number of requests allowed per minuteX-RateLimit-Remaining
: Number of requests remaining in the current windowX-RateLimit-Reset
: Time in seconds until the rate limit resetsIf you exceed the rate limit, you'll receive a 429 Too Many Requests
response.
The AgenticPortals API is organized around REST principles. It accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes.
/chat/messages
Send a message to the portal and receive a response.
Parameter | Type | Required | Description |
---|---|---|---|
message | string | Yes | The user's message to the portal |
session_id | string | Yes | A unique identifier for the conversation session |
language | string | No | Language code (default: 'en') |
curl -X POST "https://api.agenticportals.com/v1/chat/messages" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"message": "What are your opening hours?",
"session_id": "abc123",
"language": "en"
}'
{
"id": "msg_123456",
"response": "We're open Monday to Friday from 9 AM to 5 PM, and weekends from 10 AM to 4 PM. We're closed on public holidays.",
"session_id": "abc123",
"timestamp": "2025-05-02T11:24:15Z",
"source": "faq",
"confidence": 0.95,
"suggested_actions": [
{
"type": "link",
"text": "View Map & Directions",
"url": "https://example.com/directions"
}
]
}
/chat/conversations/{session_id}
Retrieve the message history for a specific conversation.
curl -X GET "https://api.agenticportals.com/v1/chat/conversations/abc123" \
-H "Authorization: Bearer YOUR_API_KEY"
/faqs
Retrieve a list of all FAQ items.
/faqs
Create a new FAQ item.
/faqs/{faq_id}
Update an existing FAQ item.
/faqs/{faq_id}
Delete an FAQ item.
/analytics/conversations
Get conversation metrics over a specified time period.
/analytics/popular-questions
Get a list of the most frequently asked questions.
/booking/products
Retrieve a list of bookable products/experiences.
/booking/availability
Check availability for a specific product on a given date.
AgenticPortals supports webhooks to notify your application when specific events occur, such as:
To configure webhooks, visit the API Settings section in your AgenticPortals dashboard.
The API uses conventional HTTP response codes to indicate the success or failure of requests:
2xx
: Success4xx
: Client error (invalid request, authentication issues)5xx
: Server error{
"error": {
"code": "invalid_request",
"message": "The request was malformed or missing required parameters",
"status": 400,
"details": {
"missing_fields": ["session_id"]
}
}
}
Code | Description |
---|---|
authentication_failed | Invalid or missing API key |
invalid_request | Malformed request or missing required parameters |
resource_not_found | The requested resource does not exist |
rate_limit_exceeded | API rate limit has been exceeded |
internal_error | An unexpected error occurred on the server |
To make integration easier, we provide official client libraries for several programming languages:
All our SDKs are open source and available on GitHub. We welcome contributions from the community.
Step-by-step guides for common integrations
Example implementations on GitHub
Get help from our API team