Base URL
Every API request is made to the following base URL. The version segment (v1) is part of the path:
Request Format
For allPOST 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.
2024-01-15T10:35:22Z). All phone numbers use E.164 format (+919876543210).
Idempotency
ForPOST 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 a429 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 a2xx code; client and server errors carry 4xx and 5xx codes respectively.
| Code | Meaning |
|---|---|
200 OK | Request succeeded. Response body contains the requested data. |
201 Created | Resource created successfully. Response body contains the new resource. |
202 Accepted | Request accepted for asynchronous processing (e.g., transcription jobs). |
400 Bad Request | One or more request parameters are missing or invalid. |
401 Unauthorized | The Authorization header is missing, the key is invalid, or the key has been revoked. |
403 Forbidden | Your API key is valid but does not have permission for the requested action. |
404 Not Found | The resource with the given ID does not exist in your workspace. |
429 Too Many Requests | You have exceeded the rate limit. Back off and retry after X-RateLimit-Reset. |
500 Internal Server Error | An unexpected error occurred on VInfer’s servers. These are rare — if they persist, check the status page. |
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:
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.