Go to Rilla

Export conversations

Export conversations, metrics, summaries, and survey results for a date range.

POST/export/conversations
Authentication
Authorization: YOUR_API_KEY

No Bearer prefix.

Base URL: https://customer.rillavoice.com

Body parameters

fromDatestring · date-timerequired

Start of the export window. Use an ISO 8601 timestamp in UTC, such as 2026-09-01T00:00:00Z.

toDatestring · date-timerequired

End of the export window. Use a UTC timestamp ending in Z and a value after fromDate. See Date windows for metric-specific boundary behavior.

dateTypeenum

timeOfRecording (default) or processedDate. Use processedDate to select by when Rilla processed a recording.

pageinteger

1-based page number. Defaults to 1.

limitinteger

Results 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

currentPagenumber

Requested page (1-based).

totalPagesnumber

Maximum page count across all returned arrays; zero when all are empty.

totalConversationsnumber

Total matching processed conversations.

totalAwaitingUploadnumber

Total matching awaiting-upload recordings. Omitted with processedDate.

totalErrorednumber

Total matching errored recordings.

conversationsConversationsExport[]

Processed conversations on this page.

awaitingUploadRecordingsExport[]

Recordings still awaiting upload. Omitted with processedDate.

erroredErroredRecordingsExport[]

Errored recordings on this page.

401Missing or invalid API key.
400Invalid request parameters.
Error reference

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.