Import Calls
Import audio recordings from external VoIP systems directly into MeetRox.
Import Calls
Early Access — This endpoint is available to workspaces with the call import feature enabled. Contact your MeetRox account manager to request access.
Import an audio recording from an external VoIP system into MeetRox. Once enqueued, MeetRox will process the recording — generating transcription, AI analysis, and CRM associations — in the same way as any natively recorded call.
Import a Call
POST /v1/calls/import
Rate Limit
This endpoint has a stricter limit: 10 requests per hour per workspace, in addition to the general 100 req/min limit.
Idempotency
This endpoint is idempotent. Include an Idempotency-Key header to safely retry requests without risk of duplicate imports. Requests with the same idempotency key will only create one call.
Idempotency-Key: your-unique-key-per-call
Use a stable identifier from your VoIP system (e.g., the call ID in your platform) as the idempotency key.
Request Body
The request uses multipart/form-data.
| Field | Type | Required | Description |
|---|---|---|---|
recording | file or URL | Yes | Audio file upload (MP3, WAV, MP4, etc.) or an HTTPS URL pointing to the recording. The URL must be publicly accessible without authentication. |
timestamp | string | Yes | ISO 8601 datetime of when the call occurred (e.g., 2026-05-15T14:30:00Z). |
user_email | string | Conditional | Email of the MeetRox user (agent) who made the call. Required if user_id is not provided. |
user_id | integer | Conditional | MeetRox user ID of the agent who made the call. Takes precedence over user_email if both are provided. Use List Users to look up IDs. |
call_type_id | integer | No | ID of the call type to assign. If omitted, MeetRox will auto-detect the type (if enabled) or assign the default type. Use List Call Types to discover available IDs. |
title | string | No | Title for the call. If omitted, MeetRox will generate one from the transcript. |
lead_name | string | No | Name of the prospect or customer on the call. |
lead_company | string | No | Company of the prospect. |
Note: At least one of
user_idoruser_emailmust be provided. The user must exist in the workspace and have an associated agent profile.
Example — File Upload
curl -X POST https://api.meetrox.ai/v1/calls/import \
-H "x-api-key: YOUR_API_KEY" \
-H "Idempotency-Key: voip-call-id-98765" \
-F "recording=@/path/to/recording.mp3" \
-F "timestamp=2026-05-15T14:30:00Z" \
-F "[email protected]" \
-F "call_type_id=2" \
-F "title=Discovery call with Acme" \
-F "lead_name=John Doe" \
-F "lead_company=Acme Corp"Example — Recording URL
curl -X POST https://api.meetrox.ai/v1/calls/import \
-H "x-api-key: YOUR_API_KEY" \
-H "Idempotency-Key: voip-call-id-98765" \
-H "Content-Type: multipart/form-data" \
-F "recording=https://storage.example.com/recordings/call-98765.mp3" \
-F "timestamp=2026-05-15T14:30:00Z" \
-F "user_id=15"Response
On success, returns 202 Accepted with the ID of the created call record:
{
"call_id": 1042
}The call is processed asynchronously. Use Get Call with the returned call_id to check the status and retrieve the analysis once processing is complete.
Error Responses
| Status | Reason |
|---|---|
400 Bad Request | Missing or invalid parameters (e.g., missing timestamp, invalid file format) |
403 Forbidden | Feature not enabled for this workspace, user not found, agent not found, or call type not found |
429 Too Many Requests | Hourly rate limit exceeded |
500 Internal Server Error | Unexpected error during import |
Updated 4 months ago
