Skip to main content
To create a call in the Reddy platform, you need an audio file, a transcript, or both. You can create a call with just a transcript (no audio upload required) or with both transcript and audio. In this guide, we show you how to create a call in both scenarios. Once the call is processed, all the insights will be visible on the dashboard.

Select a Product

You can fetch the list of products and their IDs through the Product List API. Each product has a set of QA items used to grade a call. Use this request to get the list of products.
curl -X GET 'https://app.reddy.io/api/v1/product/list' \
  -H 'Authorization: Bearer YOUR_API_TOKEN'
The product list will look like this:
[
  {
    "id": 1,
    "name": "Product 1",
    "status": "active"
  },
]

Each product has a QA scorecard used to grade a call. You can see the configuration for all your products in the Reddy admin dashboard.

Send a Call to Reddy

To create a call, you can provide a transcript, an audio file, or both. The filename parameter is optional - if you’re only sending a transcript and no audio file, you can omit it entirely.
Redaction is not applied to the audio if the transcript is provided. If you have sensitive information in the audio that you want to silence, make sure you do that using word-level timestamps in your transcription before sending to Reddy.
curl -X POST 'https://app.reddy.io/api/v1/call/create' \
  -H 'Authorization: Bearer YOUR_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "filename": "call_recording_20240115.wav",
    "agent_email": "[email protected]",
    "product_id": 123,
    "speaker": {
      "separation": "channels",
      "channel_map": ["agent", "customer"]
    },
    "tags": [
      {
        "key": "customer_request",
        "value": "full_refund",
        "type": "string"
      }
    ]
  }'
The tags in this request are used to pass additional data to attach to the call. For example, you can use tags to pass the customer ID or call type.

Speaker Separation

You’ll see that in the previous example we included a speaker object. This controls how Reddy identifies which speaker is the agent versus the customer in your audio. We support several options to identify speakers depending on your audio format.

Choose the right strategy

When to use each mode

  • Use diarize if you have mono audio (or stereo audio that is identical on L/R channels).
  • Use channels if your audio already separates speakers per channel. Optionally pass speaker.channel_map if you know which channel is which (most accurate).
The channels request parameter is deprecated in favor of speaker.separation and speaker.channel_map.

Responses

With filename: The response includes an upload URL for sending the audio file:
{
  "upload_id": 1,
  "conversation_id": "conv_123",
  "upload_url": "http://app.reddy.io/api/v1/internal/upload/<signed_token>",
  "expires_in": 3600
}
Transcript only: The response is a simple success message:
{
  "success": true
}
Skip to the view results section if you’re not uploading an audio file. Reddy’s analysis process will automatically run on your transcript, and results will appear in the dashboard.

Upload Audio File (Optional)

If you included a filename in your call creation request and received an upload URL, continue with this step to attach the audio file. Use this request to upload and attach the audio file to the call. The URL will be the upload_url you got from the previous request.
This upload URL expires after 1 hour.
curl -X 'PUT' \
  'https://app.reddy.io/api/v1/internal/upload/<signed_token>' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F '[email protected];type=audio/wav'
If a transcript was not provided in the initial call creation request, call analysis will only be triggered after the audio file is uploaded.

View Results

Calls are added to a processing queue and may not show up in the dashboard immediately. Processing times vary based on current queue load.
Once the call is processed, it will be listed in the Live Calls table (in the “Live” tab on the dashboard home page).
Calls under 60 seconds are not shown in this dashboard by default.
Dashboard
After QA processing is complete, click the “View” button to open the call in the dashboard.
QA Result Page

Questions? Check the API reference for the full endpoint spec.