Export conversations
Export conversations, metrics, summaries, and survey results for a date range.
/export/conversationsAuthorization: YOUR_API_KEYNo Bearer prefix.
Base URL: https://customer.rillavoice.com
Body parameters
fromDatestring · date-timerequiredStart of the export window. Use an ISO 8601 timestamp in UTC, such as 2026-09-01T00:00:00Z.
toDatestring · date-timerequiredEnd of the export window. Use a UTC timestamp ending in Z and a value after fromDate. See Date windows for metric-specific boundary behavior.
dateTypeenumtimeOfRecording (default) or processedDate. Use processedDate to select by when Rilla processed a recording.
pageinteger1-based page number. Defaults to 1.
limitintegerResults per array, per page. Between 1 and 50; defaults to 50.
usersstring[]Exact, case-sensitive Rilla email addresses. Omit or send [] for all users. With a team-scoped key, a filter matching none of the allowed users falls back to all allowed users.
Keep paging until totalPages, even if conversations is empty. The awaitingUpload and errored arrays are paginated independently with the same page and limit.
Responses
200Returns ConversationsExportResponsecurrentPagenumberRequested page (1-based).
totalPagesnumberMaximum page count across all returned arrays; zero when all are empty.
totalConversationsnumberTotal matching processed conversations.
totalAwaitingUploadnumberTotal matching awaiting-upload recordings. Omitted with processedDate.
totalErrorednumberTotal matching errored recordings.
401Missing or invalid API key.400Invalid request parameters.Date windows
Send UTC timestamps ending in Z; date-only values and timezone offsets are not accepted. Choose fromDate < toDate; the API does not enforce date ordering.
Conversation exports include both boundaries. Most user/team metrics do too, but scorecards and live coaching exclude the end boundary. Profile fields and current team membership are not historical snapshots.
For incremental conversation exports, overlap windows and deduplicate by conversationId or recordingId. Download audio/transcripts promptly; signed URLs expire after 6 hours and may expire sooner with the signing credentials.
Common problems
400 · "Invalid JSON in request body"
Use straight double quotes ("), not smart quotes (“ ”), and remove trailing commas. Validate the body locally with python3 -m json.tool request.json. A JSON syntax error occurs before date or email validation.
400 · "Validation failed"
Read errors[].path and errors[].message. fromDate/toDate must be UTC timestamps ending in Z; users must be an array of valid email strings. page and limit must be positive integer JSON numbers, and limit must be at most 50.
401 · Missing or invalid key
Use Authorization: YOUR_API_KEY, without Bearer. Use the key value, not its ID, and the customer.rillavoice.com host.
200 · Empty or unexpected results
Replace sample email addresses with a real Rilla email; matching is exact and case-sensitive. Omit users (or send []) to request all users. With a team-scoped key, a non-empty filter with no allowed matches currently falls back to all allowed users. Verify returned emails; do not rely on the filter as an access-control boundary.
A metric is null, zero, or differs from a dashboard
Null means no applicable measurement; zero is a numeric result. Users and teams include more than successful conversations: conversationsRecorded counts recordings. See the linked type for units, date basis and aggregation rules.