Skip to content

API Reference

Complete reference for all 37 Convoso API endpoints covered by convoso-js.

Base URL

All requests go to:

https://api.convoso.com/v1

Override with the baseUrl option when constructing the client:

typescript
const client = new Convoso({
  authToken: '...',
  baseUrl: 'https://api.convoso.com/v1', // default
});

Authentication

Every request requires an auth_token. The SDK injects it automatically — you never pass it in method parameters. See Authentication for details on obtaining tokens and security best practices.

typescript
const client = new Convoso({ authToken: process.env.CONVOSO_TOKEN! });
// auth_token is added to every request body automatically

Request Format

All Convoso API endpoints use POST with application/x-www-form-urlencoded bodies. The SDK handles this transparently — you pass plain objects, and undefined/null values are stripped before encoding.

Endpoint Quick Reference

Agent APIs

EndpointSDK MethodDescription
/agent-monitor/searchclient.agentMonitor.search()Real-time agent status and queue metrics
/agent-monitor/logoutclient.agentMonitor.logout()Force-logout an agent
/agent-performance/searchclient.agentPerformance.search()Agent performance metrics (calls, talk time)
/agent-productivity/searchclient.agentProductivity.search()Agent productivity tracking

Lead Management

EndpointSDK MethodDescription
/leads/searchclient.leads.search()Search leads with filters
/leads/searchclient.leads.searchAll()Auto-paginated lead search
/leads/insertclient.leads.insert()Insert a new lead
/leads/updateclient.leads.update()Update lead fields
/leads/deleteclient.leads.delete()Delete a lead
/leads/get-recordingsclient.leads.getRecordings()Get call recordings for a lead
/leads/get-recordingsclient.leads.getRecordingsAll()Auto-paginated recordings
/lead-post-validation/insertclient.leadPost.insert()Post-validation lead insert
/lead-validation/searchclient.leadValidation.search()Validate leads before insertion
/lists/searchclient.lists.search()Search lead lists
/lists/insertclient.lists.insert()Create a new list
/lists/updateclient.lists.update()Update list settings
/lists/deleteclient.lists.delete()Delete a list

Call Operations

EndpointSDK MethodDescription
/callbacks/searchclient.callbacks.search()Search callbacks
/callbacks/searchclient.callbacks.searchAll()Auto-paginated callback search
/callbacks/insertclient.callbacks.insert()Schedule a callback
/callbacks/updateclient.callbacks.update()Update a callback
/callbacks/deleteclient.callbacks.delete()Delete a callback
/log/retrieveclient.callLogs.retrieve()Retrieve call logs
/log/retrieveclient.callLogs.retrieveAll()Auto-paginated call log retrieval
/log/updateclient.callLogs.update()Update call log fields
/campaigns/searchclient.campaigns.search()Search campaigns
/campaigns/statusclient.campaigns.status()Activate/deactivate campaigns

Compliance

EndpointSDK MethodDescription
/dnc/searchclient.dnc.search()Search DNC entries
/dnc/searchclient.dnc.searchAll()Auto-paginated DNC search
/dnc/insertclient.dnc.insert()Add phone to DNC list
/dnc/updateclient.dnc.update()Update DNC entry
/dnc/deleteclient.dnc.delete()Remove from DNC list
/sms-opt-out/searchclient.smsOptOut.search()Search SMS opt-outs
/sms-opt-out/searchclient.smsOptOut.searchAll()Auto-paginated opt-out search
/sms-opt-out/insertclient.smsOptOut.insert()Add SMS opt-out
/sms-opt-out/updateclient.smsOptOut.update()Update SMS opt-out

Other

EndpointSDK MethodDescription
/status/searchclient.status.search()Search lead statuses
/status/insertclient.status.insert()Create a custom status
/status/updateclient.status.update()Update a status
/revenue/updateclient.revenue.update()Update call revenue/return
/users/searchclient.users.search()Search users
/users/recordingsclient.users.recordings()Get user recordings
/user-activity/searchclient.userActivity.search()Search user activity logs

Response Format

The Convoso API does not use a consistent response wrapper. Different endpoints return data in different shapes:

  • results array (leads, callbacks, DNC, lists, etc.)
  • entries array (call logs, recordings)
  • data object (agent monitor)
  • Raw arrays (agent performance/productivity)
  • Flat objects (insert/update confirmations)

The SDK preserves these shapes exactly — no normalization is applied.

Error Handling

API errors come in two forms:

  • ConvosoApiError — The API returned HTTP 200 but success: false with an error code
  • ConvosoHttpError — The server returned a non-2xx HTTP status

See the Error Handling guide for the full error code table and handling patterns.

Community project — not affiliated with or endorsed by Convoso.