Skip to main content
The VInfer AI REST API gives you programmatic access to every capability of the platform — from launching outbound voice campaigns and retrieving call records with Neuron, to submitting recordings for transcription, running QA scoring, and pulling aggregated analytics with NeuronLens. All resources are exposed over HTTPS, accept JSON request bodies, and return JSON responses, so you can integrate VInfer into any backend stack or workflow automation tool.

Base URL

Every API request is made to the following base URL. The version segment (v1) is part of the path:
Whenever a new version is released, the previous version remains available under its own path prefix, giving you time to migrate without breaking existing integrations.

Request Format

For all POST and PATCH requests, set the Content-Type header to application/json and pass a JSON object as the request body. GET and DELETE requests use query parameters only — no request body is required.
All timestamps in request bodies and responses use ISO 8601 format (2024-01-15T10:35:22Z). All phone numbers use E.164 format (+919876543210).

Idempotency

For POST requests that create resources, you can include an Idempotency-Key header with a unique string (UUID recommended). If you retry a request with the same key within 24 hours, VInfer returns the original response instead of creating a duplicate resource — useful for safely retrying after network timeouts.

Rate Limits

By default, your workspace is allowed 1,000 requests per minute across all endpoints. If you exceed the limit, the API returns a 429 Too Many Requests response. The response headers include X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset (Unix timestamp) so you can implement adaptive back-off in your client.
If your use case requires a higher rate limit — for example, a bulk data pipeline or real-time dashboard — contact VInfer support to request an increase for your workspace.

HTTP Status Codes

The API uses standard HTTP status codes. Successful responses always carry a 2xx code; client and server errors carry 4xx and 5xx codes respectively.

Error Format

Every error response — regardless of status code — returns a consistent JSON envelope. This makes it straightforward to handle errors programmatically without parsing free-form text. invalid_parameter — a request field value is missing, malformed, or out of range:
resource_not_found — the ID you referenced does not exist in your workspace:
rate_limit_exceeded — you have sent too many requests in the current window:
The code field is a machine-readable string you can use in conditional logic. The message field is a human-readable description suitable for logging. The details object provides additional context where available and may be omitted or empty ({}) for simpler errors.

Quick Navigation

Authentication

Generate an API key and learn how to include it in every request.

Campaigns

Create and manage outbound calling campaigns with Neuron.

Transcription

Submit call recordings to NeuronLens for transcription and analysis.

Webhooks

Register endpoints to receive real-time call event notifications.