Skip to content
English
  • There are no suggestions because the search field is empty.

Convirza API — v2 to v3 Gap Analysis

This guide lists the additional call analytics data points available in API v3 that are not available in API v2, for teams migrating their reporting integration from v2 to v3. It covers the reporting flow only (reading call and conversation data); campaign and call-flow provisioning is not covered here.

 Summary

API v3 exposes a set of conversation analytics data points that v2 does not return, most notably a call’s Classification, its Scorecard details, and its overall Score. These analytics fields are available in API v3 only.

Two points to keep in mind while migrating:

  1. v3 is not a field-for-field copy of v2. A few areas were redesigned in v3 for a cleaner structure; where that applies, it is called out below as “restructured.”
  2. Call data that lived across several separate v2 endpoints is now consolidated into a single v3 endpoint with opt-in data modules (see the next section).
1. How call data is read in v3

In v2, call data was spread across multiple endpoints, and you called a different one depending on what you wanted (call details, transcription, tags, custom sources, indicator scores, DNI, and so on).

In v3, this consolidates into a single call-reading surface:

Purpose

v3 endpoint

List calls (with filters, date range, pagination)

GET /v3/conversations/calls

Get one call by ID

GET /v3/conversations/calls/{id}

You choose which additional data to embed using the include query parameter (comma-separated). For example:

GET /v3/conversations/calls/987654?include=scorecard,summary,dni_data,transcription

Available modules include custom_sources, tags, comments, indicators, summary, transcription, transcription_details, extended_caller, dni_data, and scorecard.

If a module is not named in include, it is not returned, so request exactly the modules you need.

2. New data points in v3 (not available in v2)

The following data is new in v3 and has no equivalent in v2.

2a. Scorecard evaluation — include=scorecard

Returned as a single scorecard object on the call. It is null when the call has no scorecard attached or has not been scored.

Field

Type

Description

Available in v2

scorecard.total_score

number (0–100)

The overall score the call received on the scorecard.

No

scorecard.classification.name

string

The call classification (for example, Sales, Service, Spam, Wrong Number).

No

scorecard.outcome.answer

boolean

Whether the desired outcome was achieved (Yes/No).

Limited (v2 returned only a boolean, without the question)

scorecard.outcome.question

string

The outcome question being answered (for example, “Sale Made/Quote Sent?”, “Appointment Set?”).

No

scorecard.scorecard_name

string

Name of the scorecard applied to the call.

Limited (v2 returned only a name string)

scorecard.scorecard_id

number

ID of the scorecard applied.

No

scorecard.scorecard_call_id

number

ID of this specific scoring evaluation (supports rescoring).

No

scorecard.status

string

Scoring state: scored, reviewed, unscored, or needs_scorecard.

No

scorecard.scored_on

ISO 8601 UTC

Timestamp of when the call was scored.

No (available as a filter in v2, but not returned per call)

2b. AI call summary — include=summary

Field

Type

Description

Available in v2

summary

string

An AI-generated summary of the conversation.

No

2c. Voice agent data — voiceagent_data

Returned when the call involved a Convirza AI voice agent.

Field

Description

voiceagent_id, voiceagent_name

The AI voice agent that handled the call.

outcome, summary

Agent-determined outcome and summary.

first_name, last_name, phone_number

Caller details captured by the agent.

requested_time, appointment_date, appointment_time, additional_info

Appointment and booking details captured by the agent.

3. Fields that changed shape between v2 and v3

These existed in v2 but were restructured in v3 for clarity.

Area

v2

v3

Scorecard

A single string (the name)

An object with the fields listed in section 2a

Outcome

A single boolean

An object: { question, answer }

Recording

Recording URL and a few fields

A recording_details object: url, expires_at, filename, format, bitrate, frequency, channel_layout, duration, size, recording_id

Indicators

Indicator rows carried duplicated scorecard/outcome values

An indicators module, with scorecard data provided once at the call level rather than duplicated per indicator

