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.

FieldTypeRequiredDescription
recordingfile or URLYesAudio file upload (MP3, WAV, MP4, etc.) or an HTTPS URL pointing to the recording. The URL must be publicly accessible without authentication.
timestampstringYesISO 8601 datetime of when the call occurred (e.g., 2026-05-15T14:30:00Z).
user_emailstringConditionalEmail of the MeetRox user (agent) who made the call. Required if user_id is not provided.
user_idintegerConditionalMeetRox 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_idintegerNoID 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.
titlestringNoTitle for the call. If omitted, MeetRox will generate one from the transcript.
lead_namestringNoName of the prospect or customer on the call.
lead_companystringNoCompany of the prospect.

Note: At least one of user_id or user_email must 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

StatusReason
400 Bad RequestMissing or invalid parameters (e.g., missing timestamp, invalid file format)
403 ForbiddenFeature not enabled for this workspace, user not found, agent not found, or call type not found
429 Too Many RequestsHourly rate limit exceeded
500 Internal Server ErrorUnexpected error during import

Did this page help you?