Analyxa Cloud API

Transform AI agent conversations into structured intelligence. Analyze sentiment, extract topics, detect escalation risk, and more — via a simple REST API.

Overview

Analyxa Cloud transforms AI agent conversations into structured, multi-dimensional intelligence via a REST API.

Upload a conversation between a customer and an AI agent. Get back structured fields: sentiment, topics, resolution status, escalation risk, and dozens more — extracted by LLM in seconds.

Base URL: https://analyxa.ai
Authentication: JWT Bearer token or API key
Content-Type: application/json for all requests
Rate Limits: 10-300 req/min depending on plan
Interactive docs: Swagger UI | ReDoc

Quick Start

Get your first analysis in 3 steps:

Step 1: Create an account
Step 2: Get your API key
Step 3: Analyze a conversation

The whole process takes under 2 minutes.

POST/auth/registerNone

Create your account

Request Body

{
  "email": "you@company.com",
  "password": "your_password",
  "name": "Your Name"
}

Response

{
  "id": "uuid",
  "email": "you@company.com",
  "name": "Your Name",
  "plan": "community"
}
curl -X POST https://analyxa.ai/auth/register \
  -H "Content-Type: application/json" \
  -d '{"email":"you@company.com","password":"your_password","name":"Your Name"}'
POST/auth/api-keysJWT Bearer

Create an API key (requires JWT from login first)

Request Body

{ "name": "My Production Key" }

Response

{
  "id": "uuid",
  "name": "My Production Key",
  "key": "ak_a1b2c3d4e5f6..."
}
# First, login to get JWT
TOKEN=$(curl -s -X POST https://analyxa.ai/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"you@company.com","password":"your_password"}' | jq -r '.access_token')

# Then create API key
curl -X POST https://analyxa.ai/auth/api-keys \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"My Production Key"}'
POST/api/v1/analyzeAPI Key

Analyze your first conversation

Parameters

conversationstringrequiredFull conversation text between customer and agent
schema_namestringSchema to apply (universal, support, sales, coaching). Default: universal
agent_idstringAgent identifier (email, ID, username)
agent_namestringAgent display name
customer_idstringCustomer identifier
customer_namestringCustomer display name
channelstringSource channel (api, intercom, zendesk, whatsapp, slack)
providerstringLLM provider: 'anthropic' (default) or 'openai'
modelstringSpecific model (e.g. 'claude-sonnet-4-20250514', 'gpt-4o'). Defaults to provider default.
contextobjectAdditional context passed to the LLM prompt for business-specific enrichment

Request Body

{
  "conversation": "Customer: My order #12345 hasn't arrived.\nAgent: I'm sorry about that. Let me check the status.\nCustomer: It's been 5 days!\nAgent: I see there was a shipping delay. I'll expedite a replacement right away.",
  "schema_name": "support",
  "provider": "anthropic",
  "context": {"industry": "e-commerce", "tier": "premium"}
}

Response

{
  "analysis_id": "uuid",
  "schema_name": "support",
  "fields": {
    "sentiment": "negative",
    "resolution_status": "resolved",
    "issue_type": "shipping",
    "escalation_risk": "low",
    "summary": "Customer reported delayed order..."
  },
  "tokens_used": 850,
  "analysis_model": "claude-sonnet-4-20250514",
  "conversation_units": 1,
  "quota_remaining": 4999
}
curl -X POST https://analyxa.ai/api/v1/analyze \
  -H "X-API-Key: ak_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "conversation": "Customer: My order hasnt arrived.\nAgent: Let me check that for you.",
    "schema_name": "support"
  }'

Authentication

Two authentication methods are supported:

API Key (recommended for integration):
Include your key in the X-API-Key header. Keys start with ak_ and are shown once at creation.

JWT Bearer (for interactive use):
Login to get a token (valid 24 hours). Include in the Authorization: Bearer header.

Both methods resolve to the same user identity and permissions.

Schemas

Schemas define which fields the AI extracts from a conversation. Four schemas are available:

universal (10 fields) — Works with any conversation type. Includes: sentiment, summary, topics, language, and more.

