Resonaa Logo

Developer

API

Upload audio and text at scale. Consistent APIs, background processing, and clear results.

Auth
Audio: API key • Sheet/Tickets: API key or signed-in session
Content Types
Audio: multipart/form-data • Sheet/Tickets: application/json
Processing
Background worker streams results incrementally
Audio Upload API
Upload audio as file or URL (form-data). Optional: customer_name, user_id, extension_id, order_id. Queued for analysis; view under Calls.
POST /api/add-calls
Auth: form-data api_key. Send call (file) or audio_url.
Audio URL API
Send audio URL (JSON). We download and store; optional: customer_name, user_id, extension_id, order_id. View under Calls.
POST /api/addcallurl
Auth: JSON api_key. Body: call_url + optional fields.
Sheet Upload API
Create a job, stream rows, and finalize for background processing.
POST /api/resona/upload
Auth: use API key or signed-in company session
Ticket Upload API
Create conversation tickets from text-based customer interactions.
POST /api/tickets/upload
Auth: use API key or signed-in company session
CRM Customers API
Add customers single, bulk array, or CSV upload. Supports stages, custom fields, tags, and duplicate detection.
POST /api/crm/customers
Auth: JSON api_key or form-data api_key. Body: single customer, customers array, csv string, or CSV file.
Chat APIs
Interactive chat with chatbots, calls, tickets, and report agents.
POST /api/*/chat
Auth: use API key or signed-in company session
Endpoint & Request
Send audio as a file or as a URL using multipart form-data. Calls appear under Calls in the dashboard and are queued for transcription and analysis.
Endpoint
POST /api/add-calls
Content Type
multipart/form-data
Authentication
api_key
Request fields
api_key
string
Required
call
file
Required when audio_url is missing
audio_url
string
Required when call is missing
customer_name
string
Optional customer/account display name
user_id
string
Optional internal agent UUID
extension_id
string
Optional external agent ID (used to resolve user_id)
order_id
string
Optional external reference ID (saved in worker_id)
Examples
cURL — file upload
curl -X POST   -F api_key=YOUR_COMPANY_API_KEY   -F call=@/path/to/call.mp3   -F customer_name="Acme Corp"   -F user_id=user-uuid   -F extension_id=EXT-456   -F order_id=ORD-789   https://your-domain.com/api/add-calls
Or with audio_url instead of file:
curl -X POST   -F api_key=YOUR_COMPANY_API_KEY   -F audio_url=https://example.com/recording.mp3   -F customer_name="Acme Corp"   https://your-domain.com/api/add-calls
Success response (201)
{
  "success": true,
  "call_id": "uuid",
  "message": "Call uploaded successfully and queued for processing",
  "audio_url": "https://...",
  "duration_seconds": 123,
  "processing_time_ms": 456
}
Notes
  • Supported formats: MP3, WAV, M4A, WebM, MP4. Max file size: 500MB (chunked upload for large files).
  • Use extension_id when you have an external agent ID (e.g. telephony) and no user_id; we resolve it to an internal user when possible.
  • order_id is stored as worker_id on the call for external reference.
  • Check Calls in the dashboard for status and results.