Campaigns
createCampaign, uploadContacts, simulateCampaign, launchCampaign, getCampaignStatus.
Use the JavaScript REST contract or call the API directly. Keep API keys on the server and grant only the scopes your integration needs. API access is provisioned per organization; the base URL and key come from your workspace.
The client is a single-file REST contract, not a published package. There is no @voiceinsights/sdk on npm — copy voiceinsights-sdk.js into your project, or call the REST API directly with any HTTP client.
import { VoiceInsights } from './voiceinsights-sdk.js';
const vi = new VoiceInsights({
baseUrl: 'https://your-organization-base-url',
apiKey: process.env.VOICEINSIGHTS_API_KEY
});
const campaign = await vi.createCampaign({ survey_id: 'survey_123' });
await vi.uploadContacts(campaign.id, contacts);
await vi.launchCampaign(campaign.id);
const status = await vi.getCampaignStatus(campaign.id);createCampaign, uploadContacts, simulateCampaign, launchCampaign, getCampaignStatus.
getResponses and getReports, scoped to one campaign.
Reachable over the REST API. The contract file carries no knowledge method; call the endpoint directly.
Designed, not built. No campaign, response, processing or export event is delivered to a customer endpoint today — poll the campaign status and responses methods instead.
Standard 60/min, Professional 300/min and Enterprise 1,200/min policies.
Scoped credentials, tenant isolation, audit events and key revocation.