Skip to content
Beta — the Waasl API is in private beta. Endpoints marked Coming soon are designed but not live yet. Request early access

AI

AI agents, reply drafting and conversation summaries.

GET/v1/ai/agentsBeta
Terminal window
curl "https://api.waasl.io/v1/ai/agents" \
-H "Authorization: Bearer $WAASL_API_KEY"
Response 200 — AI agents
{
"data": [
{
"id": "ai_support",
"name": "Support agent",
"status": "active",
"languages": [
"ar",
"en"
]
}
]
}
POST/v1/conversations/{conversation_id}/ai/composeComing soon

Returns a suggested reply grounded in the conversation and your knowledge sources. Nothing is sent.

Path parameters

Field Type Description
conversation_id required string

Request body

Field Type Description
instruction string
tone “friendly” | “formal” | “concise”
dialect string Arabic dialect to write in.
Terminal window
curl -X POST "https://api.waasl.io/v1/conversations/cv_3PzA91/ai/compose" \
-H "Authorization: Bearer $WAASL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"instruction": "Apologise for the late delivery and offer a free day",
"tone": "friendly",
"dialect": "kuwaiti"
}'
Response 200 — Draft
{
"draft": "string",
"sources": [
"string"
]
}
POST/v1/conversations/{conversation_id}/ai/summaryComing soon

Path parameters

Field Type Description
conversation_id required string
Terminal window
curl -X POST "https://api.waasl.io/v1/conversations/cv_3PzA91/ai/summary" \
-H "Authorization: Bearer $WAASL_API_KEY"
Response 200 — Summary
{
"summary": "string",
"sentiment": "positive",
"intent": "renewal"
}
POST/v1/ai/knowledge-sourcesComing soon

Teach AI agents from a URL, a file you uploaded through /media, or raw text (FAQ, menu, policies).

Request body

Field Type Description
type “url” | “file” | “text”
url string (uri)
media_id string
text string
ai_agent_ids string[]
Terminal window
curl -X POST "https://api.waasl.io/v1/ai/knowledge-sources" \
-H "Authorization: Bearer $WAASL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "url",
"url": "https://example.com",
"media_id": "string",
"text": "string",
"ai_agent_ids": [
"string"
]
}'

Returns 202 — Accepted for indexing.