4. Data available in both v2 and v3 (delivered via a module in v3)

The following data existed in v2 as separate endpoints and is available in v3 by adding the corresponding module. There is no loss of data, only a change in how it is requested.

Data

v2 endpoint

v3

Extended call metadata

List Call Details

Base fields plus call_detail

Caller identity/data append (name, company, address, city, state, ZIP, line type)

List Extended Call Details

include=extended_caller

Transcription (full text)

List Calls With Transcription

include=transcription

Transcription detail (timestamps, speakers)

List Calls With Transcription Details

include=transcription_details

Tags

List Calls With Tags

include=tags

Comments/notes

Call comment endpoints

include=comments

Custom sources

List Calls With Custom Sources

include=custom_sources

Indicator scores

List Calls With Indicator Scores

include=indicators

DNI web/session data

List Calls With DNI

include=dni_data

The AI-extracted caller name (ai_caller_identity) is available in both v2 and v3.

5. Response structure notes for the migration
  • Envelope. v3 responses are wrapped in { "code", "message", "data", "request_id", "timestamp" }. For Get Call By ID, the call object is at data.result, with modules nested under it.
  • Opt-in modules. A module that is not named in an include is not returned. Request exactly the modules you need.
  • Types. total_score is a number (0–100), outcome.answer is a boolean, and scorecard is null (rather than partial data) when the call is not scored.
  • Timestamps. ISO 8601 UTC throughout (for example, call_started, scored_on).
  • List endpoint. A limit is required (1–200). The date range defaults to the last 7 days and cannot exceed 31 days. Use offset for pagination; a total count is returned.
  • Nullability. Analytics fields can be null. For example, classification is null on a small share of scored calls, and scorecard is null on calls that have not been scored. Handle nulls rather than assuming a value is always present.
6. Not currently returned by the v3 reporting API

To set expectations clearly, the following are not returned today:

  • Scorecard audit trail and rescore history — the identity of who scored or reviewed a call, manual score adjustments, and prior-round scores.
  • Per-call sentiment and keywords.

If any of these are important to your reporting, please let us know, and we can advise.

7. Complete v3 call field reference

Base call fields (always returned):

call_id, provisioned_route_id, org_unit_id, disposition, duration, caller_id, phone_number, ring_to, default_ring_to, repeat_call, call_started, campaign_id, campaign_name, campaign_ext_id, user_id, group_name, ai_caller_identity.

Modules (opt-in via include):

  • call_detail — bill_second, call_value, external_id, dni_log_id, is_outbound, cdr_source, call_ended, analytic_status, call_mine_status, call_created, mined_timestamp, ring_to_name, channel_id, channel_category, channel_sub_category, channel, recording_id.
  • recording_details — recording_id, filename, url, expires_at, channel_layout, frequency, format, duration, bitrate, size.
  • extended_caller — company_name, caller_name, address, city, state, zip_code, line_type.
  • custom_sources — custom_source_id, custom_source_name, custom_source_created.
  • tags — tag_id, ct_user_id, call_tag_created, tag_name, tag_created, tag_active.
  • comments — note_id, call_id, note, created_on, updated_on, ct_user_id, first_name, last_name.
  • indicators — indicator_id, score_id, score_value, indicator_name, external_id, indicator_active, indicator_created.
  • Summary — AI call summary (new in v3).
  • transcription — full transcript text.
  • transcription_details — timestamped, speaker-labeled segments.
  • dni_data — browser, created_at, custom_params, destination_url, dni_vid, first_page, ga_cid, ip_host, last_page, location_details, log_date, master_node_id, group_id, phone_number_details.
  • voiceagent_data — voiceagent_id, voiceagent_name, outcome, summary, first_name, last_name, phone_number, requested_time, appointment_date, appointment_time, additional_info (new in v3).
  • scorecard — scorecard_id, scorecard_name, scorecard_call_id, status, total_score, scored_on, outcome (question, answer), classification (name) (new in v3).

For questions on any field or on the migration, please contact Convirza Support.