API Reference
Authenticate and process messages with the Rezolyn REST API.
Base URL: https://api.rezolyn.com. All requests are HTTPS and JSON.
Authentication
There are two credential types, and they are not interchangeable:
- API keys (
rz_live_…) authenticate machine-to-machine calls like/v1/process. Create them in the dashboard under API Keys. Send asAuthorization: Bearer rz_live_…. The key is shown once at creation — store it then. - Session JWTs authenticate the dashboard UI (login → short-lived access token + rotating refresh cookie). You won't use these for server integrations.
Process a message
POST /v1/process is the core endpoint. Give it text and a session id; it
returns the detected language, intent, and a suggested reply.
curl -X POST https://api.rezolyn.com/v1/process \
-H "Authorization: Bearer rz_live_..." \
-H "Content-Type: application/json" \
-d '{
"text": "Mo fẹ mọ iye owo mi",
"channel": "api",
"session_id": "customer-8012345678"
}'{
"language": "Yoruba",
"language_code": "yo",
"intent": "account_balance",
"intent_confidence": 0.94,
"translation": "I want to know my account balance",
"suggestion": "…",
"suggestion_source": "template",
"deflectable": true,
"deflection_requires": ["accounts/{phone}/balance"]
}Pass the same session_id across turns and Rezolyn keeps short-term
conversation context (last few turns, 60-minute TTL).
Rate limits
Per-organisation, per-endpoint, sliding-window, scaled by plan. /v1/process
allows 20/min on trial, 60 on Starter, 300 on Growth, 1000 on Scale. Over the
limit returns 429 with a Retry-After header. Auth endpoints are separately
capped at 10 attempts/hour/IP.
Conversations
GET /v1/conversations?project_id=…— cursor-paginated history.GET /v1/conversations/{session_id}— full transcript for one session.GET /v1/conversations/export?project_id=…&training_only=true— JSONL export (the format the fine-tuning pipeline consumes).