support (16 fields) — For customer support tickets. Adds: issue_type, resolution_status, escalation_risk, response_quality, first_contact_resolution, and more.

sales (16 fields) — For sales pipeline conversations. Adds: buying_signals, objections, deal_stage, competitor_mentions, and more.

coaching (18 fields) — For agent performance evaluation. Adds: empathy_score, communication_clarity, protocol_adherence, improvement_areas, and more.

Support, Sales, and Coaching inherit all 10 Universal fields plus their own specialized fields.

GET/api/v1/schemasNone (public)

List all available schemas

Response

[
  {"name": "universal", "field_count": 10, "description": "..."},
  {"name": "support", "field_count": 16, "description": "..."},
  {"name": "sales", "field_count": 16, "description": "..."},
  {"name": "coaching", "field_count": 18, "description": "..."}
]
curl https://analyxa.ai/api/v1/schemas

Usage & Billing

Monitor your API usage and manage your subscription programmatically.

Quota headers: Every POST /api/v1/analyze response includes:
- X-Quota-Limit: Monthly limit (or "unlimited")
- X-Quota-Used: Analyses this month
- X-Quota-Remaining: Remaining (or "unlimited")

Plans:

PlanPriceConversations/moSchemasSearch
Community$0100UniversalNo
Team$79/mo5,000AllYes
Business$249/mo50,000All + customYes
ScaleCustomCustomAll + customYes

Upgrade via dashboard or POST /api/v1/billing/checkout?plan=team.

GET/api/v1/accountAPI Key or JWT

Get your account info, plan, and usage

curl https://analyxa.ai/api/v1/account \
  -H "X-API-Key: ak_your_key_here"

How Billing Works

### Conversation Units
Each analysis counts as one or more "conversation units" against your monthly quota.

- Standard (1 unit): Conversations within your plan's standard token threshold
- Large (2 units): Conversations exceeding the standard threshold
- Extra Large (3 units): Conversations exceeding the large threshold

Token thresholds vary by plan:

PlanStandard (1×)Large (2×)Extra Large (3×)Max
Community≤4,0004,001–8,000N/A (blocked)8,000
Team≤8,0008,001–16,000>16,000No limit
Business≤16,00016,001–32,000>32,000No limit
Scale≤32,00032,001–64,000>64,000No limit

### How Tokens Are Counted
A "token" is roughly 4 characters or 0.75 words. A typical 10-message support chat is ~500 tokens (1 unit). A 200-message Slack thread might be ~15,000 tokens (2 units).

Token counting happens after analysis. You're never charged before the analysis completes.

### Grace Period
If an analysis pushes your usage over the monthly limit, the analysis is saved — you never lose work. The next analysis attempt will be blocked until the new month or an upgrade.

### Quota Alerts
You'll receive email alerts at 80% and 95% usage. Your dashboard also shows a visual breakdown of standard vs. large conversations.

### API Response
POST /api/v1/analyze returns conversation_units and quota_remaining:

{
  "analysis_id": "...",
  "conversation_units": 2,
  "tokens_used": 12500,
  "quota_remaining": 1153
}

### Integration Conversations
Conversations from integrations (Slack, WhatsApp, HubSpot, etc.) follow the same billing rules. Session aggregation groups messages before analysis — you're billed per analyzed session, not per message.

Error Reference

All errors return JSON with a detail field:

{ "detail": "Description of what went wrong" }

HTTP Status Codes:

CodeMeaningCommon causes
200SuccessRequest processed correctly
400Bad RequestInvalid parameters, missing fields
401UnauthorizedMissing or invalid JWT/API key
403ForbiddenQuota exceeded, schema restricted, search restricted
404Not FoundAnalysis or schema not found
422Validation ErrorField-level validation (type, length, format)
429Rate LimitedToo many requests. Retry-After header included
500Internal ErrorServer error. Retry or contact support

403 messages include upgrade suggestions when the action requires a higher plan.

Analyxa Cloud — analyxa.ai

Need help? Contact support@analyxa.ai